Strict Fastfall: review fixups

This commit is contained in:
Antonio Martinez 2025-05-11 17:58:44 -07:00
parent 90c28dc2d9
commit 654f25f684
3 changed files with 14 additions and 5 deletions

View file

@ -1178,6 +1178,12 @@ enum {
WP_SELFMUTE = 1<<5,
WP_SELFDEAFEN = 1<<6,
WP_STRICTFASTFALL = 1<<7,
// WARNING: STUPID LEGACY TIMEWASTER AHEAD
// IF YOU ARE ADDING OR MODIFYING WEAPONPREFS, YOU MUST
// PRESERVE THEM IN G_PlayerReborn -- OTHERWISE THEY
// WILL MYSTERIOUSLY VANISH AFTER ONE RACE
//
// HOURS LOST TO G_PlayerReborn: UNCOUNTABLE
};
void WeaponPref_Send(UINT8 ssplayer)
@ -1239,6 +1245,9 @@ void WeaponPref_Save(UINT8 **cp, INT32 playernum)
if (player->pflags & PF_AUTORING)
prefs |= WP_AUTORING;
if (player->pflags & PF2_STRICTFASTFALL)
prefs |= WP_STRICTFASTFALL;
WRITEUINT8(*cp, prefs);
}

View file

@ -2349,7 +2349,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
xtralife = players[player].xtralife;
pflags = (players[player].pflags & (PF_WANTSTOJOIN|PF_KICKSTARTACCEL|PF_SHRINKME|PF_SHRINKACTIVE|PF_AUTOROULETTE|PF_ANALOGSTICK|PF_AUTORING));
pflags2 = (players[player].pflags2 & (PF2_SELFMUTE | PF2_SELFDEAFEN | PF2_SERVERMUTE | PF2_SERVERDEAFEN));
pflags2 = (players[player].pflags2 & (PF2_SELFMUTE | PF2_SELFDEAFEN | PF2_SERVERMUTE | PF2_SERVERDEAFEN | PF2_STRICTFASTFALL));
// SRB2kart
memcpy(&itemRoulette, &players[player].itemRoulette, sizeof (itemRoulette));

View file

@ -12614,12 +12614,12 @@ static void K_KartSpindash(player_t *player)
if (player->pflags & PF_NOFASTFALL)
return;
if (player->pflags2 & PF2_STRICTFASTFALL)
if (!(player->cmd.buttons & BT_SPINDASH))
return;
if (player->fastfall == 0)
{
if (player->pflags2 & PF2_STRICTFASTFALL)
if (!(player->cmd.buttons & BT_SPINDASH))
return;
// Factors 3D momentum.
player->fastfallBase = FixedHypot(player->speed, player->mo->momz);
}