From c71789b7e705aec0f8ff080b868852f6c9394a53 Mon Sep 17 00:00:00 2001 From: Jonathan Payne Date: Sat, 25 Jun 2011 14:36:26 -0700 Subject: [PATCH] [default] You are not allowed to go to ScreenSelectProfile if you do not have more than 2 profiles. --- .../BGAnimations/ScreenSystemLayer aux.lua | 49 +- .../ScreenSystemLayer overlay/default.lua | 46 ++ Themes/_fallback/Scripts/02 Branches.lua | 6 +- .../center (doubleres).png | Bin 3687 -> 0 bytes .../corner (doubleres).png | Bin 5447 -> 0 bytes .../ScreenGameplay underlay/danger.png | Bin 3133 -> 0 bytes .../decoration_corner (doubleres).png | Bin 14291 -> 0 bytes .../ScreenGameplay underlay/default.lua | 512 ------------------ .../frame (doubleres).png | Bin 2900 -> 0 bytes .../ScreenGameplay underlay/hot_lores.png | Bin 2393 -> 0 bytes .../ScreenGameplay underlay/mask.png | Bin 5889 -> 0 bytes .../ScreenGameplay underlay/meter.png | Bin 3134 -> 0 bytes .../ScreenGameplay underlay/tip.png | Bin 3557 -> 0 bytes .../Graphics/Player judgment/default.lua | 250 --------- Themes/default-dev-midi/metrics.ini | 4 +- .../_ScreenWithMenuElements aux.lua | 1 - .../Graphics/Player Badge FullCombo.png} | Bin 3549 -> 4960 bytes Themes/default/metrics.ini | 1 + Themes/default/~res/Player fc badge.psd | Bin 0 -> 33814 bytes 19 files changed, 55 insertions(+), 814 deletions(-) delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/center (doubleres).png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/corner (doubleres).png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/danger.png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/decoration_corner (doubleres).png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/default.lua delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/frame (doubleres).png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/hot_lores.png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/mask.png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/meter.png delete mode 100644 Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/tip.png delete mode 100644 Themes/default-dev-midi/Graphics/Player judgment/default.lua delete mode 100644 Themes/default/BGAnimations/_ScreenWithMenuElements aux.lua rename Themes/{default-dev-midi/BGAnimations/ScreenGameplay underlay/basemeter.png => default/Graphics/Player Badge FullCombo.png} (54%) create mode 100644 Themes/default/~res/Player fc badge.psd diff --git a/Themes/_fallback/BGAnimations/ScreenSystemLayer aux.lua b/Themes/_fallback/BGAnimations/ScreenSystemLayer aux.lua index 18bd636e50..cba3909a14 100644 --- a/Themes/_fallback/BGAnimations/ScreenSystemLayer aux.lua +++ b/Themes/_fallback/BGAnimations/ScreenSystemLayer aux.lua @@ -1,49 +1,2 @@ -local function CreditsText( pn ) - function update(self) - local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); - self:settext(str); - end - - function UpdateVisible(self) - local screen = SCREENMAN:GetTopScreen(); - local bShow = true; - if screen then - local sClass = screen:GetName(); - bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); - end - - self:visible( bShow ); - end - - local text = LoadFont(Var "LoadingScreen","credits") .. { - InitCommand=function(self) - self:name("Credits" .. PlayerNumberToString(pn)) - ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); - end; - UpdateTextCommand=function(self) - local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); - self:settext(str); - end; - UpdateVisibleCommand=function(self) - local screen = SCREENMAN:GetTopScreen(); - local bShow = true; - if screen then - local sClass = screen:GetName(); - bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); - end - - self:visible( bShow ); - end; ---[[ RefreshCreditTextMessageCommand=update; - CoinInsertedMessageCommand=update; - PlayerJoinedMessageCommand=update; - ScreenChangedMessageCommand=UpdateVisible; --]] - }; - return text; -end - -local t = Def.ActorFrame { - CreditsText( PLAYER_1 ); - CreditsText( PLAYER_2 ); -}; +local t = Def.ActorFrame {}; return t; \ No newline at end of file diff --git a/Themes/_fallback/BGAnimations/ScreenSystemLayer overlay/default.lua b/Themes/_fallback/BGAnimations/ScreenSystemLayer overlay/default.lua index 2dcdf564dd..a23015892f 100644 --- a/Themes/_fallback/BGAnimations/ScreenSystemLayer overlay/default.lua +++ b/Themes/_fallback/BGAnimations/ScreenSystemLayer overlay/default.lua @@ -1,4 +1,50 @@ +local function CreditsText( pn ) + function update(self) + local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); + self:settext(str); + end + + function UpdateVisible(self) + local screen = SCREENMAN:GetTopScreen(); + local bShow = true; + if screen then + local sClass = screen:GetName(); + bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); + end + + self:visible( bShow ); + end + + local text = LoadFont(Var "LoadingScreen","credits") .. { + InitCommand=function(self) + self:name("Credits" .. PlayerNumberToString(pn)) + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end; + UpdateTextCommand=function(self) + local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); + self:settext(str); + end; + UpdateVisibleCommand=function(self) + local screen = SCREENMAN:GetTopScreen(); + local bShow = true; + if screen then + local sClass = screen:GetName(); + bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); + end + + self:visible( bShow ); + end; +--[[ RefreshCreditTextMessageCommand=update; + CoinInsertedMessageCommand=update; + PlayerJoinedMessageCommand=update; + ScreenChangedMessageCommand=UpdateVisible; --]] + }; + return text; +end; +-- local t = Def.ActorFrame { + CreditsText( PLAYER_1 ); + CreditsText( PLAYER_2 ); Def.ActorFrame { Def.Quad { InitCommand=cmd(zoomtowidth,SCREEN_WIDTH;zoomtoheight,30;horizalign,left;vertalign,top;y,SCREEN_TOP;diffuse,color("0,0,0,0")); diff --git a/Themes/_fallback/Scripts/02 Branches.lua b/Themes/_fallback/Scripts/02 Branches.lua index f4b1a09950..a605a9b2a0 100644 --- a/Themes/_fallback/Scripts/02 Branches.lua +++ b/Themes/_fallback/Scripts/02 Branches.lua @@ -65,7 +65,11 @@ Branch = { if SONGMAN:GetNumSongs() == 0 and SONGMAN:GetNumAdditionalSongs() == 0 then return "ScreenHowToInstallSongs"; end; - return "ScreenSelectProfile"; + if PROFILEMAN:GetNumLocalProfiles() >= 2 then + return "ScreenSelectProfile"; + else + return Branch.AfterSelectProfile(); + end end, OptionsEdit = function() -- Similar to above, don't let anyone in here with 0 songs. diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/center (doubleres).png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/center (doubleres).png deleted file mode 100644 index f792417219d8b7fa922959828044b68340190784..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 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 diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/corner (doubleres).png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/corner (doubleres).png deleted file mode 100644 index f509dde7a76960e769f3a35057e23b8d4b7d0a9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5447 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 diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/decoration_corner (doubleres).png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/decoration_corner (doubleres).png deleted file mode 100644 index 865e4ce12b29a915b9540da5d783b5e6e9bb4dbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14291 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 diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/default.lua b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/default.lua deleted file mode 100644 index 362e5013a2..0000000000 --- a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/default.lua +++ /dev/null @@ -1,512 +0,0 @@ -local t = Def.ActorFrame{} - -local newBPS; -local oldBPS; - - --- DECORATIONS //////////////////////// - --- Left Hex Corner Decoration -t[#t+1] = LoadActor("decoration_corner") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1)); - OnCommand=cmd(horizalign,left;x,SCREEN_LEFT;vertalign,top;y,SCREEN_TOP;zoomy,0.4;zoomx,0.6;diffusealpha,0.3;blend,Blend.Add); -}; - --- Right Hex Corner Decoration -t[#t+1] = LoadActor("decoration_corner") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2)); - OnCommand=cmd(horizalign,left;x,SCREEN_RIGHT;vertalign,top;y,SCREEN_TOP;zoomy,0.4;;zoomx,-0.6;diffusealpha,0.3;blend,Blend.Add); -}; - - --- WAVY LINE (thanks AJ) //////////////////////// - - ---P1 -t[#t+1] = LoadActor("hot_lores") .. { - OnCommand=cmd(diffusealpha,0;visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,left;x,SCREEN_LEFT+18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-26;texcoordvelocity,0.1,0;queuecommand,"Begin"); - BeginCommand=function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - local move = GAMESTATE:GetSongBPS()/2 - if GAMESTATE:GetSongFreeze() then - move = 0; - end - self:texcoordvelocity(move,0); - self:sleep(0.001); - self:queuecommand("Begin"); - end; - end; - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_1 then - local lifeP1=params.LifeMeter:GetLife(); - if lifeP1>=THEME:GetMetric("LifeMeterBar", "HotValue") then - self:diffusealpha(0.5); - else - self:diffusealpha(0); - end; - end; - end; -}; - ---P2 -t[#t+1] = LoadActor("hot_lores") .. { - OnCommand=cmd(diffusealpha,0;visible,GAMESTATE:IsHumanPlayer(PLAYER_2);horizalign,left;x,SCREEN_RIGHT-18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,(SCREEN_WIDTH/2-26)*-1;texcoordvelocity,0.1,0;queuecommand,"Begin"); - BeginCommand=function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - local move = GAMESTATE:GetSongBPS()/2 - if GAMESTATE:GetSongFreeze() then - move = 0; - end - self:texcoordvelocity(move,0); - self:sleep(0.001); - self:queuecommand("Begin"); - end; - end; - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_2 then - local lifeP2=params.LifeMeter:GetLife(); - if lifeP2>=THEME:GetMetric("LifeMeterBar", "HotValue") then - self:diffusealpha(0.5); - else - self:diffusealpha(0); - end; - end; - end; -}; - ---Double ---customtexturerect,0,0,[PixelsToCoverWidth]/[ImageWidth],[PixelsToCoverHeight]/[ImageHeight] ---I said that I was gonna write it down. thx midi - -t[#t+1] = LoadActor("hot_lores") .. { - OnCommand=cmd(diffusealpha,0;horizalign,left;x,SCREEN_LEFT+18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH-36;texcoordvelocity,0.1,0;customtexturerect,0,0,600/(SCREEN_WIDTH-36),1;queuecommand,"Begin"); - BeginCommand=function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - local move = GAMESTATE:GetSongBPS()/2 - if GAMESTATE:GetSongFreeze() then - move = 0; - end - self:texcoordvelocity(move,0); - self:sleep(0.001); - self:queuecommand("Begin"); - else - self:visible(false); - end; - end; - LifeChangedMessageCommand=function(self,params) - local life=params.LifeMeter:GetLife(); - if life>=THEME:GetMetric("LifeMeterBar", "HotValue") then - self:diffusealpha(0.5); - else - self:diffusealpha(0); - end; - end; -}; - - --- DANGER //////////////////////// - - ---DANGER P1 single -t[#t+1] = LoadActor("danger") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,left;x,SCREEN_LEFT+18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-26;zoomy,0.5); - OnCommand=cmd(effectclock,"bgm";diffusealpha,1;linear,0.2;diffusealpha,0.25;linear,0.2;diffusealpha,1;queuecommand,"On"); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_1 then - local lifeP1 = params.LifeMeter:GetLife(); - if lifeP1 <= THEME:GetMetric("LifeMeterBar", "DangerThreshold") then - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - self:visible(true); - end; - else - self:visible(false); - end; - end; -end; - -}; - ---DANGER P2 single -t[#t+1] = LoadActor("danger") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2);horizalign,right;x,SCREEN_RIGHT-18;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-26;zoomy,0.5); - OnCommand=cmd(effectclock,"bgm";diffusealpha,1;linear,0.2;diffusealpha,0.25;linear,0.2;diffusealpha,1;queuecommand,"On"); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_2 then - local lifeP2 = params.LifeMeter:GetLife(); - if lifeP2 <= THEME:GetMetric("LifeMeterBar", "DangerThreshold") then - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - self:visible(true); - end; - else - self:visible(false); - end; - end; - end; -}; - ---DANGER double -t[#t+1] = LoadActor("danger") .. { - InitCommand=cmd(visible,false;horizalign,center;x,SCREEN_CENTER_X;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH-36;zoomy,0.5); - OnCommand=cmd(effectclock,"bgm";diffusealpha,1;linear,0.2;diffusealpha,0.25;linear,0.2;diffusealpha,1;queuecommand,"On"); - LifeChangedMessageCommand=function(self,params) - local life = params.LifeMeter:GetLife(); - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - if life <= THEME:GetMetric("LifeMeterBar", "DangerThreshold") then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - - - --- METERS //////////////////////// - - - - - ----basemeter masked P1 -t[#t+1] = LoadActor("basemeter") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,left;x,SCREEN_LEFT+18;valign,0.5;y,SCREEN_TOP+41;zoomy,0.5;blend,Blend.Add); - OnCommand=cmd(bounce;effectmagnitude,-40,0,0;effectclock,"bgm";effecttiming,2,0,0,0;); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_1 then - local style = GAMESTATE:GetCurrentStyle(); - local lifeP1 = params.LifeMeter:GetLife(); - if GAMESTATE:IsHumanPlayer(PLAYER_1)==true then - if lifeP1==0 then - self:visible(false); - else - - if lifeP1==1 then - self:effectmagnitude(0,0,0); - else - self:effectmagnitude(-40,0,0); - end; - - self:visible(true); - end - end - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:zoomtowidth((SCREEN_WIDTH-40)*lifeP1+5); - else - self:zoomtowidth((SCREEN_WIDTH/2-26)*lifeP1); - end; - - end; - end; - -}; - - - - - - - ----basemeter masked P2 -t[#t+1] = LoadActor("basemeter") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2);horizalign,right;x,SCREEN_RIGHT+18;valign,0.5;y,SCREEN_TOP+41;zoomy,0.5;blend,Blend.Add;queuecommand,"Set"); - OnCommand=cmd(bob;effectmagnitude,40,0,0;effectclock,"bgm";effecttiming,1,0,0,0;); - SetCommand=function(self,params) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:effectmagnitude(-40,0,0); - self:horizalign(left); - self:x(SCREEN_LEFT+18); - end; - end; - - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_2 then - local style = GAMESTATE:GetCurrentStyle(); - local lifeP2 = params.LifeMeter:GetLife(); - if GAMESTATE:IsHumanPlayer(PLAYER_2)==true then - if lifeP2==0 then - self:visible(false); - else - - if lifeP2==1 then - self:effectmagnitude(0,0,0); - else - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:effectmagnitude(-40,0,0); - else - self:effectmagnitude(40,0,0); - end - end; - - self:visible(true); - end - end - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:zoomtowidth((SCREEN_WIDTH-40)*lifeP2); - else - self:zoomtowidth(((SCREEN_WIDTH/2-26)*lifeP2)+40); - end; - - end; - end; - -}; - - - - --- FRAMES & TIPS //////////////////////// - - --- Left Corner -t[#t+1] = LoadActor("mask") .. { - OnCommand=cmd(horizalign,right;x,SCREEN_LEFT+130;vertalign,top;y,SCREEN_TOP+12;zoom,0.45;queuecommand,"Set"); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(true); - else - if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Right Corner -t[#t+1] = LoadActor("mask") .. { - OnCommand=cmd(horizalign,right;x,SCREEN_RIGHT-130;vertalign,top;y,SCREEN_TOP+12;zoomx,-0.45;zoomy,0.45;queuecommand,"Set"); -SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(true); - else - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - - --- Left Corner -t[#t+1] = LoadActor("corner") .. { - OnCommand=cmd(horizalign,left;x,SCREEN_LEFT+15;vertalign,top;y,SCREEN_TOP+16;zoom,0.75;queuecommand,"Set"); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(true); - else - if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Right Corner -t[#t+1] = LoadActor("corner") .. { - OnCommand=cmd(horizalign,left;x,SCREEN_RIGHT-15;vertalign,top;y,SCREEN_TOP+16;zoomx,-0.75;zoomy,0.75;queuecommand,"Set"); -SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(true); - else - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Center Corner Left -t[#t+1] = LoadActor("center") .. { - OnCommand=cmd(horizalign,left;x,SCREEN_CENTER_X+5;vertalign,top;y,SCREEN_TOP+16;zoomx,-0.75;zoomy,0.75;queuecommand,"Set"); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Center Corner Right -t[#t+1] = LoadActor("center") .. { - OnCommand=cmd(horizalign,left;x,SCREEN_CENTER_X-5;vertalign,top;y,SCREEN_TOP+16;zoom,0.75;queuecommand,"Set"); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false); - else - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - self:visible(true); - else - self:visible(false); - end; - end; - end; -}; - --- Center part 1 -t[#t+1] = LoadActor("frame") .. { - OnCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,left;x,SCREEN_LEFT+52.5;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-85;zoomy,0.75;queuecommand,"Set";); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:zoomtowidth(SCREEN_WIDTH-105); - self:visible(true) - else - if GAMESTATE:IsHumanPlayer(PLAYER_1) == false then - self:visible(false) - else - self:visible(true) - end - end; - end; -}; - --- Center part 2 -t[#t+1] = LoadActor("frame") .. { - OnCommand=cmd(horizalign,right;x,SCREEN_RIGHT-52.5;vertalign,top;y,SCREEN_TOP+16;zoomtowidth,SCREEN_WIDTH/2-85;zoomy,0.75;queuecommand,"Set";); - SetCommand = function(self) - local style = GAMESTATE:GetCurrentStyle(); - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:visible(false) - else - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - self:visible(true) - else - self:visible(false) - end; - end; - end; -}; - - - ----tip P1 -t[#t+1] = LoadActor("tip") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);valign,0.5;y,SCREEN_TOP+41;zoom,0.5;blend,Blend.Add;queuecommand,"Set"); - --OnCommand=cmd(bob;effectmagnitude,-40,0,0;effectclock,"bgm";effecttiming,1,0,0,0;); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_1 then - local style = GAMESTATE:GetCurrentStyle(); - local lifeP1 = params.LifeMeter:GetLife(); - if GAMESTATE:IsHumanPlayer(PLAYER_1)==true then - if lifeP1==0 then - self:visible(false); - else - self:visible(true); - end - end - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:x((SCREEN_WIDTH-40)*lifeP1+20); - else - self:x((SCREEN_WIDTH/2-26)*lifeP1+20); - end; - - end; - end; - -}; - - - ----tip P2 -t[#t+1] = LoadActor("tip") .. { - InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2);valign,0.5;y,SCREEN_TOP+41;zoom,0.5;blend,Blend.Add;); - --OnCommand=cmd(bob;effectmagnitude,40,0,0;effectclock,"bgm";effecttiming,1,0,0,0;); - LifeChangedMessageCommand=function(self,params) - if params.Player == PLAYER_2 then - local style = GAMESTATE:GetCurrentStyle(); - local lifeP2 = params.LifeMeter:GetLife(); - local fullstate; - if GAMESTATE:IsHumanPlayer(PLAYER_2)==true then - if lifeP2==0 then - self:visible(false); - else - self:visible(true); - end - end - if style:GetStyleType() == "StyleType_OnePlayerTwoSides" then - self:x((SCREEN_WIDTH-40)*lifeP2+20); - else - self:x(SCREEN_RIGHT-((SCREEN_WIDTH/2-26)*lifeP2)-20); - end; - - end; - end; - -}; - --- NAMES //////////////////////// - ---P1 NAME -t[#t+1] = LoadFont("Common Normal") .. { - InitCommand=cmd(horizalign,left;x,SCREEN_LEFT+30;y,SCREEN_TOP+15;zoom,0.4;shadowlength,1;uppercase,true); - BeginCommand=function(self) - local profile = PROFILEMAN:GetProfile(PLAYER_1); - local name = profile:GetDisplayName(); - - if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then - if name=="" then - self:settext("Player 1"); - else - self:settext( name ); - end - end - - end; - - }; - ---P2 NAME -t[#t+1] = LoadFont("Common Normal") .. { - InitCommand=cmd(horizalign,right;x,SCREEN_RIGHT-30;y,SCREEN_TOP+15;zoom,0.4;shadowlength,1;uppercase,true); - BeginCommand=function(self) - local profile = PROFILEMAN:GetProfile(PLAYER_2); - local name = profile:GetDisplayName(); - - if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then - if name=="" then - self:settext("Player 2"); - else - self:settext( name ); - end - end - end; - - }; - - - -return t \ No newline at end of file diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/frame (doubleres).png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/frame (doubleres).png deleted file mode 100644 index 8f4fb1191ad58f13fc6433b9907d3890c6d0cd59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2900 zcmV-a3#;^rP)H00009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0001gNkl~nc zf)qXz446Ej0<#hpC9I(d23$&TGgnn6YdEy=6$b3;P=^vWwPFe7AxV;CWd2cVtu?>1 y%*-#8Qv6oZ6O^Ef6}Xjfj$Ue(FKY^Kgl7O+)*%-ozrWA`0000G%HspOEQH3x$D@U^TvR^J!f;3h|NB<#?HgsGjm5;t=3-4I!E_jtsR76 zXcP*?!$e7kK%r0pP$(2C01Aad1wf%tr~oJwivGsHH+avW;IS!qK92AneZmf2OQCo$ z0uUtBg97IQk888us|c~ff_=iAGEX4Fg7=|Nd{+VxCtMOqgM@Qw=5tN_y?lhmt!EK9 zi?nIi#p`M3@~+FO=ZTDphN7nekVnK)>|EBdPd!f@vQ~H>Pa%t>X)AJ=(H<5MfH3FU zJTn<>MZ6Ie428D<3F|w9YEbu%|BmO+>u|wcrVdD;&pTb5m?s*WllpzxCT3 z87r_w*aYln*feZX$UZ70?>D@MeQ=JqU{_MVfvpR%SYMO+4(zB$0?;lf7AhG1OZ2pm zyA%tTLka*1I}96=)zuY&st|ig$UF;sF6Vyl#vQj>Epu~oV{UJ6Q|l}(+U@q8K3QO2 z`&)-nsbqp6J$E=TFkl7;2ct5rpY1a|JZy%BhRn#wNK`ME%SAu-g?JOhYdJm^f#41Q zE5bpMdFM&&P6Qz7x*}rXo5xVW=-q0bMD{E%-uCDB-l72fiAoLj2keOu{h8FqiryUw zM}l5oUz@9|E7NQ?qmsrpdyWLA5gcQ#h=_822U`D@aP)<%xRz%#=K3fU*{=yNMDn#fP=lBWwOeP76J+=ZeIy!15 zCMKfN6aPrLCtk!gY{T&^7|NW(HhUxhUptTS5QQTsK=M4omlMje^y9d4^}G(k0zU_2 zSCaPf@-iYcOOn}^Y?GDwoTSF8dxUZylm8v;2rK3r5a1N;&84NK^@K@i3QVrF3F0$} zf;jmT2D^xhm3VG#ZS5sQp#%X4Fea7r^Yf)Z+zX7?BF>FtOh<9}5La6QSmF#QI5AznSh^2Gq;4J(z(7p^l`Y7!fh)|{Q4MJ12X&SiTO6O*p%6|SYb zdObNgxdyUd)@rp4htzQk6Ut5qA9l&b%-def>Jxa1f^Yqk9UL4?9UdM=c@vENONc}n z!a4(?U5 zDAK10v3=)D-aLr!prw(%oRFuhN|;Vt7P2o&ZtlyQZ8RDoS8Wp98i|fJuGCzyN%l=l zs@GFfQ(FrQ3vb1JXr++66%&AXy%Vx`^5u3VOX{iE#*^H}6nl2U%Mjv>?Ck6;N6CeY zi>DBZ35df4#ClQkEK3lPVHiW9IU9~Jk6}X+3I)9k2zk`z0fuaE9nXTo@t=e!q3po4 zL|EQ;X(ywTXD@s_gwS&?`96=5^}QO8l|7I63_BmoYCZ*9Fdui%el?$W*m6OSJ$Uu% z)$Y;J(KaT<8?5GAST(k0W@a{F9~`15na|4J_9S~R-MenNba~!^ZwzO;EdZW&=e<@} zSLs;{U=qwhC}y~VG@H#AHkZNt21SEmiS;n7XwYm}Lcxf8kZCzt*$r{?7*|ft!W9qV z4bw6nD}E8LAZZSTX*r<+VW2Ph^K4qkJua(uMe=jRN~b$&^yZn1!{TtqDEiC+JaMxB zZi2uidMm@F_gU2+Vs^M2V$n^Z$Z|7tSE-GSjT$D>7(ByCc!-P4Wnfa(Fn=l#33?Xu z;%%(Jb1b<#CahZz!{#xvc4Shp>dcoDC$C|oejJ-qZd>Xml#^TyJr)CZY^Eepp7tHm z<(`qYQCXpFzvoV}d0yi4j=_+fUcAlA(JaX&Y;WT$*+7WChwow!-^&&}`qk;_=}ihi z)!cm|FwBYF^N6n7KD`M^d=p2e7XpxSU24C2z5dh5$;lk^7iVW@^eh5Q(s>93UDOKd zHJQB8gJ5yNu%3o(V_t*i8J_e7>=w9$A06X@VfIl7w~GL2f?@v40xF3^7kR`f_P zdLb6w5GCK7Ox|{IQR4V+f5tuUtmJxD!rg1vZ9wO?!gKN#&F>WXuLz%?h6kQPV?4wo zjo?0iP7`>JL)K5s!-8$yexT}eSfg`W@tuf9rw?WMdLns*HYPv&@AFxWM@U_y?CB4* zQ~(q|vX@~zTzVe@`}Qf~0Tlg=-{f}?DgcUp6p*h*pdTIjufPh03V=ePPytXV6e<7; zg+c{Dp-}WW{uf{X&z*++bvQ%f0000DbVXQnL3MO!Z*l-ZN+2;fH~G(m?EnA(NqSUR zbVF}&d2(rIXmkJoc${<2FQ_caOwTA$SZQQnV4>jXrC?}bu8^3QqEM2Ns!&{znU|QO zP@Iuil&z4QpOcfCT#{Lq3IOWq5|$dCnOFb-0CIFiSad{bb7O2_X>Db4090scb0BAO zVQ^?^V<2r|c_2x4%O4-bINPgw=aptQswZ=%R#`qDFLU5nTwPM@d9)iL#;-qC_X^>b(Tf z`+C>=&Aj)=o3}G}@6MU~oqNvbd_L!VHuABqItk%DLI40rG&NKV007Go{QVps7yK@H zTzn6_5x8oYz5xIts@n?-NdH6+0EBukV6exJ9bG(J-Z;9rvTDL$tgh}Z4liEY1AzB* z<`cN#lTBLr)43yMtq9~tEf)hCd{zVHXe4z!7cUzD`J)K7&r>w|Z4|1iIE>vn5!kV@ z$QT-Z2yqnQB;E?!m)MZph^XI}i+;JU#v4!9`Y|;V3hSkZnN@>$t@y;r8lw8*Na7-8 z7K(+Cu8z*d6#>N{LQYqJ9KY&0+nZ|+EZ__wC&$O$iq{Nad5;p|1Fbq4twK!UH)LDN zX%<+>cUY|+@lsm&NNPaQH&!_xP*lT0W~OpI0djBv>s~wCW#BPCV9g!4HVPm!&(i#` z0P~M*G*~(D04tS!gbLs&3zQB%jZy_ngaB#>tqy5mk{=M#GcFtfF>Ou zwS>(bn{-8ipFU{}B0*wg3x|CGkP}Y>R(p8uJwRGMFdz|&B7Mfc)q;D&Zfm=YSsg5K zRRn-V55zDAB3N|~DT|AA!hCtKi{ofTl=Jp9+M$w6u?EQ5oHjmmy~RfL^M|^rsnwO0 z$wwW^<~F~L12FKP&svSIU!No7u1=2^nwL0(L@a~Uan2Tg_8n>GF%2dVytAEIi&MX< zCAzs{9%b*)w5>DYrC!#jbciUp#-I zr5*N(7B{(xN9)ol030;9wEf}1$3{AaEDn0z>_M;9a~=Rl2h9XG0I*Ww6fpc<1?|EI z0F|5|-fv2bM{V?wR$QjGyEAP>SJo2mlsP+oDw8V{K1VXSTR$ufR^|!o|HjN~E%--~ zS*%sxF)Y!QRN$x44^nwovI`shtTvv;AOakvZhR^mw&@5g+b9!`SbVy)&@;9+4IIj7 zPS&0XYJGOCcySG3gD68*BMs&QdG|Zg;TCH3@v_~3Nbpryqq^|Nph|uDKg2b#x)Ve{BC))8^NT9P_`MVT^AknV( zJ9{Z{N$0(9PfM{IB9H9`zkA_O2C23ZNZ@!Wv)ZsIX_#o6=uT=BvNCasQA`s^5@5g6 z|H;jsSg2LaRZnr=L2oM}9B!fk;TWfkqY@` zfMXL(#iff-LqGXhtZZKQ;*^oj!&P=)NGs>VsKfI7i>}|Sqe+aFnR$kecq|tkhbdIMl zDmFaoDQ1&cbW?_mM|wBaH&QmRkGzOU!e~OeBH%m>8T5Gca0V~>id5}B#ref^#Y9GjM!kk{MOIG&%GHcSpDY&< z{7Eh`D$abo{eq=Pu_;qYvzV%`QoC_(lF6SqQ+GQhaVlFc+077XP-QD3D$WEQVtPO zbJTkemmV_ai)q&h+grRUPEJWSDbXm=FHzrak|^IP$jon2Z7{tIB30^o#BIT?4v!nS zo4NjE>d9;YVF9g&-Emx4K;ru7S^0Ksd+Yp08X zV|8K^+$v&DTr}|jz1%NxHy1f(!7lW^KFqRR5te6@WRtS^F1~J9E_Y1ry&74}i%yGW z&Sj@gr_Nk1TrM^)EuAf$-E;$;y8MUvvf8rRUHyIiU;4+>#53fDCq&jW)-xtD=4-9Z zyv-n}Levj?&B_(CeA8W2qjRX4v}vA+k(p(cT3KeGDto+DY}fJ>V4SpBJ)Ycs5+buUiT*CFd{lqE4Wu6ML{5gv2(V& zY2}f}v763Zrw{J;y+(8q|4@gY2$HJj*m1TlALc&Kq0G}bl3u0Ed!ejbGu&=v_$LS&K^wIg(;KK@f8=Pjg-d2m4G^&pne=O^<| zIJ@Am#BjtU%z~Fi_dtVJ$2Z|`e51Gz=P%Jb$ZFj??xGKk+9cYu88TV4>7J}kBJwg# z!XXLqAKa9S*>n<7@Gbb7gJ*B4eP|`-mveNjAWITn&#S5rrFTvF2~o=V8-`{)6TEnp zaC>8imj1}!(#a)ReEmCpRlm_6BtPwC-|SHSq+Cou<%MY(^D~>QHI=@Uu9S20K@%?1 z+~o^U_B*((2J6)}krCl)Xu$T&#Ezw&iJ<9x zjm~k4#VKnk zq|PK$)72#NPpfy1PgK!@Dg8X?h7c62F1JPQN27f~&p^K{)bOj}k>Q1*#O}y!jm^ZF z^YAXCU*n0`-!Zg#AOy~5tkGXke(QDv^DoI<_Ug$!7DrTXqSs{`Wd|${es~;IqF1Sme;B7% z$UJk}^4OBYB#!EJHGFDFFR!zBRk!QgRO9Dxy2+R&IWT+F-2b@b{65zeLc|IFy+O)Th^%8`0Pk=M`;Q+8$Jd#$IMLb%>=$|^~yOMo>4!=4GkH@ z#2?3z!S2ST#r1}fgl%U@DM(8%LEW!6uL@v;&j-1(=rCU}z2$VYf{3%R?TLZm)Zx!5 z2PugyPX2kO{1OU!&!22cuycGg~Eo%UfNd*8pmxO1( z)Bu1OqN$=}=so>+)>7NT%eQNPFO9)EEDhTmiDWip&kK@TP+^69rSEe4!rN4sRAyFV zruwpEXZJzEVV2k_tyBe_zVn;KXcHY*+mDk<)OR*TzK4)lEz`x=#r4}#2?^smq)vzy z&|%x@jc0Ia@j3MEarBP~H+#pPpQqg%LT~IQQST!nR#?Ixv9f<=Dh9dEDgc~O(C)`G1jfNYC=O}Rr35@ghco}_Ie4P*!Iyf{$jz`8) zdI#f~=U0xE;C1Cs`~yoHyBBH36>mYb(d2iE$P-z~{`E_hi4-pmijf){8#A34$c7HC zX9tolyl{3#RDS-vsM#`~P2kop#Pjf>jjioci^9c5?hP>TcfRGB7AxZrUq#~=_7!(U zJw3e=LLaU)?aJ!v4$(omc9av^RmyqLmz$fLfr)A5Y=8ML$H&LjH8nQr4&%pf)(3{i#zK2nzce;} z8W}P8qziZ0Say{HGy2@p0*%+^NueuD6RzCY#L(7t188mUsUw4 zs`~qdCRd{W_3;Fgj0b-9U{}EDY|3Vq=(7|H0e^-2O-)TuASel$wfpz4;U(k?GPx!~ zE%#$eN|oQK^VZf@WqGEQTQCNLprxh#cX@62^y!jkgXjcFd+Yk4+sWUll``|%&Y*d0 zI$2p+yW&!iYvZkzkT1hL{r&x~(J21y>7ygD>+9>Ilar;x^TNVH@SHsf84(eYW}X2t zF|oz7%`A1Ks?k$UuNNArcu(;{$P~_4WxaO4Ha5y_UrbKYhm+mM%>hBv$&grdufseS z@?PnVcjQfy!Ml=lt;x;hD7qB^(fFN5zW3 z*KQv>)Wh3_L_*rEg`}{Ku;3cdPqzv<*D52$z3=x|ILmjdsFaxjE zg{7o4KwVi?NQ%-oR{2>m6SF`OS2CM#*Qp$ZcoLw@)sH?ju*c(@qh8xwp6t+vwI%Tx zBaiA2&d#Ld<>gg!^x2j}Wkk_) z5luOkf}*0x$2=Y1?Yf);cig0;-mDR0V`JYE`}9&&kGNdG>Bp>detv#wQBjdwPWBO1 zNZO%<$GmEF2U{Q(8f9u_wHB|=vWU6d>#Bqhx3>xrTL{p7H;E}P7a$}g1k?DKoV?^d zixH`oq5r$R-SB-xI`D2^;eQh|SA|{4#)b{7nVN>iUVg;Mlokeq#l*$grE{&Wu6oO5 zmFBAGjIN+vT6EsE+mPVizV*iVY3*1|P0ix5uPC$d*NG&-XU%<|Vc}pe6A}_iN4KJ) zq9T6ToR63%9+s2&-$;-XlBQ`d%a0{cTIe?B@N@SBy!_rbxzXvvY) zFNK8>7z~DCM30z-BY?goqA(=6MuRKSBv};(!!|N9`f5BJc5FQkigQg(ynE;d+(S{eFJ3vgoGF{S7gCB=CkM92zhyAVEZ$kEZ!x5mc4 zwf>BUe0;rT7#<#;+acH1*0!e!{ou|7c6&Dy*?dT6<=*x8FC<7285D%2J^Fk!U&j=^ z1QzbrOI6RJQ$2zwa$q5(2_uV;ysp zwf=ALx*=EJDUP=19O>-h0;c}4eG!}nOCB8#*#qz#;8ccnUVW% zZgwB@e7zIB;)`2|Q`aLz3=&L8hpHBxd2F~?tis-Qb=CN$E0)<0sSafGa=Vkg9a6|f z6uhbPlh8?oN^*a5%6QE4?nV0P#KgqSXebe#K%&)dL{TvNsiLB>v2h8Z^t4h1OM=IG zv~6HtC1h=FZLzj1l5n=6A-#U#f8G66j@zKQ_&4xE-FbB`gr`?eJCedI=ZPw zpTqIu;$nGGQPIS`rqj8O!$D|80g)>8P~}`g59i_Gq1vlg+Z7EB4SESI^mC8xL93B~ z4T{04qV_d7tZqc)#8rw3vshL;N7#II(CbTV!Fm7Ag>%8zo+eP& zl!T##Ub{2r8Gbo4+L$&G(FN z%c~rK^e%xc7L$~O`mO#>8U~wIRaN!opk~5qG{f${p`nb#0iD6<`1r{lANO4UK9N=Y zgWGKrSn2yC@a@}Un7Fw3pstRNj;Du5Obg~>+iZ(mU$NJ>3KDHz>&)Qfb)Ac&ey2)>cch;jF5XJwE{?UV(BU z-wB2~TC|Q7lP*YWh6Nd4jz-Xjj%SZv|1khfRb7>GW$WPo0@o}lSO5S3 diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/meter.png b/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/meter.png deleted file mode 100644 index 983338f40ad18d9dfdaaab080c14752ff9d3ef58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3134 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 0 then Count = Count + 1 end - end - return Count -end - -local function NegCount( t ) - local Count = 0; - for i=1,#t do - if t[i] < 0 then Count = Count + 1 end - end - return Count -end - - -local function StdDev( t ) - local avg = MakeAverage( t ); - local sum = 0; - for i=1,#t do - sum = sum + math.pow(t[i] - avg, 2); - end - return math.sqrt(sum / (#t - 1)) -end - --- -local tTotalJudgments = {}; --- Global? ---[[ tPlayerData = {}; -for pn in ivalues(GAMESTATE:GetHumanPlayers()) - tPlayerData[pn].SignedJudgments = {}; - tPlayerData[pn].AverageDifference = 0; - tPlayerData[pn].AbsoluteDifference = 0; - tPlayerData[pn].StandardDeviation = 0; - tPlayerData[pn].StandardDeviation = 0; - tPlayerData[pn].Early = 0; - tPlayerData[pn].Late = 0; -end ]] --- -local JudgeCmds = { - TapNoteScore_W1 = THEME:GetMetric( "Judgment", "JudgmentW1Command" ); - TapNoteScore_W2 = THEME:GetMetric( "Judgment", "JudgmentW2Command" ); - TapNoteScore_W3 = THEME:GetMetric( "Judgment", "JudgmentW3Command" ); - TapNoteScore_W4 = THEME:GetMetric( "Judgment", "JudgmentW4Command" ); - TapNoteScore_W5 = THEME:GetMetric( "Judgment", "JudgmentW5Command" ); - TapNoteScore_Miss = THEME:GetMetric( "Judgment", "JudgmentMissCommand" ); -}; - -local ProtimingCmds = { - TapNoteScore_W1 = THEME:GetMetric( "Protiming", "ProtimingW1Command" ); - TapNoteScore_W2 = THEME:GetMetric( "Protiming", "ProtimingW2Command" ); - TapNoteScore_W3 = THEME:GetMetric( "Protiming", "ProtimingW3Command" ); - TapNoteScore_W4 = THEME:GetMetric( "Protiming", "ProtimingW4Command" ); - TapNoteScore_W5 = THEME:GetMetric( "Protiming", "ProtimingW5Command" ); - TapNoteScore_Miss = THEME:GetMetric( "Protiming", "ProtimingMissCommand" ); -}; - -local AverageCmds = { - Pulse = THEME:GetMetric( "Protiming", "AveragePulseCommand" ); -}; - -local TNSFrames = { - TapNoteScore_W1 = 0; - TapNoteScore_W2 = 1; - TapNoteScore_W3 = 2; - TapNoteScore_W4 = 3; - TapNoteScore_W5 = 4; - TapNoteScore_Miss = 5; -}; -local t = Def.ActorFrame {}; -t[#t+1] = Def.ActorFrame { - LoadActor(THEME:GetPathG("Judgment","Normal")) .. { - Name="Judgment"; - InitCommand=cmd(pause;visible,false); - OnCommand=THEME:GetMetric("Judgment","JudgmentOnCommand"); - ResetCommand=cmd(finishtweening;stopeffect;visible,false); - }; - LoadFont("Combo Numbers") .. { - Name="ProtimingDisplay"; - Text=""; - InitCommand=cmd(visible,false); - OnCommand=THEME:GetMetric("Protiming","ProtimingOnCommand"); - ResetCommand=cmd(finishtweening;stopeffect;visible,false); - }; - LoadFont("Common Normal") .. { - Name="ProtimingAverage"; - Text=""; - InitCommand=cmd(visible,false); - OnCommand=THEME:GetMetric("Protiming","AverageOnCommand"); - ResetCommand=cmd(finishtweening;stopeffect;visible,false); - }; - Def.Quad { - Name="ProtimingGraphBG"; - InitCommand=cmd(visible,false;y,32;zoomto,192,16); - ResetCommand=cmd(finishtweening;diffusealpha,0.8;visible,false); - OnCommand=cmd(diffuse,Color("Black");diffusetopedge,color("0.1,0.1,0.1,1");diffusealpha,0.8;shadowlength,2;); - }; - Def.Quad { - Name="ProtimingGraphWindowW3"; - InitCommand=cmd(visible,false;y,32;zoomto,192-4,16-4); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,GameColor.Judgment["JudgmentLine_W3"];); - }; - Def.Quad { - Name="ProtimingGraphWindowW2"; - InitCommand=cmd(visible,false;y,32;zoomto,scale(PREFSMAN:GetPreference("TimingWindowSecondsW2"),0,PREFSMAN:GetPreference("TimingWindowSecondsW3"),0,192-4),16-4); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,GameColor.Judgment["JudgmentLine_W2"];); - }; - Def.Quad { - Name="ProtimingGraphWindowW1"; - InitCommand=cmd(visible,false;y,32;zoomto,scale(PREFSMAN:GetPreference("TimingWindowSecondsW1"),0,PREFSMAN:GetPreference("TimingWindowSecondsW3"),0,192-4),16-4); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,GameColor.Judgment["JudgmentLine_W1"];); - }; - Def.Quad { - Name="ProtimingGraphUnderlay"; - InitCommand=cmd(visible,false;y,32;zoomto,192-4,16-4); - ResetCommand=cmd(finishtweening;diffusealpha,0.25;visible,false); - OnCommand=cmd(diffuse,Color("Black");diffusealpha,0.25); - }; - Def.Quad { - Name="ProtimingGraphFill"; - InitCommand=cmd(visible,false;y,32;zoomto,0,16-4;horizalign,left;); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,Color("Red");); - }; - Def.Quad { - Name="ProtimingGraphAverage"; - InitCommand=cmd(visible,false;y,32;zoomto,2,7;); - ResetCommand=cmd(finishtweening;diffusealpha,0.85;visible,false); - OnCommand=cmd(diffuse,Color("Orange");diffusealpha,0.85); - }; - Def.Quad { - Name="ProtimingGraphCenter"; - InitCommand=cmd(visible,false;y,32;zoomto,2,16-4;); - ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false); - OnCommand=cmd(diffuse,Color("White");diffusealpha,1); - }; - InitCommand = function(self) - c = self:GetChildren(); - end; - - JudgmentMessageCommand=function(self, param) - if param.Player ~= player then return end; - if param.HoldNoteScore then return end; - - local iNumStates = c.Judgment:GetNumStates(); - local iFrame = TNSFrames[param.TapNoteScore]; - - if not iFrame then return end - if iNumStates == 12 then - iFrame = iFrame * 2; - if not param.Early then - iFrame = iFrame + 1; - end - end - - - local fTapNoteOffset = param.TapNoteOffset; - if param.HoldNoteScore then - fTapNoteOffset = 1; - else - fTapNoteOffset = param.TapNoteOffset; - end - - if param.TapNoteScore == 'TapNoteScore_Miss' then - fTapNoteOffset = 1; - bUseNegative = true; - else --- fTapNoteOffset = fTapNoteOffset; - bUseNegative = false; - end; - - if fTapNoteOffset ~= 1 then - -- we're safe, you can push the values - tTotalJudgments[#tTotalJudgments+1] = bUseNegative and fTapNoteOffset or math.abs( fTapNoteOffset ); - -- New --- tPlayerData[player].SignedJudgments[#(tPlayerData[player].SignedJudgments)+1] = fTapNoteOffset; --- table.getn(tPlayerData[player].SignedJudgments = bUseNegative and fTapNoteOffset or fTapNoteOffset; - end - - self:playcommand("Reset"); - - c.Judgment:visible( not bShowProtiming ); - c.Judgment:setstate( iFrame ); - JudgeCmds[param.TapNoteScore](c.Judgment); - - c.ProtimingDisplay:visible( bShowProtiming ); - c.ProtimingDisplay:settextf("%i",math.abs(fTapNoteOffset * 1000)); - ProtimingCmds[param.TapNoteScore](c.ProtimingDisplay); - - c.ProtimingAverage:visible( bShowProtiming ); - c.ProtimingAverage:settextf("%.2f%%",clamp(100 - MakeAverage( tTotalJudgments ) * 1000 ,0,100)); - AverageCmds['Pulse'](c.ProtimingAverage); - - c.ProtimingGraphBG:visible( bShowProtiming ); - c.ProtimingGraphUnderlay:visible( bShowProtiming ); - c.ProtimingGraphWindowW3:visible( bShowProtiming ); - c.ProtimingGraphWindowW2:visible( bShowProtiming ); - c.ProtimingGraphWindowW1:visible( bShowProtiming ); - c.ProtimingGraphFill:visible( bShowProtiming ); - c.ProtimingGraphFill:finishtweening(); - c.ProtimingGraphFill:decelerate(1/60); --- c.ProtimingGraphFill:zoomtowidth( clamp(fTapNoteOffset * 188,-188/2,188/2) ); - c.ProtimingGraphFill:zoomtowidth( clamp( - scale( - fTapNoteOffset, - 0,PREFSMAN:GetPreference("TimingWindowSecondsW3"), - 0,188/2), - -188/2,188/2) - ); - c.ProtimingGraphAverage:visible( bShowProtiming ); - c.ProtimingGraphAverage:zoomtowidth( clamp( - scale( - MakeAverage( tTotalJudgments ), - 0,PREFSMAN:GetPreference("TimingWindowSecondsW3"), - 0,188), - 0,188) - ); --- c.ProtimingGraphAverage:zoomtowidth( clamp(MakeAverage( tTotalJudgments ) * 1880,0,188) ); - c.ProtimingGraphCenter:visible( bShowProtiming ); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphBG); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphUnderlay); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphWindowW3); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphWindowW2); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphWindowW1); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphFill); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphAverage); - (cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphCenter); - end; - -}; - - -return t; diff --git a/Themes/default-dev-midi/metrics.ini b/Themes/default-dev-midi/metrics.ini index e2eab4c818..72b1cbe014 100644 --- a/Themes/default-dev-midi/metrics.ini +++ b/Themes/default-dev-midi/metrics.ini @@ -1,5 +1,5 @@ [Global] FallbackTheme=default [ScreenGameplay] -LifeP1OnCommand=visible,false -LifeP2OnCommand=visible,false \ No newline at end of file +# LifeP1OnCommand=visible,false +# LifeP2OnCommand=visible,false \ No newline at end of file diff --git a/Themes/default/BGAnimations/_ScreenWithMenuElements aux.lua b/Themes/default/BGAnimations/_ScreenWithMenuElements aux.lua deleted file mode 100644 index b45f994ddf..0000000000 --- a/Themes/default/BGAnimations/_ScreenWithMenuElements aux.lua +++ /dev/null @@ -1 +0,0 @@ -local t = Def.ActorFrame {}; diff --git a/Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/basemeter.png b/Themes/default/Graphics/Player Badge FullCombo.png similarity index 54% rename from Themes/default-dev-midi/BGAnimations/ScreenGameplay underlay/basemeter.png rename to Themes/default/Graphics/Player Badge FullCombo.png index 469e617168f87ce9e29b585aaa9f29d1b5325cd7..46688dc5726ec3b4bb3a41aef1ce55a020b0bf90 100644 GIT binary patch delta 2269 zcmV<32qO308{j4(iBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hp{1^3V#TT zNkllB^O#on$a!KS&#bNo$R+Y&0gMF(if% zLe2glF$Vr=_(S8`WTT`>u^*Diw!5vhl&~s_yQ0+E3RI_E*(xwYT@b`ObHDnd=T45- zI|Bnl8z(ur^KtH(=Q+>&zUMjTGJl3);B|hnc+Fq0JptZ)!!S&?$4)h%u`UGG0l4*Q ztOt=b6R;Kmq9jXze+K{uV1xkH&8vCenw2*U18b>7=KW+0hJbef_~HKj`~O^DUw;?C zegFah5BZG+z+|NYt^)xcfWY(oXA=_>3lkF)3p~$%2A~Ll2q1^_$qIq2RevGozp=m) zaP`g2&3;Le1WA&F=H_NUfcJ<3PSS^EvQas*r2v_I2Y`*DC|-?5qw@6hv@tzBZA7C{ zSro;q0Ja10lW=mRsZ{@41*qBQ0KDJU)+Tv89+#@BP*oKkkH^*4)+Pb?0SO@|>C3K} zL^c$l5_g*)L2?tQYA?m0`Oe`ZvgO83H|?5fXu#` zyt_L)J4~nb)Mk8Wk`@#|hxw?c2BC)HF?x zMx#b77JH>>nx^mAvEy?9^#HyFU<0{#)uFT&1+22{r?ubfWU4IY=n%uB)qiCmaqJ#N+W~=vZ4Kkw7>c zE~u-k3jwGBkV}P=gBq7k@U+Ajn7}d$tYA6P3IPNN*Z_bng@uJu zRaKQxSy?HB!{NN@>S|v+9#4W#MZho&xLht=xpE~oJUl#q`}Xa{8#it&&d$z00q_XG zKLPv$Km@?Q2?5PQE=h_eK!XnhcoV?40hDasym@0d92R!&+<)oawr!hGUS2LplH}1e z4VtDwRaI!328Ln4vTPDOO~U*iQjx&({7ZTA`0?WxV`F2B_wLsBEzFVCqc3e1H`(=-@{@lt%#;O$hP zJ(Eeoyz06RhJRs_WO$wj&-0j{pHGaBk1yW6dw1db_3O{hpFjU&05>Rb8~U> z} zbX)@P8vsiHWP(Yhv8GcX4qy?$g_f3 zs{kGYct$4j1r}YTy0FRgWX_-}lL|mADJgN8 z%e}dEw6h1+%9BblRaFrT2HnJ>D^$6pt$+2Jjuz=P!WRex+^VXk^)~73w3URWX$S-Y zZgTLY+3W$bdN%4SE-v<%#)~chb}O%)owgECRTag>#U4T+qitm-1k9>bC`ppbR3P2# zFGqk5AxV;4gaDh#{y0+w7yuh3NpdTSk_4S<_8krf06?6B`48fLqfv6c!dLJv}{7+S}XzH8V4FlK`KjygR*;f_SP?0ArCz8At(En{@aU>7a)?gl+Hn&V=@-Ar&1?qRx7|*EILOi z!ck+Xmi@1m4KD=CEa+r*tY$BrhcUmSNt<9<%kyMyxtU*$0(J+!DKZaTGkhSv>M=8M rqs%hyFw>_b#tQE>R;0k|`ufiRzj~D0>S{a$00000NkvXXu0mjfeDgId delta 847 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