ExperimentalGear/scripts/components/diff_rectangle.lua

73 lines
1.9 KiB
Lua
Raw Normal View History

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),
2023-08-18 21:48:48 +02:00
gfx.CreateSkinImage("diff/8 vivid.png", 0),
gfx.CreateSkinImage("diff/9 exceed.png", 0),
}
2021-10-28 11:02:11 +02:00
local difficultyLabelTexts = {
"NOV",
"ADV",
"EXH",
"MXM",
2022-03-25 05:45:51 +01:00
"INF",
2021-10-28 11:02:11 +02:00
"GRV",
"HVN",
2023-08-18 21:48:48 +02:00
"VVD",
"EXC"
2021-10-28 11:02:11 +02:00
}
function render(deltatime, x, y, scale, diff, level)
2023-08-18 21:48:48 +02:00
local difficultyLabelImage = difficultyLabelImages[diff]
if difficultyLabelImage == nil then
game.Log("Unknown chart difficulty index "..diff..", fallback to MXM", game.LOGGER_WARNING)
difficultyLabelImage = difficultyLabelImages[4]
end
2021-10-28 11:02:11 +02:00
gfx.Save()
gfx.Translate(x,y);
gfx.Scale(scale,scale)
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
gfx.BeginPath();
2021-10-28 11:02:11 +02:00
gfx.ImageRect(0, 0, 140, 31 ,
difficultyLabelImages[diff] or
difficultyLabelImages[4], 1, 0);
2021-10-28 11:02:11 +02:00
gfx.FontSize(24)
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
2021-10-28 11:02:11 +02:00
gfx.TextAlign(gfx.TEXT_ALIGN_RIGHT + gfx.TEXT_ALIGN_MIDDLE)
2021-10-28 11:02:11 +02:00
gfx.Text(level, 120, 16);
gfx.FontSize(22)
gfx.Scale(1.2,1); -- Make the diff text more W I D E
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
gfx.Text(difficultyLabelTexts[diff], 18, 17);
2021-10-28 11:02:11 +02:00
-- -- Draw volforce badge
-- gfx.BeginPath();
-- gfx.ImageRect(x, y, 42, 42, volforceBadgeImage, 1, 0);
-- -- Draw volforce label
-- gfx.FontSize(11)
-- gfx.Text('VOLFORCE', x + 47, y + 14);
2021-10-28 11:02:11 +02:00
gfx.ResetTransform()
gfx.Restore()
end
return {
render = render
2023-08-18 21:48:48 +02:00
}