/ ir scores on leaderboard being out of order in some cases

This commit is contained in:
FajsiEx 2021-12-14 20:23:45 +01:00
parent d9f8944e89
commit 86af520c92
1 changed files with 10 additions and 6 deletions

View File

@ -570,26 +570,30 @@ function drawIrLeaderboard()
gfx.Text("IR TOP", scoreBoardX + (sbBarWidth / 2), scoreBoardY + sbBarHeight/2); gfx.Text("IR TOP", scoreBoardX + (sbBarWidth / 2), scoreBoardY + sbBarHeight/2);
for i = 1, 4, 1 do for i = 1, 4, 1 do
local irScore = irLeaderboard[i];
gfx.BeginPath(); gfx.BeginPath();
gfx.ImageRect(scoreBoardX, scoreBoardY + i*sbBarHeight, sbBarWidth, sbBarHeight, scoreBoardBarBgImage, 1, 0); gfx.ImageRect(scoreBoardX, scoreBoardY + i*sbBarHeight, sbBarWidth, sbBarHeight, scoreBoardBarBgImage, 1, 0);
end
-- Becuase the scores are in "random order", we have to do this
for i = 1, 4, 1 do
local irScore = irLeaderboard[i];
if irScore then if irScore then
local rank = irScore.ranking
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE) gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE)
gfx.BeginPath(); gfx.BeginPath();
gfx.Text(LEADERBOARD_PLACE_NAMES[i], sbBarContentLeftX-40, scoreBoardY + sbBarHeight/2 + i*sbBarHeight); gfx.Text(LEADERBOARD_PLACE_NAMES[rank], sbBarContentLeftX-40, scoreBoardY + sbBarHeight/2 + rank*sbBarHeight);
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE) gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
gfx.BeginPath(); gfx.BeginPath();
gfx.Text(string.upper(irScore.username), sbBarContentLeftX, scoreBoardY + sbBarHeight/2 + i*sbBarHeight); gfx.Text(string.upper(irScore.username), sbBarContentLeftX, scoreBoardY + sbBarHeight/2 + rank*sbBarHeight);
gfx.BeginPath(); gfx.BeginPath();
gfx.Text(string.format("%d", irScore.score), sbBarContentRightX, scoreBoardY + sbBarHeight/2 + i*sbBarHeight); gfx.Text(string.format("%d", irScore.score), sbBarContentRightX, scoreBoardY + sbBarHeight/2 + rank*sbBarHeight);
local badgeImage = badgeImages[irScore.lamp+1]; local badgeImage = badgeImages[irScore.lamp+1];
gfx.BeginPath() gfx.BeginPath()
gfx.ImageRect(scoreBoardX + sbBarWidth - 50, scoreBoardY + sbBarHeight/2 + i*sbBarHeight - 12.5, 31.6, 27.6, badgeImage, 1, 0) gfx.ImageRect(scoreBoardX + sbBarWidth - 50, scoreBoardY + sbBarHeight/2 + rank*sbBarHeight - 12.5, 31.6, 27.6, badgeImage, 1, 0)
end end
end end
end end