From 937b99b87dc408b44f843f12c5082a6a749d386d Mon Sep 17 00:00:00 2001 From: Jonathan Payne Date: Sun, 14 Sep 2014 15:20:13 -0700 Subject: [PATCH] Improve HeartEntry screen --- .../BGAnimations/ScreenHeartEntry overlay.lua | 104 ++++++++++++++++-- .../_frame cursors/rounded fill.png | Bin 0 -> 420 bytes .../_frame cursors/rounded gloss.png | Bin 0 -> 333 bytes .../_frame cursors/rounded white.png | Bin 0 -> 2928 bytes .../ScreenWithMenuElements header/default.lua | 4 +- 5 files changed, 95 insertions(+), 13 deletions(-) create mode 100644 Themes/default/BGAnimations/_frame cursors/rounded fill.png create mode 100644 Themes/default/BGAnimations/_frame cursors/rounded gloss.png create mode 100644 Themes/default/BGAnimations/_frame cursors/rounded white.png diff --git a/Themes/default/BGAnimations/ScreenHeartEntry overlay.lua b/Themes/default/BGAnimations/ScreenHeartEntry overlay.lua index 5ae0b3b1a2..73aef8e808 100644 --- a/Themes/default/BGAnimations/ScreenHeartEntry overlay.lua +++ b/Themes/default/BGAnimations/ScreenHeartEntry overlay.lua @@ -1,6 +1,9 @@ +local cursor_width_padding = 16 +local cursor_spacing_value = 30 + local heart_xs= { - [PLAYER_1]= SCREEN_WIDTH * .25, - [PLAYER_2]= SCREEN_WIDTH * .75, + [PLAYER_1]= SCREEN_CENTER_X * 0.625, + [PLAYER_2]= SCREEN_CENTER_X * 1.375, } local heart_entries= {} @@ -9,11 +12,67 @@ for i, pn in ipairs(GAMESTATE:GetEnabledPlayers()) do if profile and profile:GetIgnoreStepCountCalories() then heart_entries[pn]= new_numpad_entry{ Name= pn .. "_heart_entry", - InitCommand= cmd(xy, heart_xs[pn], SCREEN_CENTER_Y), + InitCommand= cmd(xy, heart_xs[pn], SCREEN_CENTER_Y+48), + value_pos = { 0, -64 }, value_color= PlayerColor(pn), + value = LoadFont("Common Large") .. { + InitCommand=cmd(xy,0,-62), + OnCommand=cmd(zoom,0.75;diffuse,PlayerColor(pn);strokecolor,ColorDarkTone(PlayerColor(pn))); + SetCommand=function(self, param) + self:settext(param[1]) + end, + }, + button = LoadFont("Common Normal") ..{ + InitCommand=cmd(shadowlength,1), + SetCommand=function(self, param) + self:settext(param[1]) + end, + OnCommand=cmd(diffuse,color("0.8,0.8,0.8,1");zoom,0.875), + GainFocusCommand=cmd(finishtweening;decelerate,0.125;zoom,1;diffuse,Color.White), + LoseFocusCommand=cmd(finishtweening;smooth,0.1;zoom,0.875;diffuse,color("0.8,0.8,0.8,1")) + }, + button_positions = {{-cursor_spacing_value, -cursor_spacing_value}, {0, -cursor_spacing_value}, {cursor_spacing_value, -cursor_spacing_value}, + {-cursor_spacing_value, 0}, {0, 0}, {cursor_spacing_value, 0}, + {-cursor_spacing_value, cursor_spacing_value}, {0, cursor_spacing_value}, {cursor_spacing_value, cursor_spacing_value}, + {-cursor_spacing_value, cursor_spacing_value*2}, {0, cursor_spacing_value*2}, {cursor_spacing_value, cursor_spacing_value*2}}, + cursor = Def.ActorFrame { + -- Move whole container + MoveCommand=function(self, param) + self:stoptweening() + self:decelerate(0.15) + self:xy(param[1], param[2]) + if param[3] then + self:z(param[3]) + end + end, + -- + LoadActor( THEME:GetPathG("_frame", "1D"), + { 2/18, 14/18, 2/18 }, + LoadActor(THEME:GetPathB("_frame", "cursors/rounded fill")) + ) .. { + OnCommand=cmd(diffuse,PlayerDarkColor(pn)), + FitCommand=function(self, param) + self:playcommand("SetSize",{ Width=param:GetWidth()+cursor_width_padding, tween=cmd(decelerate,0.125)}) + end, + }, + LoadActor( THEME:GetPathG("_frame", "1D"), + { 2/18, 14/18, 2/18 }, + LoadActor(THEME:GetPathB("_frame", "cursors/rounded gloss")) + ) .. { + OnCommand=cmd(diffuse,PlayerColor(pn)), + FitCommand=function(self, param) + self:playcommand("SetSize",{ Width=param:GetWidth()+cursor_width_padding, tween=cmd(decelerate,0.125)}) + end, + } + }, cursor_draw= "first", cursor_color= PlayerDarkColor(pn), - prompt_text= THEME:GetString("ScreenHeartEntry", "Heart Rate"), + prompt = LoadFont("Common Bold") .. { + Name="prompt", + Text=THEME:GetString("ScreenHeartEntry", "Heart Rate"), + InitCommand=cmd(xy,0,-96); + OnCommand=cmd(shadowlength,1;skewx,-0.125;diffusebottomedge,color("#DDDDDD");strokecolor,Color.Outline); + }, max_value= 300, auto_done_value= 100, } @@ -57,6 +116,7 @@ local function timer_update(self) end local args= { + -- Def.ActorFrame{ Name= "timer", InitCommand= function(self) @@ -69,23 +129,45 @@ local args= { end, Def.BitmapText{ Name= "timer_text", Font= "Common Normal", Text= "00.0", - InitCommand= cmd(xy, SCREEN_CENTER_X, SCREEN_CENTER_Y; diffuse, Color.White) + InitCommand= cmd(xy, SCREEN_CENTER_X, SCREEN_CENTER_Y-80; diffuse, Color.White), + OnCommand= cmd(strokecolor,Color.Outline), } }, - Def.BitmapText{ - Name= "explanation", Font= "Common Normal", - Text= THEME:GetString("ScreenHeartEntry", "Enter Heart Rate"), - InitCommand= cmd(xy, SCREEN_CENTER_X, SCREEN_CENTER_Y-120; diffuse, Color.White)}, + Def.Quad { + InitCommand=cmd(xy, SCREEN_CENTER_X+1, SCREEN_CENTER_Y-100+1;zoomto,2,2); + OnCommand=cmd(diffuse,Color.Black;diffusealpha,0.5;linear,0.25;zoomtowidth,420;fadeleft,0.25;faderight,0.25); + }; + Def.Quad { + InitCommand=cmd(xy, SCREEN_CENTER_X, SCREEN_CENTER_Y-100;zoomto,2,2); + OnCommand=cmd(diffuse,color("#ffd400");shadowcolor,BoostColor(color("#ffd40077"),0.25);linear,0.25;zoomtowidth,420;fadeleft,0.25;faderight,0.25); + }; + Def.BitmapText { + Name= "explanation", Font= "Common Large", + Text= string.upper(THEME:GetString("ScreenHeartEntry", "Enter Heart Rate")), + InitCommand= cmd(xy, SCREEN_CENTER_X, SCREEN_CENTER_Y-128; diffuse, Color.White), + OnCommand=cmd(skewx,-0.125;diffuse,color("#ffd400");strokecolor,ColorDarkTone(color("#ffd400")))} + , + Def.BitmapText{ Name= "song_len_label", Font= "Common Normal", Text= THEME:GetString("ScreenHeartEntry", "Song Length"), - InitCommand= cmd(xy, SCREEN_CENTER_X, SCREEN_CENTER_Y-72; diffuse, Color.White)}, + InitCommand= cmd(xy, SCREEN_CENTER_X, SCREEN_CENTER_Y+192-32; diffuse, Color.White), + OnCommand= cmd(shadowlength,1)}, Def.BitmapText{ Name= "song_len", Font= "Common Normal", Text= SecondsToMMSS(GAMESTATE:GetLastGameplayDuration()), - InitCommand= cmd(xy, SCREEN_CENTER_X, SCREEN_CENTER_Y-48; diffuse, Color.White)}, + InitCommand= cmd(xy, SCREEN_CENTER_X, SCREEN_CENTER_Y+192-8; diffuse, Color.White), + OnCommand= cmd(shadowlength,1;zoom,0.75), + } + } +for pn in ivalues(GAMESTATE:GetEnabledPlayers()) do + args[#args+1] = LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black", 128, 192) .. { + InitCommand=cmd(x,heart_xs[pn];y,SCREEN_CENTER_Y+28), + } +end + for pn, entry in pairs(heart_entries) do args[#args+1]= entry:create_actors() end diff --git a/Themes/default/BGAnimations/_frame cursors/rounded fill.png b/Themes/default/BGAnimations/_frame cursors/rounded fill.png new file mode 100644 index 0000000000000000000000000000000000000000..37cbb834a57184ad2946aa51b27969ec6a36b495 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^2|%pC!3-pC$@QiIsfqxf5ZC|z{{xxCfKQ)35mff@ z;X}BZ)YMc6`@@G1aKVCt0w5b`so0jZSRhNiB*-tAp+P28Dujtm)U~OMf%9`9pQNE5 zt1zQuDbJHa1Bv+ojh}dRZI?JSN0r9|wQTWpaSW-5dwcD;=wSsBmq71d9SayVp66Vy zZ$EbBK>QDxIOcN8&xiEi&)Rr(|MG$oxx6pywW=52>H0J`bULd>jnSOPQ)?S`z2*>|{%`%_C!#xE&sZK}*s+)0 e=b}md!tbo9?|c+a=6W3j1%#)opUXO@geCw50)qtr literal 0 HcmV?d00001 diff --git a/Themes/default/BGAnimations/_frame cursors/rounded gloss.png b/Themes/default/BGAnimations/_frame cursors/rounded gloss.png new file mode 100644 index 0000000000000000000000000000000000000000..1757e4c9ea0930c67d4873ff6c4022df68f06d91 GIT binary patch literal 333 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 aU(Q{Bp>^~?d)LYU0000