+ best score and best score delta to results & / crash when chart has no jacket
This commit is contained in:
parent
d0042a11ad
commit
de7101682d
|
@ -13,7 +13,7 @@ local jacketPanelImage = gfx.CreateSkinImage("result/panels/jacket.png", 0);
|
|||
local rightPanelImage = gfx.CreateSkinImage("result/panels/right.png", 0);
|
||||
local bottomPanelImage = gfx.CreateSkinImage("result/panels/bottom.png", 0);
|
||||
|
||||
local jacketImage = gfx.CreateSkinImage("result/default_jacket.png", 0);
|
||||
local defaultJacketImage = gfx.CreateSkinImage("result/default_jacket.png", 0);
|
||||
|
||||
local gradeImages = {
|
||||
S = gfx.CreateSkinImage("score/S.png", 0),
|
||||
|
@ -44,6 +44,8 @@ local JACKET_PANEL_TRANSTION_ENTER_OFFSET = -128;
|
|||
local RIGHT_PANEL_TRANSTION_ENTER_OFFSET = 128;
|
||||
local BOTTOM_PANEL_TRANSTION_ENTER_OFFSET = 128;
|
||||
|
||||
local highScore;
|
||||
|
||||
local earlyLateBarsStats = {
|
||||
earlyErrors = 0,
|
||||
earlyNears = 0,
|
||||
|
@ -57,6 +59,7 @@ local objectTypeTimingStats = {
|
|||
vol = {criticals = 0, errors = 0}
|
||||
}
|
||||
|
||||
|
||||
game.LoadSkinSample("result")
|
||||
|
||||
function resetLayoutInformation()
|
||||
|
@ -172,11 +175,29 @@ local drawRightPanelContent = function()
|
|||
gfx.BeginPath();
|
||||
gfx.ImageRect(rightPanelX+890, rightPanelY+130, 85, 85, gradeImage, 1, 0);
|
||||
|
||||
-- Draw err/early/critical/late/err texts
|
||||
gfx.FontSize(24)
|
||||
-- Draw best score
|
||||
gfx.FontSize(20)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_RIGHT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
||||
|
||||
local highScoreScore = 0;
|
||||
if highScore then
|
||||
highScoreScore = highScore.score
|
||||
end
|
||||
|
||||
local highScoreDelta = result.score - highScoreScore
|
||||
local deltaPrefix = '-'
|
||||
if highScoreDelta > 0 then
|
||||
deltaPrefix = '+'
|
||||
end
|
||||
highScoreDelta = math.abs(highScoreDelta);
|
||||
|
||||
gfx.Text(string.format("%08d", highScoreScore), rightPanelX + 962, rightPanelY + 239);
|
||||
gfx.Text(deltaPrefix .. string.format("%08d", highScoreDelta), rightPanelX + 962, rightPanelY + 259);
|
||||
|
||||
-- Draw err/early/critical/late/err texts
|
||||
gfx.FontSize(24)
|
||||
|
||||
gfx.Text(earlyLateBarsStats.earlyErrors, rightPanelX + 683,
|
||||
rightPanelY + 370);
|
||||
gfx.Text(earlyLateBarsStats.earlyNears, rightPanelX + 683, rightPanelY + 401);
|
||||
|
@ -238,7 +259,7 @@ end
|
|||
|
||||
local drawJacketPanelContent = function()
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(jacketPanelX + 12, jacketPanelY + 26, 273, 273, jacketImage,
|
||||
gfx.ImageRect(jacketPanelX + 12, jacketPanelY + 26, 273, 273, jacketImage or defaultJacketImage,
|
||||
Easing.outQuad(transitionEnterScale), 0);
|
||||
end
|
||||
|
||||
|
@ -262,6 +283,8 @@ result_set = function()
|
|||
jacketImage = gfx.CreateImage(result.jacketPath, 0)
|
||||
end
|
||||
|
||||
highScore = result.highScores[1];
|
||||
|
||||
-- This only counts the "CHIP" objects, not LONGs or LAZERs
|
||||
for hitStatIndex = 1, #result.noteHitStats do
|
||||
local hitStat = result.noteHitStats[hitStatIndex];
|
||||
|
|
Loading…
Reference in New Issue