bring back snapshot system
This commit is contained in:
parent
2327f02529
commit
ea408ff188
5 changed files with 14 additions and 3 deletions
|
|
@ -675,6 +675,7 @@ consvar_t cv_kartairsquish = CVAR_INIT ("kartairsquish", "None", CV_NETVAR, kart
|
|||
consvar_t cv_kartdebugshrink = CVAR_INIT ("kartdebugshrink", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartdrift_operationorder = CVAR_INIT ("kartdriftoperationorder", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
|
||||
consvar_t cv_kartdrift_snapshot = CVAR_INIT ("kartdriftsnapshot", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartdebugdistribution = CVAR_INIT ("kartdebugdistribution", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
|
||||
consvar_t cv_kartdebughuddrop = CVAR_INIT ("kartdebughuddrop", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ extern consvar_t cv_votetime;
|
|||
|
||||
extern consvar_t cv_kartdebugitem, cv_kartdebugamount, cv_kartdebugdistribution, cv_kartdebughuddrop;
|
||||
extern consvar_t cv_kartdebugshrink;
|
||||
extern consvar_t cv_kartdrift_operationorder;
|
||||
extern consvar_t cv_kartdrift_operationorder, cv_kartdrift_snapshot;
|
||||
extern consvar_t cv_kartdebugcheckpoint, cv_kartdebugnodes, cv_kartdebugcolorize, cv_kartdebugdirector;
|
||||
extern consvar_t cv_kartdebugwaypoints, cv_kartdebuglap, cv_kartdebugbot, cv_kartdebugcluster, cv_kartdebugrings;
|
||||
extern consvar_t cv_gptest;
|
||||
|
|
|
|||
|
|
@ -567,6 +567,7 @@ struct player_t
|
|||
boolean noclip; // Fix Grow breaking the "noclip" cheat. Also applies noclip as a bonus.
|
||||
|
||||
SINT8 drift; // (-5 to 5) - Drifting Left or Right, plus a bigger counter = sharper turn
|
||||
INT16 driftturnsnapshot;
|
||||
SINT8 driftlock; // Prevents you from using drift angle for x tics. Used for zipper fix.
|
||||
fixed_t driftcharge; // Charge your drift so you can release a burst of speed
|
||||
UINT8 driftboost; // (0 to 125) - Boost you get from drifting
|
||||
|
|
|
|||
12
src/k_kart.c
12
src/k_kart.c
|
|
@ -454,6 +454,7 @@ void K_RegisterKartStuff(void)
|
|||
CV_RegisterVar(&cv_karteggmine_slotbrick);
|
||||
|
||||
CV_RegisterVar(&cv_kartdrift_operationorder);
|
||||
CV_RegisterVar(&cv_kartdrift_snapshot);
|
||||
}
|
||||
|
||||
//}
|
||||
|
|
@ -7577,10 +7578,12 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
|||
if (cmd->buttons & BT_DRIFT)
|
||||
{
|
||||
player->pflags |= PF_DRIFTINPUT;
|
||||
player->driftturnsnapshot = player->cmd.turning;
|
||||
}
|
||||
else
|
||||
{
|
||||
player->pflags &= ~PF_DRIFTINPUT;
|
||||
player->driftturnsnapshot = player->cmd.turning;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -9368,14 +9371,19 @@ static void K_KartDrift(player_t *player, boolean onground)
|
|||
player->driftcharge = 0;
|
||||
}
|
||||
|
||||
// drift-turn snapshot experiment disabled, drop the snapshot and use the turning value from this tick
|
||||
if (!cv_kartdrift_snapshot.value)
|
||||
{
|
||||
player->driftturnsnapshot = player->cmd.turning;
|
||||
}
|
||||
// Drifting: left or right?
|
||||
if ((player->cmd.turning > 0) && player->speed > minspeed && (player->pflags & PF_DRIFTINPUT) && (player->drift == 0 || (player->pflags & PF_DRIFTEND)))
|
||||
if ((player->driftturnsnapshot > 0) && player->speed > minspeed && (player->pflags & PF_DRIFTINPUT) && (player->drift == 0 || (player->pflags & PF_DRIFTEND)))
|
||||
{
|
||||
// Starting left drift
|
||||
player->drift = 1;
|
||||
player->pflags &= ~PF_DRIFTEND;
|
||||
}
|
||||
else if ((player->cmd.turning < 0) && player->speed > minspeed && (player->pflags & PF_DRIFTINPUT) && (player->drift == 0 || (player->pflags & PF_DRIFTEND)))
|
||||
else if ((player->driftturnsnapshot < 0) && player->speed > minspeed && (player->pflags & PF_DRIFTINPUT) && (player->drift == 0 || (player->pflags & PF_DRIFTEND)))
|
||||
{
|
||||
// Starting right drift
|
||||
player->drift = -1;
|
||||
|
|
|
|||
|
|
@ -607,6 +607,7 @@ static void P_NetSyncPlayers(savebuffer_t *save)
|
|||
SYNCBOOLEAN(players[i].noclip);
|
||||
|
||||
SYNC(players[i].drift);
|
||||
SYNC(players[i].driftturnsnapshot);
|
||||
SYNC(players[i].driftlock);
|
||||
SYNC(players[i].driftcharge);
|
||||
SYNC(players[i].driftboost);
|
||||
|
|
|
|||
Loading…
Reference in a new issue