* a few shorter fields were moved into alignment gaps
* the visible angles are now stored as floats. Since these are only used for rendering the loss of precision is negligible, but this shortens AActor by 16 bytes alone.
This is the last parameter for A_RadiusThrust() DECORATE function.
If it is omitted or none, then A_RadiusThrust will behave as usual.
If it is set for some species name, it witt thrust only that species.
Of course, these species should be +VULNERABLE to be thrustable.
* 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.
There were two booleans that could be merged into the flag word.
This also fixes a bug with CHAN_NOSTOP not working for local sounds because it checked the wrong sound source for the playing sound.
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.
The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
# Conflicts:
# src/bbannouncer.cpp
# src/fragglescript/t_func.cpp
# src/g_shared/a_lightning.cpp
# src/p_effect.cpp
# src/p_mobj.cpp
# src/p_switch.cpp
# src/playsim/p_spec.cpp
# src/sound/s_doomsound.cpp
# src/sound/s_doomsound.h
# wadsrc/static/zscript/base.zs
# Conflicts:
# src/intermission/intermission.cpp
# src/sound/s_doomsound.cpp
The game independent part of the code has been mostly isolated.
# Conflicts:
# src/sound/s_doomsound.cpp
# src/sound/s_sound.cpp
# src/sound/s_sound.h
# Conflicts:
# src/sound/s_sound.cpp
This was always used with 'consoleplayer' which really is the only thing making sense here. But this is a part of the global state which should be avoided in play code.
In particular, this makes no real sense in case of secondary maps where it should always return false.
# Conflicts:
# src/fragglescript/t_func.cpp
# src/g_inventory/a_keys.cpp
# src/p_acs.cpp
# src/p_mobj.cpp
# src/p_user.cpp
# src/r_data/r_interpolate.cpp
# src/r_data/r_interpolate.h
- Note: Because sound channels are not in zscript, there's no way to modify a sound made by S_Sound.
# Conflicts:
# src/s_sound.cpp
# wadsrc/static/zscript/base.zs