mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
M_PopulateChallengeGrid: Since I actually got a scenario where two tiles weren't able to be populated, just do the rejiggering fix in a while loop.
This commit is contained in:
parent
a355445592
commit
d540921f78
1 changed files with 8 additions and 12 deletions
20
src/m_cond.c
20
src/m_cond.c
|
|
@ -213,7 +213,7 @@ quickcheckagain:
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (CHALLENGEGRIDHEIGHT == 4)
|
#if (CHALLENGEGRIDHEIGHT == 4)
|
||||||
if (nummajorunlocks == 1)
|
while (nummajorunlocks > 0)
|
||||||
{
|
{
|
||||||
UINT8 unlocktomoveup = MAXUNLOCKABLES;
|
UINT8 unlocktomoveup = MAXUNLOCKABLES;
|
||||||
|
|
||||||
|
|
@ -229,11 +229,7 @@ quickcheckagain:
|
||||||
|
|
||||||
if (i == j)
|
if (i == j)
|
||||||
{
|
{
|
||||||
UINT16 widthtoprint = gamedata->challengegridwidth;
|
break;
|
||||||
Z_Free(gamedata->challengegrid);
|
|
||||||
gamedata->challengegrid = NULL;
|
|
||||||
|
|
||||||
I_Error("M_PopulateChallengeGrid: was not able to populate one large tile even after trying again (width %d)", widthtoprint);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unlocktomoveup = gamedata->challengegrid[1 + (i*CHALLENGEGRIDHEIGHT)];
|
unlocktomoveup = gamedata->challengegrid[1 + (i*CHALLENGEGRIDHEIGHT)];
|
||||||
|
|
@ -248,17 +244,17 @@ quickcheckagain:
|
||||||
j = i + 1;
|
j = i + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nummajorunlocks--;
|
||||||
|
|
||||||
// Push one pair up.
|
// Push one pair up.
|
||||||
gamedata->challengegrid[(i*CHALLENGEGRIDHEIGHT)] = gamedata->challengegrid[(j*CHALLENGEGRIDHEIGHT)] = unlocktomoveup;
|
gamedata->challengegrid[(i*CHALLENGEGRIDHEIGHT)] = gamedata->challengegrid[(j*CHALLENGEGRIDHEIGHT)] = unlocktomoveup;
|
||||||
// Wedge the remaining four underneath.
|
// Wedge the remaining four underneath.
|
||||||
gamedata->challengegrid[2 + (i*CHALLENGEGRIDHEIGHT)] = gamedata->challengegrid[2 + (j*CHALLENGEGRIDHEIGHT)] = selection[1][0];
|
gamedata->challengegrid[2 + (i*CHALLENGEGRIDHEIGHT)] = gamedata->challengegrid[2 + (j*CHALLENGEGRIDHEIGHT)] = selection[1][nummajorunlocks];
|
||||||
gamedata->challengegrid[3 + (i*CHALLENGEGRIDHEIGHT)] = gamedata->challengegrid[3 + (j*CHALLENGEGRIDHEIGHT)] = selection[1][0];
|
gamedata->challengegrid[3 + (i*CHALLENGEGRIDHEIGHT)] = gamedata->challengegrid[3 + (j*CHALLENGEGRIDHEIGHT)] = selection[1][nummajorunlocks];
|
||||||
|
|
||||||
nummajorunlocks = 0;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
#endif
|
#endif
|
||||||
if (nummajorunlocks > 0)
|
|
||||||
|
if (nummajorunlocks > 0)
|
||||||
{
|
{
|
||||||
UINT16 widthtoprint = gamedata->challengegridwidth;
|
UINT16 widthtoprint = gamedata->challengegridwidth;
|
||||||
Z_Free(gamedata->challengegrid);
|
Z_Free(gamedata->challengegrid);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue