diff --git a/Themes/_fallback/Scripts/03 ProductivityHelpers.lua b/Themes/_fallback/Scripts/03 ProductivityHelpers.lua index d8a719a7dc..6e2904b6d4 100644 --- a/Themes/_fallback/Scripts/03 ProductivityHelpers.lua +++ b/Themes/_fallback/Scripts/03 ProductivityHelpers.lua @@ -2,6 +2,27 @@ -- This is the sm-ssc version. You should not be using this in themes for -- SM4 right now... We'll post an updated version soon. +--[[ Globals ]] +function IsArcade() + local sPayMode = GAMESTATE:GetCoinMode(); + local bIsArcade = (sPayMode ~= 'CoinMode_Home'); + return bIsArcade; +end + +function IsHome() + local sPayMode = GAMESTATE:GetCoinMode(); + local bIsArcade = (sPayMode == 'CoinMode_Home'); + return bIsArcade; +end + +function IsFreePlay() + if IsArcade() then + return (GAMESTATE:GetCoinMode() == 'CoinMode_Free'); + else + return false + end +end + --[[ Aliases ]] -- Blend Modes diff --git a/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua b/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua index 2c30312feb..10da8d5db3 100644 --- a/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua +++ b/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua @@ -86,7 +86,7 @@ function LoadPlayerStuff(Player) }; Def.Quad { InitCommand=cmd(zoomto,200-10,40); - OnCommand=cmd(diffuse,PlayerColor(Player);glow,color("1,1,1,0.25")); + OnCommand=cmd(diffuse,PlayerColor(Player);fadeleft,0.25;faderight,0.25;glow,color("1,1,1,0.25")); }; Def.Quad { InitCommand=cmd(zoomto,200-10,40;y,-40/2+20); diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua index dfaa0e9bf4..dabc162c9b 100644 --- a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua +++ b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua @@ -18,7 +18,7 @@ t[#t+1] = Def.ActorFrame { OnCommand=cmd(stoptweening;zoom,1.25;decelerate,3;zoom,1); LoadActor( THEME:GetPathG("ScreenStageInformation", "Stage " .. ToEnumShortString(GAMESTATE:GetCurrentStage()) ) ) .. { - OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1); + OnCommand=cmd(diffusealpha,0;linear,0.25;diffusealpha,1;sleep,1.75;linear,0.5;zoomy,0;zoomx,2;diffusealpha,0); }; }; diff --git a/Themes/default/Graphics/ScreenGameplay BPMDisplay.lua b/Themes/default/Graphics/ScreenGameplay BPMDisplay.lua index 4f7923679e..3a4c83ee2c 100644 --- a/Themes/default/Graphics/ScreenGameplay BPMDisplay.lua +++ b/Themes/default/Graphics/ScreenGameplay BPMDisplay.lua @@ -1,7 +1,7 @@ return Def.SongBPMDisplay { File=THEME:GetPathF("BPMDisplay", "bpm"); Name="BPMDisplay"; - InitCommand=cmd(zoom,0.75); + InitCommand=cmd(zoom,0.675;shadowlength,1); SetCommand=function(self) self:SetFromGameState() end; CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua b/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua index 4c917a270b..a94af9c639 100644 --- a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua +++ b/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua @@ -19,13 +19,23 @@ for idx,diff in pairs(Difficulty) do -- local Bar = self:GetChild("Bar"); -- local Meter = self:GetChild("Meter" local song = GAMESTATE:GetCurrentSong() - local st = GAMESTATE:GetCurrentStyle():GetStepsType() - local steps = song:GetOneSteps( st, diff ); --- local meter = steps:GetMeter(); - local bHasStepsTypeAndDifficulty = - song and song:HasStepsTypeAndDifficulty( st, diff ); --- c.Meter:settext( meter ); - + local bHasStepsTypeAndDifficulty = false; + local meter = ""; + if song then + local st = GAMESTATE:GetCurrentStyle():GetStepsType() + bHasStepsTypeAndDifficulty = song:HasStepsTypeAndDifficulty( st, diff ); + local steps = song:GetOneSteps( st, diff ); + if steps then + meter = steps:GetMeter(); + if meter >= 50 then + meter = "!"; + end; + if diff == 'Difficulty_Edit' then + meter = meter .. " Edit"; + end; + end; + end; + c.Meter:settext( meter ); self:playcommand( bHasStepsTypeAndDifficulty and "Show" or "Hide" ); end; CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); @@ -41,7 +51,7 @@ for idx,diff in pairs(Difficulty) do Text=(sDifficulty == "Edit") and "0 Edits" or "0"; ShowCommand=cmd(stoptweening;linear,0.1;diffuse,CustomDifficultyToColor( sDifficulty )); HideCommand=cmd(stoptweening;decelerate,0.2;diffuse,CustomDifficultyToDarkColor( sDifficulty )); - InitCommand=cmd(x,-64-8+tLocation[sDifficulty];zoom,0.5;diffuse,CustomDifficultyToColor( sDifficulty )); + InitCommand=cmd(x,-64-8+tLocation[sDifficulty];shadowlength,1;zoom,0.5;diffuse,CustomDifficultyToColor( sDifficulty )); }; }; end diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua b/Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua index 1f6142ab3d..3e0c94bcc0 100644 --- a/Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua +++ b/Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua @@ -23,7 +23,7 @@ t[#t+1] = Def.ActorFrame { InitCommand=cmd(x,-192;zoom,0.9); LoadActor( gc:GetName() ) .. { InitCommand=cmd(diffusealpha,0;zoom,0.75); - GainFocusCommand=cmd(stoptweening;smooth,0.125;diffusealpha,1;zoom,1;glow,Color("White");decelerate,0.25;glow,Color("Invisible");pulse;effecttiming,0,0.125,0.125,0.75;effectmagnitude,0.95,1,1;); + GainFocusCommand=cmd(stoptweening;stopeffect;smooth,0.125;diffusealpha,1;zoom,1;glow,Color("White");decelerate,0.25;glow,Color("Invisible");pulse;effecttiming,0.75,0.125,0.125,0.75;effectmagnitude,0.95,1,1;); LoseFocusCommand=cmd(stoptweening;stopeffect;smooth,0.25;diffusealpha,0;zoom,0.75;glow,Color("Invisible")); }; }; diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 16ece7be54..f58469fdbc 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -579,10 +579,15 @@ StepsTypeSetCommand= ; a simple bar life meter: ; PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) local native_width=32; local zoomed_width=12; self:zoomx(zoomed_width/native_width); self:x((itemIndex-(numItems/2))*zoomed_width); end PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ - self:zoomtowidth(256); \ -end -TextureCoordScaleX=1 -NumPills=1 + local fItemWidth = ( 256 / numItems ) \ + self:x( ((itemIndex-(numItems/2))*fItemWidth) + 8 ); \ + self:zoomtowidth(fItemWidth); \ + self:diffuseramp(); \ + self:effecttiming(3,0.01875*itemIndex,0,1-(0.01875*itemIndex)); \ + self:effectclock('beatnooffset'); \ +end; +TextureCoordScaleX=1*16 +NumPills=16 AlwaysBounceNormalBar=false [TextBanner] @@ -613,14 +618,14 @@ FooterOffCommand= ShowHelp=true HelpX=SCREEN_CENTER_X -HelpY=SCREEN_BOTTOM-16 -HelpOnCommand=SetSecsBetweenSwitches,4;shadowlength,0;strokecolor,Color("Outline");draworder,105;zoomy,0;linear,0.175;zoom,1*0.75;diffuseshift;effectcolor1,color("0.5,0.5,0.5,1"); +HelpY=IsArcade() and SCREEN_BOTTOM-16 +HelpOnCommand=SetSecsBetweenSwitches,4;shadowlength,0;strokecolor,Color("Outline");draworder,105;zoomy,0;linear,0.175;zoom,1*0.75;maxwidth,(SCREEN_WIDTH-64)/0.75;diffuseshift;effectcolor1,color("0.5,0.5,0.5,1"); HelpOffCommand=linear,0.175;zoomy,0 AlternateHelpDisplayX=SCREEN_CENTER_X AlternateHelpDisplayY=SCREEN_BOTTOM-16 # AlternateHelpDisplayOnCommand=draworder,105; -AlternateHelpDisplayOnCommand=SetSecsBetweenSwitches,4;shadowlength,0;strokecolor,Color("Outline");draworder,105;zoomy,0;linear,0.175;zoom,1*0.75;diffuseshift;effectcolor1,color("0.5,0.5,0.5,1");;diffusealpha,0 +AlternateHelpDisplayOnCommand=SetSecsBetweenSwitches,4;shadowlength,0;strokecolor,Color("Outline");draworder,105;zoomy,0;linear,0.175;zoom,1*0.75;maxwidth,(SCREEN_WIDTH-64)/0.75;diffuseshift;effectcolor1,color("0.5,0.5,0.5,1");;diffusealpha,0 AlternateHelpDisplayOffCommand=linear,0.175;zoomy,0 TimerX=SCREEN_RIGHT-36-4 @@ -1176,7 +1181,8 @@ Line17="list,Characters" ForceTimer=true TimerOnCommand=visible,false TimerSeconds=3 - +# +WaitForChildrenBeforeTweening=true [ScreenGameplay] ShowLifeMeterForDisabledPlayers=false # @@ -1193,7 +1199,7 @@ SongMeterDisplayP2OffCommand= ShowBPMDisplay=true BPMDisplayX=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X BPMDisplayY=SCREEN_BOTTOM-16 -BPMDisplayOnCommand=zoom,0.5; +# BPMDisplayOnCommand=zoom,0.5; BPMDisplayOffCommand=bounceend,0.25;zoom,0 # ShowStageDisplay=false