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);
// for (i = 0; i < rouletteData.itemListLen; i++)
// {
// const kartitems_t item = static_cast<kartitems_t>(rouletteData.itemList[i]);
// UINT8 amount = 1;
for (i = 0; i < rouletteData.itemListLen; i++)
{
const kartitems_t item = static_cast<kartitems_t>(rouletteData.itemList[i]);
UINT8 amount = 1;
// if (y > (BASEVIDHEIGHT << FRACBITS) - space - pad)
// {
// x += space;
// y = -pad;
// }
if (y > (BASEVIDHEIGHT << FRACBITS) - space - pad)
{
x += space;
y = -pad;
}
// V_DrawFixedPatch(x, y, scale, V_SNAPTOTOP,
// K_GetSmallStaticCachedItemPatch(item), NULL);
V_DrawFixedPatch(x, y, scale, V_SNAPTOTOP,
K_GetSmallStaticCachedItemPatch(item), NULL);
// // Display amount for multi-items
// amount = K_ItemResultToAmount(item);
// if (amount > 1)
// {
// V_DrawStringScaled(
// x + (18 * scale),
// y + (23 * scale),
// scale, FRACUNIT, FRACUNIT,
// V_SNAPTOTOP,
// NULL, HU_FONT,
// va("x%d", amount)
// );
// }
// Display amount for multi-items
amount = K_ItemResultToAmount(item);
if (amount > 1)
{
V_DrawStringScaled(
x + (18 * scale),
y + (23 * scale),
scale, FRACUNIT, FRACUNIT,
V_SNAPTOTOP,
NULL, HU_FONT,
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, 10, V_SNAPTOTOP, va("speed = %u", rouletteData.speed));
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, 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, 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, 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, 58, V_SNAPTOTOP, va("secondToFirst = %u", rouletteData.secondToFirst));
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, 58, V_SNAPTOTOP, va("secondToFirst = %u", rouletteData.secondToFirst));
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("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
Z_Free(rouletteData.itemList);
#endif
@ -6060,7 +6053,7 @@ void K_ClearPersistentMessages()
}
// 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)
return;
@ -6525,11 +6518,11 @@ void K_drawKartHUD(void)
K_drawInput();
}
// if (cv_kartdebugdistribution.value)
if (cv_kartdebugdistribution.value)
K_drawDistributionDebugger();
// 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)));
if (cv_kartdebugnodes.value)

View file

@ -101,7 +101,7 @@ extern patch_t *kp_facenum[MAXPLAYERS+1];
extern patch_t *kp_unknownminimap;
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_ClearPersistentMessageForPlayer(player_t *player);
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->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++)
{
spawnChance[i] = (