* Added drawshader to draw Heretic style transparency gradients.
* Added artiflash flag to drawselectedinventory.
* Fixed: Drawgem used the wrong operator when determining the chain size.
* Fixed: ZDoom would crash if an undefined font was used.
* I also started cleaning up the source a little. I have been informed that
when checking for flags the "== flagname" is redundant.
- Added indexfont anf hudfont from GZDoom to zdoom.pk3 so that they are always
available when defining custom status bars.
SVN r629 (trunk)
of MustConfirm: It looked for TK_String when it should have used TK_StringConst.
- Fixed: When travelling to a new non-hub map, any items being carried with
amounts of 0 would be upped to 1.
SVN r589 (trunk)
if the first spawned one died and executed some code in its death state.
- Added Karate Chris's submission for 'allowrespawn' MAPINFO option.
- Added Karate Chris's submission for customizable skill confirmation text.
- Fixed: Doom's statusbar only checked for primary attacks, not secondary ones when
setting Doomguy's face. (Thanks to Karate Chris for the fix.)
- added Skulltag's FORCEYBILLBOARD and FORCEXYBILLBOARD flags to the DECORATE parser.
Even though the software renderer has no use for them it is necessary to support them
so that mods can use these flags without becoming incompatible with ZDoom.
SVN r576 (trunk)
- Fixed: The FMOD stream player must specify whether it wants to play the
sound looped or not when playback is started, not when the stream is created.
- Fixed: A_Saw didn't use the puff's damage type.
- Fixed: The AxeBlood's death state was using the wrong sprite frame.
- Fixed: The Mancubus had an attack sound defined even though it shouldn't.
SVN r565 (trunk)
in a hub but by a level flag instead.
- Fixed: Floor and ceiling huggers must set themselves to floor and ceiling each
time they move.
- Added a LEVEL_NOMONSTERS flag so that G_ChangeLevel doesn't have to mess with
the dmflags CVAR to start the level without monsters.
SVN r563 (trunk)
- Fixed: Right after teleporting P_SlideMove could cause player movement.
Added a check for reactiontime to prevent that.
- Fixed: PainChances and Damagefactors were never freed.
- Added option to A_Chase that prevents the monster from moving.
- Fixed: The stained glass shards were missing the HEXENBOUNCE flag.
- Added some NULL pointer checks to AActor::GiveAmmo.
- Fixed: The FSwordMissile was missing the special damage handling that
reduces damage when hitting a player.
SVN r555 (trunk)
weapon didn't change back when the powerup expired.
- Fixed: The powered up version of Heretic's Gauntlets missed the proper
state assignments for Ready, Lower and Raise.
- Fixed: The Strife player was missing its pain state.
- Fixed: Revenant missiles couldn't home in on targets with a height lower than
40.
- Fixed: The code which checked for hitscan traces hitting actors from above
and below must test whether the calculated hit position is actually inside
the actor being checked. If it crosses the top/bottom plane outside the
bounding box there can't be a hit.
- Changed: State labels in code pointer calls must now be enclosed in quotation marks.
This was done to ensure compatibility with parsers that will parse these as
identifier-aware script code later.
SVN r554 (trunk)
- Fixed: The shotgun had spawn ID 21 instead of 27.
- Fixed: All 3 states in the DoomUnusedStates actor need to end with a 'stop'.
- Fixed: The DECORATE TakeInventory functions didn't check the IF_KEEPDEPLETED
flag.
- Fixed: ClearInventory should leave ammo in the inventory because it might be
referenced by undroppable weapons.
- Fixed: Several functions in a_artifacts.cpp were missing a check for a valid
owner.
- Fixed: sc_man counted lines wrong when ungetting strings but getting tokens
next.
SVN r552 (trunk)
behind because it couldn't delete them.
- added a $MidiDevice option to SNDINFO which can either set the preferred
MIDI device for a song to Timidity or Windows' standard MIDI device.
The reason for this: About 80% of my MIDI music collection sounds better
with Timidity and the other 20% with Windows' standard synth and I'd like
to be able to use each with the one that sounds better. For MUS files you
can also force the use of OPL playback.
- added telefrag option to A_SpawnItemEx.
SVN r545 (trunk)
- fixed: The brown Chaos Serpent in Hexen had an incorrect sprite for its
ice death sequence set.
- fixed: Ammo upon game start does not get multiplied when on easy skill.
Implementing this as an inventory flag IF_IGNORESKILL also allows to create
ammo/weapon/backpack types that don't multiply the ammo given when on this
skill.
- moved Doom exit sounds into SNDINFO as $random definitions.
- Fixed: Dying Lost Souls could be reset to their see state if they slammed into
something.
SVN r540 (trunk)
no longer gets in the way of the main parser.
- Changed A_MissileAttack, A_MeleeAttack and A_ComboAttack so that they use
metadata. Now all the hack code associated with these functions can be removed.
SVN r538 (trunk)
with my changed code.
- Cleaned up DECORATE parser a little - moved the old style parsing code into its
own file and rearranged a few things.
- Made ProcessStates non-static so that it doesn't need to be passed as an argument
to all functions in the DECORATE parser.
- Moved DECORATE parser files into their own subdirectory.
- Optimization: SC_GetToken no longer sets sc_name for identifiers. In most cases
this creates needless overhead by adding a potentially unneeded name to the name
table and looking up the name. In almost all cases where a name is needed it's as
easy to assign sc_String to the name variable.
- Added enum definitions to DECORATE.
SVN r537 (trunk)
Zip entries.
- Fixed: Some of Doom's weapon obituaries didn't have the $-prefix that indicates a
reference to the string table.
- Fixed: The check for a valid weapon's spawn state for weapon dropping was incorrect.
SVN r523 (trunk)
to specific damage types.
- Changed Dehacked parser to use the DECORATE symbol tables for code pointers
instead of creating its own ones.
- Removed the HandleNoSector hack and changed A_Look so that it uses the sector's
sound target for actors with MF_NOSECTOR regardless of compatibility settings.
- Moved initialization of weapon slots after the actor initialization.
With default weapons exported to DECORATE it can't be done earlier.
- Converted Doom weapons to DECORATE.
- Changed backpack definition so that Doom's backpack is no longer the base
class that implements its functionality. Now there is an abstract base class
all backpack-like items derive from. Also moved the actual definition of Doom's
backpack to DECORATE.
SVN r519 (trunk)
like doors. This flag is on by default for any monster which was the
previous behavior.
- Optimized the DECORATE flag parser so it can more efficiently handle
the deprecated flags. As a side effect of this optimization the deprecated
flags became usable in A_ChangeFlag again.
- Changed LONGMELEERANGE flag into a MeleeThreshold property.
- Changed SHORTMISSILERANGE flag into a MaxTargetRange property.
- Added Thing_Stop action special.
SVN r517 (trunk)
- Added more player water sounds:
*dive - Played when your head goes below water.
*surface - Played when your head goes back above water.
*gasp - Played when you were drowning and get your air back.
If your head surfaces and you were drowning, only *gasp plays, not both.
- Added damage-specific player death sounds, in the same fashion as the
damage-specific player pain sounds. It looks for a sound with a name like
"*death-damagetype" first and then "*death" if the first sound didn't exist.
- Removed the constraint that player sounds must be reserved before they can
be assigned. Hence, the $playerreserve command has been eliminated, because
it is no longer needed and it was never accessible from user wads, so I
don't need to worry about breaking anything by removing it.
SVN r474 (trunk)
is unable to synthesize one.
- Converted xlatcc to use lemon during its build process. Now you don't need
bison to rebuild everything anymore.
SVN r470 (trunk)
P_TranslateLinedefs.
- Fixed: ShowErrorPane can be called before ST_NetDone is valid so it has to
check whether it is NULL.
- Fixed: The Megasphere had an incorrect pickup sound.
- Fixed: The new video initialization code could set the screen's Font pointer
to NULL, causing a crash with levels that start in a secret sector.
SVN r464 (trunk)
3 new code pointers without general use it was necessary to handle
GiveDefaultInventory consistently for all players without the need to
subclass this function.
- Added a Player.RunHealth property to expose the StrifePlayer's behavior of
not being able to run when its health is below 10.
- Changed APlayerPawn::GiveDefaultInventory so that it always adds a HexenArmor
and a BasicArmor item to the inventory. If these items are not the first ones
added to the inventory anything else that might absorb damage is not guaranteed
to work consistently because their function depends on the order in the inventory.
- Changed handling of APowerup's DoEffect so that it is called from the owner's
Tick function, not the item's. This is so that the order of execution is
determined by the order in the inventory. When done in the item's Tick function
order depends on the global thinker table which can cause problems with the
order in which conflicting powerups apply their effect. Now it is guaranteed
that the item that was added to the inventory first applies its effect last.
- Fixed: Added checks for Speed==0 to A_Tracer and A_Tracer2 because this could
cause a divide by zero.
- Fixed: P_MoveThing must also set the moved actor's previous position to
prevent interpolation of the move.
- Fixed: APowerInvisibility and its subclasses need to constantly update
the owner's translucency information in case of interference between different
subclasses. Also changed Hexen's Cleric's invulnerability mode to disable
the translucency effect if an invisibility powerup is active.
SVN r448 (trunk)
MAPINFO keyword 'bordertexture' and are settable per map.
- Fixed: When used in DECORATE A_Explode must use A_ExplodeParms.
- Added custom label support to A_Chase. To enable resurrection from the
customizable version I also moved all A_VileChase stuff into p_enemy.cpp.
SVN r437 (trunk)