Added challenge header component
Removed redundant function definitions in songtransition.lua
This commit is contained in:
parent
21125dcf68
commit
7d7f7be937
|
@ -0,0 +1,61 @@
|
||||||
|
local resx, resy = game.GetResolution();
|
||||||
|
local desw = 1080;
|
||||||
|
local desh = 1920;
|
||||||
|
local scale = 1;
|
||||||
|
|
||||||
|
local BAR_ALPHA = 191;
|
||||||
|
|
||||||
|
local HEADER_HEIGHT = 100
|
||||||
|
local headerY = 0;
|
||||||
|
|
||||||
|
local animationHeaderGlowScale = 0;
|
||||||
|
local animationHeaderGlowAlpha = 0;
|
||||||
|
|
||||||
|
-- Images
|
||||||
|
local headerTitleImage = gfx.CreateSkinImage("challenge_select/skill_analyzer.png", gfx.IMAGE_GENERATE_MIPMAPS)
|
||||||
|
|
||||||
|
local drawHeader = function ()
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.FillColor(0,0,0,BAR_ALPHA);
|
||||||
|
gfx.Rect(0,0,desw, HEADER_HEIGHT);
|
||||||
|
gfx.Fill();
|
||||||
|
gfx.ClosePath()
|
||||||
|
|
||||||
|
local headerImageWidth, headerImageHeight = gfx.ImageSize(headerTitleImage)
|
||||||
|
gfx.ImageRect(
|
||||||
|
(desw - headerImageWidth) / 2, (HEADER_HEIGHT - headerImageHeight) / 2,
|
||||||
|
headerImageWidth, headerImageHeight,
|
||||||
|
headerTitleImage, 1, 0
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
local progressTransitions = function (deltatime)
|
||||||
|
-- HEADER GLOW ANIMATION
|
||||||
|
if animationHeaderGlowScale < 1 then
|
||||||
|
animationHeaderGlowScale = animationHeaderGlowScale + deltatime / 1 -- transition should last for that time in seconds
|
||||||
|
else
|
||||||
|
animationHeaderGlowScale = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
if animationHeaderGlowScale < 0.5 then
|
||||||
|
animationHeaderGlowAlpha = animationHeaderGlowScale * 2;
|
||||||
|
else
|
||||||
|
animationHeaderGlowAlpha = 1-((animationHeaderGlowScale-0.5) * 2);
|
||||||
|
end
|
||||||
|
animationHeaderGlowAlpha = animationHeaderGlowAlpha*0.4
|
||||||
|
end
|
||||||
|
|
||||||
|
local draw = function (deltatime)
|
||||||
|
gfx.Save()
|
||||||
|
|
||||||
|
gfx.LoadSkinFont("NotoSans-Regular.ttf");
|
||||||
|
|
||||||
|
drawHeader();
|
||||||
|
|
||||||
|
--progressTransitions(deltatime);
|
||||||
|
gfx.Restore()
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
draw = draw
|
||||||
|
};
|
|
@ -1,6 +1,8 @@
|
||||||
|
local Common = require("common.common")
|
||||||
local Numbers = require("common.numbers")
|
local Numbers = require("common.numbers")
|
||||||
local DiffRectangle = require("components.diff_rectangle")
|
local DiffRectangle = require("components.diff_rectangle")
|
||||||
local Common = require("common.common")
|
local Header = require("components.headers.challengeSelectHeader")
|
||||||
|
local Footer = require("components.footer")
|
||||||
|
|
||||||
local backgroundImage = gfx.CreateSkinImage("bg_pattern.png", gfx.IMAGE_REPEATX | gfx.IMAGE_REPEATY)
|
local backgroundImage = gfx.CreateSkinImage("bg_pattern.png", gfx.IMAGE_REPEATX | gfx.IMAGE_REPEATY)
|
||||||
local challengeBGImage = gfx.CreateSkinImage("challenge_select/bg.png", 0)
|
local challengeBGImage = gfx.CreateSkinImage("challenge_select/bg.png", 0)
|
||||||
|
@ -90,6 +92,8 @@ local challengeCache = {}
|
||||||
local timer = 0
|
local timer = 0
|
||||||
|
|
||||||
-- Window variables
|
-- Window variables
|
||||||
|
local desw = 1080
|
||||||
|
local desh = 1920
|
||||||
local resX, resY
|
local resX, resY
|
||||||
|
|
||||||
-- Aspect Ratios
|
-- Aspect Ratios
|
||||||
|
@ -532,6 +536,8 @@ end
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
render = function(deltaTime)
|
render = function(deltaTime)
|
||||||
|
gfx.FontFace("dfmarugoth.ttf");
|
||||||
|
|
||||||
-- detect resolution change
|
-- detect resolution change
|
||||||
local resx, resy = game.GetResolution();
|
local resx, resy = game.GetResolution();
|
||||||
if resx ~= resX or resy ~= resY then
|
if resx ~= resX or resy ~= resY then
|
||||||
|
@ -546,13 +552,14 @@ render = function(deltaTime)
|
||||||
gfx.Fill()
|
gfx.Fill()
|
||||||
|
|
||||||
if chalwheel.challenges and chalwheel.challenges[1] then
|
if chalwheel.challenges and chalwheel.challenges[1] then
|
||||||
|
local wheelCenterX = (resX - fullX) / 2
|
||||||
-- draw surface background
|
-- draw surface background
|
||||||
gfx.BeginPath()
|
gfx.BeginPath()
|
||||||
gfx.ImageRect((resX - fullX) / 2, 0, fullX, fullY, challengeBGImage, 1, 0)
|
gfx.ImageRect(wheelCenterX, 0, fullX, fullY, challengeBGImage, 1, 0)
|
||||||
|
|
||||||
-- draw chalwheel
|
-- draw chalwheel
|
||||||
gfx.BeginPath();
|
gfx.BeginPath();
|
||||||
draw_chalwheel((resX - fullX) / 2, 0, fullX, fullY)
|
draw_chalwheel(wheelCenterX, 0, fullX, fullY)
|
||||||
|
|
||||||
-- Draw Legend Information
|
-- Draw Legend Information
|
||||||
--[[ will be reimplemented sometime later
|
--[[ will be reimplemented sometime later
|
||||||
|
@ -573,9 +580,13 @@ render = function(deltaTime)
|
||||||
end
|
end
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
gfx.FontFace("dfmarugoth.ttf");
|
gfx.Translate(wheelCenterX, 0)
|
||||||
|
gfx.Scale(fullX / desw, fullY / desh);
|
||||||
|
|
||||||
|
Header.draw(deltaTime)
|
||||||
|
Footer.draw(deltaTime)
|
||||||
|
|
||||||
gfx.ResetTransform()
|
gfx.ResetTransform()
|
||||||
gfx.ForceRender()
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
local common = require('common.common');
|
local common = require('common.common');
|
||||||
|
local Numbers = require('common.numbers')
|
||||||
|
|
||||||
game.LoadSkinSample('song_transition_screen/transition_enter.wav');
|
game.LoadSkinSample('song_transition_screen/transition_enter.wav');
|
||||||
|
|
||||||
|
@ -50,35 +51,6 @@ function resetLayoutInformation()
|
||||||
scale = resx / desw
|
scale = resx / desw
|
||||||
end
|
end
|
||||||
|
|
||||||
function load_number_image(path)
|
|
||||||
local images = {}
|
|
||||||
for i = 0, 9 do
|
|
||||||
images[i + 1] = gfx.CreateSkinImage(string.format("%s/%d.png", path, i), 0)
|
|
||||||
end
|
|
||||||
return images
|
|
||||||
end
|
|
||||||
|
|
||||||
function draw_number(x, y, alpha, num, digits, images, is_dim, scale, kern)
|
|
||||||
scale = scale or 1;
|
|
||||||
kern = kern or 1;
|
|
||||||
local tw, th = gfx.ImageSize(images[1])
|
|
||||||
tw = tw * scale;
|
|
||||||
th = th * scale;
|
|
||||||
x = x + (tw * (digits - 1)) / 2
|
|
||||||
y = y - th / 2
|
|
||||||
for i = 1, digits do
|
|
||||||
local mul = 10 ^ (i - 1)
|
|
||||||
local digit = math.floor(num / mul) % 10
|
|
||||||
local a = alpha
|
|
||||||
if is_dim and num < mul then
|
|
||||||
a = 0.4
|
|
||||||
end
|
|
||||||
gfx.BeginPath()
|
|
||||||
gfx.ImageRect(x, y, tw, th, images[digit + 1], a, 0)
|
|
||||||
x = x - (tw * kern)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function render(deltaTime)
|
function render(deltaTime)
|
||||||
if not wasEnterSfxPlayed then
|
if not wasEnterSfxPlayed then
|
||||||
common.stopMusic();
|
common.stopMusic();
|
||||||
|
@ -86,7 +58,7 @@ function render(deltaTime)
|
||||||
wasEnterSfxPlayed = true;
|
wasEnterSfxPlayed = true;
|
||||||
end
|
end
|
||||||
if not difficultyNumbers then
|
if not difficultyNumbers then
|
||||||
difficultyNumbers = load_number_image('diff_num')
|
difficultyNumbers = Numbers.load_number_image('diff_num')
|
||||||
end
|
end
|
||||||
|
|
||||||
local x_offset = (resX - fullX) / 2
|
local x_offset = (resX - fullX) / 2
|
||||||
|
@ -178,7 +150,7 @@ function render_screen(progress)
|
||||||
|
|
||||||
-- Draw song diff level
|
-- Draw song diff level
|
||||||
gfx.BeginPath();
|
gfx.BeginPath();
|
||||||
draw_number(933, 1140, 1.0, song.level, 2, difficultyNumbers, false, 1, 1)
|
Numbers.draw_number(933, 1140, 1.0, song.level, 2, difficultyNumbers, false, 1, 1)
|
||||||
|
|
||||||
-- Draw song diff label (NOV/ADV/EXH/MXM/etc.)
|
-- Draw song diff label (NOV/ADV/EXH/MXM/etc.)
|
||||||
gfx.BeginPath();
|
gfx.BeginPath();
|
||||||
|
|
Loading…
Reference in New Issue