Make kickstartaccel a UINT8 instead of an INT32 kartstuff entry.

This commit is contained in:
toaster 2021-02-21 18:08:04 +00:00
parent f71741f557
commit d039b14aa4
6 changed files with 20 additions and 16 deletions

View file

@ -295,9 +295,6 @@ typedef enum
#undef KSPIN_TYPE
} kartspinoutflags_t;
// for k_kickstartaccel
#define ACCEL_KICKSTART 35
//{ SRB2kart - kartstuff
typedef enum
{
@ -398,7 +395,6 @@ typedef enum
k_springcolor, // Color of spring stars
k_killfield, // How long have you been in the kill field, stay in too long and lose a bumper
k_wrongway, // Display WRONG WAY on screen
k_kickstartaccel, // how long you've been holding accel for, for PF_KICKSTARTACCEL
NUMKARTSTUFF
} kartstufftype_t;
@ -451,6 +447,9 @@ typedef enum
//}
// for kickstartaccel
#define ACCEL_KICKSTART 35
// player_t struct for all respawn variables
typedef struct respawnvars_s
{
@ -701,6 +700,8 @@ typedef struct player_s
UINT8 typing_timer; // Counts down while keystrokes are not emitted
UINT8 typing_duration; // How long since resumed timer
UINT8 kickstartaccel;
#ifdef HWRENDER
fixed_t fovadd; // adjust FOV for hw rendering
#endif

View file

@ -11048,8 +11048,7 @@ static const char *const KARTSTUFF_LIST[] = {
"SPRINGSTARS",
"SPRINGCOLOR",
"KILLFIELD",
"WRONGWAY",
"KICKSTARTACCEL"
"WRONGWAY"
};
static const char *const KARTHUD_LIST[] = {

View file

@ -1016,7 +1016,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
cmd->buttons |= (BT_ACCELERATE|BT_REALACCELERATE);
forward = MAXPLMOVE; // 50
}
else if ((gamestate == GS_LEVEL) && (player->kartstuff[k_sneakertimer] || (player->kartstuff[k_kickstartaccel] >= ACCEL_KICKSTART)))
else if ((gamestate == GS_LEVEL) && (player->kartstuff[k_sneakertimer] || (player->kickstartaccel >= ACCEL_KICKSTART)))
{
cmd->buttons |= BT_ACCELERATE;
forward = MAXPLMOVE;
@ -2240,7 +2240,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
spheres = players[player].spheres;
eliminated = players[player].eliminated;
wanted = players[player].kartstuff[k_wanted];
kickstartaccel = players[player].kartstuff[k_kickstartaccel];
kickstartaccel = players[player].kickstartaccel;
}
if (!betweenmaps)
@ -2314,7 +2314,7 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
p->kartstuff[k_lastdraft] = -1;
p->karthud[khud_fault] = khudfault;
p->powers[pw_nocontrol] = nocontrol;
players[player].kartstuff[k_kickstartaccel] = kickstartaccel;
p->kickstartaccel = kickstartaccel;
memcpy(&p->respawn, &respawn, sizeof (p->respawn));

View file

@ -2252,7 +2252,7 @@ static void K_drawKartSpeedometer(void)
if (stplyr->pflags & PF_KICKSTARTACCEL)
{
numbers[0] = 7-(stplyr->kartstuff[k_kickstartaccel]*7)/ACCEL_KICKSTART;
numbers[0] = 7-(stplyr->kickstartaccel*7)/ACCEL_KICKSTART;
numbers[1] = 7;
numbers[2] = 0;

View file

@ -280,6 +280,8 @@ static void P_NetArchivePlayers(void)
WRITEUINT8(save_p, players[i].typing_timer);
WRITEUINT8(save_p, players[i].typing_duration);
WRITEUINT8(save_p, players[i].kickstartaccel);
// respawnvars_t
WRITEUINT8(save_p, players[i].respawn.state);
WRITEUINT32(save_p, K_GetWaypointHeapIndex(players[i].respawn.wp));
@ -489,6 +491,8 @@ static void P_NetUnArchivePlayers(void)
players[i].typing_timer = READUINT8(save_p);
players[i].typing_duration = READUINT8(save_p);
players[i].kickstartaccel = READUINT8(save_p);
// respawnvars_t
players[i].respawn.state = READUINT8(save_p);
players[i].respawn.wp = (waypoint_t *)(size_t)READUINT32(save_p);

View file

@ -4326,16 +4326,16 @@ void P_PlayerThink(player_t *player)
// Accessibility - kickstart your acceleration
if (!(player->pflags & PF_KICKSTARTACCEL))
player->kartstuff[k_kickstartaccel] = 0;
player->kickstartaccel = 0;
else if (cmd->buttons & BT_REALACCELERATE)
{
if (!(player->pflags & PF_ACCELDOWN))
player->kartstuff[k_kickstartaccel] = 0;
else if (player->kartstuff[k_kickstartaccel] < ACCEL_KICKSTART)
player->kartstuff[k_kickstartaccel]++;
player->kickstartaccel = 0;
else if (player->kickstartaccel < ACCEL_KICKSTART)
player->kickstartaccel++;
}
else if (player->kartstuff[k_kickstartaccel] < ACCEL_KICKSTART)
player->kartstuff[k_kickstartaccel] = 0;
else if (player->kickstartaccel < ACCEL_KICKSTART)
player->kickstartaccel = 0;
#ifdef PARANOIA
if (player->playerstate == PST_REBORN)