diff --git a/Themes/themekit/BGAnimations/ScreenSelectMusic decorations.lua b/Themes/themekit/BGAnimations/ScreenSelectMusic decorations.lua new file mode 100644 index 0000000000..f5a37674cd --- /dev/null +++ b/Themes/themekit/BGAnimations/ScreenSelectMusic decorations.lua @@ -0,0 +1,47 @@ +-- Loads up a slew of objects to load into the screen, like how 3.9 does. +-- I prefer to keep these optional, incase another screen wants to hide +-- these elements. +local t = LoadFallbackB(); + +-- Legacy StepMania 4 Function +local function CreateStepDisplay(pn) + local function set(self, player) + self:SetFromGameState( player ); + end + + local t = Def.StepsDisplay { + InitCommand=cmd(Load,"StepsDisplay",GAMESTATE:GetPlayerState(pn);); + }; + + if pn == PLAYER_1 then + t.CurrentStepsP1ChangedMessageCommand=function(self) set(self, pn); end; + t.CurrentTrailP1ChangedMessageCommand=function(self) set(self, pn); end; + else + t.CurrentStepsP2ChangedMessageCommand=function(self) set(self, pn); end; + t.CurrentTrailP2ChangedMessageCommand=function(self) set(self, pn); end; + end + + return t; +end + + + +for pn in ivalues(PlayerNumber) do + local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn); + t[#t+1] = CreateStepDisplay(pn) .. { + InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; + PlayerJoinedMessageCommand=function(self, params) + if params.Player == pn then + self:visible(true); + (cmd(zoom,0;bounceend,0.3;zoom,1))(self); + end; + end; + PlayerUnjoinedMessageCommand=function(self, params) + if params.Player == pn then + self:visible(true); + (cmd(bouncebegin,0.3;zoom,0))(self); + end; + end; + }; +end +return t \ No newline at end of file diff --git a/Themes/themekit/BGAnimations/ScreenWithMenuElements decorations.lua b/Themes/themekit/BGAnimations/ScreenWithMenuElements decorations - Copy.lua similarity index 100% rename from Themes/themekit/BGAnimations/ScreenWithMenuElements decorations.lua rename to Themes/themekit/BGAnimations/ScreenWithMenuElements decorations - Copy.lua diff --git a/Themes/themekit/Graphics/MusicWheel highlight.png b/Themes/themekit/Graphics/MusicWheel highlight.png new file mode 100644 index 0000000000..d147847ad7 Binary files /dev/null and b/Themes/themekit/Graphics/MusicWheel highlight.png differ diff --git a/Themes/themekit/Graphics/MusicWheelItem SectionCollapsed ColorPart.png b/Themes/themekit/Graphics/MusicWheelItem SectionCollapsed ColorPart.png new file mode 100644 index 0000000000..46c195c686 Binary files /dev/null and b/Themes/themekit/Graphics/MusicWheelItem SectionCollapsed ColorPart.png differ diff --git a/Themes/themekit/Graphics/MusicWheelItem SectionExpanded ColorPart.png b/Themes/themekit/Graphics/MusicWheelItem SectionExpanded ColorPart.png new file mode 100644 index 0000000000..c169cf6f07 Binary files /dev/null and b/Themes/themekit/Graphics/MusicWheelItem SectionExpanded ColorPart.png differ diff --git a/Themes/themekit/Graphics/MusicWheelItem Song ColorPart.png b/Themes/themekit/Graphics/MusicWheelItem Song NormalPart.png similarity index 100% rename from Themes/themekit/Graphics/MusicWheelItem Song ColorPart.png rename to Themes/themekit/Graphics/MusicWheelItem Song NormalPart.png diff --git a/Themes/themekit/Graphics/StepsDisplay frame.png b/Themes/themekit/Graphics/StepsDisplay frame.png new file mode 100644 index 0000000000..a1994514fc Binary files /dev/null and b/Themes/themekit/Graphics/StepsDisplay frame.png differ diff --git a/Themes/themekit/_Resources/MusicWheelItem.psd b/Themes/themekit/_Resources/MusicWheelItem.psd index 4fdc7cbf95..0d98cf39bc 100644 Binary files a/Themes/themekit/_Resources/MusicWheelItem.psd and b/Themes/themekit/_Resources/MusicWheelItem.psd differ diff --git a/Themes/themekit/_Resources/StepsDisplay items.psd b/Themes/themekit/_Resources/StepsDisplay items.psd new file mode 100644 index 0000000000..e22284be56 Binary files /dev/null and b/Themes/themekit/_Resources/StepsDisplay items.psd differ diff --git a/Themes/themekit/metrics.ini b/Themes/themekit/metrics.ini index a4d49def01..3489476bb4 100644 --- a/Themes/themekit/metrics.ini +++ b/Themes/themekit/metrics.ini @@ -279,17 +279,64 @@ IconChoiceEndlessDisabledCommand=diffuse,color("1,0,0,0.5"); IconChoiceEndlessOffUnfocusedCommand=linear,0.1175;zoomx,0 IconChoiceEndlessOffFocusedCommand=stopeffect;sleep,0 [ScreenSelectMusic] +ShowStepsDisplayP1=true +StepsDisplayP1X=SCREEN_CENTER_X-192 +StepsDisplayP1Y=SCREEN_BOTTOM-64 +StepsDisplayP1OnCommand= +StepsDisplayP1OffCommand= +# +ShowStepsDisplayP2=true +StepsDisplayP2X=SCREEN_CENTER_X-192 +StepsDisplayP2Y=SCREEN_BOTTOM-64 +StepsDisplayP2OnCommand= +StepsDisplayP2OffCommand= +# MusicWheelX=SCREEN_RIGHT-128-18 MusicWheelOnCommand=draworder,-1 [MusicWheel] +HighlightOnCommand=blend,Blend.Add;diffuseramp;effectclock,'beatnooffset' +# ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*0 ); self:y( offsetFromCenter*48 ); end NumWheelItems=13 [MusicWheelItem] # Move Song all the way to the left, since it is left aligned # see [TextBanner] SongNameX=-124 +# +SectionExpandedX=-126 +SectionExpandedY=0 +SectionExpandedOnCommand=horizalign,left;maxwidth,252;shadowlength,1 +# +SectionCollapsedX=-126 +SectionCollapsedY=0 +SectionCollapsedOnCommand=horizalign,left;maxwidth,252;shadowlength,1 +# +SectionCountX=108 +SectionCountY=16 +SectionCountOnCommand=zoom,0.5;shadowlength,1; [TextBanner] TitleOnCommand=horizalign,left;shadowlength,1; SubtitleOnCommand=horizalign,left;shadowlength,1; ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2 -ArtistPrependString="" \ No newline at end of file +ArtistPrependString="" +[StepsDisplay] +ShowMeter=true +ZeroMeterString="?" +MeterX=92 +MeterY=0 +MeterOnCommand=horizalign,right;zoom,0.75;shadowlength,1 +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); \ + end \ +end; +# +ShowDescription=true +DescriptionX=-92 +DescriptionY=0 +DescriptionOnCommand=horizalign,left;zoom,0.75;shadowlength,1;uppercase,true; +DescriptionSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); \ + end \ +end; \ No newline at end of file