diff --git a/src/k_hud.cpp b/src/k_hud.cpp index 09149d92a..7b0be3043 100644 --- a/src/k_hud.cpp +++ b/src/k_hud.cpp @@ -7311,7 +7311,21 @@ static void K_drawDistributionDebugger(void) return; } - K_FillItemRouletteData(stplyr, &rouletteData, false, true); + { + // GROSS GROSS GROSS GROSS copypaste from K_FillItemRoulette + // but without the potential for Lua side-effects etc. + // This sucks the ass. + K_InitRoulette(&rouletteData); + + rouletteData.baseDist = K_UndoMapScaling(stplyr->distancetofinish); + + if (stplyr->pflags & PF_AUTOROULETTE) + rouletteData.autoroulette = true; + + K_CalculateRouletteSpeed(&rouletteData); + + K_FillItemRouletteData(stplyr, &rouletteData, false, true); + } if (cv_kartdebugdistribution.value <= 1) return; diff --git a/src/k_roulette.c b/src/k_roulette.c index bfbe1ba73..e1e31dbfc 100644 --- a/src/k_roulette.c +++ b/src/k_roulette.c @@ -735,7 +735,7 @@ boolean K_ForcedSPB(const player_t *player, itemroulette_t *const roulette) Return:- N/A --------------------------------------------------*/ -static void K_InitRoulette(itemroulette_t *const roulette) +void K_InitRoulette(itemroulette_t *const roulette) { size_t i; diff --git a/src/k_roulette.h b/src/k_roulette.h index 6473d43a1..167c4baa9 100644 --- a/src/k_roulette.h +++ b/src/k_roulette.h @@ -138,6 +138,19 @@ UINT32 K_UndoMapScaling(UINT32 distance); N/A --------------------------------------------------*/ +void K_InitRoulette(itemroulette_t *const roulette); +/*-------------------------------------------------- + static void K_InitRoulette(itemroulette_t *const roulette) + + Initializes the data for a new item roulette. + + Input Arguments:- + roulette - The item roulette data to initialize. + + Return:- + N/A +--------------------------------------------------*/ + void K_PushToRouletteItemList(itemroulette_t *const roulette, INT32 item); /*--------------------------------------------------