with an FString now.
- Fixed: The music strings in the default level info were never freed and
caused memory leaks when used repeatedly.
- Fixed: The intermusic string in the level info was never freed.
- Fixed: The default fire obituary should only be printed if the damage
came from the environment. If it comes from a monster the monster specific
obituary should be used instead.
- Added custom damage types from the floating point test release.
- Changed Pain Elemental's massacre check. Now A_PainDie checks for the damage
type and doesn't spawn anything if it is NAME_Massacre. A_PainDie can also
be used by other actors so a more generalized approach is needed than hard
coding it into the Pain Elemental.
- Converted a few of Doom's monsters to DECORATE because I couldn't test the
first version of the custom state code with the corpses inheriting from them.
- Added custom states from last year's floating point test release and fixed
some bugs I found in that code. Unfortunately it wasn't all salvageable
and it was easier to recreate some parts from scratch.
SVN r368 (trunk)
- Fixed: SetTexture() in p_setup.cpp assumed that all color values were
six characters. Although this was the intended way to specify colors,
earlier versions did no error checking, so other lengths worked too.
- Fixed: FPatchTexture waited until MakeTexture() to call CalcBitSize(),
so the width and height bit sizes weren't available when using it as a
source for a warp texture.
- Fixed: R_InitSkyMap() should only warn about two sky textures not being
the same height when they are used as part of a double sky.
- Added a NULL state check in AActor::Tick() before advancing the current
state. Note that this should not happen, so there's an assert there for
the debug build as well as a regular check for the release build.
SVN r324 (trunk)
for direct descendants of AWeapon and not for every weapon being defined.
- Changed parsing of actor names back to not use C-mode. This change breaks
any definition that contain periods in their name and apparently there's
more than anyone could expect. Also altered the parser to manually check
for colons inside the parsed string so that placing spaces around them
is no longer necessary.
- Fixed: Weapons could be picked up for ammo even if they gave none.
- Fixed: A_Beacon was missing a NULL pointer check for the beacon's owner.
- Fixed: The status bar tried to access CPlayer->camera without checking
its validity. In spy mode there is a possibility that it is NULL.
SVN r237 (trunk)
- Fixed: FDoomEdMap needed a destructor.
- Fixed: Decal animators were never freed.
- Fixed: Colormaps were never freed.
- Fixed: Memory allocated in R_InitTranslationTables() was never freed.
- Fixed: R_InitParticles() allocated way more memory than it needed to. (And the
particle memory was never freed, either.)
- Fixed: FMetaTable::FreeMeta() should use delete[] to free string metadata.
- Fixed: FConfigFile::ClearCurrentSection() must cast the entry to a char *
before deleting it, because that's the way it was allocated.
- Fixed definitions of DeadZombieMan and DeadShotgunGuy in doom/deadthings.txt.
Skip_super resets the dropitem list, so having it after "DropItem None" is
pointless.
- Fixed: Decorate DropItem information was never freed.
- Fixed: FinishStates() allocated even 0-entry state arrays.
- Fixed: Default actor instances were never freed.
- Fixed: FRandomSoundList never freed its sound list.
- Fixed: Level and cluster strings read from MAPINFO were never freed.
- Fixed: Episode names were never freed.
- Fixed: InverseColormap and GoldColormap were never freed. Since they're always
allocated, they can just be arrays rather than pointers.
- Fixed: FFont destructor never freed any of the character data or the font's name.
- Fixed: Fonts were not freed at exit.
- Fixed: FStringTable::LoadLanguage() did not call SC_Close().
- Fixed: When using the -iwad parameter, IdentifyVersion() did not release the
buffer it created to hold the parameter's path.
SVN r88 (trunk)
- Added a misc/secret sound definition for Heretic.
- Fixed: Powered up weapons were not properly deselected when the level ended
and their ready state was different from the main weapon's.
- Made some improvements to A_CountdownArg.
- Removed the 'Yes', 'No' and 'Greetings' state assignment commands. They haven't
been documented and thus haven't been used at all so far. Therefore they don't
need to be handled considering that they will go away anyway.
- Changed the DECORATE state parser so that Stop can also be specified right after
a label, in addition to goto.
SVN r84 (trunk)