Set actual firstDist for Special Stages

Fixes wild roulette speed
This commit is contained in:
Sally Coolatta 2022-12-18 01:00:28 -05:00
parent 6b542805c7
commit 9ba5a97aa4

View file

@ -897,19 +897,36 @@ static void K_InitRoulette(itemroulette_t *const roulette)
roulette->exiting++; roulette->exiting++;
} }
if (players[i].position == 1) if (specialStage.active == true)
{ {
roulette->firstDist = K_UndoMapScaling(players[i].distancetofinish); UINT32 dis = K_UndoMapScaling(players[i].distancetofinish);
if (dis < roulette->secondDist)
{
roulette->secondDist = dis;
}
} }
else
if (players[i].position == 2)
{ {
roulette->secondDist = K_UndoMapScaling(players[i].distancetofinish); if (players[i].position == 1)
{
roulette->firstDist = K_UndoMapScaling(players[i].distancetofinish);
}
if (players[i].position == 2)
{
roulette->secondDist = K_UndoMapScaling(players[i].distancetofinish);
}
} }
} }
if (specialStage.active == true)
{
roulette->firstDist = K_UndoMapScaling(K_GetSpecialUFODistance());
}
// Calculate 2nd's distance from 1st, for SPB // Calculate 2nd's distance from 1st, for SPB
if (roulette->firstDist != UINT32_MAX && roulette->secondDist != UINT32_MAX) if (roulette->firstDist != UINT32_MAX && roulette->secondDist != UINT32_MAX
&& roulette->secondDist > roulette->firstDist)
{ {
roulette->secondToFirst = roulette->secondDist - roulette->firstDist; roulette->secondToFirst = roulette->secondDist - roulette->firstDist;
roulette->secondToFirst = K_ScaleItemDistance(roulette->secondToFirst, 16 - roulette->playing); // Reversed scaling roulette->secondToFirst = K_ScaleItemDistance(roulette->secondToFirst, 16 - roulette->playing); // Reversed scaling