From d039b14aa42e1e3dd7938d465f8d352f8085d4d2 Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 21 Feb 2021 18:08:04 +0000 Subject: [PATCH] Make kickstartaccel a UINT8 instead of an INT32 kartstuff entry. --- src/d_player.h | 9 +++++---- src/dehacked.c | 3 +-- src/g_game.c | 6 +++--- src/k_hud.c | 2 +- src/p_saveg.c | 4 ++++ src/p_user.c | 12 ++++++------ 6 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/d_player.h b/src/d_player.h index 0016a2cac..b055f6d9f 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -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 diff --git a/src/dehacked.c b/src/dehacked.c index 8e3faba02..73f681fe4 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -11048,8 +11048,7 @@ static const char *const KARTSTUFF_LIST[] = { "SPRINGSTARS", "SPRINGCOLOR", "KILLFIELD", - "WRONGWAY", - "KICKSTARTACCEL" + "WRONGWAY" }; static const char *const KARTHUD_LIST[] = { diff --git a/src/g_game.c b/src/g_game.c index 8e076c2c4..93cbd0132 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -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)); diff --git a/src/k_hud.c b/src/k_hud.c index 9ab832c7b..f325d8135 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -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; diff --git a/src/p_saveg.c b/src/p_saveg.c index 367f21439..8f5a1c709 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -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); diff --git a/src/p_user.c b/src/p_user.c index 491fec1f2..a010e85b3 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -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)