K_drawDistributionDebugger is NOT netsafe

This commit is contained in:
Ashnal 2024-08-19 19:48:02 -04:00
parent 5d2f5ac6c7
commit 155fe22bd7
3 changed files with 48 additions and 44 deletions

View file

@ -5698,46 +5698,46 @@ static void K_drawDistributionDebugger(void)
K_FillItemRouletteData(stplyr, &rouletteData, false); K_FillItemRouletteData(stplyr, &rouletteData, false);
// for (i = 0; i < rouletteData.itemListLen; i++) for (i = 0; i < rouletteData.itemListLen; i++)
// { {
// const kartitems_t item = static_cast<kartitems_t>(rouletteData.itemList[i]); const kartitems_t item = static_cast<kartitems_t>(rouletteData.itemList[i]);
// UINT8 amount = 1; UINT8 amount = 1;
// if (y > (BASEVIDHEIGHT << FRACBITS) - space - pad) if (y > (BASEVIDHEIGHT << FRACBITS) - space - pad)
// { {
// x += space; x += space;
// y = -pad; y = -pad;
// } }
// V_DrawFixedPatch(x, y, scale, V_SNAPTOTOP, V_DrawFixedPatch(x, y, scale, V_SNAPTOTOP,
// K_GetSmallStaticCachedItemPatch(item), NULL); K_GetSmallStaticCachedItemPatch(item), NULL);
// // Display amount for multi-items // Display amount for multi-items
// amount = K_ItemResultToAmount(item); amount = K_ItemResultToAmount(item);
// if (amount > 1) if (amount > 1)
// { {
// V_DrawStringScaled( V_DrawStringScaled(
// x + (18 * scale), x + (18 * scale),
// y + (23 * scale), y + (23 * scale),
// scale, FRACUNIT, FRACUNIT, scale, FRACUNIT, FRACUNIT,
// V_SNAPTOTOP, V_SNAPTOTOP,
// NULL, HU_FONT, NULL, HU_FONT,
// va("x%d", amount) va("x%d", amount)
// ); );
// } }
// y += space; y += space;
// } }
// V_DrawString((x >> FRACBITS) + 20, 2, V_SNAPTOTOP, va("useOdds[%u]", rouletteData.useOdds)); V_DrawString((x >> FRACBITS) + 20, 2, V_SNAPTOTOP, va("useOdds[%u]", rouletteData.useOdds));
// V_DrawString((x >> FRACBITS) + 20, 10, V_SNAPTOTOP, va("speed = %u", rouletteData.speed)); V_DrawString((x >> FRACBITS) + 20, 10, V_SNAPTOTOP, va("speed = %u", rouletteData.speed));
// V_DrawString((x >> FRACBITS) + 20, 22, V_SNAPTOTOP, va("baseDist = %u", rouletteData.baseDist)); V_DrawString((x >> FRACBITS) + 20, 22, V_SNAPTOTOP, va("baseDist = %u", rouletteData.baseDist));
// V_DrawString((x >> FRACBITS) + 20, 30, V_SNAPTOTOP, va("dist = %u", rouletteData.dist)); V_DrawString((x >> FRACBITS) + 20, 30, V_SNAPTOTOP, va("dist = %u", rouletteData.dist));
// V_DrawString((x >> FRACBITS) + 20, 42, V_SNAPTOTOP, va("firstDist = %u", rouletteData.firstDist)); V_DrawString((x >> FRACBITS) + 20, 42, V_SNAPTOTOP, va("firstDist = %u", rouletteData.firstDist));
// V_DrawString((x >> FRACBITS) + 20, 50, V_SNAPTOTOP, va("secondDist = %u", rouletteData.secondDist)); V_DrawString((x >> FRACBITS) + 20, 50, V_SNAPTOTOP, va("secondDist = %u", rouletteData.secondDist));
// V_DrawString((x >> FRACBITS) + 20, 58, V_SNAPTOTOP, va("secondToFirst = %u", rouletteData.secondToFirst)); V_DrawString((x >> FRACBITS) + 20, 58, V_SNAPTOTOP, va("secondToFirst = %u", rouletteData.secondToFirst));
if (rouletteData.preexpuseOdds > rouletteData.useOdds) if (rouletteData.preexpuseOdds > rouletteData.useOdds)
{ {
@ -5748,13 +5748,6 @@ static void K_drawDistributionDebugger(void)
V_DrawString((x >> FRACBITS) + 20, 10, V_SNAPTOTOP, va("items BOOSTED %u -> %u", rouletteData.preexpuseOdds, rouletteData.useOdds)); V_DrawString((x >> FRACBITS) + 20, 10, V_SNAPTOTOP, va("items BOOSTED %u -> %u", rouletteData.preexpuseOdds, rouletteData.useOdds));
} }
/*
V_DrawString((x >> FRACBITS) + 20, 10, V_SNAPTOTOP, va("pre-exp dist %u", rouletteData.preexpdist));
V_DrawString((x >> FRACBITS) + 20, 18, V_SNAPTOTOP, va("pre-exp useOdds %u", rouletteData.preexpuseOdds));
V_DrawString((x >> FRACBITS) + 20, 26, V_SNAPTOTOP, va(" dist %u", rouletteData.dist));
V_DrawString((x >> FRACBITS) + 20, 34, V_SNAPTOTOP, va(" useOdds %u", rouletteData.useOdds));
*/
#ifndef ITEM_LIST_SIZE #ifndef ITEM_LIST_SIZE
Z_Free(rouletteData.itemList); Z_Free(rouletteData.itemList);
#endif #endif
@ -6060,7 +6053,7 @@ void K_ClearPersistentMessages()
} }
// Return value can be used for "paired" splitscreen messages, true = was displayed // Return value can be used for "paired" splitscreen messages, true = was displayed
void K_AddMessageForPlayer(player_t *player, const char *msg, boolean interrupt, boolean persist) void K_AddMessageForPlayer(const player_t *player, const char *msg, boolean interrupt, boolean persist)
{ {
if (!player) if (!player)
return; return;
@ -6525,11 +6518,11 @@ void K_drawKartHUD(void)
K_drawInput(); K_drawInput();
} }
// if (cv_kartdebugdistribution.value) if (cv_kartdebugdistribution.value)
K_drawDistributionDebugger(); K_drawDistributionDebugger();
// temp debug // temp debug
V_DrawString(8, 2, V_SNAPTOTOP, va("Exp/Dist mult: %.2f", FixedToFloat(stplyr->exp))); V_DrawSmallString(8, 2, V_SNAPTOTOP, va("Exp/Dist mult: %.2f", FixedToFloat(stplyr->exp)));
// V_DrawSmallString(8, 4, V_SNAPTOTOP, va("Exp/Dist mult: %.2f", FixedToFloat(stplyr->exp))); // V_DrawSmallString(8, 4, V_SNAPTOTOP, va("Exp/Dist mult: %.2f", FixedToFloat(stplyr->exp)));
if (cv_kartdebugnodes.value) if (cv_kartdebugnodes.value)

