There are two options here - one only disables the vertical thrust and the other goes back fully to the original non-z-aware code.
Both options are settable through MAPINFO.
For the compatibility presets, the normal ones only disable the vertical thrust, the strict ones force use of the old code entirely.
# Conflicts:
# wadsrc/static/language.csv
- Allows grabbing the currently playing song, base order, and loop properties.
# Conflicts:
# wadsrc/static/zscript/base.zs
# Conflicts:
# wadsrc/static/zscript/base.zs
Passing something non-constant at compile time here is extremely dangerous, especially when users can replace those strings if they like.
It now uses FString::Substitute in all cases where something needs to be inserted into a template string.
This had two different flags that were checked totally inconsistently, and one was not even saved.
Moved everything into a few subfunctions so that these checks do not have to be scattered all over the code.
# Conflicts:
# src/actorinlines.h
# src/decallib.cpp
# src/g_levellocals.h
# src/hwrenderer/scene/hw_sprites.cpp
# src/p_mobj.cpp
# src/p_saveg.cpp
# src/p_user.cpp
# src/polyrenderer/scene/poly_particle.cpp
# src/scripting/vmthunks.cpp
# src/swrenderer/things/r_particle.cpp
# wadsrc/static/zscript/actors/player/player.zs
# wadsrc/static/zscript/base.zs
# Conflicts:
# src/g_levellocals.h
# src/hwrenderer/scene/hw_sprites.cpp
# wadsrc/static/zscript/base.txt
The script side cannot do anything useful with this, because most actions require parameters in global variables, so this is a first grade candidate for rogue mods to make the engine misbehave.
One sector in an underwater area of KDIZD Z1M3 got tagged with an incorrect Transfer_Heights effect which caused render glitches in that area.
There were also a few AddSectorTag calls without first clearing the sector's tags leading to potentially undefined behavior.
The text file
gzdoom/wadsrc/static/zscript/statscreen/statscreen.txt
is set to use strings called “$ENTERING” and “$FINISHED”, located in the language files, in intermission screens between levels in Heretic. However, these strings are named incorrectly in the language files, instead being written as “$WI_ENTERING” and “$WI_FINISHED” for some reason I’m unaware of. After renaming the original script, the ingame text shows up through what is written in the language files, as intended.
On a miscellaneous note: in GZDoom, the text between levels in Heretic says “Entering:”. In the DOS version, it says “Now entering:”. This is accurately reflected in the English language file, though, and thus faithful to the original when displayed ingame.
- Allows defining of what actor is replacing another for information.
- If multiple arachnotrons, a modder can attribute them as being a replacer of Arachnotron itself, allowing A_BossDeath and GetReplacee to work with it.
This is for user-made handlers for which the checksum is rather useless both for deciding whether to call the handler and for identifying the map.
# Conflicts:
# src/compatibility.cpp
# wadsrc/static/zscript/level_compatibility.txt
When player is picked up item that does morph, the corresponding toucher actor is changed in process
Previously, morhing item was removed from original actor leaving player's inventory in inconsistent state
https://forum.zdoom.org/viewtopic.php?t=63124