Raze 1.8.0
- Exhumed: do raw serialization of FreeListArray.
- SW: fixed coolie death animation.
- Blood: fix ammo count for 2 items.
- Don't inline
M_Calloc()
calls because GCC is shit. - Duke/RR: fixed player dying when falling from great heights while god mode being on.
- Duke: Remove
incur_damage()
from dispatcher. - Duke: Use
checkp()
inParseState::parse()
to remove some duplicated code. - gave translations a dedicated scripted type.
- Exhumed: Return early in
movesprite()
if the actor's sector is null. - Exhumed: fix handling of angles for the queen's eggs when colliding with a wall.
- Exhumed: Clean up push factor in
runlist_CheckRadialDamage()
for players. - Exhumed: Always perform a range check on a sequence's length.
- Exhumed: fixed radial damage push factor.
- Exhumed: sanitize stupid implementation of UpdateEnemy and fixed bad use of it for the queen's eggs.
- Consolidate Exhumed's
nCamerapos
and SW'sDSWPlayer::si
into something insideDCorePlayer
. - bumped minimum OS version to 10.13 in .plist file
- Blood: draw the powerup overlay on the alt HUD as well.
- Duke: fixed breakable ceilings.
- renamed $conreserve to $resourceid.
- added some awful hackery to handle the different offsetting of Blood's native voxels vs. those imported via .DEF.
- Make some utilities in
vectors.h
available as constexpr. - Duke: fixed bad loop index in gamevar init code.
- cleaner handling of SW's panel sprites
- Base all player structs on a common base class.
- initial script exports for Blood, including some static data tables
- retrieve time in fillSummary.
- move kill/secret management into the shared code
- moved all Is***Sprite function to animatesprite.cpp because that's the only place they still get used from.
- Blood: get rid of the mirror struct and related data. This is a relic of Polymost.
- renamed atfields in gib.cpp
- took a hint from Blood-RE and replaced that awful reconstructed sorting function with the qsort call it most likely originally was.
- consider swvoxfil.txt a known name for SW mods.
- Duke: Fixed WT fallback for classic sounds in cases the user data does not exist.
- fixed clipping range of artificially split sectors.
- Exhumed: fixed sprite positioning issues
- Vulkan backend updated.
- zlib replaced with miniz.
- FileReader is now 64 bit capable.
- jpeg replaced with stb-image.
- fix incomplete palette generation for paletted rendering.
- added new Zoom variants of DukeDC and Vacation add ons.
- added WebP and QUI image support
- added missing cyrillic у (small U) for Blood's SmallFont
- fixed broken character fallback for cyrillic T.
- consolidated the 4 ReadSound functions.
- controller handling improvements
- use stb_sprintf.
- cleanup on the sound init code.
- macOS version detection overhaul.
- SW: remove redundant ; in sector object serializer.
- RRRA: Mama Jackalope's poison cloud did no damage
- -fixed: tilenum 0 is a valid image for flat and wall sprites.
- Blood: fixed bad scaling in viewBurnTime.
- RR: spawn the correct player class.
- remove lots of unneeded SAVE_CODE and SAVE_DATA declarations.
- SW: migrate state functions to the VM.
- give SW's sounds proper names and move their definition out of the EXE.
- fix crash in RR when dying with an item-less weapon.
- NOSHADOW flag.
- fixed missing handling for BADGUYSTAYPUT flag.
- fixed: The MVE player ignored the initial sound playing state.
- Duke: for camera textures, set
display_mirror
to 2, not 1. - Blood: clear gHitInfo when starting a level.
- Duke: clear resource ID when setting up the original sounds for World Tour.
- Duke/RR: Use the exact same trajectory for autoaiming and the actual attack hitscan for the pistol.
- Duke: Allow view tilting for RRRA vehicles on separate CVAR.
- Duke: Convert RRRA's vehicle HUD tilting to a DAngle.
- Allow roll input through the packet system, giving us 6DOF for VR usage, etc.
- check for NOGRAVITY in 'fall'.
- only declare the weapon gamevars for WW2GI.
- made fallspecial game independent and eliminated all the wrapping and callback weirdness with fall.
- clean out RRRA move flags in the CON parser for the other games.
- added map flags to enable RR's special sector types in Duke as well.
- use the symbolic constants for ST_160 and ST_161 in the last remaining places where they hadn't been put before.
- eliminated lots of direct tile references in spawn() calls.
- Exhumed: Change formula for
cl_exviewtilting 2
. - Exhumed: Move
UpdateCreepySounds()
intoMoveThings()
so its processing time can be clocked. - Exhumed: Move
bobangle
global into Player struct. - Exhumed: Move
updatePlayerTarget()
call back to main ticker loop. - Exhumed: Setup detection for Steam version.
- Exhumed: Sequence refactor
- Duke: fixed hitscan spread for enemies
- Add more GOG registry search paths
- Blood: display the charge meter for the dynamite also on the alternative HUD.
- renamed temp_data[0] to 'counter' and map temp_data[5] to the now free temp_data[0].
- migrate all script related info to the data stored in the actor classes.
- added the action, move and ai properties.
- got rid of the g_t pointer in the CON interpreter.
- moved actioncounter and curframe to a dedicated variable.
- refactored AI storage as well to not use ScriptCode anymore.
- moved 'move' data out of the ScriptCode array as well.
- moved actions out of the ScriptCode array and gave them a dedicated struct with meaningful member names.
- Exhumed: don't pass uninitialized data to the sound engine.
- Duke: fixed pitch calculation for explosion sounds.
- validate statnum before spawning an actor.
- Blood: fixed bad damage scaling in ConcussSprite
- cleaned up Duke's very broken kill count system.
- fixed swapped language IDs for Norwegian and Dutch.
- Allow disabling of level start/end cutscenes if a user desires.
- Update player camera angles right before drawing a frame.
- Move
invertmouse
CVARs into common code. - Blood: Fix missing input bit in
GameInteface::reapplyInputBits()
. - Duke/RRRA: Fix HUD tilting when reversing motorcycle backwards.
- Ensure
GameInput::Clear()
clears the entire object. - Don't loop through all joystick axes and zero them in
I_GetAxes()
. - Only scale the mouse input in
GameInput::processMovement()
, where it's needed. - Remove
GameInterface::getConsoleAngles()
, it's not needed anymore. - Make
scaleAdjust
a float since it's what's needed anyway. - Internalise
InputPacket
used in movement functions. - Move all mouse handling into
GameInput
class. - Initial conversion of game input into class
GameInput
. - Relocate
processCrouchToggle()
. - Rearrange bools in
processVehicleInput()
. - Move
PlayerAngles
constants into the class. - make RR's ingame thunder effect not depend on having seen one specific texture.
- Exported all of Duke's actors
- Exhumed: Backup actor location in
BuildAnubis()
. - Exhumed: Rename last argument in
seq_MoveSequence()
tonFrame
. - Duke: Ensure we backup player angles and not just pos when loading a save.
- Blood: Fix potential null actor access in
gi->CanSave()
. - Duke: Fix potential null actor access in
gi->CanSave()
. - Remove backend crouch toggle solution redeploy with Duke/Exhumed/Blood using new
ESyncBit
bit. - Inline the remainder of
InputState
methods. - Move remaining mouse CVARs from
inputstate.cpp
togameinput.cpp
. - Move
HIDInput
struct frominputstate.h
togameinput.h
. - Use an
FVector2
insideHIDInput
. - Eliminate the duplicate mouse storage since we have things in the right spot now.
- Move all mouse CVARs from
inputstate.cpp
togameinput.cpp
. - Move remaining CCMDs and non-inputstate related items to
gameinput.cpp
. - Stop passing
inputBuffer
around within gameinput.cpp since everything's local now. - Move
ApplyGlobalInput()
intogameinput.cpp
. - Make the turbo turn functions static within
gameinput.cpp
. - Move Duke's vehicle input processor into
gameinput.cpp
. - Duke: Make vehicle input code work generically for possible reusage.
- Duke: Merge vehicle input code into one function.
- Duke: Move RRRA vehicle tilting out of the input code and into the playsim.
- Remove the mouse input negation out of the event handler.
- Remove now-unneeded inline wrapper
getHidInput()
. - Recover two
ESyncBit
values for other uses.