Compat level guarding

This commit is contained in:
Ashnal 2024-05-04 14:24:44 -04:00
parent c26455d8b4
commit f74280ad0a
2 changed files with 10 additions and 2 deletions

View file

@ -166,8 +166,12 @@ demoghost *ghosts = NULL;
// - A bug was preventing control after ending a drift.
// Older behavior is kept around for staff ghost compat.
// - Also, polyobject bounce-back was fixed!
// - 0x000B (Ring Racers v2.1 + In dev revisions)
// - SPB cup TA replays were recorded at this time
// - Slope physics changed with a scaling fix
// - 0x000C (Ring Racers v2.2)
#define DEMOVERSION 0x000B
#define DEMOVERSION 0x000C
boolean G_CompatLevel(UINT16 level)
{

View file

@ -1917,7 +1917,11 @@ static void P_3dMovement(player_t *player)
vector3_t totalthrust;
totalthrust.x = totalthrust.y = 0; // I forget if this is needed
totalthrust.z = FixedMul(mapobjectscale, K_GrowShrinkSpeedMul(player))*P_MobjFlip(player->mo)/3; // A bit of extra push-back on slopes
if (G_CompatLevel(0x000B)) // Ring Racers 2.1 behavior
totalthrust.z = FRACUNIT*P_MobjFlip(player->mo)/3; // A bit of extra push-back on slopes
else
totalthrust.z = FixedMul(mapobjectscale, K_GrowShrinkSpeedMul(player))*P_MobjFlip(player->mo)/3; // A bit of extra push-back on slopes
if (K_SlopeResistance(player) == true)
{