diff --git a/scripts/result.lua b/scripts/result.lua index 5c077a1..1fe1249 100644 --- a/scripts/result.lua +++ b/scripts/result.lua @@ -32,6 +32,17 @@ local gradeImages = { D = gfx.CreateSkinImage("score/D.png", 0), } +local difficultyLabelImages = { + gfx.CreateSkinImage("diff/1 novice.png", 0), + gfx.CreateSkinImage("diff/2 advanced.png", 0), + gfx.CreateSkinImage("diff/3 exhaust.png", 0), + gfx.CreateSkinImage("diff/4 maximum.png", 0), + gfx.CreateSkinImage("diff/5 infinite.png", 0), + gfx.CreateSkinImage("diff/6 gravity.png", 0), + gfx.CreateSkinImage("diff/7 heavenly.png", 0), + gfx.CreateSkinImage("diff/8 vivid.png", 0), +} + -- ANIMS local idolAnimation = gfx.LoadSkinAnimation('idol', 1/30, 0, false); @@ -90,14 +101,12 @@ end function drawTimingBar(y, value, max, type) gfx.BeginPath(); - local barAlpha = math.floor(Easing.outQuad(transitionEnterScale)*255) - if type == 'crit' then - gfx.FillColor(253,243,24,barAlpha); + gfx.FillColor(253,243,24,255); elseif type == 'early' then - gfx.FillColor(215,48,182,barAlpha); + gfx.FillColor(215,48,182,255); elseif type == 'late' then - gfx.FillColor(46,211,241,barAlpha); + gfx.FillColor(46,211,241,255); end gfx.Rect(rightPanelX+696,rightPanelY+y,293*(value/max), 8); @@ -160,14 +169,12 @@ local drawRightPanel = function() gfx.BeginPath(); local tw, th = gfx.ImageSize(rightPanelImage); - gfx.ImageRect(rightPanelX, rightPanelY, tw, th, rightPanelImage, - Easing.outQuad(transitionEnterScale), 0); + gfx.ImageRect(rightPanelX, rightPanelY, tw, th, rightPanelImage, 1, 0); end local scoreNumber = load_number_image("score_num"); local drawRightPanelContent = function() - -- Draw song name and artist gfx.FontSize(28) gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE) @@ -257,7 +264,7 @@ local drawBottomPanel = function() local tw, th = gfx.ImageSize(bottomPanelImage); gfx.ImageRect(bottomPanelX, bottomPanelY, tw, th, - bottomPanelImage, Easing.outQuad(transitionEnterScale), 0); + bottomPanelImage, 1, 0); end local drawBottomPanelContent = function () @@ -294,20 +301,26 @@ local drawJacketPanel = function() gfx.BeginPath(); local tw, th = gfx.ImageSize(jacketPanelImage); - gfx.ImageRect(jacketPanelX, jacketPanelY, tw, th, jacketPanelImage, - Easing.outQuad(transitionEnterScale), 0); + gfx.ImageRect(jacketPanelX, jacketPanelY, tw, th, jacketPanelImage, 1, 0); end local drawJacketPanelContent = function() gfx.BeginPath(); - gfx.ImageRect(jacketPanelX + 12, jacketPanelY + 26, 273, 273, jacketImage or defaultJacketImage, - Easing.outQuad(transitionEnterScale), 0); + gfx.ImageRect(jacketPanelX + 12, jacketPanelY + 26, 273, 273, jacketImage or defaultJacketImage, 1, 0); + + gfx.BeginPath(); + gfx.ImageRect(jacketPanelX + 188, jacketPanelY + 3, 140/1.5, 31/1.5, difficultyLabelImages[result.difficulty+1] or difficultyLabelImages[4], 1, 0); + + gfx.FontSize(17) + gfx.LoadSkinFont('Digital-Serial-Bold.ttf') + gfx.TextAlign(gfx.TEXT_ALIGN_RIGHT + gfx.TEXT_ALIGN_MIDDLE) + gfx.Text(result.level, jacketPanelX+270, jacketPanelY+14.5); end local tickTransitions = function(deltaTime) if transitionEnterScale < 1 then - transitionEnterScale = transitionEnterScale + deltaTime / 10 -- transition should last for 1s + transitionEnterScale = transitionEnterScale + deltaTime / 1.5 -- transition should last for 1.5s else transitionEnterScale = 1 end @@ -387,6 +400,8 @@ render = function(deltaTime, showStats) drawTopBar() + gfx.GlobalAlpha(Easing.outQuad(transitionEnterScale)) + drawBottomPanel() drawBottomPanelContent() @@ -396,6 +411,8 @@ render = function(deltaTime, showStats) drawJacketPanel() drawJacketPanelContent() + gfx.GlobalAlpha(1) + handleSfx() -- debug