From 4c927b09d11bf72d4ad9191f611477c0b2a2be2a Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sun, 28 May 2023 15:12:08 -0700 Subject: [PATCH] Review fixup --- src/d_player.h | 2 +- src/k_kart.c | 19 +++++++++++++++---- src/objects/block.c | 2 +- src/objects/instawhip.c | 2 +- src/p_saveg.c | 4 ++-- 5 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/d_player.h b/src/d_player.h index f59a95356..fe39ea586 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -746,7 +746,7 @@ struct player_t UINT8 instaShieldCooldown; UINT8 guardCooldown; - UINT16 incontrol; + INT16 incontrol; // -1 to -175 when spinning out or tumbling, 1 to 175 when not. Use to check for combo hits or emergency inputs. uint8_t public_key[PUBKEYLENGTH]; diff --git a/src/k_kart.c b/src/k_kart.c index 207cea726..849f9b255 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -7812,7 +7812,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) // where's the < 0 check? see below the following block! { - tic_t spheredigestion = TICRATE*2; // Base rate of 1 every second when playing. + tic_t spheredigestion = TICRATE*2; // Base rate of 1 every 2 seconds when playing. tic_t digestionpower = ((10 - player->kartspeed) + (10 - player->kartweight))-1; // 1 to 17 // currently 0-34 @@ -7926,7 +7926,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) player->guardCooldown--; if (player->whip && P_MobjWasRemoved(player->whip)) - player->whip = NULL; + player->whip = P_SetTarget(&player->whip, NULL); if (player->startboost > 0 && onground == true) { @@ -8032,9 +8032,20 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) player->tiregrease--; if (player->spinouttimer || player->tumbleBounces) - player->incontrol = 0; + { + if (player->incontrol > 0) + player->incontrol = 0; + player->incontrol--; + } else + { + if (player->incontrol < 0) + player->incontrol = 0; player->incontrol++; + } + + player->incontrol = min(player->incontrol, 5*TICRATE); + player->incontrol = max(player->incontrol, -5*TICRATE); if (player->tumbleBounces > 0) { @@ -10626,7 +10637,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) player->guardCooldown = 50; S_StartSound(player->mo, sfx_iwhp); mobj_t *whip = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_INSTAWHIP); - player->whip = whip; + player->whip = P_SetTarget(&player->whip, whip); P_SetScale(whip, player->mo->scale); P_SetTarget(&whip->target, player->mo); K_MatchGenericExtraFlags(whip, player->mo); diff --git a/src/objects/block.c b/src/objects/block.c index 1d715ecbe..b2d70ed49 100644 --- a/src/objects/block.c +++ b/src/objects/block.c @@ -81,4 +81,4 @@ void Obj_GuardBreakThink (mobj_t *fx) fx->renderflags &= ~RF_DONTDRAW; else fx->renderflags |= RF_DONTDRAW; -} \ No newline at end of file +} diff --git a/src/objects/instawhip.c b/src/objects/instawhip.c index 4c711a8b0..f7abb9640 100644 --- a/src/objects/instawhip.c +++ b/src/objects/instawhip.c @@ -39,4 +39,4 @@ void Obj_InstaWhipThink (mobj_t *whip) if (whip->extravalue2) // Whip has no hitbox but removing it is a pain in the ass whip->renderflags |= RF_DONTDRAW; } -} \ No newline at end of file +} diff --git a/src/p_saveg.c b/src/p_saveg.c index 090951899..6a71bf4f1 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -428,7 +428,7 @@ static void P_NetArchivePlayers(savebuffer_t *save) WRITEUINT8(save->p, players[i].instaShieldCooldown); WRITEUINT8(save->p, players[i].guardCooldown); - WRITEUINT16(save->p, players[i].incontrol); + WRITEINT16(save->p, players[i].incontrol); // respawnvars_t WRITEUINT8(save->p, players[i].respawn.state); @@ -820,7 +820,7 @@ static void P_NetUnArchivePlayers(savebuffer_t *save) players[i].instaShieldCooldown = READUINT8(save->p); players[i].guardCooldown = READUINT8(save->p); - players[i].incontrol = READUINT16(save->p); + players[i].incontrol = READINT16(save->p); // respawnvars_t players[i].respawn.state = READUINT8(save->p);