From 39c2779fb2ca1f69e90573c2c6d60356f97cd6ef Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Wed, 24 Sep 2025 22:09:43 -0400 Subject: [PATCH] Duels end at 99 laps, high lapcount HUD safety --- src/k_hud.cpp | 6 ++++-- src/k_kart.h | 2 +- src/p_spec.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/k_hud.cpp b/src/k_hud.cpp index f0be5a26e..e28f780a9 100644 --- a/src/k_hud.cpp +++ b/src/k_hud.cpp @@ -7166,11 +7166,13 @@ static void K_drawLapStartAnim(void) oldval = (188 + (32 * std::max(0, progressOld - 76))) * FRACUNIT; interpx = R_InterpolateFixed(oldval, newval); + UINT32 sanitizedlaps = std::min((UINT32)99, (UINT32)stplyr->latestlap); + V_DrawFixedPatch( interpx, // 194 30*FRACUNIT, // 24 FRACUNIT, V_SNAPTOTOP|hudtransflags, - kp_lapanim_number[(((UINT32)stplyr->latestlap) / 10)][std::min(progress/2-8, 2)], NULL); + kp_lapanim_number[(sanitizedlaps / 10)][std::min(progress/2-8, 2)], NULL); if (progress/2-10 >= 0) { @@ -7182,7 +7184,7 @@ static void K_drawLapStartAnim(void) interpx, // 221 30*FRACUNIT, // 24 FRACUNIT, V_SNAPTOTOP|hudtransflags, - kp_lapanim_number[(((UINT32)stplyr->latestlap) % 10)][std::min(progress/2-10, 2)], NULL); + kp_lapanim_number[(sanitizedlaps % 10)][std::min(progress/2-10, 2)], NULL); } } } diff --git a/src/k_kart.h b/src/k_kart.h index ad084d6fa..569218d69 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -98,7 +98,7 @@ Make sure this matches the actual number of states #define FAILSAFETIME (4*TICRATE) #define DUELOVERTIME (cv_dueltimelimit.value) -#define DUELWINNINGSCORE (cv_duelscorelimit.value) +#define DUELWINNINGSCORE (999) #define MIN_WAVEDASH_CHARGE ((11*TICRATE/16)*9) diff --git a/src/p_spec.c b/src/p_spec.c index d604fa9b5..b4fcdaf68 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -2020,7 +2020,7 @@ static void K_HandleLapIncrement(player_t *player) } // finished race exit setup - if (player->laps > numlaps && !K_InRaceDuel()) + if (player->laps > numlaps) { pflags_t applyflags = 0; if (specialstageinfo.valid == true)