View file

@ -101,7 +101,7 @@ extern patch_t *kp_facenum[MAXPLAYERS+1];
extern patch_t *kp_unknownminimap; extern patch_t *kp_unknownminimap;
void K_AddMessage(const char *msg, boolean interrupt, boolean persist); void K_AddMessage(const char *msg, boolean interrupt, boolean persist);
void K_AddMessageForPlayer(player_t *player, const char *msg, boolean interrupt, boolean persist); void K_AddMessageForPlayer(const player_t *player, const char *msg, boolean interrupt, boolean persist);
void K_ClearPersistentMessages(void); void K_ClearPersistentMessages(void);
void K_ClearPersistentMessageForPlayer(player_t *player); void K_ClearPersistentMessageForPlayer(player_t *player);
void K_TickMessages(void); void K_TickMessages(void);

View file

@ -1493,6 +1493,17 @@ void K_FillItemRouletteData(const player_t *player, itemroulette_t *const roulet
roulette->dist = FixedMul(roulette->preexpdist, max(player->exp, FRACUNIT/2)); roulette->dist = FixedMul(roulette->preexpdist, max(player->exp, FRACUNIT/2));
roulette->useOdds = K_FindUseodds(player, roulette); roulette->useOdds = K_FindUseodds(player, roulette);
if (roulette->preexpuseOdds > roulette->useOdds)
{
K_AddMessageForPlayer(player, va("items NERFED %u -> %u", roulette->preexpuseOdds, roulette->useOdds), true, false);
CONS_Printf("%s items NERFED %u -> %u", player_names[player - players], roulette->preexpuseOdds, roulette->useOdds);
}
else if (roulette->preexpuseOdds < roulette->useOdds)
{
K_AddMessageForPlayer(player, va("items BOOSTED %u -> %u", roulette->preexpuseOdds, roulette->useOdds), true, false);
CONS_Printf("%s items BOOSTED %u -> %u", player_names[player - players], roulette->preexpuseOdds, roulette->useOdds);
}
for (i = 1; i < NUMKARTRESULTS; i++) for (i = 1; i < NUMKARTRESULTS; i++)
{ {
spawnChance[i] = ( spawnChance[i] = (