From 1f1a6094b5a960db5e7882cbb9a91dbf5b36b8e8 Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Fri, 23 Nov 2018 15:45:46 -0500 Subject: [PATCH 1/3] Fix divide by 0 bug --- src/k_kart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/k_kart.c b/src/k_kart.c index 8bd08e264..4d389259b 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -800,7 +800,7 @@ static INT32 K_FindUseodds(player_t *player, fixed_t mashed, INT32 pingame, INT3 players[i].mo->y - player->mo->y), players[i].mo->z - player->mo->z) / mapheaderinfo[gamemap-1]->mobj_scale * (pingame - players[i].kartstuff[k_position]) - / ((pingame - 1) * (pingame + 1) / 3); + / max(1, ((pingame - 1) * (pingame + 1) / 3)); } #define SETUPDISTTABLE(odds, num) \ From 60c2550d7589f3a521d3c741a39d91472b55b7d7 Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Fri, 23 Nov 2018 16:00:21 -0500 Subject: [PATCH 2/3] Don't show "Attack or Protect" for spectators --- src/k_kart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/k_kart.c b/src/k_kart.c index 4d389259b..4403dd4a6 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -7365,7 +7365,7 @@ static void K_drawBattleFullscreen(void) else K_drawKartFinish(); } - else if (stplyr->kartstuff[k_bumper] <= 0 && stplyr->kartstuff[k_comebacktimer] && comeback) + else if (stplyr->kartstuff[k_bumper] <= 0 && stplyr->kartstuff[k_comebacktimer] && comeback && !stplyr->spectator) { UINT16 t = stplyr->kartstuff[k_comebacktimer]/(10*TICRATE); INT32 txoff, adjust = (splitscreen > 1) ? 4 : 6; // normal string is 8, kart string is 12, half of that for ease From 18c0d5d7bdde6f95bafe6921ddb45d99849f9d5e Mon Sep 17 00:00:00 2001 From: toaster Date: Sat, 24 Nov 2018 18:22:01 +0000 Subject: [PATCH 3/3] Fix a bug where zoomtubes could cause ridiculous acceleration (ie, because PF_SPINNING was applied, causing ridiculously low friction, and then no mechanism was able to remove it) --- src/p_spec.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/p_spec.c b/src/p_spec.c index 7a8f02056..6ac325cd9 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -4098,7 +4098,6 @@ DoneSection2: P_SetTarget(&player->mo->tracer, waypoint); player->speed = speed; player->pflags &= ~PF_SPINNING; // SRB2kart 200117 - player->pflags |= PF_SPINNING; player->pflags &= ~PF_JUMPED; player->pflags &= ~PF_GLIDING; player->climbing = 0; @@ -4176,7 +4175,6 @@ DoneSection2: P_SetTarget(&player->mo->tracer, waypoint); player->speed = speed; player->pflags &= ~PF_SPINNING; // SRB2kart 200117 - player->pflags |= PF_SPINNING; player->pflags &= ~PF_JUMPED; if (!(player->mo->state >= &states[S_KART_RUN1] && player->mo->state <= &states[S_KART_RUN2]))