The function 'PClassActor::InitializeNativeDefault' is the only one which didn't allocate the 'Defaults' member variable with M_Malloc. Reported by the Address Sanitizer.
Conflicts:
src/dobjtype.cpp
src/p_conversation.cpp
src/p_local.h
src/p_things.cpp
src/thingdef/thingdef_properties.cpp
(This is just the conversationID to MAPINFO stuff to keep the conflicts as small as possible)
Conflicts:
src/d_main.cpp
src/info.cpp
src/p_local.h
(Had to merge this all by itself because it was creating too many merge conflicts when combined with other stuff.
be no conflicts with recently-added named arguments for spawnable things on UDMF maps.
- Change the SpawnableThings array into a map, so there is no longer any particular upper limit on an actor's SpawnID. Also fixes a possible exploit, since an actor's SpawnID was never checked to make sure it was within range.
SVN r3959 (trunk)
- Changed Actor's Damage property into an actual function. All access to the damage property
must now be done through GetMissileDamage. actor->GetMissileDamage(0, 1) is equivalent
to the former actor->Damage, for the case where actor->Damage was not an expression. (I
suppose I will probably need to make a thunk for DECORATE expressions that want to read it.)
- Cleaned up some decorate expression evaluation functions that are no longer used.
SVN r3919 (scripting)
about this now. I spent three days trying to figure out why the VC++ debug version was so slow.
It turns out I had a conditional breakpoint set in a high-traffic area. D'oh!
The rest of this stuff should get merged into trunk:
- Fixed: Writing to debugfile uses the standard fprintf, which does not understand %td on VC++.
- Fixed: Instead of crashing when a sprite has been scaled to 0, just don't draw it.
SVN r3896 (scripting)
POSS A 10 A_Look
You can define it as:
POSS A random(10,20) A_Look
and the state will last a random duration between 10 and 20 tics, inclusive.
SVN r3847 (trunk)
- 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.)
SVN r3036 (trunk)
- 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.
SVN r3034 (trunk)
- Added new sprite #### and frame character # to specify the behavior of sprite ---- on a
per-sprite and per-frame basis respectively.
SVN r2291 (trunk)
instead of PClass::m_Types (now PClass::AllClasses).
- Removed ClassIndex from PClass. It was only needed by FArchive, and maps take care of the
problem just as well.
- Moved PClass into a larger type system (which is likely to change some/lots once I try and actually use it and have a better feel for what I need from it).
SVN r2281 (scripting)
This is compatibility optioned with COMPAT_STAIRINDEX. Also added a compatibility setting for
Eternal Doom MAP25 which relies on Doom's original broken behavior.
- added a few sanity checks for duplicate actor names in DECORATE. ZDoom will now print more warnings
and all crash cases should be properly handled but since this is still an error this will not work
properly in all circumstances. For example, if you have a duplicate name all classes that inherit
from the original definition will not survive a savegame if they reference a state belonging to that
class at the point of saving.
- Print 'tried to register class more than once' in red to highlight it.
- fixed: actors may not replace themselves.
SVN r2158 (trunk)
into the FastProjectile base class and removed the native MageWandMissile
class, using the generic functionality instead.
- Fixed: GetReplacement and GetReplacee always checked the skill definitions,
even if they weren't supposed to be used. It was also missing a range check
for 'gameskill'.
SVN r1894 (trunk)