- Added: Let the kill CCMD also kill replacements of the monster that is specified.
- Add a GetReplacement method to PClass to clean up some really ugly code
- Who wrote the 'kill' CCMD? The way it checked if two classes were identical was horrendously overcomplicated.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@908 b0f79afe-0144-0410-b225-9a4edf0717df
* Updated to ZDoom r2450:
- Added DavidPH's Poison damage extension but changed it so that the metadata can be removed.
- Added Firebrand's patch to rename 'swap' due to naming conflicts in newer MSVC compilers.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@848 b0f79afe-0144-0410-b225-9a4edf0717df
- 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
- fixed: Poison clouds spawned by the PoisonShroom should not be pushable by the Disc of Repulsion.
- Added support for DRO version 2 files.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@810 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: Heretic's 666 lower floor must be of type LowerToHighest unlike Doom which is LowerToLowest.
- restored original Doom behavior for hitscans to only check actors which have their center in the blockmap cells being checked, compatibility optioned by COMPATF_HITSCAN.
- added a Boom (strict) compatibility mode.
- Restored some original Doom behavior that received complaints from users:
* reactivated the old sliding against diagonal walls code and compatibility optioned it with COMPATF_WALLRUN.
* re-added the original hitscan checking code using a cross-section of the actor instead of the bounding box, compatibility optioned with COMPATF_HITSCAN.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@804 b0f79afe-0144-0410-b225-9a4edf0717df
- Changed AActor::GetTag() to use language lookups for strings that start with $.
- Fixed: Animated doors should only leave ML_BLOCKING set if the door was created with it set. Otherwise, monsters will be unable to open it after it has been used once if it isn't set for push activation.
- Response file improvements:
* Fixed: Trying to use a response file would result in infinite looping until memory was exhausted.
* Fixed: Response files were read after coalescing file parameters, which would lead to non-coalesced parameters if the original command line and response file both had them.
* You can now use more than one response file.
* Response files can include other response files.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@801 b0f79afe-0144-0410-b225-9a4edf0717df
- Added a new 'playeruseback' linedef trigger type that allows using lines from the back side.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@784 b0f79afe-0144-0410-b225-9a4edf0717df
the opportunity to merge the various boolean parameters to P_AimLineAttack into one flag parameter.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@759 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: Explosions directly under a water surface would not hurt any actor directly above this surface.
- cleaned up P_CheckSight flag handling.
- Use normal texture animation for the main menu cursors. This required updating animations
all the time and not just when inside a level.
- fixed: IDBEHOLD altered the item counter.
- fixed: P_SpawnMapThing always reduced the angular precision to 45 degrees.
- removed AngleIncrements because it's not really useful.
- fixed: Level redirection checked the wrong level.
- Fixed: ClearActorInventory used the wrong stack index to get its parameter.
- P_ZMovement() temporarily disables jumping after a landing. Don't do this if the jump
timer is already running or for short falls (e.g. along the edges of slopes, since the
slope floorz calculation is pretty crappy.)
- Keep all damage factors in the table, even those that are 1.0.
- 256 is a valid pain chance, so clamp to that, not 255.
- Fixed: TMap::DelKey failed if the key's main position was nil, because it tried checking
for it at the "next" position, which is an invalid pointer in that case.
- Changed A_SetUserVar and A_SetUserArray so they affect the actor that called it, which
is not necessarily "self". The only visible change from this should be that inventory items
now set their own variables and not their owners'.
- added a CrushPainSound actor property for Strife.
- fixed memory leaks in SBARINFO and WAD loading code.
- added GetBloodColor and GetBloodType inline functions to AActor to wrap the GetMeta calls used for this.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@756 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: Closing doors early would never restart the sound sequence if it was manually placed.
- Fixed: "Animation <X> in ANIMATED has only one frame" message was missing a newline.
- fixed positioning of player mugshot background on Doom status bar.
- added Gez's Plane_Copy submission with some extensions and improvements.
This line special is the last of the slope creation methods being processed so it can copy any other type of slope.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@739 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: Rocket trail particle positioning only worked when the rocket was moving.
- fixed: Sector_SetWind and Sector_SetCurrent were not usable in scripts called from a line.
- added Gez's A_Mushroom extension.
- added a minimum threshold for damage thrust to avoid micro-velocities being set for actors.
- fixed: Strife's Oracle is not a living thing and needs the NOBLOOD flag.
- fixed: Chex Quest's finale pic was wrong.
- fixed: Being resurrected by an Arch Vile did not restore flags5 and flags6 to the defaults.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@738 b0f79afe-0144-0410-b225-9a4edf0717df
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
Having every single actor default to the highest available statnum means that
nothing can be placed in a slot where it is guaranteed to be run after all actors
have ticked. But this is required for any thinker that moves an actor
(i.e. AActorMover and DSectorEffect.) With DSectorEffect it just went unnoticed
because they were added at the end of the list so almost nothing they moved was
behind them in a thinker list. However, when an actor was spawned on a moving
floor it did not move smoothly. The default statnum is now 100 so that there's
sufficient slots above where such thinkers can be placed.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@691 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: Movement performed by actor movers was not interpolated because
it happened outside the moved actor's Tick function. This got particularly
obvious with moving skybox viewpoints (See Daedalus's MAP21 intro for a good
example.)
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@689 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: Morphed players tried endlessly to switch to a weapon they picked up.
- fixed: P_DamageMobj just set an ice corpse's velocity to 0 to make it shatter.
But that's insufficient because it doesn't factor in any subsequent velocity
change that happens between the damaging and the next call to A_FreezeDeathChunks.
- fixed: The TimeFreezer did not freeze other players' controls in a
multiplayer game.
- fixed: DECORATE's 'gravity' property incorrectly messed around with the
NOGRAVITY flag.
- fixed: Hitscan attacks didn't check the puff's replacement for damage types.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@661 b0f79afe-0144-0410-b225-9a4edf0717df
each other. PIT_CheckThing will return true under the following contitions
now:
* It was called from P_Move
* The actor that is blocking the move already overlaps with the monster
that is being moved.
* the move will take the 2 actors further apart.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@651 b0f79afe-0144-0410-b225-9a4edf0717df
- Make the palette indexes used by FRemapTable subject to the global remap
table, just as the images they translate are.
- Added MF4_ALLOWPARTICLES checks to blood spawning code.
- Fixed: EV_DoDonut, EV_DoElevator and EV_StartWaggle did not to any 0-tag
checks.
- Fixed: Doom line type 44 (lower ceiling to 8 above floor) must halt
movement if blocked which essentially means it acts like a Hexen-style
crusher.
- Fixed: Not all places checking for player start spots did it correctly.
The editor number for player start spot 5 is now stored in the game info
so that there's only one place where this check needs to be done.
- Fixed: WIF_NOAUTOAIM only worked for projectiles.
- Added Windows 7 (aka Windows NT 6.1) and Server 2008 identification to
I_DetectOS().
- Fixed: ArtiPork did not use all its sprite frames.
- Fixed: FWadCollection::AddFile() did not call FixPathSeperator(), so
savegames would hold the full file path for wads that had been specified
with backslash characters, because GetWadName() would not trim off the
path.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@636 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: P_NowayTraverse was called with a trace distance of 128 instead of
the 64 that should have been used.
- reverted the change that makes 0-damage projectiles call P_DamageMobj.
Both Hexen and Heretic depend on such projectiles not doing it as do many
mods that create snow/rain effects plus any terrain splash mod.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@627 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: R_GetOneSkyColumn() and R_GetTwoSkyColumns are mulscaling an
unsigned integer that can use all 32 bits. They must therefore use
the unsigned mul instruction rather than the signed imul instruction.
- Fixed several signed/unsigned comparison and possibly uninitialized
variable warnings flagged by GCC.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@615 b0f79afe-0144-0410-b225-9a4edf0717df
- Added Gez's patch for IWAD detection of Blasphemer and Action Doom 2.
- Fixed: 0 damage projectiles did not call P_DamageMobj.
- Fixed: Do not exit P_DamageMobj early if damage is 0, so we can still get
the side effects from it. PainThreshold also needs to be inclusive, as
the docs already state.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@583 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: Sector height was wrong for sectors that have a slope transfer for
a horizontal plane.
- better error reporting for shader compile errors.
Update to ZDoom r1942:
- Changes to both A_MonsterRail() and A_CustomRailgun(): Save actor's pitch,
use a larger aiming range, ignore non-targets in P_AimLineAttack(), and
aim at the target anyway even if P_AimLineAttack() decides it has no
chance of hitting.
- Added another parameter to P_AimLineAttack(): A target to be aimed at. If
this is non-NULL, then all actors between the shooter and the target will
be ignored.
- Added new sound sequence ACS functions:
SoundSequenceOnActor(int tid, string seqname);
SoundSequenceOnSector(int tag, string seqname, int location);
SoundSequenceOnPolyobj(int polynum, string seqname);
SoundSequenceOnSector takes an extra parameter that specifies where in the
sector the sound comes from (floor, ceiling, interior, or all of it). See
the SECSEQ defines in zdefs.acs.
- Fixed: R_RenderDecal() must save various Wall globals, because the originals
may still be needed. In particular, when drawing a seg with a midtexture is
split by foreground geometry, the first drawseg generated from it will have
the correct WallSZ1,2 values, but subsequent ones will have whatever
R_RenderDecal() left behind. These values are used to calculate the upper
and lower bounds of the midtexture. (Ironically, my work to Build-ify things
had done away with these globals, but that's gone now.)
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@581 b0f79afe-0144-0410-b225-9a4edf0717df
- added 'defaultterrain' option to terrain parser for mods that want to have
a different default terrain than a generic solid surface.
- added format char processing to A_Print(Bold) and all printable messages
that can be defined in DECORATE.
- Fixed: The railgun code ignored MF3_ALWAYSPUFF.
- added desaturated translations.
- added optional state parameters to A_ReFire and A_GunFlash and A_CountdownArg.
- added ACS CheckActorClass function
- fixed: When a blasted actor collided with another one this other actor's
DONTBLAST flag was not checked.
- added a global DamageFactor actor property. All damage this actor takes is multiplied
by this factor in addition to damage type specific damage factors.
- added better earthquake functions for ACS and DECORATE.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@549 b0f79afe-0144-0410-b225-9a4edf0717df
- Added MF6_NOTRIGGER flag that disables all line actions for an actor.
Also added the missing wadsrc files for last update.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@541 b0f79afe-0144-0410-b225-9a4edf0717df
- Added Gez's seeker missile submission.
- Added Gez's thing activation submission.
- added a NULL pointer check to fog spawning in unmorphing code.
- fixed: frozen corpses need to be treated as solid by z-movement code.
- fixed: AAmbientSound::Serialize was adjusting its timer value for savegames
even when it was set to a 'don't check' value.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@539 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed some GCC warnings.
- fixed: The BossCube could be blocked by floors and ceiling resulting
in incorrect movement. I changed it so that A_BrainSpit now sets the
MF5_NOINTERACTION flag for anything it spawns that has the MF_NOCLIP
flag. For travelling cubes active collision detection makes no sense
and only causes problems. This should also make the boss brain
work in the other games which previously were excluded by a game mode
check in the movement code.
- fixed: ACS's GetUserVariable did not work for the script activator.
- fixed: Moving floors could be blocked by 2 actors without MF2_PASSMOBJ
overlapping each other (common mapping bug, check Herian 2 MAP30.)
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@507 b0f79afe-0144-0410-b225-9a4edf0717df
- added PinkSilver's A_Respawn enhancement patch.
- added RandomSpawner update from Gez's experimental build.
- added thing activation types for BUMPSPECIAL and USESPECIAL. Also added
a new ClearSpecial flag to the activation type.
- added MBF's code for dogs jumping down, controlled by the MF6_JUMPDOWN
flag.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@457 b0f79afe-0144-0410-b225-9a4edf0717df
fixed: The Dehacked flags parser fix from May 31 (r1624) was undone by
yesterday's additions. Changed it so that the parser first checks for
the presence of a '-' sign before deciding whether to use strtol or
strtoul to convert the string into a number.
- Added PinkSilver's A_LookEx fix.
- added resources needed for MBF support.
- removed unused score items from DECORATE file.
- Fixed: Argument count for UsePuzzleItem was wrong.
- Added a few things from Gez's experimental build:
* MBF Dehacked emulation but removed the COMPATF_MBFDEHACKED flag because
it wouldn't work and is more or less useless anyway.
* MBF's dog (definition only, no sprites yet.)
* User variables. There's an array of 10. They can be set and checked in
both DECORATE and ACS.
* Made the tag name changeable but eliminated the redundancy of having
both the meta property and the individual actor's one. Having one is
fully sufficient. TO BE FIXED: Names are case insensitive but this
should better be case sensitive. Unfortunately there's currently nothing
better than FName to store a string inside an actor without severely
complicating matters. Also bumped savegame version to avoid problems
with this change.
* MBF grenade and bouncing code.
* several compatibility options.
* info CCMD to print extended actor information (not fully implemented yet)
* summonmbf CCMD.
* Beta BFG code pointer (but not the related missiles yet.)
* PowerInvisibility enhancements.
* ScoreItem with one significant change: Added a score variable that can be
checked through ACS and DECORATE. The engine itself will do nothing with it.
* Nailgun option for A_Explode.
* A_PrintBold and A_Log.
* A_SetSpecial.
* Beta Lost Soul (added DoomEdNum 9037 to it)
* A_Mushroom extensions
* Vavoom compatible MAPINFO keynames.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@452 b0f79afe-0144-0410-b225-9a4edf0717df
- Added PinkSilver's SetActorVelocity code submission (with optimizations.)
- Added the frandom decorate function, which is exactly like random except
that it works with floating point instead of integers.
- Split the bounce types completely into separate flags and consolidated
the various bounce-related flags spread across the different Actor flags
field into a single BounceFlags field.
- Fixed: P_BounceWall() should calculate the XY velocity using a real
square root and not P_AproxDistance(), because the latter can cause
them to speed up or slow down.
- made menu dimming a mapping option but kept the CVARS as user override.
- Fixed: R_CreatePlayerTranslation() only initialized the first truecolor
palette entry.
- Fixed: D3DPal::Update() used BorderColor == 0 as the condition for skipping
an entry. It should be SM14 as in UploadPalette().
- Fixed: The aliasing of CPUInfo was still wrong. (Yarr! The things I do
for you, GCC!) The AMD feature flags weren't stored anywhere, either; not
that it really matters.
- Add an alternate PIC-compliant __cpuid macro in x86.cpp.
- Fixed: S_LoadSound() did not byte-swap the frequency and length it reads
from DMX sounds.
- Fixed: PNGTexture must not use the FArchive >> operator as a short hand
for reading 4-byte integers, because that operator works with little
endian numbers--a no-op on Intel processors, but bad joojoo on PowerPCs.
- fixed: Weapons must first check if they can be switched and afterwards
if they can be fired. These checks were reversed.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@443 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: WIF_STAFF2_KICKBACK did not work anymore because it depended on conditions
that were changed some time ago.
- fixed: The damage inflictor for a rail attack was the shooter, not the puff.
- Fixed: Floor and ceiling huggers may not change their z-velocity when seeking.
- Fixed: UDMF set the secret sector flag before parsing the sector's properties,
resulting in it always being false.
- Renamed sector's oldspecial variable to secretsector to better reflect its
only use.
- Fixed: A_BrainSpit stored as the SpawnShot's target the intended BossTarget,
not itself contrarily to other projectile spawning functions.
A_SpawnFly then used the target for CopyFriendliness, thinking it'll be the
BossEye when in fact it wasn't.
- Added Gez's submission for a DEHACKED hack introduced by Boom.
(using code pointers of the form 'Pointer 0 (x statenumber)'.
- fixed: Attaching 3DMidtex lines by sector tag did not work because lines
were marked by index in the sector's line list but needed to be marked by
line index in the global array.
- fixed: On Linux ZDoom was creating a directory called "~.zdoom" for
save files because of a missing slash.
- fixed: UDMF was unable to read floating point values in exponential format
because the C Mode scanner was missing a definition for them.
- fixed: The recent changes for removing pointer aliasing got the end sequence
info from an incorrect variable. To make this more robust the sequence index
is now stored as a hexadecimal string to avoid storing binary data in a string.
Also moved end sequence lookup from f_finale.cpp to the calling code so that
the proper end sequences can be retrieved for secret exits, too.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@427 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The first lighting plane added to a light stack had the bOverlaps
flag set, causing it to be ignored during rendering. Why this didn't cause
more trouble, I don't know.
- Fixed: The UDMF parser passed the wrong value for "default alpha" for
TranslucentLine to P_FinishLoadingLineDef().
- Fixed: genStringEnter mode acted on key up events rather than key repeat
events.
- Fixed: paletted texture composition with part translucent patches
did not work.
- Fixed: A_SorcOffense2 depended on args being bytes and overflowing.
- Fixed: Even though P_DamageMobj checked an attack's originator
for MF2_NODMGTHRUST the same check was missing from P_RadiusAttack.
- Fixed: A_MinotaurRoam should not assume without check that it was
called by a MinotaurFriend.
- Fixed: The Minotaur declared A_MntrFloorFire which it did not use.
- Fixed: All Spawnspot functions did not check for a spot tid of 0 as
the script's activator.
- Fixed: Friendly monsters ignored team association of their owning
players.
- Fixed: The pause sprite was not centered correctly when it was a scaled
graphic.
- Fixed: P_TestMobjZ() needs THRUSPECIES and THRUACTORS checks, too.
- Fixed: The UDMF loader did not initialize the sectors' sectornum property.
- Fixed: The true color texture compositing code did not clip the edges
of multipatch textures used as patches on other multipatch textures.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@425 b0f79afe-0144-0410-b225-9a4edf0717df
- Added player MugShotMaxHealth property. Negative values use the player's
max health as the mug shot max health, zero uses 100 as the mug shot max
health, and positive values used directly as the mug shot max health.
- Added buddha cheat.
- Added TELEFRAG_DAMAGE constant, and changed the two places that still used
1000 as the threshold for god mode damage to use it instead. (Players with
MF2_INVULNERABLE set already used 1000000 as their threshold.)
- Added MF6_NOTELEFRAG flag.
- Fixed: M_QuitResponse() tried to play a sound even when none was specified
in the gameinfo.
- Added Yes/No selections for Y/N messages so that you can answer them
entirely with a joystick.
- Fixed: Starting the menu at the title screen with a key other than Escape
left the top level menu out of the menu stack.
- Changed the save menu so that cancelling input of a new save name only
deactivates that control and does not completely close the menus.
- Fixed "any key" messages to override input to menus hidden beneath them and
to work with joysticks.
- Removed the input parameter from M_StartMessage and the corresponding
messageNeedsInput global, because it was redundant. Any messages that want
a Y/N response also supply a callback, and messages that don't care which
key you press don't supply a callback.
- Changed MKEY_Back so that it cancels out of text entry fields before
backing to the previous menu, which it already did for the keyboard.
- Changed the menu responder so that key downs always produce results,
regardless of whether or not an equivalent key is already down.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@412 b0f79afe-0144-0410-b225-9a4edf0717df
- Added the MF6_STEPMISSILE flag so that the Whirlwind can "walk" up steps.
- Changed the dword definition of PalEntry to uint32 so that it has one
consistent definition across all source files.
- Swapped the order of floor and ceiling moves in DElevator::Tick() so that
if an elevator contains an actor exactly the same height as it, it will not
be blocked.
- Fixed: FWeaponSlot::PickWeapon() wrapped around improperly when the starting
value for i was 0.
- Added kgsws's SummonActor enhancement and bumped netgame and demo versions
because this submission changes an existing command.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@410 b0f79afe-0144-0410-b225-9a4edf0717df
- Backported 2 fixes from Skulltag:
* A_SentinelAttack must check for a NULL target
* Monsters with CANTLEAVEFLOORPIC could not move because their floor
texture was not initialized.
- Fixed: The 'idclev' cheat set the player's health to 0 which caused the
level to end when in a sector of type 'end level when health below 10'.
- Fixed: The 'kill' cheat set the player to nonshootable even if it did not
succeed.
- Added joystick config loading and saving support; moved generic joystick
interfaces to m_joy.h.
- Added Raw Input PS2 adapter support.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@393 b0f79afe-0144-0410-b225-9a4edf0717df
- ZDoom now disables the input method editor, since it has no east-Asian
support, and having it open a composition window when you're only expecting
a single keypress is not so good.
- Fixed: Setting intermissioncounter to false in gameinfo drew all the stats
at once, instead of revealing them one line at a time.
- Fixed: The border definition in MAPINFO's gameinfo block used extra braces.
- Added A_SetCrosshair.
- Added A_WeaponBob.
- Dropped the Hexen player classes' JumpZ down to 9, since the original value
now works as it originally did.
- MF2_NODMGTHRUST now works with players, too. (Previously, it was only for
missiles.) Also added PPF_NOTHRUSTWHILEINVUL to prevent invulnerable players
from being thrusted while taking damage. (Non-players were already
unthrusted.)
- A_ZoomFactor now scales turning with the FOV by default. ZOOM_NOSCALETURNING
will leave it unaltered.
- Added Gez's PowerInvisibility changes.
- Fixed: clearflags did not clear flags6.
- Added A_SetAngle, A_SetPitch, A_ScaleVelocity, and A_ChangeVelocity.
- Enough with this "momentum" garbage. What Doom calls "momentum" is really
velocity, and now it's known as such. The actor variables momx/momy/momz
are now known as velx/vely/velz, and the ACS functions GetActorMomX/Y/Z
are now known as GetActorVelX/Y/Z. For compatibility, momx/momy/momz will
continue to work as aliases from DECORATE. The ACS functions, however,
require you to use the new name, since they never saw an official release
yet.
- Added A_ZoomFactor. This lets weapons scale their player's FOV. Each weapon
maintains its own FOV scale independent from any other weapons the player
may have.
- Fixed: When parsing DECORATE functions that were not exported, the parser
crashed after giving you the warning.
- Fixed some improper preprocessor lines in autostart/autozend.cpp.
- Added XInput support. For the benefit of people compiling with MinGW,
the CMakeLists.txt checks for xinput.h and disables it if it cannot
be found. (And much to my surprise, I accidentally discovered that if you
have the DirectX SDK installed, those headers actually do work with GCC,
though they add a few extra warnings.)
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@376 b0f79afe-0144-0410-b225-9a4edf0717df
- Added Gez's submissions for A_M_Saw customization, area damage and
pitch for A_FireCustomMissile.
- Attaching and detaching joysticks once again updates the joystick menu.
- Added joystick axis -> button mapping.
- Added Gez's actor replacement per skill submission.
- Joystick axes can be configured in the menu again. TODO: Config saving
and loading, XInput, allow axes to be used as buttons (for the Xbox
controller's trigger buttons), allow the joystick to move through the
menus, and my PS2 adapter which has no Vista x64 drivers.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@375 b0f79afe-0144-0410-b225-9a4edf0717df
- added a compatibility option to restore the original Heretic bug where
a Minotaur couldn't spawn floor flames when standing in water having its
feet clipped.
- added vid_vsync to display options.
- fixed: Animations of type 'Range' must be disabled if the textures don't
come from the same definition unit (i.e both containing file and use type
are identical.)
- changed: Item pushing is now only done once per P_XYMovement call.
- Increased the push factor of Heretic's pod to 0.5 so that its behavior
more closely matches the original which depended on several bugs in the engine.
- Removed damage thrust clamping in P_DamageMobj and changed the thrust calculation
to use floats to prevent overflows. The prevention of the overflows was the
only reason the clamping was done.
- Added Raven's dagger-like vector sprite for the player to the automap code.
- Changed wad namespacing so that wads with a missing end marker will be
loaded as if they had one more lump with that end marker. This matches the
behaviour of previously released ZDooms. (The warning is still present, so
there's no excuse to release more wads like this.)
- Moved Raw Input processing into a seperate method of FInputDevice so that
all the devices can share the same setup code.
- Removed F16 mapping for SDL, because I guess it's not present in SDL 1.2.
- Added Gez's Skulltag feature patch, including:
* BUMPSPECIAL flag: actors with this flag will run their special if collided on by a player
* WEAPON.NOAUTOAIM flag, though it is restricted to attacks that spawn a missile (it will
not affect autoaim settings for a hitscan or railgun, and that's deliberate)
* A_FireSTGrenade codepointer, extended to be parameterizable
* The grenade (as the default actor for A_FireSTGrenade)
* Protective armors à la RedArmor: they work with a DamageFactor; for example to
recreate the RedArmor from Skulltag, copy its code from skulltag.pk3 but remove
the "native" keyword and add DamageFactor "Fire" 0.1 to its properties.
- Fixed: I_ShutdownInput must NULL all pointers because it can be called twice
if an ENDOOM screen is displayed.
- Fixed: R_DrawSkyStriped used frontyScale without initializing it first.
- Fixed: P_LineAttack may not check the puff actor for MF6_FORCEPAIN because
it's not necessarily spawned yet.
- Fixed: FWeaponSlots::PickNext/PrevWeapon must be limited to one iteration
through the weapon slots. Otherwise they will hang if there's no weapons
in a player's inventory.
- Added Line_SetTextureScale.
- Fixed: sv_smartaim 3 treated the player like a shootable decoration.
- Added A_CheckIfInTargetLOS
- Removed redundant A_CheckIfTargetInSight.
- Fixed: The initial play of a GME song always started track 0.
- Fixed: The RAWINPUT buffer that GetRawInputData() fills in is 40 bytes on
Win32 but 48 bytes on Win64, so Raw Mouse on x64 builds was getting random
data off the stack because I also interpreted the error return incorrectly.
- added parameter to A_FadeOut so that removing the actor can be made an option.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@344 b0f79afe-0144-0410-b225-9a4edf0717df
- Added Hirogen2's unlimited pickup patch.
- Added railgun performance customization CVARs by Spleen.
- Added aspect ratio override submission by SoulPriestess.
- Added a 'resetinventory' MAPINFO option.
- Added MF6_NOFEAR flag.
- Added A_MonsterRefire(probability, jumptarget).
- Added A_JumpIfTargetInSight(state) action function.
- Changed: Puffs set their angle to face the originator of the attack.
- Strife's burning hands originally make the level view fullbright.
changed in ZDoom to do partial brightening.
- Added support for horizontal mouse wheels, and set invprev/invnext as
default bindings for it. This is Vista only. DirectInput mouse (in_mouse 2)
does not support it, because the DirectInput mouse device does not expose
this control.
- Added a label for the F16 key and mapped the kp= key on a Mac keyboard to
the PC98 equivalent so it will be identified as kp=. (Interestingly, F13-
F16 and kp= only generate events when using Raw Input, not when using
DirectInput.
- Added MF6_FORCEPAIN flag that forces the target to go into the pain state
regardless of pain chance.
- Changed screenblocks CVAR to be settable per game.
- Added SpawnSpotForced and SpawnSpotFacingForced ACS functions.
- Added pushfactor actor property.
- Added Gez's GetArmorType submission
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@339 b0f79afe-0144-0410-b225-9a4edf0717df
- Swapped snes_spc out for the full Game Music Emu library.
- Fixed: The Hexen status bar still uses MAX_MANA for some calculations instead
of MaxAmount.
- Added Blzut3's submission for displaying underwater stats in SBARINFO.
- Added Gez's AMMO_CHECKBOTH submission.
- Added Gez's THRUSPECIES submission.
- Added loading directories into the lump directory.
- fixed: The Dehacked parser could not parse flag values with the highest bit
set because it used atoi to convert the string into a number.
- fixed: bouncing sounds were limited to inventory items.
- Rewrote IWAD detection code to use the ResourceFile classes instead of
reading the WAD directory directly. As a side effect it should now be
possible to use Zip and 7z for IWADs, too.
- Added 'EndTitle' nextmap option which goes to the regular title loop after
the game has finished.
- Added NOBOSSRIP flag. Note: we are now at flags6!
- Added SetSkyScrollSpeed(int skyplane, fixed speed) ACS function.
- Added THRUACTORS flag that disables all actor<->actor collision detection.
- Added DONTSEEKINVISIBLE flag for missiles that can't home in on invisible
targets.
- Added SFX_TRANSFERPITCH flag to A_SpawnItemEx.
- Added Ultimate Freedoom IWAD detection.
- Added GetAirSupply and SetAirSupply functions to ACS.
- Fixed: The *surface sound was not played when drowning was switched off
by setting the level's air supply to 0.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@338 b0f79afe-0144-0410-b225-9a4edf0717df