diff --git a/NoteSkins/dance/midi-note/Down Tap Explosion Bright.png b/NoteSkins/dance/midi-note/Down Tap Explosion Bright.png index 251b65f913..cea2d09f6e 100644 Binary files a/NoteSkins/dance/midi-note/Down Tap Explosion Bright.png and b/NoteSkins/dance/midi-note/Down Tap Explosion Bright.png differ diff --git a/NoteSkins/dance/midi-note/Down Tap Explosion Dim.png b/NoteSkins/dance/midi-note/Down Tap Explosion Dim.png new file mode 100644 index 0000000000..843dab4e25 Binary files /dev/null and b/NoteSkins/dance/midi-note/Down Tap Explosion Dim.png differ diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 62cb826fdb..2e2d5ffd50 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -431,6 +431,8 @@ Rate=Rate RefreshRate=Controls how many times per second the screen will refresh. Only has an effect when Display Mode is set to &oq;Full Screen&cq;. Reload Songs=Reload all songs and courses. Remove=Remove arrows to make the song easier. +RemoveCombinations=Remove arrows to make the song easier. +RemoveFeatures=Remove arrows to make the song easier. Rename= Reset To Defaults=Reset all options to default values. SaveScores=SaveScores @@ -723,6 +725,8 @@ Ranking Songs=Ranking Songs Really Fast=Really Fast RegularCourses=Regular Remove=Remove +RemoveCombinations=Remove +RemoveFeatures=Remove Reverse=Reverse Right=Right Roll=Roll @@ -1028,6 +1032,8 @@ Record in selection=Record in selection RefreshRate=Refresh Rate Reload Songs=Reload Songs/Courses Remove=Remove +RemoveCombinations=Remove +RemoveFeatures= Remove Change=Remove Change Remove Keysound=Remove Keysound Rename=Rename diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 70c838403c..62443b504e 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2431,16 +2431,19 @@ Insert,5="mod,skippy;name,Skippy" Insert,6="mod,echo;name,Echo" Insert,7="mod,stomp;name,Stomp" -Remove="8;selectmultiple" -RemoveDefault="mod,no little,no nojumps,no nohands,no noquads,no nostretch,no norolls,no nolifts,no nofakes" -Remove,1="mod,little;name,Little" -Remove,2="mod,nojumps;name,NoJumps" -Remove,3="mod,nohands;name,NoHands" -Remove,4="mod,noquads;name,NoQuads" -Remove,5="mod,nostretch;name,NoStretch" -Remove,6="mod,norolls;name,NoRolls" -Remove,7="mod,nolifts;name,NoLifts" -Remove,8="mod,nofakes;name,NoFakes" +RemoveCombinations="4;selectmultiple" +RemoveCombinationsDefault="mod,no little,no nojumps,no nohands,no noquads" +RemoveCombinations,1="mod,little;name,Little" +RemoveCombinations,2="mod,nojumps;name,NoJumps" +RemoveCombinations,3="mod,nohands;name,NoHands" +RemoveCombinations,4="mod,noquads;name,NoQuads" + +RemoveFeatures="4;selectmultiple" +RemoveFeaturesDefault="mod,no nostretch,no norolls,no nolifts,no nofakes" +RemoveFeatures,1="mod,nostretch;name,NoStretch" +RemoveFeatures,2="mod,norolls;name,NoRolls" +RemoveFeatures,3="mod,nolifts;name,NoLifts" +RemoveFeatures,4="mod,nofakes;name,NoFakes" # Insert="8" # InsertDefault="mod,no little,no wide,no big,no quick,no skippy,no echo,no stomp" @@ -3054,7 +3057,7 @@ PlayMusic=false # TimerSeconds=30 # -LineNames="1,2,3A,3B,4,5,6,R,7,8,9,10,11,12,13,14,16,17" +LineNames="1,2,3A,3B,4,5,6,R1,R2,7,8,9,10,11,12,13,14,16,17" Line1="lua,SpeedMods()" # Line1="list,Speed" Line2="list,Accel" @@ -3065,6 +3068,8 @@ Line4="list,Appearance" Line5="list,Turn" Line6="list,Insert" LineR="list,Remove" +LineR1="list,RemoveCombinations" +LineR2="list,RemoveFeatures" Line7="list,Scroll" Line8="list,NoteSkins" Line9="list,Holds" diff --git a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua index 6cb56be174..a8664db8b2 100644 --- a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua @@ -183,6 +183,10 @@ for pn in ivalues(PlayerNumber) do self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; + Def.Quad { + InitCommand=cmd(zoomto,420,20); + OnCommand=cmd(fadeleft,0.35;faderight,0.35;diffuse,Color.Black;diffusealpha,0.5); + }; LoadActor( THEME:GetPathG( 'SongMeterDisplay', 'frame ' .. PlayerNumberToString(pn) ) ) .. { InitCommand=function(self) self:name('Frame'); diff --git a/Themes/default/Graphics/DualScrollBar thumb p1.png b/Themes/default/Graphics/DualScrollBar thumb p1.png new file mode 100644 index 0000000000..b5e4929d6e Binary files /dev/null and b/Themes/default/Graphics/DualScrollBar thumb p1.png differ diff --git a/Themes/default/Graphics/DualScrollBar thumb p2.png b/Themes/default/Graphics/DualScrollBar thumb p2.png new file mode 100644 index 0000000000..c1f377c23d Binary files /dev/null and b/Themes/default/Graphics/DualScrollBar thumb p2.png differ diff --git a/Themes/default/Graphics/ScreenOptions LineHighlight P1.lua b/Themes/default/Graphics/ScreenOptions LineHighlight P1.lua new file mode 100644 index 0000000000..ad5d3f674e --- /dev/null +++ b/Themes/default/Graphics/ScreenOptions LineHighlight P1.lua @@ -0,0 +1,2 @@ +return LoadActor(THEME:GetPathG("OptionRowExit","frame")) .. { +}; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenOptions LineHighlight P2.redir b/Themes/default/Graphics/ScreenOptions LineHighlight P2.redir new file mode 100644 index 0000000000..998ddd6029 --- /dev/null +++ b/Themes/default/Graphics/ScreenOptions LineHighlight P2.redir @@ -0,0 +1 @@ +ScreenOptions LineHighlight P1 \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic SegmentDisplay/default.lua b/Themes/default/Graphics/ScreenSelectMusic SegmentDisplay/default.lua index 17e7e81ef8..41e665fb47 100644 --- a/Themes/default/Graphics/ScreenSelectMusic SegmentDisplay/default.lua +++ b/Themes/default/Graphics/ScreenSelectMusic SegmentDisplay/default.lua @@ -18,7 +18,7 @@ local SegmentTypes = { local t = Def.ActorFrame{ BeginCommand=cmd(playcommand,"SetIcons";playcommand,"SetAttacksIconMessage"); - OffCommand=cmd( RunCommandsOnChildren,cmd(playcommand,"Hide") ); + --OffCommand=cmd( RunCommandsOnChildren,cmd(playcommand,"Hide") ); SetIconsCommand=function(self) local stops = self:GetChild("StopsIcon") diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua b/Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua index 59adedbae7..b2971f5503 100644 --- a/Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua +++ b/Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua @@ -17,7 +17,7 @@ t[#t+1] = Def.ActorFrame { InitCommand=cmd(diffuse,ModeIconColors[gc:GetName()];diffusealpha,0); GainFocusCommand=cmd(stoptweening;linear,0.125;diffusealpha,1); LoseFocusCommand=cmd(stoptweening;linear,0.125;diffusealpha,0); - OffFocusedCommand=cmd(finishtweening;glow,Color("White");decelerate,1.5;glow,Color("Invisible")); + OffFocusedCommand=cmd(finishtweening;glow,Color("White");decelerate,1;glow,Color("Invisible")); }; }; -- Emblem Frame @@ -29,14 +29,14 @@ t[#t+1] = Def.ActorFrame { InitCommand=cmd(x,2;y,2;diffuse,Color("Black");diffusealpha,0;zoom,0.75); GainFocusCommand=cmd(stoptweening;stopeffect;smooth,0.125;diffusealpha,0;zoom,1;decelerate,0.25;diffusealpha,0.5;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;); - OffFocusedCommand=cmd(finishtweening;stopeffect;glow,ModeIconColors[gc:GetName()];decelerate,1.75;rotationy,360*1;); + OffFocusedCommand=cmd(finishtweening;stopeffect;glow,ModeIconColors[gc:GetName()];decelerate,1;rotationy,360*2;); }; -- Main Emblem LoadActor( gc:GetName() ) .. { InitCommand=cmd(diffusealpha,0;zoom,0.75); 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")); - OffFocusedCommand=cmd(finishtweening;stopeffect;glow,ModeIconColors[gc:GetName()];decelerate,1.75;rotationy,360*1;glow,Color("Invisible")); + OffFocusedCommand=cmd(finishtweening;stopeffect;glow,ModeIconColors[gc:GetName()];decelerate,1;rotationy,360*2;glow,Color("Invisible")); }; }; -- Text Frame diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index d835211a2a..836c340e9d 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -162,7 +162,18 @@ TitleOnCommand=shadowlength,0;skewx,-0.1;uppercase,true;wrapwidthpixels,136;maxh TitleGainFocusCommand=stoptweening;zoom,0.6375*1.125;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375; # TitleGainFocusCommand=stoptweening;zoom,0.6375*1.25;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375;thump;effectmagnitude,1,1.05,1;effectclock,'beat' TitleLoseFocusCommand=diffuse,Color("White");strokecolor,Color("Black");stopeffect; - +# +ItemsStartX=SCREEN_CENTER_X-140 +ItemsEndX=SCREEN_CENTER_X+130 +ItemsGapX=12 +ItemsMinBaseZoom=0.5 +ItemsLongRowP1X=SCREEN_CENTER_X-60 +ItemsLongRowP2X=SCREEN_CENTER_X+100 +ItemsLongRowSharedX=SCREEN_CENTER_X +ItemOnCommand=shadowlength,1;zoom,0.55 +ItemGainFocusCommand= +ItemLoseFocusCommand= +TweenSeconds=0.1 [OptionRowService] [OptionRowExit] @@ -801,13 +812,13 @@ WrapScroller=true ScrollerX=SCREEN_CENTER_X ScrollerY=SCREEN_CENTER_Y-60 ScrollerOnCommand=SetFastCatchup,true; -ScrollerOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,2;linear,0.1;zoomy,0 +ScrollerOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,1.5;linear,0.1;zoomy,0 # ShowBackgroundFrame=true BackgroundFrameX=SCREEN_CENTER_X BackgroundFrameY=SCREEN_CENTER_Y-60 BackgroundFrameOnCommand=diffuse,Color("Black");diffusealpha,0.7 -BackgroundFrameOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,2;linear,0.1;zoomy,0 +BackgroundFrameOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,1.5;linear,0.1;zoomy,0 # ShowIcon=true UseIconMetrics=true @@ -949,6 +960,8 @@ BPMLabelOffCommand=bouncebegin,0.15;zoomx,0; ShowSegmentDisplay=not GAMESTATE:IsCourseMode() SegmentDisplayX=SCREEN_CENTER_X-160 SegmentDisplayY=SCREEN_TOP+160-36+4 +SegmentDisplayOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X +SegmentDisplayOffCommand=bouncebegin,0.15;zoomx,0; # ShowDifficultyList=not GAMESTATE:IsCourseMode(); DifficultyListX=SCREEN_CENTER_X-160 @@ -1195,6 +1208,8 @@ StepsTypeY=7 StepsTypeOnCommand=zoom,0.45 [ScreenOptions] +CursorTweenSeconds=0.1 + DisqualifyP1X=SCREEN_CENTER_X-176 DisqualifyP1Y=SCREEN_BOTTOM-98 DisqualifyP1OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_1 @@ -1208,7 +1223,33 @@ CursorOnCommand= LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.25;fadeleft,0.05;faderight,0.05;diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25");effectclock,'beat' LineHighlightChangeCommand=linear,0.1;diffuse,Color("White");diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25") LineHighlightChangeToExitCommand=linear,0.1;diffuse,Color("Red");diffuseshift;effectcolor2,color("1,0,0,0.5");effectcolor1,color("1,0,0,0.25") - +# +LineHighlightP1OnCommand=diffuse,PlayerColor(PLAYER_1);diffusealpha,0.65;zoomtowidth,500;fadeleft,0.45;faderight,0.45; +LineHighlightP1ChangeCommand=finishtweening;diffusealpha,0.65; +LineHighlightP1ChangeToExitCommand=finishtweening;diffusealpha,0.15; +LineHighlightP2OnCommand=diffuse,PlayerColor(PLAYER_2);diffusealpha,0.65;zoomtowidth,500;fadeleft,0.45;faderight,0.45; +LineHighlightP2ChangeCommand=finishtweening;diffusealpha,0.65; +LineHighlightP2ChangeToExitCommand=finishtweening;diffusealpha,0.15; +# +ShowScrollBar=true +ScrollBarHeight=320 +ScrollBarTime=0.1 +ScrollBarX=SCREEN_CENTER_X+256+44 +ScrollBarY=SCREEN_CENTER_Y-24 +# +ShowExplanations=true +ExplanationP1X=SCREEN_CENTER_X-256-20 +ExplanationP1Y=SCREEN_CENTER_Y+174 +ExplanationP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,0;cropright,1;linear,0.5;cropright,0 +ExplanationP1OffCommand= +ExplanationP2X=SCREEN_CENTER_X+256+20 +ExplanationP2Y=SCREEN_CENTER_Y+174 +ExplanationP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,1;cropright,1;linear,0.5;cropright,0 +ExplanationP2OffCommand= +ExplanationTogetherX=SCREEN_CENTER_X +ExplanationTogetherY=SCREEN_CENTER_Y+184 +ExplanationTogetherOnCommand=shadowlength,0;zoom,0.75;wrapwidthpixels,(SCREEN_WIDTH*0.9375)*1.25;cropright,1;linear,0.5;cropright,0 +ExplanationTogetherOffCommand=stoptweening [ScreenOptionsMaster] [ScreenOptionsSimple] @@ -1322,7 +1363,7 @@ LineFancyUIBG="lua,ThemePrefRow('FancyUIBG')" [ScreenReloadSongs] [ScreenPlayerOptions] -LineNames="1,8,14,2,3A,3B,4,5,6,R,7,9,10,11,12,13,SF,17,16" +LineNames="1,8,14,2,3A,3B,4,5,6,R1,R2,7,9,10,11,12,13,SF,17,16" LineSF="lua,OptionRowScreenFilter()" Line17="lua,OptionRowProTiming()" Line18="list,Characters" @@ -1480,12 +1521,12 @@ StepsDescriptionP2OffCommand= PlayerOptionsP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") # PlayerOptionsP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") PlayerOptionsP1Y=SCREEN_CENTER_Y+82 -PlayerOptionsP1OnCommand=draworder,101;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 +PlayerOptionsP1OnCommand=draworder,101;shadowlength,1;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 PlayerOptionsP1OffCommand= PlayerOptionsP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") # PlayerOptionsP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") PlayerOptionsP2Y=SCREEN_CENTER_Y+82 -PlayerOptionsP2OnCommand=draworder,101;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 +PlayerOptionsP2OnCommand=draworder,101;shadowlength,1;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 PlayerOptionsP2OffCommand= # StepsDisplayP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") diff --git a/Themes/test/ThemeInfo.ini b/Themes/test/ThemeInfo.ini index 7af2151e33..65708f0265 100644 --- a/Themes/test/ThemeInfo.ini +++ b/Themes/test/ThemeInfo.ini @@ -1,3 +1,3 @@ [ThemeInfo] -DisplayName=test +DisplayName=Test Author=Midiman \ No newline at end of file diff --git a/Themes/test/metrics.ini b/Themes/test/metrics.ini index c114dabdfa..1f533cb596 100644 --- a/Themes/test/metrics.ini +++ b/Themes/test/metrics.ini @@ -2,10 +2,11 @@ FallbackTheme=default [ScreenTitleMenu] # new scroll for wrapping +ScrollerY=SCREEN_CENTER_Y*1.25 ScrollerTransform=function(self,offset,itemIndex,numItems) \ self:y((28)*(itemIndex-(numItems-1)/2)); \ - self:x(math.floor(itemIndex/5) * 128); \ end; +# --self:y((28)*(itemIndex-(numItems-1)/2)); # more choices for debug stuff DefaultChoice="GameStart" # new stuff diff --git a/_assets/NoteSkins/dance/midi-note/res/Explosion.psd b/_assets/NoteSkins/dance/midi-note/res/Explosion.psd new file mode 100644 index 0000000000..01d56fb72f Binary files /dev/null and b/_assets/NoteSkins/dance/midi-note/res/Explosion.psd differ diff --git a/_assets/Themes/default/~res/DualScrollbars .psd b/_assets/Themes/default/~res/DualScrollbars .psd new file mode 100644 index 0000000000..65efb85b06 Binary files /dev/null and b/_assets/Themes/default/~res/DualScrollbars .psd differ