* Add FALLDAMAGE flag and add property to properly apply falling damage to the monsters
* Change name of propermonsterdamage property to propermonsterfallingdamage
# Conflicts:
# src/gamedata/g_mapinfo.h
# src/p_mobj.cpp
It's possible for an actor to call Destroy() in a ZScript method (such
as Tick()) and then subsequently call A_StartSound() to play a sound.
Generally speaking this doesn't happen within a given class, but with a
class hierarchy, Destroy() may be called unbeknownst to a mod developer.
Even though checking bDestroyed is likely good practice, this ensures
that sounds won't be started on actors flagged for cleanup.
# Conflicts:
# src/sound/s_doomsound.cpp
- If the hint text portion of a STRINGS lump entry begins with a '$', the value is treated as a string table lookup
Allows SECRETS strings to be translated via LANGUAGE lump. Reference: https://forum.zdoom.org/viewtopic.php?f=15&t=69827
# Conflicts:
# src/c_cmds.cpp
src\common\audio\sound\s_sound.cpp(556,27): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
src\scripting\vmthunks.cpp(2678,13): warning C4244: 'return': conversion from 'time_t' to 'int', possible loss of data
src/console/c_cmds.cpp:690:11: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
src/scripting/vmthunks.cpp:2698:21: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
* Simplified some stuff, made up-to-date
* Dealt with DST problems
* Made SystemTime.Format clearscope, as there is no reason for this function to be limited to the ui
# Conflicts:
# wadsrc/static/zscript/ui/statusbar/alt_hud.zs
* Added ViewAngle/Pitch/Roll properties to actors.
- These are offsets for camera angles that allow turning the camera without affecting aim or movement direction.
- Added A_SetView<Angle/Pitch/Roll>, which will set the view direction.
- Added ABSVIEWANGLES flag, used to make the view absolute instead of an offset.
* Converted functions to be direct-native.
- If the actor passed into the function has THRUACTORS, PIT_CheckThing won't be called anymore.
- Moved THRUACTORS check to just under the self clipping check in PIT_CheckThing.
Resizing of portal arrays during serialization could lead to processing of junk data
https://forum.zdoom.org/viewtopic.php?t=67494
# Conflicts:
# src/maploader/specials.cpp
# src/portal.cpp
# Conflicts:
# src/portal.h
Inventory items had dangling floor and ceiling sector pointers after transition to a new level
This could cause random issues with serialization
https://forum.zdoom.org/viewtopic.php?t=67494
Added new compatflag "old random generator", controlled by the new CVAR compat_oldrandom. If this is enabled, the original Doom random table is used to generate random integers in [0,255], which should make for instance the SSG cause a little more damage.
This is a quick fix for an error in which Animated Doors crash the game by trying to check "actor->player" when "actor" itself is NULL. Deleting the check entirely also worked, but I worried it might be there for some higher-level scripting reason. This just puts in a check to make sure actor isn't NULL before checking actor->player, and keeps the behavior in that case the same.
I think this was happening because I had doors being opened by projectiles (like in Metroid) which were being despawned into NULL pointers when they hit the doors, as this was an issue when initially programming said doors..
- 1: The missile will continue moving through the actor, and it's down to the modder to handle bouncing.
- 0: The missile will explode.
- Any other value will process a bouncing actor as normally done in the engine.
- Sets the direct pitch of the sound to the specific float. Default is 0.0, meaning do not set a specific pitch. Regular pitch is 1.0.
- Only works for direct sound definitions.
- Overrides $PitchShift unless value is <= 0.0
- Overridden by A_StartSound's pitch parameter if the value > 0.0.
* 0: previous behavior (completely MAPINFO controlled)
* 1: always show level tally at the end of an episode
* 2: always show level tally even when changing levels within a hub
# Conflicts:
# src/g_level.cpp
# src/g_levellocals.h
# Conflicts:
# src/g_level.cpp
The option effectively disables per frame mouse checks.
The motivation to add it was that many wireless mice 10-15 years ago had update rates of less than 35Hz, and on these it was necessary to sync mouse input with the playsim to properly interpolate between updates.
Today this is totally useless and even counterproductive because modern mice have significantly higher update rates, so this option no longer smoothes things but instead makes the mouse feel more choppy.
This gets called right before the level ends, any sound in here would play during the intermission or at the start of the next level.
# Conflicts:
# src/sound/s_soundinternal.h
With CHANF_OVERLAP this isn't needed anymore - any sound started on CHAN_AUTO can actually play on this channel with overlap implicitly allowed.
This has the added advantage that these sounds can be reliably accessed with other function by using CHAN_AUTO.
# Conflicts:
# src/v_2ddrawer.cpp
Normally this won't be noticable, the only exception is if the last processed 3D floor had additive translucency and colored fog - this case is special because for additive rendering the fog color needs to be disabled.
# Conflicts:
# src/gl/scene/gl_walls.cpp
Neither the setup nor the in-game checks were correct, because this code comes from a time where ceilings could not have a terrain, meaning that 3D floors couldn't have one.
This simulates a feature found in Crispy Doom, which keeps the
weapon bobbing while firing. This leads to a "smoother" appearance
which may look a bit prettier to some people.
The default value of 0 preserves the old behavior.