chalwheel: added completion badge and grade
This commit is contained in:
parent
67f6f70f7c
commit
46f0a9820a
|
@ -64,24 +64,24 @@ local legendTable = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
local grades = {
|
local grades = {
|
||||||
{ ["max"] = 6999999, ["image"] = gfx.CreateSkinImage("common/grades/D.png", 0) },
|
["D"] = gfx.CreateSkinImage("common/grades/D.png", 0),
|
||||||
{ ["max"] = 7999999, ["image"] = gfx.CreateSkinImage("common/grades/C.png", 0) },
|
["C"] = gfx.CreateSkinImage("common/grades/C.png", 0),
|
||||||
{ ["max"] = 8699999, ["image"] = gfx.CreateSkinImage("common/grades/B.png", 0) },
|
["B"] = gfx.CreateSkinImage("common/grades/B.png", 0),
|
||||||
{ ["max"] = 8999999, ["image"] = gfx.CreateSkinImage("common/grades/A.png", 0) },
|
["A"] = gfx.CreateSkinImage("common/grades/A.png", 0),
|
||||||
{ ["max"] = 9299999, ["image"] = gfx.CreateSkinImage("common/grades/A+.png", 0) },
|
["A+"] = gfx.CreateSkinImage("common/grades/A+.png", 0),
|
||||||
{ ["max"] = 9499999, ["image"] = gfx.CreateSkinImage("common/grades/AA.png", 0) },
|
["AA"] = gfx.CreateSkinImage("common/grades/AA.png", 0),
|
||||||
{ ["max"] = 9699999, ["image"] = gfx.CreateSkinImage("common/grades/AA+.png", 0) },
|
["AA+"] = gfx.CreateSkinImage("common/grades/AA+.png", 0),
|
||||||
{ ["max"] = 9799999, ["image"] = gfx.CreateSkinImage("common/grades/AAA.png", 0) },
|
["AAA"] = gfx.CreateSkinImage("common/grades/AAA.png", 0),
|
||||||
{ ["max"] = 9899999, ["image"] = gfx.CreateSkinImage("common/grades/AAA+.png", 0) },
|
["AAA+"] = gfx.CreateSkinImage("common/grades/AAA+.png", 0),
|
||||||
{ ["max"] = 99999999, ["image"] = gfx.CreateSkinImage("common/grades/S.png", 0) }
|
["S"] = gfx.CreateSkinImage("common/grades/S.png", 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
local badges = {
|
local badges = {
|
||||||
gfx.CreateSkinImage("song_select/medal/played.png", 1),
|
gfx.CreateSkinImage("song_select/medal/played.png", gfx.IMAGE_GENERATE_MIPMAPS),
|
||||||
gfx.CreateSkinImage("song_select/medal/clear.png", 1),
|
gfx.CreateSkinImage("song_select/medal/clear.png", gfx.IMAGE_GENERATE_MIPMAPS),
|
||||||
gfx.CreateSkinImage("song_select/medal/hard.png", 1),
|
gfx.CreateSkinImage("song_select/medal/hard.png", gfx.IMAGE_GENERATE_MIPMAPS),
|
||||||
gfx.CreateSkinImage("song_select/medal/uc.png", 1),
|
gfx.CreateSkinImage("song_select/medal/uc.png", gfx.IMAGE_GENERATE_MIPMAPS),
|
||||||
gfx.CreateSkinImage("song_select/medal/puc.png", 1)
|
gfx.CreateSkinImage("song_select/medal/puc.png", gfx.IMAGE_GENERATE_MIPMAPS)
|
||||||
}
|
}
|
||||||
|
|
||||||
local passStates = {
|
local passStates = {
|
||||||
|
@ -293,9 +293,19 @@ draw_challenge = function(challenge, x, y, w, h, selected)
|
||||||
local scoreUpperSize = 0.2 * textSizeCorrection
|
local scoreUpperSize = 0.2 * textSizeCorrection
|
||||||
local scoreSize = 0.125 * textSizeCorrection
|
local scoreSize = 0.125 * textSizeCorrection
|
||||||
|
|
||||||
|
local badgeOffsetX = x + 0.886 * w
|
||||||
|
local badgeOffsetY = y + 0.8 * h
|
||||||
|
local badgeSize = 0.155 * h
|
||||||
|
|
||||||
|
local gradeOffsetX = x + 0.933 * w
|
||||||
|
local gradeOffsetY = y + 0.798 * h
|
||||||
|
local gradeSize = 0.163 * h
|
||||||
|
|
||||||
local percent = challengeCache[challenge.id]["percent"]
|
local percent = challengeCache[challenge.id]["percent"]
|
||||||
local scoreUpper = math.floor(challengeCache[challenge.id]["total_score"] / 10000)
|
local scoreUpper = math.floor(challengeCache[challenge.id]["total_score"] / 10000)
|
||||||
local score = challengeCache[challenge.id]["total_score"]
|
local score = challengeCache[challenge.id]["total_score"]
|
||||||
|
local badge = challenge.topBadge and badges[challenge.topBadge] or nil
|
||||||
|
local grade = challenge.grade and grades[challenge.grade] or nil
|
||||||
|
|
||||||
if selected then
|
if selected then
|
||||||
percentOffsetX = x + 11 / 24 * w
|
percentOffsetX = x + 11 / 24 * w
|
||||||
|
@ -304,10 +314,18 @@ draw_challenge = function(challenge, x, y, w, h, selected)
|
||||||
|
|
||||||
scoreUpperOffsetX = x + w * 0.63
|
scoreUpperOffsetX = x + w * 0.63
|
||||||
scoreUpperOffsetY = y + h * 0.82
|
scoreUpperOffsetY = y + h * 0.82
|
||||||
scoreOffsetX = x + w * 0.755
|
scoreOffsetX = x + w * 0.762
|
||||||
scoreOffsetY = y + h * 0.835
|
scoreOffsetY = y + h * 0.835
|
||||||
scoreUpperSize = 0.12 * textSizeCorrection
|
scoreUpperSize = 0.12 * textSizeCorrection
|
||||||
scoreSize = 0.09 * textSizeCorrection
|
scoreSize = 0.09 * textSizeCorrection
|
||||||
|
|
||||||
|
badgeOffsetX = x + 0.86 * w
|
||||||
|
badgeOffsetY = y + 0.715 * h
|
||||||
|
badgeSize = 0.165 * h
|
||||||
|
|
||||||
|
gradeOffsetX = x + 0.927 * w
|
||||||
|
gradeOffsetY = y + 0.708 * h
|
||||||
|
gradeSize = 0.175 * h
|
||||||
end
|
end
|
||||||
|
|
||||||
Numbers.draw_number(percentOffsetX, percentOffsetY, 1, percent, 3, scoreNumber, true, percentSize, 1)
|
Numbers.draw_number(percentOffsetX, percentOffsetY, 1, percent, 3, scoreNumber, true, percentSize, 1)
|
||||||
|
@ -324,8 +342,13 @@ draw_challenge = function(challenge, x, y, w, h, selected)
|
||||||
|
|
||||||
-- TODO: Missing completion bar
|
-- TODO: Missing completion bar
|
||||||
|
|
||||||
-- TODO: Missing completion badge (COMP, HARD, UC, PUC)
|
if badge then
|
||||||
-- TODO: Missing completion grade (S+, S, AAA+, etc.)
|
gfx.BeginPath()
|
||||||
|
gfx.ImageRect(badgeOffsetX, badgeOffsetY, 93/81 * badgeSize, badgeSize, badge, 1, 0)
|
||||||
|
|
||||||
|
gfx.BeginPath()
|
||||||
|
gfx.ImageRect(gradeOffsetX, gradeOffsetY, gradeSize, gradeSize, grade, 1, 0)
|
||||||
|
end
|
||||||
|
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
-- draw charts section
|
-- draw charts section
|
||||||
|
|
Loading…
Reference in New Issue