Commit graph

97 commits

Author SHA1 Message Date
gez
8e2b798b8d * Updated to ZDoom 4012:
- Fixed: The resurrect cheat also needs to restore the player's radius.
- Changed P_CheckPlayerSprites() so that it does not alter any actor data. It is now called by R_ProjectSprite() to modify the appropriate data right before it is needed for rendering.- Never set the player actor's scale to the skin's directly. Only do it indirectly through P_CheckPlayerSprite().
- Fixed: When P_Add3DFloor() adds the "inside" plane, it needs to copy the translucency flags from the original plane.
- Added JLOSF_NOAUTOAIM flag for when you want to use A_JumpIfTargetInLOS in conjunction with something that never autoaims, such as a railgun.
- Fixed: A_JumpIfTargetInLOS should use P_AimLineAttack() instead of P_BulletSlope(), because the latter intentionally checks to the sides of the aimed line.
- Do not wake Oracle spectres that are dead.
- Do not "wake" Oracle spectres that killed an Oracle. (Because if they killed it, they're obviously already awake. Also, we don't want them to end up targeting themselves.)
- Fixed: Don't use the player skin in the cast call if the class being shown has been removed from the PlayerClasses array (and therefore does not have a valid default skin).
- Do not double-scale player classes that use non-1.0 default scales.
- P_DamageMobj() now returns the amount of damage actually done so that the bleed functions can perform based on the amount of damage actually taken after all modifications are done to it. However, if the damage is canceled away, blood will still spawn for the original damage amount rather than the modified amount.
* Fixed decals not being lit correctly in the older lighting mode.
* Fixed: 3D middle textures with a valid backsector need to be rendered as two-sided even if they lack the two-sided flag. (It works in ZDoom.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1500 b0f79afe-0144-0410-b225-9a4edf0717df
2013-01-03 00:03:11 +00:00
gez
d135217b18 * Updated to ZDoom r3845:
- Precache sounds played by ASoundSequence actors. (This includes Heretic's ambient sounds.)
- Precache $ambient sounds.
- Store ambient sound names as FSoundID rather than as FString.
- Precache PickupSound, UpSound, and ReadySound.
- Precache player sounds at level load.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1447 b0f79afe-0144-0410-b225-9a4edf0717df
2012-08-25 14:00:17 +00:00
gez
464356ccb5 * Updated to ZDoom r3835:
- Added actors' BounceSound, WallBounceSound, and CrushPainSound to preloading.
- Moved marking of actor sounds for precaching into a virtual Actor function.
- Added PrecacheSounds mapinfo option. This takes a list of sounds to preload when the level is loaded.
- Added PLAYERINFO_FOV and PLAYERINFO_DESIREDFOV for use with GetPlayerInfo.
- Exported the scoreboard text to LANGUAGE.
- Ignore the Skulltag-based SERVERSIDEONLY flag in actor definitions.
- Added noclip2 cheat. This is similar to noclip, except it also adds nogravity and the ability to fly through 3D floors.
- Fixed: screenshot_dir overrided -shotdir.
- Fixed: Crash when trying to swap fragglescript special when specials 272 and 270 aren't in the translation array.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1445 b0f79afe-0144-0410-b225-9a4edf0717df
2012-08-25 13:50:01 +00:00
gez
ff66809d94 * Updated to ZDoom r3829:
- Added two new PlayerPawn properties: GruntSpeed and FallingScreamSpeed.
- Since the string builder stuff takes care of recursive print calls now, the PCD_CALLs don't need to save it as part of the state when calling functions.
- Clear the shootable flag in P_ExplodeMissile().
- Fixed: The new HUD message layers were not declared for the garbage collector.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1444 b0f79afe-0144-0410-b225-9a4edf0717df
2012-08-14 13:12:30 +00:00
gez
83a7b136ad * Updated to ZDoom r3784:
- Fixed: FStateDefinitions::FinishStates() must ResolveGotoLabels before resolving labelled gotos.
- Fixed: DSBarInfo::ScreenSizeChanged() must call its supermethod.
- Fixed: 1 pixel border was drawn when there was no status bar.
- snd_midipatchset and fluid_patchset are now processed through NicePath() for variable substitution. In addition, on Windows, if they contain no path separator, they will automatically have $PROGDIR prepended to them.
- Fixed: player_t::settings_controller was not serialized.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1427 b0f79afe-0144-0410-b225-9a4edf0717df
2012-07-23 13:11:46 +00:00
Christoph Oelckers
9c457ecb90 - Update to ZDoom r 3730 (2.6.0)
Fixed: sv_unlimited_pickup did not work with the flechette.
    Fixed: FCoverageBuffer::InsertSpan() failed to consider the case where the new span starts above an existing span and ends below it.
    Fixed: Revision 3711 broke voxels that need to be drawn offscreen before drawing to the screen.
    Fixed: Revision 3711 broke the drawing of all but the first post in each voxel column.
    Fixed: Do not override the player's sprite if it's TNT1 and the player is uncrouched without a specific crouch sprite defined by both the player class and skin.
    Fixed: FRandom told the expression evaluator that it returned an int instead of a float, so using it in in any expression would automatically downcast it to an int unless ① its sibling in the expression tree was a float, or ② it was the only thing in the expression.
    Fixed: Don't warn when an Inventory item's Icon is set to "".
    Added hud_scale and hud_althudscale to the menus.
    Added inventory-based damage modification to APoisonCloud::DoSpecialDamage() and P_PoisonDamage().
    Make APoisonCloud::DoSpecialDamage() and P_PoisonDamage() respect damage factors.
    Pass the damage type to AActor::DoSpecialDamage().
    Use floating point instead of the distrecip() function for slightly less precision loss.
    Tweak voxel sizes and vertical positioning further.
    Fixed the Programmer's last state's sprite frame (was Y, should be X.
    Try to keep voxels from shifting up and down depending on how far you are above or below them.
    Adjust voxel scale further, under Enjay's tutelage.
    Whoops. That doesn't work right if it needs to actually draw more than one column segment from each voxel strip.
    Allow voxels to be further off the side of the screen than regular sprites, since they can stick out more.
    Clip each column of voxel strips individual, rather than clipping them all the same as the first one.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1417 b0f79afe-0144-0410-b225-9a4edf0717df
2012-07-02 07:01:47 +00:00
gez
5990e1decb * Updated to ZDoom r3650:
- Changed spectral missiles to use FriendPlayer instead of health to distinguish between player spawned and monster spawned versions. Also moved most of this into the basic missile spawning functions instead of littering all spectral missile spawning functions with these initializations.
- Moved identical damage checks in P_DamageMobj into an inline function.
- Fixed: The newly added checks for printing weapon obituaries failed if the weapon used a puff with a special damage type. To handle this, P_DamageMobj will now pass the damage flags to AActor::Die and from there to ClientObituary so that P_LineAttack - which is a better place to decide this - can flag an attack as coming from a player weapon.
- Fixed: The same rules that are used for deciding if a weapon attack took place should be used when checking the PIERCEARMOR flag in P_LineAttack: It should be ignored if the attack doesn't originate from the weapon.
- Fixed: P_LineAttack needs to check for 'Hitscan' damage, too, when deciding if using the damage type from the puff is appropriate.
- Fixed: The "clip midtexture" flag did not work as expected for stacked sectors [in the software renderer]. This is because it was an extension of the normal wall clipping process. Since a stacked sector above you doesn't draw a floor, it wouldn't clip any midtextures to the floor either. R_RenderMaskedSegRange() now checks this directly when rendering inside a stacked sector.
- Added OB_MPDEFAULT string for being killed by a player for an unknown reason. This can be overridden in custom player classes by changing their Obituary property to something else.
- ClientObituary() now only looks up the obituary message from the killing player's weapon if the damage type was 'Melee' or 'Hitscan'.
- Gave P_GunShot() and A_FireBullets the new damage type 'Hitscan'.
- Switched A_Saw and A_CustomPunch to the 'Melee' damage type.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1393 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-29 14:34:56 +00:00
Christoph Oelckers
8e4448adc8 Update to ZDoom r3640
*Moved the regeneration powerup's effect out of P_PlayerThink() and into APowerRegeneration::DoEffect().
*Did some restructuring of FMultiPatchTexture::CopyTrueColorPixels() so that it composites to a temporary bitmap before copying to the destination bitmap if any fancy stuff is going on. This simplifies the part drawing, since it doesn't need to check if each     
*Added new patch style "Overlay" for TEXTURES. This is the same as CopyAlpha, except it only copies the patch's alpha channel where it has a higher alpha than what's underneath.
*Added a new patch style: CopyNewAlpha. This works just like Copy except it multiplies each pixel's alpha channel by the specified Alpha property.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1391 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-11 10:44:37 +00:00
gez
de5a304337 * Updated to ZDoom r3603:
- Fixed: The player's position was only predicted during the duration of R_SetupFrame(). Consequently, if somebody used the chasecam while predicting, they would appear to lag behind the camera, because their actor would be at its unpredicted position by the time sprites were processed.
- Fixed: 3D floors partitioning the world into different "HeightLevels" could strip a midtexture of its clipping information before it was drawn. (On the other hand, I have no idea what this ds->bkup and refreshing stuff is about, so I might have broken something somewhere else.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1369 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-28 12:05:44 +00:00
gez
a42d2559e2 * Updated to ZDoom r3601:
- Fixed P_CheckSwitchRange() should not force range checking of lines flagged with ML_3DMIDTEX if they do not have a midtexture.
- Fixed: sector_t::GetHeightSec() was too aggressive about not returning heightsec.
- Fixed: PowerTimeFreezer needs to use different bits to mark timefreezing initiated by different players, or overlapping uses of PowerTimeFreezer will malfunction.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1368 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-27 13:54:44 +00:00
gez
8939431087 * Updated to ZDoom r3563:
- Fix type conversion warning.
- In P_SpawnMapThing(), pass the same flags to P_FindFloorCeiling() as the respawn functions do.
- Rename FFCF_3DMIDTEXRESTRICT to FF_3DRESTRICT and make it work with 3D floors too.
- Fixed: Do not play skinned sounds when the player has the NOSKIN flag set.
- Fixed: If a player has the NOSKIN flag set, do not change their appearance to that of the skin when spawning or changing the skin.
- Fixed: DSBarInfo did not declare its object pointers for the garbage collector.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1358 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-14 07:39:28 +00:00
gez
e263d46ff7 * Updated to ZDoom r3542:
- Added another flag to P_FindFloorCeiling() to get it to do its standard processing but without resetting the actor's sector. The 3D floor checks in P_NightmareRespawn() and A_RestoreSpecialPosition now use this.
- Fixed: P_NightmareRespawn() did its Z clamping before checking for 3D floors.
- Fixed: Respawning actors were not clamped to the ceiling.
- Fixed: Passing hexdd.wad with a path to the -iwad parameter would disable searching the standard paths for hexen.wad.
- Fixed: Stereo sound volume reduction should only be done for stereo sounds played in 3D. Head-relative ones should remain full volume.
- Fixed: RunScript() ignored the always parameter.
- Don't call secfriction() twice in the normal part of P_GetFriction().
- Fixed: The 3D floors part of P_GetFriction() did not check for friction still being set to ORIG_FRICTION, so it only worked with lower frictions.
- Clamp maximum particle count to 65535.
- Fixed: The inner railgun trail ignored the RGF_FULLBRIGHT flag.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1351 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-08 10:39:30 +00:00
gez
e3a40a26fc * Updated to ZDoom r3515:
- Check for overflows when giving inventory items.
- Fixed: A_Respawn also needs to use P_SpawnMapThing-like sector finding. Since it is exactly the same situation A_RestoreSpecialPosition, it now just calls that to do the moving. This also means it is no longer limited to respawning things on the floor.
- Make DF2_BARRELS_RESPAWN work in all game modes without the need for alwaysapplydmflags.
- Implement multitick viewpitch centering logic.
- Fixed: DEM_CENTERVIEW also needs to reset the LocalViewPitch if it's for the consoleplayer.
- Fixed: Monster respawning did not redo floorz/ceilingz for 3D floors after positioning the item.
- Fixed: Monster respawning used the newly spawned monster's SpawnPoint to determine what to shift the Z position by. This is, naturally, always 0.
- Fixed: Item respawning did not redo floorz/ceilingz for 3D floors after positioning the item.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1340 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-03 12:57:18 +00:00
gez
af22020682 * Updated to ZDoom r3480:
- Fixed: Sprites drawn with the shaded render style were always fullbright.
- Remove unused FRICTION definition.
- Fixed: Switching maps using the ResetHealth flag while dead would prevent proper reinitialization of the player on the new map.
- Fixed: If the znodes were based on a map with more vertexes than the one it is being loaded for, reject them.
- Fixed: Prematurely closing a Door_Raise-type door now properly examines the actual sound sequence to determine if it should start the closing sequence.
- Fixed: Poison damage lost damage type information if the poisoner was destroyed before poisoncount reached 0.
- Fixed: Poisoners without a PainType should use their own DamageType to pick the Pain state to make the target enter, not the target's DamageType.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1323 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-24 10:14:51 +00:00
gez
51fa45e167 * Updated to ZDoom r3468:
- Fixed: Trying to init FMOD with profiling enabled when the network socket was in use would fail. We now fallback to no profiling when this happens.
- Fixed: Bots did not process KEYCONF weapons. As far as I know, this is only relevant for the owned-weapons display on the status bar.
- Fixed: Deus Vult II uses fullscreen level name patches (which are mostly blank) for the intermission. This caused the net scoreboard to be drawn off the bottom of the screen.
- Added A_ClearLastHeard action function.
- Similar fix to the previous: The child TiMidity++ process quitting would not necessarily be detected, so S_ChangeMusic() would not restart one-shot songs that had finished if it was the MIDI device.
- Fixed: S_ChangeMusic() would not necessarily restart non-looping songs that had finished playing.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1321 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-22 23:28:47 +00:00
gez
2991963489 - Fixed: with high mouse sensitivity, it was possible to overflow the view pitch value.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1318 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-18 15:28:40 +00:00
gez
c67c51614b * Updated to ZDoom r3450:
- Fix signed/unsigned mismatch warned by GCC.
- Moved "Go away!" text into language.enu.
- In conjunction with all the below changes, attempt to fix A_CheckSightOrRange and A_CheckSight for multiplayer: They now always check through the eyes of every player. For players whose cameras are not players, they also check through the eyes of those cameras.
- Using spynext/spyprev to switch from a non-player to a player now writes a command to the network stream and lets Net_DoCommand() take care of it later. The logic here is that if a player is viewing from something that isn't another player, then every player needs to know about it for sync purposes. Consequently, when they stop viewing from a non-player and switch to a player, everybody needs to know about that too. But if they are viewing from a player, it doesn't matter which player it is, so they can spynext/spyprev all they want without letting the other players know about it (and without potentially breaking demos--due to the above-mentioned two codepointers--while doing it during demo playback).
- Replaced the instances of checking players[consoleplayer].camera for a valid pointer to ones that do it for every player.
- Fixed: Upon changing levels, all players but the consoleplayer would have their cameras NULLed.
- Fixed: player_t::FixPointers() needs to bypass the read barriers, or it won't be able to do substitutions of old objects that are pending deletion.
- Revised the fix from r3442: Make the line a nonrepeatable Door_Open instead of completely clearing the line's special.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1315 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-17 18:48:17 +00:00
gez
0b513a0098 * Updated to ZDoom r3435:
- Restored savegame compatibility that was removed in r3427.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1312 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-13 13:57:48 +00:00
gez
b67490cbc5 * Updated to ZDoom r3427:
- Added Xaser's submission for accessing accuracy and stamina from DECORATE and ACS.
- Added DECORATE properties for accuracy and stamina.
- Since these changes move properties from player_t to AActor all savegame compatibility code was removed and the min. savegame version bumped.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1307 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-11 09:25:57 +00:00
Christoph Oelckers
d4275907f4 - moved the FRenderer::StateChanged call from AActor::StaticSpawn to AActor::PostBeginPlay. When AActor::StaticSpawn is called at the start of a map not everything has been set up yet, resulting in access to uninitialized data. In particular the partner segs were not set up which are needed by the dynlight code that gets called from StateChanged.
- ensured that all classes reach AActor's PostBeginPlay method. Some were missing a Super call.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1302 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-07 01:05:59 +00:00
gez
e6e6f45a91 * Updated to ZDoom r3350:
- Fixed compilation with FMOD 4.38+. The removal of hardware voices and EAX was a fairly major change, so I'm making no provisions for using older FMOD DLLs when compiled with the 4.38 API. However, sound positioning is still broken like in 4.28, so you are recommended to continue building with 4.26. Also, the Freeverb-based DSP unit is no longer present in FMOD, so the underwater effect is currently unavailable when using 4.38 until I can figure out how to make it work with the SFX Reverb unit instead. (And on that topic, the Freeverb DSP was officially only for stereo outputs, so I really shouldn't have been using it in the first place.)
- Since I would like to eventually figure out the sound positioning issues with the FMODs, the following have been added:
  # snd_drawoutput now labels its outputs with the speakers they represent.
  # DCanvas::DrawTextA was added as an alias for DrawText, since the Windows headers #define DrawText to a Unicode/non-Unicode variant.
  # The loopsound console command was added to spawn an actor at the player's location and have it loop a sound infinitely.
  Hopefully I can figure it out. FMOD's 3D example works, so I assume the problem lies with my code, though I don't really know where to begin looking for the problem.
- Fixed: Line type 49 was wrong for all games. Fixed by adding a new Ceiling_CrushAndRaiseDist special.
- Fixed: If an episode skips the skill menu, it should also skip the confirm skill menu   if the default skill requests confirmation.
- Fixed: Episodes with NoSkillMenu defined had their own idea of default skill that differed   from episodes with skill menus (and completely ignored whichever skill is explicitly defined   as the default skill).
- Remove all restrictions on what you can do with tags as line special arguments in xlat. Something like 「(tag & 5) + (tag & 2) / 2」 is now a valid argument for a standard line translation.
- Added modulus to FParseContext/xlat.
- Fixed: Division of tag arguments for xlat was in the wrong order.
- Added more tag operators for xlat: * / & | ^
- Improve tag support for xlat: Any combination of arguments can now be tags, and you can add (or subtract) a constant to them. If you do wish to add a constant, tag must come first. e.g. tag+3 is good, but 3+tag will not work. (As a bonus, the parser is simpler, too.)
- Fixed: Totally freezing a player did not ignore crouch toggling.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1283 b0f79afe-0144-0410-b225-9a4edf0717df
2012-02-20 12:02:36 +00:00
gez
4f2244b891 * Updated to ZDoom r3333:
- Fixed: Must not try to draw null flats in the textured automap.
- Fixed: Player pitch limits were reset to 0 when changing levels and loading saved games.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1280 b0f79afe-0144-0410-b225-9a4edf0717df
2011-12-14 12:01:26 +00:00
gez
8c93739a3d - Revert temporary fix from r1273.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1278 b0f79afe-0144-0410-b225-9a4edf0717df
2011-12-14 11:48:53 +00:00
gez
debbb4f919 - Possibly temporary fix so that player pawns stop losing their min/max pitches when traveling.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1273 b0f79afe-0144-0410-b225-9a4edf0717df
2011-12-12 16:37:53 +00:00
gez
ddc9ca3f4f * Updated to ZDoom r3328:
- Fixed: Pressing a key to advance an intermission screen only worked on the local computer.
- Be less verbose when attempting to play non-ZDoom demos.
- Do nothing in D_DoAdvanceDemo if gameaction is not ga_nothing.
- Need to bump demo/gameversion due to DEM_SETPITCHLIMIT. MINDEMOVERSION also needs to be touched, since the default limits are now 0.
- A_SetPitch now clamps the player's pitch within the valid range. It can be made to clamp other actors' pitches to within the range (-90,+90) degrees with the SPF_FORCECLAMP flag.
- Transmit the local viewpitch limits to the other players.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1271 b0f79afe-0144-0410-b225-9a4edf0717df
2011-12-10 23:20:32 +00:00
gez
7038a4ee5b * Updated to ZDoom r3315:
- Added flag ALF_NOFRIENDS and a friend-basis pointer to P_AimLineAttack(). A_DeathBallImpact uses these to avoid aiming at friends when the death ball bounces. (The pointer is needed because the missile itself does the aiming, not the player that shot it, and missiles are nobody's friends.)
- Allow subclasses when checking for PowerWeaponLevel2.
- Fixed: Starting in a sector with a musinfo thing would not trigger the thing.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1264 b0f79afe-0144-0410-b225-9a4edf0717df
2011-11-07 11:10:18 +00:00
gez
6aa69e1279 * Updated to ZDoom r3295:
- Added proper splash checks with 3D-floors.
- Fixed crash when trying to play a MIDI file with no notes.
- Fix warnings reported by gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 
- Fixed MSVC warning.
- Adjust VisibleToPlayerClass to accept multiple classes as well as work with inheritance.
- Backported VisibleToTeam and VisibleToPlayerClass from Skulltag with some modifications.
- Backported kgsws's weapon dropitem changes from Skulltag.
- Fix more errors found with static code analysis.
- Fix uninitialized string buffer in bot code.
- Fixed some more potential NULL pointer accesses.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1257 b0f79afe-0144-0410-b225-9a4edf0717df
2011-09-21 22:29:19 +00:00
Christoph Oelckers
4e154276c4 - separation of software renderer from the rest of the code complete. All external access to the renderer is routed through the FRenderer interface class now, with two exceptions (2D texture drawing to a canvas and polymost testing code) that are handled by #defines. There's also no special GL code paths in the main game code anymore.
- updated FS code with most recent changes done for ZDoom.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1225 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-07 15:41:32 +00:00
Christoph Oelckers
4e74a881b6 - update to ZDoom r 3261:
Removed unneeded includes of r_local.h.
    Removed more r_ header dependencies from the rest of the code.
    took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
    Changed AlterWeaponSprite so that it doesn't take a full vissprite as parameter.
    FCoverageBuffer is only used in r_things.cpp, so its declaration does not need to be in a global header that's included everywhere.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1223 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-06 18:59:20 +00:00
gez
5540b6fefc * Updated to ZDoom r3257:
- Removed some unnecessary r_ header #includes.
- Separated sprite and skin maintenance code from r_things.cpp into a separate file.
- Moved r_interpolate.cpp and r_translate.cpp to r_data.
- Merged r_jpeg.h into jpegtexture.cpp because that's the only place where it's ever used.
- Rename src/resources to src/r_data.
- Fixed: p_sectors.cpp wouldn't compile.
- Moved side_t::GetLightLevel out of software rendering code.
- Moved render style and border drawing code out of r_draw.cpp.
- Moved all code not specific to the software renderer out of r_bsp.cpp.
* Adapted GL files to changes.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1222 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-06 15:39:10 +00:00
Christoph Oelckers
95f966faf5 Update to ZDoom r3088:
* Added "special" console command for executing action specials.
    * Fixed buffer overflow attack for DEM_RUNSCRIPT(2).
    * Fixed: FMODSoundRenderer::DrawWaveDebug() only allocated enough space for the wavearray based on the window_size, so for large numbers of output channels, it would not allocate enough space for the spectrum data (which is definied by SPECTRUM_SIZE, not the window_size) and write junk on the stack when drawing the spectrums, causing a crash.
    * Merge voxels back into trunk. Even if it needs further tweaking, it should at least be stable now.
    * Added 'player.flechettetype' property so that the appropriate flechette type can be set per player class.
    * bumped savegame version for flechette type changes.
    * Added Chris's KDE IWAD picker submission.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1153 b0f79afe-0144-0410-b225-9a4edf0717df
2011-01-02 22:29:16 +00:00
gez
d2cef2f3be * Updated to ZDoom r3042:
- Added a 'restart' CCMD that allows restarting the engine with different WADs being loaded without quitting first
- Fixed handling of missing backgrounds for intermission text screens for real this time.
- Added automap patch to mark trigger lines.
- Fixed: The TouchedActors array in the Dehacked parser was not freed after parsing was done.
- Initialize the alt HUD explicitly in D_DoomMain.
- Don't let S_UnloadReverbDef leave a broken list of sound environments behind.
- Added more code to explicitly delete data before initializing it.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1129 b0f79afe-0144-0410-b225-9a4edf0717df
2010-12-15 16:32:37 +00:00
gez
e6750550a5 * Updated to ZDoom r3038 (IWAD selection dialog already fixed in previous commit):
- Added DavidPH's submission for specifying vertex heights directly in UDMF.
- Move static AM color initialization into the AM_StaticInit function.
- Move D_LoadWadSettings to keysections.cpp.
- Made some more data reloadable.
- Data structures filled by P_SetupLevel should be cleared before loading the level. They can remain non-empty in case of an error. There's probably more to fix here...
- Fixed: MidiDevices and MusicAliases were not cleared before reloading local SNDINFOs.
- Fixed signed/unsigned warnings in AddSwitchPair for real (GCC really allows -1u? MSVC prints a warning for that.)
- Fixed: GCC compiler warnings.
- Zipdir will no longer store files ending in '~' on Linux.
- Added st_oldouch which restores the old ouch face behavior of only showing when health increases by 20 while taking damage.
- Changed some data init code to delete the data it wants to initialize first. 
- The 'savebuffer' variable still existed?
- Changed AInventory::Destroy to NULL SendItemUse and SendItemDrop if they point to the destroyed object. Although unlikely it can't be ruled out completely that this can happen with delayed CCMDs.
- Fixed: Starting a new game did not clear the hub statistics array.
- Cleaned up D_DoomMain a little. It's still far too large though.
- Added explicit initialization of console background texture instead of letting C_InitConsole doing it as needed.
- Added 'clearaliases' CCMD.
- Init bot specific actor properties right after parsing DECORATE, not when spawning the first bot (which is too late.)
- Changed automap initialization so that static data only gets initialized once upon startup instead of each time a level starts.
- Initialize AUTOPAGE only once when the level starts, not each time the automap is switched on.
- Cleaned up switch code and fixed several problems:
  * savegames stored an index in the switch table and performed no validation when loading a savegame.
  * setting of a random switch animation duration was broken.
  * separated the 2 values stored in the Time variable into 2 separate variables.
  * defining a switch with one texture already belonging to another switch could leave broken definitions in the switch table.
- Added function for serializing switch and door animation pointers.
- Bumped min. savegame versions due to changes to DButtonThinker and removed all current savegame compatibility code.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1128 b0f79afe-0144-0410-b225-9a4edf0717df
2010-12-14 22:53:44 +00:00
Christoph Oelckers
0dd982ce41 Update to ZDoom r2980:
* Use the so-called SafeTerminateProcess() function to kill the child TiMidity++ process instead of signaling an event. I would have preferred to use GenerateConsoleCtrlEvent(), but since it requires the caller be attached to the same console as the process it wants to kill, it's pretty much worthless. We will continue to look for the presence of the event name in the TiMidity++ binary despite no longer using it, because standard TiMidity++ builds do not write to stdout in binary mode on Windows systems.
    * Tweaked jumpTics again. As before, it now counts down whenever it is non-zero. If the player is on the ground and it counts below -18, it is zeroed so that the player can jump again. This handles cases where either the player did not actually jump when they pressed +jump (because there was a ceiling in the way) or when they land on something other than the floor.
    * Fixed: With the Buddha cheat active the health of the real player actor was not synchronized with the player data if a voodoo doll received damage that would have killed it.
    * Fixed: The message for trying to quickload in netgames used the wrong display mode for the message menu.
    * Fixed: AdjustPusher compared a sector's index with a tag to check for existing pushers in that sector.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1070 b0f79afe-0144-0410-b225-9a4edf0717df
2010-11-04 07:53:18 +00:00
gez
f099b670a1 * Updated to ZDoom r2975:
- Added a new AmbientSoundNoGravity actor with doomednum 14067. This is identical in every respect to the existing AmbientSound actor, except it also has the NOGRAVITY flag set.
- Fixed: Pressing left or right on a video mode option line should play "menu/cursor", not "menu/change".
- Modify AimingCamera so that it can pick up targets after spawning, since this is the only way for it to aim at players, who cannot be spawned with TIDs.
- Fixed: Options selected in Strife dialogues using the number keys were off by one.
- Fixed: The minimum velocity for player landing in effects in P_ZMovement should be -8, not -9.
- Revised usage of jumpTics. In Hexen, it went like this:
  * When you jump, it gets set to 18.
  * When you land, it gets set to 7.
  * As long as it is non-zero, it counts down, and you cannot jump.
  Of note here, is that setting it to 18 upon jumping seems useless, since you can't jump unless you're on the ground, and when you reach the ground, it will always be set to 7. With that in mind, the new behavior is:
  * When you jump, it gets set to -1.
  * When you land, if it is less than zero or you fall far enough to squat, jumpTics will
    be set to 7. Otherwise, jumpTics is left alone.
  * If jumpTics is positive, it will count down each tic.
  * As long as JumpTics is non-zero, you cannot jump.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1069 b0f79afe-0144-0410-b225-9a4edf0717df
2010-11-03 09:06:26 +00:00
gez
71e6229dc1 * Updated to ZDoom r2911:
- Merged finale branch back into trunk.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1025 b0f79afe-0144-0410-b225-9a4edf0717df
2010-10-06 14:20:13 +00:00
Christoph Oelckers
64d02b7ecf Update to ZDoom r2847:
* Fixed: The check for savegames without picture was reversed.
    * Fixed: Savegames that were saved without picture did not display the 'No picture' message because the empty PNG container was still recognized as image.
    * Added a NULL skins[] check to AActor::SetState().
    * Fixed: ACS's GetActorX, GetActorY, GetActorZ, GetActorFloorZ, GetActorCeilingZ, GetActorAngle, and GetActorPitch did not have NULL pointer checks for the TID == 0 case.
    * Fixed: GCC warnings.
    * Fixed: The aspectratio SBarInfo command never ticked its contents.
    * Fixed some texture priorititing problems with Hexen's player displays for the menu. The patches for these should not be placed in the TEX_WallPatch namespace because it's not what modders might expect from them.
    * Added automatic centering of Hexen's skill menu so that it can adjust automatically to the different player classes.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@989 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-23 07:58:51 +00:00
Christoph Oelckers
9ca84376fa - added player class definition through the GAMEINFO section in MAPINFO. Also added a NOMENU flag that can be set for a player class. This means that the use of KEYCONF is now deprecated except for its original purpose: To define mod specific key binding options.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@980 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-19 08:31:17 +00:00
gez
00845f2bb3 * Updated to ZDoom r2794:
- Added Demolisher's APROP_Target/TracerTID [fixed] submission.
- Reverted r2783 because it was causing problems.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@965 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-16 09:06:42 +00:00
gez
4244a48923 * Updated to ZDoom r2786:
- Fixed: The class selection menu crashed when no item in the menu was selected.
- Added Khamsin's fix for visible mouse cursors in Linux fullscreen mode with mouse disabled.
- Changed ACS's print n: cast to use an actor's tag for non-players instead of the class name.
- Added Spleen's fix for not running 2 frames of the weapon when the player spawns.
- Added Edward-san's 'changemus' submission for printing the currently playing music track.
- Fixed: Lines in the option menu that covered the same vertical space as the back button rendered the back button inoperable.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@961 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-15 20:57:27 +00:00
gez
67fb643a5f * Updated to ZDoom r2697:
- Added some NULL pointer checks to the kill CCMD and APlayerPawn::PostBeginPlay.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@936 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-06 09:24:58 +00:00
gez
4dab616af2 * Updated to ZDoom r2663:
- Added the am_zoom command to zoom the automap by a specific step and set default mouse wheel bindings for it.
- Fixed: The mouse pointer stayed hidden on startup because the CursorState variable was not set until the mouse was grabbed.
- Disable framebuffer debug spew. All those OutputDebugString messages from DCanvas::DrawLine()'s Lock and Unlock calls were slowing things down extremely when looking at a software-drawn automap.
- Fixes to compile with GCC 4.5.0.
- Fix an ICE when compiling with GCC 4.5.0.
- Added drawshadow flag to drawstring.
- Added kgsws-cz's FBF_NOFLASH submission.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@929 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-01 06:57:40 +00:00
gez
5306b85558 * Updated to ZDoom r2641:
- BOOM compatibility fix: Allow voodoo dolls to spawn inside narrow pits.
- Added new sector special 195 to set the 'hidden' sector flag in non-UDMF maps.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@924 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-30 08:09:21 +00:00
gez
81fa721abc * Updated to ZDoom r2562:
- Merged USDF branch into trunk.
- Added USDF specs.
- Fixed: The check for old incompatible savegames with dialogues was wrong.
* Adjusted the SaveVersion number to its accurate value.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@901 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-21 08:49:56 +00:00
gez
4cb0e1c360 * Updated to ZDoom r2345:
- Added an optional parameter to DamageScreenColor to scale the amount of damage for pain flash calculations. This can range from 0.0 to 1.0.
- Sounds that define a loop no longer play looped by default. They must be started with CHAN_LOOP so that the higher level sound code knows they loop and can handle them accordingly.
- Added support for a LOOP_BIDI tag. Set it to "1", "On", "True", or "Yes" to use a bidirectional loop. This only works with sounds and not music, because music is streamed so does not support them.
- Extended custom loop support to work with samples as well as music.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@839 b0f79afe-0144-0410-b225-9a4edf0717df
2010-07-16 06:15:56 +00:00
gez
46bdcdb47d * Updated to ZDoom r2373:
- Fixed: All melee attack functions only used the target acquired by P_AimLineAttack for all subsequent calculations, not the actual victim of the attack. 
- Set +NEVERRESPAWN flag for several Strife monsters that should not respawn in Bloodbath skill.
- Fixed: Setting +NOCLIP for a player class did not work.
- Fixed: A_Print and related functions should not make a use state chain succeed.
- Fixed: APowerIronFeet must continuously reset the player's air supply.
- Fixed: Stopping music did not clear the variable used to restart the last played song.
- Fixed: Classes inherited from PowerScanner didn't work anymore.
- Added some options to A_CustomPunch, including calling Strife's dagger alert function.
- Added support for Risen3D/PrBoom+'s MUSINFO lump.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@816 b0f79afe-0144-0410-b225-9a4edf0717df
2010-06-13 13:33:27 +00:00
Christoph Oelckers
d9503655f1 Update to ZDoom r2204:
- fixed: Items spawned internally by ADehackedPickup::TryPickup must not count towards item statistics.
- fixed: The color sliders on the player setup menu were not disabled when a predefined colorset was selected.
- added a 'player.clearcolorset' property so that inherited color sets can be removed.
- fixed: Player color sets were not inheritable.
- Some minor changes to DUMB to match http://kode54.foobar2000.org/foo_dumb-dumb-lib_source.rar
  dated 2009-10-18. This version also added DSMI AMF support, but since I can't find a single
  song in this format, I'll hold off on including that unless somebody specifically requests it.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@746 b0f79afe-0144-0410-b225-9a4edf0717df
2010-03-07 11:20:10 +00:00
Christoph Oelckers
30c977090c Update to ZDoom r2198:
- let players check MF2_NOTRANSLATE so that mods can create player classes which are not subject to
  default player color handling.
- fixed: The ChexPlayer was missing default colorset definitions.
- Final Doom needs its finale flats changed, too.
- It's "BGCASTCALL", not "BOSSBACK".
- Added BOOM/MBF BEX-style narrative background text substitution. There are two changes because
  of this:
  * A cluster's flat definition can now be preceded by a $ to do a string table lookup.
  * Since the standard flat names are now in the LANGUAGE lump, the normal Dehacked substitution
    for these is no longer handled specially and so will not be automatically disabled merely
    by providing your own MAPINFO.
- Setting a Player.ColorRange now completely disables the translation rather than just
  making it an identity map.
- Added support for the original games' player translations, including Hexen's table-based ones.
- Fixed: CheckActorClass needed a NULL check.
- Fixed: FFont::StringWidth() counted the ']' character of a named color escape sequence in
  its width calculation.
- Fixed: FSinglePicFont should set the character size by the scaled size of the texture.
- Fixed: snd_musicvolume needs to check GSnd for NULL, since somebody might have set an
  atexit for it, which gets executed after the sound system shuts down.
- Fixed: FPlayList::Backup() failed to wrap around below entry 0 because Position is
  unsigned now.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@744 b0f79afe-0144-0410-b225-9a4edf0717df
2010-03-06 11:03:55 +00:00
Christoph Oelckers
3d55375a01 - fixed: The sound table could not be reallocated because the low level sound data referenced its contents by pointer.
Update to ZDoom r2113:

    * Added full stops to more Strife messages.
    * Change StrifePlayer's RunHealth to 15.
    * Fixed: DORWS04 should not make a sound when it switches off.
    * Fixed copy-paste fail for DoorCloseSmallWood.
    * I guess I can't completely trust Strife1.exe's switch list. Not everything that plays the glass break sound is actually defined with it.
    * Fixed: The MAPINFO keyword resetinventory only worked when traveling to a redirected map.
    * Fixed: Two Strife pickup messages were off by one character each.
    * Fixed: Macil2 and the Oracle need to be immune to SpectralLightningV2 as well as V1, since they are both created by the first-stage Sigil. AlienSpectre3 should have also been immune to them but was not. In addition, Macil1 was erroneously immune to V1, when he should not be immune to any spectral damage. (Though, since he's immortal, all that really amounts to is that he can enter his pain state.)
    * Fixed: Don't color the teleporter beacon's rebels in single player.
    * Fixed: I forgot to reimplement the number keys for Strife's dialogues when I redid the menus to work with controllers.
    * Split conversation initiation out of P_UseTraverse() and into a separate function. It no longer piggy-backs off of Hexen's puzzle item traversal but instead works like Strife, using P_AimLineAttack() to find something to talk to and includes some slight left and right "autoaim". I can think of a few consequences of this:
          o Using puzzle items on actors has been restored to its original range of 64.
          o Since talking now depends on P_AimLineAttack() instead of a line use traversal, you can probably set up situations where you can talk to somebody that you couldn't talk to before because some special line was in the way.
          o You don't need to stick a guard flush against the wall to block players from using a switch behind them, because now the autoaim will get the player.
    * Corrected several Strife switches that had the wrong sounds.
    * Fixed: Action Doom 2 and Harmony IWADs were missing the GI_MAPxx flag.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@716 b0f79afe-0144-0410-b225-9a4edf0717df
2010-01-16 07:38:12 +00:00
Christoph Oelckers
3911475e2f - Added full sound definitions for Heretic's ChickenPlayer and Hexen's
PigPlayer (submitted by NeuralStunner.)
- Added unmorph fix by Gez.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@685 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-28 22:42:42 +00:00