diff --git a/Themes/default/BGAnimations/Fade in.lua b/Themes/default/BGAnimations/Fade in.lua new file mode 100644 index 0000000000..5d57716f14 --- /dev/null +++ b/Themes/default/BGAnimations/Fade in.lua @@ -0,0 +1,8 @@ +local fSleepTime = THEME:GetMetric( Var "LoadingScreen","ScreenOutDelay"); +return Def.ActorFrame { + StartTransitioningCommand=cmd(sleep,0.15+fSleepTime); + Def.Quad { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT;draworder,10000); + StartTransitioningCommand=cmd(diffuse,color("0,0,0,0");diffusealpha,1;sleep,fSleepTime;linear,0.3;diffusealpha,0); + }; +}; diff --git a/Themes/default/BGAnimations/Fade out.lua b/Themes/default/BGAnimations/Fade out.lua new file mode 100644 index 0000000000..4b52ee72c9 --- /dev/null +++ b/Themes/default/BGAnimations/Fade out.lua @@ -0,0 +1,7 @@ +return Def.ActorFrame { + StartTransitioningCommand=cmd(sleep,0.15); + Def.Quad { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT;draworder,10000); + StartTransitioningCommand=cmd(diffusealpha,0;diffuse,color("0,0,0,0");linear,0.3;diffusealpha,1); + }; +}; diff --git a/Themes/default/BGAnimations/Online background/_barcode (stretch).png b/Themes/default/BGAnimations/Online background/_barcode (stretch).png new file mode 100644 index 0000000000..644f69bd0f Binary files /dev/null and b/Themes/default/BGAnimations/Online background/_barcode (stretch).png differ diff --git a/Themes/default/BGAnimations/Online background/_base.png b/Themes/default/BGAnimations/Online background/_base.png new file mode 100644 index 0000000000..5771a8f36e Binary files /dev/null and b/Themes/default/BGAnimations/Online background/_base.png differ diff --git a/Themes/default/BGAnimations/Online background/default.lua b/Themes/default/BGAnimations/Online background/default.lua new file mode 100644 index 0000000000..e6f63a2fea --- /dev/null +++ b/Themes/default/BGAnimations/Online background/default.lua @@ -0,0 +1,26 @@ +-- You know what, I guess the "fancy UI background" theme option can be put to use. +if ThemePrefs.Get("FancyUIBG") then + return Def.ActorFrame { + Def.Quad { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;diffuse,color("#093A3E");diffusetopedge,color("#000000");); + }; + + LoadActor("_base") .. { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;blend,'BlendMode_Add';); + }, + + LoadActor("_barcode") .. { + InitCommand=cmd(zoomto,36,1024;diffuse,color("#65F0FD");x,SCREEN_LEFT+15;y,SCREEN_CENTER_Y;diffusealpha,0.1); + OnCommand=cmd(customtexturerect,0,0,1,1;texcoordvelocity,0,-0.1); + }; + + LoadActor("_barcode") .. { + InitCommand=cmd(zoomto,36,1024;diffuse,color("#65F0FD");x,SCREEN_RIGHT-15;y,SCREEN_CENTER_Y;diffusealpha,0.1); + OnCommand=cmd(customtexturerect,0,0,1,1;texcoordvelocity,0,0.1); + }; + }; +else + return Def.Quad { + InitCommand=cmd(zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;diffuse,color("#222222");diffusetopedge,color("#000000");); + }; +end \ No newline at end of file diff --git a/Themes/default/BGAnimations/Screen cancel/default.lua b/Themes/default/BGAnimations/Screen cancel/default.lua index 6c32c81a02..7b3e9b794d 100644 --- a/Themes/default/BGAnimations/Screen cancel/default.lua +++ b/Themes/default/BGAnimations/Screen cancel/default.lua @@ -1,7 +1,7 @@ return Def.ActorFrame { Def.Quad { InitCommand=cmd(Center;zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT); - OnCommand=cmd(diffuse,color("0,0,0,0.5");sleep,5/60;diffusealpha,1;sleep,5/60); + StartTransitioningCommand=cmd(diffuse,color("0,0,0,0.5");sleep,5/60;diffusealpha,1;sleep,5/60); }; LoadActor(THEME:GetPathS("_Screen","cancel")) .. { IsAction= true, diff --git a/Themes/default/BGAnimations/Screen out/default.lua b/Themes/default/BGAnimations/Screen out/default.lua index d62b6e1e06..8047ad9d00 100644 --- a/Themes/default/BGAnimations/Screen out/default.lua +++ b/Themes/default/BGAnimations/Screen out/default.lua @@ -1,8 +1,7 @@ -local fSleepTime = THEME:GetMetric( Var "LoadingScreen","ScreenOutDelay"); - return Def.ActorFrame { + StartTransitioningCommand=cmd(sleep,0.7); Def.Quad { - InitCommand=cmd(Center;zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT); - OnCommand=cmd(diffuse,color("0,0,0,0");sleep,fSleepTime;linear,0.01;diffusealpha,1); + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT;draworder,10000); + StartTransitioningCommand=cmd(diffusealpha,0;diffuse,color("0,0,0,0");sleep,0.6;linear,0.15;diffusealpha,0); }; -}; \ No newline at end of file +}; diff --git a/Themes/default/BGAnimations/ScreenCaution in.redir b/Themes/default/BGAnimations/ScreenCaution in.redir new file mode 100644 index 0000000000..9010d9731a --- /dev/null +++ b/Themes/default/BGAnimations/ScreenCaution in.redir @@ -0,0 +1 @@ +Fade in \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenCaution overlay/_warning bg.png b/Themes/default/BGAnimations/ScreenCaution overlay/_warning bg.png index ff85f7840c..1f8c35a08e 100644 Binary files a/Themes/default/BGAnimations/ScreenCaution overlay/_warning bg.png and b/Themes/default/BGAnimations/ScreenCaution overlay/_warning bg.png differ diff --git a/Themes/default/BGAnimations/ScreenCaution overlay/default.lua b/Themes/default/BGAnimations/ScreenCaution overlay/default.lua index e0c6971d5a..35e5f84622 100644 --- a/Themes/default/BGAnimations/ScreenCaution overlay/default.lua +++ b/Themes/default/BGAnimations/ScreenCaution overlay/default.lua @@ -1,45 +1,37 @@ local t = Def.ActorFrame {}; +t[#t+1] = LoadActor(THEME:GetPathG("common bg", "base")) .. { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT) + }; + -- Fade t[#t+1] = Def.ActorFrame { InitCommand=cmd(Center); Def.Quad { InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); - OnCommand=cmd(diffuse,Color.Black;diffusealpha,0;linear,0.5;diffusealpha,0.75); - OffCommand=cmd(linear,0.25;diffusealpha,0); + OnCommand=cmd(diffuse,Color.Black;diffusealpha,0.8); }; }; -- Emblem t[#t+1] = Def.ActorFrame { - InitCommand=cmd(Center); + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y); OnCommand=cmd(diffusealpha,0.5); LoadActor("_warning bg") .. { - OnCommand=cmd(diffuse,Color.Yellow); - }; - Def.ActorFrame { - LoadActor("_exclamation") .. { - OnCommand=cmd(diffuse,Color.Yellow); - }; }; }; -- Text t[#t+1] = Def.ActorFrame { - InitCommand=cmd(Center;y,SCREEN_CENTER_Y); - OnCommand=cmd(addy,-96); - -- Underline - Def.Quad { - InitCommand=cmd(y,24;zoomto,256,2); - OnCommand=cmd(diffuse,color("#ffd400");shadowcolor,BoostColor(color("#ffd40077"),0.25);linear,0.25;zoomtowidth,256;fadeleft,0.25;faderight,0.25); - }; - LoadFont("Common Large") .. { + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-120); + OnCommand=cmd(diffusealpha,0;linear,0.2;diffusealpha,1); + LoadFont("_roboto condensed Bold 48px") .. { Text=Screen.String("Caution"); - OnCommand=cmd(skewx,-0.125;diffuse,color("#ffd400");strokecolor,ColorDarkTone(color("#ffd400"))); + OnCommand=cmd(skewx,-0.1;diffuse,color("#E6BF7C");diffusebottomedge,color("#FFB682");strokecolor,color("#594420");); }; - LoadFont("Common Normal") .. { + LoadFont("Common Fallback Font") .. { Text=Screen.String("CautionText"); InitCommand=cmd(y,128); - OnCommand=cmd(strokecolor,color("0,0,0,0.5");shadowlength,1;wrapwidthpixels,SCREEN_WIDTH-80); + OnCommand=cmd(strokecolor,color("0,0,0,0.5");shadowlength,1;wrapwidthpixels,SCREEN_WIDTH/0.5); }; }; -- diff --git a/Themes/default/BGAnimations/ScreenDemonstration overlay.lua b/Themes/default/BGAnimations/ScreenDemonstration overlay.lua new file mode 100644 index 0000000000..b8ec1e152f --- /dev/null +++ b/Themes/default/BGAnimations/ScreenDemonstration overlay.lua @@ -0,0 +1,76 @@ +return Def.ActorFrame{ + -- "header" + Def.Quad { + InitCommand=cmd(vertalign,top;x,_screen.cx;zoomto,_screen.w,80), + OnCommand=function(self) + self:diffuse(ScreenColor("Default")):diffusetopedge(ColorDarkTone(ScreenColor("Default"))):diffusealpha(0.8) + end + }, + -- The "header's" "shadow" + Def.Quad { + InitCommand=cmd(vertalign,top;x,_screen.cx;zoomto,SCREEN_WIDTH,8;y,80), + OnCommand=cmd(diffuse,Color("Black");fadebottom,1;diffusealpha,0.6) + }, + -- "footer" + Def.Quad { + InitCommand=cmd(vertalign,bottom;x,_screen.cx;y,_screen.h;zoomto,_screen.w,96), + OnCommand=function(self) + self:diffuse(ScreenColor("Default")):diffusebottomedge(ColorDarkTone(ScreenColor("Default"))):diffusealpha(0.8) + end + }, + -- The "footer's" "shadow" + Def.Quad { + InitCommand=cmd(vertalign,bottom;x,_screen.cx;y,_screen.h-96;zoomto,_screen.w,8), + OnCommand=cmd(diffuse,Color("Black");fadetop,1;diffusealpha,0.6) + }, + + -- A temporary frame for the jacket. + Def.Quad { + InitCommand=cmd(horizalign,right;vertalign,bottom;x,_screen.w-39;y,_screen.h-14;zoomto,192,192; + diffuse,ColorDarkTone(ScreenColor("Default"));diffusealpha,0.9) + }, + -- Jacket (real or not) of the currently playing song. + -- todo: make getting the jacket a bit more of a... global function? + Def.Sprite { + InitCommand=cmd(horizalign,right;vertalign,bottom;x,_screen.w-49;y,_screen.h-24), + OnCommand=function(self) + local song = GAMESTATE:GetCurrentSong() + if song and song:HasJacket() then + -- ...The jacket on ScreenEditMenu overlay uses LoadBanner instead of just Load. + -- Will it make any difference? ... I mean, probably not, but we'll see. + self:LoadBanner(song:GetJacketPath()) + elseif song and song:HasBackground() then + self:LoadBanner(song:GetBackgroundPath()) + else + self:LoadBanner(THEME:GetPathG("Common","fallback background")) + end + self:scaletoclipped(172,172) + end + }, + -- Song title. + Def.BitmapText { + Font = "Common Fallback Font", + InitCommand=cmd(horizalign,right;x,_screen.w-250;y,_screen.h-64;strokecolor,color("#42292E")), + OnCommand=function(self) + local song = GAMESTATE:GetCurrentSong() + if song then + self:settext(song:GetDisplayFullTitle()) + else + self:settext("") + end + end + }, + -- Song artist. + Def.BitmapText { + Font = "Common Fallback Font", + InitCommand=cmd(horizalign,right;x,_screen.w-250;y,_screen.h-40;zoom,0.7;strokecolor,color("#42292E")), + OnCommand=function(self) + local song = GAMESTATE:GetCurrentSong() + if song then + self:settext(song:GetDisplayArtist()) + else + self:settext("") + end + end + }, +} \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenEdit background.lua b/Themes/default/BGAnimations/ScreenEdit background.lua index 150a3537d8..d56728cf72 100644 --- a/Themes/default/BGAnimations/ScreenEdit background.lua +++ b/Themes/default/BGAnimations/ScreenEdit background.lua @@ -1,26 +1,15 @@ -local t = Def.ActorFrame { - InitCommand=cmd(fov,90); -}; +local t = Def.ActorFrame {}; + t[#t+1] = Def.ActorFrame { + FOV=90; InitCommand=cmd(Center); - LoadActor( THEME:GetPathB("ScreenWithMenuElements","background/_bg top") ) .. { + Def.Quad { InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); + OnCommand=cmd(diffuse,ColorMidTone(color("#451A20"));diffusebottomedge,ColorMidTone(color("#5E2A30"));diffusealpha,0.9); }; - Def.Quad{ - InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT;diffuse,color("0.2,0.2,0.2,0")); - OnCommand=function(self) - local topScreen = SCREENMAN:GetTopScreen() - if topScreen then - local screenName = topScreen:GetName() - if screenName == "ScreenEdit" or screenName == "ScreenPractice" then - self:diffusealpha(0.95) - else - self:diffusealpha(0.65) - end; - end; - end; - EditorShowMessageCommand=cmd(stoptweening;linear,0.5;diffusealpha,0.95); - EditorHideMessageCommand=cmd(stoptweening;linear,0.5;diffusealpha,0.65); + LoadActor (GetSongBackground()) .. { + InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); + OnCommand=cmd(diffusealpha,0.1;); }; }; diff --git a/Themes/default/BGAnimations/ScreenEditMenu background.lua b/Themes/default/BGAnimations/ScreenEditMenu background.lua new file mode 100644 index 0000000000..50e40cbc2d --- /dev/null +++ b/Themes/default/BGAnimations/ScreenEditMenu background.lua @@ -0,0 +1,18 @@ +local t = Def.ActorFrame {}; + +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(Center); + Def.Quad { + InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); + OnCommand=cmd(diffuse,color("#947B7E");diffusebottomedge,color("#D698A0")); + }; +}; + +t[#t+1] = Def.ActorFrame { + Def.Quad { + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+20;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT*0.70;); + OnCommand=cmd(diffuse,color("#61414B");diffusealpha,0.4); + }; +}; + +return t; diff --git a/Themes/default/BGAnimations/ScreenEditMenu in.lua b/Themes/default/BGAnimations/ScreenEditMenu in.lua new file mode 100644 index 0000000000..42fe2d755e --- /dev/null +++ b/Themes/default/BGAnimations/ScreenEditMenu in.lua @@ -0,0 +1,6 @@ +local transition_params = { + color = color("#914D56"), + transition_type = "in" +} + +return LoadActor(THEME:GetPathB("", "_transition"), transition_params) diff --git a/Themes/default/BGAnimations/ScreenEvaluation decorations/_bannerframe.png b/Themes/default/BGAnimations/ScreenEvaluation decorations/_bannerframe.png new file mode 100644 index 0000000000..fb4408edea Binary files /dev/null and b/Themes/default/BGAnimations/ScreenEvaluation decorations/_bannerframe.png differ diff --git a/Themes/default/BGAnimations/ScreenEvaluation decorations/_underbanner.png b/Themes/default/BGAnimations/ScreenEvaluation decorations/_underbanner.png new file mode 100644 index 0000000000..3a7860f2bb Binary files /dev/null and b/Themes/default/BGAnimations/ScreenEvaluation decorations/_underbanner.png differ diff --git a/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua b/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua index 1a738fc954..9ccb78b47f 100644 --- a/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua @@ -1,259 +1,351 @@ -local function GraphDisplay( pn ) - local t = Def.ActorFrame { - LoadActor( THEME:GetPathG("_GraphDisplay","overlay")) .. { - InitCommand=cmd(y,6); - }; - Def.GraphDisplay { - InitCommand=cmd(Load,"GraphDisplay";); - BeginCommand=function(self) - local ss = SCREENMAN:GetTopScreen():GetStageStats(); - self:Set( ss, ss:GetPlayerStageStats(pn) ); - self:player( pn ); - end - }; - }; - return t; +-- ...So I realize that I completely ignored almost each and every +-- metrics-bound element this screen could use, but it's okay, right? +-- todo: make a more metrics-bound version of this screen anyways for beginner accessibility. +-- todo: accommodate EvaluationSummary too + +local t = LoadFallbackB() + +-- A very useful table... +local eval_lines = { + "W1", + "W2", + "W3", + "W4", + "W5", + "Miss", + "Held", + "MaxCombo" +} + +-- And a function to make even better use out of the table. +local function GetJLineValue(line, pl) + if line == "Held" then + return STATSMAN:GetCurStageStats():GetPlayerStageStats(pl):GetHoldNoteScores("HoldNoteScore_Held") + elseif line == "MaxCombo" then + return STATSMAN:GetCurStageStats():GetPlayerStageStats(pl):MaxCombo() + else + return STATSMAN:GetCurStageStats():GetPlayerStageStats(pl):GetTapNoteScores("TapNoteScore_" .. line) + end + return "???" end -local function ComboGraph( pn ) - local t = Def.ActorFrame { - Def.ComboGraph { - InitCommand=cmd(Load,"ComboGraph";); - BeginCommand=function(self) - local ss = SCREENMAN:GetTopScreen():GetStageStats(); - self:Set( ss, ss:GetPlayerStageStats(pn) ); - self:player( pn ); - end - }; - }; - return t; +-- You know what, we'll deal with getting the overall scores with a function too. +local function GetPlScore(pl, scoretype) + local primary_score = STATSMAN:GetCurStageStats():GetPlayerStageStats(pl):GetScore() + local secondary_score = FormatPercentScore(STATSMAN:GetCurStageStats():GetPlayerStageStats(pl):GetPercentDancePoints()) + + if PREFSMAN:GetPreference("PercentageScoring") then + primary_score, secondary_score = secondary_score, primary_score + end + + if scoretype == "primary" then + return primary_score + else + return secondary_score + end end -local function PercentScore( pn ) - local t = LoadFont("Common normal")..{ - InitCommand=cmd(zoom,0.625;shadowlength,1;player,pn); - BeginCommand=cmd(playcommand,"Set"); - SetCommand=function(self) - -- todo: color by difficulty - local SongOrCourse, StepsOrTrail; - if GAMESTATE:IsCourseMode() then - SongOrCourse = GAMESTATE:GetCurrentCourse() - StepsOrTrail = GAMESTATE:GetCurrentTrail(pn) +-- ################################################# +-- That's enough functions; let's get this done. + +-- Shared portion. +local mid_pane = Def.ActorFrame { + OnCommand=cmd(diffusealpha,0;sleep,0.3;decelerate,0.4;diffusealpha,1); + OffCommand=cmd(decelerate,0.3;diffusealpha,0); + -- Song/course banner. + Def.Sprite { + InitCommand=function(self) + local target = GAMESTATE:IsCourseMode() and GAMESTATE:GetCurrentCourse() or GAMESTATE:GetCurrentSong() + if target and target:HasBanner() then + self:Load(target:GetBannerPath()) else - SongOrCourse = GAMESTATE:GetCurrentSong() - StepsOrTrail = GAMESTATE:GetCurrentSteps(pn) - end; - if SongOrCourse and StepsOrTrail then - local st = StepsOrTrail:GetStepsType(); - local diff = StepsOrTrail:GetDifficulty(); - local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; - local cd = GetCustomDifficulty(st, diff, courseType); - self:diffuse(CustomDifficultyToColor(cd)); - self:shadowcolor(CustomDifficultyToDarkColor(cd)); + self:Load(THEME:GetPathG("Common fallback", "banner")) end + self:scaletoclipped(468,146):x(_screen.cx):y(_screen.cy-173):zoom(0.8) + end + }, + -- Banner frame. + LoadActor("_bannerframe") .. { + InitCommand=cmd(x,_screen.cx;y,_screen.cy-172;zoom,0.8) + } +} - local pss = STATSMAN:GetPlayedStageStats(1):GetPlayerStageStats(pn); - if pss then - local pct = pss:GetPercentDancePoints(); - if pct == 1 then - self:settext("100%"); + +-- Text that's slapped on top of the banner frame. +if not GAMESTATE:IsCourseMode() then + mid_pane[#mid_pane+1] = LoadActor(THEME:GetPathG("ScreenEvaluation", "StageDisplay")) .. { + OnCommand=cmd(x,_screen.cx;y,_screen.cy-98;diffuse,color("#9d324e")) + } +else + + mid_pane[#mid_pane+1] = Def.BitmapText { + Font="_roboto condensed Bold italic 24px", + InitCommand=function(self) + local course = GAMESTATE:GetCurrentCourse() + self:settext(string.upper(ToEnumShortString( course:GetCourseType() ))) + self:x(_screen.cx):y(_screen.cy-98):diffuse(color("#9d324e")) + end, + OnCommand=cmd(playcommand,"Set";zoomx,0.8;diffusealpha,0;decelerate,0.4;zoomx,1;diffusealpha,1), + OffCommand=cmd(decelerate,0.4;diffusealpha,0) + } +end + +-- Each line's text, and associated decorations. +for i, v in ipairs(eval_lines) do + local spacing = 38*i + local cur_line = "JudgmentLine_" .. v + + mid_pane[#mid_pane+1] = Def.ActorFrame{ + InitCommand=cmd(x,_screen.cx;y,(_screen.cy/1.4)+(spacing)), + OffCommand=function(self) + self:sleep(0.06 * i):decelerate(0.1):diffusealpha(0) + end; + Def.Quad { + InitCommand=cmd(zoomto,400,36;diffuse,JudgmentLineToColor(cur_line);fadeleft,0.5;faderight,0.5;); + OnCommand=function(self) + self:diffusealpha(0):sleep(0.1 * i):decelerate(0.9):diffusealpha(1) + end; + }; + + Def.BitmapText { + Font = "_roboto condensed Bold 48px", + InitCommand=cmd(zoom,0.6;diffuse,color("#000000");settext,string.upper(JudgmentLineToLocalizedString(cur_line))); + OnCommand=function(self) + self:diffusealpha(0):sleep(0.1 * i):decelerate(0.9):diffusealpha(0.6) + end; + } + } +end + +t[#t+1] = mid_pane + +-- ################################################# +-- Time to deal with all of the player stats. ALL OF THEM. + +local eval_parts = Def.ActorFrame {} + +for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do + -- Some things to help positioning + local step_count_offs = string.find(p, "P1") and -150 or 150 + local grade_parts_offs = string.find(p, "P1") and -320 or 320 + local p_grade = STATSMAN:GetCurStageStats():GetPlayerStageStats(p):GetGrade() + + -- Step counts. + for i, v in ipairs(eval_lines) do + local spacing = 38*i + eval_parts[#eval_parts+1] = Def.BitmapText { + Font = "_overpass 36px", + InitCommand=cmd(x,_screen.cx + step_count_offs;y,(_screen.cy/1.4)+(spacing);diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;diffusealpha,1.0;shadowlength,1), + OnCommand=function(self) + self:settext(GetJLineValue(v, p)) + if string.find(p, "P1") then + self:horizalign(right) else - self:settext(FormatPercentScore(pct)); - end; + self:horizalign(left) + end + self:diffusealpha(0):sleep(0.1 * i):decelerate(0.9):diffusealpha(1) end; - end; - }; - return t; -end - -local t = LoadFallbackB(); - -t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); - -if ShowStandardDecoration("GraphDisplay") and GAMESTATE:GetPlayMode() ~= "PlayMode_Rave" then - for pn in ivalues(GAMESTATE:GetHumanPlayers()) do - t[#t+1] = StandardDecorationFromTable( "GraphDisplay" .. ToEnumShortString(pn), GraphDisplay(pn) ); - end -end - -if ShowStandardDecoration("ComboGraph") and GAMESTATE:GetPlayMode() ~= "PlayMode_Rave" then - for pn in ivalues(GAMESTATE:GetHumanPlayers()) do - t[#t+1] = StandardDecorationFromTable( "ComboGraph" .. ToEnumShortString(pn), ComboGraph(pn) ); - end -end - -if ShowStandardDecoration("StepsDisplay") then - for pn in ivalues(PlayerNumber) do - local t2 = Def.StepsDisplay { - InitCommand=cmd(Load,"StepsDisplayEvaluation",pn;SetFromGameState,pn;); - UpdateNetEvalStatsMessageCommand=function(self,param) - if GAMESTATE:IsPlayerEnabled(pn) then - self:SetFromSteps(param.Steps) - end; + OffCommand=function(self) + self:sleep(0.1 * i):decelerate(0.3):diffusealpha(0) end; - }; - t[#t+1] = StandardDecorationFromTable( "StepsDisplay" .. ToEnumShortString(pn), t2 ); - t[#t+1] = StandardDecorationFromTable( "PercentScore" .. ToEnumShortString(pn), PercentScore(pn) ); + } end -end + + -- Primary score. + eval_parts[#eval_parts+1] = Def.BitmapText { + Font = "_overpass 36px", + InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-65);diffuse,ColorMidTone(PlayerColor(p));zoom,1;shadowlength,1), + OnCommand=function(self) + self:settext(GetPlScore(p, "primary")):diffusealpha(0):sleep(0.5):decelerate(0.3):diffusealpha(1) + end; + OffCommand=function(self) + self:decelerate(0.3):diffusealpha(0) + end; + } + -- Secondary score. + eval_parts[#eval_parts+1] = Def.BitmapText { + Font = "_overpass 36px", + InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-65)+30;diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;shadowlength,1), + OnCommand=function(self) + self:settext(GetPlScore(p, "secondary")):diffusealpha(0):sleep(0.6):decelerate(0.3):diffusealpha(1) + end; + OffCommand=function(self) + self:sleep(0.1):decelerate(0.3):diffusealpha(0) + end; + } + + eval_parts[#eval_parts+1] = Def.BitmapText { + Font = "Common Condensed", + InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-65)+56;diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;shadowlength,1), + OnCommand=function(self) + local record = STATSMAN:GetCurStageStats():GetPlayerStageStats(p):GetPersonalHighScoreIndex() + local hasPersonalRecord = record ~= -1 + self:visible(hasPersonalRecord); + local text = string.format(THEME:GetString("ScreenEvaluation", "PersonalRecord"), record+1) + self:settext(text) + self:diffusealpha(0):sleep(0.6):decelerate(0.3):diffusealpha(1) + end; + OffCommand=function(self) + self:sleep(0.1):decelerate(0.3):diffusealpha(0) + end; + } -for pn in ivalues(PlayerNumber) do - local MetricsName = "MachineRecord" .. PlayerNumberToString(pn); - t[#t+1] = LoadActor( THEME:GetPathG(Var "LoadingScreen", "MachineRecord"), pn ) .. { - InitCommand=function(self) - self:player(pn); - self:name(MetricsName); - ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); - end; - }; -end - -for pn in ivalues(PlayerNumber) do - local MetricsName = "PersonalRecord" .. PlayerNumberToString(pn); - t[#t+1] = LoadActor( THEME:GetPathG(Var "LoadingScreen", "PersonalRecord"), pn ) .. { - InitCommand=function(self) - self:player(pn); - self:name(MetricsName); - ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); - end; - }; -end - -for pn in ivalues(PlayerNumber) do - local MetricsName = "StageAward" .. PlayerNumberToString(pn); - t[#t+1] = LoadActor( THEME:GetPathG(Var "LoadingScreen", "StageAward"), pn ) .. { - InitCommand=function(self) - self:player(pn); - self:name(MetricsName); - ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); - end; - BeginCommand=cmd(playcommand,"Set"); - SetCommand=function(self) - local tStats = THEME:GetMetric(Var "LoadingScreen", "Summary") and STATSMAN:GetAccumPlayedStageStats() or STATSMAN:GetCurStageStats(); - tStats = tStats:GetPlayerStageStats(pn); - if tStats:GetStageAward() and not tStats:GetFailed() then - self:settext( THEME:GetString( "StageAward", ToEnumShortString( tStats:GetStageAward() ) ) ); - else - self:settext( "" ); - end - end; - }; -end - -for pn in ivalues(PlayerNumber) do - local MetricsName = "PeakComboAward" .. PlayerNumberToString(pn); - t[#t+1] = LoadActor( THEME:GetPathG(Var "LoadingScreen", "PeakComboAward"), pn ) .. { - InitCommand=function(self) - self:player(pn); - self:name(MetricsName); - ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); - end; - BeginCommand=cmd(playcommand,"Set"); - SetCommand=function(self) - local tStats = THEME:GetMetric(Var "LoadingScreen", "Summary") and STATSMAN:GetAccumPlayedStageStats() or STATSMAN:GetCurStageStats(); - tStats = tStats:GetPlayerStageStats(pn); - if tStats:GetPeakComboAward() then - self:settext( THEME:GetString( "PeakComboAward", ToEnumShortString( tStats:GetPeakComboAward() ) ) ); - else - self:settext( "" ); - end - end; - }; -end - -t[#t+1] = StandardDecorationFromFileOptional("SongInformation","SongInformation") .. { - BeginCommand=function(self) - local SongOrCourse; - if GAMESTATE:GetCurrentSong() then - SongOrCourse = GAMESTATE:GetCurrentSong(); - elseif GAMESTATE:GetCurrentCourse() then - SongOrCourse = GAMESTATE:GetCurrentCourse(); - else - return - end + -- Letter grade and associated parts. + eval_parts[#eval_parts+1] = Def.ActorFrame{ + InitCommand=cmd(x,_screen.cx + grade_parts_offs;y,_screen.cy/1.91), - if SongOrCourse:HasBanner() then - self:visible(false); - else - self:visible(true); - end - end; - SetCommand=function(self) - local c = self:GetChildren(); - local SongOrCourse; - if GAMESTATE:GetCurrentSong() then - SongOrCourse = GAMESTATE:GetCurrentSong(); + --Containers. todo: replace with, erm... not quads + Def.Quad { + InitCommand=cmd(zoomto,190,115;diffuse,ColorMidTone(PlayerColor(p))), + OnCommand=function(self) + self:diffusealpha(0):decelerate(0.4):diffusealpha(0.5) + end, + OffCommand=cmd(decelerate,0.3;diffusealpha,0) + }, + Def.Quad { + InitCommand=cmd(y,120;zoomto,190,120;diffuse,color("#fce1a1");), + OnCommand=function(self) + self:diffusealpha(0):decelerate(0.4):diffusealpha(0.3) + end, + OffCommand=cmd(decelerate,0.3;diffusealpha,0) + }, + + LoadActor(THEME:GetPathG("GradeDisplay", "Grade " .. p_grade)) .. { + InitCommand=cmd(zoom,0.75;); + OnCommand=function(self) + self:diffusealpha(0):zoom(1):sleep(0.63):decelerate(0.4):zoom(0.75):diffusealpha(1) + if STATSMAN:GetCurStageStats():GetPlayerStageStats(p):GetStageAward() then + self:sleep(0.1):decelerate(0.4):addy(-12); + else + self:addy(0); + end; + end; + OffCommand=cmd(decelerate,0.3;diffusealpha,0); + }, + + Def.BitmapText { + Font = "_roboto condensed 24px", + InitCommand=cmd(diffuse,Color.White;zoom,1;addy,38;maxwidth,160;uppercase,true;diffuse,ColorLightTone(PlayerColor(p));strokecolor,ColorDarkTone(PlayerColor(p));diffusetopedge,Color.White;), + OnCommand=function(self) + if STATSMAN:GetCurStageStats():GetPlayerStageStats(p):GetStageAward() then + self:settext(THEME:GetString( "StageAward", ToEnumShortString(STATSMAN:GetCurStageStats():GetPlayerStageStats(p):GetStageAward()) )) + self:diffusealpha(0):zoomx(0.5):sleep(1):decelerate(0.4):zoomx(1):diffusealpha(1) + end + end; + OffCommand=cmd(decelerate,0.3;diffusealpha,0); + } + } +end - c.TextTitle:settext( SongOrCourse:GetDisplayMainTitle() or nil ); - c.TextSubtitle:settext( SongOrCourse:GetDisplaySubTitle() or nil ); - c.TextArtist:settext( SongOrCourse:GetDisplayArtist() or nil ); +t[#t+1] = eval_parts - if SongOrCourse:GetDisplaySubTitle() == "" then - c.TextTitle:visible(true); - c.TextTitle:y(-16.5/2); - c.TextSubtitle:visible(false); - c.TextSubtitle:y(0); - c.TextArtist:visible(true); - c.TextArtist:y(18/2); - else - c.TextTitle:visible(true); - c.TextTitle:y(-16.5); - c.TextSubtitle:visible(true); - c.TextSubtitle:y(0); - c.TextArtist:visible(true); - c.TextArtist:y(18); + +-- todo: replace. +if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then + if GAMESTATE:IsCourseMode() == false then + -- Difficulty banner + local grade_parts_offs = -320 + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(horizalign,center;x,_screen.cx + grade_parts_offs;y,_screen.cy-98;visible,not GAMESTATE:IsCourseMode();); + OnCommand=cmd(zoomx,0.3;diffusealpha,0;sleep,0.5;decelerate,0.4;zoomx,1;diffusealpha,1;); + OffCommand=cmd(decelerate,0.4;diffusealpha,0;); + LoadFont("Common Fallback") .. { + InitCommand=cmd(zoom,1;horizalign,center;shadowlength,1); + OnCommand=cmd(playcommand,"Set";); + CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set";); + ChangedLanguageDisplayMessageCommand=cmd(playcommand,"Set";); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cdp1 = GetCustomDifficulty(st, diff, courseType); + self:settext(string.upper(THEME:GetString("CustomDifficulty",ToEnumShortString(diff))) .. " " .. stepsP1:GetMeter()); + self:diffuse(ColorDarkTone(CustomDifficultyToColor(cdp1))); + else + self:settext("") + end + else + self:settext("") + end end --- self:playcommand("Tick"); - elseif GAMESTATE:GetCurrentCourse() then - SongOrCourse = GAMESTATE:GetCurrentCourse(); - - c.TextTitle:settext( SongOrCourse:GetDisplayMainTitle() or nil ); - c.TextSubtitle:settext( SongOrCourse:GetDisplaySubTitle() or nil ); - c.TextArtist:settext( SongOrCourse:GetDisplayArtist() or nil ); - --- self:playcommand("Tick"); - else - SongOrCourse = nil; - - c.TextTitle:settext(""); - c.TextSubtitle:settext(""); - c.TextArtist:settext(""); - - self:playcommand("Hide") - end + }; + }; end; --- OnCommand=cmd(playcommand,"Set"); - CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); - CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); - DisplayLanguageChangedMessageCommand=cmd(playcommand,"Set"); -}; + +end; + + +if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then + + if GAMESTATE:IsCourseMode() == false then + local grade_parts_offs = 320 + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(horizalign,center;x,_screen.cx + grade_parts_offs;y,_screen.cy-98;visible,not GAMESTATE:IsCourseMode();); + OnCommand=cmd(zoomx,0.3;diffusealpha,0;sleep,0.5;decelerate,0.4;zoomx,1;diffusealpha,1;); + OffCommand=cmd(decelerate,0.4;diffusealpha,0;); + LoadFont("Common Fallback") .. { + InitCommand=cmd(zoom,1;horizalign,center;shadowlength,1); + OnCommand=cmd(playcommand,"Set";); + CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set";); + ChangedLanguageDisplayMessageCommand=cmd(playcommand,"Set";); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cdp2 = GetCustomDifficulty(st, diff, courseType); + self:settext(string.upper(THEME:GetString("CustomDifficulty",ToEnumShortString(diff))) .. " " .. stepsP2:GetMeter()); + self:diffuse(ColorDarkTone(CustomDifficultyToColor(cdp2))); + else + self:settext("") + end + else + self:settext("") + end + end + }; + }; + + end; + +end; + +t[#t+1] = Def.BitmapText { + Font = "Common Italic Condensed", + Condition=GAMESTATE:HasEarnedExtraStage(); + InitCommand=cmd(horizalign,center;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-244;zoom,1;diffuse,color("#EC3F99");diffusebottomedge,color("#AB3468");), + OnCommand=function(self) + local text = string.upper(THEME:GetString("ScreenEvaluation", "ExtraUnlocked")) + self:settext(text) + self:diffusealpha(0):zoomx(0.7):sleep(1.3):decelerate(0.3):diffusealpha(1):zoomx(1) + end; + OffCommand=function(self) + self:sleep(0.1):decelerate(0.3):diffusealpha(0) + end; + } + t[#t+1] = StandardDecorationFromFileOptional("LifeDifficulty","LifeDifficulty"); t[#t+1] = StandardDecorationFromFileOptional("TimingDifficulty","TimingDifficulty"); -t[#t+1] = StandardDecorationFromFileOptional("GameType","GameType"); -t[#t+1] = Def.ActorFrame { - Condition=GAMESTATE:HasEarnedExtraStage() and GAMESTATE:IsExtraStage() and not GAMESTATE:IsExtraStage2(); - InitCommand=cmd(draworder,105); - LoadActor( THEME:GetPathS("ScreenEvaluation","try Extra1" ) ) .. { - Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; - OnCommand=cmd(play); - }; - LoadActor( THEME:GetPathG("ScreenStageInformation","Stage extra1" ) ) .. { - Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; - InitCommand=cmd(Center); - OnCommand=cmd(diffusealpha,0;zoom,0.85;bounceend,1;zoom,1;diffusealpha,1;sleep,0;glow,Color("White");decelerate,1;glow,Color("Invisible");smooth,0.35;zoom,0.25;y,SCREEN_BOTTOM-72); - }; -}; -t[#t+1] = Def.ActorFrame { - Condition=GAMESTATE:HasEarnedExtraStage() and not GAMESTATE:IsExtraStage() and GAMESTATE:IsExtraStage2(); - InitCommand=cmd(draworder,105); - LoadActor( THEME:GetPathS("ScreenEvaluation","try Extra2" ) ) .. { - Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; - OnCommand=cmd(play); - }; - LoadActor( THEME:GetPathG("ScreenStageInformation","Stage extra2" ) ) .. { - Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; - InitCommand=cmd(Center); - OnCommand=cmd(diffusealpha,0;zoom,0.85;bounceend,1;zoom,1;diffusealpha,1;sleep,0;glow,Color("White");decelerate,1;glow,Color("Invisible");smooth,0.35;zoom,0.25;y,SCREEN_BOTTOM-72); - }; -}; -return t + +if gameplay_pause_count > 0 then + t[#t+1]= Def.BitmapText{ + Font= "_roboto condensed 24px", + Text= THEME:GetString("PauseMenu", "pause_count") .. ": " .. gameplay_pause_count, + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_BOTTOM-100+26;); + OnCommand=function(self) + self:diffuse(color("#512232")):zoom(0.8); + self:diffusealpha(0):sleep(0.5):smooth(0.3):diffusealpha(1); + end; + OffCommand=cmd(decelerate,0.3;diffusealpha,0); + } +end + +return t; + diff --git a/Themes/default/Graphics/GraphDisplay SongBoundary.redir b/Themes/default/BGAnimations/ScreenEvaluation out.redir similarity index 100% rename from Themes/default/Graphics/GraphDisplay SongBoundary.redir rename to Themes/default/BGAnimations/ScreenEvaluation out.redir diff --git a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua index c021dca519..7b83986532 100644 --- a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua @@ -1,231 +1,3 @@ -local maxSegments = 150 +local t = Def.ActorFrame {}; -local function CreateSegments(Player) - local t = Def.ActorFrame { }; - local bars = Def.ActorFrame{ Name="CoverBars" }; - local bpmFrame = Def.ActorFrame{ Name="BPMFrame"; }; - local stopFrame = Def.ActorFrame{ Name="StopFrame"; }; - local delayFrame = Def.ActorFrame{ Name="DelayFrame"; }; - local warpFrame = Def.ActorFrame{ Name="WarpFrame"; }; - local fakeFrame = Def.ActorFrame{ Name="FakeFrame"; }; - local scrollFrame = Def.ActorFrame{ Name="ScrollFrame"; }; - local speedFrame = Def.ActorFrame{ Name="SpeedFrame"; }; - - local fFrameWidth = 380; - local fFrameHeight = 8; - -- XXX: doesn't work in course mode -aj - if not GAMESTATE:IsSideJoined( Player ) then - return t - elseif not GAMESTATE:IsCourseMode() then - -- Straight rip off NCRX - local song = GAMESTATE:GetCurrentSong(); - local steps = GAMESTATE:GetCurrentSteps( Player ); - if steps then - local timingData = steps:GetTimingData(); - -- use the StepsSeconds, which will almost always be more proper - -- than a file with ITG2r21 compatibility. - if song then - local songLen = song:MusicLengthSeconds(); - - local firstBeatSecs = song:GetFirstSecond(); - local lastBeatSecs = song:GetLastSecond(); - - local bpms = timingData:GetBPMsAndTimes(true); - local stops = timingData:GetStops(true); - local delays = timingData:GetDelays(true); - local warps = timingData:GetWarps(true); - local fakes = timingData:GetFakes(true); - local scrolls = timingData:GetScrolls(true); - local speeds = timingData:GetSpeeds(true); - - -- we don't want too many segments to be shown. - local sumSegments = #bpms + #stops + #delays + #warps + #fakes + #scrolls + #speeds - if sumSegments > maxSegments then - return Def.ActorFrame{} - end - - local function CreateLine(beat, secs, firstShadow, firstDiffuse, secondShadow, firstEffect, secondEffect) - local beatTime = timingData:GetElapsedTimeFromBeat(beat); - if beatTime < 0 then beatTime = 0; end; - return Def.ActorFrame { - Def.Quad { - InitCommand=function(self) - self:shadowlength(0); - self:shadowcolor(color(firstShadow)); - -- set width - self:zoomto(math.max((secs/songLen)*fFrameWidth, 1), fFrameHeight); - -- find location - self:x((scale(beatTime,firstBeatSecs,lastBeatSecs,-fFrameWidth/2,fFrameWidth/2))); - end; - OnCommand=function(self) - self:diffuse(color(firstDiffuse)); - end; - }; - --[[ there's a cool effect that can't happen because we don't fade out like we did before - Def.Quad { - InitCommand=function(self) - --self:diffuse(HSVA(192,1,0.8,0.8)); - self:shadowlength(0); - self:shadowcolor(color(secondShadow)); - -- set width - self:zoomto(math.max((secs/songLen)*fFrameWidth, 1),fFrameHeight); - -- find location - self:x((scale(beatTime,firstBeatSecs,lastBeatSecs,-fFrameWidth/2,fFrameWidth/2))); - end; - OnCommand=function(self) - self:diffusealpha(1); - self:diffuseshift(); - self:effectcolor1(color(firstEffect)); - self:effectcolor2(color(secondEffect)); - self:effectclock('beat'); - self:effectperiod(1/8); - -- - self:diffusealpha(0); - self:sleep(beatTime+1); - self:diffusealpha(1); - self:linear(4); - self:diffusealpha(0); - end; - };]] - }; - end; - - for i=2,#bpms do - bpmFrame[#bpmFrame+1] = CreateLine(bpms[i][1], 0, - "#00808077", "#00808077", "#00808077", "#FF634777", "#FF000077"); - end; - - for i=1,#delays do - delayFrame[#delayFrame+1] = CreateLine(delays[i][1], delays[i][2], - "#FFFF0077", "#FFFF0077", "#FFFF0077", "#00FF0077", "#FF000077"); - end; - - for i=1,#stops do - stopFrame[#stopFrame+1] = CreateLine(stops[i][1], stops[i][2], - "#FFFFFF77", "#FFFFFF77", "#FFFFFF77", "#FFA50077", "#FF000077"); - end; - - for i=1,#scrolls do - scrollFrame[#scrollFrame+1] = CreateLine(scrolls[i][1], 0, - "#4169E177", "#4169E177", "#4169E177", "#0000FF77", "#FF000077"); - end; - - for i=1,#speeds do - -- TODO: Turn beats into seconds for this calculation? - speedFrame[#speedFrame+1] = CreateLine(speeds[i][1], 0, - "#ADFF2F77", "#ADFF2F77", "#ADFF2F77", "#7CFC0077", "#FF000077"); - end; - - for i=1,#warps do - warpFrame[#warpFrame+1] = CreateLine(warps[i][1], 0, - "#CC00CC77", "#CC00CC77", "#CC00CC77", "#FF33CC77", "#FF000077"); - end; - - for i=1,#fakes do - fakeFrame[#fakeFrame+1] = CreateLine(fakes[i][1], 0, - "#BC8F8F77", "#BC8F8F77", "#BC8F8F77", "#F4A46077", "#FF000077"); - end; - end; - bars[#bars+1] = bpmFrame; - bars[#bars+1] = scrollFrame; - bars[#bars+1] = speedFrame; - bars[#bars+1] = stopFrame; - bars[#bars+1] = delayFrame; - bars[#bars+1] = warpFrame; - bars[#bars+1] = fakeFrame; - t[#t+1] = bars; - --addition here: increase performance a ton by only rendering once - t[#t+1] = Def.ActorFrameTexture{Name="Target"} - t[#t+1] = Def.Sprite{Name="Actual"} - local FirstPass=true; - local function Draw(self) - kids=self:GetChildren(); - if FirstPass then - kids.Target:setsize(fFrameWidth,fFrameHeight); - kids.Target:EnableAlphaBuffer(true); - kids.Target:Create(); - - kids.Target:GetTexture():BeginRenderingTo(); - for k,v in pairs(kids) do - if k~="Target" and k~="Actual" then - v:Draw(); - end - end - kids.Target:GetTexture():FinishRenderingTo(); - - kids.Actual:SetTexture(kids.Target:GetTexture()); - FirstPass=false; - end - kids.Actual:Draw(); - end - t.InitCommand=function(self) self:SetDrawFunction(Draw); end - end - end - return t -end -local t = LoadFallbackB() -t[#t+1] = StandardDecorationFromFileOptional("ScoreFrame","ScoreFrame"); - -local function songMeterScale(val) return scale(val,0,1,-380/2,380/2) end - -for pn in ivalues(PlayerNumber) do - local MetricsName = "SongMeterDisplay" .. PlayerNumberToString(pn); - local songMeterDisplay = Def.ActorFrame{ - InitCommand=function(self) - self:player(pn); - 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'); - ActorUtil.LoadAllCommandsAndSetXY(self,MetricsName); - end; - }; - Def.Quad { - InitCommand=cmd(zoomto,2,8); - OnCommand=cmd(x,songMeterScale(0.25);diffuse,PlayerColor(pn);diffusealpha,0.5); - }; - Def.Quad { - InitCommand=cmd(zoomto,2,8); - OnCommand=cmd(x,songMeterScale(0.5);diffuse,PlayerColor(pn);diffusealpha,0.5); - }; - Def.Quad { - InitCommand=cmd(zoomto,2,8); - OnCommand=cmd(x,songMeterScale(0.75);diffuse,PlayerColor(pn);diffusealpha,0.5); - }; - Def.SongMeterDisplay { - StreamWidth=THEME:GetMetric( MetricsName, 'StreamWidth' ); - Stream=LoadActor( THEME:GetPathG( 'SongMeterDisplay', 'stream ' .. PlayerNumberToString(pn) ) )..{ - InitCommand=cmd(diffuse,PlayerColor(pn);diffusealpha,0.5;blend,Blend.Add;); - }; - Tip=LoadActor( THEME:GetPathG( 'SongMeterDisplay', 'tip ' .. PlayerNumberToString(pn) ) ) .. { InitCommand=cmd(visible,false); }; - }; - }; - if ThemePrefs.Get("TimingDisplay") == true then - songMeterDisplay[#songMeterDisplay+1] = CreateSegments(pn); - end - t[#t+1] = songMeterDisplay -end; - -for pn in ivalues(PlayerNumber) do - local MetricsName = "ToastyDisplay" .. PlayerNumberToString(pn); - t[#t+1] = LoadActor( THEME:GetPathG("Player", 'toasty'), pn ) .. { - InitCommand=function(self) - self:player(pn); - self:name(MetricsName); - ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); - end; - }; -end; - - -t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); -t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); -t[#t+1] = StandardDecorationFromFileOptional("SongTitle","SongTitle"); - -return t +return t \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenGameplay failed/default.lua b/Themes/default/BGAnimations/ScreenGameplay failed/default.lua index 4b99a97346..d70af544f1 100644 --- a/Themes/default/BGAnimations/ScreenGameplay failed/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay failed/default.lua @@ -1,20 +1,4 @@ -local longFail = ThemePrefs.Get("LongFail"); - local t = Def.ActorFrame{}; - -if longFail then - t[#t+1] = Def.Quad{ - InitCommand=cmd(FullScreen;diffuse,color("1,0,0,0");blend,Blend.Multiply); - OnCommand=cmd(decelerate,1.25;diffuse,color("0.75,0,0,0.75");linear,7;diffuse,color("0,0,0,1");sleep,1.25;linear,1;diffuse,color("1,0,0,1");decelerate,2;diffuse,color("0,0,0,1")); - }; - t[#t+1] = Def.Quad{ - InitCommand=cmd(FullScreen;diffuse,color("1,1,1,1");diffusealpha,0); - OnCommand=cmd(finishtweening;diffusealpha,1;decelerate,1.25;diffuse,color("1,0,0,0")); - }; - t[#t+1] = LoadActor(THEME:GetPathS( "ScreenGameplayAlternate", "failed" ) ) .. { - StartTransitioningCommand=cmd(play); - }; -else t[#t+1] = Def.Quad{ InitCommand=cmd(FullScreen;diffuse,color("1,0,0,0");blend,Blend.Multiply); OnCommand=cmd(smooth,1;diffuse,color("0.75,0,0,0.75");decelerate,2;diffuse,color("0,0,0,1")); @@ -26,6 +10,5 @@ else t[#t+1] = LoadActor(THEME:GetPathS( Var "LoadingScreen", "failed" ) ) .. { StartTransitioningCommand=cmd(play); }; -end; -return t; \ No newline at end of file +return t; diff --git a/Themes/default/BGAnimations/ScreenGameplay go/go.png b/Themes/default/BGAnimations/ScreenGameplay go/go.png index 6f6eba998d..9faec9cbc2 100644 Binary files a/Themes/default/BGAnimations/ScreenGameplay go/go.png and b/Themes/default/BGAnimations/ScreenGameplay go/go.png differ diff --git a/Themes/default/BGAnimations/ScreenGameplay in/default.lua b/Themes/default/BGAnimations/ScreenGameplay in/default.lua index 0a43fa337b..9a6b739e9d 100644 --- a/Themes/default/BGAnimations/ScreenGameplay in/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay in/default.lua @@ -2,7 +2,7 @@ local t = Def.ActorFrame {}; t[#t+1] = Def.Sprite { InitCommand=cmd(Center;diffusealpha,1); BeginCommand=cmd(LoadFromCurrentSongBackground); - OnCommand=function(self) + StartTransitioningCommand=function(self) if PREFSMAN:GetPreference("StretchBackgrounds") then self:SetSize(SCREEN_WIDTH,SCREEN_HEIGHT) else @@ -12,4 +12,8 @@ t[#t+1] = Def.Sprite { self:diffusealpha(0) end; }; + +-- Pause menu + t[#t+1]= LoadActor(THEME:GetPathG("", "pause_menu")) + return t; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenGameplay next course song/default.lua b/Themes/default/BGAnimations/ScreenGameplay next course song/default.lua index 6cdb2900c2..8636fb6933 100644 --- a/Themes/default/BGAnimations/ScreenGameplay next course song/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay next course song/default.lua @@ -10,30 +10,4 @@ t[#t+1] = Def.Sprite { FinishCommand=cmd(linear,0.1;glow,Color.Alpha(Color("White"),0.5);decelerate,0.4;glow,Color("Invisible");diffusealpha,0); }; -t[#t+1] = Def.ActorFrame { - InitCommand=cmd(Center); - OnCommand=cmd(stoptweening;addx,30;linear,3;addx,-30); - LoadFont("Common Normal") .. { - InitCommand=cmd(strokecolor,Color("Outline");y,-10); - BeforeLoadingNextCourseSongMessageCommand=function(self) - local NextSong = SCREENMAN:GetTopScreen():GetNextCourseSong(); - self:settext( NextSong:GetDisplayFullTitle() ); - end; - StartCommand=cmd(faderight,1;diffusealpha,0;linear,0.5;faderight,0;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); - }; ---[[ LoadFont("Common Normal") .. { - Text=GAMESTATE:IsCourseMode() and GAMESTATE:GetCurrentCourse():GetCourseType() or GAMESTATE:GetCurrentSong():GetDisplayArtist(); - InitCommand=cmd(strokecolor,Color("Outline");zoom,0.75); - OnCommand=cmd(faderight,1;diffusealpha,0;linear,0.5;faderight,0;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); - }; --]] - LoadFont("Common Normal") .. { - InitCommand=cmd(strokecolor,Color("Outline");diffuse,Color("Orange");diffusebottomedge,Color("Yellow");zoom,0.75;y,10); - BeforeLoadingNextCourseSongMessageCommand=function(self) - local NextSong = SCREENMAN:GetTopScreen():GetNextCourseSong(); - self:settext( SecondsToMSSMsMs( NextSong:MusicLengthSeconds() ) ); - end; - StartCommand=cmd(faderight,1;diffusealpha,0;linear,0.5;faderight,0;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); - }; -}; - return t; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenGameplay out.lua b/Themes/default/BGAnimations/ScreenGameplay out.lua index 5ce91f80e6..d8fd45a5d0 100644 --- a/Themes/default/BGAnimations/ScreenGameplay out.lua +++ b/Themes/default/BGAnimations/ScreenGameplay out.lua @@ -3,7 +3,7 @@ local raveChildren local bg = Def.ActorFrame{ Def.Quad{ InitCommand=cmd(FullScreen;diffuse,color("0,0,0,0")); - OnCommand=cmd(linear,5;diffusealpha,1); + StartTransitioningCommand=cmd(linear,5;diffusealpha,1); }; Def.ActorFrame{ @@ -32,17 +32,17 @@ local bg = Def.ActorFrame{ LoadActor(THEME:GetPathG("_rave result","P1"))..{ Name="P1Win"; InitCommand=cmd(Center;cropbottom,1;fadebottom,1;); - OnCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); + StartTransitioningCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); }; LoadActor(THEME:GetPathG("_rave result","P2"))..{ Name="P2Win"; InitCommand=cmd(Center;cropbottom,1;fadebottom,1;); - OnCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); + StartTransitioningCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); }; LoadActor(THEME:GetPathG("_rave result","draw"))..{ Name="Draw"; InitCommand=cmd(Center;cropbottom,1;fadebottom,1;); - OnCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); + StartTransitioningCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); }; }; }; diff --git a/Themes/default/BGAnimations/ScreenGameplay overlay/_diffdia.png b/Themes/default/BGAnimations/ScreenGameplay overlay/_diffdia.png new file mode 100644 index 0000000000..3fb1daa36d Binary files /dev/null and b/Themes/default/BGAnimations/ScreenGameplay overlay/_diffdia.png differ diff --git a/Themes/default/BGAnimations/ScreenGameplay overlay/default.lua b/Themes/default/BGAnimations/ScreenGameplay overlay/default.lua new file mode 100644 index 0000000000..4842835426 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenGameplay overlay/default.lua @@ -0,0 +1,198 @@ +local t = Def.ActorFrame {}; +local function UpdateTime(self) + local c = self:GetChildren(); + for pn in ivalues(PlayerNumber) do + local vStats = STATSMAN:GetCurStageStats():GetPlayerStageStats( pn ); + local vTime; + local obj = self:GetChild( string.format("RemainingTime" .. PlayerNumberToString(pn) ) ); + if vStats and obj then + vTime = vStats:GetLifeRemainingSeconds() + obj:settext( SecondsToMMSSMsMs( vTime ) ); + end; + end; +end +if GAMESTATE:GetCurrentCourse() then + if GAMESTATE:GetCurrentCourse():GetCourseType() == "CourseType_Survival" then + -- RemainingTime + for pn in ivalues(PlayerNumber) do + local MetricsName = "RemainingTime" .. PlayerNumberToString(pn); + t[#t+1] = LoadActor( THEME:GetPathG( Var "LoadingScreen", "RemainingTime"), pn ) .. { + InitCommand=function(self) + self:player(pn); + self:name(MetricsName); + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end; + }; + end + for pn in ivalues(PlayerNumber) do + local MetricsName = "DeltaSeconds" .. PlayerNumberToString(pn); + t[#t+1] = LoadActor( THEME:GetPathG( Var "LoadingScreen", "DeltaSeconds"), pn ) .. { + InitCommand=function(self) + self:player(pn); + self:name(MetricsName); + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end; + }; + end + end; +end; +t.InitCommand=cmd(SetUpdateFunction,UpdateTime); + + if GAMESTATE:GetPlayMode() ~= 'PlayMode_Rave' then + for ip, pn in ipairs(GAMESTATE:GetEnabledPlayers()) do + if ShowStandardDecoration("LifeMeterBar" .. ToEnumShortString(pn)) then + local life_type = GAMESTATE:GetPlayerState(pn):GetPlayerOptions("ModsLevel_Song"):LifeSetting() + t[#t+1] = LoadActor(THEME:GetPathG(Var "LoadingScreen", "lifebar_" .. ToEnumShortString(life_type)), pn) .. { + InitCommand=function(self) + self:name("LifeMeterBar" .. ToEnumShortString(pn)) + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen") + end + } + end + end; + + for ip, pn in ipairs(GAMESTATE:GetEnabledPlayers()) do + local life_x_position = string.find(pn, "P1") and SCREEN_LEFT+40 or SCREEN_RIGHT-40 + local life_tween = string.find(pn, "P1") and -1 or 1 + local second_tween = string.find(pn, "P1") and 1 or -1 + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,life_x_position;y,SCREEN_CENTER_Y;rotationz,-90;); + OnCommand=cmd(addx,100*life_tween;sleep,1;decelerate,0.9;addx,100*second_tween); + OffCommand=cmd(sleep,1;decelerate,0.9;addx,100*life_tween;); + LoadActor(THEME:GetPathG("LifeMeter", "bar frame")) .. { + }; + Def.ActorFrame { + InitCommand=cmd(x,-207;y,0;); + LoadActor("_diffdia") .. { + OnCommand=cmd(playcommand,"Set";); + ["CurrentSteps"..ToEnumShortString(pn).."ChangedMessageCommand"]=cmd(playcommand,"Set";); + SetCommand=function(self) + steps_data = GAMESTATE:GetCurrentSteps(pn) + local song = GAMESTATE:GetCurrentSong(); + if song then + if steps_data ~= nil then + local st = steps_data:GetStepsType(); + local diff = steps_data:GetDifficulty(); + local cd = GetCustomDifficulty(st, diff); + self:diffuse(CustomDifficultyToColor(cd)); + end + end + end; + }; + LoadFont("StepsDisplay description") .. { + InitCommand=cmd(zoom,0.75;horizalign,center;rotationz,90); + OnCommand=cmd(playcommand,"Set";); + ["CurrentSteps"..ToEnumShortString(pn).."ChangedMessageCommand"]=cmd(playcommand,"Set";); + ChangedLanguageDisplayMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + steps_data = GAMESTATE:GetCurrentSteps(pn) + local song = GAMESTATE:GetCurrentSong(); + if song then + if steps_data ~= nil then + local st = steps_data:GetStepsType(); + local diff = steps_data:GetDifficulty(); + local cd = GetCustomDifficulty(st, diff); + self:settext(steps_data:GetMeter()):diffuse(color("#000000")):diffusealpha(0.8); + else + self:settext("") + end + else + self:settext("") + end + end + }; + }; + }; + end; + end; + + -- Move diamonds on battle + if GAMESTATE:GetPlayMode() == 'PlayMode_Rave' then + -- P1 + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X-110;y,SCREEN_BOTTOM-55;); + LoadActor("_diffdia") .. { + OnCommand=cmd(playcommand,"Set";); + CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set";); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local cd = GetCustomDifficulty(st, diff); + self:diffuse(CustomDifficultyToColor(cd)); + end + end + end; + }; + LoadFont("StepsDisplay description") .. { + InitCommand=cmd(zoom,0.75;horizalign,center;); + OnCommand=cmd(playcommand,"Set";); + CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set";); + ChangedLanguageDisplayMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local cd = GetCustomDifficulty(st, diff); + self:settext(stepsP1:GetMeter()):diffuse(color("#000000")):diffusealpha(0.8); + else + self:settext("") + end + else + self:settext("") + end + end + }; + }; + -- P2 + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X+110;y,SCREEN_BOTTOM-55;); + LoadActor("_diffdia") .. { + OnCommand=cmd(playcommand,"Set";); + CurrentstepsP2ChangedMessageCommand=cmd(playcommand,"Set";); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local cd = GetCustomDifficulty(st, diff); + self:diffuse(CustomDifficultyToColor(cd)); + end + end + end; + }; + LoadFont("StepsDisplay description") .. { + InitCommand=cmd(zoom,0.75;horizalign,center); + OnCommand=cmd(playcommand,"Set";); + CurrentstepsP2ChangedMessageCommand=cmd(playcommand,"Set";); + ChangedLanguageDisplayMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local cd = GetCustomDifficulty(st, diff); + self:settext(stepsP2:GetMeter()):diffuse(color("#000000")):diffusealpha(0.8); + else + self:settext("") + end + else + self:settext("") + end + end + }; + }; + end; + + t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); +return t diff --git a/Themes/default/BGAnimations/ScreenGameplay ready/ready.png b/Themes/default/BGAnimations/ScreenGameplay ready/ready.png index 2bbc2d20ec..54ce64c077 100644 Binary files a/Themes/default/BGAnimations/ScreenGameplay ready/ready.png and b/Themes/default/BGAnimations/ScreenGameplay ready/ready.png differ diff --git a/Themes/default/BGAnimations/ScreenGameplay underlay/ScreenFilter.lua b/Themes/default/BGAnimations/ScreenGameplay underlay/ScreenFilter.lua new file mode 100644 index 0000000000..41f7e9cf15 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenGameplay underlay/ScreenFilter.lua @@ -0,0 +1,68 @@ +--[[ Screen Filter ]] +local numPlayers = GAMESTATE:GetNumPlayersEnabled() +local center1P = PREFSMAN:GetPreference("Center1Player") + +local padding = 8 -- 4px on each side +local arrowWidth = 96 -- until noteskin metrics are implemented... + +local filterColor = color("#000000") +local filterAlphas = { + PlayerNumber_P1 = 1, + PlayerNumber_P2 = 1, + Default = 0, +} + +local t = Def.ActorFrame{}; + +local style = GAMESTATE:GetCurrentStyle() +local cols = style:ColumnsPerPlayer() +local styleType = ToEnumShortString(style:GetStyleType()) +local filterWidth = (arrowWidth * cols) + padding +local stepsType = style:GetStepsType() + +if numPlayers == 1 then + local player = GAMESTATE:GetMasterPlayerNumber() + local pNum = (player == PLAYER_1) and 1 or 2 + filterAlphas[player] = tonumber(getenv("ScreenFilterP"..pNum)); + + local pos; + -- [ScreenGameplay] PlayerP#Player*Side(s)X + if center1P then + pos = SCREEN_CENTER_X + elseif stepsType == "StepsType_Dance_Solo" then + pos = SCREEN_CENTER_X + else + local metricName = string.format("PlayerP%i%sX",pNum,styleType) + pos = THEME:GetMetric("ScreenGameplay",metricName) + end + t[#t+1] = Def.Quad{ + Name="SinglePlayerFilter"; + InitCommand=cmd(x,pos;CenterY;zoomto,filterWidth,SCREEN_HEIGHT;diffusecolor,filterColor;diffusealpha,filterAlphas[player]); + }; +else + -- two players... a bit more complex. + if styleType == "TwoPlayersSharedSides" then + -- routine, just use one in the center. + local player = GAMESTATE:GetMasterPlayerNumber() + local pNum = player == PLAYER_1 and 1 or 2 + local metricName = "PlayerP".. pNum .."TwoPlayersSharedSidesX" + t[#t+1] = Def.Quad{ + Name="RoutineFilter"; + InitCommand=cmd(x,THEME:GetMetric("ScreenGameplay",metricName);CenterY;zoomto,filterWidth,SCREEN_HEIGHT;diffusecolor,filterColor;diffusealpha,filterAlphas[player]); + }; + else + -- otherwise we need two separate ones. to the pairsmobile! + for i, player in ipairs(PlayerNumber) do + local pNum = (player == PLAYER_1) and 1 or 2 + filterAlphas[player] = tonumber(getenv("ScreenFilterP"..pNum)); + local metricName = string.format("PlayerP%i%sX",pNum,styleType) + local pos = THEME:GetMetric("ScreenGameplay",metricName) + t[#t+1] = Def.Quad{ + Name="Player"..pNum.."Filter"; + InitCommand=cmd(x,pos;CenterY;zoomto,filterWidth,SCREEN_HEIGHT;diffusecolor,filterColor;diffusealpha,filterAlphas[player]); + }; + end + end +end + +return t; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenGameplay underlay/default.lua b/Themes/default/BGAnimations/ScreenGameplay underlay/default.lua new file mode 100644 index 0000000000..9d6af37620 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenGameplay underlay/default.lua @@ -0,0 +1,3 @@ +local t = Def.ActorFrame {}; + t[#t+1] = LoadActor("ScreenFilter"); +return t \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenHighScores background.lua b/Themes/default/BGAnimations/ScreenHighScores background.lua new file mode 100644 index 0000000000..21e3b1ea40 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenHighScores background.lua @@ -0,0 +1,5 @@ +return Def.ActorFrame { + LoadActor(THEME:GetPathG("common bg", "base")) .. { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT) + }; +} diff --git a/Themes/default/BGAnimations/ScreenHighScores decorations/default.lua b/Themes/default/BGAnimations/ScreenHighScores decorations/default.lua index 1582ee9d74..01e90ad3ba 100644 --- a/Themes/default/BGAnimations/ScreenHighScores decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenHighScores decorations/default.lua @@ -6,14 +6,12 @@ local stString = THEME:GetString("StepsType",StepsType); local NumColumns = THEME:GetMetric(Var "LoadingScreen", "NumColumns"); t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160); - Def.Quad { - InitCommand=cmd(zoomto,SCREEN_WIDTH, 32); - OnCommand=cmd(y,-16;diffuse,Color.Black;fadebottom,0.8); - }; + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-220); Def.Quad { InitCommand=cmd(zoomto,SCREEN_WIDTH, 56); - OnCommand=cmd(diffuse,color("#333333");diffusealpha,0.75;fadebottom,0.35); + OnCommand=function(self) + self:diffuse(ScreenColor(SCREENMAN:GetTopScreen():GetName())):diffusebottomedge(ColorDarkTone(ScreenColor(SCREENMAN:GetTopScreen():GetName()))):diffusealpha(0.9) + end }; }; @@ -23,23 +21,20 @@ for i=1,NumColumns do local s = GetCustomDifficulty( st, dc ); t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,SCREEN_CENTER_X-60 + 80 * (i-1);y,SCREEN_CENTER_Y-168); - LoadActor(THEME:GetPathB("_frame","3x1"),"rounded fill", 18) .. { - OnCommand=cmd(diffuse,CustomDifficultyToDarkColor(s);diffusealpha,0.5); + InitCommand=cmd(x,SCREEN_CENTER_X+32 + 84 * (i-1);y,SCREEN_CENTER_Y-220); + LoadActor(THEME:GetPathB("_frame","3x1"),"rounded light", 18) .. { + OnCommand=cmd(diffuse,CustomDifficultyToLightColor(s);diffusealpha,0.9); }; - LoadActor(THEME:GetPathB("_frame","3x1"),"rounded gloss", 18) .. { - OnCommand=cmd(diffuse,CustomDifficultyToColor(s);diffusealpha,0.125); - }; - LoadFont("Common Normal") .. { + LoadFont("StepsDisplayListRow description") .. { InitCommand=cmd(uppercase,true;settext,CustomDifficultyToLocalizedString(s)); - OnCommand=cmd(zoom,0.675;maxwidth,80/0.675;diffuse,CustomDifficultyToColor(s);shadowlength,1); + OnCommand=cmd(zoom,0.675;maxwidth,80/0.675;diffuse,CustomDifficultyToDarkColor(s);); }; }; end -t[#t+1] = LoadFont("Common Bold") .. { - InitCommand=cmd(settext,stString;x,SCREEN_CENTER_X-220;y,SCREEN_CENTER_Y-168); - OnCommand=cmd(skewx,-0.125;diffusebottomedge,color("0.75,0.75,0.75");shadowlength,2); +t[#t+1] = LoadFont("Common Normal") .. { + InitCommand=cmd(settext,stString;x,SCREEN_CENTER_X-220;y,SCREEN_CENTER_Y-220;); + OnCommand=cmd(diffusebottomedge,color("0.75,0.75,0.75");shadowlength,2); }; t.OnCommand=cmd(draworder,105); diff --git a/Themes/default/BGAnimations/ScreenInit in.redir b/Themes/default/BGAnimations/ScreenInit in.redir new file mode 100644 index 0000000000..9010d9731a --- /dev/null +++ b/Themes/default/BGAnimations/ScreenInit in.redir @@ -0,0 +1 @@ +Fade in \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenJukebox in.redir b/Themes/default/BGAnimations/ScreenJukebox in.redir new file mode 100644 index 0000000000..a9cff7b900 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenJukebox in.redir @@ -0,0 +1 @@ +ScreenWithMenuElements in \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenJukebox out.redir b/Themes/default/BGAnimations/ScreenJukebox out.redir new file mode 100644 index 0000000000..8f2a65c2ae --- /dev/null +++ b/Themes/default/BGAnimations/ScreenJukebox out.redir @@ -0,0 +1 @@ +ScreenWithMenuElements out \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenJukebox overlay.redir b/Themes/default/BGAnimations/ScreenJukebox overlay.redir new file mode 100644 index 0000000000..4b0da07bd5 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenJukebox overlay.redir @@ -0,0 +1 @@ +ScreenDemonstration overlay \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenReloadSongs background.redir b/Themes/default/BGAnimations/ScreenLogo background.redir similarity index 100% rename from Themes/default/BGAnimations/ScreenReloadSongs background.redir rename to Themes/default/BGAnimations/ScreenLogo background.redir diff --git a/Themes/default/BGAnimations/ScreenNestyPlayerOptions in.redir b/Themes/default/BGAnimations/ScreenNestyPlayerOptions in.redir new file mode 100644 index 0000000000..a9cff7b900 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenNestyPlayerOptions in.redir @@ -0,0 +1 @@ +ScreenWithMenuElements in \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenNestyPlayerOptions out.redir b/Themes/default/BGAnimations/ScreenNestyPlayerOptions out.redir new file mode 100644 index 0000000000..8f2a65c2ae --- /dev/null +++ b/Themes/default/BGAnimations/ScreenNestyPlayerOptions out.redir @@ -0,0 +1 @@ +ScreenWithMenuElements out \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenNestyPlayerOptions overlay.lua b/Themes/default/BGAnimations/ScreenNestyPlayerOptions overlay.lua new file mode 100644 index 0000000000..4935eb75d7 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenNestyPlayerOptions overlay.lua @@ -0,0 +1,284 @@ +local menu_height= 400 +local menu_width= 250 +local menu_x= { + [PLAYER_1]= _screen.w * .25, + [PLAYER_2]= _screen.w * .75, +} +local menus= {} +for i, pn in ipairs(GAMESTATE:GetHumanPlayers()) do + menus[pn]= setmetatable({}, nesty_menu_stack_mt) +end +local explanations= {} +local ready_indicators= {} + +local turn_chart_mods= { + nesty_options.bool_player_mod_val("Mirror"), + nesty_options.bool_player_mod_val("Backwards"), + nesty_options.bool_player_mod_val("Left"), + nesty_options.bool_player_mod_val("Right"), + nesty_options.bool_player_mod_val("Shuffle"), + nesty_options.bool_player_mod_val("SoftShuffle"), + nesty_options.bool_player_mod_val("SuperShuffle"), +} + +local removal_chart_mods= { + nesty_options.bool_player_mod_val("NoHolds"), + nesty_options.bool_player_mod_val("NoRolls"), + nesty_options.bool_player_mod_val("NoMines"), + nesty_options.bool_player_mod_val("HoldRolls"), + nesty_options.bool_player_mod_val("NoJumps"), + nesty_options.bool_player_mod_val("NoHands"), + nesty_options.bool_player_mod_val("NoLifts"), + nesty_options.bool_player_mod_val("NoFakes"), + nesty_options.bool_player_mod_val("NoQuads"), + nesty_options.bool_player_mod_val("NoStretch"), +} + +local insertion_chart_mods= { + nesty_options.bool_player_mod_val("Little"), + nesty_options.bool_player_mod_val("Wide"), + nesty_options.bool_player_mod_val("Big"), + nesty_options.bool_player_mod_val("Quick"), + nesty_options.bool_player_mod_val("BMRize"), + nesty_options.bool_player_mod_val("Skippy"), + nesty_options.bool_player_mod_val("Mines"), + nesty_options.bool_player_mod_val("Echo"), + nesty_options.bool_player_mod_val("Stomp"), + nesty_options.bool_player_mod_val("Planted"), + nesty_options.bool_player_mod_val("Floored"), + nesty_options.bool_player_mod_val("Twister"), +} + +local chart_mods= { + nesty_options.submenu("turn_chart_mods", turn_chart_mods), + nesty_options.submenu("removal_chart_mods", removal_chart_mods), + nesty_options.submenu("insertion_chart_mods", insertion_chart_mods), +} + +local gameplay_options= { + nesty_options.bool_config_val(player_config, "ComboUnderField"), + nesty_options.bool_config_val(player_config, "FlashyCombo"), + nesty_options.bool_config_val(player_config, "GameplayShowStepsDisplay"), + nesty_options.bool_config_val(player_config, "GameplayShowScore"), + nesty_options.bool_config_val(player_config, "JudgmentUnderField"), + nesty_options.bool_config_val(player_config, "Protiming"), +} + +-- The time life bar doesn't work sensibly outside the survival courses, so +-- keep it out of the menu. +local life_type_enum= {"LifeType_Bar", "LifeType_Battery"} +local life_options= { + nesty_options.enum_player_mod_single_val("bar_type", "LifeType_Bar", "LifeSetting"), + nesty_options.enum_player_mod_single_val("battery_type", "LifeType_Battery", "LifeSetting"), + nesty_options.enum_player_mod_single_val("normal_drain", "DrainType_Normal", "DrainSetting"), + nesty_options.enum_player_mod_single_val("no_recover", "DrainType_NoRecover", "DrainSetting"), + nesty_options.enum_player_mod_single_val("sudden_death", "DrainType_SuddenDeath", "DrainSetting"), + nesty_options.enum_player_mod_single_val("fail_immediate", "FailType_Immediate", "FailSetting"), + nesty_options.enum_player_mod_single_val("fail_immediate_continue", "FailType_ImmediateContinue", "FailSetting"), + nesty_options.enum_player_mod_single_val("fail_end_of_song", "FailType_EndOfSong", "FailSetting"), + nesty_options.enum_player_mod_single_val("fail_off", "FailType_Off", "FailSetting"), + nesty_options.float_player_mod_val_new("BatteryLives", 1, 2, 1, 10, 4), +} + +-- I suppose now would be a good time to mention that, since the float menu code ...thingy doesn't rely on powers of 10 anymore, +-- the values passed in will be different. +local base_options= { + notefield_prefs_speed_type_menu(), + notefield_prefs_speed_mod_menu(), + --Turns out the music rate can't handle values higher than 3! + nesty_options.float_song_mod_val_new("MusicRate", 0.1, 1, .1, 3, 1), + nesty_options.float_song_mod_toggle_val("Haste", 1, 0), + notefield_perspective_menu(), + nesty_options.float_config_toggle_val(notefield_prefs_config, "reverse", -1, 1), + nesty_options.float_config_val_new(notefield_prefs_config, "zoom", 0.1, 1), + nesty_options.submenu("chart_mods", chart_mods), + {name= "noteskin", translatable= true, menu= nesty_option_menus.noteskins}, + {name= "shown_noteskins", translatable= true, menu= nesty_option_menus.shown_noteskins, args= {}}, + nesty_options.bool_config_val(notefield_prefs_config, "hidden"), + nesty_options.bool_config_val(notefield_prefs_config, "sudden"), + advanced_notefield_prefs_menu(), + nesty_options.submenu("gameplay_options", gameplay_options), + nesty_options.submenu("life_options", life_options), + nesty_options.bool_song_mod_val("AssistClap"), + nesty_options.bool_song_mod_val("AssistMetronome"), + nesty_options.bool_song_mod_val("StaticBackground"), + nesty_options.bool_song_mod_val("RandomBGOnly"), + nesty_options.float_config_val_new(player_config, "ScreenFilter", 0.1, 0.5, 0, 1), + get_notefield_mods_toggle_menu(true, true), + {name= "reload_noteskins", translatable= true, type= "action", + execute= function() NOTESKIN:reload_skins() end}, +} + +local player_ready= {} + +local function exit_if_both_ready() + for i, pn in ipairs(GAMESTATE:GetHumanPlayers()) do + if not player_ready[pn] then return end + end + SCREENMAN:GetTopScreen():StartTransitioningScreen("SM_GoToNextScreen") +end + +local prev_explanation= {} +local function update_explanation(pn) + local cursor_item= menus[pn]:get_cursor_item() + if cursor_item then + local new_expl= cursor_item.name or cursor_item.text + local expl_com= "change_explanation" + if cursor_item.explanation then + new_expl= cursor_item.explanation + expl_com= "translated_explanation" + end + if new_expl ~= prev_explanation[pn] then + prev_explanation[pn]= new_expl + explanations[pn]:playcommand(expl_com, {text= new_expl}) + end + end +end + +local function input(event) + local pn= event.PlayerNumber + if not pn then return end + if not menus[pn] then return end + if menu_stack_generic_input(menus, event) + and event.type == "InputEventType_FirstPress" then + if event.GameButton == "Back" then + SCREENMAN:GetTopScreen():StartTransitioningScreen("SM_GoToPrevScreen") + else + player_ready[pn]= true + ready_indicators[pn]:playcommand("show_ready") + exit_if_both_ready() + end + else + if player_ready[pn] and not menus[pn]:can_exit_screen() then + player_ready[pn]= false + ready_indicators[pn]:playcommand("hide_ready") + end + end + update_explanation(pn) +end + +local frame= Def.ActorFrame{ + OnCommand= function(self) + SCREENMAN:GetTopScreen():AddInputCallback(input) + for pn, menu in pairs(menus) do + menu:push_menu_stack(nesty_option_menus.menu, base_options, "play_song") + menu:update_cursor_pos() + update_explanation(pn) + end + end, +} + +local item_params= { + text_commands= { + Font= "Common Condensed", OnCommand= function(self) + self:diffuse(color("#3D1D23")):diffusealpha(0):decelerate(0.2):diffusealpha(1) + end, + OffCommand=function(self) + self:smooth(0.3):diffusealpha(0) + end, + }, + text_width= .7, + value_text_commands= { + Font= "Common Condensed", OnCommand= function(self) + self:diffuse(color("#AC214A")):diffusealpha(0):decelerate(0.2):diffusealpha(1) + end, + OffCommand=function(self) + self:smooth(0.3):diffusealpha(0) + end, + }, + value_image_commands= { + OnCommand= function(self) + self:diffusealpha(0):smooth(0.3):diffusealpha(1) + end, + OffCommand=function(self) + self:smooth(0.3):diffusealpha(0) + end, + }, + value_width= .25, + type_images= { + bool= THEME:GetPathG("", "menu_icons/bool"), + choice= THEME:GetPathG("", "menu_icons/bool"), + menu= THEME:GetPathG("", "menu_icons/menu"), + }, +} + +for pn, menu in pairs(menus) do + frame[#frame+1]= LoadActor( + THEME:GetPathG("ScreenOptions", "halfpage")) .. { + InitCommand= function(self) + self:xy(menu_x[pn], 360) + end; + OnCommand=function(self) + self:diffusealpha(0):zoomx(0.8):decelerate(0.3):diffusealpha(1):zoomx(1) + end; + OffCommand=function(self) + self:decelerate(0.3):diffusealpha(0) + end; + } + frame[#frame+1]= menu:create_actors{ + x= menu_x[pn], y= 120, width= menu_width, height= menu_height, + translation_section= "notefield_options", + num_displays= 1, pn= pn, el_height= 36, + menu_sounds= { + pop= THEME:GetPathS("Common", "Cancel"), + push= THEME:GetPathS("_common", "row"), + act= THEME:GetPathS("Common", "start"), + move= THEME:GetPathS("Common", "value"), + move_up= THEME:GetPathS("Common", "value"), + move_down= THEME:GetPathS("Common", "value"), + inc= THEME:GetPathS("_switch", "up"), + dec= THEME:GetPathS("_switch", "down"), + }, + display_params= { + el_zoom= 0.8, item_params= item_params, item_mt= nesty_items.value, heading_height = 48, + on= function(self) + self:diffusealpha(0):decelerate(0.2):diffusealpha(1) + end, + off= function(self) + self:decelerate(0.2):diffusealpha(0) + end, + }, + } + frame[#frame+1]= Def.BitmapText{ + Font= "Common Normal", InitCommand= function(self) + explanations[pn]= self + self:xy(menu_x[pn] - (menu_width / 2), _screen.cy+154) + :diffuse(ColorDarkTone((PlayerColor(pn)))):horizalign(left):vertalign(top) + :wrapwidthpixels(menu_width / .8):zoom(.75) + :horizalign(left) + end, + change_explanationCommand= function(self, param) + local text= "" + if THEME:HasString("notefield_explanations", param.text) then + text= THEME:GetString("notefield_explanations", param.text) + end + self:playcommand("translated_explanation", {text= text}) + end, + translated_explanationCommand= function(self, param) + self:stoptweening():settext(param.text):cropright(1):linear(.5):cropright(0) + end, + } + frame[#frame+1]= Def.BitmapText{ + Font= "Common Condensed", Text= "READY!", InitCommand= function(self) + ready_indicators[pn]= self + self:xy(menu_x[pn], 146):zoom(1.5):diffuse(Color.Green):strokecolor(color("#2E540F")):diffusealpha(0) + end, + show_readyCommand= function(self) + self:stoptweening():decelerate(.5):diffusealpha(1) + end, + hide_readyCommand= function(self) + self:stoptweening():accelerate(.5):diffusealpha(0) + end, + } + local metrics_name = "PlayerNameplate" .. ToEnumShortString(pn) + frame[#frame+1] = LoadActor( + THEME:GetPathG("ScreenPlayerOptions", "PlayerNameplate"), pn) .. { + InitCommand=function(self) + self:name(metrics_name) + ActorUtil.LoadAllCommandsAndSetXY(self,"ScreenPlayerOptions") + self:x(menu_x[pn]) + end + } +end + +return frame diff --git a/Themes/default/BGAnimations/ScreenNetRoom background.redir b/Themes/default/BGAnimations/ScreenNetRoom background.redir new file mode 100644 index 0000000000..89d54a83b9 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenNetRoom background.redir @@ -0,0 +1 @@ +Online background \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenNetSelectMusic background.redir b/Themes/default/BGAnimations/ScreenNetSelectMusic background.redir new file mode 100644 index 0000000000..89d54a83b9 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenNetSelectMusic background.redir @@ -0,0 +1 @@ +Online background \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenNetSelectMusic decorations.lua b/Themes/default/BGAnimations/ScreenNetSelectMusic decorations.lua index efebf763a7..fdd66a3632 100644 --- a/Themes/default/BGAnimations/ScreenNetSelectMusic decorations.lua +++ b/Themes/default/BGAnimations/ScreenNetSelectMusic decorations.lua @@ -1,6 +1,418 @@ +local curStage = GAMESTATE:GetCurrentStage(); +local curStageIndex = GAMESTATE:GetCurrentStageIndex(); local t = LoadFallbackB(); -t[#t+1] = StandardDecorationFromFileOptional("BPMLabel","BPMLabel"); -t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); -t[#t+1] = StandardDecorationFromFileOptional("DifficultyDisplay","DifficultyDisplay"); +local function PercentScore(pn) + local t = LoadFont("_overpass Score")..{ + InitCommand=cmd(zoom,1;diffuse,Color("Black");diffusealpha,0.75;); + BeginCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local SongOrCourse, StepsOrTrail; + if GAMESTATE:IsCourseMode() then + SongOrCourse = GAMESTATE:GetCurrentCourse(); + StepsOrTrail = GAMESTATE:GetCurrentTrail(pn); + else + SongOrCourse = GAMESTATE:GetCurrentSong(); + StepsOrTrail = GAMESTATE:GetCurrentSteps(pn); + end; + + local profile, scorelist; + local text = ""; + if SongOrCourse and StepsOrTrail then + local st = StepsOrTrail:GetStepsType(); + local diff = StepsOrTrail:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + + if PROFILEMAN:IsPersistentProfile(pn) then + -- player profile + profile = PROFILEMAN:GetProfile(pn); + else + -- machine profile + profile = PROFILEMAN:GetMachineProfile(); + end; + + scorelist = profile:GetHighScoreList(SongOrCourse,StepsOrTrail); + assert(scorelist) + local scores = scorelist:GetHighScores(); + local topscore = scores[1]; + if topscore then + text = string.format("%.2f%%", topscore:GetPercentDP()*100.0); + -- 100% hack + if text == "100.00%" then + text = "100%"; + end; + else + text = string.format("%.2f%%", 0); + end; + else + text = ""; + end; + self:settext(text); + end; + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + }; + + if pn == PLAYER_1 then + t.CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); + t.CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); + else + t.CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set"); + t.CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); + end + + return t; +end + +-- Genre/Artist data +t[#t+1] = LoadActor(THEME:GetPathG("ScreenSelectMusic", "info pane")) .. { + InitCommand=cmd(horizalign,center;x,SCREEN_CENTER_X-228;y,SCREEN_CENTER_Y-75;zoom,1;); + OnCommand=function(self) + self:diffuse(ColorMidTone(StageToColor(curStage))); + self:zoomx(0):diffusealpha(0):decelerate(0.3):zoomx(1):diffusealpha(1); + end; + OffCommand=function(self) + self:sleep(0.3):decelerate(0.15):zoomx(0):diffusealpha(0); + end; + }; + +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X-330+6-138;draworder,126); + OnCommand=cmd(diffusealpha,0;smooth,0.3;diffusealpha,1;); + OffCommand=cmd(smooth,0.3;diffusealpha,0;); + -- Length + StandardDecorationFromFileOptional("SongTime","SongTime") .. { + SetCommand=function(self) + local curSelection = nil; + local length = 0.0; + if GAMESTATE:IsCourseMode() then + curSelection = GAMESTATE:GetCurrentCourse(); + self:queuecommand("Reset"); + if curSelection then + local trail = GAMESTATE:GetCurrentTrail(GAMESTATE:GetMasterPlayerNumber()); + if trail then + length = TrailUtil.GetTotalSeconds(trail); + else + length = 0.0; + end; + else + length = 0.0; + end; + else + curSelection = GAMESTATE:GetCurrentSong(); + self:queuecommand("Reset"); + if curSelection then + length = curSelection:MusicLengthSeconds(); + if curSelection:IsLong() then + self:queuecommand("Long"); + elseif curSelection:IsMarathon() then + self:queuecommand("Marathon"); + else + self:queuecommand("Reset"); + end + else + length = 0.0; + self:queuecommand("Reset"); + end; + end; + self:settext( SecondsToMSS(length) ); + end; + CurrentSongChangedMessageCommand=cmd(queuecommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(queuecommand,"Set"); + CurrentTrailP1ChangedMessageCommand=cmd(queuecommand,"Set"); + CurrentTrailP2ChangedMessageCommand=cmd(queuecommand,"Set"); + }; +}; + +-- Course count and type +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X-200;draworder,126); + OnCommand=cmd(diffusealpha,0;smooth,0.3;diffusealpha,1;); + OffCommand=cmd(smooth,0.2;diffusealpha,0;); + LoadFont("Common Condensed") .. { + InitCommand=cmd(horizalign,right;zoom,1.0;y,SCREEN_CENTER_Y-78+2;maxwidth,180;diffuse,color("#DFE2E9");visible,GAMESTATE:IsCourseMode();); + CurrentCourseChangedMessageCommand=cmd(queuecommand,"Set"); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + local course = GAMESTATE:GetCurrentCourse(); + if course then + self:settext(course:GetEstimatedNumStages() .. " songs"); + self:queuecommand("Refresh"); + else + self:settext(""); + self:queuecommand("Refresh"); + end + end; + }; +}; +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X+5;draworder,126); + OnCommand=cmd(diffusealpha,0;smooth,0.3;diffusealpha,1;); + OffCommand=cmd(smooth,0.2;diffusealpha,0;); + LoadFont("Common Condensed") .. { + InitCommand=cmd(horizalign,right;zoom,1.0;y,SCREEN_CENTER_Y-78+2;maxwidth,180;diffuse,color("#DFE2E9");visible,GAMESTATE:IsCourseMode();); + CurrentCourseChangedMessageCommand=cmd(queuecommand,"Set"); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + local course = GAMESTATE:GetCurrentCourse(); + if course then + self:settext(CourseTypeToLocalizedString(course:GetCourseType())); + self:queuecommand("Refresh"); + else + self:settext(""); + self:queuecommand("Refresh"); + end + end; + }; +}; + + +if not GAMESTATE:IsCourseMode() then + +-- P1 Difficulty Pane +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,center;x,SCREEN_CENTER_X-210-32;y,SCREEN_CENTER_Y+230+8;); + OnCommand=cmd(zoomy,0.8;diffusealpha,0;smooth,0.4;diffusealpha,1;zoomy,1); + PlayerJoinedMessageCommand=function(self,param) + if param.Player == PLAYER_1 then + (cmd(visible,true;diffusealpha,0;linear,0.3;diffusealpha,1))(self); + end; + end; + OffCommand=cmd(decelerate,0.3;zoomy,0.8;diffusealpha,0); + LoadActor(THEME:GetPathG("ScreenSelectMusic", "pane background")) .. { + CurrentStepsP1ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;decelerate,0.3;diffusealpha,1;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:finishtweening():linear(0.2):diffuse(ColorLightTone(CustomDifficultyToColor(cd))); + else + self:diffuse(color("#666666")); + end + else + self:diffuse(color("#666666")); + end + end + }; + LoadFont("StepsDisplay meter") .. { + InitCommand=cmd(zoom,1.25;diffuse,color("#000000");addx,-143;addy,13); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP1ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(stepsP1:GetMeter()) + else + self:settext("") + end + else + self:settext("") + end + end + }; + LoadFont("Common Italic Condensed") .. { + InitCommand=cmd(uppercase,true;zoom,1;addy,-40;addx,-143;diffuse,color("#000000");maxwidth,115;); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP1ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(THEME:GetString("CustomDifficulty",ToEnumShortString(diff))); + else + self:settext("") + end + else + self:settext("") + end + end + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(uppercase,true;zoom,0.75;addy,-20;addx,-143;diffuse,color("#000000");); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP1ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(THEME:GetString("StepsType",ToEnumShortString(st))); + else + self:settext("") + end + else + self:settext("") + end + end + }; + }; + +-- P2 Difficulty Pane +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2);horizalign,center;x,SCREEN_CENTER_X+210+32;y,SCREEN_CENTER_Y+230+8;); + OnCommand=cmd(zoomy,0.8;diffusealpha,0;smooth,0.4;diffusealpha,1;zoomy,1); + PlayerJoinedMessageCommand=function(self,param) + if param.Player == PLAYER_2 then + (cmd(visible,true;diffusealpha,0;linear,0.3;diffusealpha,1))(self); + end; + end; + OffCommand=cmd(decelerate,0.3;zoomy,0.8;diffusealpha,0); + LoadActor(THEME:GetPathG("ScreenSelectMusic", "pane background")) .. { + InitCommand=cmd(zoomx,-1;); + CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;decelerate,0.3;diffusealpha,1;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:finishtweening():linear(0.2):diffuse(ColorLightTone(CustomDifficultyToColor(cd))); + else + self:diffuse(color("#666666")); + end + else + self:diffuse(color("#666666")); + end + end + }; + LoadFont("StepsDisplay meter") .. { + InitCommand=cmd(zoom,1.25;diffuse,color("#000000");addx,143;addy,13); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(stepsP2:GetMeter()) + else + self:settext("") + end + else + self:settext("") + end + end + }; + LoadFont("Common Italic Condensed") .. { + InitCommand=cmd(uppercase,true;zoom,1;addy,-40;addx,143;diffuse,color("#000000");maxwidth,115;); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(THEME:GetString("CustomDifficulty",ToEnumShortString(diff))); + else + self:settext("") + end + else + self:settext("") + end + end + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(uppercase,true;zoom,0.75;addy,-20;addx,143;diffuse,color("#000000");); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(THEME:GetString("StepsType",ToEnumShortString(st))); + else + self:settext("") + end + else + self:settext("") + end + end + }; + }; + +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP1","PaneDisplayTextP1"); +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP2","PaneDisplayTextP2"); + +t[#t+1] = StandardDecorationFromTable("PercentScore"..ToEnumShortString(PLAYER_1), PercentScore(PLAYER_1)); +t[#t+1] = StandardDecorationFromTable("PercentScore"..ToEnumShortString(PLAYER_2), PercentScore(PLAYER_2)); + + +end; + +-- BPMDisplay +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(draworder,126;visible,not GAMESTATE:IsCourseMode();); + OnCommand=cmd(diffusealpha,0;smooth,0.3;diffusealpha,1;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + LoadFont("Common Condensed") .. { + InitCommand=cmd(horizalign,right;x,SCREEN_CENTER_X-198+69-66;y,SCREEN_CENTER_Y-78+2;diffuse,color("#512232");horizalign,right;visible,not GAMESTATE:IsCourseMode();); + OnCommand=cmd(queuecommand,"Set"); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + self:settext("BPM"):diffuse(ColorLightTone(StageToColor(curStage))); + end; + }; + StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); +}; + + return t; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenNo background/_base.png b/Themes/default/BGAnimations/ScreenNo background/_base.png new file mode 100644 index 0000000000..b81620df99 Binary files /dev/null and b/Themes/default/BGAnimations/ScreenNo background/_base.png differ diff --git a/Themes/default/BGAnimations/ScreenNo background/_checkerboard (stretch).png b/Themes/default/BGAnimations/ScreenNo background/_checkerboard (stretch).png new file mode 100644 index 0000000000..35fd050a17 Binary files /dev/null and b/Themes/default/BGAnimations/ScreenNo background/_checkerboard (stretch).png differ diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/_particle normal.png b/Themes/default/BGAnimations/ScreenNo background/_particle normal.png similarity index 100% rename from Themes/default/BGAnimations/ScreenWithMenuElements background/_particle normal.png rename to Themes/default/BGAnimations/ScreenNo background/_particle normal.png diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/_particleLoader.lua b/Themes/default/BGAnimations/ScreenNo background/_particleLoader.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenWithMenuElements background/_particleLoader.lua rename to Themes/default/BGAnimations/ScreenNo background/_particleLoader.lua diff --git a/Themes/default/BGAnimations/ScreenNo background/default.lua b/Themes/default/BGAnimations/ScreenNo background/default.lua new file mode 100644 index 0000000000..cd80a19112 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenNo background/default.lua @@ -0,0 +1,19 @@ +local t = Def.ActorFrame {}; + +t[#t+1] = Def.ActorFrame { + FOV=90; + InitCommand=cmd(Center); + Def.Quad { + InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); + OnCommand=cmd(diffuse,color("#fdbe28");diffusebottomedge,color("#f67849")); + }; + Def.ActorFrame { + InitCommand=cmd(diffusealpha,0.2;); + LoadActor("_checkerboard") .. { + InitCommand=cmd(rotationy,0;rotationz,0;rotationx,-90/4*3.5;zoomto,SCREEN_WIDTH*2,SCREEN_HEIGHT*2;customtexturerect,0,0,SCREEN_WIDTH*4/256,SCREEN_HEIGHT*4/256); + OnCommand=cmd(texcoordvelocity,0,0.25;diffuse,color("#ffffff");fadetop,1); + }; + }; +}; + +return t; diff --git a/Themes/default/BGAnimations/ScreenOptionsDisplaySub in.redir b/Themes/default/BGAnimations/ScreenOptionsDisplaySub in.redir new file mode 100644 index 0000000000..494afeb600 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenOptionsDisplaySub in.redir @@ -0,0 +1 @@ +ScreenOptionsService In \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenOptionsDisplaySub out.redir b/Themes/default/BGAnimations/ScreenOptionsDisplaySub out.redir new file mode 100644 index 0000000000..6be77756dc --- /dev/null +++ b/Themes/default/BGAnimations/ScreenOptionsDisplaySub out.redir @@ -0,0 +1 @@ +ScreenOptionsService Out \ No newline at end of file diff --git a/Themes/default/Graphics/GraphDisplay barely.redir b/Themes/default/BGAnimations/ScreenOptionsEdit in.redir similarity index 100% rename from Themes/default/Graphics/GraphDisplay barely.redir rename to Themes/default/BGAnimations/ScreenOptionsEdit in.redir diff --git a/Themes/default/Graphics/LifeMeterBar danger.redir b/Themes/default/BGAnimations/ScreenOptionsEdit out.redir similarity index 100% rename from Themes/default/Graphics/LifeMeterBar danger.redir rename to Themes/default/BGAnimations/ScreenOptionsEdit out.redir diff --git a/Themes/default/Graphics/MusicWheelItem Roulette ColorPart.redir b/Themes/default/BGAnimations/ScreenOptionsService In.redir similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Roulette ColorPart.redir rename to Themes/default/BGAnimations/ScreenOptionsService In.redir diff --git a/Themes/default/Graphics/OptionRow frame.redir b/Themes/default/BGAnimations/ScreenOptionsService out.redir similarity index 100% rename from Themes/default/Graphics/OptionRow frame.redir rename to Themes/default/BGAnimations/ScreenOptionsService out.redir diff --git a/Themes/default/Graphics/ScoreDisplayNormal frame.redir b/Themes/default/BGAnimations/ScreenOptionsServiceChild in.redir similarity index 100% rename from Themes/default/Graphics/ScoreDisplayNormal frame.redir rename to Themes/default/BGAnimations/ScreenOptionsServiceChild in.redir diff --git a/Themes/default/Graphics/ScreenEvaluation GradeFrame p1.redir b/Themes/default/BGAnimations/ScreenOptionsServiceChild out.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation GradeFrame p1.redir rename to Themes/default/BGAnimations/ScreenOptionsServiceChild out.redir diff --git a/Themes/default/Graphics/ScreenEvaluation GradeFrame p2.redir b/Themes/default/BGAnimations/ScreenProfileLoad in.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation GradeFrame p2.redir rename to Themes/default/BGAnimations/ScreenProfileLoad in.redir diff --git a/Themes/default/Graphics/ScreenEvaluation ScoreLabel.redir b/Themes/default/BGAnimations/ScreenProfileLoad out.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation ScoreLabel.redir rename to Themes/default/BGAnimations/ScreenProfileLoad out.redir diff --git a/Themes/default/BGAnimations/ScreenProfileLoad overlay/LoadScreen diamond 5x2.png b/Themes/default/BGAnimations/ScreenProfileLoad overlay/LoadScreen diamond 5x2.png new file mode 100644 index 0000000000..00c90e9bbc Binary files /dev/null and b/Themes/default/BGAnimations/ScreenProfileLoad overlay/LoadScreen diamond 5x2.png differ diff --git a/Themes/default/BGAnimations/ScreenProfileLoad overlay/default.lua b/Themes/default/BGAnimations/ScreenProfileLoad overlay/default.lua new file mode 100644 index 0000000000..edd005baf5 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenProfileLoad overlay/default.lua @@ -0,0 +1,24 @@ +local t = Def.ActorFrame {}; + +t[#t+1] = Def.ActorFrame { + Def.Sprite { + Name="animation", + Texture="LoadScreen diamond 5x2.png", + InitCommand=function(self) + self:SetAllStateDelays(0.1):diffusealpha(1):diffuse(color("#6248A7")):Center() + end, + OnCommand=function(self) + self:zoom(0):decelerate(0.25):zoom(0.5):sleep(0.5):decelerate(0.25):zoom(0) + end + }; +}; + +t[#t+1] = Def.Actor { + BeginCommand=function(self) + if SCREENMAN:GetTopScreen():HaveProfileToLoad() then self:sleep(1); end; + self:queuecommand("Load"); + end; + LoadCommand=function() SCREENMAN:GetTopScreen():Continue(); end; +}; + +return t; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenGameplay oni gameover.redir b/Themes/default/BGAnimations/ScreenProfileSave in.redir similarity index 100% rename from Themes/default/Graphics/ScreenGameplay oni gameover.redir rename to Themes/default/BGAnimations/ScreenProfileSave in.redir diff --git a/Themes/default/Graphics/ScreenMiniMenu page.redir b/Themes/default/BGAnimations/ScreenProfileSave out.redir similarity index 100% rename from Themes/default/Graphics/ScreenMiniMenu page.redir rename to Themes/default/BGAnimations/ScreenProfileSave out.redir diff --git a/Themes/default/BGAnimations/ScreenProfileSave overlay/LoadScreen diamond 5x2.png b/Themes/default/BGAnimations/ScreenProfileSave overlay/LoadScreen diamond 5x2.png new file mode 100644 index 0000000000..00c90e9bbc Binary files /dev/null and b/Themes/default/BGAnimations/ScreenProfileSave overlay/LoadScreen diamond 5x2.png differ diff --git a/Themes/default/BGAnimations/ScreenProfileSave overlay/default.lua b/Themes/default/BGAnimations/ScreenProfileSave overlay/default.lua new file mode 100644 index 0000000000..059bc98c95 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenProfileSave overlay/default.lua @@ -0,0 +1,24 @@ +local t = Def.ActorFrame {}; + +t[#t+1] = Def.ActorFrame { + Def.Sprite { + Name="animation", + Texture="LoadScreen diamond 5x2.png", + InitCommand=function(self) + self:SetAllStateDelays(0.1):diffusealpha(1):diffuse(color("#95326F")):Center() + end, + OnCommand=function(self) + self:zoom(0):decelerate(0.25):zoom(0.5):sleep(0.5):decelerate(0.25):zoom(0) + end + }; +}; + +t[#t+1] = Def.Actor { + BeginCommand=function(self) + if SCREENMAN:GetTopScreen():HaveProfileToSave() then self:sleep(1); end; + self:queuecommand("Load"); + end; + LoadCommand=function() SCREENMAN:GetTopScreen():Continue(); end; +}; + +return t; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenOptions more.redir b/Themes/default/BGAnimations/ScreenPrompt in.redir similarity index 100% rename from Themes/default/Graphics/ScreenOptions more.redir rename to Themes/default/BGAnimations/ScreenPrompt in.redir diff --git a/Themes/default/Graphics/ScreenRanking CourseDifficulty easy.redir b/Themes/default/BGAnimations/ScreenPrompt off.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking CourseDifficulty easy.redir rename to Themes/default/BGAnimations/ScreenPrompt off.redir diff --git a/Themes/default/BGAnimations/ScreenPrompt underlay.lua b/Themes/default/BGAnimations/ScreenPrompt underlay.lua new file mode 100644 index 0000000000..eab9f5fe4c --- /dev/null +++ b/Themes/default/BGAnimations/ScreenPrompt underlay.lua @@ -0,0 +1,9 @@ +local t = Def.ActorFrame {}; + +t[#t+1] = Def.Quad{ + InitCommand=cmd(scaletocover,-SCREEN_WIDTH*2,SCREEN_TOP,SCREEN_WIDTH*2,SCREEN_BOTTOM;diffuse,color("0,0,0,0.5")); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.5;); + OffCommand=cmd(smooth,0.2;diffusealpha,0;); + }; + +return t \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenSMOnlineLogin background.redir b/Themes/default/BGAnimations/ScreenSMOnlineLogin background.redir new file mode 100644 index 0000000000..89d54a83b9 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenSMOnlineLogin background.redir @@ -0,0 +1 @@ +Online background \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenSelectMusic decorations/ScreenSelectMusic banner background.png b/Themes/default/BGAnimations/ScreenSelectMusic decorations/ScreenSelectMusic banner background.png new file mode 100644 index 0000000000..f7c6037f03 Binary files /dev/null and b/Themes/default/BGAnimations/ScreenSelectMusic decorations/ScreenSelectMusic banner background.png differ diff --git a/Themes/default/BGAnimations/ScreenSelectMusic decorations/default.lua b/Themes/default/BGAnimations/ScreenSelectMusic decorations/default.lua index 290d997789..a9dc226624 100644 --- a/Themes/default/BGAnimations/ScreenSelectMusic decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenSelectMusic decorations/default.lua @@ -1,30 +1,10 @@ +local curStage = GAMESTATE:GetCurrentStage(); +local curStageIndex = GAMESTATE:GetCurrentStageIndex(); local t = LoadFallbackB(); --- Legacy StepMania 4 Function -local function StepsDisplay(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 -t[#t+1] = StandardDecorationFromFileOptional("AlternateHelpDisplay","AlternateHelpDisplay"); - local function PercentScore(pn) - local t = LoadFont("Common normal")..{ - InitCommand=cmd(zoom,0.625;shadowlength,1); + local t = LoadFont("_overpass Score")..{ + InitCommand=cmd(zoom,1;diffuse,Color("Black");diffusealpha,0.75;); BeginCommand=cmd(playcommand,"Set"); SetCommand=function(self) local SongOrCourse, StepsOrTrail; @@ -43,8 +23,6 @@ local function PercentScore(pn) local diff = StepsOrTrail:GetDifficulty(); local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; local cd = GetCustomDifficulty(st, diff, courseType); - self:diffuse(CustomDifficultyToColor(cd)); - self:shadowcolor(CustomDifficultyToDarkColor(cd)); if PROFILEMAN:IsPersistentProfile(pn) then -- player profile @@ -87,49 +65,48 @@ local function PercentScore(pn) return t; end --- Legacy StepMania 4 Function -for pn in ivalues(PlayerNumber) do - local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn); - t[#t+1] = StepsDisplay(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; +-- Banner underlay +-- t[#t+1] = Def.ActorFrame { + -- InitCommand=cmd(x,SCREEN_CENTER_X-230;draworder,125); + -- OffCommand=cmd(smooth,0.2;diffusealpha,0;); + -- Def.Quad { + -- InitCommand=cmd(zoomto,468,196;diffuse,color("#fce1a1");diffusealpha,0.4;vertalign,top;y,SCREEN_CENTER_Y-230;); + -- }; +-- }; + +-- Banner + +t[#t+1] = LoadActor(THEME:GetPathG("ScreenSelectMusic", "banner overlay")) .. { + InitCommand=cmd(zoom,1;x,SCREEN_CENTER_X-228;y,SCREEN_CENTER_Y-165-11;draworder,47); + OnCommand=cmd(zoomy,0;decelerate,0.3;zoomy,1;); + OffCommand=cmd(decelerate,0.15;zoomx,0;); }; - if ShowStandardDecoration("PercentScore"..ToEnumShortString(pn)) then - t[#t+1] = StandardDecorationFromTable("PercentScore"..ToEnumShortString(pn), PercentScore(pn)); - end; -end -t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame"); -t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayFrameP1","PaneDisplayFrame"); -t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayFrameP2","PaneDisplayFrame"); -t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP1","PaneDisplayTextP1"); -t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP2","PaneDisplayTextP2"); -t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList"); -t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); -t[#t+1] = StandardDecorationFromFileOptional("BPMLabel","BPMLabel"); -t[#t+1] = StandardDecorationFromFileOptional("SegmentDisplay","SegmentDisplay"); ---[[ t[#t+1] = StandardDecorationFromFileOptional("NegativeDisplay","NegativeDisplay") .. { -}; --]] +-- Genre/Artist data +t[#t+1] = LoadActor(THEME:GetPathG("ScreenSelectMusic", "info pane")) .. { + InitCommand=cmd(horizalign,center;x,SCREEN_CENTER_X-228;y,SCREEN_CENTER_Y-75;zoom,1;); + OnCommand=function(self) + self:diffuse(ColorMidTone(StageToColor(curStage))); + self:zoomx(0):diffusealpha(0):decelerate(0.3):zoomx(1):diffusealpha(1); + end; + OffCommand=function(self) + self:sleep(0.3):decelerate(0.15):zoomx(0):diffusealpha(0); + end; + }; -t[#t+1] = StandardDecorationFromFileOptional("SongTime","SongTime") .. { +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X-330+6-138;draworder,126); + OnCommand=cmd(diffusealpha,0;smooth,0.3;diffusealpha,1;); + OffCommand=cmd(smooth,0.3;diffusealpha,0;); + -- Length + StandardDecorationFromFileOptional("SongTime","SongTime") .. { SetCommand=function(self) local curSelection = nil; local length = 0.0; if GAMESTATE:IsCourseMode() then curSelection = GAMESTATE:GetCurrentCourse(); - self:playcommand("Reset"); + self:queuecommand("Reset"); if curSelection then local trail = GAMESTATE:GetCurrentTrail(GAMESTATE:GetMasterPlayerNumber()); if trail then @@ -142,158 +119,344 @@ t[#t+1] = StandardDecorationFromFileOptional("SongTime","SongTime") .. { end; else curSelection = GAMESTATE:GetCurrentSong(); - self:playcommand("Reset"); + self:queuecommand("Reset"); if curSelection then length = curSelection:MusicLengthSeconds(); if curSelection:IsLong() then - self:playcommand("Long"); + self:queuecommand("Long"); elseif curSelection:IsMarathon() then - self:playcommand("Marathon"); + self:queuecommand("Marathon"); else - self:playcommand("Reset"); + self:queuecommand("Reset"); end else length = 0.0; - self:playcommand("Reset"); + self:queuecommand("Reset"); end; end; self:settext( SecondsToMSS(length) ); end; - CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); - CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); - CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); - CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); -} + CurrentSongChangedMessageCommand=cmd(queuecommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(queuecommand,"Set"); + CurrentTrailP1ChangedMessageCommand=cmd(queuecommand,"Set"); + CurrentTrailP2ChangedMessageCommand=cmd(queuecommand,"Set"); + }; +}; + +-- Course count and type +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X-200;draworder,126); + OnCommand=cmd(diffusealpha,0;smooth,0.3;diffusealpha,1;); + OffCommand=cmd(smooth,0.2;diffusealpha,0;); + LoadFont("Common Condensed") .. { + InitCommand=cmd(horizalign,right;zoom,1.0;y,SCREEN_CENTER_Y-78+2;maxwidth,180;diffuse,color("#DFE2E9");visible,GAMESTATE:IsCourseMode();); + CurrentCourseChangedMessageCommand=cmd(queuecommand,"Set"); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + local course = GAMESTATE:GetCurrentCourse(); + if course then + self:settext(course:GetEstimatedNumStages() .. " songs"); + self:queuecommand("Refresh"); + else + self:settext(""); + self:queuecommand("Refresh"); + end + end; + }; +}; +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X+5;draworder,126); + OnCommand=cmd(diffusealpha,0;smooth,0.3;diffusealpha,1;); + OffCommand=cmd(smooth,0.2;diffusealpha,0;); + LoadFont("Common Condensed") .. { + InitCommand=cmd(horizalign,right;zoom,1.0;y,SCREEN_CENTER_Y-78+2;maxwidth,180;diffuse,color("#DFE2E9");visible,GAMESTATE:IsCourseMode();); + CurrentCourseChangedMessageCommand=cmd(queuecommand,"Set"); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + local course = GAMESTATE:GetCurrentCourse(); + if course then + self:settext(CourseTypeToLocalizedString(course:GetCourseType())); + self:queuecommand("Refresh"); + else + self:settext(""); + self:queuecommand("Refresh"); + end + end; + }; +}; +t[#t+1] = StandardDecorationFromFileOptional("CourseContentsList","CourseContentsList"); + if not GAMESTATE:IsCourseMode() then - local function CDTitleUpdate(self) - local song = GAMESTATE:GetCurrentSong(); - local cdtitle = self:GetChild("CDTitle"); - local height = cdtitle:GetHeight(); - - if song then - if song:HasCDTitle() then - cdtitle:visible(true); - cdtitle:Load(song:GetCDTitlePath()); - else - cdtitle:visible(false); + +-- P1 Difficulty Pane +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_1);horizalign,center;x,SCREEN_CENTER_X-210-32;y,SCREEN_CENTER_Y+230+8;); + OnCommand=cmd(zoomy,0.8;diffusealpha,0;smooth,0.4;diffusealpha,1;zoomy,1); + PlayerJoinedMessageCommand=function(self,param) + if param.Player == PLAYER_1 then + (cmd(visible,true;diffusealpha,0;linear,0.3;diffusealpha,1))(self); end; - else - cdtitle:visible(false); end; - - self:zoom(scale(height,32,480,1,32/480)) - end; - t[#t+1] = Def.ActorFrame { - OnCommand=cmd(draworder,105;x,SCREEN_CENTER_X-256;y,SCREEN_CENTER_Y-84;zoom,0;sleep,0.5;decelerate,0.25;zoom,1;SetUpdateFunction,CDTitleUpdate); - OffCommand=cmd(bouncebegin,0.15;zoomx,0); - Def.Sprite { - Name="CDTitle"; - OnCommand=cmd(draworder,106;shadowlength,1;zoom,0.75;diffusealpha,1;zoom,0;bounceend,0.35;zoom,0.75;spin;effectperiod,2;effectmagnitude,0,180,0); - BackCullCommand=cmd(diffuse,color("0.5,0.5,0.5,1")); - }; - }; - t[#t+1] = StandardDecorationFromFileOptional("NewSong","NewSong") .. { - -- ShowCommand=THEME:GetMetric(Var "LoadingScreen", "NewSongShowCommand" ); - -- HideCommand=THEME:GetMetric(Var "LoadingScreen", "NewSongHideCommand" ); - InitCommand=cmd(playcommand,"Set"); - BeginCommand=cmd(playcommand,"Set"); - CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); - SetCommand=function(self) - -- local pTargetProfile; - local sSong; - -- Start! - if GAMESTATE:GetCurrentSong() then - if PROFILEMAN:IsSongNew(GAMESTATE:GetCurrentSong()) then - self:playcommand("Show"); + OffCommand=cmd(decelerate,0.3;zoomy,0.8;diffusealpha,0); + LoadActor(THEME:GetPathG("ScreenSelectMusic", "pane background")) .. { + CurrentStepsP1ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;decelerate,0.3;diffusealpha,1;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:finishtweening():linear(0.2):diffuse(ColorLightTone(CustomDifficultyToColor(cd))); + else + self:diffuse(color("#666666")); + end + else + self:diffuse(color("#666666")); + end + end + }; + LoadFont("StepsDisplay meter") .. { + InitCommand=cmd(zoom,1.25;diffuse,color("#000000");addx,-143;addy,13); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP1ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(stepsP1:GetMeter()) + else + self:settext("") + end else - self:playcommand("Hide"); + self:settext("") end - else - self:playcommand("Hide"); - end - end; + end + }; + LoadFont("Common Italic Condensed") .. { + InitCommand=cmd(uppercase,true;zoom,1;addy,-40;addx,-143;diffuse,color("#000000");maxwidth,115;); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP1ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(THEME:GetString("CustomDifficulty",ToEnumShortString(diff))); + else + self:settext("") + end + else + self:settext("") + end + end + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(uppercase,true;zoom,0.75;addy,-20;addx,-143;diffuse,color("#000000");); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP1ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + local st = stepsP1:GetStepsType(); + local diff = stepsP1:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(THEME:GetString("StepsType",ToEnumShortString(st))); + else + self:settext("") + end + else + self:settext("") + end + end + }; }; - t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); + +-- P2 Difficulty Pane +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(visible,GAMESTATE:IsHumanPlayer(PLAYER_2);horizalign,center;x,SCREEN_CENTER_X+210+32;y,SCREEN_CENTER_Y+230+8;); + OnCommand=cmd(zoomy,0.8;diffusealpha,0;smooth,0.4;diffusealpha,1;zoomy,1); + PlayerJoinedMessageCommand=function(self,param) + if param.Player == PLAYER_2 then + (cmd(visible,true;diffusealpha,0;linear,0.3;diffusealpha,1))(self); + end; + end; + OffCommand=cmd(decelerate,0.3;zoomy,0.8;diffusealpha,0); + LoadActor(THEME:GetPathG("ScreenSelectMusic", "pane background")) .. { + InitCommand=cmd(zoomx,-1;); + CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;decelerate,0.3;diffusealpha,1;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:finishtweening():linear(0.2):diffuse(ColorLightTone(CustomDifficultyToColor(cd))); + else + self:diffuse(color("#666666")); + end + else + self:diffuse(color("#666666")); + end + end + }; + LoadFont("StepsDisplay meter") .. { + InitCommand=cmd(zoom,1.25;diffuse,color("#000000");addx,143;addy,13); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(stepsP2:GetMeter()) + else + self:settext("") + end + else + self:settext("") + end + end + }; + LoadFont("Common Italic Condensed") .. { + InitCommand=cmd(uppercase,true;zoom,1;addy,-40;addx,143;diffuse,color("#000000");maxwidth,115;); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(THEME:GetString("CustomDifficulty",ToEnumShortString(diff))); + else + self:settext("") + end + else + self:settext("") + end + end + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(uppercase,true;zoom,0.75;addy,-20;addx,143;diffuse,color("#000000");); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.75;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); + PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;linear,0.3;diffusealpha,0.75;); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + local st = stepsP2:GetStepsType(); + local diff = stepsP2:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:settext(THEME:GetString("StepsType",ToEnumShortString(st))); + else + self:settext("") + end + else + self:settext("") + end + end + }; + }; + +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP1","PaneDisplayTextP1"); +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP2","PaneDisplayTextP2"); + +t[#t+1] = StandardDecorationFromTable("PercentScore"..ToEnumShortString(PLAYER_1), PercentScore(PLAYER_1)); +t[#t+1] = StandardDecorationFromTable("PercentScore"..ToEnumShortString(PLAYER_2), PercentScore(PLAYER_2)); + + end; -if GAMESTATE:IsCourseMode() then - t[#t+1] = Def.ActorFrame { - Def.Quad { - InitCommand=cmd( - x,THEME:GetMetric(Var "LoadingScreen","CourseContentsListX"); - y,THEME:GetMetric(Var "LoadingScreen","CourseContentsListY") - 118; - zoomto,256+32,192; - ); - OnCommand=cmd(diffuse,Color.Green;MaskSource); - }; - Def.Quad { - InitCommand=cmd( - x,THEME:GetMetric(Var "LoadingScreen","CourseContentsListX"); - y,THEME:GetMetric(Var "LoadingScreen","CourseContentsListY") + 186; - zoomto,256+32,64; - ); - OnCommand=cmd(diffuse,Color.Blue;MaskSource); - }; - }; - t[#t+1] = StandardDecorationFromFileOptional("CourseContentsList","CourseContentsList"); - t[#t+1] = StandardDecorationFromFileOptional("NumCourseSongs","NumCourseSongs")..{ - InitCommand=cmd(horizalign,right); - SetCommand=function(self) - local curSelection= nil; - local sAppend = ""; - if GAMESTATE:IsCourseMode() then - curSelection = GAMESTATE:GetCurrentCourse(); - if curSelection then - sAppend = (curSelection:GetEstimatedNumStages() == 1) and "Stage" or "Stages"; - self:visible(true); - self:settext( curSelection:GetEstimatedNumStages() .. " " .. sAppend); - else - self:visible(false); - end; - else - self:visible(false); - end; - end; - CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); - }; -end - -t[#t+1] = StandardDecorationFromFileOptional("DifficultyDisplay","DifficultyDisplay"); - -t[#t+1] = StandardDecorationFromFileOptional("SortOrder","SortOrderText") .. { - BeginCommand=cmd(playcommand,"Set"); - SortOrderChangedMessageCommand=cmd(playcommand,"Set"); - SetCommand=function(self) - local s = GAMESTATE:GetSortOrder() - if s ~= nil then - local s = SortOrderToLocalizedString( s ) - self:settext( s ) - self:playcommand("Sort") - else - return - end - end; +-- BPMDisplay +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(draworder,126;visible,not GAMESTATE:IsCourseMode();); + OnCommand=cmd(diffusealpha,0;smooth,0.3;diffusealpha,1;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + LoadFont("Common Condensed") .. { + InitCommand=cmd(horizalign,right;x,SCREEN_CENTER_X-198+69-66;y,SCREEN_CENTER_Y-78+2;diffuse,color("#512232");horizalign,right;visible,not GAMESTATE:IsCourseMode();); + OnCommand=cmd(queuecommand,"Set"); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + self:settext("BPM"):diffuse(ColorLightTone(StageToColor(curStage))); + end; + }; + StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); }; -t[#t+1] = StandardDecorationFromFileOptional("SongOptionsFrame","SongOptionsFrame") .. { - ShowPressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsFrameShowCommand"); - ShowEnteringOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsFrameEnterCommand"); - HidePressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsFrameHideCommand"); -}; +t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList"); t[#t+1] = StandardDecorationFromFileOptional("SongOptions","SongOptionsText") .. { ShowPressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsShowCommand"); ShowEnteringOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsEnterCommand"); HidePressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsHideCommand"); }; --- Sounds -t[#t+1] = Def.ActorFrame { - LoadActor(THEME:GetPathS("_switch","up")) .. { - SelectMenuOpenedMessageCommand=cmd(stop;play); - }; - LoadActor(THEME:GetPathS("_switch","down")) .. { - SelectMenuClosedMessageCommand=cmd(stop;play); + +t[#t+1] = Def.ActorFrame{ + Def.Quad{ + InitCommand=cmd(draworder,160;FullScreen;diffuse,color("0,0,0,1");diffusealpha,0); + ShowPressStartForOptionsCommand=cmd(sleep,0.2;decelerate,0.5;diffusealpha,1); }; }; -return t +t[#t+1] = StandardDecorationFromFileOptional("AlternateHelpDisplay","AlternateHelpDisplay"); + + +t[#t+1] = Def.ActorFrame { + OffCommand=cmd(sleep,0.1;linear,0.2;diffusealpha,0;); + InitCommand=cmd(x,SCREEN_CENTER_X-84;visible,not GAMESTATE:IsCourseMode();); + + StandardDecorationFromFileOptional("StageDisplay","StageDisplay") .. { + InitCommand=cmd(zoom,1); + }; +}; + +return t; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenSelectMusic in.lua b/Themes/default/BGAnimations/ScreenSelectMusic in.lua new file mode 100644 index 0000000000..0321aac83d --- /dev/null +++ b/Themes/default/BGAnimations/ScreenSelectMusic in.lua @@ -0,0 +1,6 @@ +local transition_params = { + color = color("#005A9D"), + transition_type = "in" +} + +return LoadActor(THEME:GetPathB("", "_transition"), transition_params) diff --git a/Themes/default/Graphics/ScreenRanking CourseDifficulty hard.redir b/Themes/default/BGAnimations/ScreenSelectMusic out.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking CourseDifficulty hard.redir rename to Themes/default/BGAnimations/ScreenSelectMusic out.redir diff --git a/Themes/default/BGAnimations/ScreenSelectMusic overlay.lua b/Themes/default/BGAnimations/ScreenSelectMusic overlay.lua index 8e20872d73..fd966a25de 100644 --- a/Themes/default/BGAnimations/ScreenSelectMusic overlay.lua +++ b/Themes/default/BGAnimations/ScreenSelectMusic overlay.lua @@ -1,70 +1,45 @@ -local num_players = GAMESTATE:GetHumanPlayers(); -local function PositionItem(i,max) - local x_spacing = 128; - return x_spacing * (i-(max-1)/2); -end +local t = Def.ActorFrame {}; +-- Sort order +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_RIGHT-290;y,SCREEN_TOP+49;;); + OffCommand=cmd(linear,0.3;diffusealpha,0;); + LoadActor(THEME:GetPathG("", "_sortFrame")) .. { + InitCommand=cmd(diffusealpha,0.9;zoom,1.5); + OnCommand=function(self) + self:diffuse(ScreenColor(SCREENMAN:GetTopScreen():GetName())); + end + }; -local t = Def.ActorFrame { - FOV=90; - -- - Def.Quad { - InitCommand=cmd(zoomto,SCREEN_CENTER_X+80,SCREEN_HEIGHT); - OnCommand=cmd(diffuse,Color.Black;diffusealpha,0.75;fadeleft,32/SCREEN_CENTER_X;faderight,32/SCREEN_CENTER_X); - }; -}; --- -for i=1,#num_players do - local f = Def.ActorFrame { - InitCommand=cmd(x,-128+PositionItem(i,#num_players)); - UnchosenCommand=cmd(finishtweening;bounceend,0.25;zoom,1); - ChosenCommand=cmd(stoptweening;bouncebegin,0.3;zoom,0); - -- - StepsChosenMessageCommand=function( self, param ) - if param.Player ~= num_players[i] then return end; - self:playcommand("Chosen"); - end; - StepsUnchosenMessageCommand=function( self, param ) - if param.Player ~= num_players[i] then return end; - self:playcommand("Unchosen"); - end; - Def.Quad { - InitCommand=cmd(y,-35); - OnCommand=cmd(diffuse,PlayerColor(num_players[i]);shadowlength,1;linear,0.25;zoomtowidth,80;fadeleft,0.5;faderight,0.5); - }; - LoadFont("Common Bold") .. { - Text=ToEnumShortString(num_players[i]); - InitCommand=cmd(y,-48); - OnCommand=cmd(shadowlength,1;diffuse,PlayerColor(num_players[i])); - }; - LoadFont("Common Bold") .. { - Text="PRESS"; - InitCommand=cmd(y,-20); - OnCommand=cmd(shadowlength,1;pulse;effectmagnitude,1,1.125,1;effectperiod,0.5); - }; - LoadFont("Common Normal") .. { - Text="TO START"; - InitCommand=cmd(y,58); - OnCommand=cmd(shadowlength,1;zoom,0.75); - }; - }; - if GAMESTATE:GetCurrentGame():GetName() == "pump" then - local ns = num_players[i] == PLAYER_1 and RoutineSkinP1() or RoutineSkinP2() - f[#f+1] = LoadActor( NOTESKIN:GetPathForNoteSkin("Center","Tap",ns) ) .. { - InitCommand=cmd(y,20); - } - end - t[#t+1] = f; -end --- Lock input for half a second so that players don't accidentally start a song -t[#t+1] = Def.Actor { - StartSelectingStepsMessageCommand=function() SCREENMAN:GetTopScreen():lockinput(0.5); end; + LoadFont("Common Condensed") .. { + InitCommand=cmd(zoom,1;diffuse,color("#FFFFFF");diffusealpha,0.85;horizalign,left;addx,-115;); + OnCommand=cmd(queuecommand,"Set"); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + self:settext("SORT:"); + self:queuecommand("Refresh"); + end; + }; + + LoadFont("Common Condensed") .. { + InitCommand=cmd(zoom,1;maxwidth,SCREEN_WIDTH;addx,115;diffuse,color("#FFFFFF");uppercase,true;horizalign,right;); + OnCommand=cmd(queuecommand,"Set"); + SortOrderChangedMessageCommand=cmd(queuecommand,"Set"); + ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set"); + SetCommand=function(self) + local sortorder = GAMESTATE:GetSortOrder(); + if sortorder then + self:finishtweening(); + self:smooth(0.4); + self:diffusealpha(0); + self:settext(SortOrderToLocalizedString(sortorder)); + self:queuecommand("Refresh"):stoptweening():diffusealpha(0):smooth(0.3):diffusealpha(1) + else + self:settext(""); + self:queuecommand("Refresh"); + end + end; + }; }; --- -t.InitCommand=cmd(Center;x,SCREEN_CENTER_X*1.5;diffusealpha,0); -t.StartSelectingStepsMessageCommand=cmd(linear,0.2;diffusealpha,1); -t.SongUnchosenMessageCommand=cmd(linear,0.2;diffusealpha,0); - - -return t; +return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenRanking CourseDifficulty medium.redir b/Themes/default/BGAnimations/ScreenSelectPlayMode out.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking CourseDifficulty medium.redir rename to Themes/default/BGAnimations/ScreenSelectPlayMode out.redir diff --git a/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua b/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua index f01a206f2e..fbef1f9543 100644 --- a/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua +++ b/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua @@ -1,9 +1,13 @@ function GetLocalProfiles() - local ret = {}; + local t = {}; + + function GetSongsPlayedString(numSongs) + return numSongs == 1 and Screen.String("SingularSongPlayed") or Screen.String("SeveralSongsPlayed") + end for p = 0,PROFILEMAN:GetNumLocalProfiles()-1 do local profile=PROFILEMAN:GetLocalProfileFromIndex(p); - local item = Def.ActorFrame { + local ProfileCard = Def.ActorFrame { --[[ Def.Quad { InitCommand=cmd(zoomto,200,1;y,40/2); OnCommand=cmd(diffuse,Color('Outline');); @@ -16,35 +20,33 @@ function GetLocalProfiles() InitCommand=cmd(shadowlength,1;y,8;zoom,0.5;vertspacing,-8;ztest,true); BeginCommand=function(self) local numSongsPlayed = profile:GetNumTotalSongsPlayed(); - local s = numSongsPlayed == 1 and "Song" or "Songs"; - self:settext( string.format(THEME:GetString("ScreenSelectProfile","%d "..s.." Played"),numSongsPlayed) ); + self:settext( string.format( GetSongsPlayedString( numSongsPlayed ), numSongsPlayed ) ) end; }; }; - table.insert( ret, item ); + t[#t+1]=ProfileCard; end; - return ret; + return t; end; function LoadCard(cColor) local t = Def.ActorFrame { - LoadActor( THEME:GetPathG("ScreenSelectProfile","CardBackground") ) .. { - InitCommand=cmd(diffuse,cColor); - }; - LoadActor( THEME:GetPathG("ScreenSelectProfile","CardFrame") ); - }; + Def.Quad { + InitCommand=cmd(zoomto,300,SCREEN_HEIGHT/1.3;diffuse,ColorDarkTone(cColor);diffusealpha,0.6;fadetop,0.3;fadebottom,0.3) + } + } return t end function LoadPlayerStuff(Player) - local ret = {}; + local t = {}; local pn = (Player == PLAYER_1) and 1 or 2; --[[ local t = LoadActor(THEME:GetPathB('', '_frame 3x3'), 'metal', 200, 230) .. { Name = 'BigFrame'; }; --]] - local t = Def.ActorFrame { + t[#t+1] = Def.ActorFrame { Name = 'JoinFrame'; LoadCard(Color('Orange')); --[[ Def.Quad { @@ -56,53 +58,31 @@ function LoadPlayerStuff(Player) OnCommand=cmd(diffuse,Color('Orange');diffusealpha,0.5); }; --]] LoadFont("Common Normal") .. { - Text=THEME:GetString("ScreenSelectProfile","PressStart"); + Text="Press &START; to join."; InitCommand=cmd(shadowlength,1); OnCommand=cmd(diffuseshift;effectcolor1,Color('White');effectcolor2,color("0.5,0.5,0.5")); }; }; - table.insert( ret, t ); - t = Def.ActorFrame { + t[#t+1] = Def.ActorFrame { Name = 'BigFrame'; LoadCard(PlayerColor(Player)); }; - table.insert( ret, t ); - ---[[ t = LoadActor(THEME:GetPathB('', '_frame 3x3'), 'metal', 170, 20) .. { + t[#t+1] = Def.ActorFrame { Name = 'SmallFrame'; - }; --]] - t = Def.ActorFrame { - Name = 'SmallFrame'; ---[[ Def.Quad { - InitCommand=cmd(zoomto,170+4,32+4); - OnCommand=cmd(shadowlength,1); - }; --]] InitCommand=cmd(y,-2); Def.Quad { - InitCommand=cmd(zoomto,200-10,40+2); - OnCommand=cmd(diffuse,Color('Black');diffusealpha,0.5); + InitCommand=cmd(zoomto,300,40); + OnCommand=cmd(diffuse,PlayerColor(Player);fadeleft,0.25;faderight,0.25); }; - Def.Quad { - InitCommand=cmd(zoomto,200-10,40); - 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); - OnCommand=cmd(diffuse,Color("Black");fadebottom,1;diffusealpha,0.35); - }; - Def.Quad { - InitCommand=cmd(zoomto,200-10,1;y,-40/2+1); - OnCommand=cmd(diffuse,PlayerColor(Player);glow,color("1,1,1,0.25")); - }; }; - table.insert( ret, t ); - t = Def.ActorScroller{ - Name = 'ProfileScroller'; + t[#t+1] = Def.ActorScroller{ + Name = 'Scroller'; NumItemsToDraw=6; --- InitCommand=cmd(y,-230/2+20;); + --InitCommand=cmd(zoom,2); OnCommand=cmd(y,1;SetFastCatchup,true;SetMask,200,58;SetSecondsPerItem,0.15); + OffCommand=cmd(decelerate,0.5;diffusealpha,0); TransformFunction=function(self, offset, itemIndex, numItems) local focus = scale(math.abs(offset),0,2,1,0); self:visible(false); @@ -113,40 +93,23 @@ function LoadPlayerStuff(Player) end; children = GetLocalProfiles(); }; - table.insert( ret, t ); - t = Def.ActorFrame { + t[#t+1] = Def.ActorFrame { Name = "EffectFrame"; - --[[ Def.Quad { - InitCommand=cmd(y,-230/2;vertalign,top;zoomto,200,8;fadebottom,1); - OnCommand=cmd(diffuse,Color("Black");diffusealpha,0.25); - }; - Def.Quad { - InitCommand=cmd(y,230/2;vertalign,bottom;zoomto,200,8;fadetop,1); - OnCommand=cmd(diffuse,Color("Black");diffusealpha,0.25); - }; --]] }; - table.insert( ret, t ); ---[[ t = Def.BitmapText { - OnCommand = cmd(y,160); - Name = 'SelectedProfileText'; - Font = "Common Normal"; - Text = 'No profile'; - }; --]] - t = LoadFont("Common Normal") .. { + t[#t+1] = LoadFont("Common Normal") .. { Name = 'SelectedProfileText'; --InitCommand=cmd(y,160;shadowlength,1;diffuse,PlayerColor(Player)); InitCommand=cmd(y,160;shadowlength,1;); }; - table.insert( ret, t ); - return ret; + return t; end; function UpdateInternal3(self, Player) local pn = (Player == PLAYER_1) and 1 or 2; local frame = self:GetChild(string.format('P%uFrame', pn)); - local scroller = frame:GetChild('ProfileScroller'); + local scroller = frame:GetChild('Scroller'); local seltext = frame:GetChild('SelectedProfileText'); local joinframe = frame:GetChild('JoinFrame'); local smallframe = frame:GetChild('SmallFrame'); @@ -193,59 +156,17 @@ function UpdateInternal3(self, Player) end; end; --- Will be set to the main ActorFrame for the screen in its OnCommand. -local main_frame= false - -local function input(event) - if event.type == "InputEventType_Release" then return end - local pn= event.PlayerNumber - local code= event.GameButton - if not pn or not code then return end - local input_functions= { - Start= function() - MESSAGEMAN:Broadcast("StartButton") - if not GAMESTATE:IsHumanPlayer(pn) then - SCREENMAN:GetTopScreen():SetProfileIndex(pn, -1) - else - SCREENMAN:GetTopScreen():Finish() - end - end, - Back= function() - if GAMESTATE:GetNumPlayersEnabled()==0 then - SCREENMAN:GetTopScreen():Cancel() - else - MESSAGEMAN:Broadcast("BackButton") - SCREENMAN:GetTopScreen():SetProfileIndex(pn, -2) - end - end, - MenuUp= function() - if GAMESTATE:IsHumanPlayer(pn) then - local ind = SCREENMAN:GetTopScreen():GetProfileIndex(pn) - if ind > 1 then - if SCREENMAN:GetTopScreen():SetProfileIndex(pn, ind - 1) then - MESSAGEMAN:Broadcast("DirectionButton") - main_frame:queuecommand('UpdateInternal2') - end - end - end - end, - MenuDown= function() - if GAMESTATE:IsHumanPlayer(pn) then - local ind = SCREENMAN:GetTopScreen():GetProfileIndex(pn) - if ind > 0 then - if SCREENMAN:GetTopScreen():SetProfileIndex(pn, ind + 1) then - MESSAGEMAN:Broadcast("DirectionButton") - main_frame:queuecommand('UpdateInternal2') - end - end - end +-- here's a (messy) fix for one player's selection ending the screen, +-- at least until this whole thing is rewritten to be... Not this +local ready = {} +local function AllPlayersReady() + for i, pn in ipairs(GAMESTATE:GetHumanPlayers()) do + if not ready[pn] then + return false end - } - input_functions.MenuLeft= input_functions.MenuUp - input_functions.MenuRight= input_functions.MenuDown - if input_functions[code] then - input_functions[code]() end + -- if it hasn't returned false by now, surely it must be true, right? RIGHT??? + return true end local t = Def.ActorFrame { @@ -254,6 +175,57 @@ local t = Def.ActorFrame { self:queuecommand('UpdateInternal2'); end; + CodeMessageCommand = function(self, params) + if params.Name == 'Start' or params.Name == 'Center' then + MESSAGEMAN:Broadcast("StartButton"); + if not GAMESTATE:IsHumanPlayer(params.PlayerNumber) then + SCREENMAN:GetTopScreen():SetProfileIndex(params.PlayerNumber, -1); + else + ready[params.PlayerNumber] = true + if AllPlayersReady() then + SCREENMAN:GetTopScreen():Finish(); + end + end; + end; + if params.Name == 'Up' or params.Name == 'Up2' or params.Name == 'DownLeft' then + -- Added a line to make sure the player can't fiddle around in the menu + -- after they've already made a selection. + if GAMESTATE:IsHumanPlayer(params.PlayerNumber) and not ready[params.PlayerNumber] then + local ind = SCREENMAN:GetTopScreen():GetProfileIndex(params.PlayerNumber); + if ind > 1 then + if SCREENMAN:GetTopScreen():SetProfileIndex(params.PlayerNumber, ind - 1 ) then + MESSAGEMAN:Broadcast("DirectionButton"); + self:queuecommand('UpdateInternal2'); + end; + end; + end; + end; + if params.Name == 'Down' or params.Name == 'Down2' or params.Name == 'DownRight' then + if GAMESTATE:IsHumanPlayer(params.PlayerNumber) and not ready[params.PlayerNumber] then + local ind = SCREENMAN:GetTopScreen():GetProfileIndex(params.PlayerNumber); + if ind > 0 then + if SCREENMAN:GetTopScreen():SetProfileIndex(params.PlayerNumber, ind + 1 ) then + MESSAGEMAN:Broadcast("DirectionButton"); + self:queuecommand('UpdateInternal2'); + end; + end; + end; + end; + if params.Name == 'Back' then + if GAMESTATE:GetNumPlayersEnabled()==0 then + SCREENMAN:GetTopScreen():Cancel(); + else + MESSAGEMAN:Broadcast("BackButton") + -- Allow... erm... un-readying a player. + if ready[params.PlayerNumber] then + ready[params.PlayerNumber] = false + else + SCREENMAN:GetTopScreen():SetProfileIndex(params.PlayerNumber, -2); + end + end; + end; + end; + PlayerJoinedMessageCommand=function(self, params) self:queuecommand('UpdateInternal2'); end; @@ -263,8 +235,6 @@ local t = Def.ActorFrame { end; OnCommand=function(self, params) - main_frame= self:GetParent() - SCREENMAN:GetTopScreen():AddInputCallback(input) self:queuecommand('UpdateInternal2'); end; @@ -277,38 +247,35 @@ local t = Def.ActorFrame { Def.ActorFrame { Name = 'P1Frame'; InitCommand=cmd(x,SCREEN_CENTER_X-160;y,SCREEN_CENTER_Y); - OnCommand=cmd(zoom,0;bounceend,0.35;zoom,1); - OffCommand=cmd(bouncebegin,0.35;zoom,0); - PlayerJoinedMessageCommand=function(self,param) - if param.Player == PLAYER_1 then - (cmd(;zoom,1.15;bounceend,0.175;zoom,1.0;))(self); - end; - end; + --OnCommand=cmd(zoom,0;bounceend,0.35;zoom,1); + OffCommand=cmd(decelerate,0.3;diffusealpha,0); + -- PlayerJoinedMessageCommand=function(self,param) + -- if param.Player == PLAYER_1 then + -- (cmd(;zoom,1.15;bounceend,0.175;zoom,1.0;))(self); + -- end; + -- end; children = LoadPlayerStuff(PLAYER_1); }; Def.ActorFrame { Name = 'P2Frame'; InitCommand=cmd(x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y); - OnCommand=cmd(zoom,0;bounceend,0.35;zoom,1); - OffCommand=cmd(bouncebegin,0.35;zoom,0); - PlayerJoinedMessageCommand=function(self,param) - if param.Player == PLAYER_2 then - (cmd(zoom,1.15;bounceend,0.175;zoom,1.0;))(self); - end; - end; + --OnCommand=cmd(zoom,0;bounceend,0.35;zoom,1); + OffCommand=cmd(decelerate,0.3;diffusealpha,0); + -- PlayerJoinedMessageCommand=function(self,param) + -- if param.Player == PLAYER_2 then + -- (cmd(zoom,1.15;bounceend,0.175;zoom,1.0;))(self); + -- end; + -- end; children = LoadPlayerStuff(PLAYER_2); }; -- sounds LoadActor( THEME:GetPathS("Common","start") )..{ - IsAction= true, StartButtonMessageCommand=cmd(play); }; LoadActor( THEME:GetPathS("Common","cancel") )..{ - IsAction= true, BackButtonMessageCommand=cmd(play); }; LoadActor( THEME:GetPathS("Common","value") )..{ - IsAction= true, DirectionButtonMessageCommand=cmd(play); }; }; diff --git a/Themes/default/Graphics/ScreenRanking Difficulty challenge.redir b/Themes/default/BGAnimations/ScreenStageInformation in.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking Difficulty challenge.redir rename to Themes/default/BGAnimations/ScreenStageInformation in.redir diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/CourseDisplay.lua b/Themes/default/BGAnimations/ScreenStageInformation underlay/CourseDisplay.lua index e6d2d39cee..dc316ffd8d 100644 --- a/Themes/default/BGAnimations/ScreenStageInformation underlay/CourseDisplay.lua +++ b/Themes/default/BGAnimations/ScreenStageInformation underlay/CourseDisplay.lua @@ -1,4 +1,7 @@ if not GAMESTATE:IsCourseMode() then return Def.ActorFrame{} end; -- short circuit +local slideTime = 1.1; +local slideWait = 1.25; +local bottomSlide = 0.76; local course = GAMESTATE:GetCurrentCourse() local t = Def.ActorFrame{ @@ -13,17 +16,19 @@ local t = Def.ActorFrame{ self:LoadFromCurrentSongBackground() end end; - OnCommand=cmd(diffusealpha,0;scale_or_crop_background;sleep,0.5;linear,0.50;diffusealpha,1;sleep,3); - }; + OnCommand=function(self) + self:scale_or_crop_background() + self:addy(SCREEN_HEIGHT):sleep(slideWait):smooth(slideTime):addy(-SCREEN_HEIGHT); + end; + }; -- alternate background Def.Sprite{ InitCommand=cmd(Center;); BeginCommand=cmd(LoadFromCurrentSongBackground;scale_or_crop_background;diffusealpha,0); - OnCommand=cmd(sleep,4;playcommand,"Show"); + OnCommand=cmd(playcommand,"Show"); ShowCommand=function(self) if course:HasBackground() then - self:accelerate(0.25) - self:diffusealpha(1) + self:addy(SCREEN_HEIGHT):sleep(slideWait):smooth(slideTime):addy(-SCREEN_HEIGHT); end end; }; diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/_arrow (doubleres).png b/Themes/default/BGAnimations/ScreenStageInformation underlay/_arrow (doubleres).png new file mode 100644 index 0000000000..ff93c81f2c Binary files /dev/null and b/Themes/default/BGAnimations/ScreenStageInformation underlay/_arrow (doubleres).png differ diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua index 47cb3e9638..1a61653edf 100644 --- a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua +++ b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua @@ -1,4 +1,8 @@ local playMode = GAMESTATE:GetPlayMode() +local slideTime = 1.1; +local slideWait = 1.25; +local bottomSlide = 0.76; +local easeTime = 0.10; local sStage = "" sStage = GAMESTATE:GetCurrentStage() @@ -11,22 +15,41 @@ local t = Def.ActorFrame {}; t[#t+1] = Def.Quad { InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;diffuse,Color("Black")); }; + if GAMESTATE:IsCourseMode() then t[#t+1] = LoadActor("CourseDisplay"); else t[#t+1] = Def.Sprite { - InitCommand=cmd(Center;diffusealpha,0); + InitCommand=cmd(Center;diffusealpha,0.26); BeginCommand=cmd(LoadFromCurrentSongBackground); OnCommand=function(self) self:scale_or_crop_background() - self:sleep(0.5) - self:linear(0.50) - self:diffusealpha(1) - self:sleep(3) + self:addy(SCREEN_HEIGHT):sleep(slideWait):smooth(slideTime):addy(-SCREEN_HEIGHT):diffusealpha(1); end; }; end + +-- BG for credits +t[#t+1] = Def.ActorFrame { + OnCommand=cmd(addy,SCREEN_HEIGHT;sleep,slideWait;smooth,slideTime+easeTime;addy,-SCREEN_HEIGHT;sleep,2-easeTime;smooth,bottomSlide;addy,240); + -- Behind stage graphic + Def.Quad { + InitCommand=cmd(vertalign,bottom;x,SCREEN_CENTER_X;y,SCREEN_BOTTOM-110;zoomto,SCREEN_WIDTH,120;); + OnCommand=function(self) + self:diffuse(color("#000000")):diffusealpha(0.8); + end + }; + -- Behind song + Def.Quad { + InitCommand=cmd(vertalign,bottom;x,SCREEN_CENTER_X;y,SCREEN_BOTTOM;zoomto,SCREEN_WIDTH,110;); + OnCommand=function(self) + self:diffuse(color("#000000")):diffusealpha(0.9); + end + }; +}; + + local stage_num_actor= THEME:GetPathG("ScreenStageInformation", "Stage " .. ToEnumShortString(sStage), true) if stage_num_actor ~= "" and FILEMAN:DoesFileExist(stage_num_actor) then stage_num_actor= LoadActor(stage_num_actor) @@ -46,46 +69,127 @@ else end t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y); - OnCommand=cmd(stoptweening;zoom,1.25;decelerate,3;zoom,1); + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+190); + OnCommand=cmd(addy,SCREEN_HEIGHT;sleep,slideWait;smooth,slideTime+easeTime;addy,-SCREEN_HEIGHT;sleep,2-easeTime;smooth,bottomSlide;addy,240;); + stage_num_actor .. { - OnCommand=cmd(diffusealpha,0;linear,0.25;diffusealpha,1;sleep,1.75;linear,0.5;zoomy,0;zoomx,2;diffusealpha,0); + OnCommand=cmd(zoom,1;diffusealpha,1); }; }; -t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+96); - OnCommand=cmd(stoptweening;addy,-16;decelerate,3;addy,16); - LoadFont("Common Normal") .. { - Text=GAMESTATE:IsCourseMode() and GAMESTATE:GetCurrentCourse():GetDisplayFullTitle() or GAMESTATE:GetCurrentSong():GetDisplayFullTitle(); - InitCommand=cmd(strokecolor,Color("Outline");y,-20); - OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); - }; - LoadFont("Common Normal") .. { - Text=GAMESTATE:IsCourseMode() and ToEnumShortString( GAMESTATE:GetCurrentCourse():GetCourseType() ) or GAMESTATE:GetCurrentSong():GetDisplayArtist(); - InitCommand=cmd(strokecolor,Color("Outline");zoom,0.75); - OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); - }; - LoadFont("Common Normal") .. { - InitCommand=cmd(strokecolor,Color("Outline");diffuse,Color("Orange");diffusebottomedge,Color("Yellow");zoom,0.75;y,20); - BeginCommand=function(self) - local text = ""; - local SongOrCourse; - if GAMESTATE:IsCourseMode() then - local trail = GAMESTATE:GetCurrentTrail(GAMESTATE:GetMasterPlayerNumber()); - SongOrCourse = GAMESTATE:GetCurrentCourse(); - if SongOrCourse:GetEstimatedNumStages() == 1 then - text = SongOrCourse:GetEstimatedNumStages() .." Stage / ".. SecondsToMSSMsMs( TrailUtil.GetTotalSeconds(trail) ); +-- Step author credits + if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(y,SCREEN_BOTTOM-80;x,SCREEN_LEFT+40;); + OnCommand=cmd(addy,SCREEN_HEIGHT;sleep,slideWait;smooth,slideTime+easeTime;addy,-SCREEN_HEIGHT;sleep,2-easeTime;smooth,bottomSlide;addy,240;); + LoadFont("Common Italic Condensed") .. { + OnCommand=cmd(playcommand,"Set";horizalign,left;diffuse,color("#FFFFFF");); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1:GetAuthorCredit() ~= "" then + self:settext(string.upper(THEME:GetString("OptionTitles","Step Author")) .. ":"); else - text = SongOrCourse:GetEstimatedNumStages() .." Stages / ".. SecondsToMSSMsMs( TrailUtil.GetTotalSeconds(trail) ); + self:settext("") end else - SongOrCourse = GAMESTATE:GetCurrentSong(); - text = SecondsToMSSMsMs( SongOrCourse:MusicLengthSeconds() ); - end; - self:settext(text); - end; - OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); + self:settext("") + end + end + }; + LoadFont("Common Fallback Font") .. { + InitCommand=cmd(addy,22); + OnCommand=cmd(playcommand,"Set";horizalign,left;zoom,0.75;diffuse,color("#FFFFFF");); + SetCommand=function(self) + stepsP1 = GAMESTATE:GetCurrentSteps(PLAYER_1) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP1 ~= nil then + self:settext(stepsP1:GetAuthorCredit()) + else + self:settext("") + end + else + self:settext("") + end + end + }; + }; + end + + if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(y,SCREEN_BOTTOM-80;x,SCREEN_RIGHT-40;); + OnCommand=cmd(addy,SCREEN_HEIGHT;sleep,slideWait;smooth,slideTime+easeTime;addy,-SCREEN_HEIGHT;sleep,2-easeTime;smooth,bottomSlide;addy,240;); + LoadFont("Common Italic Condensed") .. { + OnCommand=cmd(playcommand,"Set";horizalign,right;diffuse,color("#FFFFFF");); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + local diff = stepsP2:GetDifficulty(); + if stepsP2:GetAuthorCredit() ~= "" then + self:settext(string.upper(THEME:GetString("OptionTitles","Step Author")) .. ":"); + else + self:settext("") + end + else + self:settext("") + end + end + }; + + LoadFont("Common Fallback Font") .. { + InitCommand=cmd(addy,22); + OnCommand=cmd(playcommand,"Set";horizalign,right;zoom,0.75;diffuse,color("#FFFFFF");); + SetCommand=function(self) + stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2) + local song = GAMESTATE:GetCurrentSong(); + if song then + if stepsP2 ~= nil then + self:settext(stepsP2:GetAuthorCredit()) + else + self:settext("") + end + else + self:settext("") + end + end + }; + }; + end + +-- Song title and artist +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_BOTTOM-80); + OnCommand=cmd(addy,SCREEN_HEIGHT;sleep,slideWait;smooth,slideTime+easeTime;addy,-SCREEN_HEIGHT;sleep,2-easeTime;smooth,bottomSlide;addy,240;); + LoadFont("Common Fallback Font") .. { + Text=GAMESTATE:IsCourseMode() and GAMESTATE:GetCurrentCourse():GetDisplayFullTitle() or GAMESTATE:GetCurrentSong():GetDisplayFullTitle(); + InitCommand=cmd(diffuse,color("#FFFFFF");maxwidth,SCREEN_WIDTH*0.6); + OnCommand=cmd(zoom,1;); + }; + LoadFont("Common Fallback Font") .. { + Text=GAMESTATE:IsCourseMode() and ToEnumShortString( GAMESTATE:GetCurrentCourse():GetCourseType() ) or GAMESTATE:GetCurrentSong():GetDisplayArtist(); + InitCommand=cmd(diffuse,color("#FFFFFF");maxwidth,SCREEN_WIDTH*0.6); + OnCommand=cmd(zoom,0.75;addy,24;); + }; +}; + +-- Stunt BG in case the BG accidentally overhangs +t[#t+1] = Def.Quad { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;diffuse,Color("Black")); + OnCommand=cmd(sleep,slideWait;smooth,slideTime;addy,-SCREEN_HEIGHT;sleep,0.2;diffusealpha,0); +}; + +t[#t+1] = Def.ActorFrame { + LoadActor("_arrow") .. { + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;diffuse,color("#DAD6CC");); + OnCommand=cmd(diffusealpha,0;sleep,0.5;diffusealpha,0.6;decelerate,0.4;zoom,1.2;diffusealpha,0;); + }; + LoadActor("_arrow") .. { + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;diffuse,color("#DAD6CC");); + OnCommand=cmd(zoom,0;bounceend,0.5;zoom,1;sleep,0.75;smooth,slideTime;addy,-SCREEN_HEIGHT;); }; }; diff --git a/Themes/default/BGAnimations/ScreenSystemLayer overlay/default.lua b/Themes/default/BGAnimations/ScreenSystemLayer overlay/default.lua new file mode 100644 index 0000000000..fc055b36cc --- /dev/null +++ b/Themes/default/BGAnimations/ScreenSystemLayer overlay/default.lua @@ -0,0 +1,92 @@ +local function CreditsText( pn ) + 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 + }; + return text; +end; + +--[[ local function PlayerPane( PlayerNumber ) + local t = Def.ActorFrame { + InitCommand=function(self) + self:name("PlayerPane" .. PlayerNumberToString(PlayerNumber)); + -- ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end + }; + t[#t+1] = Def.ActorFrame { + Name = "Background"; + Def.Quad { + InitCommand=cmd(zoomto,160,28;queuecommand,"On"); + OnCommand=cmd(diffuse,PlayerColor(PlayerNumber);fadebottom,1); + }; + }; + t[#t+1] = Def.BitmapText{ + Font="Common Normal"; + Name = "PlayerText"; + InitCommand=cmd(x,-60;maxwidth,80/0.5;zoom,0.5;queuecommand,"On"); + OnCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local profile = PROFILEMAN:GetProfile( PlayerNumber) or PROFILEMAN:GetMachineProfile() + if profile then + self:settext( profile:GetDisplayName() ); + else + self:settext( "NoProf" ); + end + end; + }; + return t +end --]] +-- +local t = Def.ActorFrame {} + -- Aux +t[#t+1] = LoadActor(THEME:GetPathB("ScreenSystemLayer","aux")); + -- Credits +t[#t+1] = Def.ActorFrame { +--[[ PlayerPane( PLAYER_1 ) .. { + InitCommand=cmd(x,scale(0.125,0,1,SCREEN_LEFT,SCREEN_WIDTH);y,SCREEN_BOTTOM-16) + }; --]] + CreditsText( PLAYER_1 ); + CreditsText( PLAYER_2 ); +}; + -- Text +t[#t+1] = Def.ActorFrame { + Def.Quad { + InitCommand=cmd(zoomtowidth,SCREEN_WIDTH;zoomtoheight,30;horizalign,left;vertalign,top;y,SCREEN_TOP;diffuse,color("0,0,0,0")); + OnCommand=cmd(finishtweening;diffusealpha,0.85;); + OffCommand=cmd(sleep,3;linear,0.5;diffusealpha,0;); + }; + Def.BitmapText{ + Font="_fira mono 24px"; + Name="Text"; + InitCommand=cmd(maxwidth,750;horizalign,left;vertalign,top;y,SCREEN_TOP+10;x,SCREEN_LEFT+10;shadowlength,1;diffusealpha,0;); + OnCommand=cmd(finishtweening;diffusealpha,1;zoom,0.5); + OffCommand=cmd(sleep,3;linear,0.5;diffusealpha,0;); + }; + SystemMessageMessageCommand = function(self, params) + self:GetChild("Text"):settext( params.Message ); + self:playcommand( "On" ); + if params.NoAnimate then + self:finishtweening(); + end + self:playcommand( "Off" ); + end; + HideSystemMessageMessageCommand = cmd(finishtweening); +}; + +return t; diff --git a/Themes/default/BGAnimations/ScreenTextEntry underlay.lua b/Themes/default/BGAnimations/ScreenTextEntry underlay.lua new file mode 100644 index 0000000000..baf635cdfc --- /dev/null +++ b/Themes/default/BGAnimations/ScreenTextEntry underlay.lua @@ -0,0 +1,7 @@ +return Def.ActorFrame { + Def.Quad{ + InitCommand=cmd(scaletocover,-SCREEN_WIDTH*2,SCREEN_TOP,SCREEN_WIDTH*2,SCREEN_BOTTOM;diffuse,color("0,0,0,0.5")); + OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,0.5;); + OffCommand=cmd(smooth,0.2;diffusealpha,0;); + }; +}; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenTitleMenu background/_maze.png b/Themes/default/BGAnimations/ScreenTitleMenu background/_maze.png new file mode 100644 index 0000000000..f0c7710b70 Binary files /dev/null and b/Themes/default/BGAnimations/ScreenTitleMenu background/_maze.png differ diff --git a/Themes/default/BGAnimations/ScreenTitleMenu background/_particle normal.png b/Themes/default/BGAnimations/ScreenTitleMenu background/_particle normal.png new file mode 100644 index 0000000000..fb0e9d36e3 Binary files /dev/null and b/Themes/default/BGAnimations/ScreenTitleMenu background/_particle normal.png differ diff --git a/Themes/default/BGAnimations/ScreenTitleMenu background/_particleLoader.lua b/Themes/default/BGAnimations/ScreenTitleMenu background/_particleLoader.lua new file mode 100644 index 0000000000..1342fa08ca --- /dev/null +++ b/Themes/default/BGAnimations/ScreenTitleMenu background/_particleLoader.lua @@ -0,0 +1,72 @@ +local t = Def.ActorFrame{}; + +local Params = { + NumParticles = 20, + VelocityXMin = 70, + VelocityXMax = 90, + VelocityYMin = 70, + VelocityYMax = 90, + VelocityZMin = 0, + VelocityZMax = 0, + BobRateZMin = 0.4, + BobRateZMax = 0.7, + ZoomMin = 0.2, + ZoomMax = 0.6, + SpinZ = 0, + BobZ = 52, + File = "_particle normal", +}; + +local tParticleInfo = {} + +for i=1,Params.NumParticles do + tParticleInfo[i] = { + X = math.random(Params.VelocityXMin, Params.VelocityXMax), + Y = Params.VelocityYMin ~= Params.VelocityYMax and math.random(Params.VelocityYMin, Params.VelocityYMax) or Params.VelocityYMin, + Z = Params.VelocityZMin ~= Params.VelocityZMax and math.random(Params.VelocityZMin, Params.VelocityZMax) or Params.VelocityZMin, + Zoom = math.random(Params.ZoomMin*1000,Params.ZoomMax*1000) / 1000, + BobZRate = math.random(Params.BobRateZMin*1000,Params.BobRateZMax*1000) / 1000, + Age = 0, + }; + t[#t+1] = LoadActor( Params.File )..{ + Name="Particle"..i; + InitCommand=function(self) + self:basezoom(tParticleInfo[i].Zoom); + self:x(math.random(SCREEN_LEFT+(self:GetWidth()/2),SCREEN_RIGHT-(self:GetWidth()/2))); + self:y(math.random(SCREEN_TOP+(self:GetHeight()/2),SCREEN_BOTTOM-(self:GetHeight()/2))); + --self:z(math.random(-64,0)); + end; + OnCommand=cmd(diffusealpha,1); + }; +end + +local function UpdateParticles(self,DeltaTime) + tParticles = self:GetChildren(); + for i=1, Params.NumParticles do + local p = tParticles["Particle"..i]; + local vX = tParticleInfo[i].X; + local vY = tParticleInfo[i].Y; + local vZ = tParticleInfo[i].Z; + tParticleInfo[i].Age = tParticleInfo[i].Age + DeltaTime; + p:x(p:GetX() + (vX * DeltaTime)); + p:y(p:GetY() + (vY * DeltaTime)); + p:z(p:GetZ() + (vZ * DeltaTime)); +-- p:zoom( 1 + math.cos( +-- (tParticleInfo[i].Age * math.pi*2) +-- ) * 0.125 ); + if p:GetX() > SCREEN_RIGHT + (p:GetWidth()/2 - p:GetZ()) then + p:x(SCREEN_LEFT - (p:GetWidth()/2)); + elseif p:GetX() < SCREEN_LEFT - (p:GetWidth()/2 - p:GetZ()) then + p:x(SCREEN_RIGHT + (p:GetWidth()/2)); + end + if p:GetY() > SCREEN_BOTTOM + (p:GetHeight()/2 - p:GetZ()) then + p:y(SCREEN_TOP - (p:GetHeight()/2)); + elseif p:GetY() < SCREEN_TOP - (p:GetHeight()/2 - p:GetZ()) then + p:y(SCREEN_BOTTOM + (p:GetHeight()/2)); + end + end; +end; + +t.InitCommand = cmd(fov,90;SetUpdateFunction,UpdateParticles); + +return t; diff --git a/Themes/default/BGAnimations/ScreenTitleMenu background/_tunnel1.png b/Themes/default/BGAnimations/ScreenTitleMenu background/_tunnel1.png new file mode 100644 index 0000000000..e1ebfa4b5d Binary files /dev/null and b/Themes/default/BGAnimations/ScreenTitleMenu background/_tunnel1.png differ diff --git a/Themes/default/BGAnimations/ScreenTitleMenu background/_tunnel2.png b/Themes/default/BGAnimations/ScreenTitleMenu background/_tunnel2.png new file mode 100644 index 0000000000..c29ecc3798 Binary files /dev/null and b/Themes/default/BGAnimations/ScreenTitleMenu background/_tunnel2.png differ diff --git a/Themes/default/BGAnimations/ScreenTitleMenu background/default.lua b/Themes/default/BGAnimations/ScreenTitleMenu background/default.lua new file mode 100644 index 0000000000..4fe31bedad --- /dev/null +++ b/Themes/default/BGAnimations/ScreenTitleMenu background/default.lua @@ -0,0 +1,32 @@ +return Def.ActorFrame { + LoadActor(THEME:GetPathG("common bg", "base")) .. { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT) + }; + + LoadActor("_particleLoader") .. { + }; + + LoadActor("_maze") .. { + OnCommand=cmd(Center;diffuse,color("#f6784922");effectperiod,10;spin;effectmagnitude,0,0,2.2) + }; + + Def.ActorFrame { + OnCommand=cmd(diffusealpha,0;decelerate,1.8;diffusealpha,1;); + LoadActor("_tunnel1") .. { + InitCommand=cmd(Center;blend,'BlendMode_Add';rotationz,-20), + OnCommand=cmd(zoom,1.75;diffusealpha,0.12;spin;effectmagnitude,0,0,16.5) + }; + LoadActor("_tunnel1") .. { + InitCommand=cmd(Center;blend,'BlendMode_Add';rotationz,-10), + OnCommand=cmd(zoom,1.0;diffusealpha,0.09;spin;effectmagnitude,0,0,-11) + }; + LoadActor("_tunnel1") .. { + InitCommand=cmd(Center;blend,'BlendMode_Add';rotationz,0), + OnCommand=cmd(zoom,0.5;diffusealpha,0.06;spin;effectmagnitude,0,0,5.5) + }; + LoadActor("_tunnel1") .. { + InitCommand=cmd(Center;blend,'BlendMode_Add';rotationz,-10), + OnCommand=cmd(zoom,0.2;diffusealpha,0.03;spin;effectmagnitude,0,0,-2.2) + }; + }; +} diff --git a/Themes/default/BGAnimations/ScreenTitleMenu decorations.lua b/Themes/default/BGAnimations/ScreenTitleMenu decorations.lua index e942af2272..6f52a7a050 100644 --- a/Themes/default/BGAnimations/ScreenTitleMenu decorations.lua +++ b/Themes/default/BGAnimations/ScreenTitleMenu decorations.lua @@ -2,7 +2,17 @@ InitUserPrefs(); local t = Def.ActorFrame {} -t[#t+1] = StandardDecorationFromFileOptional("Footer","Footer"); +t[#t+1] = Def.ActorFrame { + OnCommand=function(self) + if not FILEMAN:DoesFileExist("Save/ThemePrefs.ini") then + Trace("ThemePrefs doesn't exist; creating file") + ThemePrefs.ForceSave() + end + + ThemePrefs.Save() + end; +}; + t[#t+1] = StandardDecorationFromFileOptional("Logo","Logo"); t[#t+1] = StandardDecorationFromFileOptional("VersionInfo","VersionInfo"); t[#t+1] = StandardDecorationFromFileOptional("CurrentGametype","CurrentGametype"); diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/_barcode (stretch).png b/Themes/default/BGAnimations/ScreenWithMenuElements background/_barcode (stretch).png new file mode 100644 index 0000000000..644f69bd0f Binary files /dev/null and b/Themes/default/BGAnimations/ScreenWithMenuElements background/_barcode (stretch).png differ diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/_maze.png b/Themes/default/BGAnimations/ScreenWithMenuElements background/_maze.png new file mode 100644 index 0000000000..f0c7710b70 Binary files /dev/null and b/Themes/default/BGAnimations/ScreenWithMenuElements background/_maze.png differ diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/_tunnel1.png b/Themes/default/BGAnimations/ScreenWithMenuElements background/_tunnel1.png new file mode 100644 index 0000000000..e1ebfa4b5d Binary files /dev/null and b/Themes/default/BGAnimations/ScreenWithMenuElements background/_tunnel1.png differ diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/_tunnel2.png b/Themes/default/BGAnimations/ScreenWithMenuElements background/_tunnel2.png new file mode 100644 index 0000000000..c29ecc3798 Binary files /dev/null and b/Themes/default/BGAnimations/ScreenWithMenuElements background/_tunnel2.png differ diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/default.lua b/Themes/default/BGAnimations/ScreenWithMenuElements background/default.lua index 4b1e7bf815..7215dfc249 100644 --- a/Themes/default/BGAnimations/ScreenWithMenuElements background/default.lua +++ b/Themes/default/BGAnimations/ScreenWithMenuElements background/default.lua @@ -1,35 +1,46 @@ -local t = Def.ActorFrame {}; - -t[#t+1] = Def.ActorFrame { - FOV=90; - InitCommand=cmd(Center); - Def.Quad { - InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); - OnCommand=cmd(diffuse,color("#FFCB05");diffusebottomedge,color("#F0BA00")); - }; - Def.ActorFrame { - InitCommand=cmd(hide_if,hideFancyElements;); - LoadActor("_checkerboard") .. { - InitCommand=cmd(rotationy,0;rotationz,0;rotationx,-90/4*3.5;zoomto,SCREEN_WIDTH*2,SCREEN_HEIGHT*2;customtexturerect,0,0,SCREEN_WIDTH*4/256,SCREEN_HEIGHT*4/256); - OnCommand=cmd(texcoordvelocity,0,0.25;diffuse,color("#ffd400");fadetop,1); +-- You know what, I guess the "fancy UI background" theme option can be put to use. +if ThemePrefs.Get("FancyUIBG") then + return Def.ActorFrame { + + LoadActor(THEME:GetPathG("common bg", "base")) .. { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT) + }, + + LoadActor("_maze") .. { + OnCommand=cmd(Center;diffuse,color("#f6784922");effectperiod,10;spin;effectmagnitude,0,0,2.2) + }, + + LoadActor("_barcode") .. { + InitCommand=cmd(zoomto,36,1024;blend,'BlendMode_Add';x,SCREEN_LEFT+36;y,SCREEN_CENTER_Y;diffusealpha,0.08); + OnCommand=cmd(customtexturerect,0,0,1,1;texcoordvelocity,0,-0.1); }; + LoadActor("_barcode") .. { + InitCommand=cmd(zoomto,36,1024;blend,'BlendMode_Add';x,SCREEN_RIGHT-36;y,SCREEN_CENTER_Y;diffusealpha,0.08); + OnCommand=cmd(customtexturerect,0,0,1,1;texcoordvelocity,0,0.1); + }; + + Def.ActorFrame { + OnCommand=cmd(diffusealpha,0;decelerate,1.8;diffusealpha,1;); + LoadActor("_tunnel1") .. { + InitCommand=cmd(x,SCREEN_LEFT+160;y,SCREEN_CENTER_Y;blend,'BlendMode_Add';rotationz,-20), + OnCommand=cmd(zoom,1.75;diffusealpha,0.14;spin;effectmagnitude,0,0,16.5) + }; + LoadActor("_tunnel1") .. { + InitCommand=cmd(x,SCREEN_LEFT+160;y,SCREEN_CENTER_Y;blend,'BlendMode_Add';rotationz,-10), + OnCommand=cmd(zoom,1.0;diffusealpha,0.12;spin;effectmagnitude,0,0,-11) + }; + LoadActor("_tunnel1") .. { + InitCommand=cmd(x,SCREEN_LEFT+160;y,SCREEN_CENTER_Y;blend,'BlendMode_Add';rotationz,0), + OnCommand=cmd(zoom,0.5;diffusealpha,0.10;spin;effectmagnitude,0,0,5.5) + }; + LoadActor("_tunnel1") .. { + InitCommand=cmd(x,SCREEN_LEFT+160;y,SCREEN_CENTER_Y;blend,'BlendMode_Add';rotationz,-10), + OnCommand=cmd(zoom,0.2;diffusealpha,0.08;spin;effectmagnitude,0,0,-2.2) + }; }; - LoadActor("_particleLoader") .. { - InitCommand=cmd(x,-SCREEN_CENTER_X;y,-SCREEN_CENTER_Y;hide_if,hideFancyElements;); - }; ---[[ LoadActor("_particles") .. { - InitCommand=cmd(x,-SCREEN_CENTER_X;y,-SCREEN_CENTER_Y); - }; --]] ---[[ LoadActor("_pattern") .. { - InitCommand=cmd(z,32;x,4;y,4;;rotationy,-12.25;rotationz,-30;rotationx,-20;zoomto,SCREEN_WIDTH*2,SCREEN_HEIGHT*2;customtexturerect,0,0,SCREEN_WIDTH*4/256,SCREEN_HEIGHT*4/256); - OnCommand=cmd(texcoordvelocity,0.125,0.5;diffuse,Color("Black");diffusealpha,0.5); - }; --]] - --[[ LoadActor("_grid") .. { - InitCommand=cmd(customtexturerect,0,0,(SCREEN_WIDTH+1)/4,SCREEN_HEIGHT/4;SetTextureFiltering,true); - OnCommand=cmd(zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT;diffuse,Color("Black");diffuseshift;effecttiming,(1/8)*2,0,(7/8)*2,0;effectclock,'beatnooffset'; - effectcolor2,Color("White");effectcolor1,Color("Black");fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480;blend,Blend.Add; - diffusealpha,0.155); - }; --]] -}; - -return t; + } +else + return LoadActor(THEME:GetPathG("common bg", "base")) .. { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT) + } +end \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements in.lua b/Themes/default/BGAnimations/ScreenWithMenuElements in.lua new file mode 100644 index 0000000000..5e37ff4622 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenWithMenuElements in.lua @@ -0,0 +1,11 @@ +-- Alright, this is how we do things around here: +-- Write a table +local transition_params = { + color = color("#000000"), + transition_type = "in" +} + +-- Give it to another worker and let them do all the work with it +return LoadActor(THEME:GetPathB("", "_transition"), transition_params) + +-- Job done. diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements out.lua b/Themes/default/BGAnimations/ScreenWithMenuElements out.lua new file mode 100644 index 0000000000..62772a5f78 --- /dev/null +++ b/Themes/default/BGAnimations/ScreenWithMenuElements out.lua @@ -0,0 +1,6 @@ +local transition_params = { + color = color("#000000"), + transition_type = "out" +} + +return LoadActor(THEME:GetPathB("", "_transition"), transition_params) diff --git a/Themes/default/BGAnimations/_Arcade decorations/default.lua b/Themes/default/BGAnimations/_Arcade decorations/default.lua index af7aa3e9cc..7001ebc8e8 100644 --- a/Themes/default/BGAnimations/_Arcade decorations/default.lua +++ b/Themes/default/BGAnimations/_Arcade decorations/default.lua @@ -8,11 +8,11 @@ t[#t+1] = Def.ActorFrame { InitCommand=function(self) ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen") end; - LoadActor(THEME:GetPathG("OptionRowExit","Frame")) .. { - InitCommand=cmd(diffuse,Color("Orange");diffusealpha,0.35); + LoadActor(THEME:GetPathB("_frame","3x1"),"rounded fill", 250-32) .. { + OnCommand=cmd(diffuse,color("#8C1940");diffusealpha,1); }; - LoadFont("Common Normal") .. { - InitCommand=cmd(zoom,0.75;shadowlength,1;glowshift;strokecolor,Color("Outline");diffuse,Color("Orange");diffusetopedge,Color("Yellow");textglowmode,'TextGlowMode_Inner'); + LoadFont("Common Italic Condensed") .. { + InitCommand=cmd(zoom,1;shadowlength,1;strokecolor,Color("Outline");diffuse,color("#FAB56B");diffusetopedge,color("#F2D5A2");uppercase,true); Text="..."; OnCommand=cmd(playcommand,"Refresh"); CoinInsertedMessageCommand=cmd(playcommand,"Refresh"); diff --git a/Themes/default/BGAnimations/_frame cursors/rounded gloss.png b/Themes/default/BGAnimations/_frame cursors/rounded gloss.png index 1757e4c9ea..aa7f0e5616 100644 Binary files a/Themes/default/BGAnimations/_frame cursors/rounded gloss.png and b/Themes/default/BGAnimations/_frame cursors/rounded gloss.png differ diff --git a/Themes/default/BGAnimations/_frame files 3x1/rounded fill 3x1.png b/Themes/default/BGAnimations/_frame files 3x1/rounded fill 3x1.png index 37cbb834a5..a776b96981 100644 Binary files a/Themes/default/BGAnimations/_frame files 3x1/rounded fill 3x1.png and b/Themes/default/BGAnimations/_frame files 3x1/rounded fill 3x1.png differ diff --git a/Themes/default/BGAnimations/_frame files 3x1/rounded gloss 3x1.png b/Themes/default/BGAnimations/_frame files 3x1/rounded gloss 3x1.png index 1757e4c9ea..0e28a4e356 100644 Binary files a/Themes/default/BGAnimations/_frame files 3x1/rounded gloss 3x1.png and b/Themes/default/BGAnimations/_frame files 3x1/rounded gloss 3x1.png differ diff --git a/Themes/default/BGAnimations/_frame files 3x1/rounded light 3x1.png b/Themes/default/BGAnimations/_frame files 3x1/rounded light 3x1.png new file mode 100644 index 0000000000..b6ae5fbda5 Binary files /dev/null and b/Themes/default/BGAnimations/_frame files 3x1/rounded light 3x1.png differ diff --git a/Themes/default/BGAnimations/_transition.lua b/Themes/default/BGAnimations/_transition.lua new file mode 100644 index 0000000000..92f6fb7685 --- /dev/null +++ b/Themes/default/BGAnimations/_transition.lua @@ -0,0 +1,24 @@ +-- To save on intense copy/pasting, this file was made to be loaded by actual in/out bganim files, +-- whose only real jobs are to pass in the transition type (in or out), and in certain cases, the +-- color (as is the case in ScreenEditMenu in, ScreenSelectMusic in, etc). +-- Other than that, there isn't really too much to say. +local t = Def.ActorFrame {} +local params = ... + +local startAlpha = params.transition_type == "in" and 1 or 0 +local endAlpha = math.abs(startAlpha-1) + +for i=1, 6 do + local sleep_time = 0.1 * i + t[#t+1] = LoadActor(THEME:GetPathG("", "_pt" .. i)) .. { + InitCommand=cmd(zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;Center;diffuse,params.color), + OnCommand=cmd(diffusealpha,startAlpha;sleep,sleep_time;linear,0.14;diffusealpha,endAlpha) + } +end + +t[#t+1] = Def.Quad { + InitCommand=cmd(zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;Center;diffuse,params.color), + OnCommand=cmd(diffusealpha,startAlpha;linear,0.7;diffusealpha,endAlpha) +} + +return t diff --git a/Themes/default/Fonts/BPMDisplay bpm.redir b/Themes/default/Fonts/BPMDisplay bpm.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/default/Fonts/BPMDisplay bpm.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/default/Fonts/Common Condensed.redir b/Themes/default/Fonts/Common Condensed.redir new file mode 100644 index 0000000000..50a0f4bfd1 --- /dev/null +++ b/Themes/default/Fonts/Common Condensed.redir @@ -0,0 +1 @@ +_roboto condensed 24px \ No newline at end of file diff --git a/Themes/default/Fonts/Common Fallback Font.redir b/Themes/default/Fonts/Common Fallback Font.redir new file mode 100644 index 0000000000..754b766fb8 --- /dev/null +++ b/Themes/default/Fonts/Common Fallback Font.redir @@ -0,0 +1 @@ +_open sans semibold 24px \ No newline at end of file diff --git a/Themes/default/Fonts/Common Header.redir b/Themes/default/Fonts/Common Header.redir new file mode 100644 index 0000000000..0065081912 --- /dev/null +++ b/Themes/default/Fonts/Common Header.redir @@ -0,0 +1 @@ +_open sans semibold 48px \ No newline at end of file diff --git a/Themes/default/Fonts/Common Italic Condensed.redir b/Themes/default/Fonts/Common Italic Condensed.redir new file mode 100644 index 0000000000..cc0e7d3162 --- /dev/null +++ b/Themes/default/Fonts/Common Italic Condensed.redir @@ -0,0 +1 @@ +_roboto condensed Bold italic 24px \ No newline at end of file diff --git a/Themes/default/Fonts/Common Normal.redir b/Themes/default/Fonts/Common Normal.redir new file mode 100644 index 0000000000..f8cb2d1ee2 --- /dev/null +++ b/Themes/default/Fonts/Common Normal.redir @@ -0,0 +1 @@ +_roboto Medium 24px \ No newline at end of file diff --git a/Themes/default/Fonts/CourseEntryDisplay difficulty.redir b/Themes/default/Fonts/CourseEntryDisplay difficulty.redir new file mode 100644 index 0000000000..890cab3b59 --- /dev/null +++ b/Themes/default/Fonts/CourseEntryDisplay difficulty.redir @@ -0,0 +1 @@ +StepsDisplay meter \ No newline at end of file diff --git a/Themes/default/Fonts/CourseEntryDisplay number.redir b/Themes/default/Fonts/CourseEntryDisplay number.redir new file mode 100644 index 0000000000..890cab3b59 --- /dev/null +++ b/Themes/default/Fonts/CourseEntryDisplay number.redir @@ -0,0 +1 @@ +StepsDisplay meter \ No newline at end of file diff --git a/Themes/default/Fonts/GenreDisplay genre.redir b/Themes/default/Fonts/GenreDisplay genre.redir new file mode 100644 index 0000000000..75e0c38ae8 --- /dev/null +++ b/Themes/default/Fonts/GenreDisplay genre.redir @@ -0,0 +1 @@ +Common Condensed diff --git a/Themes/default/Fonts/HelpDisplay text.redir b/Themes/default/Fonts/HelpDisplay text.redir new file mode 100644 index 0000000000..02121158b2 --- /dev/null +++ b/Themes/default/Fonts/HelpDisplay text.redir @@ -0,0 +1 @@ +Common Condensed \ No newline at end of file diff --git a/Themes/default/Fonts/MenuTimer numbers.redir b/Themes/default/Fonts/MenuTimer numbers.redir new file mode 100644 index 0000000000..9f95c99d0c --- /dev/null +++ b/Themes/default/Fonts/MenuTimer numbers.redir @@ -0,0 +1 @@ +_overpass Combo \ No newline at end of file diff --git a/Themes/default/Fonts/MusicWheelItem Course.redir b/Themes/default/Fonts/MusicWheelItem Course.redir new file mode 100644 index 0000000000..cad9228849 --- /dev/null +++ b/Themes/default/Fonts/MusicWheelItem Course.redir @@ -0,0 +1 @@ +Common Fallback \ No newline at end of file diff --git a/Themes/default/Fonts/MusicWheelItem Mode.redir b/Themes/default/Fonts/MusicWheelItem Mode.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/default/Fonts/MusicWheelItem Mode.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/default/Fonts/MusicWheelItem Random.redir b/Themes/default/Fonts/MusicWheelItem Random.redir new file mode 100644 index 0000000000..02121158b2 --- /dev/null +++ b/Themes/default/Fonts/MusicWheelItem Random.redir @@ -0,0 +1 @@ +Common Condensed \ No newline at end of file diff --git a/Themes/default/Fonts/MusicWheelItem Roulette.redir b/Themes/default/Fonts/MusicWheelItem Roulette.redir new file mode 100644 index 0000000000..02121158b2 --- /dev/null +++ b/Themes/default/Fonts/MusicWheelItem Roulette.redir @@ -0,0 +1 @@ +Common Condensed \ No newline at end of file diff --git a/Themes/default/Fonts/MusicWheelItem SectionCollapsed.redir b/Themes/default/Fonts/MusicWheelItem SectionCollapsed.redir new file mode 100644 index 0000000000..cad9228849 --- /dev/null +++ b/Themes/default/Fonts/MusicWheelItem SectionCollapsed.redir @@ -0,0 +1 @@ +Common Fallback \ No newline at end of file diff --git a/Themes/default/Fonts/MusicWheelItem SectionExpanded.redir b/Themes/default/Fonts/MusicWheelItem SectionExpanded.redir new file mode 100644 index 0000000000..cad9228849 --- /dev/null +++ b/Themes/default/Fonts/MusicWheelItem SectionExpanded.redir @@ -0,0 +1 @@ +Common Fallback \ No newline at end of file diff --git a/Themes/default/Fonts/OptionRow title.redir b/Themes/default/Fonts/OptionRow title.redir new file mode 100644 index 0000000000..19f191884d --- /dev/null +++ b/Themes/default/Fonts/OptionRow title.redir @@ -0,0 +1 @@ +_roboto condensed Bold 48px \ No newline at end of file diff --git a/Themes/default/Fonts/OptionRowExit item.redir b/Themes/default/Fonts/OptionRowExit item.redir new file mode 100644 index 0000000000..cc0e7d3162 --- /dev/null +++ b/Themes/default/Fonts/OptionRowExit item.redir @@ -0,0 +1 @@ +_roboto condensed Bold italic 24px \ No newline at end of file diff --git a/Themes/default/Fonts/RoomInfoDisplay text.redir b/Themes/default/Fonts/RoomInfoDisplay text.redir new file mode 100644 index 0000000000..004eb0db7b --- /dev/null +++ b/Themes/default/Fonts/RoomInfoDisplay text.redir @@ -0,0 +1 @@ +Common Fallback Font \ No newline at end of file diff --git a/Themes/default/Fonts/RoomWheel text.redir b/Themes/default/Fonts/RoomWheel text.redir new file mode 100644 index 0000000000..004eb0db7b --- /dev/null +++ b/Themes/default/Fonts/RoomWheel text.redir @@ -0,0 +1 @@ +Common Fallback Font \ No newline at end of file diff --git a/Themes/default/Fonts/RoomWheelItem text.redir b/Themes/default/Fonts/RoomWheelItem text.redir new file mode 100644 index 0000000000..004eb0db7b --- /dev/null +++ b/Themes/default/Fonts/RoomWheelItem text.redir @@ -0,0 +1 @@ +Common Fallback Font \ No newline at end of file diff --git a/Themes/default/Fonts/ScoreDisplayLifeTime DeltaSeconds.redir b/Themes/default/Fonts/ScoreDisplayLifeTime DeltaSeconds.redir new file mode 100644 index 0000000000..bd601c69a0 --- /dev/null +++ b/Themes/default/Fonts/ScoreDisplayLifeTime DeltaSeconds.redir @@ -0,0 +1 @@ +ScoreDisplayNormal Text \ No newline at end of file diff --git a/Themes/default/Fonts/ScoreDisplayLifeTime TimeRemaining.redir b/Themes/default/Fonts/ScoreDisplayLifeTime TimeRemaining.redir new file mode 100644 index 0000000000..bd601c69a0 --- /dev/null +++ b/Themes/default/Fonts/ScoreDisplayLifeTime TimeRemaining.redir @@ -0,0 +1 @@ +ScoreDisplayNormal Text \ No newline at end of file diff --git a/Themes/default/Fonts/ScoreDisplayNormal Text.redir b/Themes/default/Fonts/ScoreDisplayNormal Text.redir new file mode 100644 index 0000000000..898c477c3f --- /dev/null +++ b/Themes/default/Fonts/ScoreDisplayNormal Text.redir @@ -0,0 +1 @@ +_overpass Score \ No newline at end of file diff --git a/Themes/default/Fonts/ScoreDisplayOni numbers.redir b/Themes/default/Fonts/ScoreDisplayOni numbers.redir new file mode 100644 index 0000000000..bd601c69a0 --- /dev/null +++ b/Themes/default/Fonts/ScoreDisplayOni numbers.redir @@ -0,0 +1 @@ +ScoreDisplayNormal Text \ No newline at end of file diff --git a/Themes/default/Fonts/ScoreDisplayPercentage percent text.redir b/Themes/default/Fonts/ScoreDisplayPercentage percent text.redir new file mode 100644 index 0000000000..898c477c3f --- /dev/null +++ b/Themes/default/Fonts/ScoreDisplayPercentage percent text.redir @@ -0,0 +1 @@ +_overpass Score \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenConsoleOverlay SystemMessage.redir b/Themes/default/Fonts/ScreenConsoleOverlay SystemMessage.redir new file mode 100644 index 0000000000..bcb631b02e --- /dev/null +++ b/Themes/default/Fonts/ScreenConsoleOverlay SystemMessage.redir @@ -0,0 +1 @@ +_fira mono 24px \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenDebugOverlay header.redir b/Themes/default/Fonts/ScreenDebugOverlay header.redir index 5c6053f7f1..bcb631b02e 100644 --- a/Themes/default/Fonts/ScreenDebugOverlay header.redir +++ b/Themes/default/Fonts/ScreenDebugOverlay header.redir @@ -1 +1 @@ -Common Normal \ No newline at end of file +_fira mono 24px \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenDebugOverlay line.redir b/Themes/default/Fonts/ScreenDebugOverlay line.redir index 5c6053f7f1..bcb631b02e 100644 --- a/Themes/default/Fonts/ScreenDebugOverlay line.redir +++ b/Themes/default/Fonts/ScreenDebugOverlay line.redir @@ -1 +1 @@ -Common Normal \ No newline at end of file +_fira mono 24px \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenDebugOverlay page.redir b/Themes/default/Fonts/ScreenDebugOverlay page.redir index 5c6053f7f1..02121158b2 100644 --- a/Themes/default/Fonts/ScreenDebugOverlay page.redir +++ b/Themes/default/Fonts/ScreenDebugOverlay page.redir @@ -1 +1 @@ -Common Normal \ No newline at end of file +Common Condensed \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenGameplay RemainingTime.redir b/Themes/default/Fonts/ScreenGameplay RemainingTime.redir new file mode 100644 index 0000000000..2c9ad0e835 --- /dev/null +++ b/Themes/default/Fonts/ScreenGameplay RemainingTime.redir @@ -0,0 +1 @@ +_overpass 36px \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenGameplay scoreboard.redir b/Themes/default/Fonts/ScreenGameplay scoreboard.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/default/Fonts/ScreenGameplay scoreboard.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenHighScores Name.redir b/Themes/default/Fonts/ScreenHighScores Name.redir new file mode 100644 index 0000000000..7261343471 --- /dev/null +++ b/Themes/default/Fonts/ScreenHighScores Name.redir @@ -0,0 +1 @@ +Common Italic Condensed \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenMapControllers devices.redir b/Themes/default/Fonts/ScreenMapControllers devices.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/default/Fonts/ScreenMapControllers devices.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenMapControllers entry.redir b/Themes/default/Fonts/ScreenMapControllers entry.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/default/Fonts/ScreenMapControllers entry.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenMapControllers title.redir b/Themes/default/Fonts/ScreenMapControllers title.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/default/Fonts/ScreenMapControllers title.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenNetSelectBase chat.redir b/Themes/default/Fonts/ScreenNetSelectBase chat.redir new file mode 100644 index 0000000000..bcb631b02e --- /dev/null +++ b/Themes/default/Fonts/ScreenNetSelectBase chat.redir @@ -0,0 +1 @@ +_fira mono 24px \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenNetSelectBase users.redir b/Themes/default/Fonts/ScreenNetSelectBase users.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/default/Fonts/ScreenNetSelectBase users.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenSelectMusic SongTime.redir b/Themes/default/Fonts/ScreenSelectMusic SongTime.redir new file mode 100644 index 0000000000..7261343471 --- /dev/null +++ b/Themes/default/Fonts/ScreenSelectMusic SongTime.redir @@ -0,0 +1 @@ +Common Italic Condensed \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenSelectMusic score.redir b/Themes/default/Fonts/ScreenSelectMusic score.redir new file mode 100644 index 0000000000..898c477c3f --- /dev/null +++ b/Themes/default/Fonts/ScreenSelectMusic score.redir @@ -0,0 +1 @@ +_overpass Score \ No newline at end of file diff --git a/Themes/default/Fonts/ScreenSystemLayer Credits.redir b/Themes/default/Fonts/ScreenSystemLayer Credits.redir new file mode 100644 index 0000000000..50a0f4bfd1 --- /dev/null +++ b/Themes/default/Fonts/ScreenSystemLayer Credits.redir @@ -0,0 +1 @@ +_roboto condensed 24px \ No newline at end of file diff --git a/Themes/default/Fonts/StepsDisplay StepsType.redir b/Themes/default/Fonts/StepsDisplay StepsType.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/default/Fonts/StepsDisplay StepsType.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/default/Fonts/StepsDisplay description.redir b/Themes/default/Fonts/StepsDisplay description.redir new file mode 100644 index 0000000000..2c9ad0e835 --- /dev/null +++ b/Themes/default/Fonts/StepsDisplay description.redir @@ -0,0 +1 @@ +_overpass 36px \ No newline at end of file diff --git a/Themes/default/Fonts/StepsDisplay meter.redir b/Themes/default/Fonts/StepsDisplay meter.redir new file mode 100644 index 0000000000..2c9ad0e835 --- /dev/null +++ b/Themes/default/Fonts/StepsDisplay meter.redir @@ -0,0 +1 @@ +_overpass 36px \ No newline at end of file diff --git a/Themes/default/Fonts/StepsDisplayListRow description.redir b/Themes/default/Fonts/StepsDisplayListRow description.redir new file mode 100644 index 0000000000..7261343471 --- /dev/null +++ b/Themes/default/Fonts/StepsDisplayListRow description.redir @@ -0,0 +1 @@ +Common Italic Condensed \ No newline at end of file diff --git a/Themes/default/Fonts/StepsDisplayListRow meter.redir b/Themes/default/Fonts/StepsDisplayListRow meter.redir new file mode 100644 index 0000000000..2c9ad0e835 --- /dev/null +++ b/Themes/default/Fonts/StepsDisplayListRow meter.redir @@ -0,0 +1 @@ +_overpass 36px \ No newline at end of file diff --git a/Themes/default/Fonts/TextBanner text.redir b/Themes/default/Fonts/TextBanner text.redir new file mode 100644 index 0000000000..004eb0db7b --- /dev/null +++ b/Themes/default/Fonts/TextBanner text.redir @@ -0,0 +1 @@ +Common Fallback Font \ No newline at end of file diff --git a/Themes/default/Fonts/TextBannerCourse text.redir b/Themes/default/Fonts/TextBannerCourse text.redir new file mode 100644 index 0000000000..004eb0db7b --- /dev/null +++ b/Themes/default/Fonts/TextBannerCourse text.redir @@ -0,0 +1 @@ +Common Fallback Font \ No newline at end of file diff --git a/Themes/default/Fonts/_fira mono 24px [alt-stroke] 10x10.png b/Themes/default/Fonts/_fira mono 24px [alt-stroke] 10x10.png new file mode 100644 index 0000000000..74c43f4762 Binary files /dev/null and b/Themes/default/Fonts/_fira mono 24px [alt-stroke] 10x10.png differ diff --git a/Themes/default/Fonts/_fira mono 24px [alt] 10x10.png b/Themes/default/Fonts/_fira mono 24px [alt] 10x10.png new file mode 100644 index 0000000000..e33a3f739f Binary files /dev/null and b/Themes/default/Fonts/_fira mono 24px [alt] 10x10.png differ diff --git a/Themes/default/Fonts/_fira mono 24px [main-stroke] 15x15.png b/Themes/default/Fonts/_fira mono 24px [main-stroke] 15x15.png new file mode 100644 index 0000000000..a125e19e18 Binary files /dev/null and b/Themes/default/Fonts/_fira mono 24px [main-stroke] 15x15.png differ diff --git a/Themes/default/Fonts/_fira mono 24px [main] 15x15.png b/Themes/default/Fonts/_fira mono 24px [main] 15x15.png new file mode 100644 index 0000000000..97da8fc86a Binary files /dev/null and b/Themes/default/Fonts/_fira mono 24px [main] 15x15.png differ diff --git a/Themes/default/Fonts/_fira mono 24px.ini b/Themes/default/Fonts/_fira mono 24px.ini new file mode 100644 index 0000000000..c3b197d25e --- /dev/null +++ b/Themes/default/Fonts/_fira mono 24px.ini @@ -0,0 +1,352 @@ +[common] +Baseline=25 +Top=7 +LineSpacing=28 +DrawExtraPixelsLeft=0 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[main] +Line 0= !"#$%&'()*+,-. +Line 1=/0123456789:;<= +Line 2=>?@ABCDEFGHIJKL +Line 3=MNOPQRSTUVWXYZ[ +Line 4=\]^_`abcdefghij +Line 5=klmnopqrstuvwxy +Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š +Line 7=‹ŒŽ‘’“â€â€¢â€“—˜™š›œ +Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬ +Line 9=­®¯°±²³´µ¶·¸¹º» +Line 10=¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊ +Line 11=ËÌÃÃŽÃÃÑÒÓÔÕÖרÙ +Line 12=ÚÛÜÃÞßàáâãäåæçè +Line 13=éêëìíîïðñòóôõö÷ +Line 14=øùúûüýþÿ + +0=14 +1=14 +2=14 +3=14 +4=14 +5=14 +6=14 +7=14 +8=14 +9=14 +10=14 +11=14 +12=14 +13=14 +14=14 +15=14 +16=14 +17=14 +18=14 +19=14 +20=14 +21=14 +22=14 +23=14 +24=14 +25=14 +26=14 +27=14 +28=14 +29=14 +30=14 +31=14 +32=14 +33=14 +34=14 +35=14 +36=14 +37=14 +38=14 +39=14 +40=14 +41=14 +42=14 +43=14 +44=14 +45=14 +46=14 +47=14 +48=14 +49=14 +50=14 +51=14 +52=14 +53=14 +54=14 +55=14 +56=14 +57=14 +58=14 +59=14 +60=14 +61=14 +62=14 +63=14 +64=14 +65=14 +66=14 +67=14 +68=14 +69=14 +70=14 +71=14 +72=14 +73=14 +74=14 +75=14 +76=14 +77=14 +78=14 +79=14 +80=14 +81=14 +82=14 +83=14 +84=14 +85=14 +86=14 +87=14 +88=14 +89=14 +90=14 +91=14 +92=14 +93=14 +94=14 +95=14 +96=14 +97=14 +98=14 +99=14 +100=14 +101=14 +102=14 +103=14 +104=14 +105=14 +106=14 +107=14 +108=14 +109=14 +110=14 +111=14 +112=14 +113=14 +114=14 +115=14 +116=14 +117=14 +118=14 +119=14 +120=14 +121=14 +122=14 +123=14 +124=14 +125=14 +126=14 +127=14 +128=14 +129=14 +130=14 +131=14 +132=14 +133=14 +134=14 +135=14 +136=14 +137=14 +138=14 +139=14 +140=14 +141=14 +142=14 +143=14 +144=14 +145=14 +146=14 +147=14 +148=14 +149=14 +150=14 +151=14 +152=14 +153=14 +154=14 +155=14 +156=14 +157=14 +158=14 +159=14 +160=14 +161=14 +162=14 +163=14 +164=14 +165=14 +166=14 +167=14 +168=14 +169=14 +170=14 +171=14 +172=14 +173=14 +174=14 +175=14 +176=14 +177=14 +178=14 +179=14 +180=14 +181=14 +182=14 +183=14 +184=14 +185=14 +186=14 +187=14 +188=14 +189=14 +190=14 +191=14 +192=14 +193=14 +194=14 +195=14 +196=14 +197=14 +198=14 +199=14 +200=14 +201=14 +202=14 +203=14 +204=14 +205=14 +206=14 +207=14 +208=14 +209=14 +210=14 +211=14 +212=14 +213=14 +214=14 +215=14 +216=14 +217=14 + +[alt] +Line 0= Ą˘Å¤ĽŚ§¨Š +Line 1=ŞŤŹ­ŽŻ°ą˛ł +Line 2=Â´Ä¾Å›Ë‡Â¸Å¡ÅŸÅ¥ÅºË +Line 3=žżŔÃÂĂÄĹĆÇ +Line 4=ČÉĘËĚÃÃŽÄŽÄŃ +Line 5=ŇÓÔÅÖ×ŘŮÚŰ +Line 6=ÜÃŢßŕáâăäĺ +Line 7=ćçÄÃ©Ä™Ã«Ä›Ã­Ã®Ä +Line 8=đńňóôőö÷řů +Line 9=úűüýţ˙ + +0=14 +1=14 +2=14 +3=14 +4=14 +5=14 +6=14 +7=14 +8=14 +9=14 +10=14 +11=14 +12=14 +13=14 +14=14 +15=14 +16=14 +17=14 +18=14 +19=14 +20=14 +21=14 +22=14 +23=14 +24=14 +25=14 +26=14 +27=14 +28=14 +29=14 +30=14 +31=14 +32=14 +33=14 +34=14 +35=14 +36=14 +37=14 +38=14 +39=14 +40=14 +41=14 +42=14 +43=14 +44=14 +45=14 +46=14 +47=14 +48=14 +49=14 +50=14 +51=14 +52=14 +53=14 +54=14 +55=14 +56=14 +57=14 +58=14 +59=14 +60=14 +61=14 +62=14 +63=14 +64=14 +65=14 +66=14 +67=14 +68=14 +69=14 +70=14 +71=14 +72=14 +73=14 +74=14 +75=14 +76=14 +77=14 +78=14 +79=14 +80=14 +81=14 +82=14 +83=14 +84=14 +85=14 +86=14 +87=14 +88=14 +89=14 +90=14 +91=14 +92=14 +93=14 +94=14 +95=14 diff --git a/Themes/default/Fonts/_game chars 16px 4x2.png b/Themes/default/Fonts/_game chars 16px 4x2.png new file mode 100644 index 0000000000..9a53fa0d78 Binary files /dev/null and b/Themes/default/Fonts/_game chars 16px 4x2.png differ diff --git a/Themes/default/Fonts/_game chars 16px.ini b/Themes/default/Fonts/_game chars 16px.ini new file mode 100644 index 0000000000..0f203edf1c --- /dev/null +++ b/Themes/default/Fonts/_game chars 16px.ini @@ -0,0 +1,37 @@ +# The characters in this font are actually much larger than 16 pixels. +# The "16px" indicates what size uppercase letter this font is meant +# for, not necessarily the actual size of the characters. + +[main] +0=32 +1=32 +2=32 +3=32 +4=32 +5=32 +6=32 +7=32 +8=32 +9=32 +10=32 +11=32 + + +# Don't load this font grayscale. +TextureHints=32bpp + +Top=8 +Baseline=24 + +map up=0 +map down=1 +map left=2 +map right=3 +map menuup=0 +map menudown=1 +map menuleft=2 +map menuright=3 +map start=4 +map select=5 +map back=6 +map auxwhite=7 \ No newline at end of file diff --git a/Themes/default/Fonts/_iosevka extralight oblique 42px [numbers-stroke] 4x4 (doubleres).png b/Themes/default/Fonts/_iosevka extralight oblique 42px [numbers-stroke] 4x4 (doubleres).png new file mode 100644 index 0000000000..2cfcd9370c Binary files /dev/null and b/Themes/default/Fonts/_iosevka extralight oblique 42px [numbers-stroke] 4x4 (doubleres).png differ diff --git a/Themes/default/Fonts/_iosevka extralight oblique 42px [numbers] 4x4 (doubleres).png b/Themes/default/Fonts/_iosevka extralight oblique 42px [numbers] 4x4 (doubleres).png new file mode 100644 index 0000000000..4d23728822 Binary files /dev/null and b/Themes/default/Fonts/_iosevka extralight oblique 42px [numbers] 4x4 (doubleres).png differ diff --git a/Themes/default/Fonts/_iosevka extralight oblique 42px.ini b/Themes/default/Fonts/_iosevka extralight oblique 42px.ini new file mode 100644 index 0000000000..6a38412c42 --- /dev/null +++ b/Themes/default/Fonts/_iosevka extralight oblique 42px.ini @@ -0,0 +1,30 @@ +[common] +Baseline=44 +Top=13 +LineSpacing=52 +DrawExtraPixelsLeft=0 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[numbers] +Line 0=0123 +Line 1=4567 +Line 2=89%. +Line 3= :x, + +0=21 +1=21 +2=21 +3=21 +4=21 +5=21 +6=21 +7=21 +8=21 +9=21 +10=21 +11=21 +12=21 +13=21 +14=21 +15=21 diff --git a/Themes/default/Fonts/_noto sans 36px [alt-stroke] 10x10.png b/Themes/default/Fonts/_noto sans 36px [alt-stroke] 10x10.png new file mode 100644 index 0000000000..ff5e031caa Binary files /dev/null and b/Themes/default/Fonts/_noto sans 36px [alt-stroke] 10x10.png differ diff --git a/Themes/default/Fonts/_noto sans 36px [alt] 10x10.png b/Themes/default/Fonts/_noto sans 36px [alt] 10x10.png new file mode 100644 index 0000000000..286a0b6966 Binary files /dev/null and b/Themes/default/Fonts/_noto sans 36px [alt] 10x10.png differ diff --git a/Themes/default/Fonts/_noto sans 36px [main-stroke] 15x15.png b/Themes/default/Fonts/_noto sans 36px [main-stroke] 15x15.png new file mode 100644 index 0000000000..22ee6c9d28 Binary files /dev/null and b/Themes/default/Fonts/_noto sans 36px [main-stroke] 15x15.png differ diff --git a/Themes/default/Fonts/_noto sans 36px [main] 15x15.png b/Themes/default/Fonts/_noto sans 36px [main] 15x15.png new file mode 100644 index 0000000000..fafbd0d5e0 Binary files /dev/null and b/Themes/default/Fonts/_noto sans 36px [main] 15x15.png differ diff --git a/Themes/default/Fonts/_noto sans 36px.ini b/Themes/default/Fonts/_noto sans 36px.ini new file mode 100644 index 0000000000..eca5d80f77 --- /dev/null +++ b/Themes/default/Fonts/_noto sans 36px.ini @@ -0,0 +1,352 @@ +[common] +Baseline=42 +Top=17 +LineSpacing=49 +DrawExtraPixelsLeft=3 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[main] +Line 0= !"#$%&'()*+,-. +Line 1=/0123456789:;<= +Line 2=>?@ABCDEFGHIJKL +Line 3=MNOPQRSTUVWXYZ[ +Line 4=\]^_`abcdefghij +Line 5=klmnopqrstuvwxy +Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š +Line 7=‹ŒŽ‘’“â€â€¢â€“—˜™š›œ +Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬ +Line 9=­®¯°±²³´µ¶·¸¹º» +Line 10=¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊ +Line 11=ËÌÃÃŽÃÃÑÒÓÔÕÖרÙ +Line 12=ÚÛÜÃÞßàáâãäåæçè +Line 13=éêëìíîïðñòóôõö÷ +Line 14=øùúûüýþÿ + +0=9 +1=10 +2=15 +3=23 +4=21 +5=30 +6=26 +7=8 +8=11 +9=11 +10=20 +11=21 +12=10 +13=12 +14=10 +15=13 +16=21 +17=21 +18=21 +19=21 +20=21 +21=21 +22=21 +23=21 +24=21 +25=21 +26=10 +27=10 +28=21 +29=21 +30=21 +31=16 +32=32 +33=23 +34=23 +35=23 +36=26 +37=20 +38=19 +39=26 +40=27 +41=12 +42=10 +43=22 +44=19 +45=33 +46=27 +47=28 +48=22 +49=28 +50=22 +51=20 +52=20 +53=26 +54=22 +55=33 +56=21 +57=20 +58=21 +59=12 +60=13 +61=12 +62=21 +63=16 +64=21 +65=20 +66=22 +67=17 +68=22 +69=20 +70=12 +71=22 +72=22 +73=9 +74=9 +75=19 +76=9 +77=34 +78=22 +79=22 +80=22 +81=22 +82=15 +83=17 +84=13 +85=22 +86=18 +87=28 +88=19 +89=18 +90=17 +91=14 +92=20 +93=14 +94=21 +95=21 +96=9 +97=21 +98=15 +99=28 +100=18 +101=18 +102=21 +103=42 +104=20 +105=11 +106=33 +107=21 +108=6 +109=6 +110=13 +111=13 +112=14 +113=18 +114=36 +115=21 +116=28 +117=17 +118=11 +119=34 +120=17 +121=20 +122=9 +123=10 +124=21 +125=21 +126=21 +127=21 +128=20 +129=18 +130=21 +131=30 +132=13 +133=18 +134=21 +135=12 +136=30 +137=18 +138=15 +139=21 +140=13 +141=13 +142=21 +143=22 +144=24 +145=10 +146=8 +147=13 +148=14 +149=18 +150=28 +151=28 +152=28 +153=16 +154=23 +155=23 +156=23 +157=23 +158=23 +159=23 +160=32 +161=23 +162=20 +163=20 +164=20 +165=20 +166=12 +167=12 +168=12 +169=12 +170=26 +171=27 +172=28 +173=28 +174=28 +175=28 +176=28 +177=21 +178=28 +179=26 +180=26 +181=26 +182=26 +183=20 +184=22 +185=23 +186=20 +187=20 +188=20 +189=20 +190=20 +191=20 +192=31 +193=17 +194=20 +195=20 +196=20 +197=20 +198=9 +199=9 +200=9 +201=9 +202=22 +203=22 +204=22 +205=22 +206=22 +207=22 +208=22 +209=21 +210=22 +211=22 +212=22 +213=22 +214=22 +215=18 +216=22 +217=18 + +[alt] +Line 0= Ą˘Å¤ĽŚ§¨Š +Line 1=ŞŤŹ­ŽŻ°ą˛ł +Line 2=Â´Ä¾Å›Ë‡Â¸Å¡ÅŸÅ¥ÅºË +Line 3=žżŔÃÂĂÄĹĆÇ +Line 4=ČÉĘËĚÃÃŽÄŽÄŃ +Line 5=ŇÓÔÅÖ×ŘŮÚŰ +Line 6=ÜÃŢßŕáâăäĺ +Line 7=ćçÄÃ©Ä™Ã«Ä›Ã­Ã®Ä +Line 8=đńňóôőö÷řů +Line 9=úűüýţ˙ + +0=9 +1=23 +2=21 +3=19 +4=21 +5=19 +6=20 +7=18 +8=21 +9=20 +10=20 +11=20 +12=21 +13=12 +14=21 +15=21 +16=15 +17=20 +18=7 +19=9 +20=21 +21=9 +22=17 +23=21 +24=8 +25=17 +26=17 +27=13 +28=17 +29=21 +30=17 +31=17 +32=22 +33=23 +34=23 +35=23 +36=23 +37=19 +38=23 +39=23 +40=23 +41=20 +42=20 +43=20 +44=20 +45=12 +46=12 +47=26 +48=26 +49=27 +50=27 +51=28 +52=28 +53=28 +54=28 +55=21 +56=22 +57=26 +58=26 +59=26 +60=26 +61=20 +62=20 +63=23 +64=15 +65=20 +66=20 +67=20 +68=20 +69=9 +70=17 +71=17 +72=17 +73=20 +74=20 +75=20 +76=20 +77=9 +78=9 +79=22 +80=22 +81=22 +82=22 +83=22 +84=22 +85=22 +86=22 +87=21 +88=15 +89=22 +90=22 +91=22 +92=22 +93=18 +94=13 +95=9 diff --git a/Themes/default/Fonts/_open sans semibold 48px [alt-stroke] 10x10.png b/Themes/default/Fonts/_open sans semibold 48px [alt-stroke] 10x10.png index 41c8a76970..888a632568 100644 Binary files a/Themes/default/Fonts/_open sans semibold 48px [alt-stroke] 10x10.png and b/Themes/default/Fonts/_open sans semibold 48px [alt-stroke] 10x10.png differ diff --git a/Themes/default/Fonts/_open sans semibold 48px [alt] 10x10.png b/Themes/default/Fonts/_open sans semibold 48px [alt] 10x10.png index aeacd46c89..a50bbe755d 100644 Binary files a/Themes/default/Fonts/_open sans semibold 48px [alt] 10x10.png and b/Themes/default/Fonts/_open sans semibold 48px [alt] 10x10.png differ diff --git a/Themes/default/Fonts/_open sans semibold 48px [main-stroke] 15x15.png b/Themes/default/Fonts/_open sans semibold 48px [main-stroke] 15x15.png index 66551d50fc..1f4f0fc392 100644 Binary files a/Themes/default/Fonts/_open sans semibold 48px [main-stroke] 15x15.png and b/Themes/default/Fonts/_open sans semibold 48px [main-stroke] 15x15.png differ diff --git a/Themes/default/Fonts/_open sans semibold 48px [main] 15x15.png b/Themes/default/Fonts/_open sans semibold 48px [main] 15x15.png index dd66a2827c..80c1754ee2 100644 Binary files a/Themes/default/Fonts/_open sans semibold 48px [main] 15x15.png and b/Themes/default/Fonts/_open sans semibold 48px [main] 15x15.png differ diff --git a/Themes/default/Fonts/_overpass 36px [alt-stroke] 10x10 (doubleres).png b/Themes/default/Fonts/_overpass 36px [alt-stroke] 10x10 (doubleres).png new file mode 100644 index 0000000000..fc44986466 Binary files /dev/null and b/Themes/default/Fonts/_overpass 36px [alt-stroke] 10x10 (doubleres).png differ diff --git a/Themes/default/Fonts/_overpass 36px [alt] 10x10 (doubleres).png b/Themes/default/Fonts/_overpass 36px [alt] 10x10 (doubleres).png new file mode 100644 index 0000000000..a667389a49 Binary files /dev/null and b/Themes/default/Fonts/_overpass 36px [alt] 10x10 (doubleres).png differ diff --git a/Themes/default/Fonts/_overpass 36px [main-stroke] 15x15 (doubleres).png b/Themes/default/Fonts/_overpass 36px [main-stroke] 15x15 (doubleres).png new file mode 100644 index 0000000000..4ffaaabc27 Binary files /dev/null and b/Themes/default/Fonts/_overpass 36px [main-stroke] 15x15 (doubleres).png differ diff --git a/Themes/default/Fonts/_overpass 36px [main] 15x15 (doubleres).png b/Themes/default/Fonts/_overpass 36px [main] 15x15 (doubleres).png new file mode 100644 index 0000000000..42353df5d5 Binary files /dev/null and b/Themes/default/Fonts/_overpass 36px [main] 15x15 (doubleres).png differ diff --git a/Themes/default/Fonts/_overpass 36px.ini b/Themes/default/Fonts/_overpass 36px.ini new file mode 100644 index 0000000000..cbdc8c19a0 --- /dev/null +++ b/Themes/default/Fonts/_overpass 36px.ini @@ -0,0 +1,352 @@ +[common] +Baseline=39 +Top=14 +LineSpacing=56 +DrawExtraPixelsLeft=3 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[main] +Line 0= !"#$%&'()*+,-. +Line 1=/0123456789:;<= +Line 2=>?@ABCDEFGHIJKL +Line 3=MNOPQRSTUVWXYZ[ +Line 4=\]^_`abcdefghij +Line 5=klmnopqrstuvwxy +Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š +Line 7=‹ŒŽ‘’“â€â€¢â€“—˜™š›œ +Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬ +Line 9=­®¯°±²³´µ¶·¸¹º» +Line 10=¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊ +Line 11=ËÌÃÃŽÃÃÑÒÓÔÕÖרÙ +Line 12=ÚÛÜÃÞßàáâãäåæçè +Line 13=éêëìíîïðñòóôõö÷ +Line 14=øùúûüýþÿ + +0=8 +1=10 +2=15 +3=24 +4=21 +5=31 +6=25 +7=8 +8=12 +9=12 +10=19 +11=23 +12=8 +13=14 +14=8 +15=18 +16=23 +17=15 +18=22 +19=22 +20=23 +21=22 +22=22 +23=19 +24=22 +25=22 +26=8 +27=8 +28=23 +29=23 +30=23 +31=18 +32=29 +33=25 +34=24 +35=23 +36=25 +37=22 +38=20 +39=25 +40=25 +41=11 +42=20 +43=24 +44=21 +45=29 +46=26 +47=27 +48=23 +49=27 +50=24 +51=22 +52=21 +53=25 +54=24 +55=31 +56=23 +57=24 +58=24 +59=13 +60=18 +61=13 +62=23 +63=18 +64=14 +65=19 +66=20 +67=19 +68=20 +69=20 +70=12 +71=20 +72=20 +73=9 +74=9 +75=20 +76=10 +77=31 +78=20 +79=20 +80=20 +81=20 +82=15 +83=17 +84=14 +85=20 +86=19 +87=26 +88=19 +89=19 +90=18 +91=13 +92=10 +93=13 +94=23 +95=23 +96=8 +97=13 +98=16 +99=34 +100=20 +101=20 +102=14 +103=45 +104=22 +105=11 +106=32 +107=24 +108=8 +109=8 +110=16 +111=16 +112=15 +113=18 +114=21 +115=14 +116=29 +117=17 +118=11 +119=33 +120=18 +121=24 +122=6 +123=10 +124=19 +125=21 +126=23 +127=21 +128=10 +129=19 +130=14 +131=30 +132=16 +133=19 +134=23 +135=14 +136=30 +137=14 +138=14 +139=23 +140=13 +141=13 +142=14 +143=20 +144=23 +145=8 +146=14 +147=7 +148=17 +149=19 +150=25 +151=26 +152=29 +153=18 +154=25 +155=25 +156=25 +157=25 +158=25 +159=25 +160=30 +161=23 +162=22 +163=22 +164=22 +165=22 +166=11 +167=11 +168=11 +169=11 +170=25 +171=26 +172=27 +173=27 +174=27 +175=27 +176=27 +177=23 +178=26 +179=25 +180=25 +181=25 +182=25 +183=24 +184=23 +185=20 +186=19 +187=19 +188=19 +189=19 +190=19 +191=19 +192=31 +193=19 +194=20 +195=20 +196=20 +197=20 +198=9 +199=9 +200=9 +201=9 +202=20 +203=20 +204=20 +205=20 +206=20 +207=20 +208=20 +209=23 +210=20 +211=20 +212=20 +213=20 +214=20 +215=19 +216=20 +217=19 + +[alt] +Line 0= Ą˘Å¤ĽŚ§¨Š +Line 1=ŞŤŹ­ŽŻ°ą˛ł +Line 2=Â´Ä¾Å›Ë‡Â¸Å¡ÅŸÅ¥ÅºË +Line 3=žżŔÃÂĂÄĹĆÇ +Line 4=ČÉĘËĚÃÃŽÄŽÄŃ +Line 5=ŇÓÔÅÖ×ŘŮÚŰ +Line 6=ÜÃŢßŕáâăäĺ +Line 7=ćçÄÃ©Ä™Ã«Ä›Ã­Ã®Ä +Line 8=đńňóôőö÷řů +Line 9=úűüýţ˙ + +0=6 +1=25 +2=14 +3=21 +4=23 +5=21 +6=22 +7=19 +8=14 +9=22 +10=22 +11=21 +12=24 +13=14 +14=24 +15=24 +16=14 +17=19 +18=14 +19=10 +20=14 +21=15 +22=17 +23=14 +24=14 +25=17 +26=17 +27=16 +28=18 +29=14 +30=18 +31=18 +32=24 +33=25 +34=25 +35=25 +36=25 +37=21 +38=23 +39=23 +40=23 +41=22 +42=22 +43=22 +44=22 +45=11 +46=11 +47=25 +48=25 +49=26 +50=26 +51=27 +52=27 +53=27 +54=27 +55=23 +56=24 +57=25 +58=25 +59=25 +60=25 +61=24 +62=21 +63=20 +64=15 +65=19 +66=19 +67=19 +68=19 +69=10 +70=19 +71=19 +72=19 +73=20 +74=20 +75=20 +76=20 +77=9 +78=9 +79=26 +80=20 +81=20 +82=20 +83=20 +84=20 +85=20 +86=20 +87=23 +88=15 +89=20 +90=20 +91=20 +92=20 +93=19 +94=14 +95=14 diff --git a/Themes/default/Fonts/_overpass 48px [alt-stroke] 10x10.png b/Themes/default/Fonts/_overpass 48px [alt-stroke] 10x10.png new file mode 100644 index 0000000000..eca321f51f Binary files /dev/null and b/Themes/default/Fonts/_overpass 48px [alt-stroke] 10x10.png differ diff --git a/Themes/default/Fonts/_overpass 48px [alt] 10x10.png b/Themes/default/Fonts/_overpass 48px [alt] 10x10.png new file mode 100644 index 0000000000..ed5dfb0e15 Binary files /dev/null and b/Themes/default/Fonts/_overpass 48px [alt] 10x10.png differ diff --git a/Themes/default/Fonts/_overpass 48px [main-stroke] 15x15.png b/Themes/default/Fonts/_overpass 48px [main-stroke] 15x15.png new file mode 100644 index 0000000000..385025de23 Binary files /dev/null and b/Themes/default/Fonts/_overpass 48px [main-stroke] 15x15.png differ diff --git a/Themes/default/Fonts/_overpass 48px [main] 15x15.png b/Themes/default/Fonts/_overpass 48px [main] 15x15.png new file mode 100644 index 0000000000..deb72cae54 Binary files /dev/null and b/Themes/default/Fonts/_overpass 48px [main] 15x15.png differ diff --git a/Themes/default/Fonts/_overpass 48px.ini b/Themes/default/Fonts/_overpass 48px.ini new file mode 100644 index 0000000000..8f02ee1eae --- /dev/null +++ b/Themes/default/Fonts/_overpass 48px.ini @@ -0,0 +1,352 @@ +[common] +Baseline=51 +Top=17 +LineSpacing=74 +DrawExtraPixelsLeft=3 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[main] +Line 0= !"#$%&'()*+,-. +Line 1=/0123456789:;<= +Line 2=>?@ABCDEFGHIJKL +Line 3=MNOPQRSTUVWXYZ[ +Line 4=\]^_`abcdefghij +Line 5=klmnopqrstuvwxy +Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š +Line 7=‹ŒŽ‘’“â€â€¢â€“—˜™š›œ +Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬ +Line 9=­®¯°±²³´µ¶·¸¹º» +Line 10=¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊ +Line 11=ËÌÃÃŽÃÃÑÒÓÔÕÖרÙ +Line 12=ÚÛÜÃÞßàáâãäåæçè +Line 13=éêëìíîïðñòóôõö÷ +Line 14=øùúûüýþÿ + +0=11 +1=13 +2=20 +3=33 +4=28 +5=41 +6=34 +7=11 +8=17 +9=17 +10=25 +11=30 +12=11 +13=19 +14=11 +15=24 +16=31 +17=19 +18=30 +19=29 +20=31 +21=29 +22=29 +23=26 +24=30 +25=29 +26=11 +27=11 +28=30 +29=30 +30=30 +31=24 +32=39 +33=33 +34=32 +35=31 +36=33 +37=29 +38=27 +39=33 +40=34 +41=14 +42=27 +43=32 +44=28 +45=39 +46=34 +47=36 +48=31 +49=36 +50=32 +51=29 +52=28 +53=33 +54=32 +55=41 +56=31 +57=32 +58=32 +59=18 +60=24 +61=18 +62=30 +63=24 +64=19 +65=26 +66=27 +67=25 +68=27 +69=26 +70=16 +71=27 +72=27 +73=12 +74=12 +75=26 +76=13 +77=41 +78=27 +79=27 +80=27 +81=27 +82=19 +83=23 +84=18 +85=27 +86=25 +87=35 +88=25 +89=26 +90=25 +91=18 +92=13 +93=18 +94=30 +95=30 +96=11 +97=18 +98=21 +99=45 +100=27 +101=27 +102=19 +103=60 +104=29 +105=15 +106=43 +107=32 +108=11 +109=11 +110=21 +111=21 +112=19 +113=24 +114=28 +115=19 +116=38 +117=23 +118=15 +119=44 +120=25 +121=32 +122=6 +123=13 +124=25 +125=28 +126=30 +127=28 +128=13 +129=25 +130=19 +131=41 +132=21 +133=25 +134=30 +135=19 +136=41 +137=19 +138=19 +139=30 +140=17 +141=17 +142=19 +143=27 +144=30 +145=11 +146=19 +147=10 +148=22 +149=25 +150=33 +151=35 +152=39 +153=24 +154=33 +155=33 +156=33 +157=33 +158=33 +159=33 +160=40 +161=31 +162=29 +163=29 +164=29 +165=29 +166=14 +167=14 +168=14 +169=14 +170=33 +171=34 +172=36 +173=36 +174=36 +175=36 +176=36 +177=30 +178=35 +179=33 +180=33 +181=33 +182=33 +183=32 +184=31 +185=27 +186=26 +187=26 +188=26 +189=26 +190=26 +191=26 +192=41 +193=25 +194=26 +195=26 +196=26 +197=26 +198=12 +199=12 +200=12 +201=12 +202=27 +203=27 +204=27 +205=27 +206=27 +207=27 +208=27 +209=30 +210=27 +211=27 +212=27 +213=27 +214=27 +215=26 +216=27 +217=26 + +[alt] +Line 0= Ą˘Å¤ĽŚ§¨Š +Line 1=ŞŤŹ­ŽŻ°ą˛ł +Line 2=Â´Ä¾Å›Ë‡Â¸Å¡ÅŸÅ¥ÅºË +Line 3=žżŔÃÂĂÄĹĆÇ +Line 4=ČÉĘËĚÃÃŽÄŽÄŃ +Line 5=ŇÓÔÅÖ×ŘŮÚŰ +Line 6=ÜÃŢßŕáâăäĺ +Line 7=ćçÄÃ©Ä™Ã«Ä›Ã­Ã®Ä +Line 8=đńňóôőö÷řů +Line 9=úűüýţ˙ + +0=6 +1=33 +2=19 +3=28 +4=30 +5=28 +6=29 +7=25 +8=19 +9=29 +10=29 +11=28 +12=32 +13=19 +14=32 +15=32 +16=19 +17=26 +18=19 +19=13 +20=19 +21=20 +22=23 +23=19 +24=19 +25=23 +26=23 +27=21 +28=25 +29=19 +30=25 +31=25 +32=32 +33=33 +34=33 +35=33 +36=33 +37=28 +38=31 +39=31 +40=31 +41=29 +42=29 +43=29 +44=29 +45=14 +46=14 +47=33 +48=33 +49=34 +50=34 +51=36 +52=36 +53=36 +54=36 +55=30 +56=32 +57=33 +58=33 +59=33 +60=33 +61=32 +62=28 +63=27 +64=19 +65=26 +66=26 +67=26 +68=26 +69=13 +70=25 +71=25 +72=25 +73=26 +74=26 +75=26 +76=26 +77=12 +78=12 +79=35 +80=27 +81=27 +82=27 +83=27 +84=27 +85=27 +86=27 +87=30 +88=19 +89=27 +90=27 +91=27 +92=27 +93=26 +94=18 +95=19 diff --git a/Themes/default/Fonts/_overpass Combo [numbers-stroke] 4x4.png b/Themes/default/Fonts/_overpass Combo [numbers-stroke] 4x4.png new file mode 100644 index 0000000000..d819fa16c6 Binary files /dev/null and b/Themes/default/Fonts/_overpass Combo [numbers-stroke] 4x4.png differ diff --git a/Themes/default/Fonts/_overpass Combo [numbers] 4x4.png b/Themes/default/Fonts/_overpass Combo [numbers] 4x4.png new file mode 100644 index 0000000000..dfc7701fb4 Binary files /dev/null and b/Themes/default/Fonts/_overpass Combo [numbers] 4x4.png differ diff --git a/Themes/default/Fonts/_overpass Combo.ini b/Themes/default/Fonts/_overpass Combo.ini new file mode 100644 index 0000000000..085e76301f --- /dev/null +++ b/Themes/default/Fonts/_overpass Combo.ini @@ -0,0 +1,30 @@ +[common] +Baseline=65 +Top=23 +LineSpacing=123 +DrawExtraPixelsLeft=0 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[numbers] +Line 0=0123 +Line 1=4567 +Line 2=89%. +Line 3= :x, + +0=53 +1=53 +2=53 +3=53 +4=53 +5=53 +6=53 +7=53 +8=53 +9=53 +10=68 +11=19 +12=18 +13=19 +14=47 +15=20 diff --git a/Themes/default/Fonts/_overpass Score [numbers-stroke] 4x4 (doubleres).png b/Themes/default/Fonts/_overpass Score [numbers-stroke] 4x4 (doubleres).png new file mode 100644 index 0000000000..a0121b285f Binary files /dev/null and b/Themes/default/Fonts/_overpass Score [numbers-stroke] 4x4 (doubleres).png differ diff --git a/Themes/default/Fonts/_overpass Score [numbers] 4x4 (doubleres).png b/Themes/default/Fonts/_overpass Score [numbers] 4x4 (doubleres).png new file mode 100644 index 0000000000..49f72ae118 Binary files /dev/null and b/Themes/default/Fonts/_overpass Score [numbers] 4x4 (doubleres).png differ diff --git a/Themes/default/Fonts/_overpass Score.ini b/Themes/default/Fonts/_overpass Score.ini new file mode 100644 index 0000000000..1878eadaeb --- /dev/null +++ b/Themes/default/Fonts/_overpass Score.ini @@ -0,0 +1,30 @@ +[common] +Baseline=46 +Top=14 +LineSpacing=71 +DrawExtraPixelsLeft=0 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[numbers] +Line 0=0123 +Line 1=4567 +Line 2=89%. +Line 3= :x, + +0=31 +1=31 +2=31 +3=31 +4=31 +5=31 +6=31 +7=31 +8=31 +9=31 +10=31 +11=31 +12=31 +13=31 +14=31 +15=31 diff --git a/Themes/default/Fonts/_roboto Bold 54px [numbers-stroke] 4x5 (doubleres).png b/Themes/default/Fonts/_roboto Bold 54px [numbers-stroke] 4x5 (doubleres).png index 7ded4a1609..b32eb01221 100644 Binary files a/Themes/default/Fonts/_roboto Bold 54px [numbers-stroke] 4x5 (doubleres).png and b/Themes/default/Fonts/_roboto Bold 54px [numbers-stroke] 4x5 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto Bold 54px [numbers] 4x5 (doubleres).png b/Themes/default/Fonts/_roboto Bold 54px [numbers] 4x5 (doubleres).png index ca7d3c42ce..508abca985 100644 Binary files a/Themes/default/Fonts/_roboto Bold 54px [numbers] 4x5 (doubleres).png and b/Themes/default/Fonts/_roboto Bold 54px [numbers] 4x5 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto Bold 80px [numbers-stroke] 4x4.png b/Themes/default/Fonts/_roboto Bold 80px [numbers-stroke] 4x4.png index 0110fd7bc9..89e19eade8 100644 Binary files a/Themes/default/Fonts/_roboto Bold 80px [numbers-stroke] 4x4.png and b/Themes/default/Fonts/_roboto Bold 80px [numbers-stroke] 4x4.png differ diff --git a/Themes/default/Fonts/_roboto Bold 80px [numbers] 4x4.png b/Themes/default/Fonts/_roboto Bold 80px [numbers] 4x4.png index 3d13b7962c..db14d60da1 100644 Binary files a/Themes/default/Fonts/_roboto Bold 80px [numbers] 4x4.png and b/Themes/default/Fonts/_roboto Bold 80px [numbers] 4x4.png differ diff --git a/Themes/default/Fonts/_roboto Medium 24px [alt-stroke] 10x10 (doubleres).png b/Themes/default/Fonts/_roboto Medium 24px [alt-stroke] 10x10 (doubleres).png new file mode 100644 index 0000000000..b30d2135a9 Binary files /dev/null and b/Themes/default/Fonts/_roboto Medium 24px [alt-stroke] 10x10 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto Medium 24px [alt] 10x10 (doubleres).png b/Themes/default/Fonts/_roboto Medium 24px [alt] 10x10 (doubleres).png new file mode 100644 index 0000000000..6e95bc1e84 Binary files /dev/null and b/Themes/default/Fonts/_roboto Medium 24px [alt] 10x10 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto Medium 24px [main-stroke] 15x15 (doubleres).png b/Themes/default/Fonts/_roboto Medium 24px [main-stroke] 15x15 (doubleres).png new file mode 100644 index 0000000000..a615d4ec23 Binary files /dev/null and b/Themes/default/Fonts/_roboto Medium 24px [main-stroke] 15x15 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto Medium 24px [main] 15x15 (doubleres).png b/Themes/default/Fonts/_roboto Medium 24px [main] 15x15 (doubleres).png new file mode 100644 index 0000000000..7c8a33ffd4 Binary files /dev/null and b/Themes/default/Fonts/_roboto Medium 24px [main] 15x15 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto Medium 24px.ini b/Themes/default/Fonts/_roboto Medium 24px.ini new file mode 100644 index 0000000000..875ac75080 --- /dev/null +++ b/Themes/default/Fonts/_roboto Medium 24px.ini @@ -0,0 +1,352 @@ +[common] +Baseline=27 +Top=9 +LineSpacing=29 +DrawExtraPixelsLeft=1 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[main] +Line 0= !"#$%&'()*+,-. +Line 1=/0123456789:;<= +Line 2=>?@ABCDEFGHIJKL +Line 3=MNOPQRSTUVWXYZ[ +Line 4=\]^_`abcdefghij +Line 5=klmnopqrstuvwxy +Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š +Line 7=‹ŒŽ‘’“â€â€¢â€“—˜™š›œ +Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬ +Line 9=­®¯°±²³´µ¶·¸¹º» +Line 10=¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊ +Line 11=ËÌÃÃŽÃÃÑÒÓÔÕÖרÙ +Line 12=ÚÛÜÃÞßàáâãäåæçè +Line 13=éêëìíîïðñòóôõö÷ +Line 14=øùúûüýþÿ + +0=6 +1=6 +2=8 +3=15 +4=14 +5=18 +6=15 +7=4 +8=8 +9=8 +10=11 +11=13 +12=5 +13=8 +14=7 +15=10 +16=14 +17=14 +18=14 +19=14 +20=14 +21=14 +22=14 +23=14 +24=14 +25=14 +26=6 +27=6 +28=12 +29=13 +30=13 +31=12 +32=21 +33=16 +34=15 +35=16 +36=16 +37=14 +38=13 +39=16 +40=17 +41=7 +42=13 +43=15 +44=13 +45=21 +46=17 +47=17 +48=15 +49=17 +50=15 +51=14 +52=15 +53=16 +54=16 +55=21 +56=15 +57=15 +58=14 +59=7 +60=10 +61=7 +62=10 +63=11 +64=8 +65=13 +66=14 +67=13 +68=14 +69=13 +70=9 +71=14 +72=13 +73=6 +74=6 +75=13 +76=6 +77=21 +78=13 +79=14 +80=14 +81=14 +82=8 +83=12 +84=8 +85=13 +86=12 +87=18 +88=12 +89=12 +90=12 +91=8 +92=6 +93=8 +94=16 +95=14 +96=5 +97=8 +98=9 +99=17 +100=13 +101=14 +102=12 +103=23 +104=14 +105=7 +106=23 +107=14 +108=5 +109=5 +110=9 +111=9 +112=8 +113=15 +114=19 +115=12 +116=15 +117=12 +118=7 +119=22 +120=12 +121=15 +122=6 +123=6 +124=13 +125=14 +126=17 +127=15 +128=6 +129=15 +130=11 +131=19 +132=11 +133=12 +134=13 +135=8 +136=19 +137=12 +138=9 +139=13 +140=9 +141=9 +142=8 +143=14 +144=12 +145=7 +146=6 +147=9 +148=11 +149=12 +150=17 +151=19 +152=19 +153=12 +154=16 +155=16 +156=16 +157=16 +158=16 +159=16 +160=23 +161=16 +162=14 +163=14 +164=14 +165=14 +166=7 +167=7 +168=7 +169=7 +170=16 +171=17 +172=17 +173=17 +174=17 +175=17 +176=17 +177=13 +178=17 +179=16 +180=16 +181=16 +182=16 +183=15 +184=14 +185=15 +186=13 +187=13 +188=13 +189=13 +190=13 +191=13 +192=20 +193=13 +194=13 +195=13 +196=13 +197=13 +198=6 +199=6 +200=6 +201=6 +202=14 +203=13 +204=14 +205=14 +206=14 +207=14 +208=14 +209=14 +210=14 +211=13 +212=13 +213=13 +214=13 +215=12 +216=14 +217=12 + +[alt] +Line 0= Ą˘Å¤ĽŚ§¨Š +Line 1=ŞŤŹ­ŽŻ°ą˛ł +Line 2=Â´Ä¾Å›Ë‡Â¸Å¡ÅŸÅ¥ÅºË +Line 3=žżŔÃÂĂÄĹĆÇ +Line 4=ČÉĘËĚÃÃŽÄŽÄŃ +Line 5=ŇÓÔÅÖ×ŘŮÚŰ +Line 6=ÜÃŢßŕáâăäĺ +Line 7=ćçÄÃ©Ä™Ã«Ä›Ã­Ã®Ä +Line 8=đńňóôőö÷řů +Line 9=úűüýţ˙ + +0=6 +1=16 +2=10 +3=13 +4=17 +5=13 +6=14 +7=15 +8=11 +9=14 +10=14 +11=15 +12=14 +13=8 +14=14 +15=14 +16=9 +17=13 +18=7 +19=7 +20=8 +21=8 +22=12 +23=11 +24=6 +25=12 +26=12 +27=8 +28=12 +29=9 +30=12 +31=12 +32=15 +33=16 +34=16 +35=16 +36=16 +37=13 +38=16 +39=16 +40=16 +41=14 +42=14 +43=14 +44=14 +45=7 +46=7 +47=16 +48=16 +49=17 +50=17 +51=17 +52=17 +53=17 +54=17 +55=13 +56=15 +57=16 +58=16 +59=16 +60=16 +61=15 +62=15 +63=15 +64=8 +65=13 +66=13 +67=13 +68=13 +69=6 +70=13 +71=13 +72=13 +73=13 +74=13 +75=13 +76=13 +77=6 +78=6 +79=15 +80=14 +81=13 +82=13 +83=14 +84=14 +85=14 +86=14 +87=14 +88=8 +89=13 +90=13 +91=13 +92=13 +93=12 +94=8 +95=6 diff --git a/Themes/default/Fonts/_roboto condensed 24px [alt-stroke] 10x10 (doubleres).png b/Themes/default/Fonts/_roboto condensed 24px [alt-stroke] 10x10 (doubleres).png new file mode 100644 index 0000000000..705c7bfb7a Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed 24px [alt-stroke] 10x10 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto condensed 24px [alt] 10x10 (doubleres).png b/Themes/default/Fonts/_roboto condensed 24px [alt] 10x10 (doubleres).png new file mode 100644 index 0000000000..936b94ac10 Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed 24px [alt] 10x10 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto condensed 24px [main-stroke] 15x15 (doubleres).png b/Themes/default/Fonts/_roboto condensed 24px [main-stroke] 15x15 (doubleres).png new file mode 100644 index 0000000000..802fd364a1 Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed 24px [main-stroke] 15x15 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto condensed 24px [main] 15x15 (doubleres).png b/Themes/default/Fonts/_roboto condensed 24px [main] 15x15 (doubleres).png new file mode 100644 index 0000000000..42c2978686 Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed 24px [main] 15x15 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto condensed 24px.ini b/Themes/default/Fonts/_roboto condensed 24px.ini new file mode 100644 index 0000000000..bfa2f9002e --- /dev/null +++ b/Themes/default/Fonts/_roboto condensed 24px.ini @@ -0,0 +1,352 @@ +[common] +Baseline=29 +Top=12 +LineSpacing=32 +DrawExtraPixelsLeft=1 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[main] +Line 0= !"#$%&'()*+,-. +Line 1=/0123456789:;<= +Line 2=>?@ABCDEFGHIJKL +Line 3=MNOPQRSTUVWXYZ[ +Line 4=\]^_`abcdefghij +Line 5=klmnopqrstuvwxy +Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š +Line 7=‹ŒŽ‘’“â€â€¢â€“—˜™š›œ +Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬ +Line 9=­®¯°±²³´µ¶·¸¹º» +Line 10=¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊ +Line 11=ËÌÃÃŽÃÃÑÒÓÔÕÖרÙ +Line 12=ÚÛÜÃÞßàáâãäåæçè +Line 13=éêëìíîïðñòóôõö÷ +Line 14=øùúûüýþÿ + +0=5 +1=6 +2=7 +3=13 +4=12 +5=16 +6=14 +7=4 +8=7 +9=7 +10=9 +11=12 +12=5 +13=7 +14=6 +15=8 +16=12 +17=12 +18=12 +19=12 +20=12 +21=12 +22=12 +23=12 +24=12 +25=12 +26=6 +27=6 +28=11 +29=12 +30=11 +31=10 +32=19 +33=13 +34=13 +35=13 +36=14 +37=12 +38=12 +39=14 +40=15 +41=6 +42=12 +43=13 +44=11 +45=17 +46=15 +47=14 +48=13 +49=14 +50=14 +51=13 +52=12 +53=14 +54=13 +55=18 +56=13 +57=13 +58=12 +59=6 +60=9 +61=6 +62=9 +63=9 +64=7 +65=11 +66=12 +67=11 +68=12 +69=11 +70=7 +71=12 +72=12 +73=5 +74=5 +75=11 +76=5 +77=18 +78=12 +79=12 +80=12 +81=12 +82=7 +83=10 +84=7 +85=12 +86=10 +87=15 +88=10 +89=10 +90=10 +91=7 +92=5 +93=7 +94=14 +95=11 +96=4 +97=7 +98=7 +99=15 +100=11 +101=12 +102=10 +103=20 +104=13 +105=6 +106=20 +107=12 +108=4 +109=4 +110=7 +111=8 +112=8 +113=14 +114=17 +115=10 +116=13 +117=10 +118=6 +119=19 +120=10 +121=13 +122=5 +123=6 +124=12 +125=12 +126=15 +127=13 +128=5 +129=13 +130=11 +131=17 +132=9 +133=10 +134=11 +135=7 +136=17 +137=10 +138=8 +139=12 +140=9 +141=9 +142=7 +143=12 +144=11 +145=6 +146=5 +147=6 +148=9 +149=10 +150=15 +151=16 +152=17 +153=10 +154=13 +155=13 +156=13 +157=13 +158=13 +159=13 +160=19 +161=13 +162=12 +163=12 +164=12 +165=12 +166=6 +167=6 +168=6 +169=6 +170=14 +171=15 +172=14 +173=14 +174=14 +175=14 +176=14 +177=11 +178=14 +179=14 +180=14 +181=14 +182=14 +183=13 +184=12 +185=13 +186=11 +187=11 +188=11 +189=11 +190=11 +191=11 +192=17 +193=11 +194=11 +195=11 +196=11 +197=11 +198=5 +199=5 +200=5 +201=5 +202=12 +203=12 +204=12 +205=12 +206=12 +207=12 +208=12 +209=12 +210=12 +211=12 +212=12 +213=12 +214=12 +215=10 +216=12 +217=10 + +[alt] +Line 0= Ą˘Å¤ĽŚ§¨Š +Line 1=ŞŤŹ­ŽŻ°ą˛ł +Line 2=Â´Ä¾Å›Ë‡Â¸Å¡ÅŸÅ¥ÅºË +Line 3=žżŔÃÂĂÄĹĆÇ +Line 4=ČÉĘËĚÃÃŽÄŽÄŃ +Line 5=ŇÓÔÅÖ×ŘŮÚŰ +Line 6=ÜÃŢßŕáâăäĺ +Line 7=ćçÄÃ©Ä™Ã«Ä›Ã­Ã®Ä +Line 8=đńňóôőö÷řů +Line 9=úűüýţ˙ + +0=5 +1=13 +2=9 +3=11 +4=15 +5=11 +6=13 +7=13 +8=11 +9=13 +10=13 +11=12 +12=12 +13=7 +14=12 +15=12 +16=8 +17=11 +18=6 +19=6 +20=7 +21=7 +22=10 +23=9 +24=5 +25=10 +26=10 +27=8 +28=10 +29=8 +30=10 +31=10 +32=14 +33=13 +34=13 +35=13 +36=13 +37=11 +38=13 +39=13 +40=13 +41=12 +42=12 +43=12 +44=12 +45=6 +46=6 +47=14 +48=14 +49=15 +50=15 +51=14 +52=14 +53=14 +54=14 +55=11 +56=14 +57=14 +58=14 +59=14 +60=14 +61=13 +62=12 +63=13 +64=7 +65=11 +66=11 +67=11 +68=11 +69=5 +70=11 +71=11 +72=11 +73=11 +74=11 +75=11 +76=11 +77=5 +78=5 +79=13 +80=12 +81=12 +82=12 +83=12 +84=12 +85=12 +86=12 +87=12 +88=7 +89=12 +90=12 +91=12 +92=12 +93=10 +94=7 +95=6 diff --git a/Themes/default/Fonts/_roboto condensed Bold 48px [alt-stroke] 10x10.png b/Themes/default/Fonts/_roboto condensed Bold 48px [alt-stroke] 10x10.png new file mode 100644 index 0000000000..9d76ae546f Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed Bold 48px [alt-stroke] 10x10.png differ diff --git a/Themes/default/Fonts/_roboto condensed Bold 48px [alt] 10x10.png b/Themes/default/Fonts/_roboto condensed Bold 48px [alt] 10x10.png new file mode 100644 index 0000000000..661fde4422 Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed Bold 48px [alt] 10x10.png differ diff --git a/Themes/default/Fonts/_roboto condensed Bold 48px [main-stroke] 15x15.png b/Themes/default/Fonts/_roboto condensed Bold 48px [main-stroke] 15x15.png new file mode 100644 index 0000000000..08562bd4aa Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed Bold 48px [main-stroke] 15x15.png differ diff --git a/Themes/default/Fonts/_roboto condensed Bold 48px [main] 15x15.png b/Themes/default/Fonts/_roboto condensed Bold 48px [main] 15x15.png new file mode 100644 index 0000000000..871d0008b0 Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed Bold 48px [main] 15x15.png differ diff --git a/Themes/default/Fonts/_roboto condensed Bold 48px.ini b/Themes/default/Fonts/_roboto condensed Bold 48px.ini new file mode 100644 index 0000000000..90e0503470 --- /dev/null +++ b/Themes/default/Fonts/_roboto condensed Bold 48px.ini @@ -0,0 +1,352 @@ +[common] +Baseline=47 +Top=11 +LineSpacing=58 +DrawExtraPixelsLeft=3 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[main] +Line 0= !"#$%&'()*+,-. +Line 1=/0123456789:;<= +Line 2=>?@ABCDEFGHIJKL +Line 3=MNOPQRSTUVWXYZ[ +Line 4=\]^_`abcdefghij +Line 5=klmnopqrstuvwxy +Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š +Line 7=‹ŒŽ‘’“â€â€¢â€“—˜™š›œ +Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬ +Line 9=­®¯°±²³´µ¶·¸¹º» +Line 10=¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊ +Line 11=ËÌÃÃŽÃÃÑÒÓÔÕÖרÙ +Line 12=ÚÛÜÃÞßàáâãäåæçè +Line 13=éêëìíîïðñòóôõö÷ +Line 14=øùúûüýþÿ + +0=11 +1=13 +2=15 +3=25 +4=24 +5=31 +6=28 +7=8 +8=16 +9=16 +10=22 +11=23 +12=12 +13=17 +14=14 +15=16 +16=24 +17=24 +18=24 +19=24 +20=24 +21=24 +22=24 +23=24 +24=24 +25=24 +26=13 +27=12 +28=21 +29=24 +30=22 +31=22 +32=37 +33=29 +34=27 +35=27 +36=27 +37=24 +38=23 +39=28 +40=29 +41=13 +42=24 +43=27 +44=23 +45=36 +46=29 +47=29 +48=27 +49=29 +50=27 +51=26 +52=26 +53=27 +54=28 +55=36 +56=27 +57=26 +58=25 +59=13 +60=18 +61=13 +62=19 +63=19 +64=16 +65=23 +66=24 +67=22 +68=24 +69=23 +70=16 +71=24 +72=24 +73=12 +74=12 +75=23 +76=12 +77=36 +78=24 +79=24 +80=24 +81=24 +82=16 +83=22 +84=15 +85=24 +86=22 +87=30 +88=22 +89=21 +90=22 +91=14 +92=12 +93=14 +94=27 +95=24 +96=12 +97=16 +98=19 +99=32 +100=23 +101=24 +102=22 +103=39 +104=26 +105=14 +106=40 +107=25 +108=11 +109=11 +110=19 +111=19 +112=17 +113=26 +114=32 +115=21 +116=27 +117=22 +118=13 +119=37 +120=22 +121=26 +122=11 +123=13 +124=24 +125=25 +126=33 +127=26 +128=12 +129=27 +130=22 +131=38 +132=19 +133=22 +134=23 +135=17 +136=38 +137=22 +138=19 +139=23 +140=16 +141=16 +142=16 +143=26 +144=21 +145=14 +146=12 +147=16 +148=19 +149=22 +150=30 +151=32 +152=34 +153=21 +154=29 +155=29 +156=29 +157=29 +158=29 +159=29 +160=39 +161=27 +162=24 +163=24 +164=24 +165=24 +166=13 +167=13 +168=13 +169=13 +170=28 +171=29 +172=29 +173=29 +174=29 +175=29 +176=29 +177=23 +178=29 +179=27 +180=27 +181=27 +182=27 +183=26 +184=26 +185=27 +186=23 +187=23 +188=23 +189=23 +190=23 +191=23 +192=35 +193=22 +194=23 +195=23 +196=23 +197=23 +198=13 +199=13 +200=13 +201=13 +202=24 +203=24 +204=24 +205=24 +206=24 +207=24 +208=24 +209=24 +210=24 +211=24 +212=24 +213=24 +214=24 +215=21 +216=24 +217=21 + +[alt] +Line 0= Ą˘Å¤ĽŚ§¨Š +Line 1=ŞŤŹ­ŽŻ°ą˛ł +Line 2=Â´Ä¾Å›Ë‡Â¸Å¡ÅŸÅ¥ÅºË +Line 3=žżŔÃÂĂÄĹĆÇ +Line 4=ČÉĘËĚÃÃŽÄŽÄŃ +Line 5=ŇÓÔÅÖ×ŘŮÚŰ +Line 6=ÜÃŢßŕáâăäĺ +Line 7=ćçÄÃ©Ä™Ã«Ä›Ã­Ã®Ä +Line 8=đńňóôőö÷řů +Line 9=úűüýţ˙ + +0=11 +1=29 +2=21 +3=24 +4=33 +5=23 +6=26 +7=27 +8=22 +9=26 +10=26 +11=26 +12=25 +13=17 +14=25 +15=25 +16=19 +17=23 +18=14 +19=14 +20=16 +21=16 +22=22 +23=21 +24=12 +25=22 +26=22 +27=16 +28=22 +29=18 +30=22 +31=22 +32=27 +33=29 +34=29 +35=29 +36=29 +37=23 +38=27 +39=27 +40=27 +41=24 +42=24 +43=24 +44=24 +45=13 +46=13 +47=27 +48=28 +49=29 +50=29 +51=29 +52=29 +53=29 +54=29 +55=23 +56=27 +57=27 +58=27 +59=27 +60=27 +61=26 +62=26 +63=27 +64=16 +65=23 +66=23 +67=23 +68=23 +69=12 +70=22 +71=22 +72=22 +73=23 +74=23 +75=23 +76=23 +77=13 +78=13 +79=27 +80=25 +81=24 +82=24 +83=24 +84=24 +85=24 +86=24 +87=24 +88=16 +89=24 +90=24 +91=24 +92=24 +93=21 +94=15 +95=13 diff --git a/Themes/default/Fonts/_roboto condensed Bold italic 24px [alt-stroke] 10x10 (doubleres).png b/Themes/default/Fonts/_roboto condensed Bold italic 24px [alt-stroke] 10x10 (doubleres).png new file mode 100644 index 0000000000..9b29d8ec18 Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed Bold italic 24px [alt-stroke] 10x10 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto condensed Bold italic 24px [alt] 10x10 (doubleres).png b/Themes/default/Fonts/_roboto condensed Bold italic 24px [alt] 10x10 (doubleres).png new file mode 100644 index 0000000000..03cea96a5f Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed Bold italic 24px [alt] 10x10 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto condensed Bold italic 24px [main-stroke] 15x15 (doubleres).png b/Themes/default/Fonts/_roboto condensed Bold italic 24px [main-stroke] 15x15 (doubleres).png new file mode 100644 index 0000000000..f497c0642d Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed Bold italic 24px [main-stroke] 15x15 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto condensed Bold italic 24px [main] 15x15 (doubleres).png b/Themes/default/Fonts/_roboto condensed Bold italic 24px [main] 15x15 (doubleres).png new file mode 100644 index 0000000000..f07e3c3f43 Binary files /dev/null and b/Themes/default/Fonts/_roboto condensed Bold italic 24px [main] 15x15 (doubleres).png differ diff --git a/Themes/default/Fonts/_roboto condensed Bold italic 24px.ini b/Themes/default/Fonts/_roboto condensed Bold italic 24px.ini new file mode 100644 index 0000000000..6a6556c9a6 --- /dev/null +++ b/Themes/default/Fonts/_roboto condensed Bold italic 24px.ini @@ -0,0 +1,352 @@ +[common] +Baseline=29 +Top=11 +LineSpacing=29 +DrawExtraPixelsLeft=3 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[main] +Line 0= !"#$%&'()*+,-. +Line 1=/0123456789:;<= +Line 2=>?@ABCDEFGHIJKL +Line 3=MNOPQRSTUVWXYZ[ +Line 4=\]^_`abcdefghij +Line 5=klmnopqrstuvwxy +Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š +Line 7=‹ŒŽ‘’“â€â€¢â€“—˜™š›œ +Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬ +Line 9=­®¯°±²³´µ¶·¸¹º» +Line 10=¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊ +Line 11=ËÌÃÃŽÃÃÑÒÓÔÕÖרÙ +Line 12=ÚÛÜÃÞßàáâãäåæçè +Line 13=éêëìíîïðñòóôõö÷ +Line 14=øùúûüýþÿ + +0=5 +1=6 +2=8 +3=12 +4=12 +5=15 +6=14 +7=4 +8=8 +9=8 +10=11 +11=11 +12=6 +13=9 +14=7 +15=8 +16=12 +17=12 +18=12 +19=12 +20=12 +21=12 +22=12 +23=12 +24=12 +25=12 +26=7 +27=6 +28=11 +29=12 +30=11 +31=11 +32=18 +33=14 +34=13 +35=13 +36=13 +37=12 +38=11 +39=14 +40=14 +41=6 +42=12 +43=13 +44=11 +45=18 +46=14 +47=14 +48=13 +49=14 +50=13 +51=13 +52=13 +53=13 +54=14 +55=18 +56=13 +57=13 +58=12 +59=6 +60=9 +61=6 +62=9 +63=9 +64=8 +65=11 +66=12 +67=11 +68=12 +69=11 +70=8 +71=12 +72=12 +73=6 +74=6 +75=11 +76=6 +77=17 +78=12 +79=12 +80=12 +81=12 +82=8 +83=11 +84=7 +85=12 +86=11 +87=15 +88=11 +89=11 +90=11 +91=7 +92=6 +93=7 +94=13 +95=12 +96=6 +97=8 +98=9 +99=16 +100=11 +101=12 +102=11 +103=19 +104=13 +105=7 +106=20 +107=12 +108=5 +109=5 +110=9 +111=9 +112=9 +113=13 +114=15 +115=10 +116=13 +117=11 +118=7 +119=18 +120=11 +121=13 +122=5 +123=6 +124=12 +125=12 +126=16 +127=13 +128=6 +129=13 +130=11 +131=18 +132=9 +133=11 +134=11 +135=9 +136=18 +137=11 +138=9 +139=11 +140=8 +141=8 +142=8 +143=13 +144=10 +145=7 +146=6 +147=8 +148=10 +149=11 +150=15 +151=16 +152=17 +153=11 +154=14 +155=14 +156=14 +157=14 +158=14 +159=14 +160=19 +161=13 +162=12 +163=12 +164=12 +165=12 +166=6 +167=6 +168=6 +169=6 +170=14 +171=14 +172=14 +173=14 +174=14 +175=14 +176=14 +177=11 +178=14 +179=13 +180=13 +181=13 +182=13 +183=13 +184=13 +185=13 +186=11 +187=11 +188=11 +189=11 +190=11 +191=11 +192=17 +193=11 +194=11 +195=11 +196=11 +197=11 +198=6 +199=6 +200=6 +201=6 +202=12 +203=12 +204=12 +205=12 +206=12 +207=12 +208=12 +209=12 +210=12 +211=12 +212=12 +213=12 +214=12 +215=11 +216=12 +217=11 + +[alt] +Line 0= Ą˘Å¤ĽŚ§¨Š +Line 1=ŞŤŹ­ŽŻ°ą˛ł +Line 2=Â´Ä¾Å›Ë‡Â¸Å¡ÅŸÅ¥ÅºË +Line 3=žżŔÃÂĂÄĹĆÇ +Line 4=ČÉĘËĚÃÃŽÄŽÄŃ +Line 5=ŇÓÔÅÖ×ŘŮÚŰ +Line 6=ÜÃŢßŕáâăäĺ +Line 7=ćçÄÃ©Ä™Ã«Ä›Ã­Ã®Ä +Line 8=đńňóôőö÷řů +Line 9=úűüýţ˙ + +0=5 +1=14 +2=10 +3=12 +4=16 +5=11 +6=13 +7=13 +8=11 +9=13 +10=13 +11=13 +12=12 +13=9 +14=12 +15=12 +16=9 +17=11 +18=7 +19=7 +20=8 +21=8 +22=11 +23=10 +24=6 +25=11 +26=11 +27=8 +28=11 +29=9 +30=11 +31=11 +32=13 +33=14 +34=14 +35=14 +36=14 +37=11 +38=13 +39=13 +40=13 +41=12 +42=12 +43=12 +44=12 +45=6 +46=6 +47=13 +48=14 +49=14 +50=14 +51=14 +52=14 +53=14 +54=14 +55=11 +56=13 +57=13 +58=13 +59=13 +60=13 +61=13 +62=13 +63=13 +64=8 +65=11 +66=11 +67=11 +68=11 +69=6 +70=11 +71=11 +72=11 +73=11 +74=11 +75=11 +76=11 +77=6 +78=6 +79=13 +80=12 +81=12 +82=12 +83=12 +84=12 +85=12 +86=12 +87=12 +88=8 +89=12 +90=12 +91=12 +92=12 +93=11 +94=7 +95=6 diff --git a/Themes/default/Fonts/nestyMenu Item.redir b/Themes/default/Fonts/nestyMenu Item.redir new file mode 100644 index 0000000000..cb6dd58ae2 --- /dev/null +++ b/Themes/default/Fonts/nestyMenu Item.redir @@ -0,0 +1 @@ +_roboto condensed 24px diff --git a/Themes/default/Graphics/Banner AllCourses.png b/Themes/default/Graphics/Banner AllCourses.png new file mode 100644 index 0000000000..cc3293edad Binary files /dev/null and b/Themes/default/Graphics/Banner AllCourses.png differ diff --git a/Themes/default/Graphics/Banner random.png b/Themes/default/Graphics/Banner random.png index 2a19b14c37..beef2dd510 100644 Binary files a/Themes/default/Graphics/Banner random.png and b/Themes/default/Graphics/Banner random.png differ diff --git a/Themes/default/Graphics/Banner roulette.png b/Themes/default/Graphics/Banner roulette.png index aa6116cb21..57285857e2 100644 Binary files a/Themes/default/Graphics/Banner roulette.png and b/Themes/default/Graphics/Banner roulette.png differ diff --git a/Themes/default/Graphics/CombinedLifeMeterTug frame.lua b/Themes/default/Graphics/CombinedLifeMeterTug frame.lua index 0d9a822490..53d33aadc7 100644 --- a/Themes/default/Graphics/CombinedLifeMeterTug frame.lua +++ b/Themes/default/Graphics/CombinedLifeMeterTug frame.lua @@ -1,3 +1,2 @@ return LoadActor(THEME:GetPathG("_combined","life frame"))..{ - InitCommand=cmd(diffuse,PlayerColor(PLAYER_1);diffuserightedge,PlayerColor(PLAYER_2)); }; \ No newline at end of file diff --git a/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png b/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png index c3aa1afcc1..f50338e23c 100644 Binary files a/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png and b/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png differ diff --git a/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png b/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png index 6822b93dd8..92a8aaf114 100644 Binary files a/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png and b/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png differ diff --git a/Themes/default/Graphics/Combo 100milestone/default.lua b/Themes/default/Graphics/Combo 100milestone/default.lua index 2e72062aca..fc0abd0ec0 100644 --- a/Themes/default/Graphics/Combo 100milestone/default.lua +++ b/Themes/default/Graphics/Combo 100milestone/default.lua @@ -2,10 +2,6 @@ local ShowFlashyCombo = ThemePrefs.Get("FlashyCombo") return Def.ActorFrame { LoadActor("explosion") .. { InitCommand=cmd(diffusealpha,0;blend,'BlendMode_Add';hide_if,not ShowFlashyCombo); - MilestoneCommand=cmd(rotationz,0;zoom,2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1.75;diffusealpha,0); - }; - LoadActor("explosion") .. { - InitCommand=cmd(diffusealpha,0;blend,'BlendMode_Add';hide_if,not ShowFlashyCombo); - MilestoneCommand=cmd(rotationz,0;zoom,2;diffusealpha,0.5;linear,0.5;rotationz,-90;zoom,2.5;diffusealpha,0); + MilestoneCommand=cmd(rotationz,0;zoom,0.5;diffusealpha,0.6;linear,0.3;zoom,0.75;diffusealpha,0); }; }; \ No newline at end of file diff --git a/Themes/default/Graphics/Combo 100milestone/explosion.png b/Themes/default/Graphics/Combo 100milestone/explosion.png index 8364e4de51..57df6b37ac 100644 Binary files a/Themes/default/Graphics/Combo 100milestone/explosion.png and b/Themes/default/Graphics/Combo 100milestone/explosion.png differ diff --git a/Themes/default/Graphics/Common fallback background.png b/Themes/default/Graphics/Common fallback background.png index 335bd214fb..49c2eeb639 100644 Binary files a/Themes/default/Graphics/Common fallback background.png and b/Themes/default/Graphics/Common fallback background.png differ diff --git a/Themes/default/Graphics/Common fallback banner.png b/Themes/default/Graphics/Common fallback banner.png index 45098f5999..bdff18c066 100644 Binary files a/Themes/default/Graphics/Common fallback banner.png and b/Themes/default/Graphics/Common fallback banner.png differ diff --git a/Themes/default/Graphics/Common splash.png b/Themes/default/Graphics/Common splash.png index 3b425e3249..bd560631e0 100644 Binary files a/Themes/default/Graphics/Common splash.png and b/Themes/default/Graphics/Common splash.png differ diff --git a/Themes/default/Graphics/Common window icon.png b/Themes/default/Graphics/Common window icon.png index 4a68593c5d..4aa304b922 100644 Binary files a/Themes/default/Graphics/Common window icon.png and b/Themes/default/Graphics/Common window icon.png differ diff --git a/Themes/default/Graphics/CourseEntryDisplay bar.png b/Themes/default/Graphics/CourseEntryDisplay bar.png index af0e0f7a8b..c48a6c4bb0 100644 Binary files a/Themes/default/Graphics/CourseEntryDisplay bar.png and b/Themes/default/Graphics/CourseEntryDisplay bar.png differ diff --git a/Themes/default/Graphics/CourseEntryDisplay diamond.png b/Themes/default/Graphics/CourseEntryDisplay diamond.png new file mode 100644 index 0000000000..a51b06c65f Binary files /dev/null and b/Themes/default/Graphics/CourseEntryDisplay diamond.png differ diff --git a/Themes/default/Graphics/DualScrollBar thumb p1 (doubleres).png b/Themes/default/Graphics/DualScrollBar thumb p1 (doubleres).png new file mode 100644 index 0000000000..743b0af636 Binary files /dev/null and b/Themes/default/Graphics/DualScrollBar thumb p1 (doubleres).png differ diff --git a/Themes/default/Graphics/DualScrollBar thumb p2 (doubleres).png b/Themes/default/Graphics/DualScrollBar thumb p2 (doubleres).png new file mode 100644 index 0000000000..d35005ed6d Binary files /dev/null and b/Themes/default/Graphics/DualScrollBar thumb p2 (doubleres).png differ diff --git a/Themes/default/Graphics/Generic icon.png b/Themes/default/Graphics/Generic icon.png new file mode 100644 index 0000000000..7a89b41ae5 Binary files /dev/null and b/Themes/default/Graphics/Generic icon.png differ diff --git a/Themes/default/Graphics/GradeDisplay Grade Grade_Failed.png b/Themes/default/Graphics/GradeDisplay Grade Grade_Failed.png new file mode 100644 index 0000000000..3e5384fe5d Binary files /dev/null and b/Themes/default/Graphics/GradeDisplay Grade Grade_Failed.png differ diff --git a/Themes/default/Graphics/GradeDisplay Grade Grade_Tier01.png b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier01.png new file mode 100644 index 0000000000..0034233598 Binary files /dev/null and b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier01.png differ diff --git a/Themes/default/Graphics/GradeDisplay Grade Grade_Tier02.png b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier02.png new file mode 100644 index 0000000000..35f80c88c0 Binary files /dev/null and b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier02.png differ diff --git a/Themes/default/Graphics/GradeDisplay Grade Grade_Tier03.png b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier03.png new file mode 100644 index 0000000000..f477491fbf Binary files /dev/null and b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier03.png differ diff --git a/Themes/default/Graphics/GradeDisplay Grade Grade_Tier04.png b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier04.png new file mode 100644 index 0000000000..22ea672129 Binary files /dev/null and b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier04.png differ diff --git a/Themes/default/Graphics/GradeDisplay Grade Grade_Tier05.png b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier05.png new file mode 100644 index 0000000000..7a1d64aa28 Binary files /dev/null and b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier05.png differ diff --git a/Themes/default/Graphics/GradeDisplay Grade Grade_Tier06.png b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier06.png new file mode 100644 index 0000000000..6c4985f6f9 Binary files /dev/null and b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier06.png differ diff --git a/Themes/default/Graphics/GradeDisplay Grade Grade_Tier07.png b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier07.png new file mode 100644 index 0000000000..c9f319ffdc Binary files /dev/null and b/Themes/default/Graphics/GradeDisplay Grade Grade_Tier07.png differ diff --git a/Themes/default/Graphics/HoldJudgment label 1x2.png b/Themes/default/Graphics/HoldJudgment label 1x2.png index e035603393..2cc6c14bb8 100644 Binary files a/Themes/default/Graphics/HoldJudgment label 1x2.png and b/Themes/default/Graphics/HoldJudgment label 1x2.png differ diff --git a/Themes/default/Graphics/Judgment Normal 2x6.png b/Themes/default/Graphics/Judgment Normal 2x6.png new file mode 100644 index 0000000000..28448d9c58 Binary files /dev/null and b/Themes/default/Graphics/Judgment Normal 2x6.png differ diff --git a/Themes/default/Graphics/LifeMeter bar frame.png b/Themes/default/Graphics/LifeMeter bar frame.png new file mode 100644 index 0000000000..2d51ee8ebd Binary files /dev/null and b/Themes/default/Graphics/LifeMeter bar frame.png differ diff --git a/Themes/default/Graphics/MusicWheel highlight.png b/Themes/default/Graphics/MusicWheel highlight.png index 9431e18766..75a85f2515 100644 Binary files a/Themes/default/Graphics/MusicWheel highlight.png and b/Themes/default/Graphics/MusicWheel highlight.png differ diff --git a/Themes/default/Graphics/MusicWheelItem Course NormalPart.png b/Themes/default/Graphics/MusicWheelItem Course NormalPart.png new file mode 100644 index 0000000000..debe5e0a36 Binary files /dev/null and b/Themes/default/Graphics/MusicWheelItem Course NormalPart.png differ diff --git a/Themes/default/Graphics/MusicWheelItem Mode NormalPart.png b/Themes/default/Graphics/MusicWheelItem Mode NormalPart.png index ccd464cff1..060449a0c9 100644 Binary files a/Themes/default/Graphics/MusicWheelItem Mode NormalPart.png and b/Themes/default/Graphics/MusicWheelItem Mode NormalPart.png differ diff --git a/Themes/default/Graphics/MusicWheelItem Random NormalPart.png b/Themes/default/Graphics/MusicWheelItem Random NormalPart.png new file mode 100644 index 0000000000..f6ae817560 Binary files /dev/null and b/Themes/default/Graphics/MusicWheelItem Random NormalPart.png differ diff --git a/Themes/default/Graphics/MusicWheelItem Roulette NormalPart.png b/Themes/default/Graphics/MusicWheelItem Roulette NormalPart.png new file mode 100644 index 0000000000..1bd664f206 Binary files /dev/null and b/Themes/default/Graphics/MusicWheelItem Roulette NormalPart.png differ diff --git a/Themes/default/Graphics/MusicWheelItem SectionCollapsed NormalPart.png b/Themes/default/Graphics/MusicWheelItem SectionCollapsed NormalPart.png new file mode 100644 index 0000000000..ae0e900384 Binary files /dev/null and b/Themes/default/Graphics/MusicWheelItem SectionCollapsed NormalPart.png differ diff --git a/Themes/default/Graphics/MusicWheelItem SectionExpanded NormalPart.png b/Themes/default/Graphics/MusicWheelItem SectionExpanded NormalPart.png new file mode 100644 index 0000000000..3330c371da Binary files /dev/null and b/Themes/default/Graphics/MusicWheelItem SectionExpanded NormalPart.png differ diff --git a/Themes/default/Graphics/MusicWheelItem Song NormalPart.png b/Themes/default/Graphics/MusicWheelItem Song NormalPart.png new file mode 100644 index 0000000000..52f068a075 Binary files /dev/null and b/Themes/default/Graphics/MusicWheelItem Song NormalPart.png differ diff --git a/Themes/default/Other/SongManager PreferredCourses.txt b/Themes/default/Graphics/New Text Document.txt similarity index 100% rename from Themes/default/Other/SongManager PreferredCourses.txt rename to Themes/default/Graphics/New Text Document.txt diff --git a/Themes/default/Graphics/NoteColumn layers.lua b/Themes/default/Graphics/NoteColumn layers.lua new file mode 100644 index 0000000000..7281cf7868 --- /dev/null +++ b/Themes/default/Graphics/NoteColumn layers.lua @@ -0,0 +1,43 @@ +local offset= 52 +local hns_states= { + HoldNoteScore_Held= 0, + HoldNoteScore_LetGo= 1, + HoldNoteScore_MissedHold= 1, +} + +return { + Def.Sprite{ + Texture= THEME:GetPathG("HoldJudgment", "label"), + InitCommand= function(self) + self:draworder(notefield_draw_order.under_field) + :y(offset):animate(false):diffusealpha(0) + end, + WidthSetCommand= function(self, param) + scale_to_fit(self, param.width, param.width) + param.column:set_layer_transform_type(self, "FieldLayerTransformType_PosOnly") + :set_layer_fade_type(self, "FieldLayerFadeType_Explosion") + end, + PlayerStateSetCommand= function(self, param) + if player_config:get_data(param.PlayerNumber).JudgmentUnderField then + self:draworder(notefield_draw_order.under_field) + else + self:draworder(notefield_draw_order.over_field) + end + end, + ColumnJudgmentCommand= function(self, param) + local hns= param.hold_note_score + if hns_states[hns] then + self:stoptweening() + :setstate(hns_states[hns]) + :linear(.1):diffusealpha(1) + :sleep(.5) + :linear(.2):diffusealpha(0) + elseif hns then + lua.ReportScriptError("No sprite state for hns " .. tostring(hns)) + end + end, + ReverseChangedCommand= function(self, param) + self:y(offset * param.sign) + end, + }, +} diff --git a/Themes/default/Graphics/NoteField layers.lua b/Themes/default/Graphics/NoteField layers.lua new file mode 100644 index 0000000000..a3c20960c0 --- /dev/null +++ b/Themes/default/Graphics/NoteField layers.lua @@ -0,0 +1,22 @@ +local filter_color= color("0.135,0.135,0.135,1") + +local layers= { + Def.Quad{ + InitCommand= function(self) + self:hibernate(math.huge):draworder(notefield_draw_order.board) + :diffuse(filter_color) + end, + PlayerStateSetCommand= function(self, param) + local pn= param.PlayerNumber + local alf= player_config:get_data(pn).ScreenFilter + if alf > 0 then + self:SetHeight(4096):diffusealpha(alf):hibernate(0) + end + end, + WidthSetCommand= function(self, param) + self:SetWidth(param.width+8) + end, + } +} + +return layers diff --git a/Themes/default/Graphics/OptionRowExit frame (doubleres).png b/Themes/default/Graphics/OptionRowExit frame (doubleres).png new file mode 100644 index 0000000000..db0d11074e Binary files /dev/null and b/Themes/default/Graphics/OptionRowExit frame (doubleres).png differ diff --git a/Themes/default/Graphics/OptionsCursor Left (doubleres).png b/Themes/default/Graphics/OptionsCursor Left (doubleres).png new file mode 100644 index 0000000000..be853d50e7 Binary files /dev/null and b/Themes/default/Graphics/OptionsCursor Left (doubleres).png differ diff --git a/Themes/default/Graphics/OptionsCursor Middle (doubleres).png b/Themes/default/Graphics/OptionsCursor Middle (doubleres).png new file mode 100644 index 0000000000..c734bec637 Binary files /dev/null and b/Themes/default/Graphics/OptionsCursor Middle (doubleres).png differ diff --git a/Themes/default/Graphics/OptionsCursor Right (doubleres).png b/Themes/default/Graphics/OptionsCursor Right (doubleres).png new file mode 100644 index 0000000000..2dcb9933e5 Binary files /dev/null and b/Themes/default/Graphics/OptionsCursor Right (doubleres).png differ diff --git a/Themes/default/Graphics/OptionsCursorP1 Left.redir b/Themes/default/Graphics/OptionsCursorP1 Left.redir new file mode 100644 index 0000000000..bc992678ae --- /dev/null +++ b/Themes/default/Graphics/OptionsCursorP1 Left.redir @@ -0,0 +1 @@ +OptionsCursor Left diff --git a/Themes/default/Graphics/OptionsCursorP1 Middle.redir b/Themes/default/Graphics/OptionsCursorP1 Middle.redir new file mode 100644 index 0000000000..b13bef167c --- /dev/null +++ b/Themes/default/Graphics/OptionsCursorP1 Middle.redir @@ -0,0 +1 @@ +OptionsCursor Middle diff --git a/Themes/default/Graphics/OptionsCursorP1 Right.redir b/Themes/default/Graphics/OptionsCursorP1 Right.redir new file mode 100644 index 0000000000..f664b6361d --- /dev/null +++ b/Themes/default/Graphics/OptionsCursorP1 Right.redir @@ -0,0 +1 @@ +OptionsCursor Right diff --git a/Themes/default/Graphics/OptionsCursorP2 Left.redir b/Themes/default/Graphics/OptionsCursorP2 Left.redir index 27d4d5b181..bc992678ae 100644 --- a/Themes/default/Graphics/OptionsCursorP2 Left.redir +++ b/Themes/default/Graphics/OptionsCursorP2 Left.redir @@ -1 +1 @@ -OptionsCursorP1 Left \ No newline at end of file +OptionsCursor Left diff --git a/Themes/default/Graphics/OptionsCursorP2 Middle.redir b/Themes/default/Graphics/OptionsCursorP2 Middle.redir index 1cbbddffd7..b13bef167c 100644 --- a/Themes/default/Graphics/OptionsCursorP2 Middle.redir +++ b/Themes/default/Graphics/OptionsCursorP2 Middle.redir @@ -1 +1 @@ -OptionsCursorP1 Middle \ No newline at end of file +OptionsCursor Middle diff --git a/Themes/default/Graphics/OptionsCursorP2 Right.redir b/Themes/default/Graphics/OptionsCursorP2 Right.redir index 7b3efd01e7..f664b6361d 100644 --- a/Themes/default/Graphics/OptionsCursorP2 Right.redir +++ b/Themes/default/Graphics/OptionsCursorP2 Right.redir @@ -1 +1 @@ -OptionsCursorP1 Right \ No newline at end of file +OptionsCursor Right diff --git a/Themes/default/Graphics/OptionsUnderline Left (doubleres).png b/Themes/default/Graphics/OptionsUnderline Left (doubleres).png new file mode 100644 index 0000000000..cc8440b82f Binary files /dev/null and b/Themes/default/Graphics/OptionsUnderline Left (doubleres).png differ diff --git a/Themes/default/Graphics/OptionsUnderline Middle (doubleres).png b/Themes/default/Graphics/OptionsUnderline Middle (doubleres).png new file mode 100644 index 0000000000..a17feafcd7 Binary files /dev/null and b/Themes/default/Graphics/OptionsUnderline Middle (doubleres).png differ diff --git a/Themes/default/Graphics/OptionsUnderline Right (doubleres).png b/Themes/default/Graphics/OptionsUnderline Right (doubleres).png new file mode 100644 index 0000000000..b7e566cfaf Binary files /dev/null and b/Themes/default/Graphics/OptionsUnderline Right (doubleres).png differ diff --git a/Themes/default/Graphics/OptionsUnderlineP1 Left (doubleres).png b/Themes/default/Graphics/OptionsUnderlineP1 Left (doubleres).png index 514db2e8ca..cc8440b82f 100644 Binary files a/Themes/default/Graphics/OptionsUnderlineP1 Left (doubleres).png and b/Themes/default/Graphics/OptionsUnderlineP1 Left (doubleres).png differ diff --git a/Themes/default/Graphics/OptionsUnderlineP1 Middle (doubleres).png b/Themes/default/Graphics/OptionsUnderlineP1 Middle (doubleres).png index 70ac652bd2..a17feafcd7 100644 Binary files a/Themes/default/Graphics/OptionsUnderlineP1 Middle (doubleres).png and b/Themes/default/Graphics/OptionsUnderlineP1 Middle (doubleres).png differ diff --git a/Themes/default/Graphics/OptionsUnderlineP1 Right (doubleres).png b/Themes/default/Graphics/OptionsUnderlineP1 Right (doubleres).png index 07cace80d0..b7e566cfaf 100644 Binary files a/Themes/default/Graphics/OptionsUnderlineP1 Right (doubleres).png and b/Themes/default/Graphics/OptionsUnderlineP1 Right (doubleres).png differ diff --git a/Themes/default/Graphics/PaneDisplay text.lua b/Themes/default/Graphics/PaneDisplay text.lua index 1090ca80bc..63ed8e8f81 100644 --- a/Themes/default/Graphics/PaneDisplay text.lua +++ b/Themes/default/Graphics/PaneDisplay text.lua @@ -20,15 +20,15 @@ end; local function CreatePaneDisplayItem( _pnPlayer, _sLabel, _rcRadarCategory ) return Def.ActorFrame { - LoadFont("Common SemiBold") .. { + LoadFont("Common Italic Condensed") .. { Text=string.upper( THEME:GetString("PaneDisplay",_sLabel) ); InitCommand=cmd(horizalign,left); - OnCommand=cmd(zoom,0.5875;diffuse,color("0.9,0.9,0.9");shadowlength,1); + OnCommand=cmd(zoom,0.8;diffuse,color("0.9,0.9,0.9");shadowlength,1); }; - LoadFont("Common Normal") .. { + LoadFont("Common Condensed") .. { Text=string.format("%04i", 0); - InitCommand=cmd(x,96;horizalign,right); - OnCommand=cmd(zoom,0.5875;shadowlength,1); + InitCommand=cmd(x,122;horizalign,right); + OnCommand=cmd(zoom,0.8;shadowlength,1); CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set"); @@ -111,26 +111,26 @@ t[#t+1] = Def.ActorFrame { InitCommand=cmd(x,-128+16+8;y,-14); }; CreatePaneDisplayItem( iPN, "Jumps", 'RadarCategory_Jumps' ) .. { - InitCommand=cmd(x,-128+16+8;y,-14+16); + InitCommand=cmd(x,-128+16+8;y,-14+24); }; CreatePaneDisplayItem( iPN, "Holds", 'RadarCategory_Holds' ) .. { - InitCommand=cmd(x,-128+16+8;y,-14+16*2); + InitCommand=cmd(x,-128+16+8;y,-14+24*2); }; CreatePaneDisplayItem( iPN, "Mines", 'RadarCategory_Mines' ) .. { - InitCommand=cmd(x,-128+16+8;y,-14+16*3); + InitCommand=cmd(x,-128+16+8;y,-14+24*3); }; -- Center CreatePaneDisplayItem( iPN, "Hands", 'RadarCategory_Hands' ) .. { - InitCommand=cmd(x,8;y,-14); + InitCommand=cmd(x,36;y,-14); }; CreatePaneDisplayItem( iPN, "Rolls", 'RadarCategory_Rolls' ) .. { - InitCommand=cmd(x,8;y,-14+16); + InitCommand=cmd(x,36;y,-14+24); }; CreatePaneDisplayItem( iPN, "Lifts", 'RadarCategory_Lifts' ) .. { - InitCommand=cmd(x,8;y,-14+16*2); + InitCommand=cmd(x,36;y,-14+24*2); }; CreatePaneDisplayItem( iPN, "Fakes", 'RadarCategory_Fakes' ) .. { - InitCommand=cmd(x,8;y,-14+16*3); + InitCommand=cmd(x,36;y,-14+24*3); }; }; return t; \ No newline at end of file diff --git a/Themes/default/Graphics/Player combo/_combo.png b/Themes/default/Graphics/Player combo/_combo.png index 0cfe4098b2..6b95e310b1 100644 Binary files a/Themes/default/Graphics/Player combo/_combo.png and b/Themes/default/Graphics/Player combo/_combo.png differ diff --git a/Themes/default/Graphics/Player combo/_misses.png b/Themes/default/Graphics/Player combo/_misses.png index 32fe625735..b5a3334696 100644 Binary files a/Themes/default/Graphics/Player combo/_misses.png and b/Themes/default/Graphics/Player combo/_misses.png differ diff --git a/Themes/default/Graphics/Player combo/default.lua b/Themes/default/Graphics/Player combo/default.lua index 88fca73c52..f872b3df4b 100644 --- a/Themes/default/Graphics/Player combo/default.lua +++ b/Themes/default/Graphics/Player combo/default.lua @@ -1,6 +1,4 @@ local c; -local cf; -local canAnimate = false; local player = Var "Player"; local ShowComboAt = THEME:GetMetric("Combo", "ShowComboAt"); local Pulse = THEME:GetMetric("Combo", "PulseCommand"); @@ -13,43 +11,31 @@ local NumberMaxZoomAt = THEME:GetMetric("Combo", "NumberMaxZoomAt"); local LabelMinZoom = THEME:GetMetric("Combo", "LabelMinZoom"); local LabelMaxZoom = THEME:GetMetric("Combo", "LabelMaxZoom"); -local ShowFlashyCombo = ThemePrefs.Get("FlashyCombo") - local t = Def.ActorFrame { - InitCommand=cmd(vertalign,bottom); - -- flashy combo elements: LoadActor(THEME:GetPathG("Combo","100Milestone")) .. { Name="OneHundredMilestone"; - InitCommand=cmd(visible,ShowFlashyCombo); FiftyMilestoneCommand=cmd(playcommand,"Milestone"); }; LoadActor(THEME:GetPathG("Combo","1000Milestone")) .. { Name="OneThousandMilestone"; - InitCommand=cmd(visible,ShowFlashyCombo); ToastyAchievedMessageCommand=cmd(playcommand,"Milestone"); }; - -- normal combo elements: - Def.ActorFrame { - Name="ComboFrame"; - LoadFont( "Combo", "numbers" ) .. { - Name="Number"; - OnCommand = THEME:GetMetric("Combo", "NumberOnCommand"); - }; - LoadActor("_combo")..{ - Name="ComboLabel"; - OnCommand = THEME:GetMetric("Combo", "ComboLabelOnCommand"); - }; - LoadActor("_misses")..{ - Name="MissLabel"; - OnCommand = THEME:GetMetric("Combo", "MissLabelOnCommand"); - }; + InitCommand=cmd(vertalign,bottom); + LoadFont( "Combo", "numbers" ) .. { + Name="Number"; + OnCommand = THEME:GetMetric("Combo", "NumberOnCommand"); }; + LoadFont("_roboto condensed Bold italic 24px") .. { + Name="Label"; + OnCommand = THEME:GetMetric("Combo", "LabelOnCommand"); + }; + InitCommand = function(self) + -- We'll have to deal with this later + --self:draworder(notefield_draw_order.over_field) c = self:GetChildren(); - cf = c.ComboFrame:GetChildren(); - cf.Number:visible(false); - cf.ComboLabel:visible(false) - cf.MissLabel:visible(false) + c.Number:visible(false); + c.Label:visible(false); end; -- Milestones: -- 25,50,100,250,600 Multiples; @@ -62,34 +48,32 @@ local t = Def.ActorFrame { else return end; --]] - TwentyFiveMilestoneCommand=function(self,parent) - if ShowFlashyCombo then - (cmd(finishtweening;addy,-4;bounceend,0.125;addy,4))(self); - end; + TwentyFiveMilestoneCommand=function(self,parent) + (cmd(skewy,-0.125;decelerate,0.325;skewy,0))(self); end; - --]] - --[[ ToastyAchievedMessageCommand=function(self,params) if params.PlayerNumber == player then - (cmd(thump,2;effectclock,'beat'))(c.ComboFrame); + (cmd(thump,2;effectclock,'beat'))(self); end; end; - ToastyDroppedMessageCommand=function(self,params) - if params.PlayerNumber == player then - (cmd(stopeffect))(c.ComboFrame); - end; - end; --]] ComboCommand=function(self, param) local iCombo = param.Misses or param.Combo; if not iCombo or iCombo < ShowComboAt then - cf.Number:visible(false); - cf.ComboLabel:visible(false) - cf.MissLabel:visible(false) + c.Number:visible(false); + c.Label:visible(false); return; end - cf.ComboLabel:visible(false) - cf.MissLabel:visible(false) + local labeltext = ""; + if param.Combo then + labeltext = "COMBO"; +-- c.Number:playcommand("Reset"); + else + labeltext = "MISSES"; +-- c.Number:playcommand("Miss"); + end + c.Label:settext( labeltext ); + c.Label:visible(false); param.Zoom = scale( iCombo, 0, NumberMaxZoomAt, NumberMinZoom, NumberMaxZoom ); param.Zoom = clamp( param.Zoom, NumberMinZoom, NumberMaxZoom ); @@ -97,51 +81,32 @@ local t = Def.ActorFrame { param.LabelZoom = scale( iCombo, 0, NumberMaxZoomAt, LabelMinZoom, LabelMaxZoom ); param.LabelZoom = clamp( param.LabelZoom, LabelMinZoom, LabelMaxZoom ); - if param.Combo then - cf.ComboLabel:visible(true) - cf.MissLabel:visible(false) - else - cf.ComboLabel:visible(false) - cf.MissLabel:visible(true) - end - - cf.Number:visible(true); - cf.Number:settext( string.format("%i", iCombo) ); - cf.Number:textglowmode("TextGlowMode_Stroke"); + c.Number:visible(true); + c.Label:visible(true); + c.Number:settext( string.format("%i", iCombo) ); -- FullCombo Rewards if param.FullComboW1 then - cf.Number:diffuse( GameColor.Judgment["JudgmentLine_W1"] ); - cf.Number:strokecolor( GameColor.Judgment["JudgmentLine_W1"] ); - cf.Number:textglowmode("TextGlowMode_Stroke"); - cf.Number:glowshift(); + c.Number:diffuse(color("#00aeef")); + c.Number:glowshift(); elseif param.FullComboW2 then - cf.Number:diffuse( GameColor.Judgment["JudgmentLine_W2"] ); - cf.Number:strokecolor( GameColor.Judgment["JudgmentLine_W2"] ); - cf.Number:textglowmode("TextGlowMode_Stroke"); - cf.Number:glowshift(); + c.Number:diffuse(color("#F3D58D")); + c.Number:glowshift(); elseif param.FullComboW3 then - cf.Number:diffuse( GameColor.Judgment["JudgmentLine_W3"] ); - cf.Number:strokecolor( GameColor.Judgment["JudgmentLine_W3"] ); - cf.Number:textglowmode("TextGlowMode_Stroke"); - cf.Number:glowshift(); + c.Number:diffuse(color("#94D658")); + c.Number:stopeffect(); elseif param.Combo then - -- Player 1's color is Red, which conflicts with the miss combo. - -- instead, just diffuse to white for now. -aj - --c.Number:diffuse(PlayerColor(player)); - cf.Number:diffuse(Color("White")); - cf.Number:strokecolor(Color("Stealth")); - cf.Number:stopeffect(); + c.Number:diffuse(color("#FBE9DD")); +-- c.Number:diffuse(PlayerColor(player)); + c.Number:stopeffect(); + (cmd(diffuse,color("#F5CB92");diffusebottomedge,color("#EFA97A");strokecolor,color("#965A47");))(c.Label); else - cf.Number:diffuse(color("#ff0000")); - cf.Number:stopeffect(); + c.Number:diffuse(color("#FBE9DD")); + c.Number:stopeffect(); + (cmd(diffuse,color("#F5CB92");diffusebottomedge,color("#EFA97A");strokecolor,color("#965A47");))(c.Label); end -- Pulse - Pulse( cf.Number, param ); - if param.Combo then - PulseLabel( cf.ComboLabel, param ); - else - PulseLabel( cf.MissLabel, param ); - end + Pulse( c.Number, param ); + PulseLabel( c.Label, param ); -- Milestone Logic end; --[[ ScoreChangedMessageCommand=function(self,param) diff --git a/Themes/default/Graphics/Player judgment/default.lua b/Themes/default/Graphics/Player judgment/default.lua index 7e691b53ad..850ba77aa2 100644 --- a/Themes/default/Graphics/Player judgment/default.lua +++ b/Themes/default/Graphics/Player judgment/default.lua @@ -1,21 +1,5 @@ local c; local player = Var "Player"; -local function ShowProtiming() - if GAMESTATE:IsDemonstration() then - return false - else - return GetUserPrefB("UserPrefProtiming" .. ToEnumShortString(player)); - end -end; -local bShowProtiming = ShowProtiming(); -local ProtimingWidth = 240; -local function MakeAverage( t ) - local sum = 0; - for i=1,#t do - sum = sum + t[i]; - end - return sum / #t -end local tTotalJudgments = {}; @@ -28,21 +12,6 @@ local JudgeCmds = { 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 TextCmds = { - Pulse = THEME:GetMetric( "Protiming", "TextPulseCommand" ); -}; local TNSFrames = { TapNoteScore_W1 = 0; @@ -52,87 +21,22 @@ local TNSFrames = { TapNoteScore_W5 = 4; TapNoteScore_Miss = 5; }; -local t = Def.ActorFrame {}; -t[#t+1] = Def.ActorFrame { +local frame = Def.ActorFrame { + InitCommand = function(self) + -- We'll have to deal with this later + --if player_config:get_data(player).JudgmentUnderField then + -- self:draworder(notefield_draw_order.under_field) + --else + -- self:draworder(notefield_draw_order.over_field) + --end + c = self:GetChildren(); + end, 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); - }; - LoadFont("Common Normal") .. { - Name="TextDisplay"; - Text=THEME:GetString("Protiming","MS"); - InitCommand=cmd(visible,false); - OnCommand=THEME:GetMetric("Protiming","TextOnCommand"); - ResetCommand=cmd(finishtweening;stopeffect;visible,false); - }; - Def.Quad { - Name="ProtimingGraphBG"; - InitCommand=cmd(visible,false;y,32;zoomto,ProtimingWidth,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,ProtimingWidth-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,ProtimingWidth-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,ProtimingWidth-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,ProtimingWidth-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) -- Fix Player Combo animating when player successfully avoids a mine. local msgParam = param; @@ -180,54 +84,8 @@ t[#t+1] = Def.ActorFrame { c.Judgment:setstate( iFrame ); JudgeCmds[param.TapNoteScore](c.Judgment); - c.ProtimingDisplay:visible( bShowProtiming ); - c.ProtimingDisplay:settextf("%i",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.TextDisplay:visible( bShowProtiming ); - TextCmds['Pulse'](c.TextDisplay); - - 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,(ProtimingWidth-4)/2), - -(ProtimingWidth-4)/2,(ProtimingWidth-4)/2) - ); - c.ProtimingGraphAverage:visible( bShowProtiming ); - c.ProtimingGraphAverage:zoomtowidth( clamp( - scale( - MakeAverage( tTotalJudgments ), - 0,PREFSMAN:GetPreference("TimingWindowSecondsW3"), - 0,ProtimingWidth-4), - 0,ProtimingWidth-4) - ); --- 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; +return frame \ No newline at end of file diff --git a/Themes/default/Graphics/RoomWheelItem NormalPart.png b/Themes/default/Graphics/RoomWheelItem NormalPart.png new file mode 100644 index 0000000000..40312b8348 Binary files /dev/null and b/Themes/default/Graphics/RoomWheelItem NormalPart.png differ diff --git a/Themes/default/Graphics/ScoreDisplayNormal frame.png b/Themes/default/Graphics/ScoreDisplayNormal frame.png new file mode 100644 index 0000000000..c707ddef19 Binary files /dev/null and b/Themes/default/Graphics/ScoreDisplayNormal frame.png differ diff --git a/Themes/default/Graphics/ScoreDisplayOni frame.redir b/Themes/default/Graphics/ScoreDisplayOni frame.redir new file mode 100644 index 0000000000..cfccd99073 --- /dev/null +++ b/Themes/default/Graphics/ScoreDisplayOni frame.redir @@ -0,0 +1 @@ +ScoreDisplayNormal frame \ No newline at end of file diff --git a/Themes/default/Graphics/ScoreDisplayRave stream level1.png b/Themes/default/Graphics/ScoreDisplayRave stream level1.png index 1aaf7a8957..c6d04caac2 100644 Binary files a/Themes/default/Graphics/ScoreDisplayRave stream level1.png and b/Themes/default/Graphics/ScoreDisplayRave stream level1.png differ diff --git a/Themes/default/Graphics/ScoreDisplayRave stream level2.png b/Themes/default/Graphics/ScoreDisplayRave stream level2.png index cb8bfaaac7..f8d62b8c0f 100644 Binary files a/Themes/default/Graphics/ScoreDisplayRave stream level2.png and b/Themes/default/Graphics/ScoreDisplayRave stream level2.png differ diff --git a/Themes/default/Graphics/ScoreDisplayRave stream level3.png b/Themes/default/Graphics/ScoreDisplayRave stream level3.png index af6b5f8e3a..8d5ea2a0ec 100644 Binary files a/Themes/default/Graphics/ScoreDisplayRave stream level3.png and b/Themes/default/Graphics/ScoreDisplayRave stream level3.png differ diff --git a/Themes/default/Graphics/ScreenEvaluation LifeDifficulty.lua b/Themes/default/Graphics/ScreenEvaluation LifeDifficulty.lua index 2c237016da..852d58c3f0 100644 --- a/Themes/default/Graphics/ScreenEvaluation LifeDifficulty.lua +++ b/Themes/default/Graphics/ScreenEvaluation LifeDifficulty.lua @@ -1,7 +1,9 @@ -return LoadFont("Common Normal") .. { +return LoadFont("_roboto condensed 24px") .. { Text=GetLifeDifficulty(); AltText=""; BeginCommand=function(self) self:settextf( Screen.String("LifeDifficulty"), GetLifeDifficulty() ); + self:diffuse(color("#512232")):zoom(0.8); + self:diffusealpha(0):sleep(0.5):smooth(0.3):diffusealpha(1); end -}; \ No newline at end of file +}; diff --git a/Themes/default/Graphics/ScreenEvaluation StageDisplay.lua b/Themes/default/Graphics/ScreenEvaluation StageDisplay.lua new file mode 100644 index 0000000000..fc837b8225 --- /dev/null +++ b/Themes/default/Graphics/ScreenEvaluation StageDisplay.lua @@ -0,0 +1,40 @@ +local curScreen = Var "LoadingScreen"; +local curStageIndex = GAMESTATE:GetCurrentStageIndex(); +local t = Def.ActorFrame {}; + +t[#t+1] = Def.ActorFrame { + LoadFont("Common Italic Condensed") .. { + InitCommand=cmd(y,-1;zoom,1;shadowlength,1); + BeginCommand=function(self) + local top = SCREENMAN:GetTopScreen() + if top then + if not string.find(top:GetName(),"ScreenEvaluation") then + curStageIndex = curStageIndex + 1 + end + end + self:playcommand("Set") + end; + CurrentSongChangedMessageCommand= cmd(playcommand,"Set"), + SetCommand=function(self) + local curStage = GAMESTATE:GetCurrentStage(); + if GAMESTATE:GetCurrentCourse() then + self:settext( curStageIndex+1 .. " / " .. GAMESTATE:GetCurrentCourse():GetEstimatedNumStages() ); + elseif GAMESTATE:IsEventMode() then + self:settextf("Stage %s", curStageIndex); + else + local thed_stage= thified_curstage_index(curScreen:find("Evaluation")) + if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then + self:settext(thed_stage) + self:zoom(0.75); + else + self:settextf("%s Stage", thed_stage); + self:zoom(1); + end; + end; + -- StepMania is being stupid so we have to do this here; + self:diffuse(StageToColor(curStage)):diffusebottomedge(ColorMidTone(StageToColor(curStage))); + self:diffusealpha(0):smooth(0.3):diffusealpha(1); + end; + }; +}; +return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenEvaluation TimingDifficulty.lua b/Themes/default/Graphics/ScreenEvaluation TimingDifficulty.lua index f029edacb5..148aa06548 100644 --- a/Themes/default/Graphics/ScreenEvaluation TimingDifficulty.lua +++ b/Themes/default/Graphics/ScreenEvaluation TimingDifficulty.lua @@ -1,7 +1,9 @@ -return LoadFont("Common Normal") .. { +return LoadFont("_roboto condensed 24px") .. { Text=GetLifeDifficulty(); AltText=""; BeginCommand=function(self) self:settextf( Screen.String("TimingDifficulty"), GetTimingDifficulty() ); - end -}; \ No newline at end of file + self:diffuse(color("#512232")):zoom(0.8); + self:diffusealpha(0):sleep(0.5):smooth(0.3):diffusealpha(1); + end; +}; diff --git a/Themes/default/Graphics/ScreenGameOver gameover.png b/Themes/default/Graphics/ScreenGameOver gameover.png index 0077fea369..c37cb963b8 100644 Binary files a/Themes/default/Graphics/ScreenGameOver gameover.png and b/Themes/default/Graphics/ScreenGameOver gameover.png differ diff --git a/Themes/default/Graphics/ScreenGameplay StageDisplay.lua b/Themes/default/Graphics/ScreenGameplay StageDisplay.lua index 97b9fc77fa..0232211010 100644 --- a/Themes/default/Graphics/ScreenGameplay StageDisplay.lua +++ b/Themes/default/Graphics/ScreenGameplay StageDisplay.lua @@ -3,9 +3,21 @@ local curStageIndex = GAMESTATE:GetCurrentStageIndex() + 1; local playMode = GAMESTATE:GetPlayMode(); local t = Def.ActorFrame { - LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",64,16); - LoadFont("Common Normal") .. { - InitCommand=cmd(y,-1;shadowlength,1;playcommand,"Set"); + LoadActor("_stageFrame.png") .. { + OnCommand=cmd(playcommand,"Set"); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTraiP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTraiP2ChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local curStage = GAMESTATE:GetCurrentStage(); + self:diffuse(ColorMidTone(StageToColor(curStage))) + end + }; + LoadFont("Common Italic Condensed") .. { + InitCommand=cmd(y,-1;uppercase,true;playcommand,"Set"); CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); @@ -34,9 +46,8 @@ local t = Def.ActorFrame { end end end; - self:zoom(0.675); - self:diffuse(StageToColor(curStage)); - self:diffusetopedge(ColorLightTone(StageToColor(curStage))); + self:zoom(1); + self:diffuse(StageToColor(curStage)):diffusetopedge(ColorLightTone(StageToColor(curStage))); end; }; }; diff --git a/Themes/default/Graphics/ScreenGameplay lifebar_Time.redir b/Themes/default/Graphics/ScreenGameplay lifebar_Time.redir new file mode 100644 index 0000000000..64e040d9e3 --- /dev/null +++ b/Themes/default/Graphics/ScreenGameplay lifebar_Time.redir @@ -0,0 +1 @@ +ScreenGameplay lifebar_bar \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenGameplay lifebar_bar.lua b/Themes/default/Graphics/ScreenGameplay lifebar_bar.lua new file mode 100644 index 0000000000..b797751bb8 --- /dev/null +++ b/Themes/default/Graphics/ScreenGameplay lifebar_bar.lua @@ -0,0 +1,118 @@ +local pn = ... + +local life_meter_width = 400 +local life_meter_num_segments = 46 +local life_meter_height = 20 +local life_meter_tip_width = 2 +local life_meter_tip_gap = 64 +local life_meter_outline = 0 + +local color_normal = Color.Green +local color_hot = Color.Blue +local color_danger = Color.Red +local color_dead = Color.Outline + +local pn_offset = (pn == PLAYER_1) and 0.5 or -0.5 +local name_offset_x = -life_meter_width/2 + +local function getPlayersName(pn) + local s = PROFILEMAN:GetPlayerName(pn) + if s == "" then + return PlayerNumberToString(pn) + end + return s +end + +local function MakeSeperators() + local function x_pos(i) + return (-life_meter_width/2) + (i/life_meter_num_segments)* life_meter_width + end + local a = Def.Quad { + InitCommand=cmd(zoomto,2,life_meter_height), + OnCommand=cmd(diffuse,Color.Black;diffusealpha,0.15) + } + local t = Def.ActorFrame {} + for i=1, life_meter_num_segments do + t[#t+1] = Def.ActorFrame { InitCommand=cmd(x,x_pos(i)); a } + end + return t +end + +local t = Def.ActorFrame {} + +local function updateFunc(self) + local c = self:GetChildren(); + local beat = self:GetSecsIntoEffect() % 1 + local _beat = self.life == 1.00 and 0 or beat + local _fillWidth = (life_meter_width * self.life - _beat * life_meter_tip_gap) / life_meter_width + local _clampedWidth = math.round(_fillWidth * life_meter_num_segments) + local _tipPosition = (life_meter_width * self.life ) / life_meter_width + local _tipClamped = math.round( _tipPosition * life_meter_num_segments ) + c.Fill:zoomtowidth( math.max(0,(_clampedWidth/life_meter_num_segments) * life_meter_width) ) + --c.Fill:zoomtowidth( (life_meter_width * self.life) - beat * life_meter_tip_gap) + c.Tip:x( clamp(-life_meter_tip_width/2 + scale((_tipClamped/life_meter_num_segments) * life_meter_width,0,life_meter_width, -life_meter_width/2, life_meter_width/2),0, life_meter_width) ) +end + +t[#t+1] = Def.ActorFrame { + InitCommand=function(self) + self:SetUpdateFunction(updateFunc) + self.life = 0 + end, + OnCommand=cmd(spin;effectclock,'beat';effectperiod,1;effectmagnitude,0,0,0), + HealthStateChangedMessageCommand=function(self,param) + local c = self:GetChildren() + + if param.PlayerNumber == pn then + if param.HealthState ~= param.OldHealthState then + local state_name = ToEnumShortString(param.HealthState) + self:playcommand(state_name) + end + end + end, + LifeChangedMessageCommand=function(self,param) + local c = self:GetChildren() + if param.Player == pn then + self.life = param.LifeMeter:GetLife() + c.Fill:zoomtowidth( (life_meter_width) * self.life ) + end + end, + -- Outline + Def.Quad { + Name="Outline", + InitCommand=cmd(zoomto,life_meter_width+life_meter_outline,life_meter_height+life_meter_outline), + OnCommand=cmd() + }, + -- Background + Def.Quad { + Name="Background", + InitCommand=cmd(zoomto,life_meter_width,life_meter_height), + OnCommand=cmd(diffuse,color("#32373E");), + AliveCommand=cmd(stopeffect;diffuse,color("#32373E");), + DangerCommand=cmd(diffuseshift;effectcolor2,ColorMidTone(Color.Red);effectcolor1,ColorDarkTone(Color.Red)), + DeadCommand=cmd(stopeffect;diffuse,color("#000000");), + }, + Def.Quad { + Name="Fill", + InitCommand=cmd(x,-life_meter_width/2;zoomto,life_meter_width,life_meter_height;horizalign,left), + OnCommand=cmd(diffuse,PlayerColor(pn);), + -- + HotCommand=cmd(diffuse,color("#FFB45E");glowshift;effectclock,'beat'), + AliveCommand=cmd(diffuse,PlayerColor(pn);stopeffect), + DangerCommand=cmd(diffuse,Color.Red;diffuseshift;effectclock,'beat';effectcolor1,Color.Red;effectcolor2,color("#FF797C");), + DeadCommand=cmd(diffuse,Color.Red;stopeffect) + }, + MakeSeperators(), + Def.Quad { + Name="Tip", + InitCommand=cmd(basezoomx,life_meter_tip_width;basezoomy,life_meter_height), + -- + OnCommand=cmd(diffuse,ColorLightTone(PlayerColor(pn));), + -- + HotCommand=cmd(diffuse,color("#FFED31");glowshift;effectclock,'beat'), + AliveCommand=cmd(diffuse,ColorLightTone(PlayerColor(pn));stopeffect), + DangerCommand=cmd(diffuse,Color.Red;diffuseshift;effectclock,'beat';effectcolor1,color("#000000");effectcolor2,Color.Red;), + DeadCommand=cmd(diffuse,Color.Red;stopeffect) + } +} + +return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenGameplay lifebar_battery.lua b/Themes/default/Graphics/ScreenGameplay lifebar_battery.lua new file mode 100644 index 0000000000..a17d75f989 --- /dev/null +++ b/Themes/default/Graphics/ScreenGameplay lifebar_battery.lua @@ -0,0 +1,86 @@ +local pn = ... +local life_meter_width = 400 +local life_meter_height = 20 +local life_meter_outline = 0 + +local function CreateSeperators() + local t = Def.ActorFrame {} + + for i = 1, 50 do + t[#t+1] = Def.ActorFrame { + SetCommand=function(self) + local life_meter = SCREENMAN:GetTopScreen():GetLifeMeter(pn) + local num_items = life_meter:GetTotalLives() + + local function position(index) + return scale(index/num_items,0,1,-life_meter_width/2,life_meter_width/2) + end + + self:x(position(i)) + self:visible(i < num_items) + end, + OnCommand=cmd(playcommand,"Set"), + -- + Def.Quad { + InitCommand=cmd(zoomto,2,life_meter_height), + OnCommand=cmd(diffuse,Color.Black) + } + } + end + + return t +end + +local t = Def.ActorFrame {} + +t[#t+1] = Def.ActorFrame { + HealthStateChangedMessageCommand=function(self,param) + local c = self:GetChildren() + + if param.PlayerNumber == pn then + if param.HealthState ~= param.OldHealthState then + local state_name = ToEnumShortString(param.HealthState) + self:playcommand(state_name) + end + end + end, + LifeChangedMessageCommand=function(self,param) + local c = self:GetChildren() + if param.Player == pn then + local life = param.LifeMeter:GetLife() + c.Fill:zoomtowidth( life_meter_width * life ) + end + end, + -- Outline + Def.Quad { + Name="Outline", + InitCommand=cmd(zoomto,life_meter_width+life_meter_outline,life_meter_height+life_meter_outline), + OnCommand=cmd() + }, + -- Background + Def.Quad { + Name="Background", + InitCommand=cmd(zoomto,life_meter_width,life_meter_height), + OnCommand=cmd(diffuse,color("#32373E");), + AliveCommand=cmd(stopeffect;diffuse,color("#32373E");), + DangerCommand=cmd(diffuseshift;effectcolor2,ColorMidTone(Color.Red);effectcolor1,ColorDarkTone(Color.Red)), + DeadCommand=cmd(stopeffect;diffuse,color("#000000");), + }, + Def.Quad { + Name="Fill", + InitCommand=cmd(x,-life_meter_width/2;zoomto,life_meter_width,life_meter_height;horizalign,left), + OnCommand=cmd(diffuse,PlayerColor(pn)), + -- + HotCommand=cmd(glowshift;effectclock,'beat'), + AliveCommand=cmd(stopeffect), + DangerCommand=cmd(diffuseshift;effectclock,'beat';effectcolor1,PlayerColor(pn);effectcolor2,PlayerDarkColor(pn)), + DeadCommand=cmd(stopeffect) + }, + LoadFont("Common Normal") .. { + Text="", + OnCommand=cmd(diffuse,Color.Black) + }, + CreateSeperators() +} + +return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenHighScores ScrollerItem/default.lua b/Themes/default/Graphics/ScreenHighScores ScrollerItem/default.lua index 0989d828f4..e76f4d9fed 100644 --- a/Themes/default/Graphics/ScreenHighScores ScrollerItem/default.lua +++ b/Themes/default/Graphics/ScreenHighScores ScrollerItem/default.lua @@ -4,12 +4,12 @@ local t = Def.ActorFrame { }; t[#t+1] = LoadActor("frame") .. { - InitCommand=cmd(diffusealpha,0.25); + InitCommand=cmd(diffusealpha,0.8); }; t[#t+1] = Def.TextBanner { - InitCommand=cmd(x,-292;Load,"TextBannerHighScores"); + InitCommand=cmd(x,-230;Load,"TextBannerHighScores"); SetCommand=function(self, params) if params.Song then self:SetFromSong( params.Song ); @@ -32,7 +32,7 @@ local Scores = Def.ActorFrame { t[#t+1] = Scores; for idx=1,NumColumns do - local x_pos = -60 + 80 * (idx-1); + local x_pos = 35 + 83 * (idx-1); Scores[#Scores+1] = LoadFont(Var "LoadingScreen","Name") .. { Name = idx .. "Name"; InitCommand=cmd(x,x_pos;y,8;shadowlength,1;maxwidth,68); @@ -43,10 +43,6 @@ for idx=1,NumColumns do InitCommand=cmd(x,x_pos;y,-9;shadowlength,1;maxwidth,68); OnCommand=cmd(zoom,0.75); }; - Scores[#Scores+1] = LoadActor("filled") .. { - Name = idx .. "Filled"; - InitCommand=cmd(x,x_pos;); - }; Scores[#Scores+1] = LoadActor("empty") .. { Name = idx .. "Empty"; InitCommand=cmd(x,x_pos;); @@ -76,12 +72,10 @@ Scores.SetCommand=function(self, params) local name = c[idx .. "Name"]; local score = c[idx .. "Score"]; - local filled = c[idx .. "Filled"]; local empty = c[idx .. "Empty"]; name:visible( true ); score:visible( true ); - filled:visible( true ); empty:visible( false ); if hs and #hs > 0 then diff --git a/Themes/default/Graphics/ScreenHighScores ScrollerItem/empty.png b/Themes/default/Graphics/ScreenHighScores ScrollerItem/empty.png new file mode 100644 index 0000000000..e7798ed695 Binary files /dev/null and b/Themes/default/Graphics/ScreenHighScores ScrollerItem/empty.png differ diff --git a/Themes/default/Graphics/ScreenHighScores ScrollerItem/frame.png b/Themes/default/Graphics/ScreenHighScores ScrollerItem/frame.png new file mode 100644 index 0000000000..0a9b24bd56 Binary files /dev/null and b/Themes/default/Graphics/ScreenHighScores ScrollerItem/frame.png differ diff --git a/Themes/default/Graphics/ScreenMiniMenu page.png b/Themes/default/Graphics/ScreenMiniMenu page.png new file mode 100644 index 0000000000..b23f3c7df6 Binary files /dev/null and b/Themes/default/Graphics/ScreenMiniMenu page.png differ diff --git a/Themes/default/Graphics/ScreenNetSelectMusic PaneDisplayTextP1.redir b/Themes/default/Graphics/ScreenNetSelectMusic PaneDisplayTextP1.redir new file mode 100644 index 0000000000..51d3d737d4 --- /dev/null +++ b/Themes/default/Graphics/ScreenNetSelectMusic PaneDisplayTextP1.redir @@ -0,0 +1 @@ +ScreenSelectMusic PaneDisplayTextP1 \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenNetSelectMusic PaneDisplayTextP2.redir b/Themes/default/Graphics/ScreenNetSelectMusic PaneDisplayTextP2.redir new file mode 100644 index 0000000000..4a666221e3 --- /dev/null +++ b/Themes/default/Graphics/ScreenNetSelectMusic PaneDisplayTextP2.redir @@ -0,0 +1 @@ +ScreenSelectMusic PaneDisplayTextP2 \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenNetSelectMusic SongTime.redir b/Themes/default/Graphics/ScreenNetSelectMusic SongTime.redir new file mode 100644 index 0000000000..f01222eb63 --- /dev/null +++ b/Themes/default/Graphics/ScreenNetSelectMusic SongTime.redir @@ -0,0 +1 @@ +ScreenSelectMusic SongTime \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenOptions halfpage (doubleres).png b/Themes/default/Graphics/ScreenOptions halfpage (doubleres).png new file mode 100644 index 0000000000..c081f71f68 Binary files /dev/null and b/Themes/default/Graphics/ScreenOptions halfpage (doubleres).png differ diff --git a/Themes/default/Graphics/ScreenOptions line highlight.png b/Themes/default/Graphics/ScreenOptions line highlight.png index 80a3a0048f..ab646943fe 100644 Binary files a/Themes/default/Graphics/ScreenOptions line highlight.png and b/Themes/default/Graphics/ScreenOptions line highlight.png differ diff --git a/Themes/default/Graphics/ScreenOptions page.png b/Themes/default/Graphics/ScreenOptions page.png index b444ea82d7..852fe4ee5e 100644 Binary files a/Themes/default/Graphics/ScreenOptions page.png and b/Themes/default/Graphics/ScreenOptions page.png differ diff --git a/Themes/default/Graphics/ScreenPlayerOptions PlayerNameplate.lua b/Themes/default/Graphics/ScreenPlayerOptions PlayerNameplate.lua index 9e5b512a3e..8945afccd7 100644 --- a/Themes/default/Graphics/ScreenPlayerOptions PlayerNameplate.lua +++ b/Themes/default/Graphics/ScreenPlayerOptions PlayerNameplate.lua @@ -1,7 +1,7 @@ local PlayerNumber = ... assert( PlayerNumber ) -local bpm_text_zoom = 0.875 +local bpm_text_zoom = 0.6 local song_bpms= {} local bpm_text= "??? - ???" @@ -22,29 +22,28 @@ if GAMESTATE:GetCurrentSong() then end local t = Def.ActorFrame { - LoadActor(THEME:GetPathB("_frame","3x1"),"rounded fill", 192-8) .. { - OnCommand=cmd(diffuse,color("#333333");diffusealpha,0.875); + LoadActor(THEME:GetPathB("_frame","3x1"),"rounded light", 250-16) .. { + OnCommand=cmd(diffuse,ColorLightTone(PlayerColor(PlayerNumber));diffusealpha,0.7); }; - LoadActor(THEME:GetPathB("_frame","3x1"),"rounded gloss", 192-8) .. { - OnCommand=cmd(diffusealpha,0.125); - }; - LoadFont("Common Normal") .. { + LoadFont("Common Condensed") .. { Text=ToEnumShortString(PlayerNumber); Name="PlayerShortName", - InitCommand=cmd(x,-104;maxwidth,32), - OnCommand=cmd(diffuse,PlayerColor(PlayerNumber);shadowlength,1) + InitCommand=cmd(x,-127;maxwidth,32;zoom,0.75;shadowlength,1;), + OnCommand=cmd(diffuse,ColorDarkTone(PlayerColor(PlayerNumber));) }, - LoadFont("Common Normal") .. { + LoadFont("_overpass 36px") .. { Text=bpm_text; Name="BPMRangeOld", - InitCommand=cmd(x,-40;maxwidth,88/bpm_text_zoom), - OnCommand=cmd(shadowlength,1;zoom,bpm_text_zoom) + InitCommand=cmd(x,-60;maxwidth,88/bpm_text_zoom), + OnCommand=cmd(zoom,bpm_text_zoom;diffuse,ColorDarkTone(PlayerColor(PlayerNumber));shadowlength,1;) }, LoadActor(THEME:GetPathG("_StepsDisplayListRow","arrow")) .. { Name="Seperator", - InitCommand=cmd(x,14) + InitCommand=cmd(x,4); + OnCommand=cmd(diffuse,ColorDarkTone(PlayerColor(PlayerNumber));) }, - LoadFont("Common Normal") .. { + LoadFont("_overpass 36px") .. { + Text="100 - 200000"; Text="100 - 200000"; Name="BPMRangeNew", InitCommand= function(self) @@ -52,8 +51,8 @@ local t = Def.ActorFrame { local speed, mode= GetSpeedModeAndValueFromPoptions(PlayerNumber) self:playcommand("SpeedChoiceChanged", {pn= PlayerNumber, mode= mode, speed= speed}) end, - BPMWillNotChangeCommand=cmd(stopeffect), - BPMWillChangeCommand=cmd(diffuseshift;effectcolor1,Color.White;effectcolor2,Color.Orange), + BPMWillNotChangeCommand=cmd(stopeffect;diffuse,ColorDarkTone(PlayerColor(PlayerNumber));), + BPMWillChangeCommand=cmd(diffuseshift;effectcolor1,Color.Black;effectcolor2,ColorLightTone(PlayerColor(PlayerNumber));), SpeedChoiceChangedMessageCommand= function(self, param) if param.pn ~= PlayerNumber then return end local text= "" @@ -91,4 +90,4 @@ local t = Def.ActorFrame { } } -return t \ No newline at end of file +return t diff --git a/Themes/default/Graphics/ScreenSelectMusic CourseContentsList.lua b/Themes/default/Graphics/ScreenSelectMusic CourseContentsList.lua index f645433b5c..cb23037a92 100644 --- a/Themes/default/Graphics/ScreenSelectMusic CourseContentsList.lua +++ b/Themes/default/Graphics/ScreenSelectMusic CourseContentsList.lua @@ -1,42 +1,55 @@ -local transform = function(self,offsetFromCenter,itemIndex,numitems) - self:y( offsetFromCenter * 44 ); +-- Man, I hate this thing. I tried to do what I could with it, though. + +-- I'm not really sure why this needs to be separate from the main CourseContentsList creation... +local transform = function(self,offsetFromCenter,itemIndex,numItems) + self:y( offsetFromCenter * 62 ) + -- First condition is for making sure the items disappear before going past the banner. + -- Second condition is to make their transition from the bottom of the screen look a little smoother. + -- The exact numbers will likely need changing if "NumItemsToDraw" is changed. + if offsetFromCenter < -1 or offsetFromCenter > 5 then + self:diffusealpha(0) + -- And this is just so the objects don't look quite as "THERE" underneath the info pane and footer. + elseif offsetFromCenter < 0 or offsetFromCenter > 4 then + self:diffusealpha(0.6) + end end + return Def.CourseContentsList { - MaxSongs = 10; - NumItemsToDraw = 8; - ShowCommand=cmd(bouncebegin,0.3;zoomy,1); - HideCommand=cmd(linear,0.3;zoomy,0); + MaxSongs = 999, + NumItemsToDraw = 12, + ShowCommand=cmd(bouncebegin,0.3;zoomy,1), + HideCommand=cmd(linear,0.3;zoomy,0), SetCommand=function(self) - self:SetFromGameState(); - self:SetCurrentAndDestinationItem(0); - self:SetPauseCountdownSeconds(1); - self:SetSecondsPauseBetweenItems( 0.25 ); - self:SetTransformFromFunction(transform); + self:SetFromGameState() + self:SetCurrentAndDestinationItem(0) + self:SetPauseCountdownSeconds(1) + self:SetSecondsPauseBetweenItems( 0.25 ) + self:SetTransformFromFunction(transform) -- - self:SetDestinationItem( math.max(0,self:GetNumItems() - 4) ); - self:SetLoop(false); - self:SetMask(0,0); - end; - CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); - CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); + self:SetDestinationItem( math.max(0,self:GetNumItems() - 5) ) + self:SetLoop(false) + self:SetMask(0,0) + end, + CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"), + CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"), Display = Def.ActorFrame { - InitCommand=cmd(setsize,270,44); + InitCommand=cmd(setsize,290,64), LoadActor(THEME:GetPathG("CourseEntryDisplay","bar")) .. { SetSongCommand=function(self, params) if params.Difficulty then - self:diffuse( CustomDifficultyToColor(params.Difficulty) ); + self:diffuse(ColorLightTone(CustomDifficultyToColor(params.Difficulty))); else self:diffuse( color("#FFFFFF") ); end - - (cmd(finishtweening;diffusealpha,0;sleep,0.125*params.Number;linear,0.125;diffusealpha,1;linear,0.05;glow,color("1,1,1,0.5");decelerate,0.1;glow,color("1,1,1,0")))(self); - end; - }; + -- These tweens were actually messing up the visibility of the scroller objects, so... + --(cmd(finishtweening;diffusealpha,0;sleep,0.125*params.Number;smooth,0.2;diffusealpha,1))(self); + end + }, Def.TextBanner { - InitCommand=cmd(x,-128;y,1;Load,"TextBanner";SetFromString,"", "", "", "", "", ""); + InitCommand=cmd(x,-10;y,-1;Load,"TextBannerCourse";SetFromString,"", "", "", "", "", ""), SetSongCommand=function(self, params) if params.Song then if GAMESTATE:GetCurrentCourse():GetDisplayFullTitle() == "Abomination" then @@ -55,7 +68,8 @@ return Def.CourseContentsList { else self:SetFromSong( params.Song ); end; - self:diffuse( CustomDifficultyToColor(params.Difficulty) ); + self:diffuse(color("#000000")); + self:diffusealpha(0.8); -- self:glow("1,1,1,0.5"); else self:SetFromString( "??????????", "??????????", "", "", "", "" ); @@ -63,19 +77,19 @@ return Def.CourseContentsList { -- self:glow("1,1,1,0"); end - (cmd(finishtweening;zoomy,0;sleep,0.125*params.Number;linear,0.125;zoomy,1.1;linear,0.05;zoomx,1.1;decelerate,0.1;zoom,1))(self); - end; - }; + --(cmd(finishtweening;diffusealpha,0;sleep,0.125*params.Number;smooth,0.2;diffusealpha,1;))(self); + end + }, LoadFont("CourseEntryDisplay","difficulty") .. { - Text="0"; - InitCommand=cmd(x,114;y,0;zoom,0.75;shadowlength,1); + Text="0", + InitCommand=cmd(x,210;y,0;zoom,0.75), SetSongCommand=function(self, params) if params.PlayerNumber ~= GAMESTATE:GetMasterPlayerNumber() then return end self:settext( params.Meter ); - self:diffuse( CustomDifficultyToColor(params.Difficulty) ); - (cmd(finishtweening;zoomy,0;sleep,0.125*params.Number;linear,0.125;zoomy,1.1;linear,0.05;zoomx,1.1;decelerate,0.1;zoom,1))(self); - end; - }; - }; -}; \ No newline at end of file + self:diffuse(ColorDarkTone(CustomDifficultyToColor(params.Difficulty) )); + --(cmd(finishtweening;zoomy,0;sleep,0.125*params.Number;linear,0.125;zoom,1.1;linear,0.05;zoom,1))(self); + end + }, + } +} \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic CourseType.lua b/Themes/default/Graphics/ScreenSelectMusic CourseType.lua index 784c3f5c19..9a3a8dbb9d 100644 --- a/Themes/default/Graphics/ScreenSelectMusic CourseType.lua +++ b/Themes/default/Graphics/ScreenSelectMusic CourseType.lua @@ -1,2 +1,2 @@ -return LoadFont("Common Normal") .. { +return LoadFont("Common Condensed") .. { }; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyList.lua b/Themes/default/Graphics/ScreenSelectMusic DifficultyList.lua index 3c8c90295a..c3ed3bddc9 100644 --- a/Themes/default/Graphics/ScreenSelectMusic DifficultyList.lua +++ b/Themes/default/Graphics/ScreenSelectMusic DifficultyList.lua @@ -4,26 +4,23 @@ return Def.ActorFrame { if song then -- self:setaux(0); self:finishtweening(); - self:playcommand("TweenOn"); + self:decelerate(0.3):zoomx(1):diffusealpha(1) elseif not song and self:GetZoomX() == 1 then -- self:setaux(1); self:finishtweening(); - self:playcommand("TweenOff"); + self:decelerate(0.3):zoomx(0):diffusealpha(0) end; end; - Def.Quad { - InitCommand=cmd(y,-14;zoomto,164,2;fadeleft,8/164;faderight,8/164); - OnCommand=cmd(diffuse,Color("Black");diffusealpha,0;linear,0.35;diffusealpha,0.5); - }; - Def.Quad { - InitCommand=cmd(y,24*(5)-10;zoomto,164,2;fadeleft,8/164;faderight,8/164); - OnCommand=cmd(diffuse,Color("Black");diffusealpha,0;linear,0.35;diffusealpha,0.5); - }; Def.StepsDisplayList { Name="StepsDisplayListRow"; - + OnCommand=function(self) + self:diffusealpha(0):zoomx(0):decelerate(0.4):zoomx(1):diffusealpha(1) + end; + OffCommand=function(self) + self:decelerate(0.3):zoomx(0):diffusealpha(0) + end; CursorP1 = Def.ActorFrame { - InitCommand=cmd(x,-128+16;player,PLAYER_1); + InitCommand=cmd(x,-170;player,PLAYER_1); PlayerJoinedMessageCommand=function(self, params) if params.Player == PLAYER_1 then self:visible(true); @@ -37,20 +34,11 @@ return Def.ActorFrame { end; end; LoadActor(THEME:GetPathG("_StepsDisplayListRow","Cursor")) .. { - InitCommand=cmd(diffuse,PlayerColor(PLAYER_1);x,8;zoom,0.75); - }; - LoadActor(THEME:GetPathG("_StepsDisplayListRow","arrow")) .. { - InitCommand=cmd(x,20;diffuse,PlayerColor(PLAYER_1)); - OnCommand=cmd(thump,1;effectmagnitude,1,1.25,1;effectclock,'beat';); - }; - LoadFont("Common Normal") .. { - Text="P1"; - InitCommand=cmd(x,2;diffuse,PlayerColor(PLAYER_1);shadowlength,1); - OnCommand=cmd(zoom,0.75); + InitCommand=cmd(diffuse,ColorLightTone(PlayerColor(PLAYER_1));x,8;zoom,0.75); }; }; CursorP2 = Def.ActorFrame { - InitCommand=cmd(x,128-16;player,PLAYER_2); + InitCommand=cmd(x,170;player,PLAYER_2); PlayerJoinedMessageCommand=function(self, params) if params.Player == PLAYER_2 then self:visible(true); @@ -64,16 +52,7 @@ return Def.ActorFrame { end; end; LoadActor(THEME:GetPathG("_StepsDisplayListRow","Cursor")) .. { - InitCommand=cmd(diffuse,PlayerColor(PLAYER_2);x,-8;zoom,0.75;zoomx,-0.75;); - }; - LoadActor(THEME:GetPathG("_StepsDisplayListRow","arrow")) .. { - InitCommand=cmd(x,-20;diffuse,PlayerColor(PLAYER_2);zoomx,-1); - OnCommand=cmd(thump,1;effectmagnitude,1,1.25,1;effectclock,'beat';); - }; - LoadFont("Common Normal") .. { - Text="P2"; - InitCommand=cmd(x,-2;diffuse,PlayerColor(PLAYER_2);shadowlength,1); - OnCommand=cmd(zoom,0.75); + InitCommand=cmd(diffuse,ColorLightTone(PlayerColor(PLAYER_2));x,-8;zoom,0.75;zoomx,-0.75;); }; }; CursorP1Frame = Def.Actor{ diff --git a/Themes/default/Graphics/ScreenSelectMusic SongOptionsText.lua b/Themes/default/Graphics/ScreenSelectMusic SongOptionsText.lua index 784c3f5c19..5f2f93aa22 100644 --- a/Themes/default/Graphics/ScreenSelectMusic SongOptionsText.lua +++ b/Themes/default/Graphics/ScreenSelectMusic SongOptionsText.lua @@ -1,2 +1,2 @@ -return LoadFont("Common Normal") .. { +return LoadFont("_noto sans 36px") .. { }; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic SongTime.lua b/Themes/default/Graphics/ScreenSelectMusic SongTime.lua index 784c3f5c19..aabc50eb73 100644 --- a/Themes/default/Graphics/ScreenSelectMusic SongTime.lua +++ b/Themes/default/Graphics/ScreenSelectMusic SongTime.lua @@ -1,2 +1,2 @@ -return LoadFont("Common Normal") .. { +return LoadFont("Common normal") .. { }; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic banner overlay.png b/Themes/default/Graphics/ScreenSelectMusic banner overlay.png new file mode 100644 index 0000000000..fcb31b1401 Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectMusic banner overlay.png differ diff --git a/Themes/default/Graphics/ScreenSelectMusic info pane.png b/Themes/default/Graphics/ScreenSelectMusic info pane.png new file mode 100644 index 0000000000..22c833b2f1 Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectMusic info pane.png differ diff --git a/Themes/default/Graphics/ScreenSelectMusic pane background.png b/Themes/default/Graphics/ScreenSelectMusic pane background.png new file mode 100644 index 0000000000..97adda40ad Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectMusic pane background.png differ diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/Endless.png b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Endless.png new file mode 100644 index 0000000000..b9e3bdaeae Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Endless.png differ diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/Nonstop.png b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Nonstop.png new file mode 100644 index 0000000000..7a716485d6 Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Nonstop.png differ diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/Normal.png b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Normal.png new file mode 100644 index 0000000000..ca08f90526 Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Normal.png differ diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/Oni.png b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Oni.png new file mode 100644 index 0000000000..0fcf454fa4 Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Oni.png differ diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/Rave.png b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Rave.png new file mode 100644 index 0000000000..e9ea9ca9ca Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectPlayMode Icon/Rave.png differ diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/_background base.png b/Themes/default/Graphics/ScreenSelectPlayMode Icon/_background base.png new file mode 100644 index 0000000000..03195d3ab2 Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectPlayMode Icon/_background base.png differ diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/_highlight.png b/Themes/default/Graphics/ScreenSelectPlayMode Icon/_highlight.png new file mode 100644 index 0000000000..ce29e2d9e5 Binary files /dev/null and b/Themes/default/Graphics/ScreenSelectPlayMode Icon/_highlight.png differ diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/default.lua b/Themes/default/Graphics/ScreenSelectPlayMode Icon/default.lua index e2b6cc9619..aca4c418cb 100644 --- a/Themes/default/Graphics/ScreenSelectPlayMode Icon/default.lua +++ b/Themes/default/Graphics/ScreenSelectPlayMode Icon/default.lua @@ -1,35 +1,44 @@ -local gc = Var("GameCommand"); +local gc = Var("GameCommand") -local string_name = gc:GetText() -local string_expl = THEME:GetString(Var "LoadingScreen", gc:GetName().."Explanation") -local icon_color = ModeIconColors[gc:GetName()]; +--local string_expl = THEME:GetString(Var "LoadingScreen", gc:GetName().."Explanation") +local icon_color = ModeIconColors[gc:GetName()] +local icon_size = 192 -local t = Def.ActorFrame {}; +local t = Def.ActorFrame {} t[#t+1] = Def.ActorFrame { - GainFocusCommand=cmd(stoptweening;bob;effectmagnitude,0,6,0;decelerate,0.05;zoom,1); - LoseFocusCommand=cmd(stoptweening;stopeffect;decelerate,0.1;zoom,0.6); - - LoadActor("_background base")..{ - InitCommand=cmd(diffuse,icon_color); - }; - LoadActor("_background effect"); - LoadActor("_gloss"); - LoadActor("_stroke"); - LoadActor("_cutout"); + OnCommand=cmd(diffusealpha,0;linear,0.4;diffusealpha,1), + GainFocusCommand=cmd(stoptweening;bob;effectmagnitude,0,0,3;decelerate,0.1;zoom,0.95), + LoseFocusCommand=cmd(stoptweening;stopeffect;decelerate,0.1;zoom,0.9), + OffCommand=cmd(decelerate,0.2;zoom,0.7;diffusealpha,0), + + LoadActor("_background base") .. { + LoseFocusCommand=cmd(diffuse,ColorMidTone(icon_color)), + GainFocusCommand=cmd(diffuse,icon_color) + }, + + LoadActor( gc:GetName() ) .. { + InitCommand=cmd(addy,-20;diffuse,Color.Black), + GainFocusCommand=cmd(diffusealpha,1.0), + LoseFocusCommand=cmd(diffusealpha,0.7) + }, -- todo: generate a better font for these. - LoadFont("Common Large")..{ - Text=string.upper(string_name); - InitCommand=cmd(y,-12;maxwidth,232); - OnCommand=cmd(diffuse,Color.Black;shadowlength,1;shadowcolor,color("#ffffff77");skewx,-0.125); - }; - LoadFont("Common Normal")..{ - Text=string.upper(string_expl); - InitCommand=cmd(y,27.5;maxwidth,232); - }; - LoadActor("_background base") .. { - DisabledCommand=cmd(diffuse,color("0,0,0,0.5")); - EnabledCommand=cmd(diffuse,color("1,1,1,0")); - }; -}; + LoadFont("_overpass 48px")..{ + Text=string.upper(gc:GetText()), + InitCommand=cmd(horizalign,center;y,icon_size/3.4;zoom,0.5;maxwidth,icon_size*1.3;diffusecolor,color("#000000")), + GainFocusCommand=cmd(diffusealpha,0.8), + LoseFocusCommand=cmd(diffusealpha,0.6) + }, + + -- Will this ever actually be used? + -- LoadFont("Common Normal")..{ + -- Text=string.upper(string_expl), + -- InitCommand=cmd(y,27.5;maxwidth,232) + -- }, + + LoadActor("_highlight") .. { + LoseFocusCommand=cmd(stopeffect;decelerate,0.1;diffuse,Color.Invisible), + GainFocusCommand=cmd(decelerate,0.2;diffuse,Color.White;diffuseshift;effectcolor1,Color.White;effectcolor2,color("#FFFFFF99")) + } +} return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectStyle Icon.lua b/Themes/default/Graphics/ScreenSelectStyle Icon.lua index 5c4c8d4e2e..8915d6efde 100644 --- a/Themes/default/Graphics/ScreenSelectStyle Icon.lua +++ b/Themes/default/Graphics/ScreenSelectStyle Icon.lua @@ -11,21 +11,17 @@ t[#t+1] = Def.ActorFrame { LoseFocusCommand=THEME:GetMetric(Var "LoadingScreen","IconLoseFocusCommand"); LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_background base"))..{ - InitCommand=cmd(diffuse,icon_color;diffusebottomedge,icon_color2); + GainFocusCommand=cmd(diffuse,color("#57213B");diffusetopedge,color("#80385B");); + LoseFocusCommand=cmd(diffuse,color("#57213B")); }; - LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_background effect")); - LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_gloss")); - LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_stroke")); - LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_cutout")); - - LoadFont("Common Large")..{ + LoadFont("_overpass 36px")..{ Text=string.upper(string_name); InitCommand=cmd(y,-12;maxwidth,232); - OnCommand=cmd(diffuse,Color.Black;shadowlength,1;shadowcolor,color("#ffffff77");skewx,-0.125); + OnCommand=cmd(diffuse,icon_color); }; - LoadFont("Common Normal")..{ + LoadFont("Common Italic Condensed")..{ Text=string.upper(string_expl); - InitCommand=cmd(y,27.5;maxwidth,232); + InitCommand=cmd(y,29.5;maxwidth,128); }; LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_background base"))..{ diff --git a/Themes/default/Graphics/ScreenStageInformation stage 1st.png b/Themes/default/Graphics/ScreenStageInformation stage 1st.png index fa61a920a3..b17106dd12 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage 1st.png and b/Themes/default/Graphics/ScreenStageInformation stage 1st.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage 2nd.png b/Themes/default/Graphics/ScreenStageInformation stage 2nd.png index c5e7f7b7f7..360b3ea7f2 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage 2nd.png and b/Themes/default/Graphics/ScreenStageInformation stage 2nd.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage 3rd.png b/Themes/default/Graphics/ScreenStageInformation stage 3rd.png index e811600f0f..e1ec918a36 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage 3rd.png and b/Themes/default/Graphics/ScreenStageInformation stage 3rd.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage 4th.png b/Themes/default/Graphics/ScreenStageInformation stage 4th.png index 058bd81726..c8c1694e0d 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage 4th.png and b/Themes/default/Graphics/ScreenStageInformation stage 4th.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage 5th.png b/Themes/default/Graphics/ScreenStageInformation stage 5th.png index 9055624c6c..526cd70b21 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage 5th.png and b/Themes/default/Graphics/ScreenStageInformation stage 5th.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage 6th.png b/Themes/default/Graphics/ScreenStageInformation stage 6th.png index 66f44def11..6f06988130 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage 6th.png and b/Themes/default/Graphics/ScreenStageInformation stage 6th.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage endless.png b/Themes/default/Graphics/ScreenStageInformation stage endless.png index 874013dacf..4568b0d36c 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage endless.png and b/Themes/default/Graphics/ScreenStageInformation stage endless.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage event.png b/Themes/default/Graphics/ScreenStageInformation stage event.png index 8b7df78ab9..d01f6240af 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage event.png and b/Themes/default/Graphics/ScreenStageInformation stage event.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage extra1.png b/Themes/default/Graphics/ScreenStageInformation stage extra1.png index 55f7b4936d..fe7d34638a 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage extra1.png and b/Themes/default/Graphics/ScreenStageInformation stage extra1.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage extra2.png b/Themes/default/Graphics/ScreenStageInformation stage extra2.png index a25c12e229..3f696df56e 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage extra2.png and b/Themes/default/Graphics/ScreenStageInformation stage extra2.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage final.png b/Themes/default/Graphics/ScreenStageInformation stage final.png index 2caa88eed2..c1099bc672 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage final.png and b/Themes/default/Graphics/ScreenStageInformation stage final.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage nonstop.png b/Themes/default/Graphics/ScreenStageInformation stage nonstop.png index 53f97a8004..252cdd56dc 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage nonstop.png and b/Themes/default/Graphics/ScreenStageInformation stage nonstop.png differ diff --git a/Themes/default/Graphics/ScreenStageInformation stage oni.png b/Themes/default/Graphics/ScreenStageInformation stage oni.png index 5ff9758f46..1bacc2103d 100644 Binary files a/Themes/default/Graphics/ScreenStageInformation stage oni.png and b/Themes/default/Graphics/ScreenStageInformation stage oni.png differ diff --git a/Themes/default/Graphics/ScreenTitleMenu CurrentGametype.lua b/Themes/default/Graphics/ScreenTitleMenu CurrentGametype.lua index 66d7596359..c25f08aa76 100644 --- a/Themes/default/Graphics/ScreenTitleMenu CurrentGametype.lua +++ b/Themes/default/Graphics/ScreenTitleMenu CurrentGametype.lua @@ -1,8 +1,7 @@ -local curGameName = GAMESTATE:GetCurrentGame():GetName(); +local icon_params = { + base_color = color("#CC2E3C"), + label_text = Screen.String("CurrentGametype"), + value_text = GAMESTATE:GetCurrentGame():GetName() +} -local t = LoadFont("Common Normal") .. { - BeginCommand=function(self) - self:settextf( Screen.String("CurrentGametype"), curGameName ); - end; -}; -return t; \ No newline at end of file +return LoadActor(THEME:GetPathG("", "_title_info_icon"), icon_params) \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenTitleMenu LifeDifficulty.lua b/Themes/default/Graphics/ScreenTitleMenu LifeDifficulty.lua index 6e83094523..8f060103b1 100644 --- a/Themes/default/Graphics/ScreenTitleMenu LifeDifficulty.lua +++ b/Themes/default/Graphics/ScreenTitleMenu LifeDifficulty.lua @@ -1,21 +1,7 @@ -local label_text= false +local icon_params = { + base_color = color("#F51319"), + label_text = Screen.String("LifeDifficulty"), + value_text = GetLifeDifficulty() +} -return Def.ActorFrame { - LoadFont("Common Normal") .. { - Text=GetLifeDifficulty(); - AltText=""; - InitCommand=cmd(horizalign,left;zoom,0.675); - OnCommand= function(self) - label_text= self - self:shadowlength(1):settextf(Screen.String("LifeDifficulty"), ""); - end, - }; - LoadFont("Common Normal") .. { - Text=GetLifeDifficulty(); - AltText=""; - InitCommand=cmd(zoom,0.675;halign,0); - OnCommand= function(self) - self:shadowlength(1):skewx(-0.125):x(label_text:GetZoomedWidth()+8) - end, - }; -}; +return LoadActor(THEME:GetPathG("", "_title_info_icon"), icon_params) \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenTitleMenu NetworkStatus.lua b/Themes/default/Graphics/ScreenTitleMenu NetworkStatus.lua index 0f1ef18fe9..d6df35e773 100644 --- a/Themes/default/Graphics/ScreenTitleMenu NetworkStatus.lua +++ b/Themes/default/Graphics/ScreenTitleMenu NetworkStatus.lua @@ -2,27 +2,16 @@ local netConnected = IsNetConnected(); local loggedOnSMO = IsNetSMOnline(); local t = Def.ActorFrame{ - Def.Quad { - InitCommand=cmd(y,-12;x,160;zoomto,320+32,38;vertalign,top;diffuse,Color.Black;diffusealpha,0.5); - OnCommand=cmd(faderight,0.45); - BeginCommand=function(self) - if netConnected then - self:zoomtoheight( 38 ); - else - self:zoomtoheight( 24 ); - end - end; - }; - LoadFont("Common Normal") .. { + LoadFont("Common Condensed") .. { InitCommand=cmd(uppercase,true;zoom,0.75;shadowlength,1;horizalign,left); BeginCommand=function(self) -- check network status if netConnected then - self:diffuse( color("0.95,0.975,1,1") ); - self:diffusebottomedge( color("0.72,0.89,1,1") ); + self:diffuse( color("#268129") ); + self:diffusebottomedge( color("#153F17") ); self:settext( Screen.String("Network OK") ); else - self:diffuse( color("1,1,1,1") ); + self:diffuse( color("#4F1B34") ); self:settext( Screen.String("Offline") ); end; end; @@ -30,8 +19,8 @@ local t = Def.ActorFrame{ }; if netConnected then - t[#t+1] = LoadFont("Common Normal") .. { - InitCommand=cmd(y,16;horizalign,left;zoom,0.5875;shadowlength,1;diffuse,color("0.72,0.89,1,1")); + t[#t+1] = LoadFont("Common Condensed") .. { + InitCommand=cmd(y,16;horizalign,left;zoom,0.5875;shadowlength,1;diffuse,color("#268129");diffusebottomedge,color("#153F17");); BeginCommand=function(self) self:settext( string.format(Screen.String("Connected to %s"), GetServerName()) ); end; diff --git a/Themes/default/Graphics/ScreenTitleMenu NumAdditionalSongs.lua b/Themes/default/Graphics/ScreenTitleMenu NumAdditionalSongs.lua index 784c3f5c19..9a3a8dbb9d 100644 --- a/Themes/default/Graphics/ScreenTitleMenu NumAdditionalSongs.lua +++ b/Themes/default/Graphics/ScreenTitleMenu NumAdditionalSongs.lua @@ -1,2 +1,2 @@ -return LoadFont("Common Normal") .. { +return LoadFont("Common Condensed") .. { }; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenTitleMenu NumSongs.lua b/Themes/default/Graphics/ScreenTitleMenu NumSongs.lua index 784c3f5c19..9a3a8dbb9d 100644 --- a/Themes/default/Graphics/ScreenTitleMenu NumSongs.lua +++ b/Themes/default/Graphics/ScreenTitleMenu NumSongs.lua @@ -1,2 +1,2 @@ -return LoadFont("Common Normal") .. { +return LoadFont("Common Condensed") .. { }; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenTitleMenu PreferenceFrame.png b/Themes/default/Graphics/ScreenTitleMenu PreferenceFrame.png index 0e04d83a89..e409f0f0c9 100644 Binary files a/Themes/default/Graphics/ScreenTitleMenu PreferenceFrame.png and b/Themes/default/Graphics/ScreenTitleMenu PreferenceFrame.png differ diff --git a/Themes/default/Graphics/ScreenTitleMenu TimingDifficulty.lua b/Themes/default/Graphics/ScreenTitleMenu TimingDifficulty.lua index a7cf24ffc6..ee4661807e 100644 --- a/Themes/default/Graphics/ScreenTitleMenu TimingDifficulty.lua +++ b/Themes/default/Graphics/ScreenTitleMenu TimingDifficulty.lua @@ -1,26 +1,7 @@ -local label_text= false -return Def.ActorFrame { - LoadFont("Common Normal") .. { - Text=GetTimingDifficulty(); - AltText=""; - InitCommand=cmd(horizalign,left;zoom,0.675); - OnCommand= function(self) - label_text= self - self:shadowlength(1):settextf(Screen.String("TimingDifficulty"), ""); - end, - }; - LoadFont("Common Normal") .. { - Text=GetTimingDifficulty(); - AltText=""; - InitCommand=cmd(x,136;zoom,0.675;halign,0); - OnCommand=function(self) - self:shadowlength(1):skewx(-0.125):x(label_text:GetZoomedWidth()+8) - if GetTimingDifficulty() == 9 then - self:settext(Screen.String("Hardest Timing")); - (cmd(zoom,0.5;diffuse,ColorLightTone( Color("Orange")) ))(self); - else - self:settext( GetTimingDifficulty() ); - end - end; - }; -}; +local icon_params = { + base_color = color("#CE3D06"), + label_text = Screen.String("TimingDifficulty"), + value_text = GetTimingDifficulty() == 9 and Screen.String("Hardest Timing") or GetTimingDifficulty() +} + +return LoadActor(THEME:GetPathG("", "_title_info_icon"), icon_params) diff --git a/Themes/default/Graphics/ScreenTitleMenu VersionInfo.lua b/Themes/default/Graphics/ScreenTitleMenu VersionInfo.lua index c566856ea0..1df08b8e29 100644 --- a/Themes/default/Graphics/ScreenTitleMenu VersionInfo.lua +++ b/Themes/default/Graphics/ScreenTitleMenu VersionInfo.lua @@ -1,14 +1,14 @@ return Def.ActorFrame { - LoadFont("Common Normal") .. { + LoadFont("Common Condensed") .. { Text=string.format("%s %s", ProductFamily(), ProductVersion()); AltText="StepMania"; - InitCommand=cmd(zoom,0.675); - OnCommand=cmd(horizalign,right;shadowlength,1); + InitCommand=cmd(zoom,1); + OnCommand=cmd(horizalign,right;diffusealpha,0.9); }; LoadFont("Common Normal") .. { Text=string.format("%s", VersionDate()); AltText="Unknown Version"; - InitCommand=cmd(y,16;zoom,0.5); - OnCommand=cmd(horizalign,right;shadowlength,1); + InitCommand=cmd(y,19;zoom,0.75); + OnCommand=cmd(horizalign,right;diffusealpha,0.7); }; }; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenTitleMenu logo/_arrow (dither).png b/Themes/default/Graphics/ScreenTitleMenu logo/_arrow (dither).png index a4ed9a0577..4a22f30dc4 100644 Binary files a/Themes/default/Graphics/ScreenTitleMenu logo/_arrow (dither).png and b/Themes/default/Graphics/ScreenTitleMenu logo/_arrow (dither).png differ diff --git a/Themes/default/Graphics/ScreenTitleMenu logo/_text (dither).png b/Themes/default/Graphics/ScreenTitleMenu logo/_text (dither).png index bab66f6770..4a22f30dc4 100644 Binary files a/Themes/default/Graphics/ScreenTitleMenu logo/_text (dither).png and b/Themes/default/Graphics/ScreenTitleMenu logo/_text (dither).png differ diff --git a/Themes/default/Graphics/ScreenTitleMenu logo/default.lua b/Themes/default/Graphics/ScreenTitleMenu logo/default.lua index a92edf95a7..94f20ba42d 100644 --- a/Themes/default/Graphics/ScreenTitleMenu logo/default.lua +++ b/Themes/default/Graphics/ScreenTitleMenu logo/default.lua @@ -1,14 +1,15 @@ local t = Def.ActorFrame{ InitCommand=cmd(fov,70); - LoadActor("_arrow")..{ - InitCommand=cmd(x,225;); + Def.ActorFrame { + InitCommand=cmd(zoom,0.75); + OnCommand=cmd(diffusealpha,0;zoom,0.4;decelerate,0.7;diffusealpha,1;zoom,0.75); + LoadActor("_text"); + LoadActor("_text")..{ + Name="TextGlow"; + InitCommand=cmd(blend,Blend.Add;diffusealpha,0.05;); + OnCommand=cmd(glowshift;effectperiod,5;effectcolor1,color("1,1,1,0.25");effectcolor2,color("1,1,1,1");); + }; + }; }; - LoadActor("_text"); - LoadActor("_text")..{ - Name="TextGlow"; - InitCommand=cmd(blend,Blend.Add;diffusealpha,0.05;); - OnCommand=cmd(glowshift;effectperiod,2.5;effectcolor1,color("1,1,1,0.25");effectcolor2,color("1,1,1,1");); - }; -}; return t; diff --git a/Themes/default/Graphics/ScreenTitleMenu scroll.lua b/Themes/default/Graphics/ScreenTitleMenu scroll.lua index 481db13bb6..dee014823b 100644 --- a/Themes/default/Graphics/ScreenTitleMenu scroll.lua +++ b/Themes/default/Graphics/ScreenTitleMenu scroll.lua @@ -1,16 +1,10 @@ local gc = Var("GameCommand"); return Def.ActorFrame { - Def.Quad{ - InitCommand=cmd(zoomto,256,26;fadeleft,0.45;faderight,0.45); - OnCommand=cmd(diffuseshift;effectcolor1,color("0,0,0,0.5");effectcolor2,color("0,0,0,0.5")); - GainFocusCommand=cmd(stoptweening;decelerate,0.1;zoomto,256,26;diffusealpha,1); - LoseFocusCommand=cmd(stoptweening;accelerate,0.1;zoomto,SCREEN_WIDTH,0;diffusealpha,0); - }; - LoadFont("Common Normal") .. { + LoadFont("_roboto condensed Bold 48px") .. { Text=THEME:GetString("ScreenTitleMenu",gc:GetText()); OnCommand=cmd(shadowlength,1); - GainFocusCommand=cmd(stoptweening;linear,0.1;zoom,1;diffuse,color("1,1,1,1")); - LoseFocusCommand=cmd(stoptweening;linear,0.1;zoom,0.75;diffuse,color("0.5,0.5,0.5,1")); + GainFocusCommand=cmd(stoptweening;linear,0.1;zoom,1;diffuse,color("#A3375C")); + LoseFocusCommand=cmd(stoptweening;linear,0.1;zoom,0.75;diffuse,color("#512232")); }; }; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenWithMenuElements Footer.lua b/Themes/default/Graphics/ScreenWithMenuElements Footer.lua index ac6939946e..0317e4ac65 100644 --- a/Themes/default/Graphics/ScreenWithMenuElements Footer.lua +++ b/Themes/default/Graphics/ScreenWithMenuElements Footer.lua @@ -1,12 +1,19 @@ local t = Def.ActorFrame {}; -t[#t+1] = Def.Quad { - InitCommand=cmd(vertalign,bottom;zoomto,SCREEN_WIDTH,34;diffuse,color("#161616")); +t[#t+1] = Def.ActorFrame { + Def.Quad { + InitCommand=cmd(vertalign,bottom;zoomto,SCREEN_WIDTH,5;addy,-50;diffuse,Color("Black");fadetop,1;diffusealpha,0.8); + }; }; -t[#t+1] = LoadActor(THEME:GetPathG("ScreenWithMenuElements","header/Header")) .. { - InitCommand=cmd(y,-48;vertalign,bottom;zoomtowidth,SCREEN_WIDTH); - OnCommand=cmd(zoomy,-1;diffuse,color("#ffd400")); +t[#t+1] = Def.ActorFrame { + Def.Quad { + InitCommand=cmd(vertalign,bottom;zoomto,SCREEN_WIDTH,50;); + OnCommand=function(self) + self:diffuse(ColorMidTone(ScreenColor(SCREENMAN:GetTopScreen():GetName()))) + self:diffusetopedge(ColorDarkTone(ScreenColor(SCREENMAN:GetTopScreen():GetName()))):diffusealpha(0.8) + end; + }; }; return t; diff --git a/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua b/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua index 777e055a14..9e3196a287 100644 --- a/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua +++ b/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua @@ -1,10 +1,11 @@ local curScreen = Var "LoadingScreen"; +local curStage = GAMESTATE:GetCurrentStage(); local curStageIndex = GAMESTATE:GetCurrentStageIndex(); local t = Def.ActorFrame {}; t[#t+1] = Def.ActorFrame { - LoadFont("Common Normal") .. { - InitCommand=cmd(y,-1;shadowlength,1;); + LoadFont("Common Italic Condensed") .. { + InitCommand=cmd(y,-1;zoom,1.2;); BeginCommand=function(self) local top = SCREENMAN:GetTopScreen() if top then @@ -14,27 +15,24 @@ t[#t+1] = Def.ActorFrame { end self:playcommand("Set") end; - CurrentSongChangedMessageCommand= cmd(playcommand,"Set"), SetCommand=function(self) - local curStage = GAMESTATE:GetCurrentStage(); if GAMESTATE:GetCurrentCourse() then self:settext( curStageIndex+1 .. " / " .. GAMESTATE:GetCurrentCourse():GetEstimatedNumStages() ); elseif GAMESTATE:IsEventMode() then - self:settextf("Stage %s", curStageIndex); + self:settextf("STAGE %s", curStageIndex); else - local thed_stage= thified_curstage_index(curScreen:find("Evaluation")) if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then - self:settext(thed_stage) - self:zoom(0.75); + self:settextf("%s", ToEnumShortString(curStage)); + self:zoom(1); else - self:settextf("%s Stage", thed_stage); - self:zoom(1); + self:settextf("%s STAGE", ToEnumShortString(curStage)); + self:zoom(1); end; end; -- StepMania is being stupid so we have to do this here; - self:diffuse(StageToColor(curStage)); - self:diffusetopedge(ColorLightTone(StageToColor(curStage))); + self:diffuse(StageToColor(curStage)):diffusetopedge(ColorLightTone(StageToColor(curStage))); + self:diffusealpha(0):smooth(0.3):diffusealpha(1); end; }; }; -return t +return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/Generic icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/Generic icon.png new file mode 100644 index 0000000000..9a7c302cc2 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/Generic icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenEditMenu icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenEditMenu icon.png new file mode 100644 index 0000000000..bd3d96d82b Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenEditMenu icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenEvaluationNormal icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenEvaluationNormal icon.png new file mode 100644 index 0000000000..cd4c61c9d8 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenEvaluationNormal icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenEvaluationSummary icon.redir b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenEvaluationSummary icon.redir new file mode 100644 index 0000000000..d1b031d997 --- /dev/null +++ b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenEvaluationSummary icon.redir @@ -0,0 +1 @@ +ScreenEvaluationNormal icon \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenHighScores icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenHighScores icon.png new file mode 100644 index 0000000000..cd4c61c9d8 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenHighScores icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenNestyPlayerOptions icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenNestyPlayerOptions icon.png new file mode 100644 index 0000000000..eb6e9d2912 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenNestyPlayerOptions icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenNetRoom icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenNetRoom icon.png new file mode 100644 index 0000000000..5bff360dc0 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenNetRoom icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenNetSelectMusic icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenNetSelectMusic icon.png new file mode 100644 index 0000000000..5bff360dc0 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenNetSelectMusic icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenOptionsEdit icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenOptionsEdit icon.png new file mode 100644 index 0000000000..bd3d96d82b Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenOptionsEdit icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenOptionsService icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenOptionsService icon.png new file mode 100644 index 0000000000..eb6e9d2912 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenOptionsService icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSMOnlineLogin icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSMOnlineLogin icon.png new file mode 100644 index 0000000000..5bff360dc0 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSMOnlineLogin icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectCourse icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectCourse icon.png new file mode 100644 index 0000000000..dbd47b3a31 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectCourse icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectMusic icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectMusic icon.png new file mode 100644 index 0000000000..1dff8e2a97 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectMusic icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectPlayMode icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectPlayMode icon.png new file mode 100644 index 0000000000..4f4535a18c Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectPlayMode icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectProfile icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectProfile icon.png new file mode 100644 index 0000000000..54c9510382 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectProfile icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectStyle icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectStyle icon.png new file mode 100644 index 0000000000..494dd96fc9 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/ScreenSelectStyle icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/_shade.png b/Themes/default/Graphics/ScreenWithMenuElements header/_shade.png new file mode 100644 index 0000000000..38569a302a Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/_shade.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/beat style icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/beat style icon.png new file mode 100644 index 0000000000..1b811acc7b Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/beat style icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/dance style icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/dance style icon.png new file mode 100644 index 0000000000..9370e5648c Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/dance style icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/default.lua b/Themes/default/Graphics/ScreenWithMenuElements header/default.lua index c1e1aba54b..c52efb73d5 100644 --- a/Themes/default/Graphics/ScreenWithMenuElements header/default.lua +++ b/Themes/default/Graphics/ScreenWithMenuElements header/default.lua @@ -1,58 +1,84 @@ -local t = Def.ActorFrame {}; +local t = Def.ActorFrame {} -local function Update(self) - local c = self:GetChildren(); - local bps = GAMESTATE:GetSongBPS() or 1 - c.TextureStripe:texcoordvelocity(bps/3,0); -end - -local function IsVisible() - local r = Screen.String("HeaderText"); - return string.len(r) > 0 and true or false -end - -t[#t+1] = Def.Quad { - InitCommand=cmd(vertalign,top;zoomto,SCREEN_WIDTH+1,50;diffuse,color("#161616")); +-- Base bar diffuse,color("#1C1C1B");diffusebottomedge,color("#333230"); +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(vertalign,top), + OnCommand=function(self) + self:addy(-104):decelerate(0.5):addy(104) + end, + OffCommand=cmd(sleep,0.175;decelerate,0.4;addy,-105), + Def.Quad { + InitCommand=cmd(vertalign,top;zoomto,SCREEN_WIDTH,96), + OnCommand=function(self) + self:diffuse(ScreenColor(SCREENMAN:GetTopScreen():GetName())):diffusetopedge(ColorDarkTone(ScreenColor(SCREENMAN:GetTopScreen():GetName()))):diffusealpha(0.8) + end + }, + LoadActor("_shade") .. { + InitCommand=cmd(vertalign,top;zoomto,SCREEN_WIDTH,96), + OnCommand=function(self) + self:diffuse(ScreenColor(SCREENMAN:GetTopScreen():GetName())):diffusetopedge(ColorDarkTone(ScreenColor(SCREENMAN:GetTopScreen():GetName()))):diffusealpha(0.8):faderight(1) + end + }, + -- Shadow + Def.Quad { + InitCommand=cmd(vertalign,top;zoomto,SCREEN_WIDTH,8;y,96), + OnCommand=cmd(diffuse,Color("Black");fadebottom,1;diffusealpha,0.6) + } } -t[#t+1] = LoadActor("_texture stripe") .. { - Name="TextureStripe"; - InitCommand=cmd(x,-SCREEN_CENTER_X-8;y,-2;horizalign,left;vertalign,top;zoomto,320,50;customtexturerect,0,0,(320/2)/8,50/32); - OnCommand=cmd(texcoordvelocity,2,0;skewx,-0.0575;diffuse,color("#594300");diffuserightedge,color("#59430000")); -}; -t[#t+1] = LoadActor("Header") .. { - InitCommand=cmd(y,1;vertalign,top;zoomtowidth,SCREEN_WIDTH+1;diffuse,color("#ffd400")); - OnCommand=cmd(croptop,46/60); -}; -t[#t+1] = LoadFont("Common Bold") .. { - Name="HeaderShadow"; - Text=Screen.String("HeaderText"); - InitCommand=cmd(x,-SCREEN_CENTER_X+26;y,28;zoom,1;horizalign,left;maxwidth,200); - OnCommand=cmd(visible,IsVisible();skewx,-0.125;diffuse,BoostColor(color("#ffd40077"),0.375);); +-- Diamond +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,-SCREEN_CENTER_X+76;y,SCREEN_TOP+30), + OnCommand=cmd(addx,-110;sleep,0.3;decelerate,0.7;addx,110), + OffCommand=cmd(decelerate,0.175;addx,-110), + + -- Diamond BG + Def.Quad { + InitCommand=cmd(vertalign,top;zoomto,54,54;rotationz,45), + OnCommand=function(self) + self:diffuse(ColorLightTone(ScreenColor(SCREENMAN:GetTopScreen():GetName()))) + end + }, + -- Symbol selector + Def.Sprite { + Name="HeaderDiamondIcon", + InitCommand=cmd(horizalign,center;y,18;x,-20;diffusealpha,0.8), + OnCommand=function(self) + local screen = SCREENMAN:GetTopScreen():GetName() + if FILEMAN:DoesFileExist("Themes/"..THEME:GetCurThemeName().."/Graphics/ScreenWithMenuElements header/"..screen.." icon.png") then + self:Load(THEME:GetPathG("","ScreenWithMenuElements header/"..screen.." icon")) + -- Little workaround so not every other options menu has the "graphic missing" icon. + elseif string.find(screen, "Options") then + self:Load(THEME:GetPathG("","ScreenWithMenuElements header/ScreenOptionsService icon")) + else + print("iconerror: file does not exist") + self:Load(THEME:GetPathG("","ScreenWithMenuElements header/Generic icon")) + end + end + } +} + +-- Text +t[#t+1] = LoadFont("Common Header") .. { + Name="HeaderTitle", + Text=Screen.String("HeaderText"), + InitCommand=cmd(zoom,1.0;x,-SCREEN_CENTER_X+110;y,49;horizalign,left;diffuse,color("#ffffff");shadowlength,1;skewx,-0.1), + OnCommand=cmd(diffusealpha,0;sleep,0.5;smooth,0.3;diffusealpha,0.8), UpdateScreenHeaderMessageCommand=function(self,param) - self:settext(param.Header); - end; -}; + self:settext(param.Header) + end, + OffCommand=cmd(smooth,0.175;diffusealpha,0) +} -t[#t+1] = Def.Quad { - Name="Underline"; - InitCommand=cmd(x,-SCREEN_CENTER_X+24-4;y,36;horizalign,left); - OnCommand=cmd(stoptweening;diffuse,color("#ffd400");shadowlength,2;shadowcolor,BoostColor(color("#ffd40077"),0.25);linear,0.25;zoomtowidth,192;fadeleft,8/192;faderight,0.5; - visible,string.len( Screen.String("HeaderText") ) > 0 ); -}; +-- t[#t+1] = LoadFont("Common Condensed") .. { + -- Name="HeaderSubTitle"; + -- Text=Screen.String("HeaderSubText"); + -- InitCommand=cmd(zoom,0.8;x,-SCREEN_CENTER_X+110;y,70;horizalign,left;diffuse,color("#ffffff");shadowlength,1;skewx,-0.1); + -- OnCommand=cmd(diffusealpha,0;sleep,0.55;smooth,0.3;diffusealpha,0.75;); + -- UpdateScreenHeaderMessageCommand=function(self,param) + -- self:settext(param.Header); + -- end; + -- OffCommand=cmd(smooth,0.3;diffusealpha,0;); +-- }; -t[#t+1] = LoadFont("Common Bold") .. { - Name="HeaderText"; - Text=Screen.String("HeaderText"); - InitCommand=cmd(x,-SCREEN_CENTER_X+24;y,26;zoom,1;horizalign,left;shadowlength,0;maxwidth,200); - OnCommand=cmd(visible,IsVisible();skewx,-0.125;diffuse,color("#ffd400");); - UpdateScreenHeaderMessageCommand=function(self,param) - self:settext(param.Header); - end; -}; - -t.BeginCommand=function(self) - self:SetUpdateFunction( Update ); -end - -return t +return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/kb7 style icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/kb7 style icon.png new file mode 100644 index 0000000000..07c01673f7 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/kb7 style icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/pump style icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/pump style icon.png new file mode 100644 index 0000000000..494dd96fc9 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/pump style icon.png differ diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/techno style icon.png b/Themes/default/Graphics/ScreenWithMenuElements header/techno style icon.png new file mode 100644 index 0000000000..1459a53cd9 Binary files /dev/null and b/Themes/default/Graphics/ScreenWithMenuElements header/techno style icon.png differ diff --git a/Themes/default/Graphics/StepsDisplayListRow StepsType.lua b/Themes/default/Graphics/StepsDisplayListRow StepsType.lua index d79262b22b..12e4383cab 100644 --- a/Themes/default/Graphics/StepsDisplayListRow StepsType.lua +++ b/Themes/default/Graphics/StepsDisplayListRow StepsType.lua @@ -1,29 +1,17 @@ -local sString; +-- I have to do it like this because I think the Set command in the metrics is screwing me over local t = Def.ActorFrame{ ---[[ LoadActor("TestStep") .. { - InitCommand=cmd(zoomto,20,20); - }; --]] - LoadFont("Common normal")..{ - InitCommand=cmd(shadowlength,1;horizalign,left;zoom,0.45;skewx,-0.125); - SetMessageCommand=function(self,param) - sString = THEME:GetString("StepsListDisplayRow StepsType",ToEnumShortString(param.StepsType)); - if param.Steps and param.Steps:IsAutogen() then - self:diffusebottomedge(color("0.75,0.75,0.75,1")); - else - self:diffuse(Color("White")); - end; - self:settext( sString ); - end; - }; - -- argh this isn't working as nicely as I would've hoped... - --[[ + -- todo: make this less stupid Def.Sprite{ + InitCommand=cmd(x,8;horizalign,right), SetMessageCommand=function(self,param) - self:Load( THEME:GetPathG("","_StepsType/"..ToEnumShortString(param.StepsType)) ); - self:diffusealpha(0.5); - end; - }; - --]] -}; + local path = "Themes/"..THEME:GetCurThemeName().."/Graphics/_StepsType/" .. ToEnumShortString(param.StepsType) .. ".png" + if FILEMAN:DoesFileExist(path) then + self:Load( path ) + else + self:Load( THEME:GetPathG("","_StepsType/missing") ) + end + end + } +} return t; \ No newline at end of file diff --git a/Themes/default/Graphics/StepsDisplayListRow autogen.png b/Themes/default/Graphics/StepsDisplayListRow autogen.png index 7f94b310c1..388480f069 100644 Binary files a/Themes/default/Graphics/StepsDisplayListRow autogen.png and b/Themes/default/Graphics/StepsDisplayListRow autogen.png differ diff --git a/Themes/default/Graphics/StepsDisplayListRow frame.png b/Themes/default/Graphics/StepsDisplayListRow frame.png index 3a02abfd2d..9fea26dfb5 100644 Binary files a/Themes/default/Graphics/StepsDisplayListRow frame.png and b/Themes/default/Graphics/StepsDisplayListRow frame.png differ diff --git a/Themes/default/Graphics/StreamDisplay hot.png b/Themes/default/Graphics/StreamDisplay hot.png index 447c2342dc..02ef487b83 100644 Binary files a/Themes/default/Graphics/StreamDisplay hot.png and b/Themes/default/Graphics/StreamDisplay hot.png differ diff --git a/Themes/default/Graphics/StreamDisplay normal.png b/Themes/default/Graphics/StreamDisplay normal.png index a697856e3f..ac60d3eb57 100644 Binary files a/Themes/default/Graphics/StreamDisplay normal.png and b/Themes/default/Graphics/StreamDisplay normal.png differ diff --git a/Themes/default/Graphics/WheelNotifyIcon icons 4x2 (doubleres).png b/Themes/default/Graphics/WheelNotifyIcon icons 4x2.png similarity index 100% rename from Themes/default/Graphics/WheelNotifyIcon icons 4x2 (doubleres).png rename to Themes/default/Graphics/WheelNotifyIcon icons 4x2.png diff --git a/Themes/default/Graphics/_CombinedLifeMeterTug separator (doubleres).png b/Themes/default/Graphics/_CombinedLifeMeterTug separator (doubleres).png new file mode 100644 index 0000000000..f57ee92799 Binary files /dev/null and b/Themes/default/Graphics/_CombinedLifeMeterTug separator (doubleres).png differ diff --git a/Themes/default/Graphics/_StepsDisplayListRow Cursor.png b/Themes/default/Graphics/_StepsDisplayListRow Cursor.png index 3cf3b78a37..cb1e46840b 100644 Binary files a/Themes/default/Graphics/_StepsDisplayListRow Cursor.png and b/Themes/default/Graphics/_StepsDisplayListRow Cursor.png differ diff --git a/Themes/default/Graphics/_StepsDisplayListRow arrow.png b/Themes/default/Graphics/_StepsDisplayListRow arrow.png index 4ccae23710..8b0c5c6ba4 100644 Binary files a/Themes/default/Graphics/_StepsDisplayListRow arrow.png and b/Themes/default/Graphics/_StepsDisplayListRow arrow.png differ diff --git a/Themes/default/Graphics/_StepsType Icon dance-single.png b/Themes/default/Graphics/_StepsType Icon dance-single.png index 3eee7ea478..10eab37f35 100644 Binary files a/Themes/default/Graphics/_StepsType Icon dance-single.png and b/Themes/default/Graphics/_StepsType Icon dance-single.png differ diff --git a/Themes/default/Graphics/_StepsType/Dance_Double.png b/Themes/default/Graphics/_StepsType/Dance_Double.png index 3f982162f3..e92c32ca21 100644 Binary files a/Themes/default/Graphics/_StepsType/Dance_Double.png and b/Themes/default/Graphics/_StepsType/Dance_Double.png differ diff --git a/Themes/default/Graphics/_StepsType/Dance_Single.png b/Themes/default/Graphics/_StepsType/Dance_Single.png index 4ef3788d46..dd8dd5ada2 100644 Binary files a/Themes/default/Graphics/_StepsType/Dance_Single.png and b/Themes/default/Graphics/_StepsType/Dance_Single.png differ diff --git a/Themes/default/Graphics/_StepsType/Dance_Solo.png b/Themes/default/Graphics/_StepsType/Dance_Solo.png index a700df8315..eb7c74ca6d 100644 Binary files a/Themes/default/Graphics/_StepsType/Dance_Solo.png and b/Themes/default/Graphics/_StepsType/Dance_Solo.png differ diff --git a/Themes/default/Graphics/_StepsType/Pump_Double.png b/Themes/default/Graphics/_StepsType/Pump_Double.png index d6f1c91c32..fdada022a1 100644 Binary files a/Themes/default/Graphics/_StepsType/Pump_Double.png and b/Themes/default/Graphics/_StepsType/Pump_Double.png differ diff --git a/Themes/default/Graphics/_StepsType/Pump_HalfDouble.png b/Themes/default/Graphics/_StepsType/Pump_HalfDouble.png index a1a4364bea..8e3745d915 100644 Binary files a/Themes/default/Graphics/_StepsType/Pump_HalfDouble.png and b/Themes/default/Graphics/_StepsType/Pump_HalfDouble.png differ diff --git a/Themes/default/Graphics/_StepsType/Pump_Single.png b/Themes/default/Graphics/_StepsType/Pump_Single.png index 027f3bcee5..02787a2388 100644 Binary files a/Themes/default/Graphics/_StepsType/Pump_Single.png and b/Themes/default/Graphics/_StepsType/Pump_Single.png differ diff --git a/Themes/default/Graphics/_StepsType/Techno_Double4.png b/Themes/default/Graphics/_StepsType/Techno_Double4.png index 3803321070..e92c32ca21 100644 Binary files a/Themes/default/Graphics/_StepsType/Techno_Double4.png and b/Themes/default/Graphics/_StepsType/Techno_Double4.png differ diff --git a/Themes/default/Graphics/_StepsType/Techno_Double5.png b/Themes/default/Graphics/_StepsType/Techno_Double5.png index b863da5759..fdada022a1 100644 Binary files a/Themes/default/Graphics/_StepsType/Techno_Double5.png and b/Themes/default/Graphics/_StepsType/Techno_Double5.png differ diff --git a/Themes/default/Graphics/_StepsType/Techno_Single4.png b/Themes/default/Graphics/_StepsType/Techno_Single4.png index b07134a8b9..dd8dd5ada2 100644 Binary files a/Themes/default/Graphics/_StepsType/Techno_Single4.png and b/Themes/default/Graphics/_StepsType/Techno_Single4.png differ diff --git a/Themes/default/Graphics/_StepsType/Techno_Single5.png b/Themes/default/Graphics/_StepsType/Techno_Single5.png index 568db22a6d..02787a2388 100644 Binary files a/Themes/default/Graphics/_StepsType/Techno_Single5.png and b/Themes/default/Graphics/_StepsType/Techno_Single5.png differ diff --git a/Themes/default/Graphics/_StepsType/Techno_Single8.png b/Themes/default/Graphics/_StepsType/Techno_Single8.png index 0c7fcd3640..22e1d3eea0 100644 Binary files a/Themes/default/Graphics/_StepsType/Techno_Single8.png and b/Themes/default/Graphics/_StepsType/Techno_Single8.png differ diff --git a/Themes/default/Graphics/_StepsType/kb7.png b/Themes/default/Graphics/_StepsType/kb7.png index 2bbfd53e8e..cb6ff1cfcc 100644 Binary files a/Themes/default/Graphics/_StepsType/kb7.png and b/Themes/default/Graphics/_StepsType/kb7.png differ diff --git a/Themes/default/Graphics/_StepsType/missing.png b/Themes/default/Graphics/_StepsType/missing.png new file mode 100644 index 0000000000..b35db74afa Binary files /dev/null and b/Themes/default/Graphics/_StepsType/missing.png differ diff --git a/Themes/default/Graphics/_combined life frame (doubleres).png b/Themes/default/Graphics/_combined life frame (doubleres).png new file mode 100644 index 0000000000..34db8cb739 Binary files /dev/null and b/Themes/default/Graphics/_combined life frame (doubleres).png differ diff --git a/Themes/default/Graphics/_diamond_transition_base.lua b/Themes/default/Graphics/_diamond_transition_base.lua new file mode 100644 index 0000000000..4086870282 --- /dev/null +++ b/Themes/default/Graphics/_diamond_transition_base.lua @@ -0,0 +1,283 @@ +local trans_type= ... + +local variants= { + "shrinking", + "growing", + "growing_with_gaps", + "growing_in_order", + "growing_in_order_with_gaps", + "growing_in_rows", + "growing_in_rows_with_gaps", + "growing_random", + "growing_random_with_gaps", + "growing_random_in_order", + "growing_random_in_order_with_gaps", + "growing_random_in_rows", + "growing_random_in_rows_with_gaps", + "falling_in_order", + "falling_in_rows", + "streaking", + "streaking_random", +} +local picked_variant= "growing_in_rows_with_gaps" + +local diamonds_across= math.random(8, 32) +local diamonds_high= math.random(4, 16) +local diamond_width= _screen.w / diamonds_across +local diamond_height= _screen.h / diamonds_high +local num_diagonals= diamonds_across + diamonds_high +local transition_time= 0.3 +local diamond_side_len= math.sqrt((diamond_width^2) + (diamond_height^2)) +local diagonal_start_x= diamond_width * diamonds_high * -.5 +local diagonal_angle= math.atan2(diamond_height, diamond_width) / math.pi * 180 +local unsquished_side_len= math.sqrt((diamond_height^2)*2) / 2 + +local function make_diagonal_line(x, y, angle) + return Def.Quad{ + InitCommand= function(self) + self:xy(x, y):rotationz(angle):setsize(_screen.h*2, 1) + :diffuse{0, 0, 0, 1} + end, + } +end + +local diamond_ratio= diamond_width / diamond_height +local function make_diamond(x, y, size, diam_com) + return Def.ActorFrame{ + InitCommand= function(self) + self:zoomx(diamond_ratio):xy(x, y) + end, + Def.Quad{ + InitCommand= function(self) + self:setsize(size, size):diffuse{0, 0, 0, 1}:rotationz(45) + end, + }..diam_com} +end + +local trans_frame= Def.ActorFrame{ + StartTransitioningCommand= function(self) + if trans_type == "in" then + self:playcommand("Full"):playcommand("Tween"):playcommand("Empty") + else + self:playcommand("Empty"):playcommand("Tween"):playcommand("Full") + end + end, +} +local variant_words= split("_", picked_variant) +if picked_variant == "shrinking" then + local part_commands= { + EmptyCommand= function(self) + self:zoomy(0) + end, + FullCommand= function(self) + self:zoomy(diamond_side_len) + end, + TweenCommand= function(self) + self:linear(transition_time) + end, + } + for diag= 0, num_diagonals-1 do + local this_x= diagonal_start_x + (diag * diamond_width) + trans_frame[#trans_frame+1]= make_diagonal_line(this_x, _screen.cy, diagonal_angle) + .. part_commands + trans_frame[#trans_frame+1]= make_diagonal_line(this_x, _screen.cy, -diagonal_angle) + .. part_commands + end +elseif variant_words[1] == "growing" then + local part_commands= { + EmptyCommand= function(self) + self:zoom(0) + end, + FullCommand= function(self) + self:zoom(1) + end, + } + local random_flag= picked_variant:find("random") + local in_order_flag= picked_variant:find("in_order") + local in_rows_flag= picked_variant:find("in_rows") + local with_gaps_flag= picked_variant:find("with_gaps") + + local part_size= unsquished_side_len + local num_rows= diamonds_high * 2 + if with_gaps_flag then + part_size= part_size * 2 + num_rows= diamonds_high + end + local num_diamonds= num_rows * diamonds_across + local grow_time= transition_time / 2 + local offset_time= transition_time / num_diamonds + if in_rows_flag then + offset_time= transition_time / num_rows + end + + local row_waits= {} + local loop_internal= function(diam_y, diam_x, x, y) + local new_part= make_diamond(x, y, part_size, part_commands) + local diam_index= #trans_frame + local row_index= num_rows - diam_y + if random_flag then + if in_order_flag then + new_part[1].TweenCommand= function(self) + local index= diam_index + (math.random() * num_diamonds / 2) + local wait= index * offset_time + self:sleep(wait):linear(grow_time) + end + elseif in_rows_flag then + local wait= row_waits[diam_y] + if not wait then + wait= math.random() * num_rows * offset_time + row_waits[diam_y]= wait + end + new_part[1].TweenCommand= function(self) + self:sleep(wait):linear(grow_time) + end + else + new_part[1].TweenCommand= function(self) + local wait= math.random() * num_diamonds * offset_time + self:sleep(wait):linear(grow_time) + end + end + elseif in_order_flag then + new_part[1].TweenCommand= function(self) + local wait= diam_index * offset_time + self:sleep(wait):linear(grow_time) + end + elseif in_rows_flag then + new_part[1].TweenCommand= function(self) + local wait= row_index * offset_time + self:sleep(wait):linear(grow_time) + end + else + new_part[1].TweenCommand= function(self) + self:linear(transition_time) + end + end + trans_frame[#trans_frame+1]= new_part + end + if with_gaps_flag then + for diam_y= num_rows, 0, -1 do + for diam_x= 0, diamonds_across do + loop_internal(diam_y, diam_x, + diam_x * diamond_width, diam_y * diamond_height) + end + end + else + for diam_y= num_rows, 0, -1 do + local start_x= (diam_y % 2) * (diamond_width * .5) + for diam_x= 0, diamonds_across do + loop_internal(diam_y, diam_x, + start_x + diam_x * diamond_width, .5 * diam_y * diamond_height) + end + end + end +elseif variant_words[1] == "falling" then + local in_order_flag= picked_variant:find("in_order") + local in_rows_flag= picked_variant:find("in_rows") + local part_size= unsquished_side_len + local hide_y= _screen.h + diamond_height + local num_rows= diamonds_high * 2 + local num_diamonds= num_rows * diamonds_across + local fall_time= transition_time / 2 + local offset_time= transition_time / num_diamonds + if in_rows_flag then + offset_time= transition_time / num_rows + end + local diam_com= { + EmptyCommand= function(self) + self:zoom(1) + end, + FullCommand= function(self) + self:zoom(1) + end, + } + local loop_internal= function(diam_y, diam_x, start_x) + local diam_index= #trans_frame + local land_x= start_x + diam_x * diamond_width + local land_y= .5 * diam_y * diamond_height + local wait= 0 + if in_order_flag then + wait= diam_index * offset_time + elseif in_rows_flag then + local row_index= num_rows - diam_y + wait= row_index * offset_time + else + wait= math.random() * num_diamonds * offset_time + end + local part_com= { + EmptyCommand= function(self) + if trans_type == "in" then + self:y(land_y + hide_y) + else + self:y(land_y - hide_y) + end + end, + FullCommand= function(self) + self:y(land_y) + end, + TweenCommand= function(self) + self:sleep(wait):linear(fall_time) + end, + } + local new_part= make_diamond(land_x, land_y, part_size, diam_com) .. + part_com + trans_frame[#trans_frame+1]= new_part + end + for diam_y= num_rows, 0, -1 do + local start_x= (diam_y % 2) * (diamond_width * .5) + for diam_x= 0, diamonds_across do + loop_internal(diam_y, diam_x, start_x) + end + end +elseif variant_words[1] == "streaking" then + local random_flag= picked_variant:find("random") + local offset_time= transition_time / diamonds_across + local fall_time= transition_time / 2 + local hide_y= _screen.h + diamond_height + local part_size= unsquished_side_len + local diam_com= { + EmptyCommand= function(self) + self:zoom(1) + end, + FullCommand= function(self) + self:zoom(1) + end, + } + local loop_internal= function(diam_x) + local wait= diam_x * offset_time + if random_flag then + wait= math.random() * diamonds_across * offset_time + end + local new_part= Def.ActorFrame{ + InitCommand= function(self) + self:x(diam_x * diamond_width) + end, + EmptyCommand= function(self) + if trans_type == "in" then + self:y(hide_y) + else + self:y(-hide_y) + end + end, + FullCommand= function(self) + self:y(0) + end, + TweenCommand= function(self) + self:sleep(wait):linear(fall_time) + end, + Def.Quad{ + InitCommand= function(self) + self:y(_screen.cy):setsize(diamond_width, _screen.h) + :diffuse{0, 0, 0, 1} + end, + }, + make_diamond(0, 0, part_size, diam_com), + make_diamond(0, _screen.h, part_size, diam_com), + } + trans_frame[#trans_frame+1]= new_part + end + for diam_x= 0, diamonds_across do + loop_internal(diam_x) + end +end + +return trans_frame diff --git a/Themes/default/Graphics/_pt1.png b/Themes/default/Graphics/_pt1.png new file mode 100644 index 0000000000..f3c0248194 Binary files /dev/null and b/Themes/default/Graphics/_pt1.png differ diff --git a/Themes/default/Graphics/_pt2.png b/Themes/default/Graphics/_pt2.png new file mode 100644 index 0000000000..4bfcf84df0 Binary files /dev/null and b/Themes/default/Graphics/_pt2.png differ diff --git a/Themes/default/Graphics/_pt3.png b/Themes/default/Graphics/_pt3.png new file mode 100644 index 0000000000..7d0bacdebe Binary files /dev/null and b/Themes/default/Graphics/_pt3.png differ diff --git a/Themes/default/Graphics/_pt4.png b/Themes/default/Graphics/_pt4.png new file mode 100644 index 0000000000..7a0615bf6b Binary files /dev/null and b/Themes/default/Graphics/_pt4.png differ diff --git a/Themes/default/Graphics/_pt5.png b/Themes/default/Graphics/_pt5.png new file mode 100644 index 0000000000..4b19175d3c Binary files /dev/null and b/Themes/default/Graphics/_pt5.png differ diff --git a/Themes/default/Graphics/_pt6.png b/Themes/default/Graphics/_pt6.png new file mode 100644 index 0000000000..d1c9d05f91 Binary files /dev/null and b/Themes/default/Graphics/_pt6.png differ diff --git a/Themes/default/Graphics/_rave meter base.png b/Themes/default/Graphics/_rave meter base.png index 1a8f2f93eb..fe916a9509 100644 Binary files a/Themes/default/Graphics/_rave meter base.png and b/Themes/default/Graphics/_rave meter base.png differ diff --git a/Themes/default/Graphics/_rave result P1.png b/Themes/default/Graphics/_rave result P1.png index d981299960..9111d35992 100644 Binary files a/Themes/default/Graphics/_rave result P1.png and b/Themes/default/Graphics/_rave result P1.png differ diff --git a/Themes/default/Graphics/_rave result P2.png b/Themes/default/Graphics/_rave result P2.png index b124b1ca62..f9cfdfece0 100644 Binary files a/Themes/default/Graphics/_rave result P2.png and b/Themes/default/Graphics/_rave result P2.png differ diff --git a/Themes/default/Graphics/_rave result draw.png b/Themes/default/Graphics/_rave result draw.png index 1da6c42218..02ce78ff04 100644 Binary files a/Themes/default/Graphics/_rave result draw.png and b/Themes/default/Graphics/_rave result draw.png differ diff --git a/Themes/default/Graphics/_sortFrame.png b/Themes/default/Graphics/_sortFrame.png new file mode 100644 index 0000000000..6af3ce362a Binary files /dev/null and b/Themes/default/Graphics/_sortFrame.png differ diff --git a/Themes/default/Graphics/_stageFrame.png b/Themes/default/Graphics/_stageFrame.png new file mode 100644 index 0000000000..eabdfd83e6 Binary files /dev/null and b/Themes/default/Graphics/_stageFrame.png differ diff --git a/Themes/default/Graphics/_title_info_icon.lua b/Themes/default/Graphics/_title_info_icon.lua new file mode 100644 index 0000000000..0f2ac75925 --- /dev/null +++ b/Themes/default/Graphics/_title_info_icon.lua @@ -0,0 +1,25 @@ +-- This is used for the life/timing difficulty displays on the title menu, +-- as well as the current gametype. +local params = ... +return Def.ActorFrame { + -- Base + -- todo; make getting the base's image less stupid + LoadActor(THEME:GetPathG("","ScreenSelectPlayMode Icon/_background base")) .. { + InitCommand=cmd(zoomto,70,70;diffuse,params.base_color;diffusebottomedge,ColorMidTone(params.base_color);) + }, + -- The wanted value + LoadFont("Common Normal") .. { + InitCommand=cmd(diffuse,color("#FFFFFF");diffusealpha,0.85;), + OnCommand=function(self) + self:settext( params.value_text ) + self:zoom(string.len(params.value_text) > 3 and 0.6 or 1.5) + end + }, + -- Label + LoadFont("_roboto condensed Bold 48px") .. { + InitCommand=cmd(x,50;zoom,0.35;diffuse,color("#512232");horizalign,left;uppercase,true), + OnCommand= function(self) + self:shadowlength(0):settext(params.label_text) + end, + } +} diff --git a/Themes/default/Graphics/common bg base.png b/Themes/default/Graphics/common bg base.png new file mode 100644 index 0000000000..5093fe206a Binary files /dev/null and b/Themes/default/Graphics/common bg base.png differ diff --git a/Themes/default/Graphics/difficulty BannerBase.png b/Themes/default/Graphics/difficulty BannerBase.png new file mode 100644 index 0000000000..08e178bb9c Binary files /dev/null and b/Themes/default/Graphics/difficulty BannerBase.png differ diff --git a/Themes/default/Graphics/menu_icons/bool 1x2.png b/Themes/default/Graphics/menu_icons/bool 1x2.png new file mode 100644 index 0000000000..95d59739ad Binary files /dev/null and b/Themes/default/Graphics/menu_icons/bool 1x2.png differ diff --git a/Themes/default/Graphics/menu_icons/chevron.png b/Themes/default/Graphics/menu_icons/chevron.png new file mode 100644 index 0000000000..f95783ddeb Binary files /dev/null and b/Themes/default/Graphics/menu_icons/chevron.png differ diff --git a/Themes/default/Graphics/menu_icons/menu.png b/Themes/default/Graphics/menu_icons/menu.png new file mode 100644 index 0000000000..98f7bac882 Binary files /dev/null and b/Themes/default/Graphics/menu_icons/menu.png differ diff --git a/Themes/default/Graphics/pause_menu.lua b/Themes/default/Graphics/pause_menu.lua index 6da3f7b44f..9e413faed0 100644 --- a/Themes/default/Graphics/pause_menu.lua +++ b/Themes/default/Graphics/pause_menu.lua @@ -24,9 +24,9 @@ if GAMESTATE:IsCourseMode() then } end local menu_spacing= 32 -local menu_bg_width= _screen.w * .4 +local menu_bg_width= _screen.w * .2 local menu_text_width= _screen.w * .35 -local menu_x= {[PLAYER_1]= _screen.w*.25, [PLAYER_2]= _screen.w*.75} +local menu_x= {[PLAYER_1]= THEME:GetMetric(Var "LoadingScreen","PlayerP1MiscX"), [PLAYER_2]= THEME:GetMetric(Var "LoadingScreen","PlayerP2MiscX")} local menu_y= _screen.cy - (#menu_choices * .5 * menu_spacing) local current_menu_choice= {} local menu_is_showing= {} @@ -34,17 +34,17 @@ local enabled_players= {} local function create_menu_item(pn, x, y, item_name) return Def.BitmapText{ - Font= "Common Normal", Text= THEME:GetString("PauseMenu", item_name), + Font= "Common Condensed", Text= THEME:GetString("PauseMenu", item_name), InitCommand= function(self) self:xy(x, y) table.insert(menu_items[pn], self) self:playcommand("LoseFocus") end, LoseFocusCommand= function(self) - self:stopeffect():rotationz(0) + self:diffusealpha(0.5) end, GainFocusCommand= function(self) - self:wag():effectperiod(2):effectmagnitude(0, 0, 5) + self:diffusealpha(1) end, } end @@ -65,7 +65,7 @@ local function create_menu_frame(pn, x, y) InitCommand= function(self) self:setsize(menu_bg_width, menu_spacing * (#menu_choices + 1)) :y(-menu_spacing):vertalign(top) - :diffuse{0, 0, 0, .25} + :diffuse{0, 0, 0, .75} :playcommand("Hide") end, }, diff --git a/Themes/default/Languages/de.ini b/Themes/default/Languages/de.ini index 9380cd97ad..4d3f4ef7bb 100644 --- a/Themes/default/Languages/de.ini +++ b/Themes/default/Languages/de.ini @@ -214,6 +214,20 @@ Lower=Lower Short=Kurz Long=Lang +[newfield_options] +gameplay_options=Gameplay Options +ComboUnderField=Combo Under Field +FlashyCombo=Flashy Combo +GameplayShowScore=Show Score +GameplayShowStepsDisplay=Show Steps +JudgmentUnderField=Judgment Under Field + +[newfield_explanations] +ComboUnderField=Determine if the combo should display under the notes or not. +FlashyCombo=Determine if combo flashes should be shown or not. +GameplayShowScore=Show or Hide the score display in gameplay. +GameplayShowStepsDisplay=Show or Hide the step information display in gameplay. + [ScreenTestInput] HelpText=Halte &BACK; oder &START; um zu verlassen. diff --git a/Themes/default/Languages/en.ini b/Themes/default/Languages/en.ini index c279c97903..f583a04db9 100644 --- a/Themes/default/Languages/en.ini +++ b/Themes/default/Languages/en.ini @@ -11,9 +11,9 @@ HelpText=&BACK; Exit &START; Select &MENUUP;&MENUDOWN; Move Network OK=Network OK Offline=Offline Connected to %s=Connected to %s -CurrentGametype=Current Gametype: %s -LifeDifficulty=Life Difficulty: %s -TimingDifficulty=Timing Difficulty: %s +CurrentGametype=Current Gametype +LifeDifficulty=Life Difficulty +TimingDifficulty=Timing Difficulty %i Songs (%i Groups), %i Courses=%i Songs (%i Groups), %i Courses [ScreenTitleJoin] @@ -44,12 +44,14 @@ HelpText=... Loading profiles, please wait ... %d Songs Played=%d Songs Played PressStart=Press &START; to join. HelpText=&MENUUP;&MENUDOWN; Switch Profile &START; Choose/Join &BACK; Unselect +HeaderSubText=Choose your character! [ScreenSelectMaster] HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move [ScreenSelectPlayMode] HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move +HeaderSubText=How would you like to groove today? EasyExplanation=A mode for beginners. HardExplanation=For experts. OldNormalExplanation=Not too easy, not too hard. @@ -59,24 +61,30 @@ NonstopExplanation=Several Songs in a row OniExplanation=A true test of skill. EndlessExplanation=It don't stop, it keep rollin'. -[ScreenSelectPlayStyle] +[ScreenSelectStyle] HelpText=&BACK; Exit &START; Select &MENULEFT;&MENURIGHT; Move +HeaderSubText=There is no wrong way to play. [ScreenGameInformation] HelpText=&BACK; Exit &START; Skip [ScreenSelectMusic] NEW!=NEW! -Press Start For Options=Press &START; for Options -Entering Options=Entering Options -HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&AUXWHITE;+[KEY] Sort To [KEY] -AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Change Difficulties &SELECT;+&START; Quick Sort +Press Start For Options=Press &START; for options +Entering Options=Entering options menu... +HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move &SELECT; Shortcuts (hold):: &MENUUP;&MENUUP;/&MENUDOWN;&MENUDOWN; Change Difficulty &AUXWHITE;+[KEY] Sort by [KEY] +AlternateHelpText=&MENULEFT;&MENURIGHT; Change Difficulty &START; Change Sort +HeaderSubText= +SortLabel=Sort +SpeedLabel=Speed +LengthLabel=Length +StageLabel=Stage [ScreenSelectCourse] -HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&UP;&DOWN;&UP;&DOWN; for other course types +HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move::&MENUUP;&MENUUP;/&MENUDOWN;&MENUDOWN; Change Difficulty &UP;&DOWN;&UP;&DOWN; for other course types [ScreenOptions] -HelpText=&BACK; Exit &START; Choose &SELECT; Go Up &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move +HelpText=&BACK; Exit &START; Choose &SELECT; Go Up &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move Disqualified=Score will be disqualified! [ScreenStageInformation] @@ -111,10 +119,24 @@ MachineRecord=Machine Record #%i! PersonalRecord=Personal Record #%i! ITG DP:=ITG DP: MIGS DP:=MIGS DP: +HeaderText=Evaluation +HeaderSubText=Let's see how you did. +ExtraUnlocked=Extra Stage Available! + +[ScreenEditMenu] +HeaderText=Edit Songs [ScreenContinue] HelpText=&START; Advance Timer +[ScreenNestyPlayerOptions] +HeaderText=Select Options +HeaderSubText=Option after option, look at all those options! +HelpText=&BACK; Exit &START; Select/Toggle &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move &SELECT; Back to top + +[ScreenOptionsService] +HeaderSubText=If all else fails, throw a wrench at it. + [OptionTitles] AutoSetStyle=Auto Set Style NotePosition=Note Positions @@ -130,9 +152,14 @@ GameplayFooter=Gameplay Footer FancyUIBG=Fancy UI Background TimingDisplay=Timing Display +PreferredMeter=Preferred Meter +CustomComboContinue=Min Judgment to Continue Combo +CustomComboMaintain=Min Judgment to Maintain Combo +ForcedExtraMods=Force Mods on Extra Stage + [OptionExplanations] AutoSetStyle=Allow the game to list all one player and two player modes at once instead of one style only. This might require a restart of StepMania (or press Shift+F2). -NotePosition=Determines where the arrow receptors are placed in gameplay. +NotePosition=Determines where the arrow receptors are placed in gameplay. ComboOnRolls=Choose if rolls should increment the combo or not. If you change this option, you will need to reload the metrics (via Shift+F2) for it to take effect. ComboUnderField=Determine if the combo should display under the notes or not. @@ -147,6 +174,11 @@ TimingDisplay=Toggles the display of timing segments on the song progress meter. ScoringType=Defines which scoring method to use. If Special is selected, you can select a Special Scoring Mode in Theme Options. +PreferredMeter=Choose your preferred difficulty scale; this mainly affects the "boss song" threshold. If you change this option, you will need to reload the metrics (via Shift+F2) for it to take effect. +CustomComboContinue=Choose the minimum judgment needed to continue a combo, or choose Default if you're not sure. +CustomComboMaintain=Choose the minimum judgment needed to maintain a combo (without incrementing), or choose Default if you're not sure. +ForcedExtraMods=Choose whether or not forced mods should be used on Extra stages. + Speed=Adjust the speed at which arrows travel toward the targets. Accel=Change the way arrows approach the targets. Effect=Change the size or movement of the arrows and/or targets. @@ -168,6 +200,15 @@ Characters=Dancing buddies. SaveToProfileHelp=Requires profile or memory card. MusicRateHelp=Play the music at a faster rate. +LifeType=Choose between standard lifebar and battery (limited lives) modes. +BarDrain=Behavior of the standard lifebar. +BatLives=The number of lives given for the battery lifebar. +Fail=Adjust if and when the song ends if player life is depleted. +Assist=Sound effects that assist in following the rhythm of a song. +Rate=The playback speed of the song as a whole. +AutoAdjust=Calibrate song or gameplay timing and synchronization whilst playing the song. +SaveScores=Choose whether scores for this song will be saved. + [StepsListDisplayRow StepsType] Dance_Single=4 Dance_Double=8 @@ -226,6 +267,32 @@ Normal=Normal Lower=Lower Short=Short Long=Long +Play Song=Play Song + +MeterClassic=1 to 10 (DDR/ITG) +MeterX=1 to 19 (DDR X) +MeterPump=1 to ?? (PIU) + +[notefield_options] +gameplay_options=Gameplay Options +ComboUnderField=Combo Under Field +FlashyCombo=Flashy Combo +GameplayShowScore=Show Score +GameplayShowStepsDisplay=Show Steps +JudgmentUnderField=Judgment Under Field +advanced_notefield_config=Notefield Config +notefield_mods_clear=Reset +notefield_mods_profile_save=Save Effects Mods +notefield_mods_profile_clear=Clear Saved Effects Mods +notefield_toggle_mods=Effects Mods +notefield_value_mods=Effects Mods (V) +ScreenFilter=Field Filter +noteskin_params=Noteskin Settings + +[notefield_explanations] +gameplay_options=Turn off or change some gameplay elements. +ComboUnderField=Combo is underneath notes when turned on. +JudgmentUnderField=Judgment is underneath notes when turned on. [ScreenTestInput] HelpText=Hold &BACK; or &START; to exit. @@ -261,6 +328,51 @@ Tap=When the arrows rise to this point,\nstep on the matching panels. Jump=Step on both panels if two different\narrows appear at the same time! Miss=If you misstep repeatedly, your dance\ngauge will decrease until the game\nis over! - [Protiming] MS=MS + +[ScreenNetRoom] +HeaderText=Online Lobby + +[ScreenNetSelectMusic] +HeaderText=Select Music + +[LongStepsType] +Dance_Single=Dance Single +Dance_Double=Dance Double +Dance_Couple=Dance Couple +Dance_Solo=Dance Solo +Dance_Routine=Dance Routine +Dance_Threepanel=Dance 3 Panels +Pump_Single=Pump Single +Pump_Double=Pump Double +Pump_Halfdouble=Pump Half-Double +Pump_Couple=Pump Couple +Pump_Routine=Pump Routine +Kb7_Single=KB7 +Ez2_Single=Ez2 Single +Ez2_Double=Ez2 Double +Ez2_Real=Ez2 Real +Para_Single=Para Single +Ds3ddx_Single=DS3DDX Single +Bm_Single5=BM 5 Keys +Bm_Versus5=BM VS 5k +Bm_Double5=BM 10 Keys +Bm_Single7=BM 7 Keys +Bm_Versus7=BM VS 7k +Bm_Double7=BM 14 Keys +Maniax_Single=Maniax Single +Maniax_Double=Maniax Double +Techno_Single4=Techno Single 4 +Techno_Single5=Techno Single 5 +Techno_Single8=Techno Single 8 +Techno_Double4=Techno Double 4 +Techno_Double5=Techno Double 5 +Techno_Double8=Techno Double 8 +Pnm_Five=PNM 5 Button +Pnm_Nine=PNM 9 Button +Lights_Cabinet=Lights +Kickbox_Human=Kickbox Human +Kickbox_Quadarm=Kickbox Quadarm +Kickbox_Insect=Kickbox Insect +Kickbox_Arachnid=Kickbox Arachnid \ No newline at end of file diff --git a/Themes/default/Languages/es.ini b/Themes/default/Languages/es.ini index ab8baefc77..6d72b018f0 100644 --- a/Themes/default/Languages/es.ini +++ b/Themes/default/Languages/es.ini @@ -206,6 +206,18 @@ Many=Muchas Normal=Normal Short=Corta +[newfield_options] +ComboUnderField=Combo bajo las notas +FlashyCombo=Combo animado +GameplayShowScore=Mostrar puntuación +GameplayShowStepsDisplay=Mostrar pasos + +[newfield_explanations] +ComboUnderField=Determina si el combo debe aparecer bajo las notas o no. +FlashyCombo=Determina si los flashes del combo deben mostrarse. +GameplayShowScore=Muestra u oculta la puntuación en el juego. +GameplayShowStepsDisplay=Muestra u oculta la información de pasos en el juego. + [Protiming] MS=MS @@ -252,3 +264,38 @@ Tap=Cuando las flechas suban a este punto,\npisa el panel correspondiente. [ScreenMapControllers] Exit=Salir + +[ScreenEvaluation] +HeaderText=Resultado + +[ScreenEditMenu] +HeaderText=Editar canciones/pasos +HeaderSubText=Haz canciones perfectas +HelpText=&BACK; Salir &START; Seleccionar &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Mover &SELECT; Regresar [PgUp][PgDown] Saltar + +edit_description_prompt=Escribe una descripción para esta edición. +delete_chart_prompt=¿Estás seguro de eliminar estos pasos? + +steps_action_back=Salir a los pasos +copy_dest_slot_back=Salir a elegir estilo de juego +copy_dest_style_back=Salir a elegir archivo a copiar +copy_from_back=Salir a elegir archivo a editar +new_chart_slot_back=Salir a elegir tipo de pasos +new_chart_stype_back=Salir a elegir pasos a editar +steps_list_back=Salir a elegir canción +song_list_back=Salir a elegir grupo +exit_edit_menu=Salir del modo editar + +edit_chart=Editar pasos +delete_chart=Eliminar pasos +new_chart=Nuevos pasos +copy_from=Crear nueva copia + +copy_to_slot_format=Copiar a %s %s +new_chart_slot_format=Nuevo - %s %s + +copy_dest_slot_menu=Elige la dificultad para los nuevos pasos. +copy_dest_stype_menu=Elige el tipo de notas para los nuevos pasos. +copy_from_menu=Elige los pasos a copiar. +new_chart_slot_menu=Elige la dificultad para los pasos. +new_chart_stype_menu=Elige el tipo de notas para los pasos. diff --git a/Themes/default/Languages/fr.ini b/Themes/default/Languages/fr.ini index a7d4ea53ab..e83375d08a 100644 --- a/Themes/default/Languages/fr.ini +++ b/Themes/default/Languages/fr.ini @@ -214,6 +214,18 @@ Lower=Plus Bas Short=Court Long=Long +[newfield_options] +ComboUnderField=Combo Sous le Champ +FlashyCombo=Combo Éclatant +GameplayShowScore=Afficher le Score +GameplayShowStepsDisplay=Afficher les Pas + +[newfield_explanations] +ComboUnderField=Détermine si les combos doivent s'afficher ou non sous les flèches. +FlashyCombo=Choisi si les éclats de combo doivent être montrés ou non. +GameplayShowScore=Affiche ou masque le score en jeu. +GameplayShowStepsDisplay=Affiche ou masque les informations de pas en jeu. + [ScreenTestInput] HelpText=Tenir &BACK; ou &START; pour Quitter diff --git a/Themes/default/Languages/id.ini b/Themes/default/Languages/id.ini index 3588dbb2d6..2159d8970c 100644 --- a/Themes/default/Languages/id.ini +++ b/Themes/default/Languages/id.ini @@ -227,6 +227,18 @@ Lower=Rendah (Lower) Short=Pendek (Short) Long=Panjang (Long) +[newfield_options] +ComboUnderField=Combo Under Field +FlashyCombo=Kombo Berkedip-kedip +GameplayShowScore=Tunjukan Skor +GameplayShowStepsDisplay=Tunjukan Steps + +[newfield_explanations] +ComboUnderField=Menentukan Apabila Kombo harus terletak dibawah not atau tidak. +FlashyCombo=Menentukan apabila kilat kombo harus ditunjukan atau tidak. +GameplayShowScore=Tunjukan atau Sembunyikan layar skor saat bermain. +GameplayShowStepsDisplay=Tunjukan atau Sembunyikan Informasi step saat bermain. + [ScreenTestInput] HelpText=Tahan &BACK; atau &START; untuk Keluar. diff --git a/Themes/default/Languages/ja.ini b/Themes/default/Languages/ja.ini index 53aa88fd02..d5b9f83f0f 100644 --- a/Themes/default/Languages/ja.ini +++ b/Themes/default/Languages/ja.ini @@ -221,6 +221,14 @@ Lower=Lower Short=Short Long=Long +[newfield_options] + +[newfield_explanations] +ComboUnderField=コンボ数をæç”»ã™ã‚‹ãƒ¬ã‚¤ãƒ¤ãƒ¼ã®éšŽå±¤ã‚’é¸æŠžã—ã¾ã™ã€‚ +FlashyCombo=ã“ã®é …目をOnã«è¨­å®šã™ã‚‹ã¨ã€50コンボã”ã¨ã«ç”»é¢ã«å…‰ã®è¼ªãŒæç”»ã•れã¾ã™ã€‚ +GameplayShowScore=プレイ中ã®ã‚¹ã‚³ã‚¢è¡¨ç¤ºã®æœ‰ç„¡ã‚’設定ã—ã¾ã™ã€‚ +GameplayShowStepsDisplay=プレイ中ã®è­œé¢æƒ…å ±è¡¨ç¤ºã®æœ‰ç„¡ã‚’設定ã—ã¾ã™ã€‚ + [ScreenTestInput] HelpText=&BACK;を押ã—ã£ã±ãªã—ã«ã™ã‚‹ã‹&START; 終了 diff --git a/Themes/default/Languages/nl.ini b/Themes/default/Languages/nl.ini index 25a28d354a..779cf94ea0 100644 --- a/Themes/default/Languages/nl.ini +++ b/Themes/default/Languages/nl.ini @@ -242,6 +242,18 @@ Many=Veel Normal=Normaal Short=Kort +[newfield_options] +ComboUnderField=Combo Onder Veld +FlashyCombo=Flitsende Combo +GameplayShowScore=Toon Score +GameplayShowStepsDisplay=Toon Stappen + +[newfield_explanations] +ComboUnderField=Kiest of de combo wel of niet onder de noten moet worden weergegeven. +FlashyCombo=Beslist of de combo flitsen wel of niet moeten worden weergegeven. +GameplayShowScore=Toon of Verberg de punten tijdens het spelen. +GameplayShowStepsDisplay=Toon of Verberg de stapinformatie tijden het spelen. + [ScreenTestInput] HelpText=Houd &BACK; of &START; ingedrukt om te stoppen. diff --git a/Themes/default/Languages/pl.ini b/Themes/default/Languages/pl.ini index 27b8d45dba..9e2aa679d6 100644 --- a/Themes/default/Languages/pl.ini +++ b/Themes/default/Languages/pl.ini @@ -214,6 +214,18 @@ Lower=Obniżone Short=Krótki Long=DÅ‚ugi +[newfield_options] +ComboUnderField=Combo Pod StrzaÅ‚kami +FlashyCombo=BÅ‚yskajÄ…ce Combo +GameplayShowScore=Pokazuj wyniki +GameplayShowStepsDisplay=Pokazuj Kroki + +[newfield_explanations] +ComboUnderField=OkreÅ›la czy wskaźnik Combo powinien być wyÅ›wietlany nad czy pod strzaÅ‚kami. +FlashyCombo=OkreÅ›la czy licznik Combo może bÅ‚yskać czy nie. +GameplayShowScore=WyÅ›wietla lub ukrywa licznik punktów podczas gry. +GameplayShowStepsDisplay=WyÅ›wietla lub ukrywa statystykÄ™ strzaÅ‚ek podczas gry. + [ScreenTestInput] HelpText=Przytrzymaj &BACK; lub &START; aby wyjść. diff --git a/Themes/default/Scripts/02 BranchOverrides.lua b/Themes/default/Scripts/02 BranchOverrides.lua new file mode 100644 index 0000000000..cc85a7f3ab --- /dev/null +++ b/Themes/default/Scripts/02 BranchOverrides.lua @@ -0,0 +1,6 @@ +Branch.OptionsEdit = function() + if SONGMAN:GetNumSongs() == 0 and SONGMAN:GetNumAdditionalSongs() == 0 then + return "ScreenHowToInstallSongs" + end + return "ScreenEditMenu" +end \ No newline at end of file diff --git a/Themes/default/Scripts/02 Colors.lua b/Themes/default/Scripts/02 Colors.lua index bd1e03056b..fe1c166d88 100644 --- a/Themes/default/Scripts/02 Colors.lua +++ b/Themes/default/Scripts/02 Colors.lua @@ -1,7 +1,115 @@ -ModeIconColors = { - Normal = color("#FFEE00"), -- yellow - Rave = color("#db93ff"), -- violet - Nonstop = color("#5ca9ff"), -- blue - Oni = color("#00f1e2"), -- cyan - Endless = color("#b4c3d2"), -- steel +-- color based on screen name +function ScreenColor(screen) + local colors = { + ["ScreenSelectStyle"] = ScreenColors.Style, + ["ScreenSelectPlayMode"] = ScreenColors.PlayMode, + ["ScreenSelectMusic"] = ScreenColors.Music, + ["ScreenSelectCourse"] = ScreenColors.Course, + ["ScreenPlayerOptions"] = ScreenColors.PlayerOptions, + ["ScreenNestyPlayerOptions"] = ScreenColors.PlayerOptions, + ["ScreenOptionsService"] = ScreenColors.OptionsService, + ["ScreenEvaluationNormal"] = ScreenColors.Evaluation, + ["ScreenHighScores"] = ScreenColors.Evaluation, + ["ScreenEvaluationSummary"] = ScreenColors.Summary, + ["ScreenStageInformation"] = ScreenColors.StageInformation, + ["ScreenEditMenu"] = ScreenColors.Edit, + ["ScreenSMOnlineLogin"] = ScreenColors.Online, + ["ScreenNetRoom"] = ScreenColors.Online, + ["ScreenNetSelectMusic"] = ScreenColors.Online, + ["Default"] = ScreenColors.Default, + } + + if colors[screen] then return colors[screen]; + else return colors["Default"]; end; +end; + +ScreenColors = { + Style = color("#81468B"), + PlayMode = color("#478e6f"), + Music = color("#1268aa"), + Online = color("#1CA6A0"), + Course = color("#6D1646"), + PlayerOptions = color("#544abe"), + OptionsService = color("#1C1C1B"), + Evaluation = color("#806635"), + Summary = color("#B38D47"), + StageInformation = color("#D05722"), + Edit = color("#B34754"), + Default = color("#1C1C1B"), } + +ModeIconColors = { + Normal = color("#339FF2"), + Rave = color("#6BFF90"), + Nonstop = color("#FF66AB"), + Oni = color("#6C58C1"), + Endless = color("#6040A7"), +} + +GameColor = { + PlayerColors = { + PLAYER_1 = color("#437CE7"), + PLAYER_2 = color("#EB3F8C"), + both = color("#FFFFFF"), + }, + PlayerDarkColors = { + PLAYER_1 = color("#EB3F8C"), + PLAYER_2 = color("#89385A"), + both = color("#F5E1E1"), + }, + Difficulty = { + --[[ These are for 'Custom' Difficulty Ranks. It can be very useful + in some cases, especially to apply new colors for stuff you + couldn't before. (huh? -aj) ]] + Beginner = color("#8541B9"), -- purple + Easy = color("#5EBA42"), -- green + Medium = color("#D1C340"), -- yellow + Hard = color("#CB4833"), -- orange + Challenge = color("#1cd8ff"), -- light blue + Edit = color("0.8,0.8,0.8,1"), -- gray + Couple = color("#ed0972"), -- hot pink + Routine = color("#ff9a00"), -- orange + --[[ These are for courses, so let's slap them here in case someone + wanted to use Difficulty in Course and Step regions. ]] + Difficulty_Beginner = color("#8541B9"), -- purple + Difficulty_Easy = color("#5EBA42"), -- green + Difficulty_Medium = color("#D1C340"), -- yellow + Difficulty_Hard = color("#CB4833"), -- orange + Difficulty_Challenge = color("#1cd8ff"), -- light blue + Difficulty_Edit = color("0.8,0.8,0.8,1"), -- gray + Difficulty_Couple = color("#ed0972"), -- hot pink + Difficulty_Routine = color("#ff9a00") -- orange + }, + Stage = { + Stage_1st = color("#F6C455"), + Stage_2nd = color("#EDA858"), + Stage_3rd = color("#E69259"), + Stage_4th = color("#DD775B"), + Stage_5th = color("#D55E5D"), + Stage_6th = color("#CD445F"), + Stage_Next = color("#73ff00"), + Stage_Final = color("#4BC6EB"), + Stage_Extra1 = color("#B60052"), + Stage_Extra2 = color("#FF499B"), + Stage_Nonstop = color("#FFD782"), + Stage_Oni = color("#FF714D"), + Stage_Endless = color("#6040A7"), + Stage_Event = color("#9d324e"), + Stage_Demo = color("#9d324e") + }, + Judgment = { + JudgmentLine_W1 = color("#A0DBF1"), + JudgmentLine_W2 = color("#F1E4A2"), + JudgmentLine_W3 = color("#ABE39B"), + JudgmentLine_W4 = color("#86ACD6"), + JudgmentLine_W5 = color("#958CD6"), + JudgmentLine_Held = color("#FFFFFF"), + JudgmentLine_Miss = color("#ff3c3c"), + JudgmentLine_MaxCombo = color("#ffc600") + }, +} + +GameColor.Difficulty["Crazy"] = GameColor.Difficulty["Hard"] +GameColor.Difficulty["Freestyle"] = GameColor.Difficulty["Easy"] +GameColor.Difficulty["Nightmare"] = GameColor.Difficulty["Challenge"] +GameColor.Difficulty["HalfDouble"] = GameColor.Difficulty["Medium"] \ No newline at end of file diff --git a/Themes/default/Scripts/02 ThemePrefs.lua b/Themes/default/Scripts/02 ThemePrefs.lua index f13ce3130f..59191cfd54 100644 --- a/Themes/default/Scripts/02 ThemePrefs.lua +++ b/Themes/default/Scripts/02 ThemePrefs.lua @@ -3,7 +3,7 @@ local function OptionNameString(str) return THEME:GetString('OptionNames',str) end --- Example usage of new system (not fully implemented yet) +-- Example usage of new system (absolutely fully implemented and completely usable) local Prefs = { AutoSetStyle = @@ -50,7 +50,7 @@ local Prefs = }, FlashyCombo = { - Default = false, + Default = true, Choices = { OptionNameString('Off'), OptionNameString('On') }, Values = { false, true } }, @@ -62,7 +62,7 @@ local Prefs = }, FancyUIBG = { - Default = false, + Default = true, Choices = { OptionNameString('Off'), OptionNameString('On') }, Values = { false, true } }, @@ -78,6 +78,30 @@ local Prefs = Choices = { OptionNameString('Off'), OptionNameString('On') }, Values = { false, true } }, + PreferredMeter = + { + Default = "old", + Choices = { OptionNameString('MeterClassic'), OptionNameString('MeterX'), OptionNameString('MeterPump') }, + Values = { "old", "X", "pump" } + }, + CustomComboContinue = + { + Default = "default", + Choices = { OptionNameString('Default'), OptionNameString('TNS_W1'), OptionNameString('TNS_W2'), OptionNameString('TNS_W3'), OptionNameString('TNS_W4') }, + Values = { "default", "TapNoteScore_W1", "TapNoteScore_W2", "TapNoteScore_W3", "TapNoteScore_W4" } + }, + CustomComboMaintain = + { + Default = "default", + Choices = { OptionNameString('Default'), OptionNameString('TNS_W1'), OptionNameString('TNS_W2'), OptionNameString('TNS_W3'), OptionNameString('TNS_W4') }, + Values = { "default", "TapNoteScore_W1", "TapNoteScore_W2", "TapNoteScore_W3", "TapNoteScore_W4" } + }, + ForcedExtraMods = + { + Default = true, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + } } ThemePrefs.InitAll(Prefs) diff --git a/Themes/default/Scripts/02 Utilities.lua b/Themes/default/Scripts/02 Utilities.lua new file mode 100644 index 0000000000..73636cb81e --- /dev/null +++ b/Themes/default/Scripts/02 Utilities.lua @@ -0,0 +1,6 @@ +-- Placed here to keep shit from breaking until I get myself together long enough to deal with it all +function scale_to_fit(actor, width, height) + local xscale= width / actor:GetWidth() + local yscale= height / actor:GetHeight() + actor:zoom(math.min(xscale, yscale)) +end \ No newline at end of file diff --git a/Themes/default/Scripts/03 Gameplay.lua b/Themes/default/Scripts/03 Gameplay.lua index 1235c302b6..503b604323 100644 --- a/Themes/default/Scripts/03 Gameplay.lua +++ b/Themes/default/Scripts/03 Gameplay.lua @@ -23,4 +23,64 @@ end -- combo under field is another thing that doesn't always need to be custom function ComboUnderField() return ThemePrefs.Get("ComboUnderField") +end + +-- The "boss song" threshold is controlled entirely by a theme preference. +function GetExtraColorThreshold() + local ret = { + ["old"] = 10, + ["X"] = 15, + ["pump"] = 21, + } + return ret[ThemePrefs.Get("PreferredMeter")] or 10 +end + +-- These judgment-related things are also controlled by theme preferences, +-- but allow using the default gametype-based setting just in case. + +-- Lowest judgment allowed to increment a combo. +function ComboContinue() + local Continue = { + dance = GAMESTATE:GetPlayMode() == "PlayMode_Oni" and "TapNoteScore_W2" or "TapNoteScore_W3", + pump = "TapNoteScore_W3", + beat = "TapNoteScore_W3", + kb7 = "TapNoteScore_W3", + para = "TapNoteScore_W4" + } + if ThemePrefs.Get("CustomComboContinue") ~= "default" then + return ThemePrefs.Get("CustomComboContinue") + else + return Continue[GAMESTATE:GetCurrentGame():GetName()] or "TapNoteScore_W3" + end +end + +-- Lowest judgment allowed to maintain a combo; but not increment it. +function ComboMaintain() + local Maintain = { + dance = "TapNoteScore_W3", + pump = "TapNoteScore_W4", + beat = "TapNoteScore_W3", + kb7 = "TapNoteScore_W3", + para = "TapNoteScore_W4" + } + if ThemePrefs.Get("CustomComboMaintain") ~= "default" then + return ThemePrefs.Get("CustomComboMaintain") + else + return Maintain[GAMESTATE:GetCurrentGame():GetName()] or "TapNoteScore_W3" + end +end + +-- The name's misleading; this is used for SelectPlayMode. +function ScreenSelectStylePositions(count) + local poses= {} + local choice_size = 192 + + for i= 1, count do + local start_x = _screen.cx + ( (choice_size / 1.5) * ( i - math.ceil(count/2) ) ) + -- The Y position depends on if the icon's index is even or odd. + local start_y = i % 2 == 0 and _screen.cy / 0.8 or (_screen.cy / 0.8) - (choice_size / 1.5) + poses[#poses+1] = {start_x, start_y} + end + + return poses end \ No newline at end of file diff --git a/Themes/default/Scripts/04 Other.lua b/Themes/default/Scripts/04 Other.lua index 80cabd8e7b..de5ed114e9 100644 --- a/Themes/default/Scripts/04 Other.lua +++ b/Themes/default/Scripts/04 Other.lua @@ -1,24 +1,3 @@ -function SongMeterDisplayX(pn) - if Center1Player() then - return SCREEN_CENTER_X - else - return pn == PLAYER_1 and SCREEN_LEFT+16 or SCREEN_RIGHT-16 - end -end - -function SongMeterDisplayY(pn) - return Center1Player() and SCREEN_TOP+50 or SCREEN_CENTER_Y -end - -function SongMeterDisplayCommand(pn) - if Center1Player() then - return cmd(draworder,50;zoom,0;y,SCREEN_TOP-24;sleep,1.5;decelerate,0.5;zoom,1;y,SCREEN_TOP+50) - else - local xAdd = (pn == PLAYER_1) and -24 or 24 - return cmd(draworder,5;rotationz,-90;zoom,0;addx,xAdd;sleep,1.5;decelerate,0.5;zoom,1;addx,xAdd*-1) - end -end - local numbered_stages= { Stage_1st= true, Stage_2nd= true, @@ -46,4 +25,4 @@ end function check_stop_course_early() return course_stopped_by_pause_menu -end +end \ No newline at end of file diff --git a/Themes/default/Scripts/04 item_scroller.lua b/Themes/default/Scripts/04 item_scroller.lua new file mode 100644 index 0000000000..5b0727cf7c --- /dev/null +++ b/Themes/default/Scripts/04 item_scroller.lua @@ -0,0 +1,216 @@ +-- item_scroller is a replacement for ActorScroller. Kyzentun made it +-- because writing code is easier than reading documentation and code and +-- carefully verifying exactly what some unfamiliar actor class does. +-- Original versions found in Consensual were named sick_wheel. + +-- item_scroller is based on the idea that you have some table of data to +-- display, and an actor that can display one element of data. + +-- See Docs/Themerdocs/item_scroller.md for documentation. + +function table.rotate_right(t, r) + local new_t= {} + for n= 1, #t do + local index= ((n - r - 1) % #t) + 1 + new_t[n]= t[index] + end + return new_t +end + +function table.rotate_left(t, r) + local new_t= {} + for n= 1, #t do + local index= ((n + r - 1) % #t) + 1 + new_t[n]= t[index] + end + return new_t +end + +function wrapped_index(start, offset, set_size) + return ((start - 1 + offset) % set_size) + 1 +end + +function force_to_range(min, number, max) + return math.min(max, math.max(min, number)) +end + +-- These local functions are meant for internal use only. Things that use +-- item_scroller should not need to call them directly. +local function check_metatable(item_metatable) + assert(item_metatable.__index.create_actors, "The metatable must have a create_actors function. This should return a Def.ActorFrame containing whatever actors will be needed for display.") + assert(item_metatable.__index.transform, "The metatable must have a transform function. The transform function must take 3 arguments: position in list (1 to num_items), number of items in list, boolean indicating whether item has focus.") + assert(item_metatable.__index.set, "The metatable must have a set function. The set function must take an instance of info, which it should use to set its actors to display the info.") +end + +local function calc_start(self, info, pos) + if self.disable_repeating and #info < #self.items then + return pos + end + pos= math.floor(pos) - self.focus_pos + if self.disable_wrapping then + pos= force_to_range(1, pos, #info - #self.items + 1) + if pos < 1 then pos= 1 end + end + return pos +end + +local function call_item_set(self, item_index, info_index) + self.info_map[item_index]= info_index + self.items[item_index]:set(self.info_set[info_index]) +end + +local function no_repeat_internal_scroll(self, focus_pos) + for i, item in ipairs(self.items) do + item:transform(i, #self.items, i == focus_pos, focus_pos) + end +end + +local function internal_scroll(self, start_pos) + if self.disable_repeating and #self.info_set < #self.items then + no_repeat_internal_scroll(self, start_pos) + return + end + local shift_amount= start_pos - self.info_pos + if math.abs(shift_amount) < #self.items then + self.items= table.rotate_left(self.items, shift_amount) + self.info_map= table.rotate_left(self.info_map, shift_amount) + self.info_pos= start_pos + if shift_amount < 0 then + local absa= math.abs(shift_amount) + for n= 1, absa+1 do + if self.items[n] then + local info_index= self:maybe_wrap_index(self.info_pos, n, self.info_set) + call_item_set(self, n, info_index) + end + end + elseif shift_amount > 0 then + for n= #self.items - shift_amount, #self.items do + if self.items[n] then + local info_index= self:maybe_wrap_index(self.info_pos, n, self.info_set) + call_item_set(self, n, info_index) + end + end + end + else + self.info_pos= start_pos + for i= 1, #self.items do + local info_index= self:maybe_wrap_index(self.info_pos, i, self.info_set) + call_item_set(self, i, info_index) + end + end + if self.disable_repeating then + for i, item in ipairs(self.items) do + item:transform(i, #self.items, i == self.focus_pos, self.focus_pos) + end + else + for i, item in ipairs(self.items) do + item:transform(i, #self.items, i == self.focus_pos, self.focus_pos) + end + end +end + +local function no_repeat_set_info_set(self, pos) + self.info_pos= 1 + for n= 1, #self.info_set do + call_item_set(self, n, n) + end + for n= #self.info_set+1, #self.items do + call_item_set(self, n, n) + end + internal_scroll(self, pos) +end + +item_scroller_mt= { + __index= { + create_actors= function(self, name, num_items, item_metatable, mx, my, item_params) + item_params= item_params or {} + self.name= name + self.info_pos= 1 + self.info_map= {} + self.num_items= num_items + assert(item_metatable, "A metatable for items to be put in the item_scroller must be provided.") + check_metatable(item_metatable) + self.focus_pos= math.floor(num_items / 2) + mx= mx or 0 + my= my or 0 + self.items= {} + local args= { + Name= self.name, + InitCommand= function(subself) + subself:xy(mx, my) + self.container= subself + end + } + for n= 1, num_items do + local item= setmetatable({}, item_metatable) + local sub_params= DeepCopy(item_params) + sub_params.name= "item" .. n + local actor_frame= item:create_actors(sub_params) + self.items[#self.items+1]= item + args[#args+1]= actor_frame + end + return Def.ActorFrame(args) + end, + maybe_wrap_index= function(self, ipos, n, info) + if self.disable_wrapping then + return ipos - 1 + n + else + return wrapped_index(ipos, n, #info) + end + end, + set_info_set= function(self, info, pos) + self.info_set= info + if self.disable_repeating and #self.info_set < #self.items then + no_repeat_set_info_set(self, pos) + return + end + local start_pos= calc_start(self, info, pos) + self.info_pos= start_pos + for n= 1, #self.items do + local index= self:maybe_wrap_index(start_pos, n, info) + call_item_set(self, n, index) + end + internal_scroll(self, start_pos) + end, + set_element_info= function(self, element, info) + self.info_set[element]= info + for i= 1, #self.items do + if self.info_map[i] == element then + call_item_set(self, i, element) + end + end + end, + scroll_to_pos= function(self, pos) + local start_pos= calc_start(self, self.info_set, pos) + internal_scroll(self, start_pos) + end, + scroll_by_amount= function(self, a) + internal_scroll(self, self.info_pos + a) + end, + get_info_at_focus_pos= function(self) + local index= self:maybe_wrap_index(self.info_pos, self.focus_pos, + self.info_set) + return self.info_set[index] + end, + get_actor_item_at_focus_pos= function(self) + return self.items[self.focus_pos] + end, + get_items_by_info_index= function(self, index) + local ret= {} + for i= 1, #self.items do + if self.info_map[i] == index then + ret[#ret+1]= self.items[i] + end + end + return ret + end, + find_item_by_info= function(self, info) + local ret= {} + for i, item in ipairs(self.items) do + if item.info == info then + ret[#ret+1]= item + end + end + return ret + end, +}} diff --git a/Themes/default/Sounds/ScreenEdit freeze.ogg b/Themes/default/Sounds/ScreenEdit freeze.ogg index a6288e66ac..3682c07e29 100644 Binary files a/Themes/default/Sounds/ScreenEdit freeze.ogg and b/Themes/default/Sounds/ScreenEdit freeze.ogg differ diff --git a/Themes/default/Sounds/ScreenEdit marker.ogg b/Themes/default/Sounds/ScreenEdit marker.ogg index ae0052749b..62083904b2 100644 Binary files a/Themes/default/Sounds/ScreenEdit marker.ogg and b/Themes/default/Sounds/ScreenEdit marker.ogg differ diff --git a/Themes/default/Sounds/ScreenEdit save.ogg b/Themes/default/Sounds/ScreenEdit save.ogg index afa38a7031..90dbd5a4f2 100644 Binary files a/Themes/default/Sounds/ScreenEdit save.ogg and b/Themes/default/Sounds/ScreenEdit save.ogg differ diff --git a/Themes/default/Sounds/ScreenEdit snap.ogg b/Themes/default/Sounds/ScreenEdit snap.ogg index 7c1f6af6a1..42396b07ea 100644 Binary files a/Themes/default/Sounds/ScreenEdit snap.ogg and b/Themes/default/Sounds/ScreenEdit snap.ogg differ diff --git a/Themes/default/Sounds/ScreenEdit switch player.ogg b/Themes/default/Sounds/ScreenEdit switch player.ogg index 74d0db1f25..f329576dd5 100644 Binary files a/Themes/default/Sounds/ScreenEdit switch player.ogg and b/Themes/default/Sounds/ScreenEdit switch player.ogg differ diff --git a/Themes/default/Sounds/ScreenEdit value increase.ogg b/Themes/default/Sounds/ScreenEdit value increase.ogg index cde2dc1cd5..5864882d45 100644 Binary files a/Themes/default/Sounds/ScreenEdit value increase.ogg and b/Themes/default/Sounds/ScreenEdit value increase.ogg differ diff --git a/Themes/default/Sounds/ScreenGameplayAlternate failed.ogg b/Themes/default/Sounds/ScreenGameplayAlternate failed.ogg new file mode 100644 index 0000000000..2a5ff8a7dc Binary files /dev/null and b/Themes/default/Sounds/ScreenGameplayAlternate failed.ogg differ diff --git a/Themes/default/Sounds/ScreenSelectMusic difficulty easier.redir b/Themes/default/Sounds/ScreenSelectMusic difficulty easier.redir new file mode 100644 index 0000000000..686c88c9e2 --- /dev/null +++ b/Themes/default/Sounds/ScreenSelectMusic difficulty easier.redir @@ -0,0 +1 @@ +choice Down \ No newline at end of file diff --git a/Themes/default/Sounds/ScreenSelectMusic difficulty harder.redir b/Themes/default/Sounds/ScreenSelectMusic difficulty harder.redir new file mode 100644 index 0000000000..2ae431591f --- /dev/null +++ b/Themes/default/Sounds/ScreenSelectMusic difficulty harder.redir @@ -0,0 +1 @@ +choice Up \ No newline at end of file diff --git a/Themes/default/Sounds/choice Down.ogg b/Themes/default/Sounds/choice Down.ogg new file mode 100644 index 0000000000..196a347a8e Binary files /dev/null and b/Themes/default/Sounds/choice Down.ogg differ diff --git a/Themes/default/Sounds/choice Up.ogg b/Themes/default/Sounds/choice Up.ogg new file mode 100644 index 0000000000..b2ac744de9 Binary files /dev/null and b/Themes/default/Sounds/choice Up.ogg differ diff --git a/Themes/default/Sounds/default/Common Start.ogg b/Themes/default/Sounds/default/Common Start.ogg index b048f1582a..6d2354012a 100644 Binary files a/Themes/default/Sounds/default/Common Start.ogg and b/Themes/default/Sounds/default/Common Start.ogg differ diff --git a/Themes/default/Sounds/default/Common invalid.ogg b/Themes/default/Sounds/default/Common invalid.ogg index 66daf41465..024d3a021b 100644 Binary files a/Themes/default/Sounds/default/Common invalid.ogg and b/Themes/default/Sounds/default/Common invalid.ogg differ diff --git a/Themes/default/Sounds/default/Common value.ogg b/Themes/default/Sounds/default/Common value.ogg index 18134a2304..1f036153f4 100644 Binary files a/Themes/default/Sounds/default/Common value.ogg and b/Themes/default/Sounds/default/Common value.ogg differ diff --git a/Themes/default/Sounds/default/MenuTimer tick.ogg b/Themes/default/Sounds/default/MenuTimer tick.ogg index 304e1ea81e..69a7df04cb 100644 Binary files a/Themes/default/Sounds/default/MenuTimer tick.ogg and b/Themes/default/Sounds/default/MenuTimer tick.ogg differ diff --git a/Themes/default/Sounds/default/MusicWheel change.ogg b/Themes/default/Sounds/default/MusicWheel change.ogg index 15d807a957..9ef6dc3d0a 100644 Binary files a/Themes/default/Sounds/default/MusicWheel change.ogg and b/Themes/default/Sounds/default/MusicWheel change.ogg differ diff --git a/Themes/default/Sounds/default/ScreenGameplay failed.ogg b/Themes/default/Sounds/default/ScreenGameplay failed.ogg index f4b0855f08..119de07f8a 100644 Binary files a/Themes/default/Sounds/default/ScreenGameplay failed.ogg and b/Themes/default/Sounds/default/ScreenGameplay failed.ogg differ diff --git a/Themes/default/Sounds/default/_Music credits (loop).ogg b/Themes/default/Sounds/default/_Music credits (loop).ogg index 2d5db646dd..7a49d63e17 100644 Binary files a/Themes/default/Sounds/default/_Music credits (loop).ogg and b/Themes/default/Sounds/default/_Music credits (loop).ogg differ diff --git a/Themes/default/Sounds/default/_Music title (loop).ogg b/Themes/default/Sounds/default/_Music title (loop).ogg index b61cd34099..30267845b0 100644 Binary files a/Themes/default/Sounds/default/_Music title (loop).ogg and b/Themes/default/Sounds/default/_Music title (loop).ogg differ diff --git a/Themes/default/Sounds/default/_Screen cancel.ogg b/Themes/default/Sounds/default/_Screen cancel.ogg index ac558fa977..3b78a6c688 100644 Binary files a/Themes/default/Sounds/default/_Screen cancel.ogg and b/Themes/default/Sounds/default/_Screen cancel.ogg differ diff --git a/Themes/default/Sounds/default/_common row.ogg b/Themes/default/Sounds/default/_common row.ogg index 3e80d6e328..b97135e579 100644 Binary files a/Themes/default/Sounds/default/_common row.ogg and b/Themes/default/Sounds/default/_common row.ogg differ diff --git a/Themes/default/Sounds/default/_switch down.ogg b/Themes/default/Sounds/default/_switch down.ogg index 572333cf57..be40786241 100644 Binary files a/Themes/default/Sounds/default/_switch down.ogg and b/Themes/default/Sounds/default/_switch down.ogg differ diff --git a/Themes/default/Sounds/default/_switch up.ogg b/Themes/default/Sounds/default/_switch up.ogg index db2273a41f..e806bb8b1a 100644 Binary files a/Themes/default/Sounds/default/_switch up.ogg and b/Themes/default/Sounds/default/_switch up.ogg differ diff --git a/Themes/default/Sounds/kommisar/Common Start.ogg b/Themes/default/Sounds/kommisar/Common Start.ogg index c8c21bf8f2..035a11bd3c 100644 Binary files a/Themes/default/Sounds/kommisar/Common Start.ogg and b/Themes/default/Sounds/kommisar/Common Start.ogg differ diff --git a/Themes/default/Sounds/kommisar/Common invalid.ogg b/Themes/default/Sounds/kommisar/Common invalid.ogg index 9635d6dba6..6d9c11cc41 100644 Binary files a/Themes/default/Sounds/kommisar/Common invalid.ogg and b/Themes/default/Sounds/kommisar/Common invalid.ogg differ diff --git a/Themes/default/Sounds/kommisar/Common value.ogg b/Themes/default/Sounds/kommisar/Common value.ogg index 9635d6dba6..6d9c11cc41 100644 Binary files a/Themes/default/Sounds/kommisar/Common value.ogg and b/Themes/default/Sounds/kommisar/Common value.ogg differ diff --git a/Themes/default/Sounds/kommisar/MenuTimer tick.ogg b/Themes/default/Sounds/kommisar/MenuTimer tick.ogg index 19e0f51f9e..4b27474a2f 100644 Binary files a/Themes/default/Sounds/kommisar/MenuTimer tick.ogg and b/Themes/default/Sounds/kommisar/MenuTimer tick.ogg differ diff --git a/Themes/default/Sounds/kommisar/MusicWheel change.ogg b/Themes/default/Sounds/kommisar/MusicWheel change.ogg index 868f73100f..6b0decf4a4 100644 Binary files a/Themes/default/Sounds/kommisar/MusicWheel change.ogg and b/Themes/default/Sounds/kommisar/MusicWheel change.ogg differ diff --git a/Themes/default/Sounds/kommisar/ScreenGameplay failed.ogg b/Themes/default/Sounds/kommisar/ScreenGameplay failed.ogg index d781d08710..ea1ea5c870 100644 Binary files a/Themes/default/Sounds/kommisar/ScreenGameplay failed.ogg and b/Themes/default/Sounds/kommisar/ScreenGameplay failed.ogg differ diff --git a/Themes/default/Sounds/kommisar/_Music title (loop).ogg b/Themes/default/Sounds/kommisar/_Music title (loop).ogg index 9e5e435cf8..20f151441e 100644 Binary files a/Themes/default/Sounds/kommisar/_Music title (loop).ogg and b/Themes/default/Sounds/kommisar/_Music title (loop).ogg differ diff --git a/Themes/default/Sounds/kommisar/_Screen cancel.ogg b/Themes/default/Sounds/kommisar/_Screen cancel.ogg index 0180c71d73..94f3139662 100644 Binary files a/Themes/default/Sounds/kommisar/_Screen cancel.ogg and b/Themes/default/Sounds/kommisar/_Screen cancel.ogg differ diff --git a/Themes/default/Sounds/kommisar/_common row.ogg b/Themes/default/Sounds/kommisar/_common row.ogg index 9635d6dba6..6d9c11cc41 100644 Binary files a/Themes/default/Sounds/kommisar/_common row.ogg and b/Themes/default/Sounds/kommisar/_common row.ogg differ diff --git a/Themes/default/Sounds/kommisar/_switch down.ogg b/Themes/default/Sounds/kommisar/_switch down.ogg index b2f3e41adb..2efc63153e 100644 Binary files a/Themes/default/Sounds/kommisar/_switch down.ogg and b/Themes/default/Sounds/kommisar/_switch down.ogg differ diff --git a/Themes/default/Sounds/kommisar/_switch up.ogg b/Themes/default/Sounds/kommisar/_switch up.ogg index b2f3e41adb..2efc63153e 100644 Binary files a/Themes/default/Sounds/kommisar/_switch up.ogg and b/Themes/default/Sounds/kommisar/_switch up.ogg differ diff --git a/Themes/default/ThemeInfo.ini b/Themes/default/ThemeInfo.ini index 213c5d2525..7ad3dfdac0 100644 --- a/Themes/default/ThemeInfo.ini +++ b/Themes/default/ThemeInfo.ini @@ -1,3 +1,3 @@ [ThemeInfo] DisplayName=Default -Author=Midiman \ No newline at end of file +Author=The Lambda Project \ No newline at end of file diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 054316f8f8..4cc5d92d7e 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -3,8 +3,12 @@ FallbackTheme=_fallback [Common] -FirstAttractScreen="" -AutoSetStyle=ThemePrefs.Get("AutoSetStyle") +# How big the design of the theme is. for example, if a theme was designed for +# 1080p, it would be shrunken for 640x480, as well as that, if it was designed +# for 480p, it would be enlarged for bigger screens! +ScreenWidth=1 +ScreenHeight=720 +AutoSetStyle=true # 02 # [LightsManager] @@ -14,311 +18,61 @@ AutoSetStyle=ThemePrefs.Get("AutoSetStyle") [SongManager] NumSongGroupColors=1 # -SongGroupColor1=BoostColor(Color("Orange"),1.25) - +SongGroupColor1=Color("White") CourseGroupColor1=color("1,1,1,1") +ExtraColor=color("#F5BCBC") -- purple [UnlockManager] -# 03 # -[ArrowEffects] - -[Background] - -[Banner] - -[BPMDisplay] -SetNoBpmCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); -SetNormalCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); -SetChangeCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); -SetRandomCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,color("Green");textglowmode,'TextGlowMode_Inner';glowshift;effectcolor1,color("1,1,1,0.05");effectcolor2,color("1,1,1,0.325"); -SetExtraCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.5);diffuseshift;effectcolor1,color("1,1,1,1");effectcolor2,color("0.475,0.475,0.475,1"); -RandomCycleSpeed=0.2 -- smaller numbers mean the bpm cycles faster - -[CodeDetector] -# For Future Reference: -# @ = Holding -# - = In Conjuction With / Then -# ~ = Released -# + = At The Same Time - -[CodeDetectorOnline] - -[CombinedLifeMeterTug] -# We don't use it. -MeterWidth=512-8 -MeterHeight=40 - -[Combo] -ShowComboAt=2 - -LabelMinZoom=0.875*1 -LabelMaxZoom=0.875*1 - -PulseCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.05*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; -PulseLabelCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.0125*param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; -NumberOnCommand=y,240-216-1.5;shadowlength,1;horizalign,right;vertalign,bottom;skewx,-0.125; - -ComboLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1 -MissLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1 - -[HoldJudgment] -HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.8;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 -HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.3;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 - -[HelpDisplay] -TipShowTime=7 - -[Judgment] -JudgmentW1Command=finishtweening;shadowlength,0;y,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.25") -JudgmentW2Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -JudgmentW3Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; -JudgmentW4Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.1;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; -JudgmentW5Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude,1,2,2;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -JudgmentMissCommand=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -# Late/Early -OffsetOnCommand= -OffsetLateCommand= -OffsetEarlyCommand= - -[Protiming] -ProtimingOnCommand=shadowlength,1;horizalign,right;x,30;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; -AverageOnCommand=shadowlength,1;horizalign,left;x,32;y,8;zoom,0.75;diffuse,ColorLightTone( Color("Green") );strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; -TextOnCommand=shadowlength,1;horizalign,left;x,32;y,-6;zoom,0.5;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +[ScreenSystemLayer] +ShowClock=true +CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,1;shadowlength,1;diffuse,ColorLightTone(PlayerColor(PLAYER_1));diffusetopedge,color("#FFFFFF");strokecolor,ColorMidTone(PlayerColor(PLAYER_1)); # -ProtimingW1Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W1"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW2Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W2"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW3Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W3"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W4"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW5Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W5"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingMissCommand=finishtweening;diffusealpha,1;zoom,1.15;glow,GameColor.Judgment["JudgmentLine_Miss"];linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_Miss"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -# -AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.025;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0; -TextPulseCommand=finishtweening;diffusealpha,1;zoom,0.5*1.025;decelerate,0.05;zoom,0.5;sleep,2;linear,0.5;diffusealpha,0; - -[Course] - -[CustomDifficulty] - -[DifficultyList] -ItemsSpacingY=24 -NumShownItems=8 - -[FadingBanner] -BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Color.Alpha( Color("White"), 0.45 );decelerate,0.075;diffusealpha,0;glow,Color("Invisible"); -BannerOnCommand= -BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;linear,0.1;glow,Color.Alpha(Color("White"),0.25);decelerate,0.15;glow,Color.Invisible;diffusealpha,0 -BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.1;diffusealpha,0 -BannerResetFadeCommand=diffusealpha,1 - -BannerRouletteCommand= -BannerRandomCommand= -[Gameplay] - -[GameState] - -[GrooveRadar] - -[GroupList] - -[HighScore] - -[Inventory] - -[LifeMeterBar] -OverOnCommand=diffuse,Color("Orange");diffuserightedge,BoostColor(Color("Orange"),1.5) - -[LifeMeterBattery] -BatteryBlinkTime=0.5 -# -BatteryP1X=0 -BatteryP1Y=0 -BatteryP2X=0 -BatteryP2Y=0 -# -NumLivesP2OnCommand=zoomx,-1 -NumLivesP2LoseLifeCommand=zoomx,-1.5;zoomy,1.5;linear,0.15;zoomx,-1;zoomy,1 - -[LifeMeterBattery Percent] -# -PercentP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) -DancePointsP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) - -[LifeMeterTime] - -[LyricDisplay] - -[NotesWriterSM] - -[OptionRow] -TitleOnCommand=shadowlength,0;skewx,-0.1;uppercase,true;wrapwidthpixels,136;maxheight,42;zoom,0.6 -TitleGainFocusCommand=stoptweening;zoom,0.6375*1.125;bounceend,0.1;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375; -# TitleGainFocusCommand=stoptweening;zoom,0.6375*1.25;bounceend,0.05;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+80 -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.05 -[OptionRowService] - -[OptionRowExit] -FrameOnCommand=visible,true;diffuse,Color("Red"); -FrameX=SCREEN_CENTER_X - -ItemsMinBaseZoom=1 -ItemOnCommand=shadowlength,1;zoom,0.8;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75);shadowcolor,BoostColor(Color("Red"),0.35) -ItemGainFocusCommand=stoptweening;linear,0.1;zoom,1;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75) -ItemLoseFocusCommand=stoptweening;decelerate,0.05;zoom,0.8; -ColorSelected=Color("Red") -ColorNotSelected=Color("Red") -ColorDisabled=Color("Red") - -ItemsLongRowP1X=SCREEN_CENTER_X-1024 -ItemsLongRowP2X=SCREEN_CENTER_X+1024 -ItemsLongRowSharedX=SCREEN_CENTER_X - -[OptionsCursor] - -[OptionsCursorP1] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) - -[OptionsCursorP2] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) - -[OptionsUnderline] - -[OptionsUnderlineP1] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) - -[OptionsUnderlineP2] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) - -[MenuTimer] -Text1OnCommand=horizalign,right;stopeffect;finishtweening;shadowlength,2;strokecolor,Color("Outline"); -Text1FormatFunction=function(fSeconds) fSeconds=math.floor(fSeconds); return string.format("%02.0f",fSeconds) end - -Text2OnCommand=x,2;y,3;stopeffect;stoptweening;halign,0;shadowlength,0;strokecolor,Color("Outline");zoom,0.65 -Text2FormatFunction=function(fSeconds) local remainder=fSeconds-math.floor(fSeconds); local digit=math.floor(remainder*100); return string.format("%02.0f",digit) end - -Warning10Command=diffuseshift;effectperiod,1;effectcolor1,Color.White;effectcolor2,Color.Red; - -[MenuTimerNoSound] - -[MenuTimerContinue] -Fallback="MenuTimer" -Text1OnCommand=strokecolor,Color.Outline;shadowlength,2 -Text1FormatFunction=function(fSeconds) return string.format("%02.2f",fSeconds) end; - -Text2OnCommand=visible,false -Text2FormatFunction=function(fSeconds) return "" end; - - -[MusicWheel] -SwitchSeconds=0.04 -LockedInitialVelocity=7 - -RouletteSwitchSeconds=0.04 -RouletteSlowDownSwitches=5 -LockedInitialVelocity=15 - -; linear wheel example: -; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ -; self:y(offsetFromCenter*38); \ -; end; -; 3D wheel example: -; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ -; local curve = math.pi; \ -; local WHEEL_3D_RADIUS = 245; \ -; local rotationx_radians = scale(offsetFromCenter,-numItems/2,numItems/2,-curve/2,curve/2); \ -; self:x( 0 - math.cos(offsetFromCenter/math.pi) ); \ -; self:y( WHEEL_3D_RADIUS * math.sin(rotationx_radians) ); \ -; self:z( -100 + WHEEL_3D_RADIUS * math.cos(rotationx_radians) ); \ -; self:rotationx( rotationx_radians * 180/math.pi ); --[[ to degrees end]] \ -; end; -ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*44 ); self:y( offsetFromCenter*46 ); end -MusicWheelSortOnCommand=fov,90; -MusicWheelSortOffCommand=fov,90; -MusicWheelItemSortOnCommand=zoomy,0;bounceend,0.05;zoomy,1 -MusicWheelItemSortOffCommand=linear,0.05;zoomy,0 -HighlightOnCommand=diffuseramp;effectcolor2,Color.White;effectcolor1,color("1,1,1,0.5");effectclock,'beatnooffset' -HighlightSortOnCommand=stoptweening;decelerate,0.05;glow,Color.Stealth;zoom,1 -HighlightSortOffCommand=stoptweening;accelerate,0.05;glow,Color.Yellow;zoom,1.05 -WheelItemOnDelayOffset=0.04 -WheelItemOffDelayOffset=0.04 - -SectionColor1=Color("Orange") -# -SongRealExtraColor=Color("Red") -SortMenuColor=Color("Orange") - +CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,1;shadowlength,1;diffuse,ColorLightTone(PlayerColor(PLAYER_2));diffusetopedge,color("#FFFFFF");strokecolor,ColorMidTone(PlayerColor(PLAYER_2)); # -UseEasyMarkerFlag=true +# +[ScreenJukebox] +MinSecondsToStep=0 +MinSecondsToMusic=0 -[CourseWheel] +ShowStageDisplay=false -[OniWheel] -Fallback="CourseWheel" -ModeMenuChoiceNames="Oni,Survival" +ShowLifeMeterBarP1=false +ShowLifeMeterBarP2=false -[OnlineMusicWheel] +ScoreP1OnCommand=visible,false +ScoreP2OnCommand=visible,false -[MusicWheelItem] -WheelNotifyIconX=-128-16+0.5 -WheelNotifyIconOnCommand=shadowlength,2; # -SongNameX=-120 -# -CourseX=-120 -CourseOnCommand=maxwidth,208;horizalign,left -# -SectionExpandedX=-38 -SectionExpandedY=-2 -SectionExpandedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.25") -# -SectionCollapsedX=-38 -SectionCollapsedY=-2 -SectionCollapsedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.2") -# -SectionCountX=120 -SectionCountOnCommand=zoom,0.75;strokecolor,Color("Outline") -# -RouletteOnCommand=maxwidth,400;shadowlength,1;basezoom,0.75;rainbowscroll,true;pulse;effectmagnitude,1,1.125,1;effectperiod,3 -# -SortX=-132 -SortY=-2 -SortOnCommand=maxwidth,256;horizalign,left;shadowlength,1;shadowcolor,color("0,0,0,0.325") -# -ModeX=-132 -ModeY=-2 -ModeOnCommand=maxwidth,256;horizalign,left;strokecolor,Color("Outline") -# -GradeP1X=106+16 -GradeP1Y=-8 -GradeP2X=110+16 -GradeP2Y=8 +[ScreenLogo] +TimerSeconds=20 +ShowHeader=false +ShowFooter=false -[NoteField] -ShowBoard=true +ShowLogo=true +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-18 +LogoOnCommand= +LogoOffCommand= + +ArcadeOverlayX=SCREEN_CENTER_X +ArcadeOverlayY=SCREEN_BOTTOM-60 +ArcadeOverlay.TextX= +ArcadeOverlay.TextY= + +NextScreen="ScreenDemonstration" + +[ScreenDemonstration] +ShowStageDisplay=false + +ShowLifeMeterBarP1=false +ShowLifeMeterBarP2=false + +ScoreP1OnCommand=visible,false +ScoreP2OnCommand=visible,false -[PlayerStageStats] [Player] # In The Groove @@ -333,236 +87,20 @@ ReceptorArrowsYReverse=GetTapPosition('Reverse') ComboUnderField=ComboUnderField() RollBodyIncrementsCombo=ThemePrefs.Get("ComboOnRolls") -[PlayerOptions] +# 03 # -[PlayerShared] - -[Profile] - -[RadarValues] - -[RollingNumbers] - -[RollingNumbersEvaluation] - -[RollingNumbersJudgment] - -[ScoreDisplayNormal] -TextOnCommand=shadowlength,1; - -[ScoreDisplayOni] -TextX= -TextY= -TextOnCommand=shadowlength,1; -TextOffCommand= - -[ScoreDisplayOni Numbers] -TextX= -TextY= -TextOnCommand=shadowlength,1; -TextOffCommand= - -[ScoreDisplayLifeTime] -FrameOnCommand=visible,false;spin -# -TimeRemainingY=80 -TimeRemainingOnCommand=zoom,1;shadowlength,1; -# -DeltaSecondsOnCommand=y,80; -DeltaSecondsGainLifeCommand=zoom,0.5; - -[ScoreDisplayPercentage Percent] -PercentP1OnCommand=shadowlength,1;strokecolor,Color.Outline -PercentP2OnCommand=shadowlength,1;strokecolor,Color.Outline -DancePointsP1OnCommand=shadowlength,1;strokecolor,Color.Outline -DancePointsP2OnCommand=shadowlength,1;strokecolor,Color.Outline - -[ScoreDisplayRave] -MeterP1OnCommand=draworder,-1;texcoordvelocity,1,0 -MeterP2OnCommand=draworder,-1;zoomx,-1;texcoordvelocity,1,0 -LevelP1OnCommand=draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144;skewx,-0.125; -LevelP2OnCommand=draworder,105;draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144;skewx,-0.125; - -[ScoreKeeperRave] - -[ScreenEvaluation Percent] -# TODO: Better name? -PercentP1OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); -PercentP2OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); -PercentRemainderP1OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); -PercentRemainderP2OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); -DancePointsP1X=0 -DancePointsP1Y=0 -DancePointsP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); -DancePointsP1OffCommand= -DancePointsP2X=0 -DancePointsP2Y=0 -DancePointsP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); -DancePointsP2OffCommand= -DancePointsDigits=2 -ApplyScoreDisplayOptions=true -PercentDecimalPlaces=2 -PercentTotalSize=5 - -[SoundEffectControl] - -[SoundEffectControl_Off] - -[SoundEffectControl_Speed] - -[SoundEffectControl_Pitch] - -[StepsDisplayListRow] -# TODO: Make this use DifficultyList? -CapitalizeDifficultyNames=false -NumShownItems=5 -ItemsSpacingY=24 -MoveCommand=decelerate,0.05 - -FrameX= - -FrameSetCommand=%function(self,param) \ - if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ - self:diffuse(ColorMidTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ - else \ - self:diffuse(color('1,1,1,1')); \ - end; \ -end; -# -NumTicks=10 -MaxTicks=10 -# -ShowMeter=true -MeterX=56 -MeterOnCommand=shadowlength,1;zoom,0.65;textglowmode,'TextGlowMode_Inner'; -MeterSetCommand=%function(self,param) \ - if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - if param.Meter then \ - if param.Meter >= 10 then \ - self:textglowmode('TextGlowMode_Inner'); \ - self:glowshift(); \ - else \ - self:stopeffect(); \ - end; \ - end; \ -end; -# -ShowDescription=true -DescriptionX=ThemePrefs.Get("AutoSetStyle") and (-64-8+20) or (-64-8) -DescriptionOnCommand=shadowlength,1;horizalign,left;zoom,0.65;maxwidth,128+8-20;uppercase,true; -DescriptionSetCommand=%function(self,param) \ - if self:GetText() == "" then \ - self:settext("Edit"); \ - end; \ - if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ -end; -# -ShowAutogen=true -AutogenX=0 -AutogenY=0 -AutogenOnCommand=diffuseshift;effectcolor1,Color.Alpha( Color("Green") , 0.5 );effectcolor2,ColorMidTone( Color("Green") ); -#AutogenOnCommand=zoom,0.75; -# -ShowStepsType=ThemePrefs.Get("AutoSetStyle") -StepsTypeX=-64-8 -StepsTypeY=0 -StepsTypeOnCommand= -StepsTypeSetCommand= - -[SongMeterDisplay] -StreamWidth=380 - -ContainerX= -ContainerY= -ContainerOnCommand= -ContainerOffCommand= - -FrameX=0 -FrameY=0 -FrameOnCommand=sleep,2;linear,0.25;diffuse,Color("Orange");glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 -FrameOffCommand= - -StreamX=0 -StreamY=0 -StreamOnCommand=0 -StreamOffCommand=0 - -TipX=0 -TipY=0 -TipOnCommand= -TipOffCommand= -[SongMeterDisplayP1] -Fallback="SongMeterDisplay" -FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_1);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 -[SongMeterDisplayP2] -Fallback="SongMeterDisplay" -FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_2);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 - -[StepsDisplayEvaluation] -Fallback="StepsDisplay" - -[StreamDisplay] -; 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) \ - # local fItemWidth = ( 256 / numItems ) \ - # self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ - # self:zoomtowidth(fItemWidth); \ - # self:diffuseramp(); \ - # self:effectperiod(4); \ - # self:effectoffset((itemIndex-1)/numItems * -1); \ - # self:effectcolor2(color("1,1,1,1")); \ - # self:effectcolor1(color("0.5,0.5,0.5,1")); \ - # self:effectclock('beatnooffset'); \ -# end; -PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ - local offset = itemIndex / numItems \ - local rate = 4 \ - local fItemWidth = ( 256 / numItems ) \ - self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ - self:zoomtowidth(fItemWidth); \ - self:diffuseramp(); \ - self:effectcolor2(color("1,1,1,1")); \ - self:effectcolor1(color("0.5,0.5,0.5,1")); \ - self:effectperiod(rate); \ - self:effectclock('beat'); \ - self:effectoffset(1-offset); \ -end; -# PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ - # local fItemWidth = ( 256 / numItems ) \ - # self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ - # self:zoomtowidth(fItemWidth); \ - # self:diffuseramp(); \ - # self:effecttiming(1,0.01875*itemIndex,1,1-(0.01875*itemIndex)); \ - # self:effectclock('beatnooffset'); \ -# end; -TextureCoordScaleX=256/16 -NumPills=16 - -[TextBanner] -TitleOnCommand=horizalign,left;shadowlength,1; -SubtitleOnCommand=horizalign,left;shadowlength,1; -ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2 -ArtistPrependString="" - -[TextBannerHighScore] -Fallback="TextBanner" - -[WheelNotifyIcon] - -[Screen] +[ScreenInit] +ShowHeader=false +ShowFooter=false +PrepareScreens="ScreenTitleMenu,ScreenTitleJoin" +GroupedScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" +PersistScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" [ScreenDebugOverlay] -BackgroundColor=color("0,0,0,0.75") +BackgroundColor=color("0,0,0,0.8") LineOnColor=Color.White -LineOffColor=color("0.75,0.75,0.75,1") +LineOffColor=color("0.5,0.5,0.5,1") LineStartY=SCREEN_TOP+50 LineSpacing=19 LineButtonX=SCREEN_CENTER_X-50 @@ -570,12 +108,12 @@ LineFunctionX=SCREEN_CENTER_X-30 ButtonTextOnCommand=NoStroke;zoom,0.8;shadowlength,1 ButtonTextToggledCommand=linear,0.025;textglowmode,'TextGlowMode_Inner';glow,color("1,0,0,1");sleep,0.125;decelerate,0.2;glow,color("1,0,0,0"); -FunctionTextOnCommand=NoStroke;zoom,0.8;skewx,-0.125;shadowlength,1 +FunctionTextOnCommand=NoStroke;zoom,0.8;shadowlength,1 PageStartX=SCREEN_CENTER_X-100 PageSpacingX=120 PageTextOnCommand=NoStroke;zoom,0.75;strokecolor,Color.Outline; -PageTextGainFocusCommand=diffuse,color("1,1,1,1");skewx,-0.125; +PageTextGainFocusCommand=diffuse,color("1,1,1,1"); PageTextLoseFocusCommand=diffuse,color("0.6,0.6,0.6,1") DebugMenuHeaderX=SCREEN_LEFT+80 @@ -585,30 +123,118 @@ DebugMenuHeaderOffCommand= HeaderTextX=SCREEN_LEFT+80 HeaderTextY=SCREEN_TOP+18 -HeaderTextOnCommand=textglowmode,'TextGlowMode_Inner';glowshift;effectperiod,4;skewx,-0.125;diffusebottomedge,color("0.75,0.75,0.75,1");strokecolor,Color.Outline +HeaderTextOnCommand=textglowmode,'TextGlowMode_Inner';glowshift;effectperiod,4;diffusebottomedge,color("0.75,0.75,0.75,1");strokecolor,Color.Outline HeaderTextOffCommand= # -[ScreenSystemLayer] -ShowClock=true -CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.675;shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusetopedge,ColorLightTone(PlayerColor(PLAYER_1)); +[ScreenPrompt] +ShowHeader=false +ShowFooter=false + +[ScreenTextEntry] +ShowHeader=false +ShowFooter=false + +[ScreenTitleMenu] +ShowHeader=false +ShowFooter=false + +ShowLogo=true +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-108 +LogoOnCommand= +LogoOffCommand= # -CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.675;shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusetopedge,ColorLightTone(PlayerColor(PLAYER_2)); +ShowTimingDifficulty=true +TimingDifficultyX=50 +TimingDifficultyY=50 +TimingDifficultyOnCommand=horizalign,left +TimingDifficultyOffCommand= +# +ShowLifeDifficulty=true +LifeDifficultyX=50+(240) +LifeDifficultyY=50 +LifeDifficultyOnCommand=horizalign,left +LifeDifficultyOffCommand= +# +CurrentGametypeX=50+(240*2) +CurrentGametypeY=50 +CurrentGametypeOnCommand=horizalign,left +CurrentGametypeOffCommand= +# +ShowNumSongs=true +NumSongsX=16 +NumSongsY=110 +NumSongsOnCommand=horizalign,left;zoom,0.7;shadowlength,1;diffuse,color("#33312D");playcommand,"Set" +NumSongsOffCommand= +ShowCurrentGametype=true +# +ShowSystemDirection=false +SystemDirectionX=SCREEN_LEFT+40 +SystemDirectionY=SCREEN_TOP+24 +SystemDirectionOnCommand=diffuse,color("#33312D"); +SystemDirectionOffCommand= +# +ShowVersionInfo=true +VersionInfoX=SCREEN_RIGHT-16 +VersionInfoY=SCREEN_TOP+24 +VersionInfoOnCommand=diffuse,color("#33312D"); +VersionInfoOffCommand= +# +ShowNetworkStatus=true +NetworkStatusX=SCREEN_LEFT+12 +NetworkStatusY=SCREEN_BOTTOM-64 +NetworkStatusOnCommand=halign,0; +NetworkStatusOffCommand=linear,0.5;cropright,1 +# +WrapScroller=false +ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((46)*(itemIndex-(numItems-1)/2)); end; +ScrollerSecondsPerItem=0 +ScrollerNumItemsToDraw=20 +ScrollerX=SCREEN_CENTER_X +ScrollerY=SCREEN_CENTER_Y+140 +ScrollerOnCommand=zoom,0;smooth,0.35;zoom,1 # -[ScreenConsoleOverlay] +[ScreenCaution] +ShowHeader=false +ShowFooter=false +ShowHelp=false -[ScreenInstallOverlay] +[ScreenHighScores] +Fallback="ScreenWithMenuElements" +ShowFooter=false +ShowHelp=false +ResetGameState=false +AttractVolume=true -[ScreenSyncOverlay] +FOV=90 -[ScreenStatsOverlay] +ScrollerItemsToDraw=9 +ScrollerOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;SetMask,624,80;draworder,-5 +ScrollerItemTransformFunction=function(self,offset,itemIndex,numItems) \ + self:y(92 * offset); \ +end; + +[ScreenProfileLoad] +ShowHeader=false +ShowFooter=false +ShowHelp=false + +[ScreenProfileSave] +ShowHeader=false +ShowFooter=false +ShowHelp=false + +[ScreenMapControllers] +ShowHeader=false +ShowFooter=false + +DevicesOnCommand=vertalign,top;maxheight,92;zoom,1.0;draworder,5;strokecolor,color("0,0,0,1") +ListHeaderCenterOnCommand=x,SCREEN_CENTER_X;y,-11;zoom,0.7;shadowlength,1;ztest,true [ScreenWithMenuElements] -WaitForChildrenBeforeTweening=true - -ScreenInDelay=0 -ScreenOutDelay=0 +WaitForChildrenBeforeTweeningOut=true FOV=90 ShowHeader=true @@ -619,33 +245,30 @@ HeaderOffCommand= ShowFooter=true FooterX=SCREEN_CENTER_X -FooterY=SCREEN_BOTTOM+4 -FooterOnCommand=draworder,1; -FooterOffCommand= +FooterY=SCREEN_BOTTOM-10 +FooterOnCommand=draworder,5;y,SCREEN_BOTTOM+64;decelerate,0.4;y,SCREEN_BOTTOM; +FooterOffCommand=sleep,0.175;decelerate,0.4;y,SCREEN_BOTTOM+64; -ShowHelp=true -HelpX=SCREEN_CENTER_X -HelpY=SCREEN_BOTTOM-16 -HelpOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;zoom,1*0.675;linear,0.175 -HelpOffCommand=linear,0.175;zoomy,0 - -AlternateHelpDisplayX=SCREEN_CENTER_X -AlternateHelpDisplayY=SCREEN_BOTTOM-16 -# AlternateHelpDisplayOnCommand=draworder,105; -AlternateHelpDisplayOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;linear,0.175;zoom,1*0.675;diffusealpha,0 -AlternateHelpDisplayOffCommand=linear,0.175;zoomy,0 - -TimerX=SCREEN_RIGHT-36-4 -TimerY=SCREEN_TOP+23 -TimerOnCommand=draworder,2;visible,PREFSMAN:GetPreference("MenuTimer"); -# TimerOnCommand=fov,90;vanishpoint,SCREEN_RIGHT-36-4,SCREEN_TOP+20;draworder,5;visible,PREFSMAN:GetPreference("MenuTimer");rotationy,90;decelerate,0.4;rotationy,0; -TimerOffCommand= -# TimerOffCommand=accelerate,0.4;rotationx,90; +TimerX=SCREEN_RIGHT-60 +TimerY=SCREEN_TOP+45 +TimerOnCommand=draworder,10;diffuse,color("#fcb62c");zoom,0;sleep,0.3;smooth,0.3;zoom,0.75; +TimerOffCommand=smooth,0.2;zoom,0; StageDisplayNumberOffset=1 - +ScreenInDelay=0 +ScreenOutDelay=0 # -StageDisplayUseShortString=false +ShowHelp=true +HelpX=SCREEN_CENTER_X +HelpY=SCREEN_BOTTOM-26 +HelpOnCommand=SetSecsBetweenSwitches,4;zoom,1;maxwidth,720;shadowlength,1;diffuse,color("#FFFFFF");draworder,105;addy,64;decelerate,0.4;addy,-64; +HelpOffCommand=sleep,0.175;decelerate,0.4;addy,64; + +AlternateHelpDisplayX=SCREEN_CENTER_X +AlternateHelpDisplayY=SCREEN_BOTTOM-26 +# AlternateHelpDisplayOnCommand=draworder,105; +AlternateHelpDisplayOnCommand=SetSecsBetweenSwitches,4;zoom,1;maxwidth,720;shadowlength,1;diffuse,color("#FFFFFF");diffusealpha,0;draworder,105;addy,64;decelerate,0.4;addy,-64; +AlternateHelpDisplayOffCommand=sleep,0.175;decelerate,0.4;addy,64; # This is useful ArcadeOverlayX= @@ -658,110 +281,214 @@ ArcadeOverlay.TextY=SCREEN_BOTTOM-48 ArcadeOverlay.TextOnCommand= ArcadeOverlay.TextOffCommand= -[ScreenWithMenuElementsBlank] -ShowHeader=false -ShowFooter=false - -[ScreenSelectMaster] - -[ScreenSelectMasterBlank] - -[ScreenTextEntry] -QuestionOnCommand=diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);wrapwidthpixels,600 -AnswerOnCommand=diffuse,Color("Blue");glowshift; - - -[ScreenInit] -PrepareScreens="ScreenTitleMenu,ScreenTitleJoin" -GroupedScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" -PersistScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" - -[ScreenTitleMenu] -ShowHeader=false -ShowFooter=true +[ScreenOptions] +CursorTweenSeconds=0.05 # -WrapScroller=false -ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((28)*(itemIndex-(numItems-1)/2)); end; -ScrollerSecondsPerItem=0 -ScrollerNumItemsToDraw=20 -ScrollerX=SCREEN_CENTER_X -ScrollerY=SCREEN_CENTER_Y+80 -ScrollerOnCommand=zoom,0;bounceend,0.35;zoom,1 +DisqualifyP1X=SCREEN_CENTER_X-176 +DisqualifyP1Y=SCREEN_BOTTOM-98 +DisqualifyP1OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_1 +DisqualifyP2X=SCREEN_CENTER_X+176 +DisqualifyP2Y=SCREEN_BOTTOM-98 +DisqualifyP2OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_2 # -ShowLogo=true -LogoX=SCREEN_CENTER_X-32 -LogoY=SCREEN_CENTER_Y-68 -LogoOnCommand= -LogoOffCommand= +ContainerOnCommand=x,-SCREEN_WIDTH;decelerate,0.35;x,SCREEN_LEFT +ContainerOffCommand=decelerate,0.35;addx,SCREEN_WIDTH; +CursorOnCommand= # -ShowTimingDifficulty=true -TimingDifficultyX=SCREEN_LEFT+16 -TimingDifficultyY=SCREEN_TOP+22 -TimingDifficultyOnCommand= -TimingDifficultyOffCommand= +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") # -ShowLifeDifficulty=true -LifeDifficultyX=SCREEN_LEFT+16 -LifeDifficultyY=SCREEN_TOP+44 -LifeDifficultyOnCommand= -LifeDifficultyOffCommand= +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; # -ShowNumSongs=true -NumSongsX=SCREEN_LEFT+16 -NumSongsY=SCREEN_TOP+68 -NumSongsOnCommand=vertalign,bottom;horizalign,left;zoom,0.5;shadowlength,1;playcommand,"Set" -NumSongsOffCommand= -ShowCurrentGametype=true +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-213+50*offsetFromCenter) end # -CurrentGametypeX=SCREEN_LEFT+16 -CurrentGametypeY=SCREEN_TOP+84 -CurrentGametypeOnCommand=vertalign,bottom;horizalign,left;zoom,0.5;shadowlength,1 -CurrentGametypeOffCommand= +ShowExitRow=true +SeparateExitRow=true +SeparateExitRowY=SCREEN_CENTER_Y+190 # -ShowSystemDirection=false -SystemDirectionX=SCREEN_LEFT+40 -SystemDirectionY=SCREEN_TOP+24 -SystemDirectionOnCommand= -SystemDirectionOffCommand= +ShowScrollBar=true +ScrollBarHeight=420 +ScrollBarTime=0.05 +ScrollBarX=SCREEN_CENTER_X+450 +ScrollBarY=SCREEN_CENTER_Y-20 # -ShowVersionInfo=true -VersionInfoX=SCREEN_RIGHT-16 -VersionInfoY=SCREEN_TOP+24 -VersionInfoOnCommand= +ShowExplanations=true +ExplanationP1X=SCREEN_CENTER_X-450 +ExplanationP1Y=SCREEN_CENTER_Y+250 +ExplanationP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,1;wrapwidthpixels,310/0.5;zoom,0.7;halign,0;cropright,1;linear,0.5;cropright,0;vertspacing,4; +ExplanationP1OffCommand= +ExplanationP2X=SCREEN_CENTER_X+450 +ExplanationP2Y=SCREEN_CENTER_Y+250 +ExplanationP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,1;wrapwidthpixels,310/0.5;zoom,0.7;halign,1;cropright,1;linear,0.5;cropright,0;vertspacing,4; +ExplanationP2OffCommand= +ExplanationTogetherX=SCREEN_CENTER_X +ExplanationTogetherY=SCREEN_CENTER_Y+245 +ExplanationTogetherOnCommand=stoptweening;zoom,0.6;diffuse,color("#FFFFFF");wrapwidthpixels,960/0.8;cropright,1;linear,0.5;cropright,0;vertspacing,-14 +ExplanationTogetherOffCommand=stoptweening -VersionInfoOffCommand= -# -ShowNetworkStatus=true -NetworkStatusX=SCREEN_LEFT+12 -NetworkStatusY=SCREEN_BOTTOM-64 -NetworkStatusOnCommand=halign,0; -NetworkStatusOffCommand=linear,0.5;cropright,1 -# +[OptionsCursorP1] +LeftOnCommand=horizalign,right;diffuse,ColorLightTone(PlayerColor(PLAYER_1)) +MiddleOnCommand=diffuse,ColorLightTone(PlayerColor(PLAYER_1)) +RightOnCommand=horizalign,left;diffuse,ColorLightTone(PlayerColor(PLAYER_1)) -[ScreenQuickSetupOverview] +[OptionsCursorP2] +LeftOnCommand=horizalign,right;diffuse,ColorLightTone(PlayerColor(PLAYER_2)) +MiddleOnCommand=diffuse,ColorLightTone(PlayerColor(PLAYER_2)) +RightOnCommand=horizalign,left;diffuse,ColorLightTone(PlayerColor(PLAYER_2)) -IconStartX=SCREEN_CENTER_X-160 -IconStartY=SCREEN_BOTTOM-60 -IconSetX=SCREEN_CENTER_X-160 -IconSetY=SCREEN_BOTTOM-60 -IconBackX=SCREEN_CENTER_X+160 -IconBackY=SCREEN_BOTTOM-60 +[OptionsUnderline] -ExplanationX=SCREEN_CENTER_X -ExplanationY=SCREEN_BOTTOM-100 -ExplanationOnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_WIDTH/0.75; -ExplanationOffCommand= +[OptionsUnderlineP1] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) +[OptionsUnderlineP2] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) -[ScreenProfileLoad] -# +[ScreenOptionsMaster] + +[ScreenOptionsSimple] +NumRowsShown=10 +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-210+43*offsetFromCenter) end +ShowExitRow=true +SeparateExitRow=false +SeparateExitRowY=SCREEN_BOTTOM-40 + +ExplanationTogetherX=SCREEN_CENTER_X +ExplanationTogetherY=SCREEN_CENTER_Y+245 +ExplanationTogetherOnCommand=stoptweening;zoom,1;diffuse,color("#512232");wrapwidthpixels,700/0.75;cropright,1;linear,0.5;cropright,0 + +[ScreenOptionsSimpleService] + +[ScreenOptionsService] ShowHeader=true -ShowFooter=true -ShowHelp=true +LineNames="GameType,GraphicSound,KeyConfig,Arcade,InputOptions,SoundGraphics,Theme,Profiles,Network,Advanced,Reload,Credits" +LineTheme="gamecommand;screen,ScreenOptionsTheme;name,Theme Options" +LineCredits="gamecommand;screen,ScreenCredits;name,StepMania Credits" +# ScreenOptionsSystemDirection" +NumRowsShown=10 +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-210+43*offsetFromCenter) end +SeparateExitRow=false +SeparateExitRowY=SCREEN_BOTTOM-40 -[ScreenSelectProfile] -WaitForChildrenBeforeTweening=true +[OptionRowService] +TitleGainFocusCommand=diffuse,color("#9d324e"); +TitleLoseFocusCommand=diffuse,color("#512232"); +TitleOnCommand=maxwidth,600;zoom,0.6 + +[OptionRowExit] +FrameOnCommand=visible,true; +FrameX=SCREEN_CENTER_X + +ItemsMinBaseZoom=1 +ItemOnCommand=zoom,1;uppercase,true;diffuse,color("#d95656"); +ItemGainFocusCommand=stoptweening;linear,0.1;diffuse,color("#791b1b"); +ItemLoseFocusCommand=stoptweening;decelerate,0.05; +ColorSelected=color("#791b1b") +ColorNotSelected=color("#d95656") +ColorDisabled=color("#666666") + +ItemsLongRowP1X=SCREEN_CENTER_X-1024 +ItemsLongRowP2X=SCREEN_CENTER_X+1024 +ItemsLongRowSharedX=SCREEN_CENTER_X + +[ScreenOptionsServiceChild] +ExplanationTogetherX=SCREEN_CENTER_X +ExplanationTogetherY=SCREEN_CENTER_Y+245 +ExplanationTogetherOnCommand=stoptweening;zoom,0.75;diffuse,color("#512232");wrapwidthpixels,700/0.75;cropright,1;linear,0.5;cropright,0 + +[ScreenOptionsServiceExtendedChild] + +[OptionRow] +TitleX=SCREEN_CENTER_X-440 +TitleGainFocusCommand=diffuse,color("#9d324e"); +TitleLoseFocusCommand=diffuse,color("#512232"); +TitleOnCommand=shadowlength,0;wrapwidthpixels,SCREEN_WIDTH*0.4;vertspacing,-6;zoom,0.5;horizalign,left; +ColorSelected=color("#512232") +ColorNotSelected=color("#9d324e") +ColorDisabled=color("0.37,0.16,0.29,0.5") +ItemsStartX=SCREEN_CENTER_X-190 +ItemsEndX=SCREEN_CENTER_X+280 +TweenSeconds=0.09 +ItemOnCommand=shadowlength,0;zoom,0.75 + +[ScreenMiniMenu] +HeaderY=SCREEN_TOP +HeaderOnCommand=draworder,100;visible,false +LineHighlightOnCommand= +LineHighlightChangeCommand= +LineHighlightChangeToExitCommand= +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-219+43*offsetFromCenter) end +NumRowsShown=12 +ContainerOnCommand=x,-SCREEN_WIDTH;decelerate,0.35;x,SCREEN_LEFT +ContainerOffCommand=decelerate,0.35;addx,SCREEN_WIDTH; +CursorOnCommand= +ColorDisabled=color("0.37,0.16,0.29,0.5") + +[OptionRowMiniMenu] +Fallback="OptionRow" +TitleX=SCREEN_CENTER_X-400 +TitleOnCommand=horizalign,left;shadowlength,0;zoom,0.6; +ItemsLongRowP1X=SCREEN_CENTER_X-240 +ItemsLongRowP2X=SCREEN_CENTER_X+240+50 +ItemsLongRowSharedX=SCREEN_CENTER_X+200+50 +ItemOnCommand=zoom,1 + +ColorSelected=color("#512232") +ColorNotSelected=color("#9d324e") +ColorDisabled=color("0.37,0.16,0.29,0.5") + +[OptionRowMiniMenuEditHelp] +Fallback="OptionRowMiniMenu" + +TitleOnCommand=halign,0;strokecolor,color("#222222FF");shadowlength,1;zoom,0.5 + +[ScreenOptionsTheme] +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +LineNames="gNotePos,gScore,gSDisp,TimingDisplay,gOpts,gLongFail,gComboUnderField,FlashyCombo,FancyUIBG,PrefMeter" +LinegNotePos="lua,ThemePrefRow('NotePosition')" +LinegScore="lua,ThemePrefRow('GameplayShowScore')" +LinegSDisp="lua,ThemePrefRow('GameplayShowStepsDisplay')" +LineTimingDisplay="lua,ThemePrefRow('TimingDisplay')" +LinegOpts="lua,ThemePrefRow('ShowLotsaOptions')" +LinegAuto="lua,ThemePrefRow('AutoSetStyle')" +LinegLongFail="lua,ThemePrefRow('LongFail')" +LinegComboUnderField="lua,ThemePrefRow('ComboUnderField')" +LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')" +LineGameplayFooter="lua,ThemePrefRow('GameplayFooter')" +LineFancyUIBG="lua,ThemePrefRow('FancyUIBG')" +LinePrefMeter="lua,ThemePrefRow('PreferredMeter')" + +[ScreenOptionsAdvanced] +LineNames="3,4,8,SI,SM,HN,CC,CM,11,13,14,15,16,28,29,30,31,32,ECPT" +# It might not be wise to put theme-defined options outside the theme options menu, but... +LineCC="lua,ThemePrefRow('CustomComboContinue')" +LineCM="lua,ThemePrefRow('CustomComboMaintain')" + +[ScreenMiniMenuContext] +PageOnCommand=visible,false +LineHighlightX=SCREEN_CENTER_X/2 + +TitleX=SCREEN_CENTER_X +TitleOnCommand=shadowlength,1; +ItemsStartX=SCREEN_CENTER_X +ItemsEndX=SCREEN_CENTER_X +ItemsGapX=14 +ItemsLongRowP1X=SCREEN_CENTER_X +ItemsLongRowP2X=SCREEN_CENTER_X +ItemsLongRowSharedX=SCREEN_CENTER_X [ScreenSelectStyle] UpdateOnMesage="" @@ -788,74 +515,19 @@ IconChoiceOffCommand=linear,0.05;zoomx,0 # [ScreenSelectPlayMode] -PersistScreens="ScreenSelectPlayMode,ScreenSelectMusic" -# -ScreenOutDelay=1.5 -# -DefaultChoice="Easy" -# ChoiceNames="Normal,Extended" -# +PerChoiceScrollElement=false PerChoiceIconElement=false # -ShowScroller=true +ShowScroller=false WrapScroller=true -ScrollerX=SCREEN_CENTER_X -ScrollerY=SCREEN_CENTER_Y-60 -ScrollerOnCommand=SetFastCatchup,true; -ScrollerOffCommand=decelerate,0.35;y,SCREEN_CENTER_Y;sleep,1.15;linear,0.1;zoomy,0 -# -ShowBackgroundFrame=false -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,1.5;linear,0.1;zoomy,0 -# ShowIcon=true +# UseIconMetrics=true # -IconGainFocusCommand=stoptweening;glowshift;decelerate,0.125;zoom,1; -IconLoseFocusCommand=stoptweening;stopeffect;decelerate,0.125;zoom,0.6; -# IconMinZoom=0.5 -# IconBaseZoom=0.6 -# -IconChoiceEasyX=SCREEN_CENTER_X-(240*(5/6)) -IconChoiceEasyY=SCREEN_BOTTOM-88-64 -IconChoiceEasyOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceEasyOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceNormalX=SCREEN_CENTER_X-80 -IconChoiceNormalY=SCREEN_BOTTOM-88-64 -IconChoiceNormalOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceNormalOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceHardX=SCREEN_CENTER_X+(80*(5/6)) -IconChoiceHardY=SCREEN_BOTTOM-88-64 -IconChoiceHardOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceHardOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceRaveX=SCREEN_CENTER_X+80 -IconChoiceRaveY=SCREEN_BOTTOM-88-64 -IconChoiceRaveOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceRaveOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceNonstopX=SCREEN_CENTER_X-160 -IconChoiceNonstopY=SCREEN_BOTTOM-88 -IconChoiceNonstopOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceNonstopOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceOniX=SCREEN_CENTER_X -IconChoiceOniY=SCREEN_BOTTOM-88 -IconChoiceOniOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceOniOffCommand=linear,0.1175;zoomx,0 -# -IconChoiceEndlessX=SCREEN_CENTER_X+160 -IconChoiceEndlessY=SCREEN_BOTTOM-88 -IconChoiceEndlessOnCommand=zoom,0;bounceend,0.35;zoom,0.8 -IconChoiceEndlessOffCommand=linear,0.1175;zoomx,0 - -[ScreenSelectCharacter] - -[ScreenGameInformation] +IconChoicePosFunction=ScreenSelectStylePositions +IconChoiceOnCommand= +#todo: I'd like the two icons on the lower half (Rave and Oni as it is now) to fly off-screen downwards instead of upwards +IconChoiceOffCommand= [ScreenSelectMusic] UsePlayerSelectMenu=false @@ -864,169 +536,100 @@ SelectMenuAvailable=true # ModeMenuAvailable=(getenv(sMode) == Normal) # HelpDisplay has things added here to make sure it disappears for another # actor, which we defined in this screens decorations. -HelpSelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75; -HelpSelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*0.75;bouncebegin,0.125;diffusealpha,1;zoom,0.675 +HelpSelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,1; +HelpSelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*0.75;bouncebegin,0.125;diffusealpha,1;zoom,1 # Clone everything from HelpDisplay: we're lazy ShowAlternateHelpDisplay=true -# AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;accelerate,0.0725/2;y,SCREEN_BOTTOM-16-16;diffusealpha,1;decelerate,0.0725/2;y,SCREEN_BOTTOM-16-32; -# AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;smooth,0.125;y,SCREEN_BOTTOM-16;diffusealpha,0; -AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*1.25;bounceend,0.2;diffusealpha,1;zoom,0.675; -AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75; +# +AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*1.25;bounceend,0.2;diffusealpha,1;zoom,1; +AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,1;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75; # -MusicWheelX=SCREEN_CENTER_X+160 -MusicWheelY=SCREEN_CENTER_Y -MusicWheelOnCommand=draworder,-5;fov,90;vanishpoint,SCREEN_CENTER_X+160,SCREEN_CENTER_Y;addx,SCREEN_CENTER_X;decelerate,0.1;addx,-SCREEN_CENTER_X -MusicWheelOffCommand=bouncebegin,0.15;zoomx,0; +MusicWheelX=SCREEN_CENTER_X+326 +MusicWheelY=SCREEN_CENTER_Y-12 +MusicWheelOnCommand=draworder,-5;fov,90;vanishpoint,SCREEN_CENTER_X+160,SCREEN_CENTER_Y;addx,SCREEN_CENTER_X+60;sleep,0.2;decelerate,0.6;addx,-SCREEN_CENTER_X-60 +MusicWheelOffCommand=decelerate,0.4;x,SCREEN_WIDTH/0.75 # -ShowNewSong=not GAMESTATE:IsCourseMode() -NewSongX=SCREEN_CENTER_X-160+128-24 -NewSongY=SCREEN_TOP+160-2 -NewSongOnCommand=finishtweening;diffuse,Color("Orange");diffusetopedge,Color("Yellow");strokecolor,Color("Black");zoom,0.675;draworder,106;playcommand,"Set" -NewSongOffCommand=bouncebegin,0.1;zoom,0;diffusealpha,0 -NewSongShowCommand=finishtweening;diffusealpha,1;glowshift;effectclock,'bgm';effectperiod,4;textglowmode,'TextGlowMode_Inner'; -NewSongHideCommand=finishtweening;;diffusealpha,0;stopeffect; -# -ShowSongTime=true -SongTimeX=SCREEN_CENTER_X-160 -SongTimeY=SCREEN_TOP+160+(36/2)+8 -SongTimeOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1 - - -SongTimeOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0; -SongTimeResetCommand=diffuse,Color("White"); -SongTimeAutogenCommand=diffuse,Color("Green"); -SongTimeLongCommand=diffuse,Color("Yellow");diffusebottomedge,Color("Orange"); -SongTimeMarathonCommand=diffuse,Color("Orange");diffusebottomedge,Color("Red"); -# -ShowSortOrderFrame=false -SortOrderFrameX=SCREEN_CENTER_X+128+32 -SortOrderFrameY=SCREEN_TOP+24 -SortOrderFrameOnCommand=draworder,105;shadowlength,1 -SortOrderFrameSortCommand= -SortOrderFrameSongChosenCommand=linear,0.1;diffusealpha,0; -SortOrderFrameOffCommand=bouncebegin,0.05;zoomy,0; -# -ShowSortOrder=true -SortOrderX=SCREEN_CENTER_X-160+128 -SortOrderY=SCREEN_TOP+160+(36/2)+8 -SortOrderOnCommand=draworder,105;horizalign,right;strokecolor,Color("Outline");zoom,0.675;maxwidth,96/0.675; -SortOrderSortCommand=finishtweening;zoom,0.675*1.25;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");decelerate,0.5;zoom,0.675;diffuse,Color("White"); -SortOrderSongChosenCommand=linear,0.25;diffusealpha,0; -SortOrderOffCommand=bouncebegin,0.05;zoomy,0; -# -ShowStageDisplay=true -StageDisplayX=SCREEN_RIGHT-128 -StageDisplayY=SCREEN_TOP+24+3 -StageDisplayOnCommand=skewx,-0.125;draworder,105;fov,90;zoom,0.75 -StageDisplayOffCommand=linear,0.05;zoomy,0; -# -ShowDifficultyDisplay=not ThemePrefs.Get("AutoSetStyle") and not GAMESTATE:IsCourseMode() -DifficultyDisplayX=SCREEN_CENTER_X-160 -DifficultyDisplayY=SCREEN_TOP+160-96+2 -DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,1;zoomy,0;sleep,0.2;smooth,0.1;zoomy,1 -DifficultyDisplayOffCommand=linear,0.05;zoomy,0; -# -BannerX=SCREEN_CENTER_X-160 -BannerY=SCREEN_TOP+160-36+4 -BannerOnCommand=draworder,-1;scaletoclipped,256,80;visible,true;ztest,1;addy,-SCREEN_CENTER_Y;decelerate,0.1;addy,SCREEN_CENTER_Y -BannerOffCommand=bouncebegin,0.15;zoomx,0; -# -ShowBannerFrame=true -BannerFrameX=SCREEN_CENTER_X-160 -BannerFrameY=SCREEN_TOP+160-36+4 -BannerFrameOnCommand=draworder,105;addy,-SCREEN_CENTER_Y;decelerate,0.1;addy,SCREEN_CENTER_Y -BannerFrameOffCommand=bouncebegin,0.15;zoomx,0; -# -ShowBPMDisplay=true -BPMDisplayX=SCREEN_CENTER_X-160-90+2 -BPMDisplayY=SCREEN_TOP+160+(36/2)+8 -BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color.Outline;addx,320;zoomx,0;decelerate,0.1;addx,-320;zoomx,1 -BPMDisplayOffCommand=bouncebegin,0.05;zoomx,0; -# -ShowBPMLabel=true -BPMLabelX=SCREEN_CENTER_X-160-90 -BPMLabelY=SCREEN_TOP+160+(36/2)+8 -BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X -BPMLabelOffCommand=bouncebegin,0.05;zoomx,0; -# -ShowSegmentDisplay=not GAMESTATE:IsCourseMode() -SegmentDisplayX=SCREEN_CENTER_X-160 -SegmentDisplayY=SCREEN_TOP+160-36+4 -SegmentDisplayOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X -SegmentDisplayOffCommand=bouncebegin,0.05;zoomx,0; +BannerX=SCREEN_CENTER_X-229 +BannerY=SCREEN_CENTER_Y-165-11 +BannerOnCommand=draworder,45;scaletoclipped,468,146;visible,true;zoomy,0;decelerate,0.3;zoomy,1; +BannerOffCommand=decelerate,0.2;zoomx,0; # ShowDifficultyList=not GAMESTATE:IsCourseMode(); -DifficultyListX=SCREEN_CENTER_X-160 -DifficultyListY=SCREEN_TOP+216 -DifficultyListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X; -DifficultyListStartSelectingStepsMessageCommand=finishtweening;accelerate,0.2;zoom,1.1;decelerate,0.2;zoom,1; -DifficultyListOffCommand=bouncebegin,0.05;zoomx,0; +DifficultyListX=SCREEN_CENTER_X-228 +DifficultyListY=SCREEN_CENTER_Y-31 +DifficultyListOnCommand= +DifficultyListStartSelectingStepsMessageCommand= +DifficultyListOffCommand= # -DifficultyListTweenOnCommand=stoptweening;bounceend,0.1;zoomx,1 -DifficultyListTweenOffCommand=stoptweening;bouncebegin,0.1;zoomx,0 +DifficultyListTweenOnCommand= +DifficultyListTweenOffCommand= # Shrink the difficultylist for viewing panedisplays; # DifficultyListSelectMenuOpenedMessageCommand=stoptweening;decelerate,0.1;zoom,0.5; # DifficultyListSelectMenuClosedMessageCommand=stoptweening;accelerate,0.05;zoom,1; # -ShowPaneDisplayFrameP1=true -PaneDisplayFrameP1X=SCREEN_CENTER_X-160 -PaneDisplayFrameP1Y=SCREEN_BOTTOM-112-2 -PaneDisplayFrameP1OnCommand=player,PLAYER_1;diffuse,Color("Orange");zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1 -PaneDisplayFrameP1OffCommand=bouncebegin,0.05;zoomx,0; -PaneDisplayFrameP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end -# -ShowPaneDisplayTextP1=true -PaneDisplayTextP1X=SCREEN_CENTER_X-160 -PaneDisplayTextP1Y=SCREEN_BOTTOM-122-2 -PaneDisplayTextP1OnCommand=player,PLAYER_1;zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1 -PaneDisplayTextP1OffCommand=bouncebegin,0.05;zoomx,0; -PaneDisplayTextP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end -# -ShowPaneDisplayFrameP2=true -PaneDisplayFrameP2X=SCREEN_CENTER_X+160 -PaneDisplayFrameP2Y=SCREEN_BOTTOM-112-2 -PaneDisplayFrameP2OnCommand=player,PLAYER_2;diffuse,Color("Orange");zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1 -PaneDisplayFrameP2OffCommand=bouncebegin,0.05;zoomx,0; -PaneDisplayFrameP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end -# -ShowPaneDisplayTextP2=true -PaneDisplayTextP2X=SCREEN_CENTER_X+160 -PaneDisplayTextP2Y=SCREEN_BOTTOM-122-2 -PaneDisplayTextP2OnCommand=player,PLAYER_2;zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1 -PaneDisplayTextP2OffCommand=bouncebegin,0.05;zoomx,0; -PaneDisplayTextP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end -# -ShowCourseContentsList=false -CourseContentsListX=SCREEN_CENTER_X-160 -CourseContentsListY=SCREEN_TOP+216+6 -CourseContentsListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X -CourseContentsListOffCommand=bouncebegin,0.05;zoomx,0; -# -ShowNumCourseSongs=GAMESTATE:IsCourseMode() -NumCourseSongsX=SCREEN_CENTER_X-160+128 -NumCourseSongsY=SCREEN_TOP+160+(36/2)+8 -NumCourseSongsOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1 -NumCourseSongsOffCommand=bouncebegin,0.05;zoom,0;diffusealpha,0; -# +ShowSongTime=true +SongTimeX= +SongTimeY=SCREEN_CENTER_Y-78+2 +SongTimeOnCommand=horizalign,left;zoom,1.0;diffuse,color("#DFE2E9") + +ShowBPMDisplay=true +BPMDisplayX=SCREEN_CENTER_X-179-66 +BPMDisplayY=SCREEN_CENTER_Y-78+2 +BPMDisplayOnCommand=horizalign,right;zoom,1.0; + ShowSongOptions=true SongOptionsX=SCREEN_CENTER_X SongOptionsY=SCREEN_CENTER_Y -SongOptionsOnCommand=visible,false;draworder,1000 +SongOptionsOnCommand=visible,false;draworder,1000;diffuse,color("#FF8312");diffusebottomedge,color("#FFD75B");shadowlength,1;strokecolor,color("#472211"); SongOptionsOffCommand= -#-- -SongOptionsShowCommand=visible,true;uppercase,true;zoom,1.2;settext,THEME:GetString("ScreenSelectMusic","Press Start For Options");decelerate,0.2;zoom,1; -SongOptionsEnterCommand=uppercase,true;settext,THEME:GetString("ScreenSelectMusic","Entering Options");sleep,0.2;linear,0.2;zoomy,0; -SongOptionsHideCommand=linear,0.1;zoomy,0; +SongOptionsShowCommand=visible,true;diffusealpha,0;zoom,0;settext,THEME:GetString("ScreenSelectMusic","Press Start For Options");decelerate,0.5;zoom,1.25;diffusealpha,1; +SongOptionsEnterCommand=settext,THEME:GetString("ScreenSelectMusic","Entering Options");sleep,0.1;decelerate,0.3;diffusealpha,0; +SongOptionsHideCommand=sleep,0.3;decelerate,0.3;diffusealpha,0; +# +ShowStageDisplay=true +StageDisplayX= +StageDisplayY=SCREEN_CENTER_Y-74 +StageDisplayOnCommand= +StageDisplayOffCommand= +StageDisplayUseShortString=true +# +ShowCourseContentsList=GAMESTATE:IsCourseMode() +CourseContentsListX=SCREEN_CENTER_X-228 +CourseContentsListY=SCREEN_CENTER_Y-20 +CourseContentsListOnCommand=draworder,-1;addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X +CourseContentsListOffCommand=bouncebegin,0.05;zoomx,0; +# +ShowNumCourseSongs=GAMESTATE:IsCourseMode() +NumCourseSongsX=SCREEN_CENTER_X-179 +NumCourseSongsY=SCREEN_CENTER_Y-64+2 +NumCourseSongsOnCommand= +NumCourseSongsOffCommand= +# +ShowPaneDisplayTextP1=true +PaneDisplayTextP1X=SCREEN_CENTER_X-200+24-32 +PaneDisplayTextP1Y=SCREEN_CENTER_Y+207+8 +PaneDisplayTextP1OnCommand=player,PLAYER_1;horizalign,center;zoomy,0;sleep,0.4;decelerate,0.3;zoomy,1 +PaneDisplayTextP1OffCommand=smooth,0.2;zoomy,0; +PaneDisplayTextP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end +# +ShowPaneDisplayTextP2=true +PaneDisplayTextP2X=SCREEN_CENTER_X+200-72-4+32 +PaneDisplayTextP2Y=SCREEN_CENTER_Y+207+8 +PaneDisplayTextP2OnCommand=player,PLAYER_2;horizalign,center;zoomy,0;sleep,0.4;decelerate,0.3;zoomy,1 +PaneDisplayTextP2OffCommand=smooth,0.2;zoomy,0; +PaneDisplayTextP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end +# +PercentScoreP1X=SCREEN_CENTER_X-353-32 +PercentScoreP1Y=SCREEN_CENTER_Y+284 +PercentScoreP1OnCommand=zoomy,0;zoomx,0.35;sleep,0.8;smooth,0.2;zoomy,0.35 +PercentScoreP1OffCommand=smooth,0.2;zoomy,0;addy,-6; +# +PercentScoreP2X=SCREEN_CENTER_X+353+32 +PercentScoreP2Y=SCREEN_CENTER_Y+284 +PercentScoreP2OnCommand=zoomy,0;zoomx,0.35;sleep,0.8;smooth,0.2;zoomy,0.35 +PercentScoreP2OffCommand=smooth,0.2;zoomy,0;addy,-6; +NullScoreString=string.format("% 9i",0) # -ShowSongOptionsFrame=true -SongOptionsFrameX=SCREEN_CENTER_X -SongOptionsFrameY=SCREEN_CENTER_Y -SongOptionsFrameOnCommand=visible,false;draworder,1000 -SongOptionsFrameOffCommand= -#-- -SongOptionsFrameShowCommand=visible,true;diffuse,Color("Orange");diffusealpha,0.5;zoomy,40*1.5;linear,1.5;zoomy,40; -SongOptionsFrameEnterCommand=sleep,0.5;linear,0.3;diffusealpha,0; -SongOptionsFrameHideCommand=linear,0.3;diffusealpha,0 # CDTitleX=SCREEN_CENTER_X-160+90 CDTitleY=SCREEN_TOP+160+(36/2)+8 @@ -1035,579 +638,335 @@ CDTitleBackCommand=cullmode,'CullMode_Back' #CDTitleOnCommand=draworder,106;shadowlength,1;zoom,0.75;diffusealpha,1;zoom,0;bounceend,0.1;zoom,0.75;spin;effectmagnitude,0,180,0; CDTitleOnCommand=visible,false CDTitleOffCommand=bouncebegin,0.05;zoomx,0; -# -ScoreP1SortChangeCommand=stoptweening; -ScoreP2SortChangeCommand=stoptweening; -ScoreFrameP1SortChangeCommand=stoptweening; -ScoreFrameP2SortChangeCommand=stoptweening; -# -ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1) -StepsDisplayP1X=SCREEN_CENTER_X-160 -StepsDisplayP1Y=SCREEN_BOTTOM-60 -StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y -StepsDisplayP1OffCommand=bouncebegin,0.05;zoomx,0; -# StepsDisplayP1CurrentStepsP1ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.05;zoom,1 -# -ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2) -StepsDisplayP2X=SCREEN_CENTER_X+160 -StepsDisplayP2Y=SCREEN_BOTTOM-60 -StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y -StepsDisplayP2OffCommand=bouncebegin,0.05;zoomx,0; -# StepsDisplayP2CurrentStepsP2ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.05;zoom,1 -# -ShowPercentScoreP1=true -PercentScoreP1X=SCREEN_CENTER_X-80-1 -PercentScoreP1Y=SCREEN_BOTTOM-60 -PercentScoreP1OnCommand=player,PLAYER_1;addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y -PercentScoreP1OffCommand=bouncebegin,0.05;zoomx,0; -# -ShowPercentScoreP2=true -PercentScoreP2X=SCREEN_CENTER_X+240-1 -PercentScoreP2Y=SCREEN_BOTTOM-60 -PercentScoreP2OnCommand=player,PLAYER_2;addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y -PercentScoreP2OffCommand=bouncebegin,0.05;zoomx,0; [ScreenSelectCourse] -MusicWheelType=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniWheel" or "CourseWheel" -Codes=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniCodeDetector" or "CourseCodeDetector" -# -ShowDifficultyList=false -ShowCourseContentsList=true -ShowNumCourseSongs=true -# -UsePlayerSelectMenu=false +# Since ScreenSelectCourse falls back on ScreenSelectMusic, it can just get the metrics it needs +# from the latter; especially since the course mode-specific items are set to only show during +# course mode on their own anyways. SelectMenuAvailable=false + # -ShowSortOrder=true -SortOrderOnCommand=visible,false +[BPMDisplay] +SetNoBpmCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,color("#CFCAC3"); +SetNormalCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,color("#DFE2E9"); +SetChangeCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,color("#EDD7B9"); +SetRandomCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,color("#DE2626");textglowmode,'TextGlowMode_Inner';glowshift;effectcolor1,color("#EB7515");effectcolor2,color("#FF0000"); +SetExtraCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.5);diffuseshift;effectcolor1,color("1,1,1,1");effectcolor2,color("0.475,0.475,0.475,1"); +RandomCycleSpeed=0.2 -- smaller numbers mean the bpm cycles faster + +[DifficultyList] +ItemsSpacingY=90 +ItemsSpacingX= +NumShownItems=3 + +[StepsDisplayListRow] +# TODO: Make this use DifficultyList? +CapitalizeDifficultyNames=false +NumShownItems=6 +ItemsSpacingY=37 +MoveCommand=decelerate,0.05 + +FrameX= +FrameOnCommand=zoom,0.6 +FrameSetCommand=%function(self,param) \ + if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ + self:diffuse(ColorLightTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ + else \ + self:diffuse(color('1,1,1,1')); \ + end; \ +end; # -ShowPaneDisplayFrameP1=false -ShowPaneDisplayTextP1=false -ShowPaneDisplayFrameP2=false -ShowPaneDisplayTextP2=false - - -[CourseCodeDetector] -NextSort1="" -NextSort2="" -NextSort3="" -NextSort4="" -ModeMenu1="" -ModeMenu2="" - -[OniCodeDetector] -Fallback="CodeDetector" - -[StepsDisplay] -FrameLoadCommand=%function(self,param) end; NumTicks=10 -MaxTicks=14 -TicksX=0 -TicksY=0 -TicksOnCommand=shadowlength,0; -TicksSetCommand=%function(self,param) end; -MeterX=56-32 -MeterY=0 -MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' +MaxTicks=10 +# +ShowMeter=true +MeterX=84+24 +MeterOnCommand=zoom,0.6;maxwidth,47 MeterSetCommand=%function(self,param) \ if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + self:diffuse(ColorDarkTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ end; \ if param.Meter then \ - if param.Meter >= 100 then \ - self:basezoom(0.8); \ - self:glowshift(); \ - elseif param.Meter >= 10 then \ - self:basezoom(1); \ - self:glowshift(); \ + if param.Meter >= 13 then \ + self:stopeffect(); \ else \ - self:basezoom(1); \ self:stopeffect(); \ end; \ end; \ end; # ShowDescription=true -DescriptionX=-20-32 -DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0 -DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 +DescriptionX=-84 +DescriptionOnCommand=horizalign,left;zoom,1;maxwidth,130;uppercase,true; DescriptionSetCommand=%function(self,param) \ if self:GetText() == "" then \ self:settext("Edit"); \ end; \ if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + self:diffuse(ColorDarkTone(CustomDifficultyToColor(param.CustomDifficulty))); \ end; \ end; # ShowAutogen=true -AutogenX=-132 +AutogenX=0 AutogenY=0 -AutogenOnCommand= -AutogenSetCommand=finishtweening -AutogenTweenOnCommand=finishtweening;decelerate,0.25;zoom,1 -AutogenTweenOffCommand=finishtweening;bounceend,0.2;zoomx,8;zoomy,0 +AutogenOnCommand=diffuseshift;effectcolor1,Color.Alpha( Color("Green") , 0.5 );effectcolor2,ColorMidTone( Color("Green") ); +#AutogenOnCommand=zoom,0.75; # -ShowStepsType=ThemePrefs.Get("AutoSetStyle") -StepsTypeX=-20-32 -StepsTypeY=7 -StepsTypeOnCommand=zoom,0.45 +ShowStepsType=true +StepsTypeX=-97 +StepsTypeY=0 +StepsTypeOnCommand= +StepsTypeSetCommand= -[StepsDisplayGameplay] -Fallback="StepsDisplay" +[MusicWheel] +ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ + self:y(offsetFromCenter*68); \ + if math.abs(offsetFromCenter) < 1 then \ + self:x(-20+math.abs(offsetFromCenter)*20); \ + end; \ +end +HighlightOnCommand=addx,-20;diffuseramp;effectcolor2,Color.White;effectcolor1,color("1,1,1,0.2");effectclock,'beatnooffset' +NumWheelItems=13 +ShowRoulette=true +ShowRandom=true + +[MusicWheelItem] +Fallback=WheelItemBase +IconX=-190 +IconY=0 +IconOnCommand= # -ShowMeter=true -ZeroMeterString="?" -MeterX=56 -MeterY=0 -MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' -MeterSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - if param.Meter then \ - if param.Meter >= 100 then \ - self:zoom(0.8); \ - else \ - self:zoom(1); \ - end; \ - end; \ +SectionCountX=-245 +SectionExpandedOnCommand=x,-200;maxwidth,SCREEN_WIDTH*0.31;horizalign,left;shadowlength,1;strokecolor,color("#163742") +SectionCollapsedOnCommand=x,-200;maxwidth,SCREEN_WIDTH*0.31;horizalign,left;shadowlength,1;strokecolor,color("#163742") +SectionCountOnCommand=zoom,0.6;addy,2;diffuse,color("#000000");shadowlength,1;diffusealpha,0.75 +# +WheelNotifyIconX=-245 +WheelNotifyIconY=0 +WheelNotifyIconOnCommand=zoom,1; + +RouletteX=-200 +RouletteY=0 +RouletteOnCommand=zoom,1.25;uppercase,true;rainbowscroll,true;shadowlength,1;horizalign,left; + +RandomX=-200 +RandomY=0 +RandomOnCommand=zoom,1.25;uppercase,true;rainbowscroll,true;shadowlength,1;horizalign,left; + +GradeP1X=140 +GradeP1Y=0 +GradeP2X=216 +GradeP2Y=0 + +CourseX=-210 +CourseOnCommand=zoom,1.0;horizalign,left;shadowlength,1;maxwidth,SCREEN_WIDTH*0.31;strokecolor,color("#42292E") + +ModeX=-210 +ModeOnCommand=zoom,1.0;horizalign,left;shadowlength,1;maxwidth,SCREEN_WIDTH*0.31;strokecolor,color("#42292E") + +[TextBanner] +TitleX=150 +TitleY=0 +TitleOnCommand=shadowlength,2;horizalign,left +SubtitleX=90 +SubtitleY=0 +SubtitleOnCommand=shadowlength,1;horizalign,left +ArtistX=90 +ArtistY=0 +ArtistOnCommand=shadowlength,1;horizalign,left +ArtistPrependString="/" +AfterSetCommand=%function(self) \ + local Title=self:GetChild("Title"); \ + local Subtitle=self:GetChild("Subtitle"); \ + local Artist=self:GetChild("Artist"); \ + if Subtitle:GetText() == "" then \ + (cmd(zoom,1.1;maxwidth,SCREEN_WIDTH*0.31;y,-13;x,-200;strokecolor,color("#42292E");))(Title); \ + (cmd(visible,false))(Subtitle); \ + (cmd(zoom,0.75;maxwidth,SCREEN_WIDTH*0.45;y,13;x,-200;strokecolor,color("#42292E");))(Artist); \ + else \ + (cmd(zoom,0.9;maxwidth,SCREEN_WIDTH*0.31;y,-14;x,-200;strokecolor,color("#42292E");))(Title); \ + (cmd(visible,true;zoom,0.5;y,4;maxwidth,SCREEN_WIDTH*0.46;x,-200;strokecolor,color("#42292E");))(Subtitle); \ + (cmd(zoom,0.6;maxwidth,SCREEN_WIDTH*0.45;y,18;x,-200;strokecolor,color("#42292E");))(Artist); \ + end \ end; -# -ShowDescription=true -DescriptionX=-20 -DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0 -DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 -DescriptionSetCommand=%function(self,param) \ - if self:GetText() == "" then \ - self:settext("Edit"); \ - end; \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - (cmd(finishtweening;diffusealpha,0;addx,-4;smooth,0.125;addx,4;diffusealpha,1))(self); \ + +[TextBannerCourse] +TitleOnCommand=horizalign,left +SubtitleOnCommand=horizalign,left +ArtistOnCommand=horizalign,left +ArtistPrependString="" +AfterSetCommand=%function(self) \ + local Title=self:GetChild("Title"); \ + local Subtitle=self:GetChild("Subtitle"); \ + local Artist=self:GetChild("Artist"); \ + if Subtitle:GetText() == "" then \ + (cmd(zoom,1.1;x,-220;maxwidth,340;y,-11))(Title); \ + (cmd(visible,false))(Subtitle); \ + (cmd(zoom,0.75;maxwidth,500;y,13;x,-220;))(Artist); \ + else \ + (cmd(zoom,0.9;x,-220;maxwidth,340;y,-13))(Title); \ + (cmd(visible,true;zoom,0.5;y,4;maxwidth,500;x,-220;))(Subtitle); \ + (cmd(zoom,0.6;maxwidth,500;y,18;x,-220;))(Artist); \ + end \ end; -# -ShowAutogen=false -AutogenX=40 -AutogenY=0 -AutogenOnCommand= -AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end -# -ShowStepsType=ThemePrefs.Get("AutoSetStyle") -StepsTypeX=-20 -StepsTypeY=7 -StepsTypeOnCommand=zoom,0.45 -[ScreenOptions] -CursorTweenSeconds=0.05 +[BitmapText] +# The colors in the 'roulette' text. you can have a lot! +NumRainbowColors=7 +RainbowColor1=color("0.95,0.81,0.81,1") -- red +RainbowColor2=color("0.95,0.82,0.95,1") -- pink +RainbowColor3=color("0.87,0.82,0.95,1") -- purple +RainbowColor4=color("0.82,0.88,0.95,1") -- sky blue +RainbowColor5=color("0.82,0.95,0.88,1") -- sea green +RainbowColor6=color("0.87,0.95,0.82,1") -- green +RainbowColor7=color("1.00,0.85,0.78,1") -- orange -DisqualifyP1X=SCREEN_CENTER_X-176 -DisqualifyP1Y=SCREEN_BOTTOM-98 -DisqualifyP1OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_1 -DisqualifyP2X=SCREEN_CENTER_X+176 -DisqualifyP2Y=SCREEN_BOTTOM-98 -DisqualifyP2OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_2 - -ContainerOnCommand=x,-SCREEN_WIDTH;decelerate,0.35;x,SCREEN_LEFT -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.05 -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=stoptweening;shadowlength,0;zoom,0.75;wrapwidthpixels,(SCREEN_WIDTH*0.9375)*1.25;cropright,1;linear,0.5;cropright,0 -ExplanationTogetherOffCommand=stoptweening -[ScreenOptionsMaster] - -[ScreenOptionsSimple] - -[ScreenOptionsSimpleService] - -[ScreenOptionsService] -ShowHeader=true - -LineNames="GameType,GraphicSound,KeyConfig,Arcade,InputOptions,SoundGraphics,Theme,Profiles,Network,Advanced,Reload,Credits" -LineTheme="gamecommand;screen,ScreenOptionsTheme;name,Theme Options" - -# ScreenOptionsSystemDirection" - -NumRowsShown=14 -RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-170+24*offsetFromCenter) end - -SeparateExitRow=false -SeparateExitRowY=SCREEN_BOTTOM-40 - -[ScreenOptionsExtended] -LineNames="2,Sync,3,10,11,4,12,5,Theme" - -[ScreenOptionsServiceChild] - -[ScreenOptionsServiceExtendedChild] - -[ScreenMiniMenu] -HeaderY=SCREEN_TOP -HeaderOnCommand=draworder,100;visible,false -LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.3;fadeleft,0.25;faderight,0.25;diffusealpha,0.375 -LineHighlightChangeCommand= -LineHighlightChangeToExitCommand= - -[OptionRowMiniMenu] -Fallback="OptionRow" -TitleX=SCREEN_CENTER_X-320+48 -TitleOnCommand=horizalign,left;shadowlength,0;uppercase,true;zoom,0.6375;strokecolor,Color("Black"); -ItemsLongRowP1X=SCREEN_CENTER_X-240 -ItemsLongRowP2X=SCREEN_CENTER_X+240 -ItemsLongRowSharedX=SCREEN_CENTER_X+200 -ItemOnCommand=zoom,0.6375 - -ColorSelected=color("1,1,1,1") -ColorNotSelected=color("0.5,0.5,0.5,1") - -[ScreenMiniMenuContext] -PageOnCommand=visible,false -LineHighlightX=SCREEN_CENTER_X/2 - -TitleX=SCREEN_CENTER_X -TitleOnCommand=shadowlength,1; -ItemsStartX=SCREEN_CENTER_X -ItemsEndX=SCREEN_CENTER_X -ItemsGapX=14 -ItemsLongRowP1X=SCREEN_CENTER_X -ItemsLongRowP2X=SCREEN_CENTER_X -ItemsLongRowSharedX=SCREEN_CENTER_X - -[OptionRowMiniMenuContext] - -[ScreenMapControllers] -LinesVisible=15 - -[ScreenTestInput] - -[ScreenOptionsSystemDirection] -LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,16,LF,17,18,19,20,21,22" -LineLF="lua,ThemePrefRow('LongFail')" -LineRollCombo="lua,ThemePrefRow('ComboOnRolls')" -LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')" - -[ScreenOptionsGraphicsSound] - -[ScreenOptionsAdvanced] -LineNames="3,4,8,SI,SM,11,13,14,15,16,28,29,30,32,RollCombo,ECPT" -LineRollCombo="lua,ThemePrefRow('ComboOnRolls')" - -[ScreenAppearanceOptions] - -[ScreenOptionsUI] - -[ScreenOptionsInput] - -[ScreenOptionsArcade] - -[ScreenOptionsTheme] -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsService" -PrevScreen="ScreenOptionsService" -LineNames="gNotePos,gAuto,gScore,gSDisp,TimingDisplay,gOpts,gLongFail,gComboUnderField,FlashyCombo,GameplayFooter,FancyUIBG" -LinegNotePos="lua,ThemePrefRow('NotePosition')" -LinegScore="lua,ThemePrefRow('GameplayShowScore')" -LinegSDisp="lua,ThemePrefRow('GameplayShowStepsDisplay')" -LineTimingDisplay="lua,ThemePrefRow('TimingDisplay')" -LinegOpts="lua,ThemePrefRow('ShowLotsaOptions')" -LinegAuto="lua,ThemePrefRow('AutoSetStyle')" -LinegLongFail="lua,ThemePrefRow('LongFail')" -LinegComboUnderField="lua,ThemePrefRow('ComboUnderField')" -LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')" -LineGameplayFooter="lua,ThemePrefRow('GameplayFooter')" -LineFancyUIBG="lua,ThemePrefRow('FancyUIBG')" - -[ScreenSelectGame] - -[ScreenNetworkOptions] - -[ScreenOptionsManageProfiles] - -[ScreenOptionsEditProfile] - -[ScreenOptionsCustomizeProfile] -ShowHeader=true -ShowFooter=true - -[ScreenReloadSongs] +[ScreenNestyPlayerOptions] +Class="ScreenWithMenuElements" +Fallback="ScreenWithMenuElements" +NextScreen="ScreenStageInformation" +PrevScreen=Branch.BackOutOfPlayerOptions() +RepeatRate=10 +RepeatDelay=.25 +PlayMusic=false +WaitForChildrenBeforeTweeningOut=false [ScreenPlayerOptions] -LineNames="1,8,14,2,3A,3B,4,5,6,R1,R2,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,16" LineSF="lua,OptionRowScreenFilter()" -Line17="lua,OptionRowProTiming()" -Line18="list,Characters" -PlayerNameplateP1X=SCREEN_CENTER_X * 0.5 + 16 -PlayerNameplateP1Y=SCREEN_CENTER_Y - 176 -PlayerNameplateP1OnCommand=draworder,DrawOrder.Decorations;zoomy,0;addx,-SCREEN_CENTER_X;sleep,0.75;decelerate,0.25;addx,SCREEN_CENTER_X;zoomy,1 -PlayerNameplateP1OffCommand= +PlayerNameplateP1X=SCREEN_CENTER_X-270 +PlayerNameplateP1Y=SCREEN_CENTER_Y+190 +PlayerNameplateP1OnCommand=zoomy,0;draworder,DrawOrder.Decorations;sleep,0.8;decelerate,0.5;zoomy,1; +PlayerNameplateP1OffCommand=decelerate,0.35;addx,SCREEN_WIDTH; -PlayerNameplateP2X=SCREEN_CENTER_X * 1.5 - 16 -PlayerNameplateP2Y=SCREEN_CENTER_Y - 176 -PlayerNameplateP2OnCommand=draworder,DrawOrder.Decorations;zoomy,0;addx,SCREEN_CENTER_X;sleep,0.75;decelerate,0.25;addx,-SCREEN_CENTER_X;zoomy,1 -PlayerNameplateP2OffCommand= +PlayerNameplateP2X=SCREEN_CENTER_X+270 +PlayerNameplateP2Y=SCREEN_CENTER_Y+190 +PlayerNameplateP2OnCommand=zoomy,0;draworder,DrawOrder.Decorations;sleep,0.8;decelerate,0.5;zoomy,1; +PlayerNameplateP2OffCommand=decelerate,0.35;addx,SCREEN_WIDTH; -[ScreenPlayerOptionsRestricted] -[ScreenSplash] +# 06 # +[Judgment] +JudgmentW1Command=finishtweening;shadowlength,0;y,0;diffusealpha,1;zoom,0.9;smooth,0.05;zoom,0.75;sleep,0.8;smooth,0.1;zoomy,0.5;zoomx,1.3;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.25") +JudgmentW2Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,0.9;smooth,0.05;zoom,0.75;sleep,0.5;smooth,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +JudgmentW3Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,0.9;smooth,0.05;zoom,0.75;sleep,0.5;smooth,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; +JudgmentW4Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,0.9;smooth,0.05;zoom,0.75;sleep,0.5;smooth,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; +JudgmentW5Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,0.75;vibrate;effectmagnitude,1,2,2;sleep,0.5;smooth,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +JudgmentMissCommand=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,0.75;y,-20;smooth,0.8;y,20;sleep,0.5;smooth,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +# Late/Early +OffsetOnCommand= +OffsetLateCommand= +OffsetEarlyCommand= -[ScreenExit] - -[ScreenAttract] +[HoldJudgment] +HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.8;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 +HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.3;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 +[Protiming] +ProtimingOnCommand=shadowlength,1;horizalign,right;x,30;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +AverageOnCommand=shadowlength,1;horizalign,left;x,32;y,8;zoom,0.75;diffuse,ColorLightTone( Color("Green") );strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +TextOnCommand=shadowlength,1;horizalign,left;x,32;y,-6;zoom,0.5;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; # +ProtimingW1Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W1"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW2Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W2"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW3Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W3"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W4"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW5Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W5"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingMissCommand=finishtweening;diffusealpha,1;zoom,1.15;glow,GameColor.Judgment["JudgmentLine_Miss"];linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_Miss"];sleep,2;linear,0.5;diffuse,Color("Invisible"); # -# -# +AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.025;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0; +TextPulseCommand=finishtweening;diffusealpha,1;zoom,0.5*1.025;decelerate,0.05;zoom,0.5;sleep,2;linear,0.5;diffusealpha,0; -[ScreenHighScores] -Fallback="ScreenWithMenuElements" -ResetGameState=false -AttractVolume=true +[Combo] +ShowComboAt=2 +LabelMinZoom=0.8*1 +LabelMaxZoom=1.0*1 -FOV=90 +PulseCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.05*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; +PulseLabelCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.0125*param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; -ScrollerItemsToDraw=9 -ScrollerOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;SetMask,624,40;draworder,-5 -ScrollerItemTransformFunction=function(self,offset,itemIndex,numItems) \ - self:y(46 * offset); \ -end; +[ScreenStageInformation] +ShowHeader=False +ShowFooter=False -HelpOnCommand=visible,false +[LifeMeterBar] +DangerThreshold=0.275 -[ScreenRanking] -# - -# - -# - -# - -# - -# 05 # B - -# 05 # C [ScreenGameplay] +ShowHeader=False +ShowFooter=False # -SongMeterDisplayX=SCREEN_CENTER_X -SongMeterDisplayY=SCREEN_TOP+50 -SongMeterDisplayOnCommand=draworder,50;zoom,0;y,SCREEN_TOP-24;sleep,1.5;decelerate,0.5;zoom,1;y,SCREEN_TOP+50 -SongMeterDisplayOffCommand= +PlayerP1MiscX=math.floor(scale((0.85/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) +PlayerP2MiscX=math.floor(scale((2.15/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) # -ShowSongTitle=not GAMESTATE:IsDemonstration(); -SongTitleX=SCREEN_CENTER_X -SongTitleY=SCREEN_TOP+54 -SongTitleOnCommand=draworder,55;strokecolor,Color.Outline;shadowlength,1;basezoom,0.55;zoomy,0;sleep,1;smooth,0.5;zoom,1; -SongTitleOffCommand= +LifeP1OnCommand=visible,false +LifeP2OnCommand=visible,false +ShowLifeMeterBarP1=GAMESTATE:GetPlayMode() ~= 'PlayMode_Rave' +ShowLifeMeterBarP2=GAMESTATE:GetPlayMode() ~= 'PlayMode_Rave' # -SongMeterDisplayP1X=Center1Player() and SCREEN_CENTER_X or SCREEN_LEFT+16 -SongMeterDisplayP1Y=Center1Player() and SCREEN_TOP+60 or SCREEN_CENTER_Y-32 -SongMeterDisplayP1OnCommand=draworder,5;rotationz,Center1Player() and 0 or -90;zoom,0;addx,-24;sleep,1.5;decelerate,0.5;zoom,1;addx,24;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1 -SongMeterDisplayP1OffCommand= +LifeMeterBarP1X=SCREEN_LEFT+40; +LifeMeterBarP1Y=SCREEN_CENTER_Y +LifeMeterBarP1OnCommand=player,PLAYER_1;rotationz,-90;addx,-100;sleep,1;decelerate,0.9;addx,100; +LifeMeterBarP1OffCommand=sleep,1;decelerate,0.9;addx,-100; +LifeMeterBarP2X=SCREEN_RIGHT-40; +LifeMeterBarP2Y=SCREEN_CENTER_Y +LifeMeterBarP2OnCommand=player,PLAYER_2;rotationz,-90;addx,100;sleep,1;decelerate,0.9;addx,-100; +LifeMeterBarP2OffCommand=sleep,1;decelerate,0.9;addx,100; # -SongMeterDisplayP2X=Center1Player() and SCREEN_CENTER_X or SCREEN_RIGHT-16 -SongMeterDisplayP2Y=Center1Player() and SCREEN_TOP+60 or SCREEN_CENTER_Y-32 -SongMeterDisplayP2OnCommand=draworder,5;rotationz,Center1Player() and 0 or -90;zoom,0;addx,24;sleep,1.5;decelerate,0.5;zoom,1;addx,-24;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2 -SongMeterDisplayP2OffCommand= +ScoreP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1MiscX") +ScoreP1Y=SCREEN_TOP+40 +ScoreP1OnCommand=visible,(GAMESTATE:GetCurrentCourse() == nil or GAMESTATE:GetCurrentCourse():GetCourseType() ~= "CourseType_Survival") and ThemePrefs.Get("GameplayShowScore");zoom,0.75;diffuse,ColorLightTone(PlayerColor(PLAYER_1));hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1;addy,-100;sleep,1.3;decelerate,0.7;addy,100; +ScoreP1OffCommand=sleep,1;decelerate,0.9;addy,-100; +ScoreP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2MiscX") +ScoreP2Y=SCREEN_TOP+40 +ScoreP2OnCommand=visible,(GAMESTATE:GetCurrentCourse() == nil or GAMESTATE:GetCurrentCourse():GetCourseType() ~= "CourseType_Survival") and ThemePrefs.Get("GameplayShowScore");zoom,0.75;diffuse,ColorLightTone(PlayerColor(PLAYER_2));hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2;addy,-100;sleep,1.3;decelerate,0.7;addy,100; +ScoreP2OffCommand=sleep,1;decelerate,0.9;addy,-100; # -ShowBPMDisplay=true -BPMDisplayX=Center1Player() and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X -# 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-17 -BPMDisplayOnCommand=draworder,101 -BPMDisplayOffCommand=bounceend,0.25;zoom,0 +StepsDisplayP1OnCommand=visible,false +StepsDisplayP2OnCommand=visible,false +StepsDisplayP1HideCommand=visible,false +StepsDisplayP2HideCommand=visible,false +StepsDisplayP1ShowCommand=visible,false +StepsDisplayP2ShowCommand=visible,false +StepsDisplayP1Y=SCREEN_BOTTOM+999 +StepsDisplayP2Y=SCREEN_BOTTOM+999 # ShowStageDisplay=true StageDisplayX=SCREEN_CENTER_X -StageDisplayY=Center1Player() and SCREEN_BOTTOM-76 or SCREEN_BOTTOM-50 -StageDisplayOnCommand=draworder,DrawOrder.Screen -StageDisplayOffCommand=bounceend,0.25;zoom,0 +StageDisplayY=SCREEN_BOTTOM-25 +StageDisplayOnCommand=draworder,DrawOrder.Screen;addy,100;sleep,0.5;decelerate,0.7;addy,-100; +StageDisplayOffCommand=sleep,1;decelerate,0.9;addy,100; StageDisplayUseShortString=true # -ShowScoreFrame=ThemePrefs.Get("GameplayFooter"); -ScoreFrameX=SCREEN_CENTER_X -ScoreFrameY=SCREEN_BOTTOM+4 -ScoreFrameOnCommand=draworder,4;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+4;diffuse,color("#ffd400");addy,80;sleep,2;decelerate,0.5;addy,-80; -ScoreFrameOffCommand= -# -LifeP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# LifeP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -LifeP1Y=SCREEN_TOP+24 -LifeP1OnCommand=finishtweening;addy,-48;sleep,1.25;bounceend,0.35;addy,48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1 -#~ LifeP1OnCommand=addx,-SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,-SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,-SCREEN_CENTER_X*0.25 -LifeP1OffCommand= -LifeP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# LifeP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -LifeP2Y=SCREEN_TOP+24 -LifeP2OnCommand=finishtweening;zoomx,-1;addy,-48;sleep,1.25;bounceend,0.35;addy,48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2 -#~ LifeP2OnCommand=zoomx,-1;addx,SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,-SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,SCREEN_CENTER_X*0.25 -LifeP2OffCommand= CombinedLifeX=SCREEN_CENTER_X -CombinedLifeY=SCREEN_TOP+24 -CombinedLifeOnCommand=finishtweening;addy,-48;sleep,1.25;bounceend,0.35;addy,48; -CombinedLifeOffCommand= +CombinedLifeY=SCREEN_TOP-46 +CombinedLifeOnCommand=sleep,0.4;decelerate,0.3;addy,73; +CombinedLifeOffCommand=sleep,0.6;decelerate,0.5;addy,-73; # -ToastyDisplayP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# ToastyDisplayP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ToastyDisplayP1Y=SCREEN_CENTER_Y -ToastyDisplayP1OnCommand=visible,false -ToastyDisplayP1OffCommand= +RemainingTimeP1X=THEME:GetMetric(Var "LoadingScreen","ScoreP1X") +60 +RemainingTimeP1Y=THEME:GetMetric(Var "LoadingScreen","ScoreP1Y") +RemainingTimeP1OnCommand=zoom,1;diffuse,ColorLightTone(PlayerColor(PLAYER_1));strokecolor,ColorDarkTone(PlayerColor(PLAYER_1));addy,-100;sleep,1.3;decelerate,0.7;addy,100; +RemainingTimeP1OffCommand=sleep,1;decelerate,0.9;addy,-100; +RemainingTimeP2X=THEME:GetMetric(Var "LoadingScreen","ScoreP2X") +60 +RemainingTimeP2Y=THEME:GetMetric(Var "LoadingScreen","ScoreP2Y") +RemainingTimeP2OnCommand=zoom,1;diffuse,ColorLightTone(PlayerColor(PLAYER_2));strokecolor,ColorDarkTone(PlayerColor(PLAYER_2));addy,-100;sleep,1.3;decelerate,0.7;addy,100; +RemainingTimeP2OffCommand=sleep,1;decelerate,0.9;addy,-100; # -ToastyDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# ToastyDisplayP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -ToastyDisplayP2Y=SCREEN_CENTER_Y -ToastyDisplayP2OnCommand=visible,false -ToastyDisplayP2OffCommand= -# -SongNumberP1X=Center1Player() and SCREEN_CENTER_X - 60 or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") - 60 -SongNumberP1Y=SCREEN_TOP+24+7 -SongNumberP1OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_1);strokecolor,BoostColor(PlayerColor(PLAYER_1),0.5) -SongNumberP1OffCommand= -SongNumberP2X=Center1Player() and SCREEN_CENTER_X + 60 or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 60 -SongNumberP2Y=SCREEN_TOP+24+7 -SongNumberP2OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_2);strokecolor,BoostColor(PlayerColor(PLAYER_2),0.5) -SongNumberP2OffCommand= -# -RemainingTimeP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") + 32 -RemainingTimeP1Y=THEME:GetMetric(Var "LoadingScreen","ScoreP1Y") - 20 -RemainingTimeP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_1)); -RemainingTimeP1OffCommand= -RemainingTimeP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 32 -RemainingTimeP2Y=THEME:GetMetric(Var "LoadingScreen","ScoreP2Y") - 20 -RemainingTimeP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_2)); -RemainingTimeP2OffCommand= -# -DeltaSecondsP1X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1X") - 80 +DeltaSecondsP1X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1X") - 120 DeltaSecondsP1Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1Y") DeltaSecondsP1OnCommand=shadowlength,1;skewx,-0.125 DeltaSecondsP1GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0 DeltaSecondsP1OffCommand= -DeltaSecondsP2X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2X") - 80 +DeltaSecondsP2X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2X") - 120 DeltaSecondsP2Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2Y") DeltaSecondsP2OnCommand=shadowlength,1;skewx,-0.125 DeltaSecondsP2GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0 DeltaSecondsP2OffCommand= # -ScoreP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# ScoreP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ScoreP1Y=SCREEN_BOTTOM-48 -ScoreP1OnCommand=draworder,101;visible,(GAMESTATE:GetCurrentCourse() == nil or GAMESTATE:GetCurrentCourse():GetCourseType() ~= "CourseType_Survival") and ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_1);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1 -ScoreP1OffCommand= -ScoreP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# ScoreP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -ScoreP2Y=SCREEN_BOTTOM-48 -ScoreP2OnCommand=draworder,101;visible,(GAMESTATE:GetCurrentCourse() == nil or GAMESTATE:GetCurrentCourse():GetCourseType() ~= "CourseType_Survival") and ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_2);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2 -ScoreP2OffCommand= -# -StepsDescriptionP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -# StepsDescriptionP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -StepsDescriptionP1Y=SCREEN_CENTER_Y+34 -StepsDescriptionP1OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 -StepsDescriptionP1OffCommand= -StepsDescriptionP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# StepsDescriptionP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -StepsDescriptionP2Y=SCREEN_CENTER_Y+34 -StepsDescriptionP2OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 -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;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;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") -# StepsDisplayP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -StepsDisplayP1Y=SCREEN_CENTER_Y+58 -StepsDisplayP1OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); -StepsDisplayP1ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; -StepsDisplayP1HideCommand=linear,0.5;zoomy,0 -StepsDisplayP1OffCommand= -StepsDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -# StepsDisplayP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -StepsDisplayP2Y=SCREEN_CENTER_Y+58 -StepsDisplayP2OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); -StepsDisplayP2ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; -StepsDisplayP2HideCommand=linear,0.5;zoomy,0 -StepsDisplayP2OffCommand= -# -SongOptionsX=Center1Player() and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X -# SongOptionsX=(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 -SongOptionsY=SCREEN_BOTTOM-32 -SongOptionsOnCommand=draworder,101;zoom,0.5 -SongOptionsOffCommand= -# -LyricDisplaySetNoReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+160 -LyricDisplaySetReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-140 -# This is used if one player is in reverse and the other isn't. -LyricDisplaySetOneReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160; -LyricDisplayDefaultColor=Color("White") -# -OniGameOverP1X= -OniGameOverP1Y= -OniGameOverP1OnCommand= -OniGameOverP1OffCommand= -# -OniGameOverP2X= -OniGameOverP2Y= -OniGameOverP2OnCommand= -OniGameOverP2OffCommand= -# -SurviveTimeX=SCREEN_CENTER_X -SurviveTimeY=SCREEN_CENTER_Y+40 -SurviveTimeOnCommand=shadowlength,1;zoomx,0;bounceend,1;zoomx,1 -SurviveTimeOffCommand=shadowlength,1;linear,1;zoom,0.75;diffusealpha,0 -# -ActiveAttackListP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ActiveAttackListP1Y= -ActiveAttackListP1OnCommand=visible,false -ActiveAttackListP1OffCommand= -ActiveAttackListP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ActiveAttackListP2Y= -ActiveAttackListP2OnCommand=visible,false -ActiveAttackListP2OffCommand= -# # Disable the normal start and select button actions to enable a custom pause # menu DebugOnCommand=visible,false @@ -1616,682 +975,335 @@ UnpauseWithStart=false SelectSkipsSong=false StopCourseEarly=check_stop_course_early() -[ScreenGameplayShared] +[ScoreDisplayNormal] +TextY= +TextOnCommand=zoom,1; -[ScreenHeartEntry] -HeartEntryEnabled=true -ShowHeader=true -ShowFooter=true +[ScoreDisplayPercentage Percent] +PercentP1OnCommand=shadowlength,1;strokecolor,Color.Outline +PercentP2OnCommand=shadowlength,1;strokecolor,Color.Outline +DancePointsP1OnCommand=shadowlength,1;strokecolor,Color.Outline +DancePointsP2OnCommand=shadowlength,1;strokecolor,Color.Outline -[ScreenEvaluation] -Class="ScreenEvaluation" -Fallback="ScreenWithMenuElements" -# -StageDisplayNumberOffset=0 -# -NextScreen=Branches.AfterEvaluation() -PrevScreen=Branches.AfterEvaluation() -# -PlayMusic=false -# -PrepareScreens="ScreenProfileSave,ScreenSelectMusic" -PersistScreens="ScreenEvaluation,ScreenProfileSave,ScreenSelectMusic" -# -ShowJudgmentLineW1=true -ShowJudgmentLineW2=true -ShowJudgmentLineW3=true -ShowJudgmentLineW4=true -ShowJudgmentLineW5=true -ShowJudgmentLineHeld=(GAMESTATE:GetCurrentGame():GetName() ~= "pump") -ShowJudgmentLineMiss=true -ShowJudgmentLineMaxCombo=true -ShowGradeArea=true -ShowScoreArea=true -ShowPointsArea=true -ShowSharedJudgmentLineLabels=true -ShowGraphDisplay=true -ShowComboGraph=true -ShowStepsDisplay=true +[ScoreDisplayOni] +TextOnCommand=zoom,1; +TextOffCommand= -# -W1NumberP1X=SCREEN_CENTER_X-160+40 -W1NumberP1Y=SCREEN_TOP+160 -W1NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true -W1NumberP1OffCommand= -W1NumberP2X=SCREEN_CENTER_X+160-40 -W1NumberP2Y=SCREEN_TOP+160 -W1NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true -W1NumberP2OffCommand= -W1LabelX=SCREEN_CENTER_X -W1LabelY=SCREEN_TOP+160 -W1LabelOnCommand= -W1LabelOffCommand= -# -W2NumberP1X=SCREEN_CENTER_X-160+40 -W2NumberP1Y=SCREEN_TOP+180 -W2NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true -W2NumberP1OffCommand= -W2NumberP2X=SCREEN_CENTER_X+160-40 -W2NumberP2Y=SCREEN_TOP+180 -W2NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true -W2NumberP2OffCommand= -W2LabelX=SCREEN_CENTER_X -W2LabelY=SCREEN_TOP+180 -W2LabelOnCommand= -W2LabelOffCommand= -# -W3NumberP1X=SCREEN_CENTER_X-160+40 -W3NumberP1Y=SCREEN_TOP+200 -W3NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true -W3NumberP1OffCommand= -W3NumberP2X=SCREEN_CENTER_X+160-40 -W3NumberP2Y=SCREEN_TOP+200 -W3NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true -W3NumberP2OffCommand= -W3LabelX=SCREEN_CENTER_X -W3LabelY=SCREEN_TOP+200 -W3LabelOnCommand= -W3LabelOffCommand= -# -W4NumberP1X=SCREEN_CENTER_X-160+40 -W4NumberP1Y=SCREEN_TOP+220 -W4NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true -W4NumberP1OffCommand= -W4NumberP2X=SCREEN_CENTER_X+160-40 -W4NumberP2Y=SCREEN_TOP+220 -W4NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true -W4NumberP2OffCommand= -W4LabelX=SCREEN_CENTER_X -W4LabelY=SCREEN_TOP+220 -W4LabelOnCommand= -W4LabelOffCommand= -# -W5NumberP1X=SCREEN_CENTER_X-160+40 -W5NumberP1Y=SCREEN_TOP+240 -W5NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true -W5NumberP1OffCommand= -W5NumberP2X=SCREEN_CENTER_X+160-40 -W5NumberP2Y=SCREEN_TOP+240 -W5NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true -W5NumberP2OffCommand= -W5LabelX=SCREEN_CENTER_X -W5LabelY=SCREEN_TOP+240 -W5LabelOnCommand= -W5LabelOffCommand= -# -MissNumberP1X=SCREEN_CENTER_X-160+40 -MissNumberP1Y=SCREEN_TOP+260 -MissNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true -MissNumberP1OffCommand= -MissNumberP2X=SCREEN_CENTER_X+160-40 -MissNumberP2Y=SCREEN_TOP+260 -MissNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true -MissNumberP2OffCommand= -MissLabelX=SCREEN_CENTER_X -MissLabelY=SCREEN_TOP+260 -MissLabelOnCommand= -MissLabelOffCommand= -# -HeldNumberP1X=SCREEN_CENTER_X-160+40 -HeldNumberP1Y=SCREEN_TOP+280 -HeldNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true -HeldNumberP1OffCommand= -HeldNumberP2X=SCREEN_CENTER_X+160-40 -HeldNumberP2Y=SCREEN_TOP+280 -HeldNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true -HeldNumberP2OffCommand= -HeldLabelX=SCREEN_CENTER_X -HeldLabelY=SCREEN_TOP+280 -HeldLabelOnCommand= -HeldLabelOffCommand= -# -MaxComboNumberP1X=SCREEN_CENTER_X-160+40 -MaxComboNumberP1Y=SCREEN_TOP+300 -MaxComboNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true -MaxComboNumberP1OffCommand= -MaxComboNumberP2X=SCREEN_CENTER_X+160-40 -MaxComboNumberP2Y=SCREEN_TOP+300 -MaxComboNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true -MaxComboNumberP2OffCommand= -MaxComboLabelX=SCREEN_CENTER_X -MaxComboLabelY=SCREEN_TOP+300 -MaxComboLabelOnCommand= -MaxComboLabelOffCommand= -# -ScoreLabelX=SCREEN_CENTER_X -ScoreLabelY=SCREEN_TOP+330 -ScoreLabelOnCommand= -ScoreLabelOffCommand= -# -ScoreNumberP1X=SCREEN_CENTER_X-160 -ScoreNumberP1Y=SCREEN_TOP+320 -ScoreNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;zoom,0.775;set_mult_attrs_with_diffuse,true -ScoreNumberP1OffCommand= -ScoreNumberP2X=SCREEN_CENTER_X+160 -ScoreNumberP2Y=SCREEN_TOP+320 -ScoreNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;zoom,0.775;set_mult_attrs_with_diffuse,true -ScoreNumberP2OffCommand= -# -PercentFrameP1X=SCREEN_CENTER_X-160 -PercentFrameP1Y=SCREEN_TOP+320 -PercentFrameP1OnCommand=visible,false -PercentFrameP1OffCommand= -# -PercentFrameP2X=SCREEN_CENTER_X+160 -PercentFrameP2Y=SCREEN_TOP+320 -PercentFrameP2OnCommand=visible,false -PercentFrameP2OffCommand= -# -PercentP1X=SCREEN_CENTER_X-160 -PercentP1Y=SCREEN_TOP+320 -PercentP1OnCommand=visible,false -PercentP1OffCommand= -# -PercentP2X=SCREEN_CENTER_X+160 -PercentP2Y=SCREEN_TOP+320 -PercentP2OnCommand=visible,false -PercentP2OffCommand= -# -LargeBannerX=SCREEN_CENTER_X -LargeBannerY=SCREEN_TOP+100 -LargeBannerOnCommand= -LargeBannerOffCommand= -LargeBannerFrameX=SCREEN_CENTER_X -LargeBannerFrameY=SCREEN_TOP+100 -LargeBannerFrameOnCommand= -LargeBannerFrameOffCommand= -# -GradeFrameP1X=SCREEN_CENTER_X-220 -GradeFrameP1Y=SCREEN_TOP+80 -GradeFrameP1OnCommand= -GradeFrameP1OffCommand= -GradeFrameP2X=SCREEN_CENTER_X+220 -GradeFrameP2Y=SCREEN_TOP+80 -GradeFrameP2OnCommand= -GradeFrameP2OffCommand= -# -GradeP1X=SCREEN_CENTER_X-220 -GradeP1Y=SCREEN_TOP+100 -GradeP1OnCommand= -GradeP1OffCommand= -GradeP2X=SCREEN_CENTER_X+220 -GradeP2Y=SCREEN_TOP+100 -GradeP2OnCommand= -GradeP2OffCommand= -# -PlayerOptionsP1X=SCREEN_CENTER_X-160 -PlayerOptionsP1Y=SCREEN_TOP+352 -PlayerOptionsP1OnCommand=zoom,0.5;shadowlength,1 -PlayerOptionsP1OffCommand= -## -PlayerOptionsP2X=SCREEN_CENTER_X+160 -PlayerOptionsP2Y=SCREEN_TOP+352 -PlayerOptionsP2OnCommand=zoom,0.5;shadowlength,1 -PlayerOptionsP2OffCommand= -# -SongOptionsX=SCREEN_CENTER_X -SongOptionsY=SCREEN_BOTTOM-104 -SongOptionsOnCommand=zoom,0.5;shadowlength,1; -SongOptionsOffCommand= -# -DisqualifiedP1X=SCREEN_CENTER_X-220 -DisqualifiedP1Y=SCREEN_TOP+140 -DisqualifiedP1OnCommand= -DisqualifiedP1OffCommand= -DisqualifiedP2X=SCREEN_CENTER_X+220 -DisqualifiedP2Y=SCREEN_TOP+140 -DisqualifiedP2OnCommand= -DisqualifiedP2OffCommand= -# -GraphDisplayP1X=SCREEN_CENTER_X-160 -GraphDisplayP1Y=SCREEN_BOTTOM-100 -GraphDisplayP1OnCommand= -GraphDisplayP1OffCommand= -GraphDisplayP2X=SCREEN_CENTER_X+160 -GraphDisplayP2Y=SCREEN_BOTTOM-100 -GraphDisplayP2OnCommand= -GraphDisplayP2OffCommand= -# -ComboGraphP1X=SCREEN_CENTER_X-160 -ComboGraphP1Y=SCREEN_BOTTOM-100+32-7 -ComboGraphP1OnCommand= -ComboGraphP1OffCommand= -ComboGraphP2X=SCREEN_CENTER_X+160 -ComboGraphP2Y=SCREEN_BOTTOM-100+32-7 -ComboGraphP2OnCommand= -ComboGraphP2OffCommand= -# -MachineRecordP1X=SCREEN_CENTER_X-220 -#MachineRecordP1Y=SCREEN_BOTTOM-156 +[ScoreDisplayOni Numbers] +TextOnCommand=zoom,1; +TextOffCommand= -MachineRecordP1Y=SCREEN_TOP+146 -MachineRecordP1OnCommand= -MachineRecordP1OffCommand= -# -MachineRecordP2X=SCREEN_CENTER_X+220 -#MachineRecordP2Y=SCREEN_BOTTOM-156 -MachineRecordP2Y=SCREEN_TOP+146 -MachineRecordP2OnCommand= +[ScoreDisplayLifeTime] -MachineRecordP2OffCommand= -# -PersonalRecordP1X=SCREEN_CENTER_X-160 -PersonalRecordP1Y=SCREEN_BOTTOM-144 -PersonalRecordP1OnCommand= -PersonalRecordP1OffCommand= -# -PersonalRecordP2X=SCREEN_CENTER_X+160 -PersonalRecordP2Y=SCREEN_BOTTOM-144 -PersonalRecordP2OnCommand= -PersonalRecordP2OffCommand= -# -StageAwardP1X=SCREEN_CENTER_X-220 -StageAwardP1Y=SCREEN_TOP+130 -StageAwardP1OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner' -StageAwardP1OffCommand= -# -StageAwardP2X=SCREEN_CENTER_X+220 -StageAwardP2Y=SCREEN_TOP+130 -StageAwardP2OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner' -StageAwardP2OffCommand= -# -PeakComboAwardP1X=SCREEN_CENTER_X-160 -PeakComboAwardP1Y=SCREEN_TOP+300+10 -PeakComboAwardP1OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner' -PeakComboAwardP1OffCommand= -# -PeakComboAwardP2X=SCREEN_CENTER_X+160 -PeakComboAwardP2Y=SCREEN_TOP+300+10 -PeakComboAwardP2OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner' -PeakComboAwardP2OffCommand= -# -ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1) -StepsDisplayP1X=SCREEN_CENTER_X-160 -StepsDisplayP1Y=SCREEN_BOTTOM-50 -StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y -StepsDisplayP1OffCommand=bouncebegin,0.15;zoomx,0; -# -ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2) -StepsDisplayP2X=SCREEN_CENTER_X+160 -StepsDisplayP2Y=SCREEN_BOTTOM-50 -StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y -StepsDisplayP2OffCommand=bouncebegin,0.15;zoomx,0; -# -PercentScoreP1X=SCREEN_CENTER_X-82 -PercentScoreP1Y=SCREEN_BOTTOM-50 -PercentScoreP1OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y; -PercentScoreP1OffCommand=bouncebegin,0.15;zoomx,0; -# -PercentScoreP2X=SCREEN_CENTER_X+238 -PercentScoreP2Y=SCREEN_BOTTOM-50 -PercentScoreP2OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y; -PercentScoreP2OffCommand=bouncebegin,0.15;zoomx,0; -# -ShowGameType=true -GameTypeX=SCREEN_CENTER_X -GameTypeY=SCREEN_BOTTOM-48 -GameTypeOnCommand=addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y;zoom,0.675;shadowlength,1;shadowcolor,color("#22222266") -GameTypeOffCommand=bouncebegin,0.15;addy,SCREEN_CENTER_Y; -# + +[ScoreDisplayRave] +MeterP1OnCommand=draworder,-1;texcoordvelocity,1,0 +MeterP2OnCommand=draworder,-1;zoomx,-1;texcoordvelocity,1,0 +LevelP1OnCommand=draworder,105;zoom,1.5;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144; +LevelP2OnCommand=draworder,105;draworder,105;zoom,1.5;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144; + +[ScoreKeeperRave] +AttackDurationSeconds=6 + +[CombinedLifeMeterTug] +# We don't use it. +MeterWidth=512-8 +MeterHeight=80 + +# 07 # +[ScreenEvaluationNormal] ShowTimingDifficulty=true -TimingDifficultyX=SCREEN_CENTER_X -TimingDifficultyY=SCREEN_TOP+16 -TimingDifficultyOnCommand=zoom,0.675;draworder,105 -TimingDifficultyOffCommand= +TimingDifficultyX=SCREEN_CENTER_X; +TimingDifficultyY=SCREEN_BOTTOM-100+6; +TimingDifficultyOnCommand=shadowlength,1; +TimingDifficultyOffCommand=decelerate,0.3;diffusealpha,0; # ShowLifeDifficulty=true -LifeDifficultyX=SCREEN_CENTER_X -LifeDifficultyY=SCREEN_TOP+32 -LifeDifficultyOnCommand=zoom,0.675;draworder,105 -LifeDifficultyOffCommand= +LifeDifficultyX=SCREEN_CENTER_X; +LifeDifficultyY=SCREEN_BOTTOM-120+6; +LifeDifficultyOnCommand=shadowlength,1; +LifeDifficultyOffCommand=decelerate,0.3;diffusealpha,0; # -ShowSongInformation=true -SongInformationX=SCREEN_CENTER_X -SongInformationY=SCREEN_TOP+100 -SongInformationOnCommand=playcommand,"Set";draworder,105 -SongInformationOffCommand= - -ShowWinArea=GAMESTATE:GetPlayMode() == 'PlayMode_Rave' -WinFrameP1X= -WinFrameP1Y= -WinFrameP1OnCommand= -WinFrameP2X= -WinFrameP2Y= -WinFrameP2OnCommand= -#----# -WinP1X=SCREEN_CENTER_X-224 -WinP1Y=SCREEN_BOTTOM-224 -WinP1OnCommand=draworder,101 -WinP2X=SCREEN_CENTER_X+224 -WinP2Y=SCREEN_BOTTOM-224 -WinP2OnCommand=draworder,101 - -[ScreenEvaluationNormal] -Fallback="ScreenEvaluation" -# -PlayMusic=false -# -ShowBannerFrame=false -# -ShowStageDisplay=true -StageDisplayX=SCREEN_CENTER_X+160 -StageDisplayY=SCREEN_TOP+28 -StageDisplayOnCommand=draworder,105;fov,90;vertalign,bottom;vanishpoint,SCREEN_CENTER_X+160,SCREEN_TOP+28;rotationy,90;decelerate,0.5;rotationy,0; -StageDisplayOffCommand= - -[ScreenEvaluationSummary] -Fallback="ScreenEvaluation" -# -NextScreen=Branch.AfterSummary() -# -PlayMusic=false -# -Summary=true -# -ShowStageDisplay=false -# -ShowBannerList=true -BannerListX=SCREEN_CENTER_X -BannerListY=SCREEN_TOP+96 -BannerListOnCommmand= -BannerListOffCommand= -# -SmallBanner1X=SCREEN_CENTER_X-72 -SmallBanner1Y=SCREEN_TOP+100-24 -SmallBanner1OnCommand=visible,false -SmallBanner1OffCommand= - -SmallBanner2X=SCREEN_CENTER_X-48 -SmallBanner2Y=SCREEN_TOP+100-16 -SmallBanner2OnCommand=visible,false -SmallBanner2OffCommand= - -SmallBanner3X=SCREEN_CENTER_X-24 -SmallBanner3Y=SCREEN_TOP+100-8 -SmallBanner3OnCommand=visible,false -SmallBanner3OffCommand= - -SmallBanner4X=SCREEN_CENTER_X+24 -SmallBanner4Y=SCREEN_TOP+100+8 -SmallBanner4OnCommand=visible,false -SmallBanner4OffCommand= - -SmallBanner5X=SCREEN_CENTER_X+48 -SmallBanner5Y=SCREEN_TOP+100+16 -SmallBanner5OnCommand=visible,false -SmallBanner5OfCommand= - -SmallBanner6X=SCREEN_CENTER_X+72 -SmallBanner6Y=SCREEN_TOP+100+24 -SmallBanner6OnCommand=visible,false -SmallBanner6OffCommand= - -[ScreenNameEntry] - -[ScreenNameEntryTraditional] - -[ScreenContinue] -ShowHeader=false -ShowFooter=false -ContinueEnabled=false -# -TimerSeconds=20 -TimerMetricsGroup="MenuTimerContinue" -TimerX=SCREEN_CENTER_X -TimerY=SCREEN_CENTER_Y+24 -TimerOnCommand=visible,true -TimerOffCommand= - -[ScreenProfileSave] - -[ScreenProfileSaveSummary] +StageDisplayUseShortString=false [ScreenGameOver] -TimerOnCommand=visible,false +ShowHeader=false +ShowFooter=false +ShowTimer=false -[ScreenPrompt] - -[ScreenOptionsEdit] - -[EditMenu] - -[TextBannerEditMode] - -[ScreenEditMenu] +# 08 # [ScreenEdit] - -[ScreenPracticeMenu] - -[PracticeMenu] - -[ScreenPractice] - -[ScreenEditOptions] -LineNames="1,2,3,4,5,6,R1,R2,7,8,9,10,Attacks,11,12,13,14,15,16,SF,lead_in,ECPT" -Line1="lua,ArbitrarySpeedMods()" -LineSF="lua,OptionRowScreenFilter()" - -[StepsDisplayEdit] -Fallback="StepsDisplayGameplay" - -[ScreenMiniMenuEditHelp] - -[OptionRowMiniMenuEditHelp] - -[ScreenMiniMenuMainMenu] - -[ScreenMiniMenuAreaMenu] - -[ScreenMiniMenuStepsInformation] - -[ScreenMiniMenuSongInformation] - -[ScreenMiniMenuTimingDataInformation] - -[ScreenMiniMenuBackgroundChange] - -[ScreenMiniMenuPreferences] - -[ScreenMiniMenuInsertTapAttack] - -[ScreenMiniMenuInsertCourseAttack] - -[ScreenMiniMenuCourseDisplay] - -[ScreenMiniMenuCourseOptions] - -[ScreenOptionsExportPackage] - -[ScreenOptionsManage] - -[OptionRowManage] - -[OptionRowCourseOverview] - -[ScreenOptionsManageCourses] - -[OptionRowCourse] - -[ScreenOptionsEditCourse] - -[OptionRowEditCourse] - -[ScreenOptionsCourseOverview] - -[ScreenGameplaySyncMachine] -SongMeterDisplayP1OnCommand=visible,false -SongMeterDisplayP2OnCommand=visible,false -StepsDescriptionP1OnCommand=visible,false -StepsDescriptionP2OnCommand=visible,false -StepsDisplayP1OnCommand=visible,false -StepsDisplayP2OnCommand=visible,false -PlayerOptionsP1OnCommand=visible,false -PlayerOptionsP2OnCommand=visible,false - -[PlayerSyncMachine] - -[ScreenHowToInstallSongs] -Class="ScreenSelectMaster" -Fallback="ScreenSelectMaster" ShowHeader=false +ShowFooter=false +EditHelpX=SCREEN_LEFT+8 +EditHelpY=SCREEN_TOP+16 +EditHelpOnCommand=halign,0;valign,0;zoom,0.75;shadowlength,1;maxheight,(SCREEN_HEIGHT-32)*2 +InfoX=SCREEN_RIGHT-180 +InfoY=SCREEN_TOP+16 +InfoOnCommand=halign,0;valign,0;zoom,0.75;shadowlength,1;maxheight,(SCREEN_HEIGHT-32)*2 -ShowScroller=true -PerChoiceScrollElement=false -# -ShowIcon=true -UseIconMetrics=false -PerChoiceIconElement=false -# -ScrollerX=SCREEN_LEFT+32 -ScrollerY=SCREEN_CENTER_Y -ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(24*(itemIndex-(numItems-1)/2)); end -ScrollerNumItemsToDraw=20 -ScrollerOffCommand=bouncebegin,0.25;addx,-SCREEN_CENTER_X - -ChoiceNames="WhereToFind,HowToInstall,AdditionalFolders,ReloadSongs,Exit" -ChoiceWhereToFind="urlnoexit,http://code.google.com/p/sm-ssc/wiki/FindingContent;text,"..Screen.String("Finding Songs") -ChoiceHowToInstall="urlnoexit,http://code.google.com/p/sm-ssc/wiki/InstallingContent;text,"..Screen.String("Installing Songs") -ChoiceAdditionalFolders="text,"..Screen.String("Importing Songs") -ChoiceReloadSongs="screen,ScreenReloadSongs;text,"..Screen.String("Reload Songs") -ChoiceExit="screen,"..Branch.TitleMenu()..";text,"..Screen.String("Exit") -DefaultChoice="WhereToFind" - -OptionOrderUp="5:4,4:3,3:2,2:1,1:5" -OptionOrderDown="1:2,2:3,3:4,4:5,5:1" - -[ScreenSMOnlineLogin] - +# Online # [ScreenNetSelectBase] +Class="ScreenNetSelectBase" +Fallback="ScreenWithMenuElements" + +ChatInputBoxX=SCREEN_CENTER_X*0.5 +ChatInputBoxY=SCREEN_CENTER_Y-200 +ChatInputBoxOnCommand=bounceend,0.5;diffusealpha,1; +ChatInputBoxOffCommand=bouncebegin,0.5;zoomy,0 +ChatInputBoxWidth=SCREEN_CENTER_X*0.9 +ChatInputBoxHeight=64 +#--# +ChatInputX=(SCREEN_CENTER_X*0.5)*0.125 +ChatInputY=SCREEN_CENTER_Y+90 +ChatTextInputWidth=SCREEN_CENTER_X*1.8 +ChatInputOnCommand=halign,0;valign,0;zoom,0.5;diffusealpha,0;linear,0.55;diffusealpha,1 +ChatInputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0 +# +UsersOnCommand=draworder,2;zoom,1;strokecolor,color("#000000");zoom,0.7 + +[OnlineMusicWheel] +Fallback="MusicWheel" +# roulette + online causes a sorting issue that should be hammered out first. -aj +ShowRoulette=false +ShowRandom=false +ShowPortal=false + +[ScreenNetRoom] +RoomWheelX=SCREEN_CENTER_X+326 +RoomWheelY=SCREEN_CENTER_Y-12 +RoomWheelOnCommand=draworder,-5;fov,90;vanishpoint,SCREEN_CENTER_X+160,SCREEN_CENTER_Y;addx,SCREEN_CENTER_X+60;sleep,0.2;decelerate,0.6;addx,-SCREEN_CENTER_X-60 +RoomWheelCommand=decelerate,0.4;x,SCREEN_WIDTH/0.75 +# +ChatInputBoxX=SCREEN_CENTER_X*0.5 +ChatInputBoxY=SCREEN_CENTER_Y+112 +ChatInputBoxOnCommand=diffusealpha,0; +ChatInputBoxOffCommand=bouncebegin,0.5;zoomy,0 +ChatInputBoxWidth=SCREEN_CENTER_X*0.9 +ChatInputBoxHeight=64 +# +ChatInputX=(SCREEN_CENTER_X*0.46)*0.125 +ChatInputY=SCREEN_CENTER_Y+160 +ChatTextInputWidth=SCREEN_CENTER_X*1.4 +ChatInputOnCommand=halign,0;valign,0;zoom,0.6;diffusealpha,0;linear,0.55;diffusealpha,1 +ChatInputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0 +# +ChatOutputBoxX=SCREEN_CENTER_X*0.46 +ChatOutputBoxY=SCREEN_CENTER_Y+150 +ChatOutputBoxOnCommand=diffusealpha,0; +ChatOutputBoxOffCommand=diffusealpha,0; +ChatOutputBoxWidth=SCREEN_CENTER_X*0.9 +ChatOutputBoxHeight=SCREEN_CENTER_Y*0.875 + +# +ChatOutputX=(SCREEN_CENTER_X*0.46)*0.125 +ChatOutputY=SCREEN_CENTER_Y+150 +ChatTextOutputWidth=SCREEN_CENTER_X*1.5 +ChatOutputLines=12 +ChatOutputOnCommand=halign,0;valign,1;zoom,0.6;diffusealpha,0;linear,0.55;diffusealpha,1 +ChatOutputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0 +# [ScreenNetSelectMusic] -BPMDisplayX=SCREEN_CENTER_X-160-90+2 -BPMDisplayY=SCREEN_CENTER_Y+156 -BPMDisplayOnCommand=finishtweening;horizalign,left;strokecolor,Color("Outline");maxwidth,128;addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 -BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; - -StepsDisplayP1X=SCREEN_CENTER_X-240 -StepsDisplayP1Y=SCREEN_CENTER_Y+185 -StepsDisplayP1OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 -StepsDisplayP1OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 -#--# -StepsDisplayP2X=SCREEN_CENTER_X-110 -StepsDisplayP2Y=SCREEN_CENTER_Y+185 -StepsDisplayP2OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 -StepsDisplayP2OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 -#====# - +ShowSongTime=true +ShowCourseContentsList=false ShowBPMDisplay=true -BPMDisplayX=SCREEN_CENTER_X+2 -BPMDisplayY=SCREEN_CENTER_Y+188 -BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color("Outline");addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 -BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; -#--# -ShowBPMLabel=true -BPMLabelX=SCREEN_CENTER_X -BPMLabelY=SCREEN_CENTER_Y+188 -BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X -BPMLabelOffCommand=bouncebegin,0.15;zoomx,0; +ShowDifficultyList=false +# +ShowSongTime=true +SongTimeX= +SongTimeY=SCREEN_CENTER_Y-78+2 +SongTimeOnCommand=horizalign,left;zoom,1.0;diffuse,color("#DFE2E9") +# +ShowBPMDisplay=true +BPMDisplayX=SCREEN_CENTER_X-179-66 +BPMDisplayY=SCREEN_CENTER_Y-78+2 +BPMDisplayOnCommand=horizalign,right;zoom,1.0; +# +StepsDisplayP1X=SCREEN_CENTER_X +StepsDisplayP1Y=SCREEN_CENTER_Y+8888 +StepsDisplayP2X=SCREEN_CENTER_X +StepsDisplayP2Y=SCREEN_CENTER_Y+8888 +# +StepsDisplayP1OnCommand=visible,false; +StepsDisplayP2OnCommand=visible,false; +# +ShowPaneDisplayTextP1=true +PaneDisplayTextP1X=SCREEN_CENTER_X-200+24-32 +PaneDisplayTextP1Y=SCREEN_CENTER_Y+207+8 +PaneDisplayTextP1OnCommand=player,PLAYER_1;horizalign,center;zoomy,0;sleep,0.4;decelerate,0.3;zoomy,1 +PaneDisplayTextP1OffCommand=smooth,0.2;zoomy,0; +PaneDisplayTextP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end +# +ShowPaneDisplayTextP2=true +PaneDisplayTextP2X=SCREEN_CENTER_X+200-72-4+32 +PaneDisplayTextP2Y=SCREEN_CENTER_Y+207+8 +PaneDisplayTextP2OnCommand=player,PLAYER_2;horizalign,center;zoomy,0;sleep,0.4;decelerate,0.3;zoomy,1 +PaneDisplayTextP2OffCommand=smooth,0.2;zoomy,0; +PaneDisplayTextP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end +# +PercentScoreP1X=SCREEN_CENTER_X-353-32 +PercentScoreP1Y=SCREEN_CENTER_Y+284 +PercentScoreP1OnCommand=zoomy,0;zoomx,0.35;sleep,0.8;smooth,0.2;zoomy,0.35 +PercentScoreP1OffCommand=smooth,0.2;zoomy,0;addy,-6; +# +PercentScoreP2X=SCREEN_CENTER_X+353+32 +PercentScoreP2Y=SCREEN_CENTER_Y+284 +PercentScoreP2OnCommand=zoomy,0;zoomx,0.35;sleep,0.8;smooth,0.2;zoomy,0.35 +PercentScoreP2OffCommand=smooth,0.2;zoomy,0;addy,-6; +NullScoreString=string.format("% 9i",0) +# +MusicWheelX=SCREEN_CENTER_X+326 +MusicWheelY=SCREEN_CENTER_Y-12 +MusicWheelOnCommand=draworder,-5;fov,90;vanishpoint,SCREEN_CENTER_X+160,SCREEN_CENTER_Y;addx,SCREEN_CENTER_X+60;sleep,0.2;decelerate,0.6;addx,-SCREEN_CENTER_X-60 +MusicWheelOffCommand=decelerate,0.4;x,SCREEN_WIDTH/0.75 +# +ChatInputX=(SCREEN_CENTER_X*0.46)*0.125 +ChatInputY=SCREEN_CENTER_Y+160 +ChatTextInputWidth=SCREEN_CENTER_X*1.4 +ChatInputOnCommand=halign,0;valign,0;zoom,0.6;diffusealpha,0;linear,0.55;diffusealpha,1 +ChatInputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0 +# +ChatInputBoxX=SCREEN_CENTER_X*0.5 +ChatInputBoxY=SCREEN_CENTER_Y+112 +ChatInputBoxOnCommand=diffusealpha,0; +ChatInputBoxOffCommand=bouncebegin,0.5;zoomy,0 +ChatInputBoxWidth=SCREEN_CENTER_X*0.9 +ChatInputBoxHeight=64 +# +ChatOutputBoxX=SCREEN_CENTER_X*0.46 +ChatOutputBoxY=SCREEN_CENTER_Y+150 +ChatOutputBoxOnCommand=diffusealpha,0; +ChatOutputBoxOffCommand=diffusealpha,0; +ChatOutputBoxWidth=SCREEN_CENTER_X*0.9 +ChatOutputBoxHeight=SCREEN_CENTER_Y*0.875 +# +ChatOutputX=(SCREEN_CENTER_X*0.46)*0.125 +ChatOutputY=SCREEN_CENTER_Y+150 +ChatTextOutputWidth=SCREEN_CENTER_X*1.5 +ChatOutputLines=12 +ChatOutputOnCommand=halign,0;valign,1;zoom,0.6;diffusealpha,0;linear,0.55;diffusealpha,1 +ChatOutputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0 +# UsersX=SCREEN_CENTER_X-272 UsersY=SCREEN_CENTER_Y-172 UsersDX=40 UsersAY=16 UsersOnCommand=draworder,2;zoom,0.75;shadowlength,1 -# -ShowDifficultyDisplay=true -DifficultyDisplayX=SCREEN_CENTER_X -DifficultyDisplayY=SCREEN_CENTER_Y+158 -DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,0.75 -DifficultyDisplayOffCommand=linear,0.25;zoomy,0; - -[StepsDisplayNet] - -[ScreenNetRoom] - -[RoomWheel] [RoomWheelItem] +TextX=0 +TextY=0 +TextOnCommand=horizalign,left;zoom,1.1;maxwidth,SCREEN_WIDTH*0.31;y,-14;x,-200;strokecolor,color("#42292E"); -[RoomInfoDisplay] +DescriptionX=0 +DescriptionY=0 +DescriptionOnCommand=horizalign,left;zoom,0.75;maxwidth,SCREEN_WIDTH*0.5;x,-200;y,16;strokecolor,color("#42292E"); -[ScreenSMOnlineSelectMusic] +[StepsDisplayEdit] +ShowDescription=true +DescriptionX=-4 +DescriptionY=0 +MeterX=100 +DescriptionOnCommand=shadowlength,0;uppercase,false;zoom,0.75 -[ModIcon] +[ScreenEditMenu] +PrevScreen=Branch.TitleMenu() +EditMenuType="EditMenu" +ExplanationX=SCREEN_CENTER_X +ExplanationY=SCREEN_BOTTOM-147 +ExplanationOnCommand=wrapwidthpixels,SCREEN_WIDTH*0.9375/0.675;shadowlength,1;zoom,1;strokecolor,color("#000000");zoom,1; +NumStepsLoadedFromProfileX=SCREEN_RIGHT-180 +NumStepsLoadedFromProfileY=SCREEN_TOP+42 +NumStepsLoadedFromProfileOnCommand=visible,false -[ModIconSelectMusic] +[EditMenu] +Arrows1X=SCREEN_CENTER_X-270-90 +Arrows2X=SCREEN_CENTER_X+270+90 +ArrowsEnabledCommand=diffuse,color("#EBC159");shadowlengthy,1;shadowcolor,color("#002740"); +ArrowsDisabledCommand=diffuse,color("0.45,0.45,0.45,1");shadowlengthy,1;shadowcolor,color("#382902"); -[ModIconRow] +GroupBannerX=SCREEN_CENTER_X+170+60 +GroupBannerY=SCREEN_CENTER_Y-140-20 +GroupBannerOnCommand=scaletoclipped,128,40 -[ModIconRowSelectMusic] +SongBannerX=SCREEN_CENTER_X+170+60 +SongBannerY=SCREEN_CENTER_Y-90 +SongBannerOnCommand=scaletoclipped,128,40 -[GraphDisplay] +TextBannerType="TextBannerEditMode" +SongTextBannerX=SCREEN_CENTER_X-25 +SongTextBannerY=SCREEN_CENTER_Y-90 -[ComboGraph] +StepsDisplayX=SCREEN_CENTER_X+70 +StepsDisplayY=SCREEN_CENTER_Y-0 +StepsDisplaySourceX=SCREEN_CENTER_X+150 +StepsDisplaySourceY=SCREEN_CENTER_Y+80 -[ScreenNetEvaluation] -UserTier02OrBetterCommand=diffuseshift;effectperiod,0.75;effectcolor1,color("1,0.95,0.8,1");effectcolor2,color("0.8,0.95,1,1") +Row1Y=SCREEN_CENTER_Y-140-20 +Row2Y=SCREEN_CENTER_Y-90 +Row3Y=SCREEN_CENTER_Y-40 +Row4Y=SCREEN_CENTER_Y-0 +Row5Y=SCREEN_CENTER_Y+40 +Row6Y=SCREEN_CENTER_Y+80 +Row7Y=SCREEN_CENTER_Y+120 -# Arcade +Label1X=SCREEN_CENTER_X-300-30 +Label1Y=THEME:GetMetric("EditMenu","Row1Y") +Label1OnCommand=strokecolor,color("#000000");zoom,1;horizalign,left; +Label1OffCommand= +Label2X=SCREEN_CENTER_X-300-30 +Label2Y=THEME:GetMetric("EditMenu","Row2Y") +Label2OnCommand=strokecolor,color("#000000");zoom,1;horizalign,left; +Label2OffCommand= +Label3X=SCREEN_CENTER_X-300-30 +Label3Y=THEME:GetMetric("EditMenu","Row3Y") +Label3OnCommand=strokecolor,color("#000000");zoom,1;horizalign,left; +Label3OffCommand= +Label4X=SCREEN_CENTER_X-300-30 +Label4Y=THEME:GetMetric("EditMenu","Row4Y") +Label4OnCommand=strokecolor,color("#000000");zoom,1;horizalign,left; +Label4OffCommand= +Label5X=SCREEN_CENTER_X-300-30 +Label5Y=THEME:GetMetric("EditMenu","Row5Y") +Label5OnCommand=strokecolor,color("#000000");zoom,1;horizalign,left; +Label5OffCommand= +Label6X=SCREEN_CENTER_X-300-30 +Label6Y=THEME:GetMetric("EditMenu","Row6Y") +Label6OnCommand=strokecolor,color("#000000");zoom,1;horizalign,left; +Label6OffCommand= +Label7X=SCREEN_CENTER_X-300-30 +Label7Y=THEME:GetMetric("EditMenu","Row7Y") +Label7OnCommand=strokecolor,color("#000000");zoom,1;horizalign,left; +Label7OffCommand= -[ScreenLogo] -TimerSeconds=10 -ShowLogo=true -LogoX=SCREEN_CENTER_X -LogoY=SCREEN_CENTER_Y-18 -LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 -LogoOffCommand=stopeffect;bouncebegin,0.35;zoom,0 - -ArcadeOverlay.TextY=SCREEN_BOTTOM-60 -# - -[ScreenHowToPlay] - -[ScreenTitleJoin] -ShowHelp=false -HelpText=Screen.String("HelpTextTitleJoin") -HelpY=SCREEN_CENTER_Y+100 -HelpOnCommand=visible,false;zoom,1;strokecolor,color("0.125,0.125,0.125,0.5");queuecommand,"Refresh" -HelpCoinIsertedMessageCommand=playcommand,"Refresh" -HelpCoinModeChangedMessageCommand=playcommand,"Refresh" -HelpRefreshCommand=%function(self) \ - local bCanPlay = GAMESTATE:EnoughCreditsToJoin(); \ - local bReady = GAMESTATE:GetNumSidesJoined() > 0; \ - if bCanPlay or bReady then \ - self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextPlay")); \ - else \ - self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextWait")); \ - end \ -end; -# -LogoX=SCREEN_CENTER_X -LogoY=SCREEN_CENTER_Y-28 -LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 -LogoOffCommand=stopeffect;bouncebegin,0.35;rotationz,360;zoom,0 - -VersionInfoX=SCREEN_CENTER_X+110 -VersionInfoY=SCREEN_CENTER_Y+4 -VersionInfoOnCommand=horizalign,right;vertalign,bottom;bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,1;shadowlength,1;shadowcolor,color("0.2,0.2,0.2,0.925"); -ScrollerOnCommand=visible,false; -ArcadeOverlay.TextY=SCREEN_BOTTOM-128 - -[ScreenDemonstration] -SongMeterDisplayOnCommand=visible,false -SongMeterDisplayP1OnCommand=visible,false -SongMeterDisplayP2OnCommand=visible,false -LifeP1OnCommand=visible,false -LifeP2OnCommand=visible,false -ScoreP1OnCommand=visible,false -ScoreP2OnCommand=visible,false -StepsDisplayP1OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 -StepsDisplayP2OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 -ShowBPMDisplay=false - -[ScreenJukeboxMenu] - -[ScreenJukebox] - -[ScreenCredits] - -[TimingData] -GetReturnsNumbers=true +Value1X=SCREEN_CENTER_X-50 +Value1Y=THEME:GetMetric("EditMenu","Row1Y") +Value1OnCommand=strokecolor,color("#000000");zoom,1;maxwidth,SCREEN_CENTER_X*0.45; +Value1OffCommand= +Value2X=SCREEN_CENTER_X+60+40 +Value2Y=THEME:GetMetric("EditMenu","Row2Y") +Value2OnCommand=strokecolor,color("#000000");zoom,1;maxwidth,SCREEN_CENTER_X*0.65 +Value2OffCommand= +Value3X=SCREEN_CENTER_X+60+40 +Value3Y=THEME:GetMetric("EditMenu","Row3Y") +Value3OnCommand=strokecolor,color("#000000");zoom,1;maxwidth,SCREEN_CENTER_X*0.65 +Value3OffCommand= +Value4X=SCREEN_CENTER_X+40 +Value4Y=THEME:GetMetric("EditMenu","Row4Y") +Value4OnCommand=visible,false; +Value4OffCommand= +Value5X=SCREEN_CENTER_X+60+40 +Value5Y=THEME:GetMetric("EditMenu","Row5Y") +Value5OnCommand=strokecolor,color("#000000");zoom,1;maxwidth,SCREEN_CENTER_X*0.65 +Value5OffCommand= +Value6X=SCREEN_CENTER_X+40 +Value6Y=THEME:GetMetric("EditMenu","Row6Y") +Value6OnCommand=strokecolor,color("#000000");zoom,1;maxwidth,SCREEN_CENTER_X*0.65 +Value6OffCommand= +Value7X=SCREEN_CENTER_X+60+40 +Value7Y=THEME:GetMetric("EditMenu","Row7Y") +Value7OnCommand=strokecolor,color("#000000");zoom,1;maxwidth,SCREEN_CENTER_X*0.65 +Value7OffCommand= \ No newline at end of file diff --git a/Themes/default/readme.md b/Themes/default/readme.md new file mode 100644 index 0000000000..0fe1b27745 --- /dev/null +++ b/Themes/default/readme.md @@ -0,0 +1,25 @@ +Introduction +----------- +Lambda (formerly FiftyOne) is a modern, high-definition theme for StepMania 5.x. It is designed to serve as the default theme for StepMania 5.1; it features a clean aesthetic with bold colors that reflects modern design trends, yet still maintains a suitable level of energy for a rhythm game. Under the hood, it's also a bit more future-proof than the previous theme, with certain screens featuring more prominent use of backend Lua code to replace legacy methods of rendering particular elements. + +Progress +----------- +I'd say it's about 96% done now; just needs a bit more fit and finish if needed. Feel free to contribute and make pull requests. + + +Source code +----------- +Inkscape SVG source code is available for the majority of graphics created in the _src folder on the repository used to develop it, located at https://github.com/ListenerJubatus/smtheme-fiftyOne. Some of the original mockups are also included for reference, although they are meant primarily for reference purposes due to changes in the theme's style since these mockups (such as the removal of rounded corners and increased use of chamfered edges and diamond motifs). + +The main fonts are the current version of Roboto and Noto Sans , and Open Sans (although, preferably, Noto Sans should eventually be used in any location Open Sans is currently used). Certain accents make use of the font Overpass. + + +License +----------- +As it incorporates existing code from StepMania, and is intended to possibly be part of the main distribution, Lambda is licensed under the terms of the MIT License. + +Notice about branches +----------- +The master branch, as of April 10, 2017, is now the 5.0 branch that was created by Riakodoadm, and the previous version has been moved to a new "5.2" branch. This mirrors the similar rollback that StepMania itself performed. + +Since the new 5.1 is meant to be more compatible with 5.0.x, you no longer need a nightly build to run this theme. \ No newline at end of file diff --git a/Themes/legacy/BGAnimations/Screen cancel/default.lua b/Themes/legacy/BGAnimations/Screen cancel/default.lua new file mode 100644 index 0000000000..6c32c81a02 --- /dev/null +++ b/Themes/legacy/BGAnimations/Screen cancel/default.lua @@ -0,0 +1,10 @@ +return Def.ActorFrame { + Def.Quad { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT); + OnCommand=cmd(diffuse,color("0,0,0,0.5");sleep,5/60;diffusealpha,1;sleep,5/60); + }; + LoadActor(THEME:GetPathS("_Screen","cancel")) .. { + IsAction= true, + StartTransitioningCommand=cmd(play); + }; +}; \ No newline at end of file diff --git a/Themes/default/BGAnimations/Screen in/default.lua b/Themes/legacy/BGAnimations/Screen in/default.lua similarity index 100% rename from Themes/default/BGAnimations/Screen in/default.lua rename to Themes/legacy/BGAnimations/Screen in/default.lua diff --git a/Themes/legacy/BGAnimations/Screen out/default.lua b/Themes/legacy/BGAnimations/Screen out/default.lua new file mode 100644 index 0000000000..d62b6e1e06 --- /dev/null +++ b/Themes/legacy/BGAnimations/Screen out/default.lua @@ -0,0 +1,8 @@ +local fSleepTime = THEME:GetMetric( Var "LoadingScreen","ScreenOutDelay"); + +return Def.ActorFrame { + Def.Quad { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT); + OnCommand=cmd(diffuse,color("0,0,0,0");sleep,fSleepTime;linear,0.01;diffusealpha,1); + }; +}; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenCaution overlay/_exclamation.png b/Themes/legacy/BGAnimations/ScreenCaution overlay/_exclamation.png similarity index 100% rename from Themes/default/BGAnimations/ScreenCaution overlay/_exclamation.png rename to Themes/legacy/BGAnimations/ScreenCaution overlay/_exclamation.png diff --git a/Themes/legacy/BGAnimations/ScreenCaution overlay/_warning bg.png b/Themes/legacy/BGAnimations/ScreenCaution overlay/_warning bg.png new file mode 100644 index 0000000000..ff85f7840c Binary files /dev/null and b/Themes/legacy/BGAnimations/ScreenCaution overlay/_warning bg.png differ diff --git a/Themes/legacy/BGAnimations/ScreenCaution overlay/default.lua b/Themes/legacy/BGAnimations/ScreenCaution overlay/default.lua new file mode 100644 index 0000000000..e0c6971d5a --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenCaution overlay/default.lua @@ -0,0 +1,46 @@ +local t = Def.ActorFrame {}; + +-- Fade +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(Center); + Def.Quad { + InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); + OnCommand=cmd(diffuse,Color.Black;diffusealpha,0;linear,0.5;diffusealpha,0.75); + OffCommand=cmd(linear,0.25;diffusealpha,0); + }; +}; +-- Emblem +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(Center); + OnCommand=cmd(diffusealpha,0.5); + LoadActor("_warning bg") .. { + OnCommand=cmd(diffuse,Color.Yellow); + }; + Def.ActorFrame { + LoadActor("_exclamation") .. { + OnCommand=cmd(diffuse,Color.Yellow); + }; + }; +}; + +-- Text +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(Center;y,SCREEN_CENTER_Y); + OnCommand=cmd(addy,-96); + -- Underline + Def.Quad { + InitCommand=cmd(y,24;zoomto,256,2); + OnCommand=cmd(diffuse,color("#ffd400");shadowcolor,BoostColor(color("#ffd40077"),0.25);linear,0.25;zoomtowidth,256;fadeleft,0.25;faderight,0.25); + }; + LoadFont("Common Large") .. { + Text=Screen.String("Caution"); + OnCommand=cmd(skewx,-0.125;diffuse,color("#ffd400");strokecolor,ColorDarkTone(color("#ffd400"))); + }; + LoadFont("Common Normal") .. { + Text=Screen.String("CautionText"); + InitCommand=cmd(y,128); + OnCommand=cmd(strokecolor,color("0,0,0,0.5");shadowlength,1;wrapwidthpixels,SCREEN_WIDTH-80); + }; +}; +-- +return t diff --git a/Themes/default/BGAnimations/ScreenContinue underlay.lua b/Themes/legacy/BGAnimations/ScreenContinue underlay.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenContinue underlay.lua rename to Themes/legacy/BGAnimations/ScreenContinue underlay.lua diff --git a/Themes/default/BGAnimations/ScreenCredits background/_grid.png b/Themes/legacy/BGAnimations/ScreenCredits background/_grid.png similarity index 100% rename from Themes/default/BGAnimations/ScreenCredits background/_grid.png rename to Themes/legacy/BGAnimations/ScreenCredits background/_grid.png diff --git a/Themes/default/BGAnimations/ScreenCredits background/_space.png b/Themes/legacy/BGAnimations/ScreenCredits background/_space.png similarity index 100% rename from Themes/default/BGAnimations/ScreenCredits background/_space.png rename to Themes/legacy/BGAnimations/ScreenCredits background/_space.png diff --git a/Themes/default/BGAnimations/ScreenCredits background/default.lua b/Themes/legacy/BGAnimations/ScreenCredits background/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenCredits background/default.lua rename to Themes/legacy/BGAnimations/ScreenCredits background/default.lua diff --git a/Themes/default/BGAnimations/ScreenCredits overlay.lua b/Themes/legacy/BGAnimations/ScreenCredits overlay.lua similarity index 97% rename from Themes/default/BGAnimations/ScreenCredits overlay.lua rename to Themes/legacy/BGAnimations/ScreenCredits overlay.lua index 8048c57fab..48d36c13c1 100644 --- a/Themes/default/BGAnimations/ScreenCredits overlay.lua +++ b/Themes/legacy/BGAnimations/ScreenCredits overlay.lua @@ -1,65 +1,65 @@ --- To add a section to the credits, use the following: --- local theme_credits= { --- name= "Theme Credits", -- the name of your section --- "Me", -- The people you want to list in your section. --- "Myself", --- "My other self", --- {logo= "pro_dude", name= "Pro self"}, -- Someone who has a logo image. --- -- This logo image would be "Graphics/CreditsLogo pro_dude.png". --- } --- StepManiaCredits.AddSection(theme_credits) --- --- If you want to add your section after an existing section, use the following: --- StepManiaCredits.AddSection(theme_credits, 7) --- --- Or position can be the name of a section to insert after: --- StepManiaCredits.AddSection(theme_credits, "Special Thanks") --- --- Or if you want to add your section before a section: --- StepManiaCredits.AddSection(theme_credits, "Special Thanks", true) - --- StepManiaCredits is defined in _fallback/Scripts/04 CreditsHelpers.lua. - -local line_on = cmd(zoom,0.875;strokecolor,color("#444444");shadowcolor,color("#444444");shadowlength,1) -local section_on = cmd(diffuse,color("#88DDFF");strokecolor,color("#446688");shadowcolor,color("#446688");shadowlength,1) -local subsection_on = cmd(diffuse,color("#88DDFF");strokecolor,color("#446688");shadowcolor,color("#446688");shadowlength,1) -local item_padding_start = 4; -local line_height= 30 --- Tell the credits table the line height so it can use it for logo sizing. -StepManiaCredits.SetLineHeight(line_height) - -local creditScroller = Def.ActorScroller { - SecondsPerItem = 0.5; - NumItemsToDraw = 40; - TransformFunction = function( self, offset, itemIndex, numItems) - self:y(line_height*offset) - end; - OnCommand = cmd(scrollwithpadding,item_padding_start,15); -} - --- Add sections with padding. -for section in ivalues(StepManiaCredits.Get()) do - StepManiaCredits.AddLineToScroller(creditScroller, section.name, section_on) - for name in ivalues(section) do - if name.type == "subsection" then - StepManiaCredits.AddLineToScroller(creditScroller, name, subsection_on) - else - StepManiaCredits.AddLineToScroller(creditScroller, name, line_on) - end - end - StepManiaCredits.AddLineToScroller(creditScroller) - StepManiaCredits.AddLineToScroller(creditScroller) -end - -creditScroller.BeginCommand=function(self) - SCREENMAN:GetTopScreen():PostScreenMessage( 'SM_MenuTimer', (creditScroller.SecondsPerItem * (#creditScroller + item_padding_start) + 10) ); -end; - -return Def.ActorFrame{ - creditScroller..{ - InitCommand=cmd(CenterX;y,SCREEN_BOTTOM-64), - }, - LoadActor(THEME:GetPathB("ScreenWithMenuElements","background/_bg top"))..{ - InitCommand=cmd(Center), - }, -}; +-- To add a section to the credits, use the following: +-- local theme_credits= { +-- name= "Theme Credits", -- the name of your section +-- "Me", -- The people you want to list in your section. +-- "Myself", +-- "My other self", +-- {logo= "pro_dude", name= "Pro self"}, -- Someone who has a logo image. +-- -- This logo image would be "Graphics/CreditsLogo pro_dude.png". +-- } +-- StepManiaCredits.AddSection(theme_credits) +-- +-- If you want to add your section after an existing section, use the following: +-- StepManiaCredits.AddSection(theme_credits, 7) +-- +-- Or position can be the name of a section to insert after: +-- StepManiaCredits.AddSection(theme_credits, "Special Thanks") +-- +-- Or if you want to add your section before a section: +-- StepManiaCredits.AddSection(theme_credits, "Special Thanks", true) + +-- StepManiaCredits is defined in _fallback/Scripts/04 CreditsHelpers.lua. + +local line_on = cmd(zoom,0.875;strokecolor,color("#444444");shadowcolor,color("#444444");shadowlength,1) +local section_on = cmd(diffuse,color("#88DDFF");strokecolor,color("#446688");shadowcolor,color("#446688");shadowlength,1) +local subsection_on = cmd(diffuse,color("#88DDFF");strokecolor,color("#446688");shadowcolor,color("#446688");shadowlength,1) +local item_padding_start = 4; +local line_height= 30 +-- Tell the credits table the line height so it can use it for logo sizing. +StepManiaCredits.SetLineHeight(line_height) + +local creditScroller = Def.ActorScroller { + SecondsPerItem = 0.5; + NumItemsToDraw = 40; + TransformFunction = function( self, offset, itemIndex, numItems) + self:y(line_height*offset) + end; + OnCommand = cmd(scrollwithpadding,item_padding_start,15); +} + +-- Add sections with padding. +for section in ivalues(StepManiaCredits.Get()) do + StepManiaCredits.AddLineToScroller(creditScroller, section.name, section_on) + for name in ivalues(section) do + if name.type == "subsection" then + StepManiaCredits.AddLineToScroller(creditScroller, name, subsection_on) + else + StepManiaCredits.AddLineToScroller(creditScroller, name, line_on) + end + end + StepManiaCredits.AddLineToScroller(creditScroller) + StepManiaCredits.AddLineToScroller(creditScroller) +end + +creditScroller.BeginCommand=function(self) + SCREENMAN:GetTopScreen():PostScreenMessage( 'SM_MenuTimer', (creditScroller.SecondsPerItem * (#creditScroller + item_padding_start) + 10) ); +end; + +return Def.ActorFrame{ + creditScroller..{ + InitCommand=cmd(CenterX;y,SCREEN_BOTTOM-64), + }, + LoadActor(THEME:GetPathB("ScreenWithMenuElements","background/_bg top"))..{ + InitCommand=cmd(Center), + }, +}; diff --git a/Themes/default/BGAnimations/ScreenDemonstration decorations.lua b/Themes/legacy/BGAnimations/ScreenDemonstration decorations.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenDemonstration decorations.lua rename to Themes/legacy/BGAnimations/ScreenDemonstration decorations.lua diff --git a/Themes/default/BGAnimations/ScreenDemonstration out.lua b/Themes/legacy/BGAnimations/ScreenDemonstration out.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenDemonstration out.lua rename to Themes/legacy/BGAnimations/ScreenDemonstration out.lua diff --git a/Themes/default/BGAnimations/ScreenDemonstration overlay/default.lua b/Themes/legacy/BGAnimations/ScreenDemonstration overlay/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenDemonstration overlay/default.lua rename to Themes/legacy/BGAnimations/ScreenDemonstration overlay/default.lua diff --git a/Themes/legacy/BGAnimations/ScreenEdit background.lua b/Themes/legacy/BGAnimations/ScreenEdit background.lua new file mode 100644 index 0000000000..150a3537d8 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenEdit background.lua @@ -0,0 +1,27 @@ +local t = Def.ActorFrame { + InitCommand=cmd(fov,90); +}; +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(Center); + LoadActor( THEME:GetPathB("ScreenWithMenuElements","background/_bg top") ) .. { + InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); + }; + Def.Quad{ + InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT;diffuse,color("0.2,0.2,0.2,0")); + OnCommand=function(self) + local topScreen = SCREENMAN:GetTopScreen() + if topScreen then + local screenName = topScreen:GetName() + if screenName == "ScreenEdit" or screenName == "ScreenPractice" then + self:diffusealpha(0.95) + else + self:diffusealpha(0.65) + end; + end; + end; + EditorShowMessageCommand=cmd(stoptweening;linear,0.5;diffusealpha,0.95); + EditorHideMessageCommand=cmd(stoptweening;linear,0.5;diffusealpha,0.65); + }; +}; + +return t; diff --git a/Themes/default/BGAnimations/ScreenEvaluation background/default.lua b/Themes/legacy/BGAnimations/ScreenEvaluation background/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenEvaluation background/default.lua rename to Themes/legacy/BGAnimations/ScreenEvaluation background/default.lua diff --git a/Themes/legacy/BGAnimations/ScreenEvaluation decorations/default.lua b/Themes/legacy/BGAnimations/ScreenEvaluation decorations/default.lua new file mode 100644 index 0000000000..1a738fc954 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenEvaluation decorations/default.lua @@ -0,0 +1,259 @@ +local function GraphDisplay( pn ) + local t = Def.ActorFrame { + LoadActor( THEME:GetPathG("_GraphDisplay","overlay")) .. { + InitCommand=cmd(y,6); + }; + Def.GraphDisplay { + InitCommand=cmd(Load,"GraphDisplay";); + BeginCommand=function(self) + local ss = SCREENMAN:GetTopScreen():GetStageStats(); + self:Set( ss, ss:GetPlayerStageStats(pn) ); + self:player( pn ); + end + }; + }; + return t; +end + +local function ComboGraph( pn ) + local t = Def.ActorFrame { + Def.ComboGraph { + InitCommand=cmd(Load,"ComboGraph";); + BeginCommand=function(self) + local ss = SCREENMAN:GetTopScreen():GetStageStats(); + self:Set( ss, ss:GetPlayerStageStats(pn) ); + self:player( pn ); + end + }; + }; + return t; +end + +local function PercentScore( pn ) + local t = LoadFont("Common normal")..{ + InitCommand=cmd(zoom,0.625;shadowlength,1;player,pn); + BeginCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + -- todo: color by difficulty + local SongOrCourse, StepsOrTrail; + if GAMESTATE:IsCourseMode() then + SongOrCourse = GAMESTATE:GetCurrentCourse() + StepsOrTrail = GAMESTATE:GetCurrentTrail(pn) + else + SongOrCourse = GAMESTATE:GetCurrentSong() + StepsOrTrail = GAMESTATE:GetCurrentSteps(pn) + end; + if SongOrCourse and StepsOrTrail then + local st = StepsOrTrail:GetStepsType(); + local diff = StepsOrTrail:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:diffuse(CustomDifficultyToColor(cd)); + self:shadowcolor(CustomDifficultyToDarkColor(cd)); + end + + local pss = STATSMAN:GetPlayedStageStats(1):GetPlayerStageStats(pn); + if pss then + local pct = pss:GetPercentDancePoints(); + if pct == 1 then + self:settext("100%"); + else + self:settext(FormatPercentScore(pct)); + end; + end; + end; + }; + return t; +end + +local t = LoadFallbackB(); + +t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); + +if ShowStandardDecoration("GraphDisplay") and GAMESTATE:GetPlayMode() ~= "PlayMode_Rave" then + for pn in ivalues(GAMESTATE:GetHumanPlayers()) do + t[#t+1] = StandardDecorationFromTable( "GraphDisplay" .. ToEnumShortString(pn), GraphDisplay(pn) ); + end +end + +if ShowStandardDecoration("ComboGraph") and GAMESTATE:GetPlayMode() ~= "PlayMode_Rave" then + for pn in ivalues(GAMESTATE:GetHumanPlayers()) do + t[#t+1] = StandardDecorationFromTable( "ComboGraph" .. ToEnumShortString(pn), ComboGraph(pn) ); + end +end + +if ShowStandardDecoration("StepsDisplay") then + for pn in ivalues(PlayerNumber) do + local t2 = Def.StepsDisplay { + InitCommand=cmd(Load,"StepsDisplayEvaluation",pn;SetFromGameState,pn;); + UpdateNetEvalStatsMessageCommand=function(self,param) + if GAMESTATE:IsPlayerEnabled(pn) then + self:SetFromSteps(param.Steps) + end; + end; + }; + t[#t+1] = StandardDecorationFromTable( "StepsDisplay" .. ToEnumShortString(pn), t2 ); + t[#t+1] = StandardDecorationFromTable( "PercentScore" .. ToEnumShortString(pn), PercentScore(pn) ); + end +end + +for pn in ivalues(PlayerNumber) do + local MetricsName = "MachineRecord" .. PlayerNumberToString(pn); + t[#t+1] = LoadActor( THEME:GetPathG(Var "LoadingScreen", "MachineRecord"), pn ) .. { + InitCommand=function(self) + self:player(pn); + self:name(MetricsName); + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end; + }; +end + +for pn in ivalues(PlayerNumber) do + local MetricsName = "PersonalRecord" .. PlayerNumberToString(pn); + t[#t+1] = LoadActor( THEME:GetPathG(Var "LoadingScreen", "PersonalRecord"), pn ) .. { + InitCommand=function(self) + self:player(pn); + self:name(MetricsName); + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end; + }; +end + +for pn in ivalues(PlayerNumber) do + local MetricsName = "StageAward" .. PlayerNumberToString(pn); + t[#t+1] = LoadActor( THEME:GetPathG(Var "LoadingScreen", "StageAward"), pn ) .. { + InitCommand=function(self) + self:player(pn); + self:name(MetricsName); + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end; + BeginCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local tStats = THEME:GetMetric(Var "LoadingScreen", "Summary") and STATSMAN:GetAccumPlayedStageStats() or STATSMAN:GetCurStageStats(); + tStats = tStats:GetPlayerStageStats(pn); + if tStats:GetStageAward() and not tStats:GetFailed() then + self:settext( THEME:GetString( "StageAward", ToEnumShortString( tStats:GetStageAward() ) ) ); + else + self:settext( "" ); + end + end; + }; +end + +for pn in ivalues(PlayerNumber) do + local MetricsName = "PeakComboAward" .. PlayerNumberToString(pn); + t[#t+1] = LoadActor( THEME:GetPathG(Var "LoadingScreen", "PeakComboAward"), pn ) .. { + InitCommand=function(self) + self:player(pn); + self:name(MetricsName); + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end; + BeginCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local tStats = THEME:GetMetric(Var "LoadingScreen", "Summary") and STATSMAN:GetAccumPlayedStageStats() or STATSMAN:GetCurStageStats(); + tStats = tStats:GetPlayerStageStats(pn); + if tStats:GetPeakComboAward() then + self:settext( THEME:GetString( "PeakComboAward", ToEnumShortString( tStats:GetPeakComboAward() ) ) ); + else + self:settext( "" ); + end + end; + }; +end + +t[#t+1] = StandardDecorationFromFileOptional("SongInformation","SongInformation") .. { + BeginCommand=function(self) + local SongOrCourse; + if GAMESTATE:GetCurrentSong() then + SongOrCourse = GAMESTATE:GetCurrentSong(); + elseif GAMESTATE:GetCurrentCourse() then + SongOrCourse = GAMESTATE:GetCurrentCourse(); + else + return + end + + if SongOrCourse:HasBanner() then + self:visible(false); + else + self:visible(true); + end + end; + SetCommand=function(self) + local c = self:GetChildren(); + local SongOrCourse; + if GAMESTATE:GetCurrentSong() then + SongOrCourse = GAMESTATE:GetCurrentSong(); + + c.TextTitle:settext( SongOrCourse:GetDisplayMainTitle() or nil ); + c.TextSubtitle:settext( SongOrCourse:GetDisplaySubTitle() or nil ); + c.TextArtist:settext( SongOrCourse:GetDisplayArtist() or nil ); + + if SongOrCourse:GetDisplaySubTitle() == "" then + c.TextTitle:visible(true); + c.TextTitle:y(-16.5/2); + c.TextSubtitle:visible(false); + c.TextSubtitle:y(0); + c.TextArtist:visible(true); + c.TextArtist:y(18/2); + else + c.TextTitle:visible(true); + c.TextTitle:y(-16.5); + c.TextSubtitle:visible(true); + c.TextSubtitle:y(0); + c.TextArtist:visible(true); + c.TextArtist:y(18); + end +-- self:playcommand("Tick"); + elseif GAMESTATE:GetCurrentCourse() then + SongOrCourse = GAMESTATE:GetCurrentCourse(); + + c.TextTitle:settext( SongOrCourse:GetDisplayMainTitle() or nil ); + c.TextSubtitle:settext( SongOrCourse:GetDisplaySubTitle() or nil ); + c.TextArtist:settext( SongOrCourse:GetDisplayArtist() or nil ); + +-- self:playcommand("Tick"); + else + SongOrCourse = nil; + + c.TextTitle:settext(""); + c.TextSubtitle:settext(""); + c.TextArtist:settext(""); + + self:playcommand("Hide") + end + end; +-- OnCommand=cmd(playcommand,"Set"); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + DisplayLanguageChangedMessageCommand=cmd(playcommand,"Set"); +}; +t[#t+1] = StandardDecorationFromFileOptional("LifeDifficulty","LifeDifficulty"); +t[#t+1] = StandardDecorationFromFileOptional("TimingDifficulty","TimingDifficulty"); +t[#t+1] = StandardDecorationFromFileOptional("GameType","GameType"); +t[#t+1] = Def.ActorFrame { + Condition=GAMESTATE:HasEarnedExtraStage() and GAMESTATE:IsExtraStage() and not GAMESTATE:IsExtraStage2(); + InitCommand=cmd(draworder,105); + LoadActor( THEME:GetPathS("ScreenEvaluation","try Extra1" ) ) .. { + Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; + OnCommand=cmd(play); + }; + LoadActor( THEME:GetPathG("ScreenStageInformation","Stage extra1" ) ) .. { + Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; + InitCommand=cmd(Center); + OnCommand=cmd(diffusealpha,0;zoom,0.85;bounceend,1;zoom,1;diffusealpha,1;sleep,0;glow,Color("White");decelerate,1;glow,Color("Invisible");smooth,0.35;zoom,0.25;y,SCREEN_BOTTOM-72); + }; +}; +t[#t+1] = Def.ActorFrame { + Condition=GAMESTATE:HasEarnedExtraStage() and not GAMESTATE:IsExtraStage() and GAMESTATE:IsExtraStage2(); + InitCommand=cmd(draworder,105); + LoadActor( THEME:GetPathS("ScreenEvaluation","try Extra2" ) ) .. { + Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; + OnCommand=cmd(play); + }; + LoadActor( THEME:GetPathG("ScreenStageInformation","Stage extra2" ) ) .. { + Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; + InitCommand=cmd(Center); + OnCommand=cmd(diffusealpha,0;zoom,0.85;bounceend,1;zoom,1;diffusealpha,1;sleep,0;glow,Color("White");decelerate,1;glow,Color("Invisible");smooth,0.35;zoom,0.25;y,SCREEN_BOTTOM-72); + }; +}; +return t diff --git a/Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua b/Themes/legacy/BGAnimations/ScreenEvaluation overlay/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua rename to Themes/legacy/BGAnimations/ScreenEvaluation overlay/default.lua diff --git a/Themes/default/BGAnimations/ScreenEvaluation overlay/kyuze.lua b/Themes/legacy/BGAnimations/ScreenEvaluation overlay/kyuze.lua similarity index 97% rename from Themes/default/BGAnimations/ScreenEvaluation overlay/kyuze.lua rename to Themes/legacy/BGAnimations/ScreenEvaluation overlay/kyuze.lua index 586c793ab2..296b6e0d09 100644 --- a/Themes/default/BGAnimations/ScreenEvaluation overlay/kyuze.lua +++ b/Themes/legacy/BGAnimations/ScreenEvaluation overlay/kyuze.lua @@ -1,100 +1,100 @@ -local vStats = STATSMAN:GetCurStageStats(); - -local function CreateStats( pnPlayer ) - -- Actor Templates - local aLabel = LoadFont("Common Normal") .. { InitCommand=cmd(zoom,0.5;shadowlength,1;horizalign,left); }; - local aText = LoadFont("Common Normal") .. { InitCommand=cmd(zoom,0.5;shadowlength,1;horizalign,left); }; - -- DA STATS, JIM!! - local pnStageStats = vStats:GetPlayerStageStats( pnPlayer ); - -- Organized Stats. - local tStats = { - W1 = pnStageStats:GetTapNoteScores('TapNoteScore_W1'); - W2 = pnStageStats:GetTapNoteScores('TapNoteScore_W2'); - W3 = pnStageStats:GetTapNoteScores('TapNoteScore_W3'); - W4 = pnStageStats:GetTapNoteScores('TapNoteScore_W4'); - W5 = pnStageStats:GetTapNoteScores('TapNoteScore_W5'); - Miss = pnStageStats:GetTapNoteScores('TapNoteScore_Miss'); - HitMine = pnStageStats:GetTapNoteScores('TapNoteScore_HitMine'); - AvoidMine = pnStageStats:GetTapNoteScores('TapNoteScore_AvoidMine'); - Held = pnStageStats:GetHoldNoteScores('HoldNoteScore_Held'); - LetGo = pnStageStats:GetHoldNoteScores('HoldNoteScore_LetGo'); - }; - local itg_values= {W1= 5, - W2= 4, - W3= 2, - W4= 0, - W5= -6, - Miss= -12, - HitMine= 0, -- Kyz hates mines. Should be -6 - AvoidMine= 0, - Held= 5, - LetGo= 0} - local migs_values= {W1= 3, - W2= 2, - W3= 1, - W4= 0, - W5= -4, - Miss= -8, - HitMine= 0, - AvoidMine= 0, - Held= 6, - LetGo= 0} - local itg_keys_for_max= {W1= 5, W2= 5, W3= 5, W4= 5, W5= 5, Miss= 5, Held= 5, LetGo= 5} - local migs_keys_for_max= {W1= 3, W2= 3, W3= 3, W4= 3, W3= 3, Miss= 3, Held= 6, LetGo= 6} - - local tValues= { ITG= 0, ITG_MAX= 0, MIGS= 0, MIGS_MAX= 0} - for k, v in pairs(itg_keys_for_max) do - if tStats[k] then - tValues.ITG_MAX= tValues.ITG_MAX + (tStats[k] * v) - end - end - for k, v in pairs(migs_keys_for_max) do - if tStats[k] then - tValues.MIGS_MAX= tValues.MIGS_MAX + (tStats[k] * v) - end - end - - for k, v in pairs(tStats) do - if itg_values[k] then - tValues.ITG= tValues.ITG + (v * itg_values[k]) - end - if migs_values[k] then - tValues.MIGS= tValues.MIGS + (v * migs_values[k]) - end - end - - local t = Def.ActorFrame {}; - t[#t+1] = Def.ActorFrame { - InitCommand=cmd(y,-34); - LoadActor(THEME:GetPathG("ScreenTitleMenu","PreferenceFrame")) .. { - InitCommand=cmd(zoom,0.875;diffuse,PlayerColor( pnPlayer )); - }; - aLabel .. { Text=THEME:GetString("ScreenEvaluation","ITG DP:"); InitCommand=cmd(x,-64) }; - aText .. { Text=string.format("%04i",tValues["ITG"]); InitCommand=cmd(x,-8;y,5;vertalign,bottom;zoom,0.6); }; - aText .. { Text="/"; InitCommand=cmd(x,28;y,5;vertalign,bottom;zoom,0.5;diffusealpha,0.5); }; - aText .. { Text=string.format("%04i",tValues["ITG_MAX"]); InitCommand=cmd(x,32;y,5;vertalign,bottom;zoom,0.5); }; - }; - t[#t+1] = Def.ActorFrame { - InitCommand=cmd(y,-6); - LoadActor(THEME:GetPathG("ScreenTitleMenu","PreferenceFrame")) .. { - InitCommand=cmd(zoom,0.875;diffuse,PlayerColor( pnPlayer )); - }; - aLabel .. { Text=THEME:GetString("ScreenEvaluation","MIGS DP:"); InitCommand=cmd(x,-64) }; - aText .. { Text=string.format("%04i",tValues["MIGS"]); InitCommand=cmd(x,-8;y,5;vertalign,bottom;zoom,0.6); }; - aText .. { Text="/"; InitCommand=cmd(x,28;y,5;vertalign,bottom;zoom,0.5;diffusealpha,0.5); }; - aText .. { Text=string.format("%04i",tValues["MIGS_MAX"]); InitCommand=cmd(x,32;y,5;vertalign,bottom;zoom,0.5); }; - }; - return t -end; - -local t = Def.ActorFrame {}; -GAMESTATE:IsPlayerEnabled(PLAYER_1) -t[#t+1] = Def.ActorFrame { - InitCommand=cmd(hide_if,not GAMESTATE:IsPlayerEnabled(PLAYER_1);x,WideScale(math.floor(SCREEN_CENTER_X*0.3)-8,math.floor(SCREEN_CENTER_X*0.5)-8);y,SCREEN_CENTER_Y-34); - CreateStats( PLAYER_1 ); -}; -t[#t+1] = Def.ActorFrame { - InitCommand=cmd(hide_if,not GAMESTATE:IsPlayerEnabled(PLAYER_2);x,WideScale(math.floor(SCREEN_CENTER_X*1.7)+8,math.floor(SCREEN_CENTER_X*1.5)+8);y,SCREEN_CENTER_Y-34); - CreateStats( PLAYER_2 ); -}; +local vStats = STATSMAN:GetCurStageStats(); + +local function CreateStats( pnPlayer ) + -- Actor Templates + local aLabel = LoadFont("Common Normal") .. { InitCommand=cmd(zoom,0.5;shadowlength,1;horizalign,left); }; + local aText = LoadFont("Common Normal") .. { InitCommand=cmd(zoom,0.5;shadowlength,1;horizalign,left); }; + -- DA STATS, JIM!! + local pnStageStats = vStats:GetPlayerStageStats( pnPlayer ); + -- Organized Stats. + local tStats = { + W1 = pnStageStats:GetTapNoteScores('TapNoteScore_W1'); + W2 = pnStageStats:GetTapNoteScores('TapNoteScore_W2'); + W3 = pnStageStats:GetTapNoteScores('TapNoteScore_W3'); + W4 = pnStageStats:GetTapNoteScores('TapNoteScore_W4'); + W5 = pnStageStats:GetTapNoteScores('TapNoteScore_W5'); + Miss = pnStageStats:GetTapNoteScores('TapNoteScore_Miss'); + HitMine = pnStageStats:GetTapNoteScores('TapNoteScore_HitMine'); + AvoidMine = pnStageStats:GetTapNoteScores('TapNoteScore_AvoidMine'); + Held = pnStageStats:GetHoldNoteScores('HoldNoteScore_Held'); + LetGo = pnStageStats:GetHoldNoteScores('HoldNoteScore_LetGo'); + }; + local itg_values= {W1= 5, + W2= 4, + W3= 2, + W4= 0, + W5= -6, + Miss= -12, + HitMine= 0, -- Kyz hates mines. Should be -6 + AvoidMine= 0, + Held= 5, + LetGo= 0} + local migs_values= {W1= 3, + W2= 2, + W3= 1, + W4= 0, + W5= -4, + Miss= -8, + HitMine= 0, + AvoidMine= 0, + Held= 6, + LetGo= 0} + local itg_keys_for_max= {W1= 5, W2= 5, W3= 5, W4= 5, W5= 5, Miss= 5, Held= 5, LetGo= 5} + local migs_keys_for_max= {W1= 3, W2= 3, W3= 3, W4= 3, W3= 3, Miss= 3, Held= 6, LetGo= 6} + + local tValues= { ITG= 0, ITG_MAX= 0, MIGS= 0, MIGS_MAX= 0} + for k, v in pairs(itg_keys_for_max) do + if tStats[k] then + tValues.ITG_MAX= tValues.ITG_MAX + (tStats[k] * v) + end + end + for k, v in pairs(migs_keys_for_max) do + if tStats[k] then + tValues.MIGS_MAX= tValues.MIGS_MAX + (tStats[k] * v) + end + end + + for k, v in pairs(tStats) do + if itg_values[k] then + tValues.ITG= tValues.ITG + (v * itg_values[k]) + end + if migs_values[k] then + tValues.MIGS= tValues.MIGS + (v * migs_values[k]) + end + end + + local t = Def.ActorFrame {}; + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(y,-34); + LoadActor(THEME:GetPathG("ScreenTitleMenu","PreferenceFrame")) .. { + InitCommand=cmd(zoom,0.875;diffuse,PlayerColor( pnPlayer )); + }; + aLabel .. { Text=THEME:GetString("ScreenEvaluation","ITG DP:"); InitCommand=cmd(x,-64) }; + aText .. { Text=string.format("%04i",tValues["ITG"]); InitCommand=cmd(x,-8;y,5;vertalign,bottom;zoom,0.6); }; + aText .. { Text="/"; InitCommand=cmd(x,28;y,5;vertalign,bottom;zoom,0.5;diffusealpha,0.5); }; + aText .. { Text=string.format("%04i",tValues["ITG_MAX"]); InitCommand=cmd(x,32;y,5;vertalign,bottom;zoom,0.5); }; + }; + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(y,-6); + LoadActor(THEME:GetPathG("ScreenTitleMenu","PreferenceFrame")) .. { + InitCommand=cmd(zoom,0.875;diffuse,PlayerColor( pnPlayer )); + }; + aLabel .. { Text=THEME:GetString("ScreenEvaluation","MIGS DP:"); InitCommand=cmd(x,-64) }; + aText .. { Text=string.format("%04i",tValues["MIGS"]); InitCommand=cmd(x,-8;y,5;vertalign,bottom;zoom,0.6); }; + aText .. { Text="/"; InitCommand=cmd(x,28;y,5;vertalign,bottom;zoom,0.5;diffusealpha,0.5); }; + aText .. { Text=string.format("%04i",tValues["MIGS_MAX"]); InitCommand=cmd(x,32;y,5;vertalign,bottom;zoom,0.5); }; + }; + return t +end; + +local t = Def.ActorFrame {}; +GAMESTATE:IsPlayerEnabled(PLAYER_1) +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(hide_if,not GAMESTATE:IsPlayerEnabled(PLAYER_1);x,WideScale(math.floor(SCREEN_CENTER_X*0.3)-8,math.floor(SCREEN_CENTER_X*0.5)-8);y,SCREEN_CENTER_Y-34); + CreateStats( PLAYER_1 ); +}; +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(hide_if,not GAMESTATE:IsPlayerEnabled(PLAYER_2);x,WideScale(math.floor(SCREEN_CENTER_X*1.7)+8,math.floor(SCREEN_CENTER_X*1.5)+8);y,SCREEN_CENTER_Y-34); + CreateStats( PLAYER_2 ); +}; return t \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenEvaluation overlay/original.lua b/Themes/legacy/BGAnimations/ScreenEvaluation overlay/original.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenEvaluation overlay/original.lua rename to Themes/legacy/BGAnimations/ScreenEvaluation overlay/original.lua diff --git a/Themes/default/BGAnimations/ScreenEvaluationSummary background.lua b/Themes/legacy/BGAnimations/ScreenEvaluationSummary background.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenEvaluationSummary background.lua rename to Themes/legacy/BGAnimations/ScreenEvaluationSummary background.lua diff --git a/Themes/default/BGAnimations/ScreenEvaluationSummary decorations/default.lua b/Themes/legacy/BGAnimations/ScreenEvaluationSummary decorations/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenEvaluationSummary decorations/default.lua rename to Themes/legacy/BGAnimations/ScreenEvaluationSummary decorations/default.lua diff --git a/Themes/default/BGAnimations/ScreenGameInformation underlay/default.lua b/Themes/legacy/BGAnimations/ScreenGameInformation underlay/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenGameInformation underlay/default.lua rename to Themes/legacy/BGAnimations/ScreenGameInformation underlay/default.lua diff --git a/Themes/legacy/BGAnimations/ScreenGameOver underlay/default.lua b/Themes/legacy/BGAnimations/ScreenGameOver underlay/default.lua new file mode 100644 index 0000000000..d53e40b5ca --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenGameOver underlay/default.lua @@ -0,0 +1,29 @@ +local timer_seconds = THEME:GetMetric(Var "LoadingScreen","TimerSeconds"); + +return Def.ActorFrame { + InitCommand=cmd(Center), + -- Fade + Def.ActorFrame { + InitCommand=cmd(); + Def.Quad { + InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT), + OnCommand=cmd(diffuse,Color.Black;diffusealpha,0;linear,0.5;diffusealpha,0.25; + sleep,timer_seconds/2; + linear,timer_seconds/2-0.5;diffusealpha,0.8), + }, + -- Warning Fade + Def.Quad { + InitCommand=cmd(y,-4;scaletoclipped,SCREEN_WIDTH,164), + OnCommand=cmd(diffuse,Color.Black;diffusealpha,0.5; + linear,timer_seconds;zoomtoheight,164*0.75), + } + }, + -- + LoadActor(THEME:GetPathG("ScreenGameOver","gameover"))..{ + InitCommand=cmd(y,-16;shadowlength,2) + }, + LoadFont("Common Normal")..{ + Text=ScreenString("Play again soon!"), + InitCommand=cmd(y,36;shadowlength,2) + } +} diff --git a/Themes/default/BGAnimations/ScreenGameplay background.lua b/Themes/legacy/BGAnimations/ScreenGameplay background.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenGameplay background.lua rename to Themes/legacy/BGAnimations/ScreenGameplay background.lua diff --git a/Themes/default/BGAnimations/ScreenGameplay danger all/default.lua b/Themes/legacy/BGAnimations/ScreenGameplay danger all/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenGameplay danger all/default.lua rename to Themes/legacy/BGAnimations/ScreenGameplay danger all/default.lua diff --git a/Themes/default/BGAnimations/ScreenGameplay danger p1/BGAnimation.ini b/Themes/legacy/BGAnimations/ScreenGameplay danger p1/BGAnimation.ini similarity index 100% rename from Themes/default/BGAnimations/ScreenGameplay danger p1/BGAnimation.ini rename to Themes/legacy/BGAnimations/ScreenGameplay danger p1/BGAnimation.ini diff --git a/Themes/default/BGAnimations/ScreenGameplay danger p2/BGAnimation.ini b/Themes/legacy/BGAnimations/ScreenGameplay danger p2/BGAnimation.ini similarity index 100% rename from Themes/default/BGAnimations/ScreenGameplay danger p2/BGAnimation.ini rename to Themes/legacy/BGAnimations/ScreenGameplay danger p2/BGAnimation.ini diff --git a/Themes/default/BGAnimations/ScreenGameplay dead p1/BGAnimation.ini b/Themes/legacy/BGAnimations/ScreenGameplay dead p1/BGAnimation.ini similarity index 100% rename from Themes/default/BGAnimations/ScreenGameplay dead p1/BGAnimation.ini rename to Themes/legacy/BGAnimations/ScreenGameplay dead p1/BGAnimation.ini diff --git a/Themes/default/BGAnimations/ScreenGameplay dead p2/BGAnimation.ini b/Themes/legacy/BGAnimations/ScreenGameplay dead p2/BGAnimation.ini similarity index 100% rename from Themes/default/BGAnimations/ScreenGameplay dead p2/BGAnimation.ini rename to Themes/legacy/BGAnimations/ScreenGameplay dead p2/BGAnimation.ini diff --git a/Themes/legacy/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/legacy/BGAnimations/ScreenGameplay decorations/default.lua new file mode 100644 index 0000000000..c021dca519 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenGameplay decorations/default.lua @@ -0,0 +1,231 @@ +local maxSegments = 150 + +local function CreateSegments(Player) + local t = Def.ActorFrame { }; + local bars = Def.ActorFrame{ Name="CoverBars" }; + local bpmFrame = Def.ActorFrame{ Name="BPMFrame"; }; + local stopFrame = Def.ActorFrame{ Name="StopFrame"; }; + local delayFrame = Def.ActorFrame{ Name="DelayFrame"; }; + local warpFrame = Def.ActorFrame{ Name="WarpFrame"; }; + local fakeFrame = Def.ActorFrame{ Name="FakeFrame"; }; + local scrollFrame = Def.ActorFrame{ Name="ScrollFrame"; }; + local speedFrame = Def.ActorFrame{ Name="SpeedFrame"; }; + + local fFrameWidth = 380; + local fFrameHeight = 8; + -- XXX: doesn't work in course mode -aj + if not GAMESTATE:IsSideJoined( Player ) then + return t + elseif not GAMESTATE:IsCourseMode() then + -- Straight rip off NCRX + local song = GAMESTATE:GetCurrentSong(); + local steps = GAMESTATE:GetCurrentSteps( Player ); + if steps then + local timingData = steps:GetTimingData(); + -- use the StepsSeconds, which will almost always be more proper + -- than a file with ITG2r21 compatibility. + if song then + local songLen = song:MusicLengthSeconds(); + + local firstBeatSecs = song:GetFirstSecond(); + local lastBeatSecs = song:GetLastSecond(); + + local bpms = timingData:GetBPMsAndTimes(true); + local stops = timingData:GetStops(true); + local delays = timingData:GetDelays(true); + local warps = timingData:GetWarps(true); + local fakes = timingData:GetFakes(true); + local scrolls = timingData:GetScrolls(true); + local speeds = timingData:GetSpeeds(true); + + -- we don't want too many segments to be shown. + local sumSegments = #bpms + #stops + #delays + #warps + #fakes + #scrolls + #speeds + if sumSegments > maxSegments then + return Def.ActorFrame{} + end + + local function CreateLine(beat, secs, firstShadow, firstDiffuse, secondShadow, firstEffect, secondEffect) + local beatTime = timingData:GetElapsedTimeFromBeat(beat); + if beatTime < 0 then beatTime = 0; end; + return Def.ActorFrame { + Def.Quad { + InitCommand=function(self) + self:shadowlength(0); + self:shadowcolor(color(firstShadow)); + -- set width + self:zoomto(math.max((secs/songLen)*fFrameWidth, 1), fFrameHeight); + -- find location + self:x((scale(beatTime,firstBeatSecs,lastBeatSecs,-fFrameWidth/2,fFrameWidth/2))); + end; + OnCommand=function(self) + self:diffuse(color(firstDiffuse)); + end; + }; + --[[ there's a cool effect that can't happen because we don't fade out like we did before + Def.Quad { + InitCommand=function(self) + --self:diffuse(HSVA(192,1,0.8,0.8)); + self:shadowlength(0); + self:shadowcolor(color(secondShadow)); + -- set width + self:zoomto(math.max((secs/songLen)*fFrameWidth, 1),fFrameHeight); + -- find location + self:x((scale(beatTime,firstBeatSecs,lastBeatSecs,-fFrameWidth/2,fFrameWidth/2))); + end; + OnCommand=function(self) + self:diffusealpha(1); + self:diffuseshift(); + self:effectcolor1(color(firstEffect)); + self:effectcolor2(color(secondEffect)); + self:effectclock('beat'); + self:effectperiod(1/8); + -- + self:diffusealpha(0); + self:sleep(beatTime+1); + self:diffusealpha(1); + self:linear(4); + self:diffusealpha(0); + end; + };]] + }; + end; + + for i=2,#bpms do + bpmFrame[#bpmFrame+1] = CreateLine(bpms[i][1], 0, + "#00808077", "#00808077", "#00808077", "#FF634777", "#FF000077"); + end; + + for i=1,#delays do + delayFrame[#delayFrame+1] = CreateLine(delays[i][1], delays[i][2], + "#FFFF0077", "#FFFF0077", "#FFFF0077", "#00FF0077", "#FF000077"); + end; + + for i=1,#stops do + stopFrame[#stopFrame+1] = CreateLine(stops[i][1], stops[i][2], + "#FFFFFF77", "#FFFFFF77", "#FFFFFF77", "#FFA50077", "#FF000077"); + end; + + for i=1,#scrolls do + scrollFrame[#scrollFrame+1] = CreateLine(scrolls[i][1], 0, + "#4169E177", "#4169E177", "#4169E177", "#0000FF77", "#FF000077"); + end; + + for i=1,#speeds do + -- TODO: Turn beats into seconds for this calculation? + speedFrame[#speedFrame+1] = CreateLine(speeds[i][1], 0, + "#ADFF2F77", "#ADFF2F77", "#ADFF2F77", "#7CFC0077", "#FF000077"); + end; + + for i=1,#warps do + warpFrame[#warpFrame+1] = CreateLine(warps[i][1], 0, + "#CC00CC77", "#CC00CC77", "#CC00CC77", "#FF33CC77", "#FF000077"); + end; + + for i=1,#fakes do + fakeFrame[#fakeFrame+1] = CreateLine(fakes[i][1], 0, + "#BC8F8F77", "#BC8F8F77", "#BC8F8F77", "#F4A46077", "#FF000077"); + end; + end; + bars[#bars+1] = bpmFrame; + bars[#bars+1] = scrollFrame; + bars[#bars+1] = speedFrame; + bars[#bars+1] = stopFrame; + bars[#bars+1] = delayFrame; + bars[#bars+1] = warpFrame; + bars[#bars+1] = fakeFrame; + t[#t+1] = bars; + --addition here: increase performance a ton by only rendering once + t[#t+1] = Def.ActorFrameTexture{Name="Target"} + t[#t+1] = Def.Sprite{Name="Actual"} + local FirstPass=true; + local function Draw(self) + kids=self:GetChildren(); + if FirstPass then + kids.Target:setsize(fFrameWidth,fFrameHeight); + kids.Target:EnableAlphaBuffer(true); + kids.Target:Create(); + + kids.Target:GetTexture():BeginRenderingTo(); + for k,v in pairs(kids) do + if k~="Target" and k~="Actual" then + v:Draw(); + end + end + kids.Target:GetTexture():FinishRenderingTo(); + + kids.Actual:SetTexture(kids.Target:GetTexture()); + FirstPass=false; + end + kids.Actual:Draw(); + end + t.InitCommand=function(self) self:SetDrawFunction(Draw); end + end + end + return t +end +local t = LoadFallbackB() +t[#t+1] = StandardDecorationFromFileOptional("ScoreFrame","ScoreFrame"); + +local function songMeterScale(val) return scale(val,0,1,-380/2,380/2) end + +for pn in ivalues(PlayerNumber) do + local MetricsName = "SongMeterDisplay" .. PlayerNumberToString(pn); + local songMeterDisplay = Def.ActorFrame{ + InitCommand=function(self) + self:player(pn); + 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'); + ActorUtil.LoadAllCommandsAndSetXY(self,MetricsName); + end; + }; + Def.Quad { + InitCommand=cmd(zoomto,2,8); + OnCommand=cmd(x,songMeterScale(0.25);diffuse,PlayerColor(pn);diffusealpha,0.5); + }; + Def.Quad { + InitCommand=cmd(zoomto,2,8); + OnCommand=cmd(x,songMeterScale(0.5);diffuse,PlayerColor(pn);diffusealpha,0.5); + }; + Def.Quad { + InitCommand=cmd(zoomto,2,8); + OnCommand=cmd(x,songMeterScale(0.75);diffuse,PlayerColor(pn);diffusealpha,0.5); + }; + Def.SongMeterDisplay { + StreamWidth=THEME:GetMetric( MetricsName, 'StreamWidth' ); + Stream=LoadActor( THEME:GetPathG( 'SongMeterDisplay', 'stream ' .. PlayerNumberToString(pn) ) )..{ + InitCommand=cmd(diffuse,PlayerColor(pn);diffusealpha,0.5;blend,Blend.Add;); + }; + Tip=LoadActor( THEME:GetPathG( 'SongMeterDisplay', 'tip ' .. PlayerNumberToString(pn) ) ) .. { InitCommand=cmd(visible,false); }; + }; + }; + if ThemePrefs.Get("TimingDisplay") == true then + songMeterDisplay[#songMeterDisplay+1] = CreateSegments(pn); + end + t[#t+1] = songMeterDisplay +end; + +for pn in ivalues(PlayerNumber) do + local MetricsName = "ToastyDisplay" .. PlayerNumberToString(pn); + t[#t+1] = LoadActor( THEME:GetPathG("Player", 'toasty'), pn ) .. { + InitCommand=function(self) + self:player(pn); + self:name(MetricsName); + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end; + }; +end; + + +t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("SongTitle","SongTitle"); + +return t diff --git a/Themes/legacy/BGAnimations/ScreenGameplay failed/default.lua b/Themes/legacy/BGAnimations/ScreenGameplay failed/default.lua new file mode 100644 index 0000000000..4b99a97346 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenGameplay failed/default.lua @@ -0,0 +1,31 @@ +local longFail = ThemePrefs.Get("LongFail"); + +local t = Def.ActorFrame{}; + +if longFail then + t[#t+1] = Def.Quad{ + InitCommand=cmd(FullScreen;diffuse,color("1,0,0,0");blend,Blend.Multiply); + OnCommand=cmd(decelerate,1.25;diffuse,color("0.75,0,0,0.75");linear,7;diffuse,color("0,0,0,1");sleep,1.25;linear,1;diffuse,color("1,0,0,1");decelerate,2;diffuse,color("0,0,0,1")); + }; + t[#t+1] = Def.Quad{ + InitCommand=cmd(FullScreen;diffuse,color("1,1,1,1");diffusealpha,0); + OnCommand=cmd(finishtweening;diffusealpha,1;decelerate,1.25;diffuse,color("1,0,0,0")); + }; + t[#t+1] = LoadActor(THEME:GetPathS( "ScreenGameplayAlternate", "failed" ) ) .. { + StartTransitioningCommand=cmd(play); + }; +else + t[#t+1] = Def.Quad{ + InitCommand=cmd(FullScreen;diffuse,color("1,0,0,0");blend,Blend.Multiply); + OnCommand=cmd(smooth,1;diffuse,color("0.75,0,0,0.75");decelerate,2;diffuse,color("0,0,0,1")); + }; + t[#t+1] = Def.Quad{ + InitCommand=cmd(FullScreen;diffuse,color("1,1,1,1");diffusealpha,0); + OnCommand=cmd(finishtweening;diffusealpha,1;decelerate,1.25;diffuse,color("1,0,0,0")); + }; + t[#t+1] = LoadActor(THEME:GetPathS( Var "LoadingScreen", "failed" ) ) .. { + StartTransitioningCommand=cmd(play); + }; +end; + +return t; \ No newline at end of file diff --git a/Themes/legacy/BGAnimations/ScreenGameplay go/default.lua b/Themes/legacy/BGAnimations/ScreenGameplay go/default.lua new file mode 100644 index 0000000000..e9b1a6b5e8 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenGameplay go/default.lua @@ -0,0 +1,9 @@ +if IsNetSMOnline() then + -- don't show "Ready" online; it will obscure the immediately-starting steps. + return Def.ActorFrame{} +end + +return LoadActor("go") .. { + InitCommand=cmd(Center;draworder,105); + StartTransitioningCommand=cmd(zoom,1.3;diffusealpha,0;bounceend,0.25;zoom,1;diffusealpha,1;linear,0.15;glow,BoostColor(Color("Blue"),1.75);decelerate,0.3;glow,1,1,1,0;sleep,1-0.45;linear,0.25;diffusealpha,0;); +}; \ No newline at end of file diff --git a/Themes/legacy/BGAnimations/ScreenGameplay go/go.png b/Themes/legacy/BGAnimations/ScreenGameplay go/go.png new file mode 100644 index 0000000000..6f6eba998d Binary files /dev/null and b/Themes/legacy/BGAnimations/ScreenGameplay go/go.png differ diff --git a/Themes/legacy/BGAnimations/ScreenGameplay in/default.lua b/Themes/legacy/BGAnimations/ScreenGameplay in/default.lua new file mode 100644 index 0000000000..0a43fa337b --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenGameplay in/default.lua @@ -0,0 +1,15 @@ +local t = Def.ActorFrame {}; +t[#t+1] = Def.Sprite { + InitCommand=cmd(Center;diffusealpha,1); + BeginCommand=cmd(LoadFromCurrentSongBackground); + OnCommand=function(self) + if PREFSMAN:GetPreference("StretchBackgrounds") then + self:SetSize(SCREEN_WIDTH,SCREEN_HEIGHT) + else + self:scale_or_crop_background() + end + self:linear(1) + self:diffusealpha(0) + end; +}; +return t; \ No newline at end of file diff --git a/Themes/legacy/BGAnimations/ScreenGameplay next course song/default.lua b/Themes/legacy/BGAnimations/ScreenGameplay next course song/default.lua new file mode 100644 index 0000000000..6cdb2900c2 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenGameplay next course song/default.lua @@ -0,0 +1,39 @@ +local t = Def.ActorFrame{}; + +if not GAMESTATE:IsCourseMode() then return t; end; + +t[#t+1] = Def.Sprite { + InitCommand=cmd(Center); + BeforeLoadingNextCourseSongMessageCommand=function(self) self:LoadFromSongBackground( SCREENMAN:GetTopScreen():GetNextCourseSong() ) end; + ChangeCourseSongInMessageCommand=cmd(scale_or_crop_background); + StartCommand=cmd(diffusealpha,0;decelerate,0.5;diffusealpha,1;); + FinishCommand=cmd(linear,0.1;glow,Color.Alpha(Color("White"),0.5);decelerate,0.4;glow,Color("Invisible");diffusealpha,0); +}; + +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(Center); + OnCommand=cmd(stoptweening;addx,30;linear,3;addx,-30); + LoadFont("Common Normal") .. { + InitCommand=cmd(strokecolor,Color("Outline");y,-10); + BeforeLoadingNextCourseSongMessageCommand=function(self) + local NextSong = SCREENMAN:GetTopScreen():GetNextCourseSong(); + self:settext( NextSong:GetDisplayFullTitle() ); + end; + StartCommand=cmd(faderight,1;diffusealpha,0;linear,0.5;faderight,0;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); + }; +--[[ LoadFont("Common Normal") .. { + Text=GAMESTATE:IsCourseMode() and GAMESTATE:GetCurrentCourse():GetCourseType() or GAMESTATE:GetCurrentSong():GetDisplayArtist(); + InitCommand=cmd(strokecolor,Color("Outline");zoom,0.75); + OnCommand=cmd(faderight,1;diffusealpha,0;linear,0.5;faderight,0;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); + }; --]] + LoadFont("Common Normal") .. { + InitCommand=cmd(strokecolor,Color("Outline");diffuse,Color("Orange");diffusebottomedge,Color("Yellow");zoom,0.75;y,10); + BeforeLoadingNextCourseSongMessageCommand=function(self) + local NextSong = SCREENMAN:GetTopScreen():GetNextCourseSong(); + self:settext( SecondsToMSSMsMs( NextSong:MusicLengthSeconds() ) ); + end; + StartCommand=cmd(faderight,1;diffusealpha,0;linear,0.5;faderight,0;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); + }; +}; + +return t; \ No newline at end of file diff --git a/Themes/legacy/BGAnimations/ScreenGameplay out.lua b/Themes/legacy/BGAnimations/ScreenGameplay out.lua new file mode 100644 index 0000000000..5ce91f80e6 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenGameplay out.lua @@ -0,0 +1,50 @@ +local raveChildren + +local bg = Def.ActorFrame{ + Def.Quad{ + InitCommand=cmd(FullScreen;diffuse,color("0,0,0,0")); + OnCommand=cmd(linear,5;diffusealpha,1); + }; + + Def.ActorFrame{ + Name="RaveMessages"; + InitCommand=function(self) + raveChildren = self:GetChildren() + self:visible(GAMESTATE:GetPlayMode() == 'PlayMode_Rave') + + raveChildren.P1Win:visible(false) + raveChildren.P2Win:visible(false) + raveChildren.Draw:visible(false) + end; + OffCommand=function(self) + local p1Win = GAMESTATE:IsWinner(PLAYER_1) + local p2Win = GAMESTATE:IsWinner(PLAYER_2) + + if GAMESTATE:IsWinner(PLAYER_1) then + raveChildren.P1Win:visible(true) + elseif GAMESTATE:IsWinner(PLAYER_2) then + raveChildren.P2Win:visible(true) + else + raveChildren.Draw:visible(true) + end + end; + + LoadActor(THEME:GetPathG("_rave result","P1"))..{ + Name="P1Win"; + InitCommand=cmd(Center;cropbottom,1;fadebottom,1;); + OnCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); + }; + LoadActor(THEME:GetPathG("_rave result","P2"))..{ + Name="P2Win"; + InitCommand=cmd(Center;cropbottom,1;fadebottom,1;); + OnCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); + }; + LoadActor(THEME:GetPathG("_rave result","draw"))..{ + Name="Draw"; + InitCommand=cmd(Center;cropbottom,1;fadebottom,1;); + OnCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); + }; + }; +}; + +return bg \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenGameplay overlay.lua b/Themes/legacy/BGAnimations/ScreenGameplay overlay.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenGameplay overlay.lua rename to Themes/legacy/BGAnimations/ScreenGameplay overlay.lua diff --git a/Themes/legacy/BGAnimations/ScreenGameplay ready/default.lua b/Themes/legacy/BGAnimations/ScreenGameplay ready/default.lua new file mode 100644 index 0000000000..73c513579a --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenGameplay ready/default.lua @@ -0,0 +1,9 @@ +if IsNetSMOnline() then + -- don't show "Ready" online; it will obscure the immediately-starting steps. + return Def.ActorFrame{} +end + +return LoadActor("ready") .. { + InitCommand=cmd(Center;draworder,105); + StartTransitioningCommand=cmd(zoom,1.3;diffusealpha,0;bounceend,0.25;zoom,1;diffusealpha,1;linear,0.15;glow,BoostColor(Color("Orange"),1.75);decelerate,0.3;glow,1,1,1,0;sleep,1-0.45;linear,0.25;diffusealpha,0;); +}; \ No newline at end of file diff --git a/Themes/legacy/BGAnimations/ScreenGameplay ready/ready.png b/Themes/legacy/BGAnimations/ScreenGameplay ready/ready.png new file mode 100644 index 0000000000..2bbc2d20ec Binary files /dev/null and b/Themes/legacy/BGAnimations/ScreenGameplay ready/ready.png differ diff --git a/Themes/default/BGAnimations/ScreenGameplay toasty/default.lua b/Themes/legacy/BGAnimations/ScreenGameplay toasty/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenGameplay toasty/default.lua rename to Themes/legacy/BGAnimations/ScreenGameplay toasty/default.lua diff --git a/Themes/default/BGAnimations/ScreenHeartEntry overlay.lua b/Themes/legacy/BGAnimations/ScreenHeartEntry overlay.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenHeartEntry overlay.lua rename to Themes/legacy/BGAnimations/ScreenHeartEntry overlay.lua diff --git a/Themes/default/BGAnimations/ScreenHighScores decorations/_difficulty frame.png b/Themes/legacy/BGAnimations/ScreenHighScores decorations/_difficulty frame.png similarity index 100% rename from Themes/default/BGAnimations/ScreenHighScores decorations/_difficulty frame.png rename to Themes/legacy/BGAnimations/ScreenHighScores decorations/_difficulty frame.png diff --git a/Themes/legacy/BGAnimations/ScreenHighScores decorations/default.lua b/Themes/legacy/BGAnimations/ScreenHighScores decorations/default.lua new file mode 100644 index 0000000000..1582ee9d74 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenHighScores decorations/default.lua @@ -0,0 +1,47 @@ +local t = LoadFallbackB(); + +local StepsType = ToEnumShortString( GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) ); +local stString = THEME:GetString("StepsType",StepsType); + +local NumColumns = THEME:GetMetric(Var "LoadingScreen", "NumColumns"); + +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160); + Def.Quad { + InitCommand=cmd(zoomto,SCREEN_WIDTH, 32); + OnCommand=cmd(y,-16;diffuse,Color.Black;fadebottom,0.8); + }; + Def.Quad { + InitCommand=cmd(zoomto,SCREEN_WIDTH, 56); + OnCommand=cmd(diffuse,color("#333333");diffusealpha,0.75;fadebottom,0.35); + }; +}; + +for i=1,NumColumns do + local st = THEME:GetMetric(Var "LoadingScreen","ColumnStepsType" .. i); + local dc = THEME:GetMetric(Var "LoadingScreen","ColumnDifficulty" .. i); + local s = GetCustomDifficulty( st, dc ); + + t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X-60 + 80 * (i-1);y,SCREEN_CENTER_Y-168); + LoadActor(THEME:GetPathB("_frame","3x1"),"rounded fill", 18) .. { + OnCommand=cmd(diffuse,CustomDifficultyToDarkColor(s);diffusealpha,0.5); + }; + LoadActor(THEME:GetPathB("_frame","3x1"),"rounded gloss", 18) .. { + OnCommand=cmd(diffuse,CustomDifficultyToColor(s);diffusealpha,0.125); + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(uppercase,true;settext,CustomDifficultyToLocalizedString(s)); + OnCommand=cmd(zoom,0.675;maxwidth,80/0.675;diffuse,CustomDifficultyToColor(s);shadowlength,1); + }; + }; +end + +t[#t+1] = LoadFont("Common Bold") .. { + InitCommand=cmd(settext,stString;x,SCREEN_CENTER_X-220;y,SCREEN_CENTER_Y-168); + OnCommand=cmd(skewx,-0.125;diffusebottomedge,color("0.75,0.75,0.75");shadowlength,2); +}; + +t.OnCommand=cmd(draworder,105); + +return t; diff --git a/Themes/default/BGAnimations/ScreenHowToInstallSongs background.redir b/Themes/legacy/BGAnimations/ScreenHowToInstallSongs background.redir similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToInstallSongs background.redir rename to Themes/legacy/BGAnimations/ScreenHowToInstallSongs background.redir diff --git a/Themes/default/BGAnimations/ScreenHowToInstallSongs overlay.lua b/Themes/legacy/BGAnimations/ScreenHowToInstallSongs overlay.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToInstallSongs overlay.lua rename to Themes/legacy/BGAnimations/ScreenHowToInstallSongs overlay.lua diff --git a/Themes/default/BGAnimations/ScreenHowToPlay background/bg.png b/Themes/legacy/BGAnimations/ScreenHowToPlay background/bg.png similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay background/bg.png rename to Themes/legacy/BGAnimations/ScreenHowToPlay background/bg.png diff --git a/Themes/default/BGAnimations/ScreenHowToPlay background/default.lua b/Themes/legacy/BGAnimations/ScreenHowToPlay background/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay background/default.lua rename to Themes/legacy/BGAnimations/ScreenHowToPlay background/default.lua diff --git a/Themes/default/BGAnimations/ScreenHowToPlay decorations.lua b/Themes/legacy/BGAnimations/ScreenHowToPlay decorations.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay decorations.lua rename to Themes/legacy/BGAnimations/ScreenHowToPlay decorations.lua diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/_howtoplay feet.lua b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/_howtoplay feet.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/_howtoplay feet.lua rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/_howtoplay feet.lua diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/_howtoplay jump.lua b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/_howtoplay jump.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/_howtoplay jump.lua rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/_howtoplay jump.lua diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/_howtoplay miss.lua b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/_howtoplay miss.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/_howtoplay miss.lua rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/_howtoplay miss.lua diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/_howtoplay tap.lua b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/_howtoplay tap.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/_howtoplay tap.lua rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/_howtoplay tap.lua diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/default.lua b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/default.lua rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/default.lua diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/feet.png b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/feet.png similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/feet.png rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/feet.png diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/healthhilight.png b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/healthhilight.png similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/healthhilight.png rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/healthhilight.png diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/jumpmessage.png b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/jumpmessage.png similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/jumpmessage.png rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/jumpmessage.png diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/missmessage.png b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/missmessage.png similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/missmessage.png rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/missmessage.png diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/tapglow.png b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/tapglow.png similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/tapglow.png rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/tapglow.png diff --git a/Themes/default/BGAnimations/ScreenHowToPlay overlay/tapmessage.png b/Themes/legacy/BGAnimations/ScreenHowToPlay overlay/tapmessage.png similarity index 100% rename from Themes/default/BGAnimations/ScreenHowToPlay overlay/tapmessage.png rename to Themes/legacy/BGAnimations/ScreenHowToPlay overlay/tapmessage.png diff --git a/Themes/default/BGAnimations/ScreenTitleJoin decorations.lua b/Themes/legacy/BGAnimations/ScreenInit decorations.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenTitleJoin decorations.lua rename to Themes/legacy/BGAnimations/ScreenInit decorations.lua diff --git a/Themes/default/BGAnimations/ScreenJukebox in.lua b/Themes/legacy/BGAnimations/ScreenJukebox in.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenJukebox in.lua rename to Themes/legacy/BGAnimations/ScreenJukebox in.lua diff --git a/Themes/default/BGAnimations/ScreenJukebox out.lua b/Themes/legacy/BGAnimations/ScreenJukebox out.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenJukebox out.lua rename to Themes/legacy/BGAnimations/ScreenJukebox out.lua diff --git a/Themes/legacy/BGAnimations/ScreenLogo decorations.lua b/Themes/legacy/BGAnimations/ScreenLogo decorations.lua new file mode 100644 index 0000000000..1a520b1693 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenLogo decorations.lua @@ -0,0 +1,6 @@ +local t = LoadFallbackB(); + +t[#t+1] = StandardDecorationFromFileOptional("Logo","Logo"); +t[#t+1] = LoadActor( THEME:GetPathB("_Arcade","decorations") ); + +return t; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenRanking Difficulty easy.redir b/Themes/legacy/BGAnimations/ScreenMiniMenu cancel.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking Difficulty easy.redir rename to Themes/legacy/BGAnimations/ScreenMiniMenu cancel.redir diff --git a/Themes/default/Graphics/ScreenRanking Difficulty hard.redir b/Themes/legacy/BGAnimations/ScreenMiniMenu in.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking Difficulty hard.redir rename to Themes/legacy/BGAnimations/ScreenMiniMenu in.redir diff --git a/Themes/default/Graphics/ScreenRanking Difficulty medium.redir b/Themes/legacy/BGAnimations/ScreenMiniMenu out.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking Difficulty medium.redir rename to Themes/legacy/BGAnimations/ScreenMiniMenu out.redir diff --git a/Themes/default/BGAnimations/ScreenMiniMenu underlay/default.lua b/Themes/legacy/BGAnimations/ScreenMiniMenu underlay/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenMiniMenu underlay/default.lua rename to Themes/legacy/BGAnimations/ScreenMiniMenu underlay/default.lua diff --git a/Themes/legacy/BGAnimations/ScreenNetSelectMusic decorations.lua b/Themes/legacy/BGAnimations/ScreenNetSelectMusic decorations.lua new file mode 100644 index 0000000000..efebf763a7 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenNetSelectMusic decorations.lua @@ -0,0 +1,6 @@ +local t = LoadFallbackB(); + +t[#t+1] = StandardDecorationFromFileOptional("BPMLabel","BPMLabel"); +t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("DifficultyDisplay","DifficultyDisplay"); +return t; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenOptionsCustomizeProfile overlay.lua b/Themes/legacy/BGAnimations/ScreenOptionsCustomizeProfile overlay.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenOptionsCustomizeProfile overlay.lua rename to Themes/legacy/BGAnimations/ScreenOptionsCustomizeProfile overlay.lua diff --git a/Themes/default/BGAnimations/ScreenOptionsService in.lua b/Themes/legacy/BGAnimations/ScreenOptionsService in.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenOptionsService in.lua rename to Themes/legacy/BGAnimations/ScreenOptionsService in.lua diff --git a/Themes/default/BGAnimations/ScreenPlayerOptions background.lua b/Themes/legacy/BGAnimations/ScreenPlayerOptions background.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenPlayerOptions background.lua rename to Themes/legacy/BGAnimations/ScreenPlayerOptions background.lua diff --git a/Themes/legacy/BGAnimations/ScreenPlayerOptions decorations.lua b/Themes/legacy/BGAnimations/ScreenPlayerOptions decorations.lua new file mode 100644 index 0000000000..346f4a256c --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenPlayerOptions decorations.lua @@ -0,0 +1,15 @@ +local num_players = GAMESTATE:GetHumanPlayers(); + +local t = LoadFallbackB(); + +for i=1,#num_players do + local metrics_name = "PlayerNameplate" .. ToEnumShortString(num_players[i]) + t[#t+1] = LoadActor( THEME:GetPathG(Var "LoadingScreen", "PlayerNameplate"), num_players[i] ) .. { + InitCommand=function(self) + self:name(metrics_name); + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); + end + } +end + +return t; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenPlayerOptions out.lua b/Themes/legacy/BGAnimations/ScreenPlayerOptions out.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenPlayerOptions out.lua rename to Themes/legacy/BGAnimations/ScreenPlayerOptions out.lua diff --git a/Themes/default/BGAnimations/ScreenPrompt underlay.redir b/Themes/legacy/BGAnimations/ScreenPrompt underlay.redir similarity index 100% rename from Themes/default/BGAnimations/ScreenPrompt underlay.redir rename to Themes/legacy/BGAnimations/ScreenPrompt underlay.redir diff --git a/Themes/default/BGAnimations/ScreenQuickSetupOverview decorations/default.lua b/Themes/legacy/BGAnimations/ScreenQuickSetupOverview decorations/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenQuickSetupOverview decorations/default.lua rename to Themes/legacy/BGAnimations/ScreenQuickSetupOverview decorations/default.lua diff --git a/Themes/legacy/BGAnimations/ScreenReloadSongs background.redir b/Themes/legacy/BGAnimations/ScreenReloadSongs background.redir new file mode 100644 index 0000000000..4d3fd51225 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenReloadSongs background.redir @@ -0,0 +1 @@ +ScreenTitleMenu background \ No newline at end of file diff --git a/Themes/legacy/BGAnimations/ScreenSelectMusic decorations/default.lua b/Themes/legacy/BGAnimations/ScreenSelectMusic decorations/default.lua new file mode 100644 index 0000000000..290d997789 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenSelectMusic decorations/default.lua @@ -0,0 +1,299 @@ +local t = LoadFallbackB(); + +-- Legacy StepMania 4 Function +local function StepsDisplay(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 +t[#t+1] = StandardDecorationFromFileOptional("AlternateHelpDisplay","AlternateHelpDisplay"); + +local function PercentScore(pn) + local t = LoadFont("Common normal")..{ + InitCommand=cmd(zoom,0.625;shadowlength,1); + BeginCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local SongOrCourse, StepsOrTrail; + if GAMESTATE:IsCourseMode() then + SongOrCourse = GAMESTATE:GetCurrentCourse(); + StepsOrTrail = GAMESTATE:GetCurrentTrail(pn); + else + SongOrCourse = GAMESTATE:GetCurrentSong(); + StepsOrTrail = GAMESTATE:GetCurrentSteps(pn); + end; + + local profile, scorelist; + local text = ""; + if SongOrCourse and StepsOrTrail then + local st = StepsOrTrail:GetStepsType(); + local diff = StepsOrTrail:GetDifficulty(); + local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil; + local cd = GetCustomDifficulty(st, diff, courseType); + self:diffuse(CustomDifficultyToColor(cd)); + self:shadowcolor(CustomDifficultyToDarkColor(cd)); + + if PROFILEMAN:IsPersistentProfile(pn) then + -- player profile + profile = PROFILEMAN:GetProfile(pn); + else + -- machine profile + profile = PROFILEMAN:GetMachineProfile(); + end; + + scorelist = profile:GetHighScoreList(SongOrCourse,StepsOrTrail); + assert(scorelist) + local scores = scorelist:GetHighScores(); + local topscore = scores[1]; + if topscore then + text = string.format("%.2f%%", topscore:GetPercentDP()*100.0); + -- 100% hack + if text == "100.00%" then + text = "100%"; + end; + else + text = string.format("%.2f%%", 0); + end; + else + text = ""; + end; + self:settext(text); + end; + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + }; + + if pn == PLAYER_1 then + t.CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); + t.CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); + else + t.CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set"); + t.CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); + end + + return t; +end + +-- Legacy StepMania 4 Function +for pn in ivalues(PlayerNumber) do + local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn); + t[#t+1] = StepsDisplay(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; + }; + if ShowStandardDecoration("PercentScore"..ToEnumShortString(pn)) then + t[#t+1] = StandardDecorationFromTable("PercentScore"..ToEnumShortString(pn), PercentScore(pn)); + end; +end + +t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame"); +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayFrameP1","PaneDisplayFrame"); +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayFrameP2","PaneDisplayFrame"); +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP1","PaneDisplayTextP1"); +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP2","PaneDisplayTextP2"); +t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList"); + +t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("BPMLabel","BPMLabel"); +t[#t+1] = StandardDecorationFromFileOptional("SegmentDisplay","SegmentDisplay"); +--[[ t[#t+1] = StandardDecorationFromFileOptional("NegativeDisplay","NegativeDisplay") .. { +}; --]] + +t[#t+1] = StandardDecorationFromFileOptional("SongTime","SongTime") .. { + SetCommand=function(self) + local curSelection = nil; + local length = 0.0; + if GAMESTATE:IsCourseMode() then + curSelection = GAMESTATE:GetCurrentCourse(); + self:playcommand("Reset"); + if curSelection then + local trail = GAMESTATE:GetCurrentTrail(GAMESTATE:GetMasterPlayerNumber()); + if trail then + length = TrailUtil.GetTotalSeconds(trail); + else + length = 0.0; + end; + else + length = 0.0; + end; + else + curSelection = GAMESTATE:GetCurrentSong(); + self:playcommand("Reset"); + if curSelection then + length = curSelection:MusicLengthSeconds(); + if curSelection:IsLong() then + self:playcommand("Long"); + elseif curSelection:IsMarathon() then + self:playcommand("Marathon"); + else + self:playcommand("Reset"); + end + else + length = 0.0; + self:playcommand("Reset"); + end; + end; + self:settext( SecondsToMSS(length) ); + end; + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); +} + +if not GAMESTATE:IsCourseMode() then + local function CDTitleUpdate(self) + local song = GAMESTATE:GetCurrentSong(); + local cdtitle = self:GetChild("CDTitle"); + local height = cdtitle:GetHeight(); + + if song then + if song:HasCDTitle() then + cdtitle:visible(true); + cdtitle:Load(song:GetCDTitlePath()); + else + cdtitle:visible(false); + end; + else + cdtitle:visible(false); + end; + + self:zoom(scale(height,32,480,1,32/480)) + end; + t[#t+1] = Def.ActorFrame { + OnCommand=cmd(draworder,105;x,SCREEN_CENTER_X-256;y,SCREEN_CENTER_Y-84;zoom,0;sleep,0.5;decelerate,0.25;zoom,1;SetUpdateFunction,CDTitleUpdate); + OffCommand=cmd(bouncebegin,0.15;zoomx,0); + Def.Sprite { + Name="CDTitle"; + OnCommand=cmd(draworder,106;shadowlength,1;zoom,0.75;diffusealpha,1;zoom,0;bounceend,0.35;zoom,0.75;spin;effectperiod,2;effectmagnitude,0,180,0); + BackCullCommand=cmd(diffuse,color("0.5,0.5,0.5,1")); + }; + }; + t[#t+1] = StandardDecorationFromFileOptional("NewSong","NewSong") .. { + -- ShowCommand=THEME:GetMetric(Var "LoadingScreen", "NewSongShowCommand" ); + -- HideCommand=THEME:GetMetric(Var "LoadingScreen", "NewSongHideCommand" ); + InitCommand=cmd(playcommand,"Set"); + BeginCommand=cmd(playcommand,"Set"); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + -- local pTargetProfile; + local sSong; + -- Start! + if GAMESTATE:GetCurrentSong() then + if PROFILEMAN:IsSongNew(GAMESTATE:GetCurrentSong()) then + self:playcommand("Show"); + else + self:playcommand("Hide"); + end + else + self:playcommand("Hide"); + end + end; + }; + t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); +end; + +if GAMESTATE:IsCourseMode() then + t[#t+1] = Def.ActorFrame { + Def.Quad { + InitCommand=cmd( + x,THEME:GetMetric(Var "LoadingScreen","CourseContentsListX"); + y,THEME:GetMetric(Var "LoadingScreen","CourseContentsListY") - 118; + zoomto,256+32,192; + ); + OnCommand=cmd(diffuse,Color.Green;MaskSource); + }; + Def.Quad { + InitCommand=cmd( + x,THEME:GetMetric(Var "LoadingScreen","CourseContentsListX"); + y,THEME:GetMetric(Var "LoadingScreen","CourseContentsListY") + 186; + zoomto,256+32,64; + ); + OnCommand=cmd(diffuse,Color.Blue;MaskSource); + }; + }; + t[#t+1] = StandardDecorationFromFileOptional("CourseContentsList","CourseContentsList"); + t[#t+1] = StandardDecorationFromFileOptional("NumCourseSongs","NumCourseSongs")..{ + InitCommand=cmd(horizalign,right); + SetCommand=function(self) + local curSelection= nil; + local sAppend = ""; + if GAMESTATE:IsCourseMode() then + curSelection = GAMESTATE:GetCurrentCourse(); + if curSelection then + sAppend = (curSelection:GetEstimatedNumStages() == 1) and "Stage" or "Stages"; + self:visible(true); + self:settext( curSelection:GetEstimatedNumStages() .. " " .. sAppend); + else + self:visible(false); + end; + else + self:visible(false); + end; + end; + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + }; +end + +t[#t+1] = StandardDecorationFromFileOptional("DifficultyDisplay","DifficultyDisplay"); + +t[#t+1] = StandardDecorationFromFileOptional("SortOrder","SortOrderText") .. { + BeginCommand=cmd(playcommand,"Set"); + SortOrderChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local s = GAMESTATE:GetSortOrder() + if s ~= nil then + local s = SortOrderToLocalizedString( s ) + self:settext( s ) + self:playcommand("Sort") + else + return + end + end; +}; + +t[#t+1] = StandardDecorationFromFileOptional("SongOptionsFrame","SongOptionsFrame") .. { + ShowPressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsFrameShowCommand"); + ShowEnteringOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsFrameEnterCommand"); + HidePressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsFrameHideCommand"); +}; +t[#t+1] = StandardDecorationFromFileOptional("SongOptions","SongOptionsText") .. { + ShowPressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsShowCommand"); + ShowEnteringOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsEnterCommand"); + HidePressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsHideCommand"); +}; +-- Sounds +t[#t+1] = Def.ActorFrame { + LoadActor(THEME:GetPathS("_switch","up")) .. { + SelectMenuOpenedMessageCommand=cmd(stop;play); + }; + LoadActor(THEME:GetPathS("_switch","down")) .. { + SelectMenuClosedMessageCommand=cmd(stop;play); + }; +}; + +return t diff --git a/Themes/legacy/BGAnimations/ScreenSelectMusic overlay.lua b/Themes/legacy/BGAnimations/ScreenSelectMusic overlay.lua new file mode 100644 index 0000000000..8e20872d73 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenSelectMusic overlay.lua @@ -0,0 +1,70 @@ +local num_players = GAMESTATE:GetHumanPlayers(); +local function PositionItem(i,max) + local x_spacing = 128; + return x_spacing * (i-(max-1)/2); +end + + +local t = Def.ActorFrame { + FOV=90; + -- + Def.Quad { + InitCommand=cmd(zoomto,SCREEN_CENTER_X+80,SCREEN_HEIGHT); + OnCommand=cmd(diffuse,Color.Black;diffusealpha,0.75;fadeleft,32/SCREEN_CENTER_X;faderight,32/SCREEN_CENTER_X); + }; +}; +-- +for i=1,#num_players do + local f = Def.ActorFrame { + InitCommand=cmd(x,-128+PositionItem(i,#num_players)); + UnchosenCommand=cmd(finishtweening;bounceend,0.25;zoom,1); + ChosenCommand=cmd(stoptweening;bouncebegin,0.3;zoom,0); + -- + StepsChosenMessageCommand=function( self, param ) + if param.Player ~= num_players[i] then return end; + self:playcommand("Chosen"); + end; + StepsUnchosenMessageCommand=function( self, param ) + if param.Player ~= num_players[i] then return end; + self:playcommand("Unchosen"); + end; + Def.Quad { + InitCommand=cmd(y,-35); + OnCommand=cmd(diffuse,PlayerColor(num_players[i]);shadowlength,1;linear,0.25;zoomtowidth,80;fadeleft,0.5;faderight,0.5); + }; + LoadFont("Common Bold") .. { + Text=ToEnumShortString(num_players[i]); + InitCommand=cmd(y,-48); + OnCommand=cmd(shadowlength,1;diffuse,PlayerColor(num_players[i])); + }; + LoadFont("Common Bold") .. { + Text="PRESS"; + InitCommand=cmd(y,-20); + OnCommand=cmd(shadowlength,1;pulse;effectmagnitude,1,1.125,1;effectperiod,0.5); + }; + LoadFont("Common Normal") .. { + Text="TO START"; + InitCommand=cmd(y,58); + OnCommand=cmd(shadowlength,1;zoom,0.75); + }; + }; + if GAMESTATE:GetCurrentGame():GetName() == "pump" then + local ns = num_players[i] == PLAYER_1 and RoutineSkinP1() or RoutineSkinP2() + f[#f+1] = LoadActor( NOTESKIN:GetPathForNoteSkin("Center","Tap",ns) ) .. { + InitCommand=cmd(y,20); + } + end + t[#t+1] = f; +end +-- Lock input for half a second so that players don't accidentally start a song +t[#t+1] = Def.Actor { + StartSelectingStepsMessageCommand=function() SCREENMAN:GetTopScreen():lockinput(0.5); end; +}; + +-- +t.InitCommand=cmd(Center;x,SCREEN_CENTER_X*1.5;diffusealpha,0); +t.StartSelectingStepsMessageCommand=cmd(linear,0.2;diffusealpha,1); +t.SongUnchosenMessageCommand=cmd(linear,0.2;diffusealpha,0); + + +return t; diff --git a/Themes/default/BGAnimations/ScreenSelectMusic underlay.lua b/Themes/legacy/BGAnimations/ScreenSelectMusic underlay.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenSelectMusic underlay.lua rename to Themes/legacy/BGAnimations/ScreenSelectMusic underlay.lua diff --git a/Themes/default/BGAnimations/ScreenSelectPlayMode underlay.lua b/Themes/legacy/BGAnimations/ScreenSelectPlayMode underlay.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenSelectPlayMode underlay.lua rename to Themes/legacy/BGAnimations/ScreenSelectPlayMode underlay.lua diff --git a/Themes/legacy/BGAnimations/ScreenSelectProfile overlay.lua b/Themes/legacy/BGAnimations/ScreenSelectProfile overlay.lua new file mode 100644 index 0000000000..f01a206f2e --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenSelectProfile overlay.lua @@ -0,0 +1,317 @@ +function GetLocalProfiles() + local ret = {}; + + for p = 0,PROFILEMAN:GetNumLocalProfiles()-1 do + local profile=PROFILEMAN:GetLocalProfileFromIndex(p); + local item = Def.ActorFrame { +--[[ Def.Quad { + InitCommand=cmd(zoomto,200,1;y,40/2); + OnCommand=cmd(diffuse,Color('Outline');); + }; --]] + LoadFont("Common Normal") .. { + Text=profile:GetDisplayName(); + InitCommand=cmd(shadowlength,1;y,-10;zoom,1;ztest,true); + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(shadowlength,1;y,8;zoom,0.5;vertspacing,-8;ztest,true); + BeginCommand=function(self) + local numSongsPlayed = profile:GetNumTotalSongsPlayed(); + local s = numSongsPlayed == 1 and "Song" or "Songs"; + self:settext( string.format(THEME:GetString("ScreenSelectProfile","%d "..s.." Played"),numSongsPlayed) ); + end; + }; + }; + table.insert( ret, item ); + end; + + return ret; +end; + +function LoadCard(cColor) + local t = Def.ActorFrame { + LoadActor( THEME:GetPathG("ScreenSelectProfile","CardBackground") ) .. { + InitCommand=cmd(diffuse,cColor); + }; + LoadActor( THEME:GetPathG("ScreenSelectProfile","CardFrame") ); + }; + return t +end +function LoadPlayerStuff(Player) + local ret = {}; + + local pn = (Player == PLAYER_1) and 1 or 2; + +--[[ local t = LoadActor(THEME:GetPathB('', '_frame 3x3'), 'metal', 200, 230) .. { + Name = 'BigFrame'; + }; --]] + local t = Def.ActorFrame { + Name = 'JoinFrame'; + LoadCard(Color('Orange')); +--[[ Def.Quad { + InitCommand=cmd(zoomto,200+4,230+4); + OnCommand=cmd(shadowlength,1;diffuse,color("0,0,0,0.5")); + }; + Def.Quad { + InitCommand=cmd(zoomto,200,230); + OnCommand=cmd(diffuse,Color('Orange');diffusealpha,0.5); + }; --]] + LoadFont("Common Normal") .. { + Text=THEME:GetString("ScreenSelectProfile","PressStart"); + InitCommand=cmd(shadowlength,1); + OnCommand=cmd(diffuseshift;effectcolor1,Color('White');effectcolor2,color("0.5,0.5,0.5")); + }; + }; + table.insert( ret, t ); + + t = Def.ActorFrame { + Name = 'BigFrame'; + LoadCard(PlayerColor(Player)); + }; + table.insert( ret, t ); + +--[[ t = LoadActor(THEME:GetPathB('', '_frame 3x3'), 'metal', 170, 20) .. { + Name = 'SmallFrame'; + }; --]] + t = Def.ActorFrame { + Name = 'SmallFrame'; +--[[ Def.Quad { + InitCommand=cmd(zoomto,170+4,32+4); + OnCommand=cmd(shadowlength,1); + }; --]] + InitCommand=cmd(y,-2); + Def.Quad { + InitCommand=cmd(zoomto,200-10,40+2); + OnCommand=cmd(diffuse,Color('Black');diffusealpha,0.5); + }; + Def.Quad { + InitCommand=cmd(zoomto,200-10,40); + 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); + OnCommand=cmd(diffuse,Color("Black");fadebottom,1;diffusealpha,0.35); + }; + Def.Quad { + InitCommand=cmd(zoomto,200-10,1;y,-40/2+1); + OnCommand=cmd(diffuse,PlayerColor(Player);glow,color("1,1,1,0.25")); + }; + }; + table.insert( ret, t ); + + t = Def.ActorScroller{ + Name = 'ProfileScroller'; + NumItemsToDraw=6; +-- InitCommand=cmd(y,-230/2+20;); + OnCommand=cmd(y,1;SetFastCatchup,true;SetMask,200,58;SetSecondsPerItem,0.15); + TransformFunction=function(self, offset, itemIndex, numItems) + local focus = scale(math.abs(offset),0,2,1,0); + self:visible(false); + self:y(math.floor( offset*40 )); +-- self:zoomy( focus ); +-- self:z(-math.abs(offset)); +-- self:zoom(focus); + end; + children = GetLocalProfiles(); + }; + table.insert( ret, t ); + + t = Def.ActorFrame { + Name = "EffectFrame"; + --[[ Def.Quad { + InitCommand=cmd(y,-230/2;vertalign,top;zoomto,200,8;fadebottom,1); + OnCommand=cmd(diffuse,Color("Black");diffusealpha,0.25); + }; + Def.Quad { + InitCommand=cmd(y,230/2;vertalign,bottom;zoomto,200,8;fadetop,1); + OnCommand=cmd(diffuse,Color("Black");diffusealpha,0.25); + }; --]] + }; + table.insert( ret, t ); +--[[ t = Def.BitmapText { + OnCommand = cmd(y,160); + Name = 'SelectedProfileText'; + Font = "Common Normal"; + Text = 'No profile'; + }; --]] + t = LoadFont("Common Normal") .. { + Name = 'SelectedProfileText'; + --InitCommand=cmd(y,160;shadowlength,1;diffuse,PlayerColor(Player)); + InitCommand=cmd(y,160;shadowlength,1;); + }; + table.insert( ret, t ); + + return ret; +end; + +function UpdateInternal3(self, Player) + local pn = (Player == PLAYER_1) and 1 or 2; + local frame = self:GetChild(string.format('P%uFrame', pn)); + local scroller = frame:GetChild('ProfileScroller'); + local seltext = frame:GetChild('SelectedProfileText'); + local joinframe = frame:GetChild('JoinFrame'); + local smallframe = frame:GetChild('SmallFrame'); + local bigframe = frame:GetChild('BigFrame'); + + if GAMESTATE:IsHumanPlayer(Player) then + frame:visible(true); + if MEMCARDMAN:GetCardState(Player) == 'MemoryCardState_none' then + --using profile if any + joinframe:visible(false); + smallframe:visible(true); + bigframe:visible(true); + seltext:visible(true); + scroller:visible(true); + local ind = SCREENMAN:GetTopScreen():GetProfileIndex(Player); + if ind > 0 then + scroller:SetDestinationItem(ind-1); + seltext:settext(PROFILEMAN:GetLocalProfileFromIndex(ind-1):GetDisplayName()); + else + if SCREENMAN:GetTopScreen():SetProfileIndex(Player, 1) then + scroller:SetDestinationItem(0); + self:queuecommand('UpdateInternal2'); + else + joinframe:visible(true); + smallframe:visible(false); + bigframe:visible(false); + scroller:visible(false); + seltext:settext('No profile'); + end; + end; + else + --using card + smallframe:visible(false); + scroller:visible(false); + seltext:settext('CARD'); + SCREENMAN:GetTopScreen():SetProfileIndex(Player, 0); + end; + else + joinframe:visible(true); + scroller:visible(false); + seltext:visible(false); + smallframe:visible(false); + bigframe:visible(false); + end; +end; + +-- Will be set to the main ActorFrame for the screen in its OnCommand. +local main_frame= false + +local function input(event) + if event.type == "InputEventType_Release" then return end + local pn= event.PlayerNumber + local code= event.GameButton + if not pn or not code then return end + local input_functions= { + Start= function() + MESSAGEMAN:Broadcast("StartButton") + if not GAMESTATE:IsHumanPlayer(pn) then + SCREENMAN:GetTopScreen():SetProfileIndex(pn, -1) + else + SCREENMAN:GetTopScreen():Finish() + end + end, + Back= function() + if GAMESTATE:GetNumPlayersEnabled()==0 then + SCREENMAN:GetTopScreen():Cancel() + else + MESSAGEMAN:Broadcast("BackButton") + SCREENMAN:GetTopScreen():SetProfileIndex(pn, -2) + end + end, + MenuUp= function() + if GAMESTATE:IsHumanPlayer(pn) then + local ind = SCREENMAN:GetTopScreen():GetProfileIndex(pn) + if ind > 1 then + if SCREENMAN:GetTopScreen():SetProfileIndex(pn, ind - 1) then + MESSAGEMAN:Broadcast("DirectionButton") + main_frame:queuecommand('UpdateInternal2') + end + end + end + end, + MenuDown= function() + if GAMESTATE:IsHumanPlayer(pn) then + local ind = SCREENMAN:GetTopScreen():GetProfileIndex(pn) + if ind > 0 then + if SCREENMAN:GetTopScreen():SetProfileIndex(pn, ind + 1) then + MESSAGEMAN:Broadcast("DirectionButton") + main_frame:queuecommand('UpdateInternal2') + end + end + end + end + } + input_functions.MenuLeft= input_functions.MenuUp + input_functions.MenuRight= input_functions.MenuDown + if input_functions[code] then + input_functions[code]() + end +end + +local t = Def.ActorFrame { + + StorageDevicesChangedMessageCommand=function(self, params) + self:queuecommand('UpdateInternal2'); + end; + + PlayerJoinedMessageCommand=function(self, params) + self:queuecommand('UpdateInternal2'); + end; + + PlayerUnjoinedMessageCommand=function(self, params) + self:queuecommand('UpdateInternal2'); + end; + + OnCommand=function(self, params) + main_frame= self:GetParent() + SCREENMAN:GetTopScreen():AddInputCallback(input) + self:queuecommand('UpdateInternal2'); + end; + + UpdateInternal2Command=function(self) + UpdateInternal3(self, PLAYER_1); + UpdateInternal3(self, PLAYER_2); + end; + + children = { + Def.ActorFrame { + Name = 'P1Frame'; + InitCommand=cmd(x,SCREEN_CENTER_X-160;y,SCREEN_CENTER_Y); + OnCommand=cmd(zoom,0;bounceend,0.35;zoom,1); + OffCommand=cmd(bouncebegin,0.35;zoom,0); + PlayerJoinedMessageCommand=function(self,param) + if param.Player == PLAYER_1 then + (cmd(;zoom,1.15;bounceend,0.175;zoom,1.0;))(self); + end; + end; + children = LoadPlayerStuff(PLAYER_1); + }; + Def.ActorFrame { + Name = 'P2Frame'; + InitCommand=cmd(x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y); + OnCommand=cmd(zoom,0;bounceend,0.35;zoom,1); + OffCommand=cmd(bouncebegin,0.35;zoom,0); + PlayerJoinedMessageCommand=function(self,param) + if param.Player == PLAYER_2 then + (cmd(zoom,1.15;bounceend,0.175;zoom,1.0;))(self); + end; + end; + children = LoadPlayerStuff(PLAYER_2); + }; + -- sounds + LoadActor( THEME:GetPathS("Common","start") )..{ + IsAction= true, + StartButtonMessageCommand=cmd(play); + }; + LoadActor( THEME:GetPathS("Common","cancel") )..{ + IsAction= true, + BackButtonMessageCommand=cmd(play); + }; + LoadActor( THEME:GetPathS("Common","value") )..{ + IsAction= true, + DirectionButtonMessageCommand=cmd(play); + }; + }; +}; + +return t; diff --git a/Themes/default/BGAnimations/ScreenSongOptions background.redir b/Themes/legacy/BGAnimations/ScreenSongOptions background.redir similarity index 100% rename from Themes/default/BGAnimations/ScreenSongOptions background.redir rename to Themes/legacy/BGAnimations/ScreenSongOptions background.redir diff --git a/Themes/default/Graphics/ScreenRanking course frame.redir b/Themes/legacy/BGAnimations/ScreenStageInformation out.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking course frame.redir rename to Themes/legacy/BGAnimations/ScreenStageInformation out.redir diff --git a/Themes/legacy/BGAnimations/ScreenStageInformation underlay/CourseDisplay.lua b/Themes/legacy/BGAnimations/ScreenStageInformation underlay/CourseDisplay.lua new file mode 100644 index 0000000000..e6d2d39cee --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenStageInformation underlay/CourseDisplay.lua @@ -0,0 +1,32 @@ +if not GAMESTATE:IsCourseMode() then return Def.ActorFrame{} end; -- short circuit +local course = GAMESTATE:GetCurrentCourse() + +local t = Def.ActorFrame{ + -- background + Def.Sprite{ + InitCommand=cmd(Center); + BeginCommand=function(self) + if course:GetBackgroundPath() then + self:Load( course:GetBackgroundPath() ) + else + -- default to the BG of the first song in the course + self:LoadFromCurrentSongBackground() + end + end; + OnCommand=cmd(diffusealpha,0;scale_or_crop_background;sleep,0.5;linear,0.50;diffusealpha,1;sleep,3); + }; + -- alternate background + Def.Sprite{ + InitCommand=cmd(Center;); + BeginCommand=cmd(LoadFromCurrentSongBackground;scale_or_crop_background;diffusealpha,0); + OnCommand=cmd(sleep,4;playcommand,"Show"); + ShowCommand=function(self) + if course:HasBackground() then + self:accelerate(0.25) + self:diffusealpha(1) + end + end; + }; +}; + +return t; \ No newline at end of file diff --git a/Themes/legacy/BGAnimations/ScreenStageInformation underlay/default.lua b/Themes/legacy/BGAnimations/ScreenStageInformation underlay/default.lua new file mode 100644 index 0000000000..47cb3e9638 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenStageInformation underlay/default.lua @@ -0,0 +1,92 @@ +local playMode = GAMESTATE:GetPlayMode() + +local sStage = "" +sStage = GAMESTATE:GetCurrentStage() + +if playMode ~= 'PlayMode_Regular' and playMode ~= 'PlayMode_Rave' and playMode ~= 'PlayMode_Battle' then + sStage = playMode; +end; + +local t = Def.ActorFrame {}; +t[#t+1] = Def.Quad { + InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;diffuse,Color("Black")); +}; +if GAMESTATE:IsCourseMode() then + t[#t+1] = LoadActor("CourseDisplay"); +else + t[#t+1] = Def.Sprite { + InitCommand=cmd(Center;diffusealpha,0); + BeginCommand=cmd(LoadFromCurrentSongBackground); + OnCommand=function(self) + self:scale_or_crop_background() + self:sleep(0.5) + self:linear(0.50) + self:diffusealpha(1) + self:sleep(3) + end; + }; +end + +local stage_num_actor= THEME:GetPathG("ScreenStageInformation", "Stage " .. ToEnumShortString(sStage), true) +if stage_num_actor ~= "" and FILEMAN:DoesFileExist(stage_num_actor) then + stage_num_actor= LoadActor(stage_num_actor) +else + -- Midiman: We need a "Stage Next" actor or something for stages after + -- the 6th. -Kyz + local curStage = GAMESTATE:GetCurrentStage(); + stage_num_actor= Def.BitmapText{ + Font= "Common Normal", Text= thified_curstage_index(false) .. " Stage", + InitCommand= function(self) + self:zoom(1.5) + self:strokecolor(Color.Black) + self:diffuse(StageToColor(curStage)); + self:diffusetopedge(ColorLightTone(StageToColor(curStage))); + end + } +end + +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y); + OnCommand=cmd(stoptweening;zoom,1.25;decelerate,3;zoom,1); + stage_num_actor .. { + OnCommand=cmd(diffusealpha,0;linear,0.25;diffusealpha,1;sleep,1.75;linear,0.5;zoomy,0;zoomx,2;diffusealpha,0); + }; +}; + +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+96); + OnCommand=cmd(stoptweening;addy,-16;decelerate,3;addy,16); + LoadFont("Common Normal") .. { + Text=GAMESTATE:IsCourseMode() and GAMESTATE:GetCurrentCourse():GetDisplayFullTitle() or GAMESTATE:GetCurrentSong():GetDisplayFullTitle(); + InitCommand=cmd(strokecolor,Color("Outline");y,-20); + OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); + }; + LoadFont("Common Normal") .. { + Text=GAMESTATE:IsCourseMode() and ToEnumShortString( GAMESTATE:GetCurrentCourse():GetCourseType() ) or GAMESTATE:GetCurrentSong():GetDisplayArtist(); + InitCommand=cmd(strokecolor,Color("Outline");zoom,0.75); + OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(strokecolor,Color("Outline");diffuse,Color("Orange");diffusebottomedge,Color("Yellow");zoom,0.75;y,20); + BeginCommand=function(self) + local text = ""; + local SongOrCourse; + if GAMESTATE:IsCourseMode() then + local trail = GAMESTATE:GetCurrentTrail(GAMESTATE:GetMasterPlayerNumber()); + SongOrCourse = GAMESTATE:GetCurrentCourse(); + if SongOrCourse:GetEstimatedNumStages() == 1 then + text = SongOrCourse:GetEstimatedNumStages() .." Stage / ".. SecondsToMSSMsMs( TrailUtil.GetTotalSeconds(trail) ); + else + text = SongOrCourse:GetEstimatedNumStages() .." Stages / ".. SecondsToMSSMsMs( TrailUtil.GetTotalSeconds(trail) ); + end + else + SongOrCourse = GAMESTATE:GetCurrentSong(); + text = SecondsToMSSMsMs( SongOrCourse:MusicLengthSeconds() ); + end; + self:settext(text); + end; + OnCommand=cmd(diffusealpha,0;linear,0.5;diffusealpha,1;sleep,1.5;linear,0.5;diffusealpha,0); + }; +}; + +return t diff --git a/Themes/default/BGAnimations/ScreenSystemLayer aux.lua b/Themes/legacy/BGAnimations/ScreenSystemLayer aux.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenSystemLayer aux.lua rename to Themes/legacy/BGAnimations/ScreenSystemLayer aux.lua diff --git a/Themes/default/BGAnimations/ScreenTextEntry underlay.redir b/Themes/legacy/BGAnimations/ScreenTextEntry underlay.redir similarity index 100% rename from Themes/default/BGAnimations/ScreenTextEntry underlay.redir rename to Themes/legacy/BGAnimations/ScreenTextEntry underlay.redir diff --git a/Themes/legacy/BGAnimations/ScreenTitleJoin decorations.lua b/Themes/legacy/BGAnimations/ScreenTitleJoin decorations.lua new file mode 100644 index 0000000000..65d556611d --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenTitleJoin decorations.lua @@ -0,0 +1,3 @@ +local t = LoadFallbackB(); +t[#t+1] = LoadActor( THEME:GetPathB("_Arcade","decorations") ); +return t \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenTitleJoin overlay.lua b/Themes/legacy/BGAnimations/ScreenTitleJoin overlay.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenTitleJoin overlay.lua rename to Themes/legacy/BGAnimations/ScreenTitleJoin overlay.lua diff --git a/Themes/legacy/BGAnimations/ScreenTitleMenu decorations.lua b/Themes/legacy/BGAnimations/ScreenTitleMenu decorations.lua new file mode 100644 index 0000000000..e942af2272 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenTitleMenu decorations.lua @@ -0,0 +1,34 @@ +InitUserPrefs(); + +local t = Def.ActorFrame {} + +t[#t+1] = StandardDecorationFromFileOptional("Footer","Footer"); +t[#t+1] = StandardDecorationFromFileOptional("Logo","Logo"); +t[#t+1] = StandardDecorationFromFileOptional("VersionInfo","VersionInfo"); +t[#t+1] = StandardDecorationFromFileOptional("CurrentGametype","CurrentGametype"); +t[#t+1] = StandardDecorationFromFileOptional("LifeDifficulty","LifeDifficulty"); +t[#t+1] = StandardDecorationFromFileOptional("TimingDifficulty","TimingDifficulty"); +t[#t+1] = StandardDecorationFromFileOptional("NetworkStatus","NetworkStatus"); +t[#t+1] = StandardDecorationFromFileOptional("SystemDirection","SystemDirection"); + +t[#t+1] = StandardDecorationFromFileOptional("NumSongs","NumSongs") .. { + SetCommand=function(self) + local InstalledSongs, AdditionalSongs, InstalledCourses, AdditionalCourses, Groups, Unlocked = 0; + if SONGMAN:GetRandomSong() then + InstalledSongs, AdditionalSongs, InstalledCourses, AdditionalCourses, Groups, Unlocked = + SONGMAN:GetNumSongs(), + SONGMAN:GetNumAdditionalSongs(), + SONGMAN:GetNumCourses(), + SONGMAN:GetNumAdditionalCourses(), + SONGMAN:GetNumSongGroups(), + SONGMAN:GetNumUnlockedSongs(); + else + return + end + + self:settextf(THEME:GetString("ScreenTitleMenu","%i Songs (%i Groups), %i Courses"), InstalledSongs, Groups, InstalledCourses); +-- self:settextf("%i (+%i) Songs (%i Groups), %i (+%i) Courses", InstalledSongs, AdditionalSongs, Groups, InstalledCourses, AdditionalCourses); + end; +}; + +return t diff --git a/Themes/default/BGAnimations/ScreenTitleMenu underlay/_bg.png b/Themes/legacy/BGAnimations/ScreenTitleMenu underlay/_bg.png similarity index 100% rename from Themes/default/BGAnimations/ScreenTitleMenu underlay/_bg.png rename to Themes/legacy/BGAnimations/ScreenTitleMenu underlay/_bg.png diff --git a/Themes/default/BGAnimations/ScreenTitleMenu underlay/default.lua b/Themes/legacy/BGAnimations/ScreenTitleMenu underlay/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenTitleMenu underlay/default.lua rename to Themes/legacy/BGAnimations/ScreenTitleMenu underlay/default.lua diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements aux.lua b/Themes/legacy/BGAnimations/ScreenWithMenuElements aux.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenWithMenuElements aux.lua rename to Themes/legacy/BGAnimations/ScreenWithMenuElements aux.lua diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/_bg top.png b/Themes/legacy/BGAnimations/ScreenWithMenuElements background/_bg top.png similarity index 100% rename from Themes/default/BGAnimations/ScreenWithMenuElements background/_bg top.png rename to Themes/legacy/BGAnimations/ScreenWithMenuElements background/_bg top.png diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/_checkerboard (stretch).png b/Themes/legacy/BGAnimations/ScreenWithMenuElements background/_checkerboard (stretch).png similarity index 100% rename from Themes/default/BGAnimations/ScreenWithMenuElements background/_checkerboard (stretch).png rename to Themes/legacy/BGAnimations/ScreenWithMenuElements background/_checkerboard (stretch).png diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/_grid.png b/Themes/legacy/BGAnimations/ScreenWithMenuElements background/_grid.png similarity index 100% rename from Themes/default/BGAnimations/ScreenWithMenuElements background/_grid.png rename to Themes/legacy/BGAnimations/ScreenWithMenuElements background/_grid.png diff --git a/Themes/legacy/BGAnimations/ScreenWithMenuElements background/_particle normal.png b/Themes/legacy/BGAnimations/ScreenWithMenuElements background/_particle normal.png new file mode 100644 index 0000000000..dce80615c0 Binary files /dev/null and b/Themes/legacy/BGAnimations/ScreenWithMenuElements background/_particle normal.png differ diff --git a/Themes/legacy/BGAnimations/ScreenWithMenuElements background/_particleLoader.lua b/Themes/legacy/BGAnimations/ScreenWithMenuElements background/_particleLoader.lua new file mode 100644 index 0000000000..e44c6cca0b --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenWithMenuElements background/_particleLoader.lua @@ -0,0 +1,74 @@ +local hideFancyElements = (ThemePrefs.Get("FancyUIBG") == false) +local t = Def.ActorFrame{}; +if hideFancyElements then return t; end + +local Params = { + NumParticles = 30, + VelocityXMin = 100, + VelocityXMax = 400, + VelocityYMin = 0, + VelocityYMax = 0, + VelocityZMin = 0, + VelocityZMax = 0, + BobRateZMin = 0.4, + BobRateZMax = 0.7, + ZoomMin = 0.5, + ZoomMax = 1, + SpinZ = 0, + BobZ = 52, + File = "_particle normal", +}; + +local tParticleInfo = {} + +for i=1,Params.NumParticles do + tParticleInfo[i] = { + X = math.random(Params.VelocityXMin, Params.VelocityXMax), + Y = Params.VelocityYMin ~= Params.VelocityYMax and math.random(Params.VelocityYMin, Params.VelocityYMax) or Params.VelocityYMin, + Z = Params.VelocityZMin ~= Params.VelocityZMax and math.random(Params.VelocityZMin, Params.VelocityZMax) or Params.VelocityZMin, + Zoom = math.random(Params.ZoomMin*1000,Params.ZoomMax*1000) / 1000, + BobZRate = math.random(Params.BobRateZMin*1000,Params.BobRateZMax*1000) / 1000, + Age = 0, + }; + t[#t+1] = LoadActor( Params.File )..{ + Name="Particle"..i; + InitCommand=function(self) + self:basezoom(tParticleInfo[i].Zoom); + self:x(math.random(SCREEN_LEFT+(self:GetWidth()/2),SCREEN_RIGHT-(self:GetWidth()/2))); + self:y(math.random(SCREEN_TOP+(self:GetHeight()/2),SCREEN_BOTTOM-(self:GetHeight()/2))); + --self:z(math.random(-64,0)); + end; + OnCommand=cmd(diffuse,ColorLightTone(color("#ffd400"));diffusealpha,0.8); + }; +end + +local function UpdateParticles(self,DeltaTime) + tParticles = self:GetChildren(); + for i=1, Params.NumParticles do + local p = tParticles["Particle"..i]; + local vX = tParticleInfo[i].X; + local vY = tParticleInfo[i].Y; + local vZ = tParticleInfo[i].Z; + tParticleInfo[i].Age = tParticleInfo[i].Age + DeltaTime; + p:x(p:GetX() + (vX * DeltaTime)); + p:y(p:GetY() + (vY * DeltaTime)); + p:z(p:GetZ() + (vZ * DeltaTime)); +-- p:zoom( 1 + math.cos( +-- (tParticleInfo[i].Age * math.pi*2) +-- ) * 0.125 ); + if p:GetX() > SCREEN_RIGHT + (p:GetWidth()/2 - p:GetZ()) then + p:x(SCREEN_LEFT - (p:GetWidth()/2)); + elseif p:GetX() < SCREEN_LEFT - (p:GetWidth()/2 - p:GetZ()) then + p:x(SCREEN_RIGHT + (p:GetWidth()/2)); + end + if p:GetY() > SCREEN_BOTTOM + (p:GetHeight()/2 - p:GetZ()) then + p:y(SCREEN_TOP - (p:GetHeight()/2)); + elseif p:GetY() < SCREEN_TOP - (p:GetHeight()/2 - p:GetZ()) then + p:y(SCREEN_BOTTOM + (p:GetHeight()/2)); + end + end; +end; + +t.InitCommand = cmd(fov,90;SetUpdateFunction,UpdateParticles); + +return t; diff --git a/Themes/legacy/BGAnimations/ScreenWithMenuElements background/default.lua b/Themes/legacy/BGAnimations/ScreenWithMenuElements background/default.lua new file mode 100644 index 0000000000..4b1e7bf815 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenWithMenuElements background/default.lua @@ -0,0 +1,35 @@ +local t = Def.ActorFrame {}; + +t[#t+1] = Def.ActorFrame { + FOV=90; + InitCommand=cmd(Center); + Def.Quad { + InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); + OnCommand=cmd(diffuse,color("#FFCB05");diffusebottomedge,color("#F0BA00")); + }; + Def.ActorFrame { + InitCommand=cmd(hide_if,hideFancyElements;); + LoadActor("_checkerboard") .. { + InitCommand=cmd(rotationy,0;rotationz,0;rotationx,-90/4*3.5;zoomto,SCREEN_WIDTH*2,SCREEN_HEIGHT*2;customtexturerect,0,0,SCREEN_WIDTH*4/256,SCREEN_HEIGHT*4/256); + OnCommand=cmd(texcoordvelocity,0,0.25;diffuse,color("#ffd400");fadetop,1); + }; + }; + LoadActor("_particleLoader") .. { + InitCommand=cmd(x,-SCREEN_CENTER_X;y,-SCREEN_CENTER_Y;hide_if,hideFancyElements;); + }; +--[[ LoadActor("_particles") .. { + InitCommand=cmd(x,-SCREEN_CENTER_X;y,-SCREEN_CENTER_Y); + }; --]] +--[[ LoadActor("_pattern") .. { + InitCommand=cmd(z,32;x,4;y,4;;rotationy,-12.25;rotationz,-30;rotationx,-20;zoomto,SCREEN_WIDTH*2,SCREEN_HEIGHT*2;customtexturerect,0,0,SCREEN_WIDTH*4/256,SCREEN_HEIGHT*4/256); + OnCommand=cmd(texcoordvelocity,0.125,0.5;diffuse,Color("Black");diffusealpha,0.5); + }; --]] + --[[ LoadActor("_grid") .. { + InitCommand=cmd(customtexturerect,0,0,(SCREEN_WIDTH+1)/4,SCREEN_HEIGHT/4;SetTextureFiltering,true); + OnCommand=cmd(zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT;diffuse,Color("Black");diffuseshift;effecttiming,(1/8)*2,0,(7/8)*2,0;effectclock,'beatnooffset'; + effectcolor2,Color("White");effectcolor1,Color("Black");fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480;blend,Blend.Add; + diffusealpha,0.155); + }; --]] +}; + +return t; diff --git a/Themes/legacy/BGAnimations/ScreenWithMenuElements decorations/default.lua b/Themes/legacy/BGAnimations/ScreenWithMenuElements decorations/default.lua new file mode 100644 index 0000000000..2339719651 --- /dev/null +++ b/Themes/legacy/BGAnimations/ScreenWithMenuElements decorations/default.lua @@ -0,0 +1,8 @@ +-- 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 = Def.ActorFrame {}; +t[#t+1] = StandardDecorationFromFileOptional("Header","Header"); +t[#t+1] = StandardDecorationFromFileOptional("Footer","Footer"); +t[#t+1] = StandardDecorationFromFileOptional( "Help", "Help" ); +return t \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements in/default.lua b/Themes/legacy/BGAnimations/ScreenWithMenuElements in/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenWithMenuElements in/default.lua rename to Themes/legacy/BGAnimations/ScreenWithMenuElements in/default.lua diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements out/default.lua b/Themes/legacy/BGAnimations/ScreenWithMenuElements out/default.lua similarity index 100% rename from Themes/default/BGAnimations/ScreenWithMenuElements out/default.lua rename to Themes/legacy/BGAnimations/ScreenWithMenuElements out/default.lua diff --git a/Themes/legacy/BGAnimations/_Arcade decorations/default.lua b/Themes/legacy/BGAnimations/_Arcade decorations/default.lua new file mode 100644 index 0000000000..af7aa3e9cc --- /dev/null +++ b/Themes/legacy/BGAnimations/_Arcade decorations/default.lua @@ -0,0 +1,31 @@ +local t = Def.ActorFrame {}; +t.InitCommand=function(self) + self:name("ArcadeOverlay") + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen") +end; +t[#t+1] = Def.ActorFrame { + Name="ArcadeOverlay.Text"; + InitCommand=function(self) + ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen") + end; + LoadActor(THEME:GetPathG("OptionRowExit","Frame")) .. { + InitCommand=cmd(diffuse,Color("Orange");diffusealpha,0.35); + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(zoom,0.75;shadowlength,1;glowshift;strokecolor,Color("Outline");diffuse,Color("Orange");diffusetopedge,Color("Yellow");textglowmode,'TextGlowMode_Inner'); + Text="..."; + OnCommand=cmd(playcommand,"Refresh"); + CoinInsertedMessageCommand=cmd(playcommand,"Refresh"); + CoinModeChangedMessageCommand=cmd(playcommand,"Refresh"); + RefreshCommand=function(self) + local bCanPlay = GAMESTATE:EnoughCreditsToJoin(); + local bReady = GAMESTATE:GetNumSidesJoined() > 0; + if bCanPlay or bReady then + self:settext(THEME:GetString("ScreenTitleJoin","HelpTextJoin")); + else + self:settext(THEME:GetString("ScreenTitleJoin","HelpTextWait")); + end + end; + }; +}; +return t \ No newline at end of file diff --git a/Themes/default/BGAnimations/_ScreenTitleMenu out/default.lua b/Themes/legacy/BGAnimations/_ScreenTitleMenu out/default.lua similarity index 100% rename from Themes/default/BGAnimations/_ScreenTitleMenu out/default.lua rename to Themes/legacy/BGAnimations/_ScreenTitleMenu out/default.lua diff --git a/Themes/legacy/BGAnimations/_frame 3x1/default.lua b/Themes/legacy/BGAnimations/_frame 3x1/default.lua new file mode 100644 index 0000000000..9673efba02 --- /dev/null +++ b/Themes/legacy/BGAnimations/_frame 3x1/default.lua @@ -0,0 +1,12 @@ +local File, Width = ... +assert( File ); +assert( Width ); + +local FullFile = THEME:GetPathB('','_frame files 3x1/'..File ) +local Frame = LoadActor( FullFile ) + +return Def.ActorFrame { + Frame .. { InitCommand=cmd(setstate,0;pause;horizalign,right;x,-Width/2) }; + Frame .. { InitCommand=cmd(setstate,1;pause;zoomtowidth,Width) }; + Frame .. { InitCommand=cmd(setstate,2;pause;horizalign,left;x,Width/2) }; +}; diff --git a/Themes/legacy/BGAnimations/_frame 3x3/default.lua b/Themes/legacy/BGAnimations/_frame 3x3/default.lua new file mode 100644 index 0000000000..be645fc354 --- /dev/null +++ b/Themes/legacy/BGAnimations/_frame 3x3/default.lua @@ -0,0 +1,18 @@ +local File, Width, Height = ... +assert( File ); +assert( Width ); +assert( Height ); + +local FullFile = THEME:GetPathB('','_frame files 3x3/'..File ) +local Frame = LoadActor( FullFile ) +return Def.ActorFrame { + Frame .. { InitCommand=cmd(setstate,0;pause;horizalign,right;vertalign,bottom;x,-Width/2;y,-Height/2) }; + Frame .. { InitCommand=cmd(setstate,1;pause;zoomtowidth,Width;vertalign,bottom;zoomtowidth,Width;y,-Height/2) }; + Frame .. { InitCommand=cmd(setstate,2;pause;horizalign,left;vertalign,bottom;x,Width/2;y,-Height/2) }; + Frame .. { InitCommand=cmd(setstate,3;pause;horizalign,right;x,-Width/2;zoomtoheight,Height) }; + Frame .. { InitCommand=cmd(setstate,4;pause;zoomtowidth,Width;zoomtoheight,Height) }; + Frame .. { InitCommand=cmd(setstate,5;pause;horizalign,left;x,Width/2;zoomtoheight,Height) }; + Frame .. { InitCommand=cmd(setstate,6;pause;horizalign,right;vertalign,top;x,-Width/2;y,Height/2) }; + Frame .. { InitCommand=cmd(setstate,7;pause;zoomtowidth,Width;vertalign,top;zoomtowidth,Width;y,Height/2) }; + Frame .. { InitCommand=cmd(setstate,8;pause;horizalign,left;vertalign,top;x,Width/2;y,Height/2) }; +}; diff --git a/Themes/legacy/BGAnimations/_frame cursors/rounded fill.png b/Themes/legacy/BGAnimations/_frame cursors/rounded fill.png new file mode 100644 index 0000000000..37cbb834a5 Binary files /dev/null and b/Themes/legacy/BGAnimations/_frame cursors/rounded fill.png differ diff --git a/Themes/legacy/BGAnimations/_frame cursors/rounded gloss.png b/Themes/legacy/BGAnimations/_frame cursors/rounded gloss.png new file mode 100644 index 0000000000..1757e4c9ea Binary files /dev/null and b/Themes/legacy/BGAnimations/_frame cursors/rounded gloss.png differ diff --git a/Themes/legacy/BGAnimations/_frame cursors/rounded white.png b/Themes/legacy/BGAnimations/_frame cursors/rounded white.png new file mode 100644 index 0000000000..0c75dcb089 Binary files /dev/null and b/Themes/legacy/BGAnimations/_frame cursors/rounded white.png differ diff --git a/Themes/legacy/BGAnimations/_frame files 3x1/rounded fill 3x1.png b/Themes/legacy/BGAnimations/_frame files 3x1/rounded fill 3x1.png new file mode 100644 index 0000000000..37cbb834a5 Binary files /dev/null and b/Themes/legacy/BGAnimations/_frame files 3x1/rounded fill 3x1.png differ diff --git a/Themes/legacy/BGAnimations/_frame files 3x1/rounded gloss 3x1.png b/Themes/legacy/BGAnimations/_frame files 3x1/rounded gloss 3x1.png new file mode 100644 index 0000000000..1757e4c9ea Binary files /dev/null and b/Themes/legacy/BGAnimations/_frame files 3x1/rounded gloss 3x1.png differ diff --git a/Themes/default/BGAnimations/old ScreenWithMenuElements background/default.lua b/Themes/legacy/BGAnimations/old ScreenWithMenuElements background/default.lua similarity index 100% rename from Themes/default/BGAnimations/old ScreenWithMenuElements background/default.lua rename to Themes/legacy/BGAnimations/old ScreenWithMenuElements background/default.lua diff --git a/Themes/legacy/Fonts/Combo Numbers.redir b/Themes/legacy/Fonts/Combo Numbers.redir new file mode 100644 index 0000000000..850035f6f4 --- /dev/null +++ b/Themes/legacy/Fonts/Combo Numbers.redir @@ -0,0 +1 @@ +_roboto Bold 54px \ No newline at end of file diff --git a/Themes/legacy/Fonts/Common Large.redir b/Themes/legacy/Fonts/Common Large.redir new file mode 100644 index 0000000000..0065081912 --- /dev/null +++ b/Themes/legacy/Fonts/Common Large.redir @@ -0,0 +1 @@ +_open sans semibold 48px \ No newline at end of file diff --git a/Themes/legacy/Fonts/MenuTimerContinue numbers.redir b/Themes/legacy/Fonts/MenuTimerContinue numbers.redir new file mode 100644 index 0000000000..7dee04edd0 --- /dev/null +++ b/Themes/legacy/Fonts/MenuTimerContinue numbers.redir @@ -0,0 +1 @@ +_roboto Bold 80px \ No newline at end of file diff --git a/Themes/legacy/Fonts/ScreenDebugOverlay header.redir b/Themes/legacy/Fonts/ScreenDebugOverlay header.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/legacy/Fonts/ScreenDebugOverlay header.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/legacy/Fonts/ScreenDebugOverlay line.redir b/Themes/legacy/Fonts/ScreenDebugOverlay line.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/legacy/Fonts/ScreenDebugOverlay line.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/legacy/Fonts/ScreenDebugOverlay page.redir b/Themes/legacy/Fonts/ScreenDebugOverlay page.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/legacy/Fonts/ScreenDebugOverlay page.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/legacy/Fonts/ScreenGameplay SongTitle.redir b/Themes/legacy/Fonts/ScreenGameplay SongTitle.redir new file mode 100644 index 0000000000..5c6053f7f1 --- /dev/null +++ b/Themes/legacy/Fonts/ScreenGameplay SongTitle.redir @@ -0,0 +1 @@ +Common Normal \ No newline at end of file diff --git a/Themes/legacy/Fonts/ScreenGameplay survive time.redir b/Themes/legacy/Fonts/ScreenGameplay survive time.redir new file mode 100644 index 0000000000..4bd4ffc7fb --- /dev/null +++ b/Themes/legacy/Fonts/ScreenGameplay survive time.redir @@ -0,0 +1 @@ +Combo Numbers \ No newline at end of file diff --git a/Themes/legacy/Fonts/_open sans semibold 48px [alt-stroke] 10x10.png b/Themes/legacy/Fonts/_open sans semibold 48px [alt-stroke] 10x10.png new file mode 100644 index 0000000000..41c8a76970 Binary files /dev/null and b/Themes/legacy/Fonts/_open sans semibold 48px [alt-stroke] 10x10.png differ diff --git a/Themes/legacy/Fonts/_open sans semibold 48px [alt] 10x10.png b/Themes/legacy/Fonts/_open sans semibold 48px [alt] 10x10.png new file mode 100644 index 0000000000..aeacd46c89 Binary files /dev/null and b/Themes/legacy/Fonts/_open sans semibold 48px [alt] 10x10.png differ diff --git a/Themes/legacy/Fonts/_open sans semibold 48px [main-stroke] 15x15.png b/Themes/legacy/Fonts/_open sans semibold 48px [main-stroke] 15x15.png new file mode 100644 index 0000000000..66551d50fc Binary files /dev/null and b/Themes/legacy/Fonts/_open sans semibold 48px [main-stroke] 15x15.png differ diff --git a/Themes/legacy/Fonts/_open sans semibold 48px [main] 15x15.png b/Themes/legacy/Fonts/_open sans semibold 48px [main] 15x15.png new file mode 100644 index 0000000000..dd66a2827c Binary files /dev/null and b/Themes/legacy/Fonts/_open sans semibold 48px [main] 15x15.png differ diff --git a/Themes/legacy/Fonts/_open sans semibold 48px.ini b/Themes/legacy/Fonts/_open sans semibold 48px.ini new file mode 100644 index 0000000000..455bb7b790 --- /dev/null +++ b/Themes/legacy/Fonts/_open sans semibold 48px.ini @@ -0,0 +1,352 @@ +[common] +Baseline=54 +Top=20 +LineSpacing=65 +DrawExtraPixelsLeft=4 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[main] +Line 0= !"#$%&'()*+,-. +Line 1=/0123456789:;<= +Line 2=>?@ABCDEFGHIJKL +Line 3=MNOPQRSTUVWXYZ[ +Line 4=\]^_`abcdefghij +Line 5=klmnopqrstuvwxy +Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š +Line 7=‹ŒŽ‘’“â€â€¢â€“—˜™š›œ +Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬ +Line 9=­®¯°±²³´µ¶·¸¹º» +Line 10=¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊ +Line 11=ËÌÃÃŽÃÃÑÒÓÔÕÖרÙ +Line 12=ÚÛÜÃÞßàáâãäåæçè +Line 13=éêëìíîïðñòóôõö÷ +Line 14=øùúûüýþÿ + +0=12 +1=13 +2=21 +3=31 +4=27 +5=41 +6=36 +7=12 +8=15 +9=15 +10=26 +11=27 +12=13 +13=15 +14=13 +15=19 +16=27 +17=27 +18=27 +19=27 +20=27 +21=27 +22=27 +23=27 +24=27 +25=27 +26=13 +27=13 +28=27 +29=27 +30=27 +31=22 +32=43 +33=32 +34=32 +35=30 +36=35 +37=27 +38=26 +39=35 +40=36 +41=15 +42=14 +43=31 +44=26 +45=44 +46=38 +47=38 +48=30 +49=38 +50=31 +51=26 +52=27 +53=36 +54=30 +55=45 +56=30 +57=28 +58=28 +59=16 +60=19 +61=16 +62=26 +63=21 +64=28 +65=28 +66=30 +67=24 +68=30 +69=28 +70=17 +71=27 +72=30 +73=13 +74=13 +75=27 +76=13 +77=46 +78=30 +79=29 +80=30 +81=30 +82=21 +83=23 +84=19 +85=30 +86=26 +87=39 +88=26 +89=26 +90=23 +91=19 +92=26 +93=18 +94=27 +95=28 +96=13 +97=28 +98=22 +99=39 +100=24 +101=25 +102=29 +103=60 +104=26 +105=16 +106=46 +107=28 +108=9 +109=9 +110=19 +111=19 +112=18 +113=24 +114=48 +115=29 +116=37 +117=23 +118=16 +119=46 +120=23 +121=28 +122=12 +123=13 +124=27 +125=27 +126=27 +127=27 +128=26 +129=24 +130=28 +131=40 +132=18 +133=27 +134=27 +135=15 +136=40 +137=24 +138=21 +139=27 +140=17 +141=17 +142=28 +143=31 +144=31 +145=13 +146=10 +147=17 +148=18 +149=27 +150=40 +151=40 +152=40 +153=22 +154=32 +155=32 +156=32 +157=32 +158=32 +159=32 +160=44 +161=30 +162=27 +163=27 +164=27 +165=27 +166=15 +167=15 +168=15 +169=15 +170=35 +171=38 +172=38 +173=38 +174=38 +175=38 +176=38 +177=27 +178=38 +179=36 +180=36 +181=36 +182=36 +183=28 +184=30 +185=32 +186=28 +187=28 +188=28 +189=28 +190=28 +191=28 +192=43 +193=24 +194=28 +195=28 +196=28 +197=28 +198=13 +199=13 +200=13 +201=13 +202=29 +203=30 +204=29 +205=29 +206=29 +207=29 +208=29 +209=27 +210=29 +211=30 +212=30 +213=30 +214=30 +215=26 +216=30 +217=26 + +[alt] +Line 0= Ą˘Å¤ĽŚ§¨Š +Line 1=ŞŤŹ­ŽŻ°ą˛ł +Line 2=Â´Ä¾Å›Ë‡Â¸Å¡ÅŸÅ¥ÅºË +Line 3=žżŔÃÂĂÄĹĆÇ +Line 4=ČÉĘËĚÃÃŽÄŽÄŃ +Line 5=ŇÓÔÅÖ×ŘŮÚŰ +Line 6=ÜÃŢßŕáâăäĺ +Line 7=ćçÄÃ©Ä™Ã«Ä›Ã­Ã®Ä +Line 8=đńňóôőö÷řů +Line 9=úűüýţ˙ + +0=12 +1=32 +2=29 +3=26 +4=27 +5=26 +6=26 +7=24 +8=28 +9=26 +10=26 +11=27 +12=28 +13=15 +14=28 +15=28 +16=21 +17=28 +18=10 +19=14 +20=28 +21=13 +22=23 +23=29 +24=10 +25=23 +26=23 +27=19 +28=23 +29=28 +30=23 +31=23 +32=31 +33=32 +34=32 +35=32 +36=32 +37=26 +38=30 +39=30 +40=30 +41=27 +42=27 +43=27 +44=27 +45=15 +46=15 +47=35 +48=35 +49=38 +50=38 +51=38 +52=38 +53=38 +54=38 +55=27 +56=31 +57=36 +58=36 +59=36 +60=36 +61=28 +62=27 +63=32 +64=21 +65=28 +66=28 +67=28 +68=28 +69=13 +70=24 +71=24 +72=24 +73=28 +74=28 +75=28 +76=28 +77=13 +78=13 +79=30 +80=30 +81=30 +82=30 +83=29 +84=29 +85=29 +86=29 +87=27 +88=21 +89=30 +90=30 +91=30 +92=30 +93=26 +94=19 +95=13 diff --git a/Themes/legacy/Fonts/_roboto Bold 54px [numbers-stroke] 4x5 (doubleres).png b/Themes/legacy/Fonts/_roboto Bold 54px [numbers-stroke] 4x5 (doubleres).png new file mode 100644 index 0000000000..7ded4a1609 Binary files /dev/null and b/Themes/legacy/Fonts/_roboto Bold 54px [numbers-stroke] 4x5 (doubleres).png differ diff --git a/Themes/legacy/Fonts/_roboto Bold 54px [numbers] 4x5 (doubleres).png b/Themes/legacy/Fonts/_roboto Bold 54px [numbers] 4x5 (doubleres).png new file mode 100644 index 0000000000..ca7d3c42ce Binary files /dev/null and b/Themes/legacy/Fonts/_roboto Bold 54px [numbers] 4x5 (doubleres).png differ diff --git a/Themes/legacy/Fonts/_roboto Bold 54px.ini b/Themes/legacy/Fonts/_roboto Bold 54px.ini new file mode 100644 index 0000000000..e10b319c57 --- /dev/null +++ b/Themes/legacy/Fonts/_roboto Bold 54px.ini @@ -0,0 +1,35 @@ +[common] +Baseline=54 +Top=14 +LineSpacing=66 +DrawExtraPixelsLeft=3 +DrawExtraPixelsRight=3 +AdvanceExtraPixels=0 + +[numbers] +Line 0=0123 +Line 1=4567 +Line 2=89%. +Line 3= :x, +Line 4=-+ab + +0=31 +1=31 +2=31 +3=31 +4=31 +5=31 +6=31 +7=31 +8=31 +9=31 +10=40 +11=16 +12=13 +13=15 +14=28 +15=15 +16=23 +17=23 +18=0 +19=0 diff --git a/Themes/legacy/Fonts/_roboto Bold 80px [numbers-stroke] 4x4.png b/Themes/legacy/Fonts/_roboto Bold 80px [numbers-stroke] 4x4.png new file mode 100644 index 0000000000..0110fd7bc9 Binary files /dev/null and b/Themes/legacy/Fonts/_roboto Bold 80px [numbers-stroke] 4x4.png differ diff --git a/Themes/legacy/Fonts/_roboto Bold 80px [numbers] 4x4.png b/Themes/legacy/Fonts/_roboto Bold 80px [numbers] 4x4.png new file mode 100644 index 0000000000..3d13b7962c Binary files /dev/null and b/Themes/legacy/Fonts/_roboto Bold 80px [numbers] 4x4.png differ diff --git a/Themes/legacy/Fonts/_roboto Bold 80px.ini b/Themes/legacy/Fonts/_roboto Bold 80px.ini new file mode 100644 index 0000000000..ccffcac272 --- /dev/null +++ b/Themes/legacy/Fonts/_roboto Bold 80px.ini @@ -0,0 +1,30 @@ +[common] +Baseline=66 +Top=28 +LineSpacing=106 +DrawExtraPixelsLeft=0 +DrawExtraPixelsRight=0 +AdvanceExtraPixels=0 + +[numbers] +Line 0=0123 +Line 1=4567 +Line 2=89%. +Line 3= :x, + +0=46 +1=46 +2=46 +3=46 +4=46 +5=46 +6=46 +7=46 +8=46 +9=46 +10=59 +11=23 +12=20 +13=23 +14=41 +15=21 diff --git a/Themes/default/Graphics/Banner all music.png b/Themes/legacy/Graphics/Banner all music.png similarity index 100% rename from Themes/default/Graphics/Banner all music.png rename to Themes/legacy/Graphics/Banner all music.png diff --git a/Themes/default/Graphics/Banner mode.png b/Themes/legacy/Graphics/Banner mode.png similarity index 100% rename from Themes/default/Graphics/Banner mode.png rename to Themes/legacy/Graphics/Banner mode.png diff --git a/Themes/legacy/Graphics/Banner random.png b/Themes/legacy/Graphics/Banner random.png new file mode 100644 index 0000000000..2a19b14c37 Binary files /dev/null and b/Themes/legacy/Graphics/Banner random.png differ diff --git a/Themes/legacy/Graphics/Banner roulette.png b/Themes/legacy/Graphics/Banner roulette.png new file mode 100644 index 0000000000..aa6116cb21 Binary files /dev/null and b/Themes/legacy/Graphics/Banner roulette.png differ diff --git a/Themes/default/Graphics/CDTitle Con.png b/Themes/legacy/Graphics/CDTitle Con.png similarity index 100% rename from Themes/default/Graphics/CDTitle Con.png rename to Themes/legacy/Graphics/CDTitle Con.png diff --git a/Themes/legacy/Graphics/CombinedLifeMeterTug frame.lua b/Themes/legacy/Graphics/CombinedLifeMeterTug frame.lua new file mode 100644 index 0000000000..0d9a822490 --- /dev/null +++ b/Themes/legacy/Graphics/CombinedLifeMeterTug frame.lua @@ -0,0 +1,3 @@ +return LoadActor(THEME:GetPathG("_combined","life frame"))..{ + InitCommand=cmd(diffuse,PlayerColor(PLAYER_1);diffuserightedge,PlayerColor(PLAYER_2)); +}; \ No newline at end of file diff --git a/Themes/legacy/Graphics/CombinedLifeMeterTug separator.redir b/Themes/legacy/Graphics/CombinedLifeMeterTug separator.redir new file mode 100644 index 0000000000..65de2f434b --- /dev/null +++ b/Themes/legacy/Graphics/CombinedLifeMeterTug separator.redir @@ -0,0 +1 @@ +_CombinedLifeMeterTug separator \ No newline at end of file diff --git a/Themes/legacy/Graphics/CombinedLifeMeterTug stream p1.png b/Themes/legacy/Graphics/CombinedLifeMeterTug stream p1.png new file mode 100644 index 0000000000..c3aa1afcc1 Binary files /dev/null and b/Themes/legacy/Graphics/CombinedLifeMeterTug stream p1.png differ diff --git a/Themes/legacy/Graphics/CombinedLifeMeterTug stream p2.png b/Themes/legacy/Graphics/CombinedLifeMeterTug stream p2.png new file mode 100644 index 0000000000..6822b93dd8 Binary files /dev/null and b/Themes/legacy/Graphics/CombinedLifeMeterTug stream p2.png differ diff --git a/Themes/default/Graphics/ScreenRanking song frame.redir b/Themes/legacy/Graphics/CombinedLifeMeterTug tip p1.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking song frame.redir rename to Themes/legacy/Graphics/CombinedLifeMeterTug tip p1.redir diff --git a/Themes/default/Graphics/ScreenSelectMusic fallback cdtitle.redir b/Themes/legacy/Graphics/CombinedLifeMeterTug tip p2.redir similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic fallback cdtitle.redir rename to Themes/legacy/Graphics/CombinedLifeMeterTug tip p2.redir diff --git a/Themes/legacy/Graphics/Combo 1000milestone/default.lua b/Themes/legacy/Graphics/Combo 1000milestone/default.lua new file mode 100644 index 0000000000..80789ecc72 --- /dev/null +++ b/Themes/legacy/Graphics/Combo 1000milestone/default.lua @@ -0,0 +1,12 @@ +return Def.ActorFrame { + FOV=90; +--[[ LoadActor("shot") .. { + InitCommand=cmd(diffusealpha,0;zoom,2;blend,'BlendMode_Add'); + MilestoneCommand=cmd(diffusealpha,0.75;rotationz,0;accelerate,2.5;diffusealpha,0;rotationz,360;zoom,2.5); + }; --]] +--[[ LoadActor("shot") .. { + InitCommand=cmd(diffusealpha,0;zoom,2;zoomx,-2;blend,'BlendMode_Add'); + MilestoneCommand=cmd(diffusealpha,0.75;rotationz,-360;x,0;linear,2.5;diffusealpha,0;rotationz,0;zoom,2.5); + }; --]] + LoadActor(THEME:GetPathG("Combo","100Milestone")); +}; diff --git a/Themes/legacy/Graphics/Combo 1000milestone/shot.png b/Themes/legacy/Graphics/Combo 1000milestone/shot.png new file mode 100644 index 0000000000..fbfbc3e3e2 Binary files /dev/null and b/Themes/legacy/Graphics/Combo 1000milestone/shot.png differ diff --git a/Themes/legacy/Graphics/Combo 100milestone/default.lua b/Themes/legacy/Graphics/Combo 100milestone/default.lua new file mode 100644 index 0000000000..2e72062aca --- /dev/null +++ b/Themes/legacy/Graphics/Combo 100milestone/default.lua @@ -0,0 +1,11 @@ +local ShowFlashyCombo = ThemePrefs.Get("FlashyCombo") +return Def.ActorFrame { + LoadActor("explosion") .. { + InitCommand=cmd(diffusealpha,0;blend,'BlendMode_Add';hide_if,not ShowFlashyCombo); + MilestoneCommand=cmd(rotationz,0;zoom,2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1.75;diffusealpha,0); + }; + LoadActor("explosion") .. { + InitCommand=cmd(diffusealpha,0;blend,'BlendMode_Add';hide_if,not ShowFlashyCombo); + MilestoneCommand=cmd(rotationz,0;zoom,2;diffusealpha,0.5;linear,0.5;rotationz,-90;zoom,2.5;diffusealpha,0); + }; +}; \ No newline at end of file diff --git a/Themes/legacy/Graphics/Combo 100milestone/explosion.png b/Themes/legacy/Graphics/Combo 100milestone/explosion.png new file mode 100644 index 0000000000..8364e4de51 Binary files /dev/null and b/Themes/legacy/Graphics/Combo 100milestone/explosion.png differ diff --git a/Themes/default/Graphics/ComboGraph Backing (doubleres).png b/Themes/legacy/Graphics/ComboGraph Backing (doubleres).png similarity index 100% rename from Themes/default/Graphics/ComboGraph Backing (doubleres).png rename to Themes/legacy/Graphics/ComboGraph Backing (doubleres).png diff --git a/Themes/default/Graphics/ComboGraph ComboNumber.lua b/Themes/legacy/Graphics/ComboGraph ComboNumber.lua similarity index 100% rename from Themes/default/Graphics/ComboGraph ComboNumber.lua rename to Themes/legacy/Graphics/ComboGraph ComboNumber.lua diff --git a/Themes/default/Graphics/ComboGraph MaxCombo (doubleres).png b/Themes/legacy/Graphics/ComboGraph MaxCombo (doubleres).png similarity index 100% rename from Themes/default/Graphics/ComboGraph MaxCombo (doubleres).png rename to Themes/legacy/Graphics/ComboGraph MaxCombo (doubleres).png diff --git a/Themes/default/Graphics/ComboGraph NormalCombo (doubleres).png b/Themes/legacy/Graphics/ComboGraph NormalCombo (doubleres).png similarity index 100% rename from Themes/default/Graphics/ComboGraph NormalCombo (doubleres).png rename to Themes/legacy/Graphics/ComboGraph NormalCombo (doubleres).png diff --git a/Themes/legacy/Graphics/Common fallback background.png b/Themes/legacy/Graphics/Common fallback background.png new file mode 100644 index 0000000000..335bd214fb Binary files /dev/null and b/Themes/legacy/Graphics/Common fallback background.png differ diff --git a/Themes/legacy/Graphics/Common fallback banner.png b/Themes/legacy/Graphics/Common fallback banner.png new file mode 100644 index 0000000000..45098f5999 Binary files /dev/null and b/Themes/legacy/Graphics/Common fallback banner.png differ diff --git a/Themes/legacy/Graphics/Common splash.png b/Themes/legacy/Graphics/Common splash.png new file mode 100644 index 0000000000..3b425e3249 Binary files /dev/null and b/Themes/legacy/Graphics/Common splash.png differ diff --git a/Themes/legacy/Graphics/Common window icon.png b/Themes/legacy/Graphics/Common window icon.png new file mode 100644 index 0000000000..4a68593c5d Binary files /dev/null and b/Themes/legacy/Graphics/Common window icon.png differ diff --git a/Themes/legacy/Graphics/CourseEntryDisplay bar.png b/Themes/legacy/Graphics/CourseEntryDisplay bar.png new file mode 100644 index 0000000000..af0e0f7a8b Binary files /dev/null and b/Themes/legacy/Graphics/CourseEntryDisplay bar.png differ diff --git a/Themes/default/Graphics/DualScrollBar thumb p1.png b/Themes/legacy/Graphics/DualScrollBar thumb p1.png similarity index 100% rename from Themes/default/Graphics/DualScrollBar thumb p1.png rename to Themes/legacy/Graphics/DualScrollBar thumb p1.png diff --git a/Themes/default/Graphics/DualScrollBar thumb p2.png b/Themes/legacy/Graphics/DualScrollBar thumb p2.png similarity index 100% rename from Themes/default/Graphics/DualScrollBar thumb p2.png rename to Themes/legacy/Graphics/DualScrollBar thumb p2.png diff --git a/Themes/default/Graphics/EditMenu Left 1x8.png b/Themes/legacy/Graphics/EditMenu Left 1x8.png similarity index 100% rename from Themes/default/Graphics/EditMenu Left 1x8.png rename to Themes/legacy/Graphics/EditMenu Left 1x8.png diff --git a/Themes/default/Graphics/EditMenu Right.lua b/Themes/legacy/Graphics/EditMenu Right.lua similarity index 100% rename from Themes/default/Graphics/EditMenu Right.lua rename to Themes/legacy/Graphics/EditMenu Right.lua diff --git a/Themes/default/Graphics/GradeDisplayEval Failed.png b/Themes/legacy/Graphics/GradeDisplayEval Failed.png similarity index 100% rename from Themes/default/Graphics/GradeDisplayEval Failed.png rename to Themes/legacy/Graphics/GradeDisplayEval Failed.png diff --git a/Themes/default/Graphics/GradeDisplayEval Tier01.png b/Themes/legacy/Graphics/GradeDisplayEval Tier01.png similarity index 100% rename from Themes/default/Graphics/GradeDisplayEval Tier01.png rename to Themes/legacy/Graphics/GradeDisplayEval Tier01.png diff --git a/Themes/default/Graphics/GradeDisplayEval Tier02.png b/Themes/legacy/Graphics/GradeDisplayEval Tier02.png similarity index 100% rename from Themes/default/Graphics/GradeDisplayEval Tier02.png rename to Themes/legacy/Graphics/GradeDisplayEval Tier02.png diff --git a/Themes/default/Graphics/GradeDisplayEval Tier03.png b/Themes/legacy/Graphics/GradeDisplayEval Tier03.png similarity index 100% rename from Themes/default/Graphics/GradeDisplayEval Tier03.png rename to Themes/legacy/Graphics/GradeDisplayEval Tier03.png diff --git a/Themes/default/Graphics/GradeDisplayEval Tier04.png b/Themes/legacy/Graphics/GradeDisplayEval Tier04.png similarity index 100% rename from Themes/default/Graphics/GradeDisplayEval Tier04.png rename to Themes/legacy/Graphics/GradeDisplayEval Tier04.png diff --git a/Themes/default/Graphics/GradeDisplayEval Tier05.png b/Themes/legacy/Graphics/GradeDisplayEval Tier05.png similarity index 100% rename from Themes/default/Graphics/GradeDisplayEval Tier05.png rename to Themes/legacy/Graphics/GradeDisplayEval Tier05.png diff --git a/Themes/default/Graphics/GradeDisplayEval Tier06.png b/Themes/legacy/Graphics/GradeDisplayEval Tier06.png similarity index 100% rename from Themes/default/Graphics/GradeDisplayEval Tier06.png rename to Themes/legacy/Graphics/GradeDisplayEval Tier06.png diff --git a/Themes/default/Graphics/GradeDisplayEval Tier07.png b/Themes/legacy/Graphics/GradeDisplayEval Tier07.png similarity index 100% rename from Themes/default/Graphics/GradeDisplayEval Tier07.png rename to Themes/legacy/Graphics/GradeDisplayEval Tier07.png diff --git a/Themes/default/Graphics/ScreenSelectmusic score frame p1.redir b/Themes/legacy/Graphics/GraphDisplay SongBoundary.redir similarity index 100% rename from Themes/default/Graphics/ScreenSelectmusic score frame p1.redir rename to Themes/legacy/Graphics/GraphDisplay SongBoundary.redir diff --git a/Themes/default/Graphics/GraphDisplay backing.png b/Themes/legacy/Graphics/GraphDisplay backing.png similarity index 100% rename from Themes/default/Graphics/GraphDisplay backing.png rename to Themes/legacy/Graphics/GraphDisplay backing.png diff --git a/Themes/default/Graphics/ScreenSelectmusic score frame p2.redir b/Themes/legacy/Graphics/GraphDisplay barely.redir similarity index 100% rename from Themes/default/Graphics/ScreenSelectmusic score frame p2.redir rename to Themes/legacy/Graphics/GraphDisplay barely.redir diff --git a/Themes/default/Graphics/GraphDisplay body.png b/Themes/legacy/Graphics/GraphDisplay body.png similarity index 100% rename from Themes/default/Graphics/GraphDisplay body.png rename to Themes/legacy/Graphics/GraphDisplay body.png diff --git a/Themes/legacy/Graphics/HoldJudgment label 1x2.png b/Themes/legacy/Graphics/HoldJudgment label 1x2.png new file mode 100644 index 0000000000..e035603393 Binary files /dev/null and b/Themes/legacy/Graphics/HoldJudgment label 1x2.png differ diff --git a/Themes/default/Graphics/Judgment Normal 1x6.png b/Themes/legacy/Graphics/Judgment Normal 1x6.png similarity index 100% rename from Themes/default/Graphics/Judgment Normal 1x6.png rename to Themes/legacy/Graphics/Judgment Normal 1x6.png diff --git a/Themes/default/Graphics/ScrollBar StretchThumb.redir b/Themes/legacy/Graphics/LifeMeterBar danger.redir similarity index 100% rename from Themes/default/Graphics/ScrollBar StretchThumb.redir rename to Themes/legacy/Graphics/LifeMeterBar danger.redir diff --git a/Themes/default/Graphics/LifeMeterBar over.png b/Themes/legacy/Graphics/LifeMeterBar over.png similarity index 100% rename from Themes/default/Graphics/LifeMeterBar over.png rename to Themes/legacy/Graphics/LifeMeterBar over.png diff --git a/Themes/default/Graphics/LifeMeterBar under.png b/Themes/legacy/Graphics/LifeMeterBar under.png similarity index 100% rename from Themes/default/Graphics/LifeMeterBar under.png rename to Themes/legacy/Graphics/LifeMeterBar under.png diff --git a/Themes/default/Graphics/LifeMeterBattery frame.png b/Themes/legacy/Graphics/LifeMeterBattery frame.png similarity index 100% rename from Themes/default/Graphics/LifeMeterBattery frame.png rename to Themes/legacy/Graphics/LifeMeterBattery frame.png diff --git a/Themes/default/Graphics/LifeMeterBattery lives/_lives 1x10.png b/Themes/legacy/Graphics/LifeMeterBattery lives/_lives 1x10.png similarity index 100% rename from Themes/default/Graphics/LifeMeterBattery lives/_lives 1x10.png rename to Themes/legacy/Graphics/LifeMeterBattery lives/_lives 1x10.png diff --git a/Themes/default/Graphics/LifeMeterBattery lives/default.lua b/Themes/legacy/Graphics/LifeMeterBattery lives/default.lua similarity index 100% rename from Themes/default/Graphics/LifeMeterBattery lives/default.lua rename to Themes/legacy/Graphics/LifeMeterBattery lives/default.lua diff --git a/Themes/default/Graphics/LifeMeterTime background.redir b/Themes/legacy/Graphics/LifeMeterTime background.redir similarity index 100% rename from Themes/default/Graphics/LifeMeterTime background.redir rename to Themes/legacy/Graphics/LifeMeterTime background.redir diff --git a/Themes/default/Graphics/LifeMeterTime frame.redir b/Themes/legacy/Graphics/LifeMeterTime frame.redir similarity index 100% rename from Themes/default/Graphics/LifeMeterTime frame.redir rename to Themes/legacy/Graphics/LifeMeterTime frame.redir diff --git a/Themes/default/Graphics/LifeMeterTime over.redir b/Themes/legacy/Graphics/LifeMeterTime over.redir similarity index 100% rename from Themes/default/Graphics/LifeMeterTime over.redir rename to Themes/legacy/Graphics/LifeMeterTime over.redir diff --git a/Themes/legacy/Graphics/MusicWheel highlight.png b/Themes/legacy/Graphics/MusicWheel highlight.png new file mode 100644 index 0000000000..9431e18766 Binary files /dev/null and b/Themes/legacy/Graphics/MusicWheel highlight.png differ diff --git a/Themes/default/Graphics/MusicWheelItem Course ColorPart.png b/Themes/legacy/Graphics/MusicWheelItem Course ColorPart.png similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Course ColorPart.png rename to Themes/legacy/Graphics/MusicWheelItem Course ColorPart.png diff --git a/Themes/default/Graphics/MusicWheelItem Course NormalPart (dither).png b/Themes/legacy/Graphics/MusicWheelItem Course NormalPart (dither).png similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Course NormalPart (dither).png rename to Themes/legacy/Graphics/MusicWheelItem Course NormalPart (dither).png diff --git a/Themes/default/Graphics/MusicWheelItem Mode ColorPart.png b/Themes/legacy/Graphics/MusicWheelItem Mode ColorPart.png similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Mode ColorPart.png rename to Themes/legacy/Graphics/MusicWheelItem Mode ColorPart.png diff --git a/Themes/legacy/Graphics/MusicWheelItem Mode NormalPart.png b/Themes/legacy/Graphics/MusicWheelItem Mode NormalPart.png new file mode 100644 index 0000000000..ccd464cff1 Binary files /dev/null and b/Themes/legacy/Graphics/MusicWheelItem Mode NormalPart.png differ diff --git a/Themes/default/Graphics/ScrollBar bottom.redir b/Themes/legacy/Graphics/MusicWheelItem Roulette ColorPart.redir similarity index 100% rename from Themes/default/Graphics/ScrollBar bottom.redir rename to Themes/legacy/Graphics/MusicWheelItem Roulette ColorPart.redir diff --git a/Themes/default/Graphics/MusicWheelItem Roulette NormalPart.lua b/Themes/legacy/Graphics/MusicWheelItem Roulette NormalPart.lua similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Roulette NormalPart.lua rename to Themes/legacy/Graphics/MusicWheelItem Roulette NormalPart.lua diff --git a/Themes/default/Graphics/MusicWheelItem Roulette OverPart.redir b/Themes/legacy/Graphics/MusicWheelItem Roulette OverPart.redir similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Roulette OverPart.redir rename to Themes/legacy/Graphics/MusicWheelItem Roulette OverPart.redir diff --git a/Themes/default/Graphics/MusicWheelItem SectionCollapsed ColorPart (dither).png b/Themes/legacy/Graphics/MusicWheelItem SectionCollapsed ColorPart (dither).png similarity index 100% rename from Themes/default/Graphics/MusicWheelItem SectionCollapsed ColorPart (dither).png rename to Themes/legacy/Graphics/MusicWheelItem SectionCollapsed ColorPart (dither).png diff --git a/Themes/default/Graphics/MusicWheelItem SectionCollapsed NormalPart (dither).png b/Themes/legacy/Graphics/MusicWheelItem SectionCollapsed NormalPart (dither).png similarity index 100% rename from Themes/default/Graphics/MusicWheelItem SectionCollapsed NormalPart (dither).png rename to Themes/legacy/Graphics/MusicWheelItem SectionCollapsed NormalPart (dither).png diff --git a/Themes/default/Graphics/MusicWheelItem SectionExpanded ColorPart (dither).png b/Themes/legacy/Graphics/MusicWheelItem SectionExpanded ColorPart (dither).png similarity index 100% rename from Themes/default/Graphics/MusicWheelItem SectionExpanded ColorPart (dither).png rename to Themes/legacy/Graphics/MusicWheelItem SectionExpanded ColorPart (dither).png diff --git a/Themes/default/Graphics/MusicWheelItem SectionExpanded NormalPart.redir b/Themes/legacy/Graphics/MusicWheelItem SectionExpanded NormalPart.redir similarity index 100% rename from Themes/default/Graphics/MusicWheelItem SectionExpanded NormalPart.redir rename to Themes/legacy/Graphics/MusicWheelItem SectionExpanded NormalPart.redir diff --git a/Themes/default/Graphics/MusicWheelItem Song ColorPart.png b/Themes/legacy/Graphics/MusicWheelItem Song ColorPart.png similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Song ColorPart.png rename to Themes/legacy/Graphics/MusicWheelItem Song ColorPart.png diff --git a/Themes/default/Graphics/MusicWheelItem Song NormalPart (dither).png b/Themes/legacy/Graphics/MusicWheelItem Song NormalPart (dither).png similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Song NormalPart (dither).png rename to Themes/legacy/Graphics/MusicWheelItem Song NormalPart (dither).png diff --git a/Themes/default/Graphics/MusicWheelItem Sort ColorPart.redir b/Themes/legacy/Graphics/MusicWheelItem Sort ColorPart.redir similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Sort ColorPart.redir rename to Themes/legacy/Graphics/MusicWheelItem Sort ColorPart.redir diff --git a/Themes/default/Graphics/MusicWheelItem Sort NormalPart.redir b/Themes/legacy/Graphics/MusicWheelItem Sort NormalPart.redir similarity index 100% rename from Themes/default/Graphics/MusicWheelItem Sort NormalPart.redir rename to Themes/legacy/Graphics/MusicWheelItem Sort NormalPart.redir diff --git a/Themes/default/Graphics/MusicWheelItem grades/default.lua b/Themes/legacy/Graphics/MusicWheelItem grades/default.lua similarity index 100% rename from Themes/default/Graphics/MusicWheelItem grades/default.lua rename to Themes/legacy/Graphics/MusicWheelItem grades/default.lua diff --git a/Themes/legacy/Graphics/NoteField bars 1x4.png b/Themes/legacy/Graphics/NoteField bars 1x4.png new file mode 100644 index 0000000000..c86a3b3863 Binary files /dev/null and b/Themes/legacy/Graphics/NoteField bars 1x4.png differ diff --git a/Themes/legacy/Graphics/NoteField board/board.png b/Themes/legacy/Graphics/NoteField board/board.png new file mode 100644 index 0000000000..dc75b2a2d2 Binary files /dev/null and b/Themes/legacy/Graphics/NoteField board/board.png differ diff --git a/Themes/legacy/Graphics/NoteField board/default.lua b/Themes/legacy/Graphics/NoteField board/default.lua new file mode 100644 index 0000000000..8f4732c2bc --- /dev/null +++ b/Themes/legacy/Graphics/NoteField board/default.lua @@ -0,0 +1,26 @@ +local filter_color= color("0.135,0.135,0.135,1") + +local args= { + Def.Quad{ + InitCommand= function(self) + self:hibernate(math.huge):diffuse(filter_color) + end, + PlayerStateSetCommand= function(self, param) + local pn= param.PlayerNumber + local style= GAMESTATE:GetCurrentStyle(pn) + local alf= getenv("ScreenFilter"..ToEnumShortString(pn)) or 0 + local width= style:GetWidth(pn) + 8 + self:setsize(width, _screen.h*4096):diffusealpha(alf):hibernate(0) + end, + } +} + +if GAMESTATE:GetCurrentGame():GetName() == "kb7" then + args[#args+1]= Def.Sprite{ + Texture= "board.png", InitCommand= function(self) + self:y(_screen.cy):zoomy(_screen.h) + end, + } +end + +return Def.ActorFrame(args) diff --git a/Themes/default/Graphics/ScrollBar middle.redir b/Themes/legacy/Graphics/OptionRow frame.redir similarity index 100% rename from Themes/default/Graphics/ScrollBar middle.redir rename to Themes/legacy/Graphics/OptionRow frame.redir diff --git a/Themes/default/Graphics/OptionRowExit frame.png b/Themes/legacy/Graphics/OptionRowExit frame.png similarity index 100% rename from Themes/default/Graphics/OptionRowExit frame.png rename to Themes/legacy/Graphics/OptionRowExit frame.png diff --git a/Themes/default/Graphics/ScrollBar top.redir b/Themes/legacy/Graphics/OptionsCursorP1 CanGoLeft.redir similarity index 100% rename from Themes/default/Graphics/ScrollBar top.redir rename to Themes/legacy/Graphics/OptionsCursorP1 CanGoLeft.redir diff --git a/Themes/legacy/Graphics/OptionsCursorP1 CanGoRight.redir b/Themes/legacy/Graphics/OptionsCursorP1 CanGoRight.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/OptionsCursorP1 CanGoRight.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/default/Graphics/OptionsCursorP1 Left (doubleres).png b/Themes/legacy/Graphics/OptionsCursorP1 Left (doubleres).png similarity index 100% rename from Themes/default/Graphics/OptionsCursorP1 Left (doubleres).png rename to Themes/legacy/Graphics/OptionsCursorP1 Left (doubleres).png diff --git a/Themes/default/Graphics/OptionsCursorP1 Middle (doubleres).png b/Themes/legacy/Graphics/OptionsCursorP1 Middle (doubleres).png similarity index 100% rename from Themes/default/Graphics/OptionsCursorP1 Middle (doubleres).png rename to Themes/legacy/Graphics/OptionsCursorP1 Middle (doubleres).png diff --git a/Themes/default/Graphics/OptionsCursorP1 Right (doubleres).png b/Themes/legacy/Graphics/OptionsCursorP1 Right (doubleres).png similarity index 100% rename from Themes/default/Graphics/OptionsCursorP1 Right (doubleres).png rename to Themes/legacy/Graphics/OptionsCursorP1 Right (doubleres).png diff --git a/Themes/legacy/Graphics/OptionsCursorP2 CanGoLeft.redir b/Themes/legacy/Graphics/OptionsCursorP2 CanGoLeft.redir new file mode 100644 index 0000000000..8beaa27993 --- /dev/null +++ b/Themes/legacy/Graphics/OptionsCursorP2 CanGoLeft.redir @@ -0,0 +1 @@ +OptionsCursorP1 CanGoLeft \ No newline at end of file diff --git a/Themes/legacy/Graphics/OptionsCursorP2 CanGoRight.redir b/Themes/legacy/Graphics/OptionsCursorP2 CanGoRight.redir new file mode 100644 index 0000000000..4d05cc7995 --- /dev/null +++ b/Themes/legacy/Graphics/OptionsCursorP2 CanGoRight.redir @@ -0,0 +1 @@ +OptionsCursorP1 CanGoRight \ No newline at end of file diff --git a/Themes/legacy/Graphics/OptionsCursorP2 Left.redir b/Themes/legacy/Graphics/OptionsCursorP2 Left.redir new file mode 100644 index 0000000000..27d4d5b181 --- /dev/null +++ b/Themes/legacy/Graphics/OptionsCursorP2 Left.redir @@ -0,0 +1 @@ +OptionsCursorP1 Left \ No newline at end of file diff --git a/Themes/legacy/Graphics/OptionsCursorP2 Middle.redir b/Themes/legacy/Graphics/OptionsCursorP2 Middle.redir new file mode 100644 index 0000000000..1cbbddffd7 --- /dev/null +++ b/Themes/legacy/Graphics/OptionsCursorP2 Middle.redir @@ -0,0 +1 @@ +OptionsCursorP1 Middle \ No newline at end of file diff --git a/Themes/legacy/Graphics/OptionsCursorP2 Right.redir b/Themes/legacy/Graphics/OptionsCursorP2 Right.redir new file mode 100644 index 0000000000..7b3efd01e7 --- /dev/null +++ b/Themes/legacy/Graphics/OptionsCursorP2 Right.redir @@ -0,0 +1 @@ +OptionsCursorP1 Right \ No newline at end of file diff --git a/Themes/legacy/Graphics/OptionsUnderlineP1 Left (doubleres).png b/Themes/legacy/Graphics/OptionsUnderlineP1 Left (doubleres).png new file mode 100644 index 0000000000..514db2e8ca Binary files /dev/null and b/Themes/legacy/Graphics/OptionsUnderlineP1 Left (doubleres).png differ diff --git a/Themes/legacy/Graphics/OptionsUnderlineP1 Middle (doubleres).png b/Themes/legacy/Graphics/OptionsUnderlineP1 Middle (doubleres).png new file mode 100644 index 0000000000..70ac652bd2 Binary files /dev/null and b/Themes/legacy/Graphics/OptionsUnderlineP1 Middle (doubleres).png differ diff --git a/Themes/legacy/Graphics/OptionsUnderlineP1 Right (doubleres).png b/Themes/legacy/Graphics/OptionsUnderlineP1 Right (doubleres).png new file mode 100644 index 0000000000..07cace80d0 Binary files /dev/null and b/Themes/legacy/Graphics/OptionsUnderlineP1 Right (doubleres).png differ diff --git a/Themes/legacy/Graphics/OptionsUnderlineP2 Left.redir b/Themes/legacy/Graphics/OptionsUnderlineP2 Left.redir new file mode 100644 index 0000000000..453f1e9a39 --- /dev/null +++ b/Themes/legacy/Graphics/OptionsUnderlineP2 Left.redir @@ -0,0 +1 @@ +OptionsUnderlineP1 Left \ No newline at end of file diff --git a/Themes/legacy/Graphics/OptionsUnderlineP2 Middle.redir b/Themes/legacy/Graphics/OptionsUnderlineP2 Middle.redir new file mode 100644 index 0000000000..cc94075792 --- /dev/null +++ b/Themes/legacy/Graphics/OptionsUnderlineP2 Middle.redir @@ -0,0 +1 @@ +OptionsUnderlineP1 Middle \ No newline at end of file diff --git a/Themes/legacy/Graphics/OptionsUnderlineP2 Right.redir b/Themes/legacy/Graphics/OptionsUnderlineP2 Right.redir new file mode 100644 index 0000000000..0f28924f5d --- /dev/null +++ b/Themes/legacy/Graphics/OptionsUnderlineP2 Right.redir @@ -0,0 +1 @@ +OptionsUnderlineP1 Right \ No newline at end of file diff --git a/Themes/legacy/Graphics/PaneDisplay text.lua b/Themes/legacy/Graphics/PaneDisplay text.lua new file mode 100644 index 0000000000..1090ca80bc --- /dev/null +++ b/Themes/legacy/Graphics/PaneDisplay text.lua @@ -0,0 +1,136 @@ +local iPN = ...; +assert(iPN,"[Graphics/PaneDisplay text.lua] No PlayerNumber Provided."); + +local t = Def.ActorFrame {}; +local function GetRadarData( pnPlayer, rcRadarCategory ) + local tRadarValues; + local StepsOrTrail; + local fDesiredValue = 0; + if GAMESTATE:GetCurrentSteps( pnPlayer ) then + StepsOrTrail = GAMESTATE:GetCurrentSteps( pnPlayer ); + fDesiredValue = StepsOrTrail:GetRadarValues( pnPlayer ):GetValue( rcRadarCategory ); + elseif GAMESTATE:GetCurrentTrail( pnPlayer ) then + StepsOrTrail = GAMESTATE:GetCurrentTrail( pnPlayer ); + fDesiredValue = StepsOrTrail:GetRadarValues( pnPlayer ):GetValue( rcRadarCategory ); + else + StepsOrTrail = nil; + end; + return fDesiredValue; +end; + +local function CreatePaneDisplayItem( _pnPlayer, _sLabel, _rcRadarCategory ) + return Def.ActorFrame { + LoadFont("Common SemiBold") .. { + Text=string.upper( THEME:GetString("PaneDisplay",_sLabel) ); + InitCommand=cmd(horizalign,left); + OnCommand=cmd(zoom,0.5875;diffuse,color("0.9,0.9,0.9");shadowlength,1); + }; + LoadFont("Common Normal") .. { + Text=string.format("%04i", 0); + InitCommand=cmd(x,96;horizalign,right); + OnCommand=cmd(zoom,0.5875;shadowlength,1); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local song = GAMESTATE:GetCurrentSong() + local course = GAMESTATE:GetCurrentCourse() + if not song and not course then + self:settextf("%04i", 0); + else + self:settextf("%04i", GetRadarData( _pnPlayer, _rcRadarCategory ) ); + end + end; + }; + }; +end; + +local function CreatePaneDisplayGraph( _pnPlayer, _sLabel, _rcRadarCategory ) + return Def.ActorFrame { + LoadFont("Common Normal") .. { + Text=_sLabel; + InitCommand=cmd(horizalign,left); + OnCommand=cmd(zoom,0.5;shadowlength,1); + }; + Def.Quad { + InitCommand=cmd(x,12;zoomto,50,10;horizalign,left); + OnCommand=cmd(diffuse,Color("Black");shadowlength,1;diffusealpha,0.5); + }; + Def.Quad { + InitCommand=cmd(x,12;zoomto,50,10;horizalign,left); + OnCommand=cmd(shadowlength,0;diffuse,Color("Green");diffusebottomedge,ColorLightTone(Color("Green"))); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local song = GAMESTATE:GetCurrentSong() + local course = GAMESTATE:GetCurrentCourse() + if not song and not course then + self:stoptweening(); + self:decelerate(0.2); + self:zoomtowidth(0); + else + self:stoptweening(); + self:decelerate(0.2); + self:zoomtowidth( clamp(GetRadarData( _pnPlayer, _rcRadarCategory ) * 50,0,50) ); + end + end; + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(x,14;zoom,0.5;halign,0;); + OnCommand=cmd(shadowlength,1;strokecolor,color("0.15,0.15,0.15,0.625")); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local song = GAMESTATE:GetCurrentSong() + local course = GAMESTATE:GetCurrentCourse() + if not song and not course then + self:settext("") + else + self:settextf("%i%%", GetRadarData( _pnPlayer, _rcRadarCategory ) * 100 ); + end + end; + }; + }; +end; + +--[[ Numbers ]] +t[#t+1] = Def.ActorFrame { + -- Left + CreatePaneDisplayItem( iPN, "Taps", 'RadarCategory_TapsAndHolds' ) .. { + InitCommand=cmd(x,-128+16+8;y,-14); + }; + CreatePaneDisplayItem( iPN, "Jumps", 'RadarCategory_Jumps' ) .. { + InitCommand=cmd(x,-128+16+8;y,-14+16); + }; + CreatePaneDisplayItem( iPN, "Holds", 'RadarCategory_Holds' ) .. { + InitCommand=cmd(x,-128+16+8;y,-14+16*2); + }; + CreatePaneDisplayItem( iPN, "Mines", 'RadarCategory_Mines' ) .. { + InitCommand=cmd(x,-128+16+8;y,-14+16*3); + }; + -- Center + CreatePaneDisplayItem( iPN, "Hands", 'RadarCategory_Hands' ) .. { + InitCommand=cmd(x,8;y,-14); + }; + CreatePaneDisplayItem( iPN, "Rolls", 'RadarCategory_Rolls' ) .. { + InitCommand=cmd(x,8;y,-14+16); + }; + CreatePaneDisplayItem( iPN, "Lifts", 'RadarCategory_Lifts' ) .. { + InitCommand=cmd(x,8;y,-14+16*2); + }; + CreatePaneDisplayItem( iPN, "Fakes", 'RadarCategory_Fakes' ) .. { + InitCommand=cmd(x,8;y,-14+16*3); + }; +}; +return t; \ No newline at end of file diff --git a/Themes/default/Graphics/Player Badge FullCombo.png b/Themes/legacy/Graphics/Player Badge FullCombo.png similarity index 100% rename from Themes/default/Graphics/Player Badge FullCombo.png rename to Themes/legacy/Graphics/Player Badge FullCombo.png diff --git a/Themes/legacy/Graphics/Player combo/_combo.png b/Themes/legacy/Graphics/Player combo/_combo.png new file mode 100644 index 0000000000..0cfe4098b2 Binary files /dev/null and b/Themes/legacy/Graphics/Player combo/_combo.png differ diff --git a/Themes/legacy/Graphics/Player combo/_misses.png b/Themes/legacy/Graphics/Player combo/_misses.png new file mode 100644 index 0000000000..32fe625735 Binary files /dev/null and b/Themes/legacy/Graphics/Player combo/_misses.png differ diff --git a/Themes/legacy/Graphics/Player combo/default.lua b/Themes/legacy/Graphics/Player combo/default.lua new file mode 100644 index 0000000000..88fca73c52 --- /dev/null +++ b/Themes/legacy/Graphics/Player combo/default.lua @@ -0,0 +1,158 @@ +local c; +local cf; +local canAnimate = false; +local player = Var "Player"; +local ShowComboAt = THEME:GetMetric("Combo", "ShowComboAt"); +local Pulse = THEME:GetMetric("Combo", "PulseCommand"); +local PulseLabel = THEME:GetMetric("Combo", "PulseLabelCommand"); + +local NumberMinZoom = THEME:GetMetric("Combo", "NumberMinZoom"); +local NumberMaxZoom = THEME:GetMetric("Combo", "NumberMaxZoom"); +local NumberMaxZoomAt = THEME:GetMetric("Combo", "NumberMaxZoomAt"); + +local LabelMinZoom = THEME:GetMetric("Combo", "LabelMinZoom"); +local LabelMaxZoom = THEME:GetMetric("Combo", "LabelMaxZoom"); + +local ShowFlashyCombo = ThemePrefs.Get("FlashyCombo") + +local t = Def.ActorFrame { + InitCommand=cmd(vertalign,bottom); + -- flashy combo elements: + LoadActor(THEME:GetPathG("Combo","100Milestone")) .. { + Name="OneHundredMilestone"; + InitCommand=cmd(visible,ShowFlashyCombo); + FiftyMilestoneCommand=cmd(playcommand,"Milestone"); + }; + LoadActor(THEME:GetPathG("Combo","1000Milestone")) .. { + Name="OneThousandMilestone"; + InitCommand=cmd(visible,ShowFlashyCombo); + ToastyAchievedMessageCommand=cmd(playcommand,"Milestone"); + }; + -- normal combo elements: + Def.ActorFrame { + Name="ComboFrame"; + LoadFont( "Combo", "numbers" ) .. { + Name="Number"; + OnCommand = THEME:GetMetric("Combo", "NumberOnCommand"); + }; + LoadActor("_combo")..{ + Name="ComboLabel"; + OnCommand = THEME:GetMetric("Combo", "ComboLabelOnCommand"); + }; + LoadActor("_misses")..{ + Name="MissLabel"; + OnCommand = THEME:GetMetric("Combo", "MissLabelOnCommand"); + }; + }; + InitCommand = function(self) + c = self:GetChildren(); + cf = c.ComboFrame:GetChildren(); + cf.Number:visible(false); + cf.ComboLabel:visible(false) + cf.MissLabel:visible(false) + end; + -- Milestones: + -- 25,50,100,250,600 Multiples; +--[[ if (iCombo % 100) == 0 then + c.OneHundredMilestone:playcommand("Milestone"); + elseif (iCombo % 250) == 0 then + -- It should really be 1000 but thats slightly unattainable, since + -- combo doesnt save over now. + c.OneThousandMilestone:playcommand("Milestone"); + else + return + end; --]] + TwentyFiveMilestoneCommand=function(self,parent) + if ShowFlashyCombo then + (cmd(finishtweening;addy,-4;bounceend,0.125;addy,4))(self); + end; + end; + --]] + --[[ + ToastyAchievedMessageCommand=function(self,params) + if params.PlayerNumber == player then + (cmd(thump,2;effectclock,'beat'))(c.ComboFrame); + end; + end; + ToastyDroppedMessageCommand=function(self,params) + if params.PlayerNumber == player then + (cmd(stopeffect))(c.ComboFrame); + end; + end; --]] + ComboCommand=function(self, param) + local iCombo = param.Misses or param.Combo; + if not iCombo or iCombo < ShowComboAt then + cf.Number:visible(false); + cf.ComboLabel:visible(false) + cf.MissLabel:visible(false) + return; + end + + cf.ComboLabel:visible(false) + cf.MissLabel:visible(false) + + param.Zoom = scale( iCombo, 0, NumberMaxZoomAt, NumberMinZoom, NumberMaxZoom ); + param.Zoom = clamp( param.Zoom, NumberMinZoom, NumberMaxZoom ); + + param.LabelZoom = scale( iCombo, 0, NumberMaxZoomAt, LabelMinZoom, LabelMaxZoom ); + param.LabelZoom = clamp( param.LabelZoom, LabelMinZoom, LabelMaxZoom ); + + if param.Combo then + cf.ComboLabel:visible(true) + cf.MissLabel:visible(false) + else + cf.ComboLabel:visible(false) + cf.MissLabel:visible(true) + end + + cf.Number:visible(true); + cf.Number:settext( string.format("%i", iCombo) ); + cf.Number:textglowmode("TextGlowMode_Stroke"); + -- FullCombo Rewards + if param.FullComboW1 then + cf.Number:diffuse( GameColor.Judgment["JudgmentLine_W1"] ); + cf.Number:strokecolor( GameColor.Judgment["JudgmentLine_W1"] ); + cf.Number:textglowmode("TextGlowMode_Stroke"); + cf.Number:glowshift(); + elseif param.FullComboW2 then + cf.Number:diffuse( GameColor.Judgment["JudgmentLine_W2"] ); + cf.Number:strokecolor( GameColor.Judgment["JudgmentLine_W2"] ); + cf.Number:textglowmode("TextGlowMode_Stroke"); + cf.Number:glowshift(); + elseif param.FullComboW3 then + cf.Number:diffuse( GameColor.Judgment["JudgmentLine_W3"] ); + cf.Number:strokecolor( GameColor.Judgment["JudgmentLine_W3"] ); + cf.Number:textglowmode("TextGlowMode_Stroke"); + cf.Number:glowshift(); + elseif param.Combo then + -- Player 1's color is Red, which conflicts with the miss combo. + -- instead, just diffuse to white for now. -aj + --c.Number:diffuse(PlayerColor(player)); + cf.Number:diffuse(Color("White")); + cf.Number:strokecolor(Color("Stealth")); + cf.Number:stopeffect(); + else + cf.Number:diffuse(color("#ff0000")); + cf.Number:stopeffect(); + end + -- Pulse + Pulse( cf.Number, param ); + if param.Combo then + PulseLabel( cf.ComboLabel, param ); + else + PulseLabel( cf.MissLabel, param ); + end + -- Milestone Logic + end; +--[[ ScoreChangedMessageCommand=function(self,param) + local iToastyCombo = param.ToastyCombo; + if iToastyCombo and (iToastyCombo > 0) then +-- (cmd(thump;effectmagnitude,1,1.2,1;effectclock,'beat'))(c.Number) +-- (cmd(thump;effectmagnitude,1,1.2,1;effectclock,'beat'))(c.Number) + else +-- c.Number:stopeffect(); + end; + end; --]] +}; + +return t; diff --git a/Themes/legacy/Graphics/Player judgment/default.lua b/Themes/legacy/Graphics/Player judgment/default.lua new file mode 100644 index 0000000000..7e691b53ad --- /dev/null +++ b/Themes/legacy/Graphics/Player judgment/default.lua @@ -0,0 +1,233 @@ +local c; +local player = Var "Player"; +local function ShowProtiming() + if GAMESTATE:IsDemonstration() then + return false + else + return GetUserPrefB("UserPrefProtiming" .. ToEnumShortString(player)); + end +end; +local bShowProtiming = ShowProtiming(); +local ProtimingWidth = 240; +local function MakeAverage( t ) + local sum = 0; + for i=1,#t do + sum = sum + t[i]; + end + return sum / #t +end + +local tTotalJudgments = {}; + +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 TextCmds = { + Pulse = THEME:GetMetric( "Protiming", "TextPulseCommand" ); +}; + +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); + }; + LoadFont("Common Normal") .. { + Name="TextDisplay"; + Text=THEME:GetString("Protiming","MS"); + InitCommand=cmd(visible,false); + OnCommand=THEME:GetMetric("Protiming","TextOnCommand"); + ResetCommand=cmd(finishtweening;stopeffect;visible,false); + }; + Def.Quad { + Name="ProtimingGraphBG"; + InitCommand=cmd(visible,false;y,32;zoomto,ProtimingWidth,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,ProtimingWidth-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,ProtimingWidth-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,ProtimingWidth-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,ProtimingWidth-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) + -- Fix Player Combo animating when player successfully avoids a mine. + local msgParam = param; + MESSAGEMAN:Broadcast("TestJudgment",msgParam); + -- + 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] = math.abs(fTapNoteOffset); +--~ tTotalJudgments[#tTotalJudgments+1] = bUseNegative and fTapNoteOffset or math.abs( 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",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.TextDisplay:visible( bShowProtiming ); + TextCmds['Pulse'](c.TextDisplay); + + 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,(ProtimingWidth-4)/2), + -(ProtimingWidth-4)/2,(ProtimingWidth-4)/2) + ); + c.ProtimingGraphAverage:visible( bShowProtiming ); + c.ProtimingGraphAverage:zoomtowidth( clamp( + scale( + MakeAverage( tTotalJudgments ), + 0,PREFSMAN:GetPreference("TimingWindowSecondsW3"), + 0,ProtimingWidth-4), + 0,ProtimingWidth-4) + ); +-- 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/Graphics/Player toasty/default.lua b/Themes/legacy/Graphics/Player toasty/default.lua similarity index 100% rename from Themes/default/Graphics/Player toasty/default.lua rename to Themes/legacy/Graphics/Player toasty/default.lua diff --git a/Themes/default/Graphics/RoomWheelItem ColorPart.redir b/Themes/legacy/Graphics/RoomWheelItem ColorPart.redir similarity index 100% rename from Themes/default/Graphics/RoomWheelItem ColorPart.redir rename to Themes/legacy/Graphics/RoomWheelItem ColorPart.redir diff --git a/Themes/default/Graphics/RoomWheelItem NormalPart.redir b/Themes/legacy/Graphics/RoomWheelItem NormalPart.redir similarity index 100% rename from Themes/default/Graphics/RoomWheelItem NormalPart.redir rename to Themes/legacy/Graphics/RoomWheelItem NormalPart.redir diff --git a/Themes/legacy/Graphics/ScoreDisplayLifeTime frame.redir b/Themes/legacy/Graphics/ScoreDisplayLifeTime frame.redir new file mode 100644 index 0000000000..cfccd99073 --- /dev/null +++ b/Themes/legacy/Graphics/ScoreDisplayLifeTime frame.redir @@ -0,0 +1 @@ +ScoreDisplayNormal frame \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScoreDisplayNormal frame.redir b/Themes/legacy/Graphics/ScoreDisplayNormal frame.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScoreDisplayNormal frame.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScoreDisplayRave frame base p1.redir b/Themes/legacy/Graphics/ScoreDisplayRave frame base p1.redir new file mode 100644 index 0000000000..a5ce1a161b --- /dev/null +++ b/Themes/legacy/Graphics/ScoreDisplayRave frame base p1.redir @@ -0,0 +1 @@ +_rave meter base \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScoreDisplayRave frame base p2.redir b/Themes/legacy/Graphics/ScoreDisplayRave frame base p2.redir new file mode 100644 index 0000000000..a5ce1a161b --- /dev/null +++ b/Themes/legacy/Graphics/ScoreDisplayRave frame base p2.redir @@ -0,0 +1 @@ +_rave meter base \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScoreDisplayRave stream level1.png b/Themes/legacy/Graphics/ScoreDisplayRave stream level1.png new file mode 100644 index 0000000000..1aaf7a8957 Binary files /dev/null and b/Themes/legacy/Graphics/ScoreDisplayRave stream level1.png differ diff --git a/Themes/legacy/Graphics/ScoreDisplayRave stream level2.png b/Themes/legacy/Graphics/ScoreDisplayRave stream level2.png new file mode 100644 index 0000000000..cb8bfaaac7 Binary files /dev/null and b/Themes/legacy/Graphics/ScoreDisplayRave stream level2.png differ diff --git a/Themes/legacy/Graphics/ScoreDisplayRave stream level3.png b/Themes/legacy/Graphics/ScoreDisplayRave stream level3.png new file mode 100644 index 0000000000..af6b5f8e3a Binary files /dev/null and b/Themes/legacy/Graphics/ScoreDisplayRave stream level3.png differ diff --git a/Themes/legacy/Graphics/ScreenDemonstration StageDisplay.redir b/Themes/legacy/Graphics/ScreenDemonstration StageDisplay.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenDemonstration StageDisplay.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenEvaluation BannerFrame.redir b/Themes/legacy/Graphics/ScreenEvaluation BannerFrame.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation BannerFrame.redir rename to Themes/legacy/Graphics/ScreenEvaluation BannerFrame.redir diff --git a/Themes/default/Graphics/ScreenEvaluation GameType.lua b/Themes/legacy/Graphics/ScreenEvaluation GameType.lua similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation GameType.lua rename to Themes/legacy/Graphics/ScreenEvaluation GameType.lua diff --git a/Themes/legacy/Graphics/ScreenEvaluation GradeFrame p1.redir b/Themes/legacy/Graphics/ScreenEvaluation GradeFrame p1.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenEvaluation GradeFrame p1.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenEvaluation GradeFrame p2.redir b/Themes/legacy/Graphics/ScreenEvaluation GradeFrame p2.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenEvaluation GradeFrame p2.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenEvaluation JudgmentLabel Held.redir b/Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel Held.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation JudgmentLabel Held.redir rename to Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel Held.redir diff --git a/Themes/default/Graphics/ScreenEvaluation JudgmentLabel MaxCombo.redir b/Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel MaxCombo.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation JudgmentLabel MaxCombo.redir rename to Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel MaxCombo.redir diff --git a/Themes/default/Graphics/ScreenEvaluation JudgmentLabel Miss.redir b/Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel Miss.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation JudgmentLabel Miss.redir rename to Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel Miss.redir diff --git a/Themes/default/Graphics/ScreenEvaluation JudgmentLabel W1.redir b/Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W1.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation JudgmentLabel W1.redir rename to Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W1.redir diff --git a/Themes/default/Graphics/ScreenEvaluation JudgmentLabel W2.redir b/Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W2.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation JudgmentLabel W2.redir rename to Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W2.redir diff --git a/Themes/default/Graphics/ScreenEvaluation JudgmentLabel W3.redir b/Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W3.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation JudgmentLabel W3.redir rename to Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W3.redir diff --git a/Themes/default/Graphics/ScreenEvaluation JudgmentLabel W4.redir b/Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W4.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation JudgmentLabel W4.redir rename to Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W4.redir diff --git a/Themes/default/Graphics/ScreenEvaluation JudgmentLabel W5.redir b/Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W5.redir similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation JudgmentLabel W5.redir rename to Themes/legacy/Graphics/ScreenEvaluation JudgmentLabel W5.redir diff --git a/Themes/legacy/Graphics/ScreenEvaluation LifeDifficulty.lua b/Themes/legacy/Graphics/ScreenEvaluation LifeDifficulty.lua new file mode 100644 index 0000000000..2c237016da --- /dev/null +++ b/Themes/legacy/Graphics/ScreenEvaluation LifeDifficulty.lua @@ -0,0 +1,7 @@ +return LoadFont("Common Normal") .. { + Text=GetLifeDifficulty(); + AltText=""; + BeginCommand=function(self) + self:settextf( Screen.String("LifeDifficulty"), GetLifeDifficulty() ); + end +}; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenEvaluation MachineRecord.lua b/Themes/legacy/Graphics/ScreenEvaluation MachineRecord.lua similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation MachineRecord.lua rename to Themes/legacy/Graphics/ScreenEvaluation MachineRecord.lua diff --git a/Themes/default/Graphics/ScreenEvaluation PeakComboAward.lua b/Themes/legacy/Graphics/ScreenEvaluation PeakComboAward.lua similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation PeakComboAward.lua rename to Themes/legacy/Graphics/ScreenEvaluation PeakComboAward.lua diff --git a/Themes/default/Graphics/ScreenEvaluation PersonalRecord.lua b/Themes/legacy/Graphics/ScreenEvaluation PersonalRecord.lua similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation PersonalRecord.lua rename to Themes/legacy/Graphics/ScreenEvaluation PersonalRecord.lua diff --git a/Themes/legacy/Graphics/ScreenEvaluation ScoreLabel.redir b/Themes/legacy/Graphics/ScreenEvaluation ScoreLabel.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenEvaluation ScoreLabel.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenEvaluation SongInformation.lua b/Themes/legacy/Graphics/ScreenEvaluation SongInformation.lua similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation SongInformation.lua rename to Themes/legacy/Graphics/ScreenEvaluation SongInformation.lua diff --git a/Themes/default/Graphics/ScreenEvaluation StageAward.lua b/Themes/legacy/Graphics/ScreenEvaluation StageAward.lua similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation StageAward.lua rename to Themes/legacy/Graphics/ScreenEvaluation StageAward.lua diff --git a/Themes/legacy/Graphics/ScreenEvaluation TimingDifficulty.lua b/Themes/legacy/Graphics/ScreenEvaluation TimingDifficulty.lua new file mode 100644 index 0000000000..f029edacb5 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenEvaluation TimingDifficulty.lua @@ -0,0 +1,7 @@ +return LoadFont("Common Normal") .. { + Text=GetLifeDifficulty(); + AltText=""; + BeginCommand=function(self) + self:settextf( Screen.String("TimingDifficulty"), GetTimingDifficulty() ); + end +}; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenEvaluation Win p1 1x3.png b/Themes/legacy/Graphics/ScreenEvaluation Win p1 1x3.png similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation Win p1 1x3.png rename to Themes/legacy/Graphics/ScreenEvaluation Win p1 1x3.png diff --git a/Themes/default/Graphics/ScreenEvaluation Win p2 1x3.png b/Themes/legacy/Graphics/ScreenEvaluation Win p2 1x3.png similarity index 100% rename from Themes/default/Graphics/ScreenEvaluation Win p2 1x3.png rename to Themes/legacy/Graphics/ScreenEvaluation Win p2 1x3.png diff --git a/Themes/default/Graphics/ScreenEvaluationSummary BannerList.lua b/Themes/legacy/Graphics/ScreenEvaluationSummary BannerList.lua similarity index 100% rename from Themes/default/Graphics/ScreenEvaluationSummary BannerList.lua rename to Themes/legacy/Graphics/ScreenEvaluationSummary BannerList.lua diff --git a/Themes/legacy/Graphics/ScreenGameOver gameover.png b/Themes/legacy/Graphics/ScreenGameOver gameover.png new file mode 100644 index 0000000000..0077fea369 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenGameOver gameover.png differ diff --git a/Themes/default/Graphics/ScreenGameplay BPMDisplay.lua b/Themes/legacy/Graphics/ScreenGameplay BPMDisplay.lua similarity index 100% rename from Themes/default/Graphics/ScreenGameplay BPMDisplay.lua rename to Themes/legacy/Graphics/ScreenGameplay BPMDisplay.lua diff --git a/Themes/legacy/Graphics/ScreenGameplay DeltaSeconds.lua b/Themes/legacy/Graphics/ScreenGameplay DeltaSeconds.lua new file mode 100644 index 0000000000..5fb8b287d6 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenGameplay DeltaSeconds.lua @@ -0,0 +1,25 @@ +local PlayerNumber = ...; +assert( PlayerNumber ); + +local t = LoadFont("ScreenGameplay","RemainingTime") .. { + Name="RemainingTime"; + Text=""; + JudgmentMessageCommand=function(self,params) + if params.Player == PlayerNumber then + if params.TapNoteScore then + local tns = ToEnumShortString(params.TapNoteScore) + local prefname= ("TimeMeterSecondsChange%s"):format(tns) + if PREFSMAN:PreferenceExists(prefname) then + self:playcommand( "GainSeconds" ); + self:playcommand( tns ); + self:settextf( "%+1.1fs", PREFSMAN:GetPreference(prefname) ); + end + else + return + end + else + return + end + end; +}; +return t \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenGameplay RemainingTime.lua b/Themes/legacy/Graphics/ScreenGameplay RemainingTime.lua new file mode 100644 index 0000000000..46fa34bd13 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenGameplay RemainingTime.lua @@ -0,0 +1,9 @@ +local PlayerNumber = ...; +assert( PlayerNumber ); + +local t = LoadFont("ScreenGameplay","RemainingTime") .. { + Name="SurvivalTime"; + Text=""; +}; + +return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenGameplay ScoreFrame.png b/Themes/legacy/Graphics/ScreenGameplay ScoreFrame.png similarity index 100% rename from Themes/default/Graphics/ScreenGameplay ScoreFrame.png rename to Themes/legacy/Graphics/ScreenGameplay ScoreFrame.png diff --git a/Themes/default/Graphics/ScreenGameplay SongTitle.lua b/Themes/legacy/Graphics/ScreenGameplay SongTitle.lua similarity index 100% rename from Themes/default/Graphics/ScreenGameplay SongTitle.lua rename to Themes/legacy/Graphics/ScreenGameplay SongTitle.lua diff --git a/Themes/legacy/Graphics/ScreenGameplay StageDisplay.lua b/Themes/legacy/Graphics/ScreenGameplay StageDisplay.lua new file mode 100644 index 0000000000..97b9fc77fa --- /dev/null +++ b/Themes/legacy/Graphics/ScreenGameplay StageDisplay.lua @@ -0,0 +1,44 @@ +local curScreen = Var "LoadingScreen"; +local curStageIndex = GAMESTATE:GetCurrentStageIndex() + 1; +local playMode = GAMESTATE:GetPlayMode(); + +local t = Def.ActorFrame { + LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",64,16); + LoadFont("Common Normal") .. { + InitCommand=cmd(y,-1;shadowlength,1;playcommand,"Set"); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTraiP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTraiP2ChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + local curStage = GAMESTATE:GetCurrentStage(); + if GAMESTATE:IsCourseMode() then + local stats = STATSMAN:GetCurStageStats() + if not stats then + return + end + local mpStats = stats:GetPlayerStageStats( GAMESTATE:GetMasterPlayerNumber() ) + local songsPlayed = mpStats:GetSongsPassed() + 1 + self:settextf("%i / %i", songsPlayed, GAMESTATE:GetCurrentCourse():GetEstimatedNumStages()); + else + if GAMESTATE:IsEventMode() then + self:settextf("Stage %s", curStageIndex); + else + local thed_stage= thified_curstage_index(false) + if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then + self:settextf(thed_stage) + else + self:settextf("%s Stage", thed_stage) + end + end + end; + self:zoom(0.675); + self:diffuse(StageToColor(curStage)); + self:diffusetopedge(ColorLightTone(StageToColor(curStage))); + end; + }; +}; +return t + diff --git a/Themes/legacy/Graphics/ScreenGameplay oni gameover.redir b/Themes/legacy/Graphics/ScreenGameplay oni gameover.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenGameplay oni gameover.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenHighScores ScrollerItem/default.lua b/Themes/legacy/Graphics/ScreenHighScores ScrollerItem/default.lua new file mode 100644 index 0000000000..0989d828f4 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenHighScores ScrollerItem/default.lua @@ -0,0 +1,99 @@ +local t = Def.ActorFrame { + FOV=90; + InitCommand=cmd(runcommandsonleaves,cmd(ztest,true)); +}; + +t[#t+1] = LoadActor("frame") .. { + InitCommand=cmd(diffusealpha,0.25); +}; + + +t[#t+1] = Def.TextBanner { + InitCommand=cmd(x,-292;Load,"TextBannerHighScores"); + SetCommand=function(self, params) + if params.Song then + self:SetFromSong( params.Song ); + self:diffuse( SONGMAN:GetSongColor(params.Song) ); + else + self:SetFromString( params.Course:GetTitle() ); + self:diffuse( SONGMAN:GetCourseColor(params.Course) ); + end + end; +}; + +local NumColumns = THEME:GetMetric(Var "LoadingScreen", "NumColumns"); + +local c; +local Scores = Def.ActorFrame { + InitCommand = function(self) + c = self:GetChildren(); + end; +}; +t[#t+1] = Scores; + +for idx=1,NumColumns do + local x_pos = -60 + 80 * (idx-1); + Scores[#Scores+1] = LoadFont(Var "LoadingScreen","Name") .. { + Name = idx .. "Name"; + InitCommand=cmd(x,x_pos;y,8;shadowlength,1;maxwidth,68); + OnCommand=cmd(zoom,0.75); + }; + Scores[#Scores+1] = LoadFont(Var "LoadingScreen","Score") .. { + Name = idx .. "Score"; + InitCommand=cmd(x,x_pos;y,-9;shadowlength,1;maxwidth,68); + OnCommand=cmd(zoom,0.75); + }; + Scores[#Scores+1] = LoadActor("filled") .. { + Name = idx .. "Filled"; + InitCommand=cmd(x,x_pos;); + }; + Scores[#Scores+1] = LoadActor("empty") .. { + Name = idx .. "Empty"; + InitCommand=cmd(x,x_pos;); + OnCommand=cmd(zoom,0.75); + }; + +end + +local sNoScoreName = THEME:GetMetric("Common", "NoScoreName"); + +Scores.SetCommand=function(self, params) + local pProfile = PROFILEMAN:GetMachineProfile(); + + for name, child in pairs(c) do + child:visible(false); + end + for idx=1,NumColumns do + c[idx .. "Empty"]:visible(true); + end + + local Current = params.Song or params.Course; + if Current then + for idx, CurrentItem in pairs(params.Entries) do + if CurrentItem then + local hsl = pProfile:GetHighScoreList(Current, CurrentItem); + local hs = hsl and hsl:GetHighScores(); + + local name = c[idx .. "Name"]; + local score = c[idx .. "Score"]; + local filled = c[idx .. "Filled"]; + local empty = c[idx .. "Empty"]; + + name:visible( true ); + score:visible( true ); + filled:visible( true ); + empty:visible( false ); + + if hs and #hs > 0 then + name:settext( hs[1]:GetName() ); + score:settext( FormatPercentScore( hs[1]:GetPercentDP() ) ); + else + name:settext( sNoScoreName ); + score:settext( FormatPercentScore( 0 ) ); + end + end + end; + end +end; + +return t; diff --git a/Themes/default/Graphics/ScreenHighScores ScrollerItem/empty (doubleres).png b/Themes/legacy/Graphics/ScreenHighScores ScrollerItem/empty (doubleres).png similarity index 100% rename from Themes/default/Graphics/ScreenHighScores ScrollerItem/empty (doubleres).png rename to Themes/legacy/Graphics/ScreenHighScores ScrollerItem/empty (doubleres).png diff --git a/Themes/default/Graphics/ScreenHighScores ScrollerItem/filled (doubleres).png b/Themes/legacy/Graphics/ScreenHighScores ScrollerItem/filled (doubleres).png similarity index 100% rename from Themes/default/Graphics/ScreenHighScores ScrollerItem/filled (doubleres).png rename to Themes/legacy/Graphics/ScreenHighScores ScrollerItem/filled (doubleres).png diff --git a/Themes/default/Graphics/ScreenHighScores ScrollerItem/frame (doubleres).png b/Themes/legacy/Graphics/ScreenHighScores ScrollerItem/frame (doubleres).png similarity index 100% rename from Themes/default/Graphics/ScreenHighScores ScrollerItem/frame (doubleres).png rename to Themes/legacy/Graphics/ScreenHighScores ScrollerItem/frame (doubleres).png diff --git a/Themes/default/Graphics/ScreenHowToInstallSongs Icon.lua b/Themes/legacy/Graphics/ScreenHowToInstallSongs Icon.lua similarity index 100% rename from Themes/default/Graphics/ScreenHowToInstallSongs Icon.lua rename to Themes/legacy/Graphics/ScreenHowToInstallSongs Icon.lua diff --git a/Themes/default/Graphics/ScreenHowToInstallSongs scroll.lua b/Themes/legacy/Graphics/ScreenHowToInstallSongs scroll.lua similarity index 100% rename from Themes/default/Graphics/ScreenHowToInstallSongs scroll.lua rename to Themes/legacy/Graphics/ScreenHowToInstallSongs scroll.lua diff --git a/Themes/legacy/Graphics/ScreenLogo Logo.redir b/Themes/legacy/Graphics/ScreenLogo Logo.redir new file mode 100644 index 0000000000..3370a86c88 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenLogo Logo.redir @@ -0,0 +1 @@ +ScreenTitleMenu logo \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenMapControllers exit.lua b/Themes/legacy/Graphics/ScreenMapControllers exit.lua similarity index 100% rename from Themes/default/Graphics/ScreenMapControllers exit.lua rename to Themes/legacy/Graphics/ScreenMapControllers exit.lua diff --git a/Themes/legacy/Graphics/ScreenMiniMenu page.redir b/Themes/legacy/Graphics/ScreenMiniMenu page.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenMiniMenu page.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenNetSelectBase ChatInputBox.lua b/Themes/legacy/Graphics/ScreenNetSelectBase ChatInputBox.lua new file mode 100644 index 0000000000..288b3b06bb --- /dev/null +++ b/Themes/legacy/Graphics/ScreenNetSelectBase ChatInputBox.lua @@ -0,0 +1,5 @@ +return Def.ActorFrame{ + Def.Quad{ + InitCommand=cmd(zoomto,THEME:GetMetric(Var "LoadingScreen","ChatInputBoxWidth"),THEME:GetMetric(Var "LoadingScreen","ChatInputBoxHeight");diffuse,color("0,0,0,0.25")); + }; +}; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenNetSelectBase ChatOutputBox.lua b/Themes/legacy/Graphics/ScreenNetSelectBase ChatOutputBox.lua similarity index 100% rename from Themes/default/Graphics/ScreenNetSelectBase ChatOutputBox.lua rename to Themes/legacy/Graphics/ScreenNetSelectBase ChatOutputBox.lua diff --git a/Themes/legacy/Graphics/ScreenNetSelectMusic BPMDisplay.redir b/Themes/legacy/Graphics/ScreenNetSelectMusic BPMDisplay.redir new file mode 100644 index 0000000000..c7e1f102b3 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenNetSelectMusic BPMDisplay.redir @@ -0,0 +1 @@ +ScreenSelectMusic BPMDisplay \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenNetSelectMusic BPMLabel.redir b/Themes/legacy/Graphics/ScreenNetSelectMusic BPMLabel.redir similarity index 100% rename from Themes/default/Graphics/ScreenNetSelectMusic BPMLabel.redir rename to Themes/legacy/Graphics/ScreenNetSelectMusic BPMLabel.redir diff --git a/Themes/default/Graphics/ScreenNetSelectMusic DifficultyDisplay.redir b/Themes/legacy/Graphics/ScreenNetSelectMusic DifficultyDisplay.redir similarity index 100% rename from Themes/default/Graphics/ScreenNetSelectMusic DifficultyDisplay.redir rename to Themes/legacy/Graphics/ScreenNetSelectMusic DifficultyDisplay.redir diff --git a/Themes/legacy/Graphics/ScreenOptions LineHighlight P1.lua b/Themes/legacy/Graphics/ScreenOptions LineHighlight P1.lua new file mode 100644 index 0000000000..f6aafd5ec3 --- /dev/null +++ b/Themes/legacy/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/legacy/Graphics/ScreenOptions LineHighlight P2.redir b/Themes/legacy/Graphics/ScreenOptions LineHighlight P2.redir new file mode 100644 index 0000000000..998ddd6029 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenOptions LineHighlight P2.redir @@ -0,0 +1 @@ +ScreenOptions LineHighlight P1 \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenOptions disqualify.lua b/Themes/legacy/Graphics/ScreenOptions disqualify.lua similarity index 100% rename from Themes/default/Graphics/ScreenOptions disqualify.lua rename to Themes/legacy/Graphics/ScreenOptions disqualify.lua diff --git a/Themes/legacy/Graphics/ScreenOptions line highlight.png b/Themes/legacy/Graphics/ScreenOptions line highlight.png new file mode 100644 index 0000000000..80a3a0048f Binary files /dev/null and b/Themes/legacy/Graphics/ScreenOptions line highlight.png differ diff --git a/Themes/legacy/Graphics/ScreenOptions more.redir b/Themes/legacy/Graphics/ScreenOptions more.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenOptions more.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenOptions page.png b/Themes/legacy/Graphics/ScreenOptions page.png new file mode 100644 index 0000000000..b444ea82d7 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenOptions page.png differ diff --git a/Themes/legacy/Graphics/ScreenPlayerOptions PlayerNameplate.lua b/Themes/legacy/Graphics/ScreenPlayerOptions PlayerNameplate.lua new file mode 100644 index 0000000000..9e5b512a3e --- /dev/null +++ b/Themes/legacy/Graphics/ScreenPlayerOptions PlayerNameplate.lua @@ -0,0 +1,94 @@ +local PlayerNumber = ... +assert( PlayerNumber ) + +local bpm_text_zoom = 0.875 + +local song_bpms= {} +local bpm_text= "??? - ???" +local function format_bpm(bpm) + return ("%.0f"):format(bpm) +end + +-- Courses don't have GetDisplayBpms. +if GAMESTATE:GetCurrentSong() then + song_bpms= GAMESTATE:GetCurrentSong():GetDisplayBpms() + song_bpms[1]= math.round(song_bpms[1]) + song_bpms[2]= math.round(song_bpms[2]) + if song_bpms[1] == song_bpms[2] then + bpm_text= format_bpm(song_bpms[1]) + else + bpm_text= format_bpm(song_bpms[1]) .. " - " .. format_bpm(song_bpms[2]) + end +end + +local t = Def.ActorFrame { + LoadActor(THEME:GetPathB("_frame","3x1"),"rounded fill", 192-8) .. { + OnCommand=cmd(diffuse,color("#333333");diffusealpha,0.875); + }; + LoadActor(THEME:GetPathB("_frame","3x1"),"rounded gloss", 192-8) .. { + OnCommand=cmd(diffusealpha,0.125); + }; + LoadFont("Common Normal") .. { + Text=ToEnumShortString(PlayerNumber); + Name="PlayerShortName", + InitCommand=cmd(x,-104;maxwidth,32), + OnCommand=cmd(diffuse,PlayerColor(PlayerNumber);shadowlength,1) + }, + LoadFont("Common Normal") .. { + Text=bpm_text; + Name="BPMRangeOld", + InitCommand=cmd(x,-40;maxwidth,88/bpm_text_zoom), + OnCommand=cmd(shadowlength,1;zoom,bpm_text_zoom) + }, + LoadActor(THEME:GetPathG("_StepsDisplayListRow","arrow")) .. { + Name="Seperator", + InitCommand=cmd(x,14) + }, + LoadFont("Common Normal") .. { + Text="100 - 200000"; + Name="BPMRangeNew", + InitCommand= function(self) + self:x(68):maxwidth(88/bpm_text_zoom):shadowlength(1):zoom(bpm_text_zoom) + local speed, mode= GetSpeedModeAndValueFromPoptions(PlayerNumber) + self:playcommand("SpeedChoiceChanged", {pn= PlayerNumber, mode= mode, speed= speed}) + end, + BPMWillNotChangeCommand=cmd(stopeffect), + BPMWillChangeCommand=cmd(diffuseshift;effectcolor1,Color.White;effectcolor2,Color.Orange), + SpeedChoiceChangedMessageCommand= function(self, param) + if param.pn ~= PlayerNumber then return end + local text= "" + local no_change= true + if param.mode == "x" then + if not song_bpms[1] then + text= "??? - ???" + elseif song_bpms[1] == song_bpms[2] then + text= format_bpm(song_bpms[1] * param.speed*.01) + else + text= format_bpm(song_bpms[1] * param.speed*.01) .. " - " .. + format_bpm(song_bpms[2] * param.speed*.01) + end + no_change= param.speed == 100 + elseif param.mode == "C" then + text= param.mode .. param.speed + no_change= param.speed == song_bpms[2] and song_bpms[1] == song_bpms[2] + else + no_change= param.speed == song_bpms[2] + if song_bpms[1] == song_bpms[2] then + text= param.mode .. param.speed + else + local factor= song_bpms[1] / song_bpms[2] + text= param.mode .. format_bpm(param.speed * factor) .. " - " + .. param.mode .. param.speed + end + end + self:settext(text) + if no_change then + self:queuecommand("BPMWillNotChange") + else + self:queuecommand("BPMWillChange") + end + end + } +} + +return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenQuickSetupOverview icon/_base.png b/Themes/legacy/Graphics/ScreenQuickSetupOverview icon/_base.png similarity index 100% rename from Themes/default/Graphics/ScreenQuickSetupOverview icon/_base.png rename to Themes/legacy/Graphics/ScreenQuickSetupOverview icon/_base.png diff --git a/Themes/default/Graphics/ScreenQuickSetupOverview icon/default.lua b/Themes/legacy/Graphics/ScreenQuickSetupOverview icon/default.lua similarity index 100% rename from Themes/default/Graphics/ScreenQuickSetupOverview icon/default.lua rename to Themes/legacy/Graphics/ScreenQuickSetupOverview icon/default.lua diff --git a/Themes/legacy/Graphics/ScreenRanking CourseDifficulty easy.redir b/Themes/legacy/Graphics/ScreenRanking CourseDifficulty easy.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenRanking CourseDifficulty easy.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenRanking CourseDifficulty hard.redir b/Themes/legacy/Graphics/ScreenRanking CourseDifficulty hard.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenRanking CourseDifficulty hard.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenRanking CourseDifficulty medium.redir b/Themes/legacy/Graphics/ScreenRanking CourseDifficulty medium.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenRanking CourseDifficulty medium.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenRanking Difficulty challenge.redir b/Themes/legacy/Graphics/ScreenRanking Difficulty challenge.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenRanking Difficulty challenge.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenRanking Difficulty easy.redir b/Themes/legacy/Graphics/ScreenRanking Difficulty easy.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenRanking Difficulty easy.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenRanking Difficulty hard.redir b/Themes/legacy/Graphics/ScreenRanking Difficulty hard.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenRanking Difficulty hard.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenRanking Difficulty medium.redir b/Themes/legacy/Graphics/ScreenRanking Difficulty medium.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenRanking Difficulty medium.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenRanking banner frame.redir b/Themes/legacy/Graphics/ScreenRanking banner frame.redir similarity index 100% rename from Themes/default/Graphics/ScreenRanking banner frame.redir rename to Themes/legacy/Graphics/ScreenRanking banner frame.redir diff --git a/Themes/default/Graphics/ScreenRanking bullets 1x5.png b/Themes/legacy/Graphics/ScreenRanking bullets 1x5.png similarity index 100% rename from Themes/default/Graphics/ScreenRanking bullets 1x5.png rename to Themes/legacy/Graphics/ScreenRanking bullets 1x5.png diff --git a/Themes/legacy/Graphics/ScreenRanking course frame.redir b/Themes/legacy/Graphics/ScreenRanking course frame.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenRanking course frame.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenRanking song frame.redir b/Themes/legacy/Graphics/ScreenRanking song frame.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenRanking song frame.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenRanking type dance-double.png b/Themes/legacy/Graphics/ScreenRanking type dance-double.png similarity index 100% rename from Themes/default/Graphics/ScreenRanking type dance-double.png rename to Themes/legacy/Graphics/ScreenRanking type dance-double.png diff --git a/Themes/default/Graphics/ScreenRanking type dance-single.png b/Themes/legacy/Graphics/ScreenRanking type dance-single.png similarity index 100% rename from Themes/default/Graphics/ScreenRanking type dance-single.png rename to Themes/legacy/Graphics/ScreenRanking type dance-single.png diff --git a/Themes/legacy/Graphics/ScreenSelectMusic AlternateHelpDisplay.lua b/Themes/legacy/Graphics/ScreenSelectMusic AlternateHelpDisplay.lua new file mode 100644 index 0000000000..e950ca90f1 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic AlternateHelpDisplay.lua @@ -0,0 +1,33 @@ +return Def.HelpDisplay { + File = THEME:GetPathF("HelpDisplay", "text"); + InitCommand=function(self) + local s = THEME:GetString(Var "LoadingScreen","AlternateHelpText"); + self:SetTipsColonSeparated(s); + end; + SetHelpTextCommand=function(self, params) + self:SetTipsColonSeparated( params.Text ); + end; +}; +--[[ local sString = THEME:GetString(Var "LoadingScreen","AlternateHelpText"); +local tItems = split(sString,"&"); + +local t = Def.ActorScroller { + NumItemsToDraw=#tItems; + SecondsPerItem=1.25; + TransformFunction=function( self, offset, itemIndex, numItems ) + self:x( offset*74 ); + end; + InitCommand=cmd(SetLoop,true); +-- OnCommand=cmd(scrollwithpadding,10,0); +}; + +for i=1,#tItems do + t[#t+1] = Def.ActorFrame { + LoadFont("HelpDisplay", "text") .. { + Text=tostring(tItems[i]); + OnCommand=THEME:GetMetric( Var "LoadingScreen","HelpOnCommand"); + }; + }; +end + +return t; --]] diff --git a/Themes/legacy/Graphics/ScreenSelectMusic BPMDisplay.lua b/Themes/legacy/Graphics/ScreenSelectMusic BPMDisplay.lua new file mode 100644 index 0000000000..097e6e92da --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic BPMDisplay.lua @@ -0,0 +1,7 @@ +return Def.BPMDisplay { + File=THEME:GetPathF("BPMDisplay", "bpm"); + Name="BPMDisplay"; + SetCommand=function(self) self:SetFromGameState() end; + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + CurrentCourseChangedMessageCommand=cmd(playcommand,"Set"); +}; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic BPMLabel.lua b/Themes/legacy/Graphics/ScreenSelectMusic BPMLabel.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic BPMLabel.lua rename to Themes/legacy/Graphics/ScreenSelectMusic BPMLabel.lua diff --git a/Themes/default/Graphics/ScreenSelectMusic BannerFrame.png b/Themes/legacy/Graphics/ScreenSelectMusic BannerFrame.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic BannerFrame.png rename to Themes/legacy/Graphics/ScreenSelectMusic BannerFrame.png diff --git a/Themes/legacy/Graphics/ScreenSelectMusic CourseContentsList.lua b/Themes/legacy/Graphics/ScreenSelectMusic CourseContentsList.lua new file mode 100644 index 0000000000..f645433b5c --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic CourseContentsList.lua @@ -0,0 +1,81 @@ +local transform = function(self,offsetFromCenter,itemIndex,numitems) + self:y( offsetFromCenter * 44 ); +end +return Def.CourseContentsList { + MaxSongs = 10; + NumItemsToDraw = 8; + ShowCommand=cmd(bouncebegin,0.3;zoomy,1); + HideCommand=cmd(linear,0.3;zoomy,0); + SetCommand=function(self) + self:SetFromGameState(); + self:SetCurrentAndDestinationItem(0); + self:SetPauseCountdownSeconds(1); + self:SetSecondsPauseBetweenItems( 0.25 ); + self:SetTransformFromFunction(transform); + -- + self:SetDestinationItem( math.max(0,self:GetNumItems() - 4) ); + self:SetLoop(false); + self:SetMask(0,0); + end; + CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); + CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); + + Display = Def.ActorFrame { + InitCommand=cmd(setsize,270,44); + + LoadActor(THEME:GetPathG("CourseEntryDisplay","bar")) .. { + SetSongCommand=function(self, params) + if params.Difficulty then + self:diffuse( CustomDifficultyToColor(params.Difficulty) ); + else + self:diffuse( color("#FFFFFF") ); + end + + (cmd(finishtweening;diffusealpha,0;sleep,0.125*params.Number;linear,0.125;diffusealpha,1;linear,0.05;glow,color("1,1,1,0.5");decelerate,0.1;glow,color("1,1,1,0")))(self); + end; + }; + + Def.TextBanner { + InitCommand=cmd(x,-128;y,1;Load,"TextBanner";SetFromString,"", "", "", "", "", ""); + SetSongCommand=function(self, params) + if params.Song then + if GAMESTATE:GetCurrentCourse():GetDisplayFullTitle() == "Abomination" then + -- abomination hack + if PREFSMAN:GetPreference("EasterEggs") then + if params.Number % 2 ~= 0 then + -- turkey march + local artist = params.Song:GetDisplayArtist(); + self:SetFromString( "Turkey", "", "", "", artist, "" ); + else + self:SetFromSong( params.Song ); + end; + else + self:SetFromSong( params.Song ); + end; + else + self:SetFromSong( params.Song ); + end; + self:diffuse( CustomDifficultyToColor(params.Difficulty) ); +-- self:glow("1,1,1,0.5"); + else + self:SetFromString( "??????????", "??????????", "", "", "", "" ); + self:diffuse( color("#FFFFFF") ); +-- self:glow("1,1,1,0"); + end + + (cmd(finishtweening;zoomy,0;sleep,0.125*params.Number;linear,0.125;zoomy,1.1;linear,0.05;zoomx,1.1;decelerate,0.1;zoom,1))(self); + end; + }; + + LoadFont("CourseEntryDisplay","difficulty") .. { + Text="0"; + InitCommand=cmd(x,114;y,0;zoom,0.75;shadowlength,1); + SetSongCommand=function(self, params) + if params.PlayerNumber ~= GAMESTATE:GetMasterPlayerNumber() then return end + self:settext( params.Meter ); + self:diffuse( CustomDifficultyToColor(params.Difficulty) ); + (cmd(finishtweening;zoomy,0;sleep,0.125*params.Number;linear,0.125;zoomy,1.1;linear,0.05;zoomx,1.1;decelerate,0.1;zoom,1))(self); + end; + }; + }; +}; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic NumCourseSongs.lua b/Themes/legacy/Graphics/ScreenSelectMusic CourseType.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic NumCourseSongs.lua rename to Themes/legacy/Graphics/ScreenSelectMusic CourseType.lua diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_background.png b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_background.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_background.png rename to Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_background.png diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Beginner.png b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Beginner.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Beginner.png rename to Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Beginner.png diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Challenge.png b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Challenge.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Challenge.png rename to Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Challenge.png diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Easy.png b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Easy.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Easy.png rename to Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Easy.png diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Edit.png b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Edit.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Edit.png rename to Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Edit.png diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Hard.png b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Hard.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Hard.png rename to Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Hard.png diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Medium.png b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Medium.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Medium.png rename to Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/_barpeice Medium.png diff --git a/Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua rename to Themes/legacy/Graphics/ScreenSelectMusic DifficultyDisplay/default.lua diff --git a/Themes/legacy/Graphics/ScreenSelectMusic DifficultyList.lua b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyList.lua new file mode 100644 index 0000000000..3c8c90295a --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic DifficultyList.lua @@ -0,0 +1,86 @@ +return Def.ActorFrame { + CurrentSongChangedMessageCommand=function(self) + local song = GAMESTATE:GetCurrentSong(); + if song then +-- self:setaux(0); + self:finishtweening(); + self:playcommand("TweenOn"); + elseif not song and self:GetZoomX() == 1 then +-- self:setaux(1); + self:finishtweening(); + self:playcommand("TweenOff"); + end; + end; + Def.Quad { + InitCommand=cmd(y,-14;zoomto,164,2;fadeleft,8/164;faderight,8/164); + OnCommand=cmd(diffuse,Color("Black");diffusealpha,0;linear,0.35;diffusealpha,0.5); + }; + Def.Quad { + InitCommand=cmd(y,24*(5)-10;zoomto,164,2;fadeleft,8/164;faderight,8/164); + OnCommand=cmd(diffuse,Color("Black");diffusealpha,0;linear,0.35;diffusealpha,0.5); + }; + Def.StepsDisplayList { + Name="StepsDisplayListRow"; + + CursorP1 = Def.ActorFrame { + InitCommand=cmd(x,-128+16;player,PLAYER_1); + PlayerJoinedMessageCommand=function(self, params) + if params.Player == PLAYER_1 then + self:visible(true); + (cmd(zoom,0;bounceend,1;zoom,1))(self); + end; + end; + PlayerUnjoinedMessageCommand=function(self, params) + if params.Player == PLAYER_1 then + self:visible(true); + (cmd(bouncebegin,1;zoom,0))(self); + end; + end; + LoadActor(THEME:GetPathG("_StepsDisplayListRow","Cursor")) .. { + InitCommand=cmd(diffuse,PlayerColor(PLAYER_1);x,8;zoom,0.75); + }; + LoadActor(THEME:GetPathG("_StepsDisplayListRow","arrow")) .. { + InitCommand=cmd(x,20;diffuse,PlayerColor(PLAYER_1)); + OnCommand=cmd(thump,1;effectmagnitude,1,1.25,1;effectclock,'beat';); + }; + LoadFont("Common Normal") .. { + Text="P1"; + InitCommand=cmd(x,2;diffuse,PlayerColor(PLAYER_1);shadowlength,1); + OnCommand=cmd(zoom,0.75); + }; + }; + CursorP2 = Def.ActorFrame { + InitCommand=cmd(x,128-16;player,PLAYER_2); + PlayerJoinedMessageCommand=function(self, params) + if params.Player == PLAYER_2 then + self:visible(true); + (cmd(zoom,0;bounceend,1;zoom,1))(self); + end; + end; + PlayerUnjoinedMessageCommand=function(self, params) + if params.Player == PLAYER_2 then + self:visible(true); + (cmd(bouncebegin,1;zoom,0))(self); + end; + end; + LoadActor(THEME:GetPathG("_StepsDisplayListRow","Cursor")) .. { + InitCommand=cmd(diffuse,PlayerColor(PLAYER_2);x,-8;zoom,0.75;zoomx,-0.75;); + }; + LoadActor(THEME:GetPathG("_StepsDisplayListRow","arrow")) .. { + InitCommand=cmd(x,-20;diffuse,PlayerColor(PLAYER_2);zoomx,-1); + OnCommand=cmd(thump,1;effectmagnitude,1,1.25,1;effectclock,'beat';); + }; + LoadFont("Common Normal") .. { + Text="P2"; + InitCommand=cmd(x,-2;diffuse,PlayerColor(PLAYER_2);shadowlength,1); + OnCommand=cmd(zoom,0.75); + }; + }; + CursorP1Frame = Def.Actor{ + ChangeCommand=cmd(stoptweening;decelerate,0.05); + }; + CursorP2Frame = Def.Actor{ + ChangeCommand=cmd(stoptweening;decelerate,0.05); + }; + }; +}; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic NewSong.lua b/Themes/legacy/Graphics/ScreenSelectMusic NewSong.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic NewSong.lua rename to Themes/legacy/Graphics/ScreenSelectMusic NewSong.lua diff --git a/Themes/default/Graphics/ScreenSelectMusic SongOptions.lua b/Themes/legacy/Graphics/ScreenSelectMusic NumCourseSongs.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic SongOptions.lua rename to Themes/legacy/Graphics/ScreenSelectMusic NumCourseSongs.lua diff --git a/Themes/default/Graphics/ScreenSelectMusic PaneDisplayFrame.png b/Themes/legacy/Graphics/ScreenSelectMusic PaneDisplayFrame.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic PaneDisplayFrame.png rename to Themes/legacy/Graphics/ScreenSelectMusic PaneDisplayFrame.png diff --git a/Themes/legacy/Graphics/ScreenSelectMusic PaneDisplayTextP1.lua b/Themes/legacy/Graphics/ScreenSelectMusic PaneDisplayTextP1.lua new file mode 100644 index 0000000000..8ca7f6ac39 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic PaneDisplayTextP1.lua @@ -0,0 +1 @@ +return LoadActor(THEME:GetPathG("PaneDisplay","Text"),PLAYER_1); \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenSelectMusic PaneDisplayTextP2.lua b/Themes/legacy/Graphics/ScreenSelectMusic PaneDisplayTextP2.lua new file mode 100644 index 0000000000..e85dd5eedd --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic PaneDisplayTextP2.lua @@ -0,0 +1 @@ +return LoadActor(THEME:GetPathG("PaneDisplay","Text"),PLAYER_2); \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic SegmentDisplay/_timingicons 4x2 (doubleres).png b/Themes/legacy/Graphics/ScreenSelectMusic SegmentDisplay/_timingicons 4x2 (doubleres).png similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic SegmentDisplay/_timingicons 4x2 (doubleres).png rename to Themes/legacy/Graphics/ScreenSelectMusic SegmentDisplay/_timingicons 4x2 (doubleres).png diff --git a/Themes/default/Graphics/ScreenSelectMusic SegmentDisplay/default.lua b/Themes/legacy/Graphics/ScreenSelectMusic SegmentDisplay/default.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic SegmentDisplay/default.lua rename to Themes/legacy/Graphics/ScreenSelectMusic SegmentDisplay/default.lua diff --git a/Themes/default/Graphics/ScreenSelectMusic SortOrderText.lua b/Themes/legacy/Graphics/ScreenSelectMusic SongOptions.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic SortOrderText.lua rename to Themes/legacy/Graphics/ScreenSelectMusic SongOptions.lua diff --git a/Themes/default/Graphics/ScreenSelectMusic SongOptionsFrame.lua b/Themes/legacy/Graphics/ScreenSelectMusic SongOptionsFrame.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic SongOptionsFrame.lua rename to Themes/legacy/Graphics/ScreenSelectMusic SongOptionsFrame.lua diff --git a/Themes/legacy/Graphics/ScreenSelectMusic SongOptionsText.lua b/Themes/legacy/Graphics/ScreenSelectMusic SongOptionsText.lua new file mode 100644 index 0000000000..784c3f5c19 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic SongOptionsText.lua @@ -0,0 +1,2 @@ +return LoadFont("Common Normal") .. { +}; \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenSelectMusic SongTime.lua b/Themes/legacy/Graphics/ScreenSelectMusic SongTime.lua new file mode 100644 index 0000000000..784c3f5c19 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic SongTime.lua @@ -0,0 +1,2 @@ +return LoadFont("Common Normal") .. { +}; \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectMusic SortOrderFrame.lua b/Themes/legacy/Graphics/ScreenSelectMusic SortOrderFrame.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectMusic SortOrderFrame.lua rename to Themes/legacy/Graphics/ScreenSelectMusic SortOrderFrame.lua diff --git a/Themes/legacy/Graphics/ScreenSelectMusic SortOrderText.lua b/Themes/legacy/Graphics/ScreenSelectMusic SortOrderText.lua new file mode 100644 index 0000000000..784c3f5c19 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic SortOrderText.lua @@ -0,0 +1,2 @@ +return LoadFont("Common Normal") .. { +}; \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenSelectMusic fallback cdtitle.redir b/Themes/legacy/Graphics/ScreenSelectMusic fallback cdtitle.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectMusic fallback cdtitle.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectPlayMode BackgroundFrame.png b/Themes/legacy/Graphics/ScreenSelectPlayMode BackgroundFrame.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode BackgroundFrame.png rename to Themes/legacy/Graphics/ScreenSelectPlayMode BackgroundFrame.png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/_background base (dither).png b/Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_background base (dither).png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode Icon/_background base (dither).png rename to Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_background base (dither).png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/_background effect.png b/Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_background effect.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode Icon/_background effect.png rename to Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_background effect.png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/_cutout.png b/Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_cutout.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode Icon/_cutout.png rename to Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_cutout.png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/_gloss.png b/Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_gloss.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode Icon/_gloss.png rename to Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_gloss.png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode Icon/_stroke.png b/Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_stroke.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode Icon/_stroke.png rename to Themes/legacy/Graphics/ScreenSelectPlayMode Icon/_stroke.png diff --git a/Themes/legacy/Graphics/ScreenSelectPlayMode Icon/default.lua b/Themes/legacy/Graphics/ScreenSelectPlayMode Icon/default.lua new file mode 100644 index 0000000000..e2b6cc9619 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectPlayMode Icon/default.lua @@ -0,0 +1,35 @@ +local gc = Var("GameCommand"); + +local string_name = gc:GetText() +local string_expl = THEME:GetString(Var "LoadingScreen", gc:GetName().."Explanation") +local icon_color = ModeIconColors[gc:GetName()]; + +local t = Def.ActorFrame {}; +t[#t+1] = Def.ActorFrame { + GainFocusCommand=cmd(stoptweening;bob;effectmagnitude,0,6,0;decelerate,0.05;zoom,1); + LoseFocusCommand=cmd(stoptweening;stopeffect;decelerate,0.1;zoom,0.6); + + LoadActor("_background base")..{ + InitCommand=cmd(diffuse,icon_color); + }; + LoadActor("_background effect"); + LoadActor("_gloss"); + LoadActor("_stroke"); + LoadActor("_cutout"); + + -- todo: generate a better font for these. + LoadFont("Common Large")..{ + Text=string.upper(string_name); + InitCommand=cmd(y,-12;maxwidth,232); + OnCommand=cmd(diffuse,Color.Black;shadowlength,1;shadowcolor,color("#ffffff77");skewx,-0.125); + }; + LoadFont("Common Normal")..{ + Text=string.upper(string_expl); + InitCommand=cmd(y,27.5;maxwidth,232); + }; + LoadActor("_background base") .. { + DisabledCommand=cmd(diffuse,color("0,0,0,0.5")); + EnabledCommand=cmd(diffuse,color("1,1,1,0")); + }; +}; +return t \ No newline at end of file diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/Easy.png b/Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Easy.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode scroller/Easy.png rename to Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Easy.png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/Endless (dither).png b/Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Endless (dither).png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode scroller/Endless (dither).png rename to Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Endless (dither).png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/Hard.png b/Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Hard.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode scroller/Hard.png rename to Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Hard.png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/Nonstop (dither).png b/Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Nonstop (dither).png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode scroller/Nonstop (dither).png rename to Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Nonstop (dither).png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/Normal.png b/Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Normal.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode scroller/Normal.png rename to Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Normal.png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/Oni (dither).png b/Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Oni (dither).png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode scroller/Oni (dither).png rename to Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Oni (dither).png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/Rave.png b/Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Rave.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode scroller/Rave.png rename to Themes/legacy/Graphics/ScreenSelectPlayMode scroller/Rave.png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/_HighlightFrame (dither).png b/Themes/legacy/Graphics/ScreenSelectPlayMode scroller/_HighlightFrame (dither).png similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode scroller/_HighlightFrame (dither).png rename to Themes/legacy/Graphics/ScreenSelectPlayMode scroller/_HighlightFrame (dither).png diff --git a/Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua b/Themes/legacy/Graphics/ScreenSelectPlayMode scroller/default.lua similarity index 100% rename from Themes/default/Graphics/ScreenSelectPlayMode scroller/default.lua rename to Themes/legacy/Graphics/ScreenSelectPlayMode scroller/default.lua diff --git a/Themes/default/Graphics/ScreenSelectProfile CardBackground.png b/Themes/legacy/Graphics/ScreenSelectProfile CardBackground.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectProfile CardBackground.png rename to Themes/legacy/Graphics/ScreenSelectProfile CardBackground.png diff --git a/Themes/default/Graphics/ScreenSelectProfile CardFrame.png b/Themes/legacy/Graphics/ScreenSelectProfile CardFrame.png similarity index 100% rename from Themes/default/Graphics/ScreenSelectProfile CardFrame.png rename to Themes/legacy/Graphics/ScreenSelectProfile CardFrame.png diff --git a/Themes/legacy/Graphics/ScreenSelectStyle Icon.lua b/Themes/legacy/Graphics/ScreenSelectStyle Icon.lua new file mode 100644 index 0000000000..5c4c8d4e2e --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectStyle Icon.lua @@ -0,0 +1,36 @@ +local gc = Var("GameCommand"); + +local string_name = gc:GetText(); +local string_expl = THEME:GetString("StyleType", gc:GetStyle():GetStyleType()); +local icon_color = color("#FFCB05"); +local icon_color2 = color("#F0BA00"); + +local t = Def.ActorFrame {}; +t[#t+1] = Def.ActorFrame { + GainFocusCommand=THEME:GetMetric(Var "LoadingScreen","IconGainFocusCommand"); + LoseFocusCommand=THEME:GetMetric(Var "LoadingScreen","IconLoseFocusCommand"); + + LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_background base"))..{ + InitCommand=cmd(diffuse,icon_color;diffusebottomedge,icon_color2); + }; + LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_background effect")); + LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_gloss")); + LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_stroke")); + LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_cutout")); + + LoadFont("Common Large")..{ + Text=string.upper(string_name); + InitCommand=cmd(y,-12;maxwidth,232); + OnCommand=cmd(diffuse,Color.Black;shadowlength,1;shadowcolor,color("#ffffff77");skewx,-0.125); + }; + LoadFont("Common Normal")..{ + Text=string.upper(string_expl); + InitCommand=cmd(y,27.5;maxwidth,232); + }; + + LoadActor(THEME:GetPathG("ScreenSelectPlayMode", "icon/_background base"))..{ + DisabledCommand=cmd(diffuse,color("0,0,0,0.5")); + EnabledCommand=cmd(diffuse,color("1,1,1,0")); + }; +}; +return t \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenSelectmusic score frame p1.redir b/Themes/legacy/Graphics/ScreenSelectmusic score frame p1.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectmusic score frame p1.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenSelectmusic score frame p2.redir b/Themes/legacy/Graphics/ScreenSelectmusic score frame p2.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenSelectmusic score frame p2.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage 1st.png b/Themes/legacy/Graphics/ScreenStageInformation stage 1st.png new file mode 100644 index 0000000000..fa61a920a3 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage 1st.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage 2nd.png b/Themes/legacy/Graphics/ScreenStageInformation stage 2nd.png new file mode 100644 index 0000000000..c5e7f7b7f7 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage 2nd.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage 3rd.png b/Themes/legacy/Graphics/ScreenStageInformation stage 3rd.png new file mode 100644 index 0000000000..e811600f0f Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage 3rd.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage 4th.png b/Themes/legacy/Graphics/ScreenStageInformation stage 4th.png new file mode 100644 index 0000000000..058bd81726 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage 4th.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage 5th.png b/Themes/legacy/Graphics/ScreenStageInformation stage 5th.png new file mode 100644 index 0000000000..9055624c6c Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage 5th.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage 6th.png b/Themes/legacy/Graphics/ScreenStageInformation stage 6th.png new file mode 100644 index 0000000000..66f44def11 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage 6th.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage endless.png b/Themes/legacy/Graphics/ScreenStageInformation stage endless.png new file mode 100644 index 0000000000..874013dacf Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage endless.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage event.png b/Themes/legacy/Graphics/ScreenStageInformation stage event.png new file mode 100644 index 0000000000..8b7df78ab9 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage event.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage extra1.png b/Themes/legacy/Graphics/ScreenStageInformation stage extra1.png new file mode 100644 index 0000000000..55f7b4936d Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage extra1.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage extra2.png b/Themes/legacy/Graphics/ScreenStageInformation stage extra2.png new file mode 100644 index 0000000000..a25c12e229 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage extra2.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage final.png b/Themes/legacy/Graphics/ScreenStageInformation stage final.png new file mode 100644 index 0000000000..2caa88eed2 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage final.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage nonstop.png b/Themes/legacy/Graphics/ScreenStageInformation stage nonstop.png new file mode 100644 index 0000000000..53f97a8004 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage nonstop.png differ diff --git a/Themes/legacy/Graphics/ScreenStageInformation stage oni.png b/Themes/legacy/Graphics/ScreenStageInformation stage oni.png new file mode 100644 index 0000000000..5ff9758f46 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenStageInformation stage oni.png differ diff --git a/Themes/legacy/Graphics/ScreenTitleMenu CurrentGametype.lua b/Themes/legacy/Graphics/ScreenTitleMenu CurrentGametype.lua new file mode 100644 index 0000000000..66d7596359 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu CurrentGametype.lua @@ -0,0 +1,8 @@ +local curGameName = GAMESTATE:GetCurrentGame():GetName(); + +local t = LoadFont("Common Normal") .. { + BeginCommand=function(self) + self:settextf( Screen.String("CurrentGametype"), curGameName ); + end; +}; +return t; \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenTitleMenu LifeDifficulty.lua b/Themes/legacy/Graphics/ScreenTitleMenu LifeDifficulty.lua new file mode 100644 index 0000000000..6e83094523 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu LifeDifficulty.lua @@ -0,0 +1,21 @@ +local label_text= false + +return Def.ActorFrame { + LoadFont("Common Normal") .. { + Text=GetLifeDifficulty(); + AltText=""; + InitCommand=cmd(horizalign,left;zoom,0.675); + OnCommand= function(self) + label_text= self + self:shadowlength(1):settextf(Screen.String("LifeDifficulty"), ""); + end, + }; + LoadFont("Common Normal") .. { + Text=GetLifeDifficulty(); + AltText=""; + InitCommand=cmd(zoom,0.675;halign,0); + OnCommand= function(self) + self:shadowlength(1):skewx(-0.125):x(label_text:GetZoomedWidth()+8) + end, + }; +}; diff --git a/Themes/legacy/Graphics/ScreenTitleMenu NetworkStatus.lua b/Themes/legacy/Graphics/ScreenTitleMenu NetworkStatus.lua new file mode 100644 index 0000000000..0f1ef18fe9 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu NetworkStatus.lua @@ -0,0 +1,41 @@ +local netConnected = IsNetConnected(); +local loggedOnSMO = IsNetSMOnline(); + +local t = Def.ActorFrame{ + Def.Quad { + InitCommand=cmd(y,-12;x,160;zoomto,320+32,38;vertalign,top;diffuse,Color.Black;diffusealpha,0.5); + OnCommand=cmd(faderight,0.45); + BeginCommand=function(self) + if netConnected then + self:zoomtoheight( 38 ); + else + self:zoomtoheight( 24 ); + end + end; + }; + LoadFont("Common Normal") .. { + InitCommand=cmd(uppercase,true;zoom,0.75;shadowlength,1;horizalign,left); + BeginCommand=function(self) + -- check network status + if netConnected then + self:diffuse( color("0.95,0.975,1,1") ); + self:diffusebottomedge( color("0.72,0.89,1,1") ); + self:settext( Screen.String("Network OK") ); + else + self:diffuse( color("1,1,1,1") ); + self:settext( Screen.String("Offline") ); + end; + end; + }; +}; + +if netConnected then + t[#t+1] = LoadFont("Common Normal") .. { + InitCommand=cmd(y,16;horizalign,left;zoom,0.5875;shadowlength,1;diffuse,color("0.72,0.89,1,1")); + BeginCommand=function(self) + self:settext( string.format(Screen.String("Connected to %s"), GetServerName()) ); + end; + }; +end; + +return t; \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenTitleMenu NumAdditionalSongs.lua b/Themes/legacy/Graphics/ScreenTitleMenu NumAdditionalSongs.lua new file mode 100644 index 0000000000..784c3f5c19 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu NumAdditionalSongs.lua @@ -0,0 +1,2 @@ +return LoadFont("Common Normal") .. { +}; \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenTitleMenu NumSongs.lua b/Themes/legacy/Graphics/ScreenTitleMenu NumSongs.lua new file mode 100644 index 0000000000..784c3f5c19 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu NumSongs.lua @@ -0,0 +1,2 @@ +return LoadFont("Common Normal") .. { +}; \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenTitleMenu PreferenceFrame.png b/Themes/legacy/Graphics/ScreenTitleMenu PreferenceFrame.png new file mode 100644 index 0000000000..0e04d83a89 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenTitleMenu PreferenceFrame.png differ diff --git a/Themes/legacy/Graphics/ScreenTitleMenu SystemDirection/default.lua b/Themes/legacy/Graphics/ScreenTitleMenu SystemDirection/default.lua new file mode 100644 index 0000000000..c9a5c0fc98 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu SystemDirection/default.lua @@ -0,0 +1,105 @@ +local t = Def.ActorFrame {}; +local tInfo = { + {"EventMode","Stages"}, + {"LifeDifficulty","Life"}, + {"TimingDifficulty","Difficulty"}, +}; +local fSpacingX = 72; +local function MakeDisplayBar( fZoomX, fZoomY ) + return Def.ActorFrame { + Def.Quad { + InitCommand=cmd(vertalign,bottom;y,1;zoomto,fZoomX+2,fZoomY+2); + OnCommand=cmd(diffuse,Color("Black")); + }; + Def.Quad { + InitCommand=cmd(vertalign,bottom;zoomto,fZoomX,fZoomY); + OnCommand=cmd(diffuse,Color("Orange");diffusetopedge,Color("Yellow")); + }; + }; +end +local function MakeIcon( sTarget ) + local t = Def.ActorFrame { + LoadActor(THEME:GetPathG("MenuTimer","Frame")); + LoadFont("Common Normal") .. { + Text=sTarget[2]; + InitCommand=cmd(y,24+2;zoom,0.5;shadowlength,1); + }; + -- + LoadFont("Common Normal") .. { + Text="0"; + OnCommand=cmd(settext, + ( PREFSMAN:GetPreference("EventMode") ) and "∞" or PREFSMAN:GetPreference("SongsPerPlay") + ); + Condition=sTarget[1] == "EventMode"; + }; + Def.ActorFrame { + -- Life goes up to 1-5 + Def.ActorFrame { + InitCommand=cmd(y,12); + MakeDisplayBar( 6, 5 ) .. { + InitCommand=cmd(x,-16;visible,( GetLifeDifficulty() >= 1 )); + }; + MakeDisplayBar( 6, 9 ) .. { + InitCommand=cmd(x,-8;visible,( GetLifeDifficulty() >= 2 )); + }; + MakeDisplayBar( 6, 13 ) .. { + InitCommand=cmd(x,0;visible,( GetLifeDifficulty() >= 3 )); + }; + MakeDisplayBar( 6, 16 ) .. { + InitCommand=cmd(x,8;visible,( GetLifeDifficulty() >= 4 )); + }; + MakeDisplayBar( 6, 20 ) .. { + InitCommand=cmd(x,16;visible,( GetLifeDifficulty() >= 5 )); + }; + }; + Condition=sTarget[1] == "LifeDifficulty"; + }; + Def.ActorFrame { + -- Timing goes up to 1-8 + Def.ActorFrame { + InitCommand=cmd(y,12); + MakeDisplayBar( 4, 5 ) .. { + InitCommand=cmd(x,-20;visible,( GetTimingDifficulty() >= 1 )); + }; + MakeDisplayBar( 4, 9 ) .. { + InitCommand=cmd(x,-15;visible,( GetTimingDifficulty() >= 2 )); + }; + MakeDisplayBar( 4, 13 ) .. { + InitCommand=cmd(x,-10;visible,( GetTimingDifficulty() >= 3 )); + }; + MakeDisplayBar( 4, 16 ) .. { + InitCommand=cmd(x,-5;visible,( GetTimingDifficulty() >= 4 )); + }; + MakeDisplayBar( 4, 20 ) .. { + InitCommand=cmd(x,5;visible,( GetTimingDifficulty() >= 5 )); + }; + MakeDisplayBar( 4, 20 ) .. { + InitCommand=cmd(x,10;visible,( GetTimingDifficulty() >= 6 )); + }; + MakeDisplayBar( 4, 20 ) .. { + InitCommand=cmd(x,15;visible,( GetTimingDifficulty() >= 7 )); + }; + MakeDisplayBar( 4, 20 ) .. { + InitCommand=cmd(x,20;visible,( GetTimingDifficulty() >= 8 )); + }; + }; + Condition=sTarget[1] == "TimingDifficulty"; + }; + -- +--[[ for i=1,8 do + t[#t+1] = Def.Quad { + InitCommand=cmd(vertalign,bottom;zoomto,4,10+(i*4)); + }; + end --]] + }; + return t +end; + +for i=1,#tInfo do + t[#t+1] = MakeIcon( tInfo[i] ) .. { + InitCommand=cmd(x,(i-1)*fSpacingX); + }; +end + +return t + diff --git a/Themes/legacy/Graphics/ScreenTitleMenu TimingDifficulty.lua b/Themes/legacy/Graphics/ScreenTitleMenu TimingDifficulty.lua new file mode 100644 index 0000000000..937c4ca915 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu TimingDifficulty.lua @@ -0,0 +1,26 @@ +local label_text= false +return Def.ActorFrame { + LoadFont("Common Normal") .. { + Text=GetTimingDifficulty(); + AltText=""; + InitCommand=cmd(horizalign,left;zoom,0.675); + OnCommand= function(self) + label_text= self + self:shadowlength(1):settextf(Screen.String("TimingDifficulty"), ""); + end, + }; + LoadFont("Common Normal") .. { + Text=GetTimingDifficulty(); + AltText=""; + InitCommand=cmd(x,136;zoom,0.675;halign,0); + OnCommand=function(self) + self:shadowlength(1):skewx(-0.125):x(label_text:GetZoomedWidth()+8) + if GetTimingDifficulty() == 9 then + self:settext(Screen.String("Hardest Timing")); + (cmd(zoom,0.5;diffuse,ColorLightTone( Color("Orange")) ))(self); + else + self:settext( GetTimingDifficulty() ); + end + end; + }; +}; diff --git a/Themes/legacy/Graphics/ScreenTitleMenu VersionInfo.lua b/Themes/legacy/Graphics/ScreenTitleMenu VersionInfo.lua new file mode 100644 index 0000000000..c566856ea0 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu VersionInfo.lua @@ -0,0 +1,14 @@ +return Def.ActorFrame { + LoadFont("Common Normal") .. { + Text=string.format("%s %s", ProductFamily(), ProductVersion()); + AltText="StepMania"; + InitCommand=cmd(zoom,0.675); + OnCommand=cmd(horizalign,right;shadowlength,1); + }; + LoadFont("Common Normal") .. { + Text=string.format("%s", VersionDate()); + AltText="Unknown Version"; + InitCommand=cmd(y,16;zoom,0.5); + OnCommand=cmd(horizalign,right;shadowlength,1); + }; +}; \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenTitleMenu cursor.lua b/Themes/legacy/Graphics/ScreenTitleMenu cursor.lua new file mode 100644 index 0000000000..9e10a78ff3 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu cursor.lua @@ -0,0 +1,8 @@ +local t = Def.ActorFrame { + Def.Quad { + InitCommand=cmd(zoomto,32,32); + OnCommand=cmd(spin); + }; +}; + +return t \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenTitleMenu logo/_arrow (dither).png b/Themes/legacy/Graphics/ScreenTitleMenu logo/_arrow (dither).png new file mode 100644 index 0000000000..a4ed9a0577 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenTitleMenu logo/_arrow (dither).png differ diff --git a/Themes/legacy/Graphics/ScreenTitleMenu logo/_text (dither).png b/Themes/legacy/Graphics/ScreenTitleMenu logo/_text (dither).png new file mode 100644 index 0000000000..bab66f6770 Binary files /dev/null and b/Themes/legacy/Graphics/ScreenTitleMenu logo/_text (dither).png differ diff --git a/Themes/legacy/Graphics/ScreenTitleMenu logo/default.lua b/Themes/legacy/Graphics/ScreenTitleMenu logo/default.lua new file mode 100644 index 0000000000..a92edf95a7 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu logo/default.lua @@ -0,0 +1,14 @@ +local t = Def.ActorFrame{ + InitCommand=cmd(fov,70); + LoadActor("_arrow")..{ + InitCommand=cmd(x,225;); + }; + LoadActor("_text"); + LoadActor("_text")..{ + Name="TextGlow"; + InitCommand=cmd(blend,Blend.Add;diffusealpha,0.05;); + OnCommand=cmd(glowshift;effectperiod,2.5;effectcolor1,color("1,1,1,0.25");effectcolor2,color("1,1,1,1");); + }; +}; + +return t; diff --git a/Themes/legacy/Graphics/ScreenTitleMenu scroll.lua b/Themes/legacy/Graphics/ScreenTitleMenu scroll.lua new file mode 100644 index 0000000000..481db13bb6 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenTitleMenu scroll.lua @@ -0,0 +1,16 @@ +local gc = Var("GameCommand"); + +return Def.ActorFrame { + Def.Quad{ + InitCommand=cmd(zoomto,256,26;fadeleft,0.45;faderight,0.45); + OnCommand=cmd(diffuseshift;effectcolor1,color("0,0,0,0.5");effectcolor2,color("0,0,0,0.5")); + GainFocusCommand=cmd(stoptweening;decelerate,0.1;zoomto,256,26;diffusealpha,1); + LoseFocusCommand=cmd(stoptweening;accelerate,0.1;zoomto,SCREEN_WIDTH,0;diffusealpha,0); + }; + LoadFont("Common Normal") .. { + Text=THEME:GetString("ScreenTitleMenu",gc:GetText()); + OnCommand=cmd(shadowlength,1); + GainFocusCommand=cmd(stoptweening;linear,0.1;zoom,1;diffuse,color("1,1,1,1")); + LoseFocusCommand=cmd(stoptweening;linear,0.1;zoom,0.75;diffuse,color("0.5,0.5,0.5,1")); + }; +}; \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenWithMenuElements Footer.lua b/Themes/legacy/Graphics/ScreenWithMenuElements Footer.lua new file mode 100644 index 0000000000..ac6939946e --- /dev/null +++ b/Themes/legacy/Graphics/ScreenWithMenuElements Footer.lua @@ -0,0 +1,12 @@ +local t = Def.ActorFrame {}; + +t[#t+1] = Def.Quad { + InitCommand=cmd(vertalign,bottom;zoomto,SCREEN_WIDTH,34;diffuse,color("#161616")); +}; + +t[#t+1] = LoadActor(THEME:GetPathG("ScreenWithMenuElements","header/Header")) .. { + InitCommand=cmd(y,-48;vertalign,bottom;zoomtowidth,SCREEN_WIDTH); + OnCommand=cmd(zoomy,-1;diffuse,color("#ffd400")); +}; + +return t; diff --git a/Themes/legacy/Graphics/ScreenWithMenuElements Help.lua b/Themes/legacy/Graphics/ScreenWithMenuElements Help.lua new file mode 100644 index 0000000000..fcb77351b2 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenWithMenuElements Help.lua @@ -0,0 +1,10 @@ +return Def.HelpDisplay { + File = THEME:GetPathF("HelpDisplay", "text"); + InitCommand=function(self) + local s = THEME:GetString(Var "LoadingScreen","HelpText"); + self:SetTipsColonSeparated(s); + end; + SetHelpTextCommand=function(self, params) + self:SetTipsColonSeparated( params.Text ); + end; +}; \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScreenWithMenuElements StageDisplay.lua b/Themes/legacy/Graphics/ScreenWithMenuElements StageDisplay.lua new file mode 100644 index 0000000000..777e055a14 --- /dev/null +++ b/Themes/legacy/Graphics/ScreenWithMenuElements StageDisplay.lua @@ -0,0 +1,40 @@ +local curScreen = Var "LoadingScreen"; +local curStageIndex = GAMESTATE:GetCurrentStageIndex(); +local t = Def.ActorFrame {}; + +t[#t+1] = Def.ActorFrame { + LoadFont("Common Normal") .. { + InitCommand=cmd(y,-1;shadowlength,1;); + BeginCommand=function(self) + local top = SCREENMAN:GetTopScreen() + if top then + if not string.find(top:GetName(),"ScreenEvaluation") then + curStageIndex = curStageIndex + 1 + end + end + self:playcommand("Set") + end; + CurrentSongChangedMessageCommand= cmd(playcommand,"Set"), + SetCommand=function(self) + local curStage = GAMESTATE:GetCurrentStage(); + if GAMESTATE:GetCurrentCourse() then + self:settext( curStageIndex+1 .. " / " .. GAMESTATE:GetCurrentCourse():GetEstimatedNumStages() ); + elseif GAMESTATE:IsEventMode() then + self:settextf("Stage %s", curStageIndex); + else + local thed_stage= thified_curstage_index(curScreen:find("Evaluation")) + if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then + self:settext(thed_stage) + self:zoom(0.75); + else + self:settextf("%s Stage", thed_stage); + self:zoom(1); + end; + end; + -- StepMania is being stupid so we have to do this here; + self:diffuse(StageToColor(curStage)); + self:diffusetopedge(ColorLightTone(StageToColor(curStage))); + end; + }; +}; +return t diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/Header.png b/Themes/legacy/Graphics/ScreenWithMenuElements header/Header.png similarity index 100% rename from Themes/default/Graphics/ScreenWithMenuElements header/Header.png rename to Themes/legacy/Graphics/ScreenWithMenuElements header/Header.png diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/_texture stripe (stretch).png b/Themes/legacy/Graphics/ScreenWithMenuElements header/_texture stripe (stretch).png similarity index 100% rename from Themes/default/Graphics/ScreenWithMenuElements header/_texture stripe (stretch).png rename to Themes/legacy/Graphics/ScreenWithMenuElements header/_texture stripe (stretch).png diff --git a/Themes/legacy/Graphics/ScreenWithMenuElements header/default.lua b/Themes/legacy/Graphics/ScreenWithMenuElements header/default.lua new file mode 100644 index 0000000000..c1e1aba54b --- /dev/null +++ b/Themes/legacy/Graphics/ScreenWithMenuElements header/default.lua @@ -0,0 +1,58 @@ +local t = Def.ActorFrame {}; + +local function Update(self) + local c = self:GetChildren(); + local bps = GAMESTATE:GetSongBPS() or 1 + c.TextureStripe:texcoordvelocity(bps/3,0); +end + +local function IsVisible() + local r = Screen.String("HeaderText"); + return string.len(r) > 0 and true or false +end + +t[#t+1] = Def.Quad { + InitCommand=cmd(vertalign,top;zoomto,SCREEN_WIDTH+1,50;diffuse,color("#161616")); +} +t[#t+1] = LoadActor("_texture stripe") .. { + Name="TextureStripe"; + InitCommand=cmd(x,-SCREEN_CENTER_X-8;y,-2;horizalign,left;vertalign,top;zoomto,320,50;customtexturerect,0,0,(320/2)/8,50/32); + OnCommand=cmd(texcoordvelocity,2,0;skewx,-0.0575;diffuse,color("#594300");diffuserightedge,color("#59430000")); +}; +t[#t+1] = LoadActor("Header") .. { + InitCommand=cmd(y,1;vertalign,top;zoomtowidth,SCREEN_WIDTH+1;diffuse,color("#ffd400")); + OnCommand=cmd(croptop,46/60); +}; + +t[#t+1] = LoadFont("Common Bold") .. { + Name="HeaderShadow"; + Text=Screen.String("HeaderText"); + InitCommand=cmd(x,-SCREEN_CENTER_X+26;y,28;zoom,1;horizalign,left;maxwidth,200); + OnCommand=cmd(visible,IsVisible();skewx,-0.125;diffuse,BoostColor(color("#ffd40077"),0.375);); + UpdateScreenHeaderMessageCommand=function(self,param) + self:settext(param.Header); + end; +}; + +t[#t+1] = Def.Quad { + Name="Underline"; + InitCommand=cmd(x,-SCREEN_CENTER_X+24-4;y,36;horizalign,left); + OnCommand=cmd(stoptweening;diffuse,color("#ffd400");shadowlength,2;shadowcolor,BoostColor(color("#ffd40077"),0.25);linear,0.25;zoomtowidth,192;fadeleft,8/192;faderight,0.5; + visible,string.len( Screen.String("HeaderText") ) > 0 ); +}; + +t[#t+1] = LoadFont("Common Bold") .. { + Name="HeaderText"; + Text=Screen.String("HeaderText"); + InitCommand=cmd(x,-SCREEN_CENTER_X+24;y,26;zoom,1;horizalign,left;shadowlength,0;maxwidth,200); + OnCommand=cmd(visible,IsVisible();skewx,-0.125;diffuse,color("#ffd400");); + UpdateScreenHeaderMessageCommand=function(self,param) + self:settext(param.Header); + end; +}; + +t.BeginCommand=function(self) + self:SetUpdateFunction( Update ); +end + +return t diff --git a/Themes/default/Graphics/ScreenWithMenuElements header/old _texture stripe.png b/Themes/legacy/Graphics/ScreenWithMenuElements header/old _texture stripe.png similarity index 100% rename from Themes/default/Graphics/ScreenWithMenuElements header/old _texture stripe.png rename to Themes/legacy/Graphics/ScreenWithMenuElements header/old _texture stripe.png diff --git a/Themes/legacy/Graphics/ScrollBar StretchThumb.redir b/Themes/legacy/Graphics/ScrollBar StretchThumb.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScrollBar StretchThumb.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/default/Graphics/ScrollBar TickThumb.lua b/Themes/legacy/Graphics/ScrollBar TickThumb.lua similarity index 100% rename from Themes/default/Graphics/ScrollBar TickThumb.lua rename to Themes/legacy/Graphics/ScrollBar TickThumb.lua diff --git a/Themes/legacy/Graphics/ScrollBar bottom.redir b/Themes/legacy/Graphics/ScrollBar bottom.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScrollBar bottom.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScrollBar middle.redir b/Themes/legacy/Graphics/ScrollBar middle.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScrollBar middle.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/legacy/Graphics/ScrollBar top.redir b/Themes/legacy/Graphics/ScrollBar top.redir new file mode 100644 index 0000000000..04b2ead777 --- /dev/null +++ b/Themes/legacy/Graphics/ScrollBar top.redir @@ -0,0 +1 @@ +_blank \ No newline at end of file diff --git a/Themes/default/Graphics/SongMeterDisplay frame p1.png b/Themes/legacy/Graphics/SongMeterDisplay frame p1.png similarity index 100% rename from Themes/default/Graphics/SongMeterDisplay frame p1.png rename to Themes/legacy/Graphics/SongMeterDisplay frame p1.png diff --git a/Themes/default/Graphics/SongMeterDisplay frame p2.redir b/Themes/legacy/Graphics/SongMeterDisplay frame p2.redir similarity index 100% rename from Themes/default/Graphics/SongMeterDisplay frame p2.redir rename to Themes/legacy/Graphics/SongMeterDisplay frame p2.redir diff --git a/Themes/default/Graphics/SongMeterDisplay stream p1.png b/Themes/legacy/Graphics/SongMeterDisplay stream p1.png similarity index 100% rename from Themes/default/Graphics/SongMeterDisplay stream p1.png rename to Themes/legacy/Graphics/SongMeterDisplay stream p1.png diff --git a/Themes/default/Graphics/SongMeterDisplay stream p2.redir b/Themes/legacy/Graphics/SongMeterDisplay stream p2.redir similarity index 100% rename from Themes/default/Graphics/SongMeterDisplay stream p2.redir rename to Themes/legacy/Graphics/SongMeterDisplay stream p2.redir diff --git a/Themes/default/Graphics/SongMeterDisplay tip p1.png b/Themes/legacy/Graphics/SongMeterDisplay tip p1.png similarity index 100% rename from Themes/default/Graphics/SongMeterDisplay tip p1.png rename to Themes/legacy/Graphics/SongMeterDisplay tip p1.png diff --git a/Themes/default/Graphics/SongMeterDisplay tip p2.redir b/Themes/legacy/Graphics/SongMeterDisplay tip p2.redir similarity index 100% rename from Themes/default/Graphics/SongMeterDisplay tip p2.redir rename to Themes/legacy/Graphics/SongMeterDisplay tip p2.redir diff --git a/Themes/default/Graphics/StepsDisplay StepsType.lua b/Themes/legacy/Graphics/StepsDisplay StepsType.lua similarity index 100% rename from Themes/default/Graphics/StepsDisplay StepsType.lua rename to Themes/legacy/Graphics/StepsDisplay StepsType.lua diff --git a/Themes/default/Graphics/StepsDisplay autogen/_badge.png b/Themes/legacy/Graphics/StepsDisplay autogen/_badge.png similarity index 100% rename from Themes/default/Graphics/StepsDisplay autogen/_badge.png rename to Themes/legacy/Graphics/StepsDisplay autogen/_badge.png diff --git a/Themes/default/Graphics/StepsDisplay autogen/default.lua b/Themes/legacy/Graphics/StepsDisplay autogen/default.lua similarity index 96% rename from Themes/default/Graphics/StepsDisplay autogen/default.lua rename to Themes/legacy/Graphics/StepsDisplay autogen/default.lua index f876d08158..060047ebed 100644 --- a/Themes/default/Graphics/StepsDisplay autogen/default.lua +++ b/Themes/legacy/Graphics/StepsDisplay autogen/default.lua @@ -1,17 +1,17 @@ -local t = Def.ActorFrame{}; - -t[#t+1] = LoadActor("_badge") .. { - InitCommand=cmd(shadowlength,1;diffuse,Color.Green;pulse;effectmagnitude,0.875,1,1;effecttiming,0,0,1,0 - effectclock,'beatnooffset';effectperiod,2); -}; -t[#t+1] = Def.Quad { - InitCommand=cmd(zoomto,40,20;diffuse,Color.Black; - diffusealpha,0.5;fadeleft,0.25;faderight,0.25); -}; -t[#t+1] = Def.BitmapText { - Font="Common Normal"; - Text="AG"; - InitCommand=cmd(shadowlength,1;zoom,0.875); -}; - +local t = Def.ActorFrame{}; + +t[#t+1] = LoadActor("_badge") .. { + InitCommand=cmd(shadowlength,1;diffuse,Color.Green;pulse;effectmagnitude,0.875,1,1;effecttiming,0,0,1,0 + effectclock,'beatnooffset';effectperiod,2); +}; +t[#t+1] = Def.Quad { + InitCommand=cmd(zoomto,40,20;diffuse,Color.Black; + diffusealpha,0.5;fadeleft,0.25;faderight,0.25); +}; +t[#t+1] = Def.BitmapText { + Font="Common Normal"; + Text="AG"; + InitCommand=cmd(shadowlength,1;zoom,0.875); +}; + return t; \ No newline at end of file diff --git a/Themes/default/Graphics/StepsDisplay frame.png b/Themes/legacy/Graphics/StepsDisplay frame.png similarity index 100% rename from Themes/default/Graphics/StepsDisplay frame.png rename to Themes/legacy/Graphics/StepsDisplay frame.png diff --git a/Themes/default/Graphics/StepsDisplayGameplay frame.png b/Themes/legacy/Graphics/StepsDisplayGameplay frame.png similarity index 100% rename from Themes/default/Graphics/StepsDisplayGameplay frame.png rename to Themes/legacy/Graphics/StepsDisplayGameplay frame.png diff --git a/Themes/legacy/Graphics/StepsDisplayListRow StepsType.lua b/Themes/legacy/Graphics/StepsDisplayListRow StepsType.lua new file mode 100644 index 0000000000..d79262b22b --- /dev/null +++ b/Themes/legacy/Graphics/StepsDisplayListRow StepsType.lua @@ -0,0 +1,29 @@ +local sString; +local t = Def.ActorFrame{ +--[[ LoadActor("TestStep") .. { + InitCommand=cmd(zoomto,20,20); + }; --]] + LoadFont("Common normal")..{ + InitCommand=cmd(shadowlength,1;horizalign,left;zoom,0.45;skewx,-0.125); + SetMessageCommand=function(self,param) + sString = THEME:GetString("StepsListDisplayRow StepsType",ToEnumShortString(param.StepsType)); + if param.Steps and param.Steps:IsAutogen() then + self:diffusebottomedge(color("0.75,0.75,0.75,1")); + else + self:diffuse(Color("White")); + end; + self:settext( sString ); + end; + }; + -- argh this isn't working as nicely as I would've hoped... + --[[ + Def.Sprite{ + SetMessageCommand=function(self,param) + self:Load( THEME:GetPathG("","_StepsType/"..ToEnumShortString(param.StepsType)) ); + self:diffusealpha(0.5); + end; + }; + --]] +}; + +return t; \ No newline at end of file diff --git a/Themes/legacy/Graphics/StepsDisplayListRow autogen.png b/Themes/legacy/Graphics/StepsDisplayListRow autogen.png new file mode 100644 index 0000000000..7f94b310c1 Binary files /dev/null and b/Themes/legacy/Graphics/StepsDisplayListRow autogen.png differ diff --git a/Themes/legacy/Graphics/StepsDisplayListRow frame.png b/Themes/legacy/Graphics/StepsDisplayListRow frame.png new file mode 100644 index 0000000000..3a02abfd2d Binary files /dev/null and b/Themes/legacy/Graphics/StepsDisplayListRow frame.png differ diff --git a/Themes/legacy/Graphics/StreamDisplay hot.png b/Themes/legacy/Graphics/StreamDisplay hot.png new file mode 100644 index 0000000000..447c2342dc Binary files /dev/null and b/Themes/legacy/Graphics/StreamDisplay hot.png differ diff --git a/Themes/legacy/Graphics/StreamDisplay normal.png b/Themes/legacy/Graphics/StreamDisplay normal.png new file mode 100644 index 0000000000..a697856e3f Binary files /dev/null and b/Themes/legacy/Graphics/StreamDisplay normal.png differ diff --git a/Themes/default/Graphics/StreamDisplay passing.redir b/Themes/legacy/Graphics/StreamDisplay passing.redir similarity index 100% rename from Themes/default/Graphics/StreamDisplay passing.redir rename to Themes/legacy/Graphics/StreamDisplay passing.redir diff --git a/Themes/default/Graphics/TestStep.png b/Themes/legacy/Graphics/TestStep.png similarity index 100% rename from Themes/default/Graphics/TestStep.png rename to Themes/legacy/Graphics/TestStep.png diff --git a/Themes/legacy/Graphics/WheelNotifyIcon icons 4x2 (doubleres).png b/Themes/legacy/Graphics/WheelNotifyIcon icons 4x2 (doubleres).png new file mode 100644 index 0000000000..d743c7abb6 Binary files /dev/null and b/Themes/legacy/Graphics/WheelNotifyIcon icons 4x2 (doubleres).png differ diff --git a/Themes/default/Graphics/_CombinedLifeMeterTug separator.png b/Themes/legacy/Graphics/_CombinedLifeMeterTug separator.png similarity index 100% rename from Themes/default/Graphics/_CombinedLifeMeterTug separator.png rename to Themes/legacy/Graphics/_CombinedLifeMeterTug separator.png diff --git a/Themes/default/Graphics/_GraphDisplay overlay.png b/Themes/legacy/Graphics/_GraphDisplay overlay.png similarity index 100% rename from Themes/default/Graphics/_GraphDisplay overlay.png rename to Themes/legacy/Graphics/_GraphDisplay overlay.png diff --git a/Themes/default/Graphics/_JudgmentLineLabel/_frame.png b/Themes/legacy/Graphics/_JudgmentLineLabel/_frame.png similarity index 100% rename from Themes/default/Graphics/_JudgmentLineLabel/_frame.png rename to Themes/legacy/Graphics/_JudgmentLineLabel/_frame.png diff --git a/Themes/default/Graphics/_JudgmentLineLabel/default.lua b/Themes/legacy/Graphics/_JudgmentLineLabel/default.lua similarity index 100% rename from Themes/default/Graphics/_JudgmentLineLabel/default.lua rename to Themes/legacy/Graphics/_JudgmentLineLabel/default.lua diff --git a/Themes/default/Graphics/_MusicWheelItem Roulette NormalPart.png b/Themes/legacy/Graphics/_MusicWheelItem Roulette NormalPart.png similarity index 100% rename from Themes/default/Graphics/_MusicWheelItem Roulette NormalPart.png rename to Themes/legacy/Graphics/_MusicWheelItem Roulette NormalPart.png diff --git a/Themes/default/Graphics/_SelectIcon 10Keys.png b/Themes/legacy/Graphics/_SelectIcon 10Keys.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon 10Keys.png rename to Themes/legacy/Graphics/_SelectIcon 10Keys.png diff --git a/Themes/default/Graphics/_SelectIcon 14Keys.png b/Themes/legacy/Graphics/_SelectIcon 14Keys.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon 14Keys.png rename to Themes/legacy/Graphics/_SelectIcon 14Keys.png diff --git a/Themes/default/Graphics/_SelectIcon 5Keys.png b/Themes/legacy/Graphics/_SelectIcon 5Keys.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon 5Keys.png rename to Themes/legacy/Graphics/_SelectIcon 5Keys.png diff --git a/Themes/default/Graphics/_SelectIcon 7Keys.png b/Themes/legacy/Graphics/_SelectIcon 7Keys.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon 7Keys.png rename to Themes/legacy/Graphics/_SelectIcon 7Keys.png diff --git a/Themes/default/Graphics/_SelectIcon Couple.png b/Themes/legacy/Graphics/_SelectIcon Couple.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Couple.png rename to Themes/legacy/Graphics/_SelectIcon Couple.png diff --git a/Themes/default/Graphics/_SelectIcon Double.png b/Themes/legacy/Graphics/_SelectIcon Double.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Double.png rename to Themes/legacy/Graphics/_SelectIcon Double.png diff --git a/Themes/default/Graphics/_SelectIcon Easy.png b/Themes/legacy/Graphics/_SelectIcon Easy.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Easy.png rename to Themes/legacy/Graphics/_SelectIcon Easy.png diff --git a/Themes/default/Graphics/_SelectIcon Endless.png b/Themes/legacy/Graphics/_SelectIcon Endless.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Endless.png rename to Themes/legacy/Graphics/_SelectIcon Endless.png diff --git a/Themes/default/Graphics/_SelectIcon Extended.png b/Themes/legacy/Graphics/_SelectIcon Extended.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Extended.png rename to Themes/legacy/Graphics/_SelectIcon Extended.png diff --git a/Themes/default/Graphics/_SelectIcon HalfDouble.png b/Themes/legacy/Graphics/_SelectIcon HalfDouble.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon HalfDouble.png rename to Themes/legacy/Graphics/_SelectIcon HalfDouble.png diff --git a/Themes/default/Graphics/_SelectIcon Hard.png b/Themes/legacy/Graphics/_SelectIcon Hard.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Hard.png rename to Themes/legacy/Graphics/_SelectIcon Hard.png diff --git a/Themes/default/Graphics/_SelectIcon KB7.png b/Themes/legacy/Graphics/_SelectIcon KB7.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon KB7.png rename to Themes/legacy/Graphics/_SelectIcon KB7.png diff --git a/Themes/default/Graphics/_SelectIcon Normal.png b/Themes/legacy/Graphics/_SelectIcon Normal.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Normal.png rename to Themes/legacy/Graphics/_SelectIcon Normal.png diff --git a/Themes/default/Graphics/_SelectIcon Oni.png b/Themes/legacy/Graphics/_SelectIcon Oni.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Oni.png rename to Themes/legacy/Graphics/_SelectIcon Oni.png diff --git a/Themes/default/Graphics/_SelectIcon Rave.png b/Themes/legacy/Graphics/_SelectIcon Rave.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Rave.png rename to Themes/legacy/Graphics/_SelectIcon Rave.png diff --git a/Themes/default/Graphics/_SelectIcon Routine.png b/Themes/legacy/Graphics/_SelectIcon Routine.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Routine.png rename to Themes/legacy/Graphics/_SelectIcon Routine.png diff --git a/Themes/default/Graphics/_SelectIcon Single.png b/Themes/legacy/Graphics/_SelectIcon Single.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Single.png rename to Themes/legacy/Graphics/_SelectIcon Single.png diff --git a/Themes/default/Graphics/_SelectIcon Solo.png b/Themes/legacy/Graphics/_SelectIcon Solo.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Solo.png rename to Themes/legacy/Graphics/_SelectIcon Solo.png diff --git a/Themes/default/Graphics/_SelectIcon Survival.png b/Themes/legacy/Graphics/_SelectIcon Survival.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Survival.png rename to Themes/legacy/Graphics/_SelectIcon Survival.png diff --git a/Themes/default/Graphics/_SelectIcon Versus.png b/Themes/legacy/Graphics/_SelectIcon Versus.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon Versus.png rename to Themes/legacy/Graphics/_SelectIcon Versus.png diff --git a/Themes/default/Graphics/_SelectIcon.png b/Themes/legacy/Graphics/_SelectIcon.png similarity index 100% rename from Themes/default/Graphics/_SelectIcon.png rename to Themes/legacy/Graphics/_SelectIcon.png diff --git a/Themes/legacy/Graphics/_StepsDisplayListRow Cursor.png b/Themes/legacy/Graphics/_StepsDisplayListRow Cursor.png new file mode 100644 index 0000000000..3cf3b78a37 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsDisplayListRow Cursor.png differ diff --git a/Themes/legacy/Graphics/_StepsDisplayListRow arrow.png b/Themes/legacy/Graphics/_StepsDisplayListRow arrow.png new file mode 100644 index 0000000000..4ccae23710 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsDisplayListRow arrow.png differ diff --git a/Themes/legacy/Graphics/_StepsType Icon dance-single.png b/Themes/legacy/Graphics/_StepsType Icon dance-single.png new file mode 100644 index 0000000000..3eee7ea478 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType Icon dance-single.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Dance_Double.png b/Themes/legacy/Graphics/_StepsType/Dance_Double.png new file mode 100644 index 0000000000..3f982162f3 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Dance_Double.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Dance_Single.png b/Themes/legacy/Graphics/_StepsType/Dance_Single.png new file mode 100644 index 0000000000..4ef3788d46 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Dance_Single.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Dance_Solo.png b/Themes/legacy/Graphics/_StepsType/Dance_Solo.png new file mode 100644 index 0000000000..a700df8315 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Dance_Solo.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Pump_Double.png b/Themes/legacy/Graphics/_StepsType/Pump_Double.png new file mode 100644 index 0000000000..d6f1c91c32 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Pump_Double.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Pump_HalfDouble.png b/Themes/legacy/Graphics/_StepsType/Pump_HalfDouble.png new file mode 100644 index 0000000000..a1a4364bea Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Pump_HalfDouble.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Pump_Single.png b/Themes/legacy/Graphics/_StepsType/Pump_Single.png new file mode 100644 index 0000000000..027f3bcee5 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Pump_Single.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Techno_Double4.png b/Themes/legacy/Graphics/_StepsType/Techno_Double4.png new file mode 100644 index 0000000000..3803321070 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Techno_Double4.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Techno_Double5.png b/Themes/legacy/Graphics/_StepsType/Techno_Double5.png new file mode 100644 index 0000000000..b863da5759 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Techno_Double5.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Techno_Single4.png b/Themes/legacy/Graphics/_StepsType/Techno_Single4.png new file mode 100644 index 0000000000..b07134a8b9 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Techno_Single4.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Techno_Single5.png b/Themes/legacy/Graphics/_StepsType/Techno_Single5.png new file mode 100644 index 0000000000..568db22a6d Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Techno_Single5.png differ diff --git a/Themes/legacy/Graphics/_StepsType/Techno_Single8.png b/Themes/legacy/Graphics/_StepsType/Techno_Single8.png new file mode 100644 index 0000000000..0c7fcd3640 Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/Techno_Single8.png differ diff --git a/Themes/legacy/Graphics/_StepsType/kb7.png b/Themes/legacy/Graphics/_StepsType/kb7.png new file mode 100644 index 0000000000..2bbfd53e8e Binary files /dev/null and b/Themes/legacy/Graphics/_StepsType/kb7.png differ diff --git a/Themes/default/Graphics/_combined life frame.png b/Themes/legacy/Graphics/_combined life frame.png similarity index 100% rename from Themes/default/Graphics/_combined life frame.png rename to Themes/legacy/Graphics/_combined life frame.png diff --git a/Themes/default/Graphics/_howto find.png b/Themes/legacy/Graphics/_howto find.png similarity index 100% rename from Themes/default/Graphics/_howto find.png rename to Themes/legacy/Graphics/_howto find.png diff --git a/Themes/default/Graphics/_howto install.png b/Themes/legacy/Graphics/_howto install.png similarity index 100% rename from Themes/default/Graphics/_howto install.png rename to Themes/legacy/Graphics/_howto install.png diff --git a/Themes/default/Graphics/_icon Health.png b/Themes/legacy/Graphics/_icon Health.png similarity index 100% rename from Themes/default/Graphics/_icon Health.png rename to Themes/legacy/Graphics/_icon Health.png diff --git a/Themes/default/Graphics/_icon Sort.png b/Themes/legacy/Graphics/_icon Sort.png similarity index 100% rename from Themes/default/Graphics/_icon Sort.png rename to Themes/legacy/Graphics/_icon Sort.png diff --git a/Themes/default/Graphics/_icon Timing.png b/Themes/legacy/Graphics/_icon Timing.png similarity index 100% rename from Themes/default/Graphics/_icon Timing.png rename to Themes/legacy/Graphics/_icon Timing.png diff --git a/Themes/legacy/Graphics/_rave meter base.png b/Themes/legacy/Graphics/_rave meter base.png new file mode 100644 index 0000000000..1a8f2f93eb Binary files /dev/null and b/Themes/legacy/Graphics/_rave meter base.png differ diff --git a/Themes/legacy/Graphics/_rave result P1.png b/Themes/legacy/Graphics/_rave result P1.png new file mode 100644 index 0000000000..d981299960 Binary files /dev/null and b/Themes/legacy/Graphics/_rave result P1.png differ diff --git a/Themes/legacy/Graphics/_rave result P2.png b/Themes/legacy/Graphics/_rave result P2.png new file mode 100644 index 0000000000..b124b1ca62 Binary files /dev/null and b/Themes/legacy/Graphics/_rave result P2.png differ diff --git a/Themes/legacy/Graphics/_rave result draw.png b/Themes/legacy/Graphics/_rave result draw.png new file mode 100644 index 0000000000..1da6c42218 Binary files /dev/null and b/Themes/legacy/Graphics/_rave result draw.png differ diff --git a/Themes/legacy/Graphics/pause_menu.lua b/Themes/legacy/Graphics/pause_menu.lua new file mode 100644 index 0000000000..6da3f7b44f --- /dev/null +++ b/Themes/legacy/Graphics/pause_menu.lua @@ -0,0 +1,238 @@ +course_stopped_by_pause_menu= false + +local prompt_text= { + Start= THEME:GetString("ScreenGameplay", "GiveUpStartText"), + Select= THEME:GetString("ScreenGameplay", "GiveUpSelectText"), + Back= THEME:GetString("ScreenGameplay", "GiveUpBackText"), +} +local prompt_actor= false + +local screen_gameplay= false +local menu_items= {[PLAYER_1]= {}, [PLAYER_2]= {}} +local menu_frames= {} +local menu_choices= { + "continue_playing", + "restart_song", + "forfeit_song", +} +if GAMESTATE:IsCourseMode() then + menu_choices= { + "continue_playing", + "skip_song", + "forfeit_course", + "end_course", + } +end +local menu_spacing= 32 +local menu_bg_width= _screen.w * .4 +local menu_text_width= _screen.w * .35 +local menu_x= {[PLAYER_1]= _screen.w*.25, [PLAYER_2]= _screen.w*.75} +local menu_y= _screen.cy - (#menu_choices * .5 * menu_spacing) +local current_menu_choice= {} +local menu_is_showing= {} +local enabled_players= {} + +local function create_menu_item(pn, x, y, item_name) + return Def.BitmapText{ + Font= "Common Normal", Text= THEME:GetString("PauseMenu", item_name), + InitCommand= function(self) + self:xy(x, y) + table.insert(menu_items[pn], self) + self:playcommand("LoseFocus") + end, + LoseFocusCommand= function(self) + self:stopeffect():rotationz(0) + end, + GainFocusCommand= function(self) + self:wag():effectperiod(2):effectmagnitude(0, 0, 5) + end, + } +end + +local function create_menu_frame(pn, x, y) + local frame= Def.ActorFrame{ + InitCommand= function(self) + self:xy(x, y):playcommand("Hide") + menu_frames[pn]= self + end, + ShowCommand= function(self) + self:visible(true) + end, + HideCommand= function(self) + self:visible(false) + end, + Def.Quad{ + InitCommand= function(self) + self:setsize(menu_bg_width, menu_spacing * (#menu_choices + 1)) + :y(-menu_spacing):vertalign(top) + :diffuse{0, 0, 0, .25} + :playcommand("Hide") + end, + }, + } + for i, choice in ipairs(menu_choices) do + frame[#frame+1]= create_menu_item(pn, 0, (i-1)*menu_spacing, choice) + end + return frame +end + +local function backout(screen) + screen_gameplay:SetPrevScreenName(screen):begin_backing_out() +end + +local function show_menu(pn) + menu_frames[pn]:playcommand("Show") + for i, item in ipairs(menu_items[pn]) do + item:playcommand("LoseFocus") + end + current_menu_choice[pn]= 1 + menu_items[pn][current_menu_choice[pn]]:playcommand("GainFocus") + menu_is_showing[pn]= true +end + +local function close_menu(pn) + menu_frames[pn]:playcommand("Hide") + menu_is_showing[pn]= false + local stay_paused= false + for pn, showing in pairs(menu_is_showing) do + if showing then + stay_paused= true + end + end + if not stay_paused then + local fg= screen_gameplay:GetChild("SongForeground") + if fg then fg:visible(old_fg_visible) end + screen_gameplay:PauseGame(false) + end +end + +local choice_actions= { + continue_playing= function(pn) + close_menu(pn) + end, + restart_song= function(pn) + backout("ScreenStageInformation") + end, + forfeit_song= function(pn) + backout(SelectMusicOrCourse()) + end, + skip_song= function(pn) + screen_gameplay:PostScreenMessage("SM_NotesEnded", 0) + end, + forfeit_course= function(pn) + backout(SelectMusicOrCourse()) + end, + end_course= function(pn) + course_stopped_by_pause_menu= true + screen_gameplay:PostScreenMessage("SM_NotesEnded", 0) + end, +} + +local menu_actions= { + Start= function(pn) + local choice_name= menu_choices[current_menu_choice[pn]] + if choice_actions[choice_name] then + choice_actions[choice_name](pn) + end + end, + Left= function(pn) + if current_menu_choice[pn] > 1 then + menu_items[pn][current_menu_choice[pn]]:playcommand("LoseFocus") + current_menu_choice[pn]= current_menu_choice[pn] - 1 + menu_items[pn][current_menu_choice[pn]]:playcommand("GainFocus") + end + end, + Right= function(pn) + if current_menu_choice[pn] < #menu_choices then + menu_items[pn][current_menu_choice[pn]]:playcommand("LoseFocus") + current_menu_choice[pn]= current_menu_choice[pn] + 1 + menu_items[pn][current_menu_choice[pn]]:playcommand("GainFocus") + end + end, +} +menu_actions.Up= menu_actions.Left +menu_actions.Down= menu_actions.Right +menu_actions.MenuLeft= menu_actions.Left +menu_actions.MenuRight= menu_actions.Right +menu_actions.MenuUp= menu_actions.Up +menu_actions.MenuDown= menu_actions.Down + +local function pause_and_show(pn) + gameplay_pause_count= gameplay_pause_count + 1 + screen_gameplay:PauseGame(true) + local fg= screen_gameplay:GetChild("SongForeground") + if fg then + old_fg_visible= fg:GetVisible() + fg:visible(false) + end + prompt_actor:playcommand("Hide") + show_menu(pn) +end + +local function show_prompt(button) + prompt_actor:playcommand("Show", {text= prompt_text[button]}) +end + +local function hide_prompt() + prompt_actor:playcommand("Hide") +end + +local function input(event) + local pn= event.PlayerNumber + if not enabled_players[pn] then return end + local button= event.GameButton + if not button then return end + if event.type == "InputEventType_Release" then return end + local is_paused= screen_gameplay:IsPaused() + if is_paused then + if menu_is_showing[pn] then + if menu_actions[button] then + menu_actions[button](pn) + return + end + else + if button == "Start" then + show_menu(pn) + return + end + end + end +end + +local frame= Def.ActorFrame{ + OnCommand= function(self) + screen_gameplay= SCREENMAN:GetTopScreen() + if screen_gameplay:GetName() == "ScreenGameplaySyncMachine" then return end + screen_gameplay:AddInputCallback(input) + end, + PlayerHitPauseMessageCommand= function(self, params) + pause_and_show(params.pn) + end, + ShowPausePromptMessageCommand= function(self, params) + show_prompt(params.button) + end, + HidePausePromptMessageCommand= function(self) + hide_prompt() + end, + pause_controller_actor(), + Def.BitmapText{ + Font= "Common Normal", InitCommand= function(self) + prompt_actor= self + self:xy(_screen.cx, _screen.h*.75):zoom(.75):diffusealpha(0) + end, + ShowCommand= function(self, param) + self:stoptweening():settext(param.text):accelerate(.25):diffusealpha(1) + :sleep(1):queuecommand("Hide") + end, + HideCommand= function(self) + self:stoptweening():decelerate(.25):diffusealpha(0) + end, + }, +} + +for i, pn in ipairs(GAMESTATE:GetEnabledPlayers()) do + enabled_players[pn]= true + frame[#frame+1]= create_menu_frame(pn, menu_x[pn], menu_y) +end + +return frame diff --git a/Themes/legacy/Languages/de.ini b/Themes/legacy/Languages/de.ini new file mode 100644 index 0000000000..9380cd97ad --- /dev/null +++ b/Themes/legacy/Languages/de.ini @@ -0,0 +1,253 @@ +[Screen] +HelpText=&BACK; Verlassen &START; Auswählen &SELECT; Optionen &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Bewegen + +[ScreenWithMenuElements] +HelpText=&BACK; Verlassen &START; Auswählen &MENULEFT;&MENURIGHT; Bewegen +StageCounter=%s Stufe +EventStageCounter=Stufe %03i + +[ScreenTitleMenu] +HelpText=&BACK; Verlassen &START; Auswählen &MENUUP;&MENUDOWN; Bewegen +Network OK=Netwerk OK +Offline=Offline +Connected to %s=Verbunden zu %s +CurrentGametype=Momentaner Spielstyp: %s +LifeDifficulty=Leben-Schwierigkeit: %s +TimingDifficulty=Timing-Schwierigkeit: %s +%i Songs (%i Groups), %i Courses=%i Lieder (%i Gruppen), %i Kurse + +[ScreenTitleJoin] +HelpText=Drücke &START; um zu spielen +HelpTextJoin=Drücke &START; um zu spielen +HelpTextWait=Guthaben erhöhen! +EventMode=Ereignis-Modus +JointPremiumMain=Joint Premium +JointPremiumSecondary=Two players can play with one credit! +DoublesPremiumMain=Doubles Premium +DoublesPremiumSecondary=Play doubles for one credit! + +[ScreenCaution] +HelpText=&START; Fortfahren + +[ScreenDemonstration] +Demonstration=Demonstration +%s - %s [from %s]=%s - %s\n[von %s] + +[ScreenQuickSetupOverview] +Explanation=Schnelleinrichtung bietet einen einfachen Weg um häufig-geränderte und nützliche Einstellungen vorzunehmen. + +[ScreenProfileLoad] +HelpText=... Lade Profile, bitte warten ... + +[ScreenSelectProfile] +%d Song Played=%d Lied gespielt +%d Songs Played=%d Lieder gespielt +PressStart=Drücke &START; um beizutreten. +HelpText=&MENUUP;&MENUDOWN; Profil wechseln &START; Auswählen/Beitreten &BACK; Deselektieren + +[ScreenSelectMaster] +HelpText=&BACK; Verlassen &START; Auswählen / Beitreten &MENULEFT;&MENURIGHT; Bewegen + +[ScreenSelectPlayMode] +HelpText=&BACK; Verlassen &START; Auswählen / Beitreten &MENULEFT;&MENURIGHT; Bewegen +EasyExplanation=Ein Modus für Anfänger. +HardExplanation=Für Experten. +OldNormalExplanation=Nicht zu einfach, nicht zu schwer. +NormalExplanation=Spiel all deine Lieblingslieder! +RaveExplanation=Kämpfe gegen einen Freund oder Gegner. +NonstopExplanation=Mehrere Lieder hintereinander +OniExplanation=Eine wahrhaftiger Test von Können. +EndlessExplanation=Es hört nicht auf, es geht einfach weiter. + +[ScreenSelectPlayStyle] +HelpText=&BACK; Verlassen &START; Auswählen &MENULEFT;&MENURIGHT; Bewegen + +[ScreenGameInformation] +HelpText=&BACK; Verlassen &START; Überspringen + +[ScreenSelectMusic] +NEW!=NEU! +Press Start For Options=Drücke &START; für Optionen +Entering Options=Betrete Optionen +HelpText=&BACK; Verlassen &START; Auswählen / Beitreten &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Bewegen::&AUXWHITE;+[KEY] Sortiere nach [KEY] +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Schwierigkeiten ändern &SELECT;+&START; Schnellsortierung + +[ScreenSelectCourse] +HelpText=&BACK; Verlassen &START; Auswählen / Beitreten &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Bewegen::&UP;&DOWN;&UP;&DOWN; für andere Kurs-Arten + +[ScreenOptions] +HelpText=&BACK; Verlassen &START; Auswählen &SELECT; Gehe hoch &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Bewegen +Disqualified=Punktestand wird disqulifiziert! + +[ScreenStageInformation] +HelpText= + +[ScreenGameplay] +HelpText= + +[ScreenHeartEntry] +Enter Heart Rate=Herzfrequenz eingeben +Song Length=Liedlänge +Heart Rate=Herzfrequenz + +[ScreenEvaluation] +HelpText=&BACK; Verlassen &START; Weiter machen &MENULEFT;+&MENURIGHT; oder &SELECT; Schnappschuss +LifeDifficulty=Leben-Schwierigkeit: %s +TimingDifficulty=Timing-Schwierigkeit: %s +MachineRecord=Maschinen-Rekord #%i! +PersonalRecord=Persönlicher Rekord #%i! +ITG DP:=ITG DP: +MIGS DP:=MIGS DP: + +[ScreenContinue] +HelpText=&START; Advance Timer + +[OptionTitles] +AutoSetStyle=Stil automatisch setzen +NotePosition=Notenpositionen +ComboOnRolls=Rolls Increment Combo +ComboUnderField=Combo Under Field + +GameplayShowScore=Show Score +GameplayShowStepsDisplay=Show Steps +ShowLotsaOptions=Options Density +LongFail=Fail Length +FlashyCombo=Flashy Combo +GameplayFooter=Gameplay Footer +FancyUIBG=Fancy UI Background +TimingDisplay=Timing Display + +[OptionExplanations] +AutoSetStyle=Allow the game to list all one player and two player modes at once instead of one style only. This might require a restart of StepMania (or press Shift+F2). +NotePosition=Determines where the arrow receptors are placed in gameplay. +ComboOnRolls=Choose if rolls should increment the combo or not. If you change this option, you will need to reload the metrics (via Shift+F2) for it to take effect. +ComboUnderField=Determine if the combo should display under the notes or not. + +GameplayShowScore=Show or Hide the score display in gameplay. +GameplayShowStepsDisplay=Show or Hide the step information display in gameplay. +ShowLotsaOptions=Choose how many lines/rows of options to choose from. &oq;Few&cq; keeps the list to a minimum. &oq;Many&cq; adds various show-off mods. +LongFail=Choose between the original "Long" sm-ssc fail or the "Short" fail adopted later. +FlashyCombo=Determine if combo flashes should be shown or not. +GameplayFooter=If on, displays a footer that blocks visibility of incoming arrows for a certain region ( DDR's score frame ). +FancyUIBG=Toggles the fancy background. "Off" is recommended for older computers. Changes will take effect at the title screen. +TimingDisplay=Toggles the display of timing segments on the song progress meter. + +ScoringType=Defines which scoring method to use. If Special is selected, you can select a Special Scoring Mode in Theme Options. + +Speed=Adjust the speed at which arrows travel toward the targets. +Accel=Change the way arrows approach the targets. +Effect=Change the size or movement of the arrows and/or targets. +Appearance=Control the visibilty of the arrows. +Turn=Change the step choreography by adjusting the position of arrows. +Insert=Add tap notes to the step choreography. +Holds=Turn some tap notes into hold notes. +Mines=Add or remove mine notes. +PlayerAutoPlay=Have the notefield play by itself. +ScoreDisplay=Change the way your score is shown. +ProTiming=Change the way your judgments are shown. +Scroll=Adjust the direction arrows flow to meet the targets. +NoteSkins=Choose a different appearance for the arrows. +Handicap=Removes notes. Using these will invalidate a high score. +Hide=Dark hides the receptors. Blind hides judgments. Cover hides the background. +Persp=Change the viewing angle of the arrow stream. +Steps=Adjust the difficulty of the steps. +Characters=Dancing buddies. +SaveToProfileHelp=Requires profile or memory card. +MusicRateHelp=Play the music at a faster rate. + +[StepsListDisplayRow StepsType] +Dance_Single=4 +Dance_Double=8 +Dance_Couple=8 +Dance_Solo=6 +Dance_Routine=8 +Dance_Threepanel=3 +Pump_Single=5 +Pump_Double=10 +Pump_Halfdouble=6 +Pump_Couple=5 +Pump_Routine=10 +Kb7_Single=7 +Ez2_Single=ES +Ez2_Double=ED +Ez2_Real=ER +Para_Single=PS +Ds3ddx_Single=XS +Bm_Single5=5 +Bm_Double5=10 +Bm_Single7=7 +Bm_Double7=14 +Maniax_Single=MS +Maniax_Double=MD +Techno_Single4=4 +Techno_Single5=5 +Techno_Single8=8 +Techno_Double4=D4 +Techno_Double5=D5 +Techno_Double8=D8 +Pnm_Five=5 +Pnm_Nine=9 +Guitar_Five=5 +Karaoke=V +Lights_Cabinet=! + +[ScreenHowToInstallSongs] +BodyHeader=How to Obtain and Install Songs for StepMania +Finding Songs=Where to Find Songs +Installing Songs=How to Install Songs +Importing Songs=Importing from existing StepMania installs +Reload Songs=Reload Songs +Exit=Back to Title Menu + +Explanation-WhereToFind=Launches a web page with information on finding songs for use with StepMania. +Explanation-HowToInstall=Launches a web page with song installation instructions. +Explanation-AdditionalFolders=If you have other installs of StepMania, you can use the AdditionalFolders preferences to load it into StepMania 5. +Explanation-ReloadSongs=Reload the songs. This is required if you've added/changed/deleted songs while StepMania is running. +Explanation-Exit=Return to the title menu. + +[OptionNames] +Custom=Special +Many=Viele +Few=Wenige +Normal=Normal +Lower=Lower +Short=Kurz +Long=Lang + +[ScreenTestInput] +HelpText=Halte &BACK; oder &START; um zu verlassen. + +[PaneDisplay] +Taps=Antipper +Jumps=Sprünge +Holds=Halter +Mines=Minen +Hands=Hände +Rolls=Rollen +Lifts=Heber +Fakes=Fälschungen +S=S +V=V +A=A +F=F +C=C + +[ScreenMapControllers] +Exit=Verlassen + +[ScreenGameOver] +GAME OVER=GAME OVER +Play again soon!=Spiel bald wieder! + +[ScreenHowToPlay] +How To Play StepMania=Wie man StepMania spielt +Information=Informationen + +Feet=Deine Füße werden zum Spielen verwendet! +Tap=Wenn die Pfeile zu diesem Punkt kommen,\ntritt auf die passenden Flächen. +Jump=Tritt auf beide Flächen, wenn zwei verschiedene\nPfeile zur selben Zeit auftauchen! +Miss=Wenn du oft daneben tretest, wird deine\nTanz-Anzeige abnehmen bis das Spiel\nvorbei ist! + + +[Protiming] +MS=MS diff --git a/Themes/legacy/Languages/en.ini b/Themes/legacy/Languages/en.ini new file mode 100644 index 0000000000..c279c97903 --- /dev/null +++ b/Themes/legacy/Languages/en.ini @@ -0,0 +1,266 @@ +[Screen] +HelpText=&BACK; Exit &START; Select &SELECT; Options &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move + +[ScreenWithMenuElements] +HelpText=&BACK; Exit &START; Select &MENULEFT;&MENURIGHT; Move +StageCounter=%s Stage +EventStageCounter=Stage %03i + +[ScreenTitleMenu] +HelpText=&BACK; Exit &START; Select &MENUUP;&MENUDOWN; Move +Network OK=Network OK +Offline=Offline +Connected to %s=Connected to %s +CurrentGametype=Current Gametype: %s +LifeDifficulty=Life Difficulty: %s +TimingDifficulty=Timing Difficulty: %s +%i Songs (%i Groups), %i Courses=%i Songs (%i Groups), %i Courses + +[ScreenTitleJoin] +HelpText=Press &START; to Play +HelpTextJoin=Press &START; to Play +HelpTextWait=Insert Credits! +EventMode=Event Mode +JointPremiumMain=Joint Premium +JointPremiumSecondary=Two players can play with one credit! +DoublesPremiumMain=Doubles Premium +DoublesPremiumSecondary=Play doubles for one credit! + +[ScreenCaution] +HelpText=&START; Continue + +[ScreenDemonstration] +Demonstration=Demonstration +%s - %s [from %s]=%s - %s\n[from %s] + +[ScreenQuickSetupOverview] +Explanation=Quick Setup provides a easy way to set commonly-changed and useful preferences. + +[ScreenProfileLoad] +HelpText=... Loading profiles, please wait ... + +[ScreenSelectProfile] +%d Song Played=%d Song Played +%d Songs Played=%d Songs Played +PressStart=Press &START; to join. +HelpText=&MENUUP;&MENUDOWN; Switch Profile &START; Choose/Join &BACK; Unselect + +[ScreenSelectMaster] +HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move + +[ScreenSelectPlayMode] +HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move +EasyExplanation=A mode for beginners. +HardExplanation=For experts. +OldNormalExplanation=Not too easy, not too hard. +NormalExplanation=Play all your favorite songs! +RaveExplanation=Battle against friend or foe. +NonstopExplanation=Several Songs in a row +OniExplanation=A true test of skill. +EndlessExplanation=It don't stop, it keep rollin'. + +[ScreenSelectPlayStyle] +HelpText=&BACK; Exit &START; Select &MENULEFT;&MENURIGHT; Move + +[ScreenGameInformation] +HelpText=&BACK; Exit &START; Skip + +[ScreenSelectMusic] +NEW!=NEW! +Press Start For Options=Press &START; for Options +Entering Options=Entering Options +HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&AUXWHITE;+[KEY] Sort To [KEY] +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Change Difficulties &SELECT;+&START; Quick Sort + +[ScreenSelectCourse] +HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&UP;&DOWN;&UP;&DOWN; for other course types + +[ScreenOptions] +HelpText=&BACK; Exit &START; Choose &SELECT; Go Up &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move +Disqualified=Score will be disqualified! + +[ScreenStageInformation] +HelpText= + +[ScreenGameplay] +GiveUpAbortedText= +GiveUpStartText=Double tap &START; to access menu +GiveUpSelectText=Double tap &SELECT; to access menu +GiveUpBackText=Double tap &BACK; to access menu +HelpText= + +[PauseMenu] +continue_playing=Continue Playing +end_course=End Course +forfeit_course=Forfeit Course +forfeit_song=Forfeit Song +pause_count=Pause Count +restart_song=Restart Song +skip_song=Skip Song + +[ScreenHeartEntry] +Enter Heart Rate=Enter Heart Rate +Song Length=Song Length +Heart Rate=Heart Rate + +[ScreenEvaluation] +HelpText=&BACK; Exit &START; Move On &MENULEFT;+&MENURIGHT; or &SELECT; Snapshot +LifeDifficulty=Life Difficulty: %s +TimingDifficulty=Timing Difficulty: %s +MachineRecord=Machine Record #%i! +PersonalRecord=Personal Record #%i! +ITG DP:=ITG DP: +MIGS DP:=MIGS DP: + +[ScreenContinue] +HelpText=&START; Advance Timer + +[OptionTitles] +AutoSetStyle=Auto Set Style +NotePosition=Note Positions +ComboOnRolls=Rolls Increment Combo +ComboUnderField=Combo Under Field + +GameplayShowScore=Show Score +GameplayShowStepsDisplay=Show Steps +ShowLotsaOptions=Options Density +LongFail=Fail Length +FlashyCombo=Flashy Combo +GameplayFooter=Gameplay Footer +FancyUIBG=Fancy UI Background +TimingDisplay=Timing Display + +[OptionExplanations] +AutoSetStyle=Allow the game to list all one player and two player modes at once instead of one style only. This might require a restart of StepMania (or press Shift+F2). +NotePosition=Determines where the arrow receptors are placed in gameplay. +ComboOnRolls=Choose if rolls should increment the combo or not. If you change this option, you will need to reload the metrics (via Shift+F2) for it to take effect. +ComboUnderField=Determine if the combo should display under the notes or not. + +GameplayShowScore=Show or Hide the score display in gameplay. +GameplayShowStepsDisplay=Show or Hide the step information display in gameplay. +ShowLotsaOptions=Choose how many lines/rows of options to choose from. &oq;Few&cq; keeps the list to a minimum. &oq;Many&cq; adds various show-off mods. +LongFail=Choose between the original "Long" sm-ssc fail or the "Short" fail adopted later. +FlashyCombo=Determine if combo flashes should be shown or not. +GameplayFooter=If on, displays a footer that blocks visibility of incoming arrows for a certain region ( DDR's score frame ). +FancyUIBG=Toggles the fancy background. "Off" is recommended for older computers. Changes will take effect at the title screen. +TimingDisplay=Toggles the display of timing segments on the song progress meter. + +ScoringType=Defines which scoring method to use. If Special is selected, you can select a Special Scoring Mode in Theme Options. + +Speed=Adjust the speed at which arrows travel toward the targets. +Accel=Change the way arrows approach the targets. +Effect=Change the size or movement of the arrows and/or targets. +Appearance=Control the visibilty of the arrows. +Turn=Change the step choreography by adjusting the position of arrows. +Insert=Add tap notes to the step choreography. +Holds=Turn some tap notes into hold notes. +Mines=Add or remove mine notes. +PlayerAutoPlay=Have the notefield play by itself. +ScoreDisplay=Change the way your score is shown. +ProTiming=Change the way your judgments are shown. +Scroll=Adjust the direction arrows flow to meet the targets. +NoteSkins=Choose a different appearance for the arrows. +Handicap=Removes notes. Using these will invalidate a high score. +Hide=Dark hides the receptors. Blind hides judgments. Cover hides the background. +Persp=Change the viewing angle of the arrow stream. +Steps=Adjust the difficulty of the steps. +Characters=Dancing buddies. +SaveToProfileHelp=Requires profile or memory card. +MusicRateHelp=Play the music at a faster rate. + +[StepsListDisplayRow StepsType] +Dance_Single=4 +Dance_Double=8 +Dance_Couple=8 +Dance_Solo=6 +Dance_Routine=8 +Dance_Threepanel=3 +Pump_Single=5 +Pump_Double=10 +Pump_Halfdouble=6 +Pump_Couple=5 +Pump_Routine=10 +Kb7_Single=7 +Ez2_Single=ES +Ez2_Double=ED +Ez2_Real=ER +Para_Single=PS +Ds3ddx_Single=XS +Bm_Single5=5 +Bm_Double5=10 +Bm_Single7=7 +Bm_Double7=14 +Maniax_Single=MS +Maniax_Double=MD +Techno_Single4=4 +Techno_Single5=5 +Techno_Single8=8 +Techno_Double4=D4 +Techno_Double5=D5 +Techno_Double8=D8 +Pnm_Five=5 +Pnm_Nine=9 +Guitar_Five=5 +Karaoke=V +Lights_Cabinet=! + +[ScreenHowToInstallSongs] +BodyHeader=How to Obtain and Install Songs for StepMania +Finding Songs=Where to Find Songs +Installing Songs=How to Install Songs +Importing Songs=Importing from existing StepMania installs +Reload Songs=Reload Songs +Exit=Back to Title Menu + +Explanation-WhereToFind=Launches a web page with information on finding songs for use with StepMania. +Explanation-HowToInstall=Launches a web page with song installation instructions. +Explanation-AdditionalFolders=If you have other installs of StepMania, you can use the AdditionalFolders preferences to load it into StepMania 5. +Explanation-ReloadSongs=Reload the songs. This is required if you've added/changed/deleted songs while StepMania is running. +Explanation-Exit=Return to the title menu. + +[OptionNames] +Custom=Special +Many=Many +Few=Few +Normal=Normal +Lower=Lower +Short=Short +Long=Long + +[ScreenTestInput] +HelpText=Hold &BACK; or &START; to exit. + +[PaneDisplay] +Taps=Taps +Jumps=Jumps +Holds=Holds +Mines=Mines +Hands=Hands +Rolls=Rolls +Lifts=Lifts +Fakes=Fakes +S=S +V=V +A=A +F=F +C=C + +[ScreenMapControllers] +Exit=Exit + +[ScreenGameOver] +GAME OVER=GAME OVER +Play again soon!=Play again soon! + +[ScreenHowToPlay] +How To Play StepMania=How To Play StepMania +Information=Information + +Feet=Your feet will be used to play! +Tap=When the arrows rise to this point,\nstep on the matching panels. +Jump=Step on both panels if two different\narrows appear at the same time! +Miss=If you misstep repeatedly, your dance\ngauge will decrease until the game\nis over! + + +[Protiming] +MS=MS diff --git a/Themes/legacy/Languages/es.ini b/Themes/legacy/Languages/es.ini new file mode 100644 index 0000000000..ab8baefc77 --- /dev/null +++ b/Themes/legacy/Languages/es.ini @@ -0,0 +1,254 @@ +[KEY] Sort To [KEY] +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Cambiar dificultad &SELECT;+&START; Orden rápido + +[Screen] +HelpText=&BACK; Salir &START; Seleccionar &SELECT; Opciones &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Mover + +[ScreenWithMenuElements] +HelpText=&BACK; Salir &START; Seleccionar &MENULEFT;&MENURIGHT; Mover +StageCounter=Fase %s +EventStageCounter=Fase %03i + +[ScreenTitleMenu] +HelpText=&BACK; Salir &START; Seleccionar &MENUUP;&MENUDOWN; Mover +Network OK=Conexión OK +Offline=Sin conexión +Connected to %s=Conectado a %s +CurrentGametype=Tipo de juego: %s +LifeDifficulty=Dificultad vida: %s +TimingDifficulty=Dificultad ritmo: %s +%i Songs (%i Groups), %i Courses=%i canciones (%i grupos), %i cursos + +[ScreenTitleJoin] +HelpText=Pulsa &START; para jugar +HelpTextJoin=Pulsa &START; para jugar +HelpTextWait=Inserta créditos... +EventMode=Modo evento +JointPremiumMain=Premium mixto +JointPremiumSecondary=¡Con un crédito pueden participar dos jugadores! +DoublesPremiumMain=Premium dobles +DoublesPremiumSecondary=¡Con un crédito puedes jugar a dobles! + +[ScreenDemonstration] +Demonstration=Demostración + +[ScreenQuickSetupOverview] +Explanation=La configuración rápida te permite cambiar opciones comunes de forma sencilla. + +[ScreenProfileLoad] +HelpText=Cargando perfiles... + +[ScreenSelectProfile] +%d Song Played=%d canción jugada +%d Songs Played=%d canciones jugadas +PressStart=Presiona\n&START;\npara unirte +HelpText=&MENUUP;&MENUDOWN; Cambiar perfil &START; Elegir/Unirse &BACK; Deseleccionar + +[ScreenSelectMaster] +HelpText=&BACK; Salir &START; Elegir/Unirse &MENULEFT;&MENURIGHT; Mover + +[ScreenSelectPlayMode] +HelpText=&BACK; Salir &START; Elegir/Unirse &MENULEFT;&MENURIGHT; Mover +EasyExplanation=Modalidad para principiantes +HardExplanation=Solo para expertos +OldNormalExplanation=Ni muy fácil, ni muy difícil +NormalExplanation=¡Juega con tus canciones favoritas! +RaveExplanation=Lucha contra un amigo o rival +ExtendedExplanation=Varias canciones seguidas +OniExplanation=Pon a prueba tu habilidad +EndlessExplanation=A tope y sin parar +NonstopExplanation=Varias canciones seguidas + +[ScreenSelectPlayStyle] +HelpText=&BACK; Salir &START; Elegir &MENULEFT;&MENURIGHT; Mover + +[ScreenGameInformation] +HelpText=&BACK; Salir &START; Ignorar + +[ScreenSelectMusic] +NEW!=¡NUEVA! +Press Start For Options=Pulsa &START; para ver más opciones +Entering Options=Accediendo al menú +HelpText=&BACK; Salir &START; Elegir/Unirse &SELECT; Códigos especiales &MENULEFT;&MENURIGHT; Mover::&AUXWHITE;+[TECLA] Ordenar por letra [TECLA] +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Cambiar dificultad &SELECT;+&START; Organización rápida + +[ScreenSelectCourse] +HelpText=&BACK; Salir &START; Elegir/Unirse &SELECT; Códigos especiales &MENULEFT;&MENURIGHT; Mover::&UP;,&DOWN;,&UP;,&DOWN; para otros cursos + +[ScreenOptions] +HelpText=&BACK; Salir &START; Elegir &SELECT; Atrás &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Mover +Disqualified=¡La puntuación será descalificada! + +[ScreenStageInformation] +HelpText= + +[ScreenGameplay] +HelpText= + +[ScreenEvaluation] +HelpText=&BACK; Salir &START; Continuar &MENULEFT;+&MENURIGHT; o &SELECT; Captura +LifeDifficulty=Dificultad vida: %s +TimingDifficulty=Dificultad ritmo: %s +MachineRecord=Récord de esta máquina: %i +PersonalRecord=Récord personal: %i +ITG DP:=DP ITG: +MIGS DP:=DP MIGS: + +[OptionTitles] +AutoSetStyle=Selección automática +NotePosition=Posición de notas +ComboOnRolls=Repes combos +ComboUnderField=Combo bajo las notas + +GameplayShowScore=Mostrar puntuación +GameplayShowStepsDisplay=Mostrar pasos +ShowLotsaOptions=Número opciones +LongFail=Tiempo de fallo +FlashyCombo=Combo animado +GameplayFooter=Interfaz al pie +FancyUIBG=Fondo animado +TimingDisplay=Mostrar duración + +[OptionExplanations] +AutoSetStyle=Permite que el juego liste todos los modos de uno y dos jugadores. Es necesario que StepMania se reinicie (o pulsar Mayús+F2). +NotePosition=Determina dónde se colocan los receptores de flechas en el juego. +ComboOnRolls=Elige si los repes incrementan el combo o no. +ComboUnderField=Determina si el combo debe aparecer bajo las notas o no. + +GameplayShowScore=Muestra u oculta la puntuación en el juego. +GameplayShowStepsDisplay=Muestra u oculta la información de pasos en el juego. +ShowLotsaOptions=Escoge cuántas líneas o filas de opciones escoger.\nPOCAS mantiene el mínimo; MUCHAS añade varias modificaciones. +LongFail=Escoge entre la pantalla de fallo LARGA de sm-ssc o la CORTA adoptada más tarde. +FlashyCombo=Determina si los flashes del combo deben mostrarse. +GameplayFooter=Si está activado, muestra un mensaje al pie de la pantalla que bloquea la visibilidad de las flechas (pantalla de puntuación DDR). +FancyUIBG=Activa el fondo animado. Se recomienda desactivarlo en ordenadores\nno muy potentes. Los cambios se verán en la pantalla de título. +TimingDisplay=Activa la visualización de segmentos de sincronización\nen la barra de progreso de la canción. + +ScoringType=Define qué método de puntuación emplear. Si se selecciona Especial, puedes escoger un modo de puntuación especial en el menú de opciones. + +Speed=Cambia la velocidad de las flechas. +Accel=Cambia la forma en la que las flechas se acercan al objetivo. +Effect=Cambia el tamaño o el movimiento de las flechas u objetivos. +Appearance=Cambia el aspecto de las flechas. +Turn=Cambia la coreografía de los pasos. +Insert=Añade pasos a la coreografía del baile. +Holds=Activa o desactiva flechas que hay que mantener. +Mines=Activa o desactiva las minas. +PlayerAutoPlay=Juega y reproduce los pasos automáticamente. +ScoreDisplay=Cambia la forma en la que se muestra la puntuación. +ProTiming=Cambia la forma en la que se muestran los juicios. +Scroll=Cambia la orientación del área de pasos. +NoteSkins=Cambia el diseño de las flechas. +Handicap=Elimina ciertos pasos. Si se activa, no tendrás acceso a la tabla de récords. +Hide=Oscuro cambia los receptores. A ciegas cambia el juicio. Cubrir oculta el fondo. +Persp=Cambia el ángulo de visión del flujo de flechas. +Steps=Selecciona la dificultad de los pasos. +Characters=Personajes de baile. +SaveToProfileHelp=Necesita un perfil o tarjeta de memoria. +MusicRateHelp=Reproduce la música más rápido. + +[StepsListDisplayRow StepsType] +Dance_Single=4 +Dance_Double=8 +Dance_Couple=8 +Dance_Solo=6 +Dance_Routine=8 +Dance_Threepanel=3 +Pump_Single=5 +Pump_Double=10 +Pump_Halfdouble=6 +Pump_Couple=5 +Pump_Routine=10 +Kb7_Single=7 +Ez2_Single=ES +Ez2_Double=ED +Ez2_Real=ER +Para_Single=PS +Ds3ddx_Single=XS +Bm_Single5=5 +Bm_Double5=10 +Bm_Single7=7 +Bm_Double7=14 +Maniax_Single=MS +Maniax_Double=MD +Techno_Single4=4 +Techno_Single5=5 +Techno_Single8=8 +Techno_Double4=D4 +Techno_Double5=D5 +Techno_Double8=D8 +Pnm_Five=5 +Pnm_Nine=9 +Guitar_Five=5 +Karaoke=V +Lights_Cabinet=! + +[ScreenHowToInstallSongs] +BodyHeader=Cómo conseguir e instalar canciones para StepMania +Finding Songs=Dónde encontrar canciones +Installing Songs=Cómo instalar canciones +Importing Songs=A través de otras instalaciones de StepMania +Reload Songs=Recargar canciones +Exit=Volver al menú principal + +Explanation-WhereToFind=Abre una página web con información sobre cómo encontrar canciones que puedas usar en StepMania. +Explanation-HowToInstall=Abre una página web con instrucciones sobre cómo instalar canciones. +Explanation-AdditionalFolders=Si tienes otra instalación de StepMania, puedes utilizar la carpeta AdditionalFolders para cargar sus contenidos a StepMania 5. +Explanation-ReloadSongs=Recarga las canciones. Esto es necesario si has añadido, cambiado o eliminado canciones mientras StepMania funcionaba. +Explanation-Exit=Regresa al menú principal. + +[OptionNames] +Custom=Especial +Few=Pocas +Long=Larga +Lower=Bajo +Many=Muchas +Normal=Normal +Short=Corta + +[Protiming] +MS=MS + +[PaneDisplay] +Taps=Flechas +Jumps=Saltos +Holds=Presión +Mines=Minas +Hands=Manos +Rolls=Repes +Lifts=Sueltas +Fakes=Falsos +S=S +V=V +A=A +F=F +C=C + +[ScreenTestInput] +HelpText=Mantén pulsado &BACK; o &START; para salir. + +[ScreenCaution] +HelpText=&START; Continuar + +[ScreenContinue] +HelpText=&START; Temporiz. avance + +[ScreenGameOver] +GAME OVER=FIN DE LA PARTIDA +Play again soon!=¡Vuelve pronto! + +[ScreenHeartEntry] +Enter Heart Rate=Introducir pulso cardíaco +Heart Rate=Pulso cardíaco +Song Length=Duración canción + +[ScreenHowToPlay] +Feet=¡Usa los pies para jugar! +How To Play StepMania=Cómo jugar a StepMania +Information=Información +Jump=¡Salta en dos paneles si\naparecen flechas a la vez! +Miss=¡Si fallas repetidamente, tu medidor\ndescenderá hasta que se\nacabe la partida! +Tap=Cuando las flechas suban a este punto,\npisa el panel correspondiente. + +[ScreenMapControllers] +Exit=Salir diff --git a/Themes/legacy/Languages/fr.ini b/Themes/legacy/Languages/fr.ini new file mode 100644 index 0000000000..a7d4ea53ab --- /dev/null +++ b/Themes/legacy/Languages/fr.ini @@ -0,0 +1,253 @@ +[Screen] +HelpText=&BACK; Quitter &START; Lancer &SELECT; Options &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Se déplacer + +[ScreenWithMenuElements] +HelpText=&BACK; Quitter &START; Choisir &MENULEFT;&MENURIGHT; Changer +StageCounter=Niveau %s +EventStageCounter=Niveau %03i + +[ScreenTitleMenu] +HelpText=&BACK; Quitter &START; Sélectionner &MENUUP;&MENUDOWN; Se déplacer +Network OK=Réseau OK +Offline=Déconnecté +Connected to %s=Connecté à %s +CurrentGametype=Type de jeu actuel : %s +LifeDifficulty=Difficulté de Vie : %s +TimingDifficulty=Difficulté de Timing : %s +%i Songs (%i Groups), %i Courses=%i Chansons (%i Groupes), %i Parcours + +[ScreenTitleJoin] +HelpText=Appuyez sur &START; +HelpTextJoin=Appuyez sur &START; +HelpTextWait=Insérez des jetons ! +EventMode=Mode Évènement +JointPremiumMain=Joint Premium +JointPremiumSecondary=2 joueurs peuvent jouer avec 1 jeton ! +DoublesPremiumMain=Doubles Premium +DoublesPremiumSecondary=Jouer doublement pour 1 jeton ! + +[ScreenCaution] +HelpText=&START; Suivant + +[ScreenDemonstration] +Demonstration=Démonstration +%s - %s [from %s]=%s - %s\n[from %s] + +[ScreenQuickSetupOverview] +Explanation=L'installation rapide est un moyen facile d'installer avec le paramétrage communément utilisé. + +[ScreenProfileLoad] +HelpText=... Chargement des profils, veuillez patienter ... + +[ScreenSelectProfile] +%d Song Played=%d chanson jouée +%d Songs Played=%d chansons jouées +PressStart=Appuyez sur &START; +HelpText=&MENUUP;&MENUDOWN; Changer de profil &START; Choisir &BACK; Revenir + +[ScreenSelectMaster] +HelpText=&BACK; Quitter &START; Choisir &MENULEFT;&MENURIGHT; Changer + +[ScreenSelectPlayMode] +HelpText=&BACK; Quitter &START; Choisir &MENULEFT;&MENURIGHT; Changer +EasyExplanation=Mode débutant. +HardExplanation=Mode expert. +OldNormalExplanation=Ni trop facile, ni trop difficile. +NormalExplanation=Jouez sur vos chansons préférées ! +RaveExplanation=Combattez un ami ou un ennemi ! +NonstopExplanation=Plusieurs chansons d'affilées. +OniExplanation=Testez vos performances. +EndlessExplanation=Je ne veux pas m'arrêter de jouer ! + +[ScreenSelectPlayStyle] +HelpText=&BACK; Quitter &START; Choisir &MENULEFT;&MENURIGHT; Se déplacer + +[ScreenGameInformation] +HelpText=&BACK; Quitter &START; Passer + +[ScreenSelectMusic] +NEW!=NOUVEAU! +Press Start For Options=Appuyez sur &START; pour les options +Entering Options=Chargement des options +HelpText=&BACK; Quitter &START; Lancer &SELECT; Codes Magiques &MENULEFT;&MENURIGHT; Changer::&AUXWHITE;+[A-Z] Pour Trier à [A-Z] +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Changer la difficulté &SELECT;+&START; Tri rapide + +[ScreenSelectCourse] +HelpText=&BACK; Quitter &START; Choisir &SELECT; Codes Magiques &MENULEFT;&MENURIGHT; Se déplacer::&UP;&DOWN;&UP;&DOWN; Pour d'autres modes de jeu + +[ScreenOptions] +HelpText=&BACK; Retour &START; Choisir/ Descendre &SELECT; Monter &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Changer +Disqualified=Le score sera disqualifié ! + +[ScreenStageInformation] +HelpText= + +[ScreenGameplay] +HelpText= + +[ScreenHeartEntry] +Enter Heart Rate=Entrez le Pouls +Song Length=Longueur de la chanson +Heart Rate=Pouls + +[ScreenEvaluation] +HelpText=&BACK; Quitter &START; Continuer &MENULEFT;+&MENURIGHT; ou &SELECT; Prendre en Photo +LifeDifficulty=Difficulté de Vie : %s +TimingDifficulty=Difficulté de Timing : %s +MachineRecord=Record #%i! +PersonalRecord=Record personnel #%i! +ITG DP:=ITG DP: +MIGS DP:=MIGS DP: + +[ScreenContinue] +HelpText=&START; Accélérer le chrono + +[OptionTitles] +AutoSetStyle=Style Automatique +NotePosition=Position des Notes +ComboOnRolls=Roulement de Tambour +ComboUnderField=Combo Sous le Champ + +GameplayShowScore=Afficher le Score +GameplayShowStepsDisplay=Afficher les Pas +ShowLotsaOptions=Densité des Options +LongFail=Longueur du Ã‰choué +FlashyCombo=Combo Éclatant +GameplayFooter=Bas de Page +FancyUIBG=Fond IU Fantaisiste +TimingDisplay=Affichage de Timing + +[OptionExplanations] +AutoSetStyle=Permet au jeu de lister tous les modes de jeu à un ou deux joueurs au lieu d'un seul mode. Peut nécessiter un redémarrage de StepMania (ou appuyez sur Maj + F2). +NotePosition=Choisissez où les cibles des flèches seront affichées. +ComboOnRolls=Choisi si chaque extra tape de Tambour devraient ajouter au combo ou non. Si vous changez cette option, vous devrez recharger les métriques (via Maj+F2) pour prendre effet. +ComboUnderField=Détermine si les combos doivent s'afficher ou non sous les flèches. + +GameplayShowScore=Affiche ou masque le score en jeu. +GameplayShowStepsDisplay=Affiche ou masque les informations de pas en jeu. +ShowLotsaOptions=Choisi le nombre de lignes/rangées d'options possible. &oq;Peu&cq; garde le minimum. &oq;Plusieurs&cq; ajoute plusieurs modifications. +LongFail=Choisi la longueur de temps que "Échoué" soie aperçu, entre l'original "Long" de sm-ssc ou le "Court" adopté plus tard. +FlashyCombo=Choisi si les éclats de combo doivent être montrés ou non. +GameplayFooter=Si activé, une zone en bas d'écran masque les flèches( score DDR). +FancyUIBG=Active le mode "Fantaise". "Off" est recommandé sur les PC les plus anciens. Les changements prendront effet sur l'écran titre. +TimingDisplay=Bascule l'affichage des segments de timing sur la barre de progression de la chanson. + +ScoringType=Définit comment la note est calculée. Si vous avez sélectionné "Spécial", vous pouvez choisir "Special Scoring Mode" dans les Options de Thèmes. + +Speed=Ajuste la vitesse à laquelle les flèches arrivent vers les cibles +Accel=Change la manière dont les flèches se rapprochent des cibles. +Effect=Change la taille ou le mouvement des flèches et/ou des cibles. +Appearance=Contrôle la visibilité des flèches. +Turn=Modifie la chorégraphie en ajustant la position des flèches. +Insert=Ajoute des notes de Tape à la chorégraphie de pas. +Holds=Ôte les notes « Tenir » ; \n Converti des « Tapes » en « Tenirs » ; \n Change les « Tenirs » en « Tambours » ; +Mines=Ajoute ou supprime les mines. +PlayerAutoPlay=Joue la chorégraphie automatiquement. +ScoreDisplay=Change la présentation du score. +ProTiming=Change la façon dont les jugements sont affichés. +Scroll=Ajuste la direction que les flèches prennent pour atteindre les cibles. +NoteSkins=Change l'apparence des flèches/notes. +Handicap=Supprime des flèches, mais rend le high score invalide. +Hide="Sombre" Masque les Cibles;\n "Aveugle" les Jugement;\n et "Couverture" le Fond. +Persp=Change l'angle que l'on voie les flèches et cibles. +Steps=Ajuste la difficulté des pas. +Characters=Amis de Dance. +SaveToProfileHelp=Nécessite un profil ou une carte mémoire. +MusicRateHelp=Joue la chanson à un rythme plus rapide. + +[StepsListDisplayRow StepsType] +Dance_Single=4 +Dance_Double=8 +Dance_Couple=8 +Dance_Solo=6 +Dance_Routine=8 +Dance_Threepanel=3 +Pump_Single=5 +Pump_Double=10 +Pump_Halfdouble=6 +Pump_Couple=5 +Pump_Routine=10 +Kb7_Single=7 +Ez2_Single=ES +Ez2_Double=ED +Ez2_Real=ER +Para_Single=PS +Ds3ddx_Single=XS +Bm_Single5=5 +Bm_Double5=10 +Bm_Single7=7 +Bm_Double7=14 +Maniax_Single=MS +Maniax_Double=MD +Techno_Single4=4 +Techno_Single5=5 +Techno_Single8=8 +Techno_Double4=D4 +Techno_Double5=D5 +Techno_Double8=D8 +Pnm_Five=5 +Pnm_Nine=9 +Guitar_Five=5 +Karaoke=V +Lights_Cabinet=! + +[ScreenHowToInstallSongs] +BodyHeader=Comment obtenir de nouvelles chansons pour Stepmania et les installer +Finding Songs=Où trouver des chansons +Installing Songs=Comment installer des chansons +Importing Songs=Importer depuis une ancienne installation de Stepmania +Reload Songs=Recharger les chansons +Exit=Revenir au menu précédent + +Explanation-WhereToFind=Ouvrir une page web pour trouver des chansons pour StepMania. (Anglais) +Explanation-HowToInstall=Ouvrir une page web pour expliquer l'installation de nouvelle chanson.(Anglais) +Explanation-AdditionalFolders=Si vous avez déjà installé StepMania, vous pouvez utiliser un dossier supplémentaire dans les Préférences pour les charger les chansons dans StepMania 5. +Explanation-ReloadSongs=Recharge la liste des chansons. Ceci est obligatoire si vous avez ajouté, déplacé ou supprimé des chansons alors que StepMania était lancé. +Explanation-Exit=Revenir au menu précédent + +[OptionNames] +Custom=Spécial +Many=Beaucoup +Few=Peu +Normal=Normal +Lower=Plus Bas +Short=Court +Long=Long + +[ScreenTestInput] +HelpText=Tenir &BACK; ou &START; pour Quitter + +[PaneDisplay] +Taps=Tapes +Jumps=Sauts +Holds=Tenir +Mines=Mines +Hands=Mains +Rolls=Tambours +Lifts=Lever +Fakes=Fausses +S=Co +V=V +A=A +F=G +C=Ch + +[ScreenMapControllers] +Exit=Retour + +[ScreenGameOver] +GAME OVER=PERDU +Play again soon!=Revenez jouer ! + +[ScreenHowToPlay] +How To Play StepMania=Comment jouer à StepMania +Information=Informations + +Feet=Vos pieds seront utilisés pour jouer ! +Tap=Lorsque les flèches arrivent à ce niveau, \n appuyez sur les panneaux correspondants. +Jump=Appuyez sur les deux flèches en même temps ! +Miss=Si vous faites plusieurs erreurs d'affilée, \n votre jauge diminuera jusqu'à perdre la partie ! + + +[Protiming] +MS=MS diff --git a/Themes/legacy/Languages/id.ini b/Themes/legacy/Languages/id.ini new file mode 100644 index 0000000000..3588dbb2d6 --- /dev/null +++ b/Themes/legacy/Languages/id.ini @@ -0,0 +1,266 @@ +[Screen] +HelpText=&BACK; Keluar &START; Select &SELECT; Pilihan &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Pindah + +[ScreenWithMenuElements] +HelpText=&BACK; Keluar &START; Select &MENULEFT;&MENURIGHT; Pindah +StageCounter=%s Stage +EventStageCounter=Stage %03i + +[ScreenTitleMenu] +HelpText=&BACK; Keluar &START; Select &MENUUP;&MENUDOWN; Pindah +Network OK=Jaringan OK +Offline=Luring +Connected to %s=Tersambung ke %s +CurrentGametype=Sedang bermain: %s +LifeDifficulty=Kesulitan Nyawa: %s +TimingDifficulty=Kesulitan Timing: %s +%i Lagu (%i Grup), %i Courses=%i Lagu (%i Grup), %i Kursus + +[ScreenTitleJoin] +HelpText=Tekan &START; untuk Bermain +HelpTextJoin=Tekan &START; untuk Bermain +HelpTextWait=Masukan Kredit! +EventMode=Modus Acara +JointPremiumMain=Joint Premium +JointPremiumSecondary=Dua pemain dapat bermain dengan satu kredit! +DoublesPremiumMain=Premium Dobel +DoublesPremiumSecondary=Bermain Dobel untuk satu kredit! + +[ScreenCaution] +HelpText=&START; Lanjut + +[ScreenDemonstration] +Demonstration=Demonstrasi +%s - %s [dari %s]=%s - %s\n[dari %s] + +[ScreenQuickSetupOverview] +Explanation=Setup Cepat memberikan cara mudah untuk mengatur ubahan-umum dan preferensi-preferensi berguna. + +[ScreenProfileLoad] +HelpText=... Memuat profile, silahkan tunggu ... + +[ScreenSelectProfile] +%d Lagu Dimainkan=%d Lagu telah dimainkan +%d Lagu Dimainkan=%d Lagu telah dimainkan +PressStart=Tekan &START; untuk bergabung. +HelpText=&MENUUP;&MENUDOWN; Ganti Profil &START; Pilih/Gabung &BACK; Cabut + +[ScreenSelectMaster] +HelpText=&BACK; Keluar &START; Pilih / Gabung &MENULEFT;&MENURIGHT; Pindah + +[ScreenSelectPlayMode] +HelpText=&BACK; Keluar &START; Pilih / Gabung &MENULEFT;&MENURIGHT; Pindah +EasyExplanation=Sebuah modus untuk Pemula. +HardExplanation= Untuk ahli. +OldNormalExplanation=Tak terlalu gampang, tak terlalu sulit. +NormalExplanation=Mainkan semua lagu favorit-mu! +RaveExplanation=Bertarung antar teman atau musuh. +NonstopExplanation=Beberapa lagu berturut-turut +OniExplanation=Sebuah tes skil yang sejati. +EndlessExplanation=Tak berhenti, terus berjalan. + +[ScreenSelectPlayStyle] +HelpText=&BACK; Keluar &START; Pilih &MENULEFT;&MENURIGHT; Pindah + +[ScreenGameInformation] +HelpText=&BACK; Keluar &START; Lewati + +[ScreenSelectMusic] +NEW!=BARU! +Press Start For Options=Tekan &START; untuk Pilihan +Entering Options=Memasuki Pilihan +HelpText=&BACK; Keluar &START; Pilih / Gabung &SELECT; Kode Ajaib &MENULEFT;&MENURIGHT; Pindah::&AUXWHITE;+[KEY] Sortir ke [KEY] +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Ubah Kesulitan &SELECT;+&START; Sortir Cepat + +[ScreenSelectCourse] +HelpText=&BACK; Keluar &START; Pilih / Gabung &SELECT; Kode Ajaib &MENULEFT;&MENURIGHT; Pindah::&UP;&DOWN;&UP;&DOWN; untuk tipe course yang lain + +[ScreenOptions] +HelpText=&BACK; Keluar &START; Pilih &SELECT; Ke Atas &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Pindah +Disqualified=Skor akan didiskualifikasi! + +[ScreenStageInformation] +HelpText= + +[ScreenGameplay] +GiveUpAbortedText= +GiveUpStartText=Tekan dua kali &START; untuk mengakses menu +GiveUpBackText=Tekan dua kali &BACK; untuk mengakses menu +SkipSongText=Tekan dua kali &SELECT; untuk mengakses menu +HelpText= + +[PauseMenu] +continue_playing=Lanjutkan Bermain +end_course=Akhiri Course +forfeit_course=Tinggalkan Course +forfeit_song=Tinggalkan lagu +pause_count=Hitungan Tunda +restart_song=Mulai ulang Lagu +skip_song=Lewati Lagu + +[ScreenHeartEntry] +Enter Heart Rate=Masukan Detak Jantung +Song Length=Panjang Lagu +Heart Rate=Detak Jantung + +[ScreenEvaluation] +HelpText=&BACK; Keluar &START; Lanjutkan &MENULEFT;+&MENURIGHT; atau &SELECT; Ambil Gambar +LifeDifficulty=Kesulitan Nyawa: %s +TimingDifficulty=Kesulitan Timing: %s +MachineRecord=Rekor Mesin #%i! +PersonalRecord=Rekor Personal #%i! +ITG DP:=ITG DP: +MIGS DP:=MIGS DP: + +[ScreenContinue] +HelpText=&START; Advance Timer + +[OptionTitles] +AutoSetStyle=Auto Set Style +NotePosition=Posisi Not +ComboOnRolls=Rolls Increment Combo +ComboUnderField=Combo Under Field + +GameplayShowScore=Tunjukan Skor +GameplayShowStepsDisplay=Tunjukan Steps +ShowLotsaOptions=Kepadatan Opsi +LongFail=Panjang Kegagalan +FlashyCombo=Kombo Berkedip-kedip +GameplayFooter=Gameplay Footer +FancyUIBG=Latar Belakang UI Indah +TimingDisplay=Layar Timing + +[OptionExplanations] +AutoSetStyle=Memperbolehkan game untuk mengumpulan seluruh modus 1P dan 2P daripada satu style saja. Ini mungkin membutuhkan mulai ulang Stepmania (atau tekan Shift+F2). +NotePosition=Menentukan dimana reseptor panah diletakan pada saat bermain. +ComboOnRolls=Pilih apabila Gulir (Rolls) akan menambah Kombo atau tidak. Jika Anda mengubah pilihan ini, Anda butuh memuat ulang metrics-nya (via Shift+F2) supaya efek ini berlaku. +ComboUnderField=Menentukan Apabila Kombo harus terletak dibawah not atau tidak. + +GameplayShowScore=Tunjukan atau Sembunyikan layar skor saat bermain. +GameplayShowStepsDisplay=Tunjukan atau Sembunyikan Informasi step saat bermain. +ShowLotsaOptions=Pilih Berapa banyak garis/baris pilihan untuk dipilih dari. &oq;Few&cq; Tetapkan daftar menjadi minimal. &oq;Many&cq; tambah berbagai mod-mod pamer. +LongFail=Pilih antara gagal sm-scc "Panjang" orisinil atau gagal "Pendek" diadopsi nanti. +FlashyCombo=Menentukan apabila kilat kombo harus ditunjukan atau tidak. +GameplayFooter=Jika menyala, Munculkan footer yang menghalangi penglihatan akan datangnya panah untuk di beberapa negara (Bingkai skor DDR). +FancyUIBG=Mati/Nyalakan latar belakang UI indah. "Mati (Off)" disarankan untuk komputer yang lama. Ubahan akan berlaku pada layar awal. +TimingDisplay=Mati/Nyalakan layar segmen timing pada meteran progres lagu. + +ScoringType=Menetapkan metode skoring mana untuk digunakan. Jika Istimewa dipilih, Anda dapat memilih Modus Penskoran Istimewa (Special Scoring Mode) pada Opsi Tema. + +Speed=Atur kelajuan panah berjalan terhadap target. +Accel=Ubah cara panah mendekati target. +Effect=Ubah ukuran atau gerakan dari panah dan/atau target. +Appearance=Kontrol penglihatan dari panah. +Turn=Ubah koreografi step dengan mengatur posisi panah. +Insert=Tambah not injak kedalam koreografi step. +Holds=Ubah beberapa not injak menjadi not tahan. +Mines=Tambah atau singkirkan not ranjau. +PlayerAutoPlay=Notefield bermain dengan sendirinya. +ScoreDisplay=Ubah cara skor terlihat. +ProTiming=Ubah cara Judgement terlihat. +Scroll=Atur arah aliran panah untuk menemui target. +NoteSkins=Pilih tampilan panah-panah yang berbeda. +Handicap=Menyingkirkan not-not. Penggunaan ini akan membatalkan skor tertinggi. +Hide=Gelap (Dark) menyembunyikan reseptor. Buta (Blind) menyembunyikan judgement. Tirai (Cover) menyembunyikan latar belakang. +Persp=Ubah sudut pandang dari aliran panah. +Steps=Atur tingkat kesulitan dari step-step. +Characters=Orang-orang berdansa. +SaveToProfileHelp=Membutuhkan profil atau kartu memori (memory card). +MusicRateHelp=Mainkan musik pada tingkat yang lebih cepat. + +[StepsListDisplayRow StepsType] +Dance_Single=4 +Dance_Double=8 +Dance_Couple=8 +Dance_Solo=6 +Dance_Routine=8 +Dance_Threepanel=3 +Pump_Single=5 +Pump_Double=10 +Pump_Halfdouble=6 +Pump_Couple=5 +Pump_Routine=10 +Kb7_Single=7 +Ez2_Single=ES +Ez2_Double=ED +Ez2_Real=ER +Para_Single=PS +Ds3ddx_Single=XS +Bm_Single5=5 +Bm_Double5=10 +Bm_Single7=7 +Bm_Double7=14 +Maniax_Single=MS +Maniax_Double=MD +Techno_Single4=4 +Techno_Single5=5 +Techno_Single8=8 +Techno_Double4=D4 +Techno_Double5=D5 +Techno_Double8=D8 +Pnm_Five=5 +Pnm_Nine=9 +Guitar_Five=5 +Karaoke=V +Lights_Cabinet=! + +[ScreenHowToInstallSongs] +BodyHeader=Cara Mendapatkan dan Memasang Lagu untuk Stepmania +Finding Songs=Dimana untuk Mencari Lagu +Installing Songs=Cara Memasang Lagu +Importing Songs=Mengimpor dari instalasi2 Stepmania yang ada +Reload Songs=Muat ulang Lagu +Exit=Kembali ke Menu Awal + +Explanation-WhereToFind=Luncurkan sebuah laman web dengan informasi dalam mencari lagu untuk digunakan pada Stepmania. +Explanation-HowToInstall=Luncurkan sebuah Laman web dengan instruksi-instruksi pemasangan lagu. +Explanation-AdditionalFolders=Apabila anda memiliki instalasi Stepmania yang lain, Anda dapat menggunakan preferensi AdditionalFolders untuk memuatnya pada Stepmania 5. +Explanation-ReloadSongs=Muat ulang lagu-lagu. Ini dibutuhkan apabila Anda telah menambahkan/mengubah/menghapus lagu selagi Stepmania sedang berjalan. +Explanation-Exit=Kembali ke menu awal. + +[OptionNames] +Custom=Istimewa (Special) +Many=Banyak (Many) +Few=Sedikit (Few) +Normal=Normal +Lower=Rendah (Lower) +Short=Pendek (Short) +Long=Panjang (Long) + +[ScreenTestInput] +HelpText=Tahan &BACK; atau &START; untuk Keluar. + +[PaneDisplay] +Taps=Injak +Jumps=Loncat +Holds=Tahan +Mines=Ranjau +Hands=Tangan +Rolls=Gulir +Lifts=Angkat +Fakes=Palsu +S=S +V=V +A=A +F=F +C=C + +[ScreenMapControllers] +Exit=Keluar + +[ScreenGameOver] +GAME OVER=GAME OVER (Permainan Tamat) +Play again soon!=Main lagi nanti! + +[ScreenHowToPlay] +How To Play StepMania=Cara bermain StepMania +Information=Informasi + +Feet=Kaki Anda digungakan untuk bermain! +Tap=Saat panah menaik pada titik ini,\ninjak panel yang sesuai. +Jump=Injak pada kedua panel jika dua panah\nberbeda muncul bersamaan! +Miss=Jika Anda kelewat step-nya berulang kali, meteran \ndance Anda akan berkurang sampai\npermainan sudah tamat (Game Over)! + + +[Protiming] +MS=MD diff --git a/Themes/legacy/Languages/ja.ini b/Themes/legacy/Languages/ja.ini new file mode 100644 index 0000000000..53aa88fd02 --- /dev/null +++ b/Themes/legacy/Languages/ja.ini @@ -0,0 +1,262 @@ +// Stepmania用日本語言語パック(defaultテーマ用) Ver.2-20141002 +// Updated for 5.0.7 -hanubeki 2015/04/14 + +//ä¸€éƒ¨ãƒ—ãƒ¬ã‚¤ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã«æ‰‹ã‚’入れã¦ã„ã¾ã™ + +// find_missing_strings_in_theme_translationsã§ç„¡ã‹ã£ãŸåˆ†ã‚’補完 -hanubeki 2015/04/14 + +[Screen] +HelpText=&BACK; 戻る &START; 決定 &SELECT; オプション &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; カーソル移動 + +[ScreenWithMenuElements] +HelpText=&BACK; 戻る &START; 決定 &MENULEFT;&MENURIGHT; カーソル移動 +StageCounter=%s Stage +EventStageCounter=Stage %03i + +[ScreenTitleMenu] +HelpText=&BACK; 戻る &START; 決定 &MENUUP;&MENUDOWN; カーソル移動 +Network OK=オンライン +Offline=オフライン +Connected to %s=接続先: %s +CurrentGametype=ゲームタイプ: %s +LifeDifficulty=ライフレベル: %s +TimingDifficulty=判定レベル: %s +%i Songs (%i Groups), %i Courses=%i 曲 (%i グループ), %i コース + +[ScreenTitleJoin] +HelpText=Press &START; to Play +HelpTextJoin=Press &START; to Play +HelpTextWait=Insert Credit(s) +EventMode=イベントモード +JointPremiumMain=Joint Premium! +JointPremiumSecondary=ãŸã ã„ã¾1クレジットã§2人プレイãŒã§ãã¾ã™ +DoublesPremiumMain=Doubles Premium! +DoublesPremiumSecondary=ãŸã ã„ã¾1クレジットã§ãƒ€ãƒ–ルプレーãŒã§ãã¾ã™ + +[ScreenCaution] +HelpText=&START; ç¶šã‘ã‚‹ + +[ScreenDemonstration] +Demonstration=Demonstration +%s - %s [from %s]=%s - %s\n[from %s] + +[ScreenQuickSetupOverview] +Explanation=よã使ã†ã‚ªãƒ—ションをã¾ã¨ã‚ã¦ã„ã¾ã™ã€‚ + +[ScreenProfileLoad] +HelpText=… プロファイル読ã¿è¾¼ã¿ä¸­ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ㄠ… + +[ScreenSelectProfile] +%d Song Played=プレイ済ã¿:%d曲 +%d Songs Played=プレイ済ã¿:%d曲 +PressStart=&START;を押ã™ã¨\nエントリーã—ã¾ã™ +HelpText=&MENUUP;&MENUDOWN; ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«é¸æŠž &START; 決定/エントリー &BACK; キャンセル/戻る + +[ScreenSelectMaster] +HelpText=&BACK; 戻る &START; é¸æŠž / エントリー &MENULEFT;&MENURIGHT; カーソル移動 + +[ScreenSelectPlayMode] +HelpText=&BACK; 戻る &START; é¸æŠž / エントリー &MENULEFT;&MENURIGHT; カーソル移動 +EasyExplanation=åˆå¿ƒè€…å‘ã‘モードã§ã™ã€‚ +HardExplanation=上級者å‘ã‘モードã§ã™ã€‚ +OldNormalExplanation=中級者å‘ã‘モードã§ã™ã€‚ +NormalExplanation=一曲ãšã¤é¸æŠžã—ã¦ã‚¹ãƒ†ãƒ¼ã‚¸ã‚¯ãƒªã‚¢ã‚’目指ã™é€šå¸¸ãƒ¢ãƒ¼ãƒ‰ã§ã™ã€‚ +RaveExplanation=ãŠã˜ã‚ƒã¾ã‚’é€ã‚Šä»˜ã‘ãªãŒã‚‰å¯¾æˆ¦ç›¸æ‰‹ã¨ç«¶ã†ãƒ¢ãƒ¼ãƒ‰ã§ã™ã€‚ +NonstopExplanation=何曲ã‹ã‚’1セットã«ã—ã¦ãƒ—レイã™ã‚‹ä¸Šç´šè€…モードã§ã™ã€‚ +OniExplanation=ライフ制ã§1ã‚»ãƒƒãƒˆã®æ›²ã‚’プレイã™ã‚‹è¶…上級者用モードã§ã™ã€‚ +EndlessExplanation=ゲームオーãƒãƒ¼ã¾ã§ã²ãŸã™ã‚‰ãƒ—レイã—ç¶šã‘るモードã§ã™ã€‚ + +[ScreenSelectPlayStyle] +HelpText=&BACK; 戻る &START; 決定 &MENULEFT;&MENURIGHT; カーソル移動 + +[ScreenGameInformation] +HelpText=&BACK; 戻る &START; スキップ + +[ScreenSelectMusic] +NEW!=NEW! +Press Start For Options=&START;を押ã™ã¨ãƒ—レイオプション画é¢ã¸ç§»è¡Œã—ã¾ã™ +Entering Options=Entering Options +HelpText=&BACK; 戻る &START; 決定 / エントリー &SELECT; ショートカット::&MENUUP;ã‹&MENUDOWN;ã®äºŒå›žæŠ¼ã— è­œé¢é¸æŠž&MENULEFT;&MENURIGHT; æ›²é¸æŠž::&UP;&DOWN;&UP;&DOWN; ソート切り替㈠&AUXWHITE;+[キーボード] 曲åソートã«ã—ã¦ãã®æ–‡å­—ã®ãƒ•ォルダを開ã +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; è­œé¢é¸æŠž &SELECT;+&START; クイックソート + +[ScreenSelectCourse] +HelpText=&BACK; 戻る &START; 決定 / エントリー &SELECT; ショートカット &MENULEFT;&MENURIGHT; ã‚³ãƒ¼ã‚¹é¸æŠž::&UP;&DOWN;&UP;&DOWN; ソート切り替㈠+ +[ScreenOptions] +HelpText=&BACK; 戻る &START; é¸æŠž &SELECT; å‰ã®é …ç›®ã«æˆ»ã‚‹ &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; カーソル移動 +Disqualified=スコア集計対象外ã«ãªã‚‹ã‚ªãƒ—ションãŒé¸æŠžã•れã¦ã„ã¾ã™ + +[ScreenStageInformation] +HelpText= + +[ScreenGameplay] +HelpText= + +[ScreenHeartEntry] +Enter Heart Rate=å¿ƒæ‹æ•°ã‚’入力ã—ã¦ãã ã•ã„ +Heart Rate=å¿ƒæ‹æ•° +Song Length=曲ã®é•·ã• + +[ScreenEvaluation] +HelpText=&BACK; 戻る &START; 次㸠&MENULEFT;+&MENURIGHT;ã¾ãŸã¯&SELECT; スクリーンショット +LifeDifficulty=ライフレベル: %s +TimingDifficulty=判定レベル: %s +MachineRecord=Machine Record #%i! +PersonalRecord=Personal Record #%i! +ITG DP:=ITG DP: +MIGS DP:=MIGS DP: + +[ScreenContinue] +HelpText=&START; タイマーを進ã‚ã‚‹ + +[OptionTitles] +AutoSetStyle=Auto Set Style +NotePosition=Note Positions +ComboOnRolls=Rolls Increment Combo +ComboUnderField=Combo Under Field + +GameplayShowScore=Show Score +GameplayShowStepsDisplay=Show Steps +ShowLotsaOptions=Options Density +LongFail=Fail Length +FlashyCombo=Flashy Combo +GameplayFooter=Gameplay Footer +FancyUIBG=Fancy UI Background +TimingDisplay=Timing Display + +[OptionExplanations] +AutoSetStyle=ミュージックホイールã§å…¨ã‚¹ã‚¿ã‚¤ãƒ«ã®è­œé¢ãŒé¸æŠžã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚\n設定後Stepmaniaã®å†èµ·å‹•ã‹Shift+F2キーを押ã™å¿…è¦ãŒã‚りã¾ã™ã€‚ +NotePosition=ノーツをæç”»ã™ã‚‹ãƒ¬ã‚¤ãƒ¤ãƒ¼ã®éšŽå±¤ã‚’é¸æŠžã—ã¾ã™ã€‚ +ComboOnRolls=ロールã®åˆ¤å®šã‚’コンボã«å«ã‚ã‚‹ã‹ã©ã†ã‹ã‚’é¸æŠžã—ã¾ã™ã€‚\n設定後Stepmaniaã®å†èµ·å‹•ã‹Shift+F2キーを押ã™å¿…è¦ãŒã‚りã¾ã™ã€‚ +ComboUnderField=コンボ数をæç”»ã™ã‚‹ãƒ¬ã‚¤ãƒ¤ãƒ¼ã®éšŽå±¤ã‚’é¸æŠžã—ã¾ã™ã€‚ + +GameplayShowScore=プレイ中ã®ã‚¹ã‚³ã‚¢è¡¨ç¤ºã®æœ‰ç„¡ã‚’設定ã—ã¾ã™ã€‚ +GameplayShowStepsDisplay=プレイ中ã®è­œé¢æƒ…å ±è¡¨ç¤ºã®æœ‰ç„¡ã‚’設定ã—ã¾ã™ã€‚ +ShowLotsaOptions=&oq;Few&cq;ã‚’é¸æŠžã™ã‚‹ã¨ãƒ—レイオプションã®é …ç›®ã¯æœ€å°é™ã«ãªã‚Šã¾ã™ã€‚ &oq;Many&cq;ã‚’é¸æŠžã™ã‚‹ã¨ã™ã¹ã¦ã®é …目を表示ã—ã¾ã™ã€‚ +LongFail=ゲージ切れãŒèµ·ããŸéš›ã®æ¼”出ã®ãƒ‘ã‚¿ãƒ¼ãƒ³ã‚’é¸æŠžã—ã¾ã™ã€‚ +FlashyCombo=ã“ã®é …目をOnã«è¨­å®šã™ã‚‹ã¨ã€50コンボã”ã¨ã«ç”»é¢ã«å…‰ã®è¼ªãŒæç”»ã•れã¾ã™ã€‚ +GameplayFooter=プレイ中ã®ã‚¹ã‚³ã‚¢ãƒ•ãƒ¬ãƒ¼ãƒ è¡¨ç¤ºã®æœ‰ç„¡ã‚’設定ã—ã¾ã™ã€‚ +FancyUIBG=背景を派手ã«ã—ã¾ã™ã€‚マシンパワーãŒä½Žã„å ´åˆã¯Offã«è¨­å®šã™ã‚‹ã“ã¨ã‚’推奨ã—ã¾ã™ã€‚\n変更ã¯ã‚¿ã‚¤ãƒˆãƒ«ç”»é¢ã§æœ‰åйã«ãªã‚Šã¾ã™ã€‚ +TimingDisplay=ãƒ—ãƒ¬ã‚¤ä¸­ã®æ¥½æ›²ã®ç¾åœ¨ä½ç½®ã‚’確èªã§ãã‚‹ãƒãƒ¼ã®è¡¨ç¤ºã®æœ‰ç„¡ã‚’設定ã—ã¾ã™ã€‚ + +ScoringType=使用ã™ã‚‹ã‚¹ã‚³ã‚¢ã‚¿ã‚¤ãƒ—を設定ã—ã¾ã™ã€‚\nSpecialã‚’é¸æŠžã—ãŸå ´åˆã¯Theme Optionsã§Special Score Optionã®é …ç›®ã®è¨­å®šã‚’ã—ã¦ãã ã•ã„。 + +Speed=Xmodã¯è­œé¢ã®æµã‚Œã‚‹é€Ÿåº¦ã‚’何å€ã‹ã—ã¾ã™ã€‚Cmodã¯è­œé¢ã®æµã‚Œã‚‹é€Ÿåº¦ã‚’固定ã—ã¾ã™ã€‚\nMmodã¯è­œé¢ã®æµã‚Œã‚‹é€Ÿåº¦ã®ä¸Šé™ã‚’制é™ã—ã¾ã™ã€‚使用ã—ãŸã„ãƒã‚¤ã‚¹ãƒ”ードã®ç¨®é¡žã‚’é¸æŠžã—ã¦ã‹ã‚‰ã€\næ•°å­—ã‚’é¸æŠžã—ã¦é€Ÿåº¦èª¿ç¯€ã—ã¦ãã ã•ã„。 +Accel=ノートã®ãƒ¬ã‚»ãƒ—ターã¸ã®è¿‘ã¥ã方を変更ã—ã¾ã™ã€‚\nã“ã®ã‚ªãƒ—ションã¯è¤‡æ•°åŒæ™‚é¸æŠžã§ãã¾ã™ã€‚ +Effect=ノートやレセプターã®å¤§ãã•ã‚„å‹•ãæ–¹ã‚’変更ã—ã¾ã™ã€‚\nã“ã®ã‚ªãƒ—ションã¯è¤‡æ•°åŒæ™‚é¸æŠžã§ãã¾ã™ã€‚ +Appearance=ノートã®å¯è¦–範囲を変更ã—ã¾ã™ã€‚\nã“ã®ã‚ªãƒ—ションã¯è¤‡æ•°åŒæ™‚é¸æŠžã§ãã¾ã™ã€‚ +Turn=ノーツé…置を入れ替ãˆã¾ã™ã€‚\nã“ã®ã‚ªãƒ—ションã¯è¤‡æ•°åŒæ™‚é¸æŠžã§ãã¾ã™ã€‚ +Insert=基本ã®ãƒŽãƒ¼ãƒˆé…ç½®ã«ãƒŽãƒ¼ãƒˆã‚’追加ã—ã¾ã™ã€‚\nã“ã®ã‚ªãƒ—ションã¯è¤‡æ•°åŒæ™‚é¸æŠžã§ãã¾ã™ã€‚ +Holds=通常ã®ãƒŽãƒ¼ãƒˆã‚’ロングノートã«å¤‰åŒ–ã•ã›ã¾ã™ã€‚\nã“ã®ã‚ªãƒ—ションã¯è¤‡æ•°åŒæ™‚é¸æŠžã§ãã¾ã™ã€‚ +Mines=マインノートを追加ã€ã‚ã‚‹ã„ã¯å‰Šé™¤ã—ã¾ã™ã€‚ +PlayerAutoPlay=ã“ã®é …目をOnã«ã™ã‚‹ã¨ã€ã‚ªãƒ¼ãƒˆãƒ—レイã«ãªã‚Šã¾ã™ã€‚ +ScoreDisplay=スコア表示を変更ã—ã¾ã™ã€‚ +ProTiming=Onã«ã™ã‚‹ã¨ã€ãƒŽãƒ¼ãƒˆã®åˆ¤å®šãŒã‚¸ãƒ£ã‚¹ãƒˆã‚¿ã‚¤ãƒŸãƒ³ã‚°ã‹ã‚‰ã©ã‚Œã ã‘ãšã‚Œã¦ã„ã‚‹ã‹è¡¨ç¤ºã•れるよã†ã«ãªã‚Šã¾ã™ã€‚ +Scroll=ノートã®ç§»å‹•æ–¹å‘を変更ã—ã¾ã™ã€‚\nã“ã®ã‚ªãƒ—ションã¯è¤‡æ•°åŒæ™‚é¸æŠžã§ãã¾ã™ã€‚ +NoteSkins=プレイã«ä½¿ç”¨ã™ã‚‹ãƒŽãƒ¼ãƒˆã‚¹ã‚­ãƒ³ã‚’変更ã—ã¾ã™ã€‚\nå¿…ãšç¾åœ¨ã®ã‚²ãƒ¼ãƒ ãƒ¢ãƒ¼ãƒ‰ã«å¯¾å¿œã—ãŸã‚¹ã‚­ãƒ³ã‚’使用ã—ã¦ãã ã•ã„。 +Handicap=ノートを削除ã—ã¾ã™ã€‚ã“ã®ã‚ªãƒ—ションã¯è¤‡æ•°åŒæ™‚é¸æŠžã§ãã¾ã™ã€‚\nã“ã®ã‚ªãƒ—ションを有効ã«ã—ã¦å‡ºã—ãŸã‚¹ã‚³ã‚¢ã¯ãƒ©ãƒ³ã‚­ãƒ³ã‚°ã«é›†è¨ˆã•れã¾ã›ã‚“。 +Hide=Darkã¯ãƒ¬ã‚»ãƒ—ターをæç”»ã—ã¾ã›ã‚“。Blindã¯åˆ¤å®šã‚’æç”»ã—ã¾ã›ã‚“。Coverã¯èƒŒæ™¯ã‚’æç”»ã—ã¾ã›ã‚“。\nã“ã®ã‚ªãƒ—ションã¯è¤‡æ•°åŒæ™‚ã«æœ‰åйã«ã§ãã¾ã™ã€‚ +Persp=ãƒŽãƒ¼ãƒˆãŒæµã‚Œã‚‹å¹³é¢ã‚’見る角度を変更ã—ã¾ã™ã€‚ +Steps=プレイã™ã‚‹è­œé¢ã‚’é¸æŠžã—ã¾ã™ã€‚ +Characters=プレイ中ã«è¡¨ç¤ºã™ã‚‹ãƒ€ãƒ³ã‚µãƒ¼ã‚’設定ã—ã¾ã™ã€‚ +SaveToProfileHelp=ãƒ—ãƒ¬ã‚¤çµæžœã®ä¿å­˜ã‚’メモリーカードã«è¡Œã„ã¾ã™ã€‚ +MusicRateHelp=楽曲自体を設定値å€ã®é€Ÿåº¦ã§å†ç”Ÿã—ãªãŒã‚‰ãƒ—レイã—ã¾ã™ã€‚ + +[StepsListDisplayRow StepsType] +Dance_Single=4 +Dance_Double=8 +Dance_Couple=8 +Dance_Solo=6 +Dance_Routine=8 +Dance_Threepanel=3 +Pump_Single=5 +Pump_Double=10 +Pump_Halfdouble=6 +Pump_Couple=5 +Pump_Routine=10 +Kb7_Single=7 +Ez2_Single=ES +Ez2_Double=ED +Ez2_Real=ER +Para_Single=PS +Ds3ddx_Single=XS +Bm_Single5=5 +Bm_Double5=10 +Bm_Single7=7 +Bm_Double7=14 +Maniax_Single=MS +Maniax_Double=MD +Techno_Single4=4 +Techno_Single5=5 +Techno_Single8=8 +Techno_Double4=D4 +Techno_Double5=D5 +Techno_Double8=D8 +Pnm_Five=5 +Pnm_Nine=9 +Guitar_Five=5 +Karaoke=V +Lights_Cabinet=! + +[ScreenHowToInstallSongs] +BodyHeader=楽曲ãŒ1曲もã‚りã¾ã›ã‚“! +Finding Songs=æ¥½æ›²ã®æŽ¢ã—æ–¹ +Installing Songs=楽曲追加ã®ã—ã‹ãŸ +Importing Songs=ä»–ã®Stepmaniaã‹ã‚‰æ›²ã‚’追加ã™ã‚‹ +Reload Songs=リロード +Exit=タイトル画é¢ã«æˆ»ã‚‹ + +Explanation-WhereToFind=検索エンジンã§ã€ŒStepmania è­œé¢ã€ã§æ¤œç´¢ã—ãŸã‚Šã€ãƒ‘ッケージサイトを活用ã—ã¦ã¿ã¦ãã ã•ã„。\nãªãŠè‘—作権を侵害ã™ã‚‹ãƒ•ァイルãŒå«ã¾ã‚ŒãŸè­œé¢ã‚’ダウンロードã—ãªã„よã†ãŠé¡˜ã„ã—ã¾ã™ã€‚ +Explanation-HowToInstall=&START; を押ã™ã¨ã€å…¬å¼ã‚µã‚¤ãƒˆã®ã€Œæ¥½æ›²è¿½åŠ ã®ã—ã‹ãŸã€(英文)ãŒè¡¨ç¤ºã•れã¾ã™ã€‚ +Explanation-AdditionalFolders=ã™ã§ã«åˆ¥ã®Stepmaniaをインストールã—ã¦ã„ã‚‹ãªã‚‰ã€\n「Additional Foldersã€ã‚’利用ã™ã‚‹ã“ã¨ã§ãƒ•ォルダ構造を変ãˆã‚‹ã“ã¨ãªã楽曲を追加ã§ãã¾ã™ã€‚ +Explanation-ReloadSongs=タイトル画é¢ã®ã€ŒOptionsã€ã‹ã‚‰ã€ŒReload Songs/Coursesã€ã‚’é¸æŠžã—ã¾ã™ã€‚\nStepmania外ã§è­œé¢ãŒå¤‰æ›´ã•れãŸå ´åˆã¯ãƒªãƒ­ãƒ¼ãƒ‰ã—ã¦ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’削除ã—å†èª­ã¿è¾¼ã¿ã—ãªã„ã¨å¤‰æ›´ãŒå映ã•れã¾ã›ã‚“。 +Explanation-Exit=タイトル画é¢ã«æˆ»ã‚Šã¾ã™ã€‚ + +[OptionNames] +Custom=Special +Many=Many +Few=Few +Normal=Normal +Lower=Lower +Short=Short +Long=Long + +[ScreenTestInput] +HelpText=&BACK;を押ã—ã£ã±ãªã—ã«ã™ã‚‹ã‹&START; 終了 + +[PaneDisplay] +Taps=Taps +Jumps=Jumps +Holds=Holds +Mines=Mines +Hands=Hands +Rolls=Rolls +Lifts=Lifts +Fakes=Fakes +S=S +V=V +A=A +F=F +C=C + +[ScreenMapControllers] +Exit=Exit + +[ScreenGameOver] +GAME OVER=GAME OVER +Play again soon!=Play again soon! + +[ScreenHowToPlay] +How To Play StepMania=How To Play StepMania +Information=Information + +# XXX: "ã¯è¶³ã‚’使" +# /Themes/default/BGAnimations/ScreenHowToPlay overlay/_howtoplay feet.lua +# self:AddAttribute(6, {Length= 1, Diffuse=Color.Red}) +Feet=ã“ã®ã‚²ãƒ¼ãƒ ã¯è¶³ã‚’使ã„ã¾ã™ +Tap=曲ã«åˆã‚ã›ã¦ã€ã“ã“ã«æ¥ãŸçž¬é–“ã«è¸ã‚! +Jump=2ã¤åŒæ™‚ã«æ¥ãŸã‚‰ä¸¡æ–¹è¸ã‚‚ㆠ+Miss=何回もミスをã—ã¦ãƒ€ãƒ³ã‚¹ã‚²ãƒ¼ã‚¸ãŒ\nç„¡ããªã‚‹ã¨ã‚²ãƒ¼ãƒ ã‚ªãƒ¼ãƒãƒ¼ + +[Protiming] +MS=MS diff --git a/Themes/legacy/Languages/nl.ini b/Themes/legacy/Languages/nl.ini new file mode 100644 index 0000000000..25a28d354a --- /dev/null +++ b/Themes/legacy/Languages/nl.ini @@ -0,0 +1,281 @@ +[Screen] +HelpText=&BACK; Exit &START; Selecteer &SELECT; Opties &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Beweeg + +[ScreenWithMenuElements] +HelpText=&BACK; Exit &START; Selecteer &MENULEFT;&MENURIGHT; Beweeg +StageCounter=%s Etappe +EventStageCounter=Etappe %03i + +[ScreenTitleMenu] +HelpText=&BACK; Exit &START; Selecteer &MENUUP;&MENUDOWN; Beweeg +Network OK=Netwerk OK +Offline=Offline +Connected to %s=Verbonden met %s +CurrentGametype=Huidig Speltype: %s +LifeDifficulty=Levensniveau: %s +TimingDifficulty=Timingsniveau: %s +%i Songs (%i Groups), %i Courses=%i Nummers (%i Groepen), %i Parkoers + +[ScreenTitleJoin] +HelpText=Druk &START; om te Spelen +HelpTextJoin=Druk &START; om te Spelen +HelpTextWait=Voer Krediet In! +EventMode=Evenement Mode +JointPremiumMain=Gedeelde Premium +JointPremiumSecondary=Twee spelers kunnen met één krediet spelen! +DoublesPremiumMain=Dubbel Premium +DoublesPremiumSecondary=Speel Dubbel voor één krediet! + +[ScreenCaution] +HelpText=&START; Doorgaan + +[ScreenDemonstration] +Demonstration=Demonstratie +%s - %s [van %s]=%s - %s\n[van %s] + +[ScreenQuickSetupOverview] +Explanation=Snel Instellen is een snelle makkelijke manier om veel-gebruikte instellingen te veranderen. + +[ScreenProfileLoad] +HelpText=... Profielen aan het laden, wacht een moment A.U.B. ... + +[ScreenSelectProfile] +%d Song Played=%d Nummer Gespeeld +%d Songs Played=%d Nummers Gespeeld +PressStart=Druk &START; om mee te doen. +HelpText=&MENUUP;&MENUDOWN; Wissel Profiel &START; Kies/Doe Mee &BACK; Deselecteer + +[ScreenSelectMaster] +HelpText=&BACK; Exit &START; Selecteer / Doe Mee &MENULEFT;&MENURIGHT; Beweeg + +[ScreenSelectPlayMode] +HelpText=&BACK; Exit &START; Selecteer / Doe Mee &MENULEFT;&MENURIGHT; Beweeg +EasyExplanation=Een mode voor beginners. +HardExplanation=Voor experts. +OldNormalExplanation=Niet te makkelijk, niet te moeilijk. +NormalExplanation=Speel al je favoriete nummers! +RaveExplanation=Neem het op tegen je vriend of vijand. +NonstopExplanation=Een aantal nummers in een rij +OniExplanation=Een echte test van vaardigheid. +EndlessExplanation=Het stopt niet, laat het maar komen. + +[ScreenSelectPlayStyle] +HelpText=&BACK; Exit &START; Selecteer &MENULEFT;&MENURIGHT; Beweeg + +[ScreenGameInformation] +HelpText=&BACK; Exit &START; Overslaan + +[ScreenSelectMusic] +NEW!=NIEUW! +Press Start For Options=Druk &START; voor Opties +Entering Options=Opties Worden Geopend +HelpText=&BACK; Exit &START; Selecteer / Doe Mee &SELECT; Magische Codes &MENULEFT;&MENURIGHT; Beweeg::&AUXWHITE;+[KEY] Sorteer Op [KEY] +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Verander Niveau &SELECT;+&START; Snelle Sortering + +[ScreenSelectCourse] +HelpText=&BACK; Exit &START; Selecteer / Doe Mee &SELECT; Magische Codes &MENULEFT;&MENURIGHT; Beweeg::&UP;&DOWN;&UP;&DOWN; voor andere parkoerstypen + +[ScreenOptions] +HelpText=&BACK; Exit &START; Kies &SELECT; Ga Omhoog &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Beweeg +Disqualified=Score zal worden gediskwalificeerd! + +[ScreenStageInformation] +HelpText= + +[ScreenGameplay] +HelpText= + +[ScreenHeartEntry] +Enter Heart Rate=Voer Hartslag In +Heart Rate=Hartslag +Song Length=Lengte Nummer + +[ScreenEvaluation] +HelpText=&BACK; Exit &START; Ga Verder &MENULEFT;+&MENURIGHT; of &SELECT; Foto +LifeDifficulty=Levensniveau: %s +TimingDifficulty=Timingsniveau: %s +MachineRecord=Machine Record #%i! +PersonalRecord=Persoonlijk Record #%i! +ITG DP:=ITG DP: +MIGS DP:=MIGS DP: + +[ScreenContinue] +HelpText=&START; Laat Timer Doorlopen + +[OptionTitles] +# Are these UserPref- strings still used? They don't seem to exist in en.ini +UserPrefAutoSetStyle=Bepaal Stijl +UserPrefNotePosition=Nootpositie +UserPrefComboOnRolls=Rollen Verhogen Combo +UserPrefComboUnderField=Combo Onder Veld + +UserPrefGameplayShowScore=Toon Score +UserPrefGameplayShowStepsDisplay=Toon Stappen +UserPrefShowLotsaOptions=Optie-dichtheid +UserPrefLongFail=Faallengte +UserPrefFlashyCombo=Flitsende Combo +UserPrefGameplayFooter=Toon Voettekst +UserPrefFancyUIBG=Sierlijke UI Achtergrond +UserPrefTimingDisplay=Toon Timing + +AutoSetStyle=Auto-Bepaal Stijl +ComboOnRolls=Rollen Verhogen Combo +ComboUnderField=Combo Onder Veld +FancyUIBG=Sierlijke UI Achtergrond +FlashyCombo=Flitsende Combo +GameplayFooter=Toon Voetstuk +GameplayShowScore=Toon Score +GameplayShowStepsDisplay=Toon Stappen +LongFail=Faallengte +NotePosition=Nootpositie +ShowLotsaOptions=Optie-dichtheid +TimingDisplay=Toon Timing + +[OptionExplanations] +# Are these UserPref- strings still used? They don't seem to exist in en.ini +UserPrefAutoSetStyle=Laat toe dat het spel de één en twee speler modus tegelijk laat zien in plaats van maar één van de twee. Dit heeft misschien een herstart nodig (of druk Shift+F2). +UserPrefNotePosition=Beslist waar de pijl ontvangers worden geplaatst tijdens het spelen. +UserPrefComboOnRolls=Kiest of rollen de combo wel of niet moeten verhogen. +UserPrefComboUnderField=Kiest of de combo wel of niet onder de noten moet worden weergegeven. + +UserPrefGameplayShowScore=Toon of Verberg de punten tijdens het spelen. +UserPrefGameplayShowStepsDisplay=Toon of Verberg de stapinformatie tijden het spelen. +UserPrefShowLotsaOptions=Kies hoeveel rijen aan opties je hebt om te kiezen. &oq;Weinig&cq; Hou de lijst klijn. &oq;Veel&cq; voeg verscheidene uitsloof mods toe. +UserPrefLongFail=Kies tussen de originele "Lange" sm-ssc faal of de later geïntroduceerde "korte" faal. +UserPrefFlashyCombo=Beslist of de combo flitsen wel of niet moeten worden weergegeven. +UserPrefGameplayFooter=Als dit aan staat, laat dan een voettekst zien die de zichtbaarheid van pijlen gedeeltelijk (Het punten gedeelte) blokkeert. +UserPrefFancyUIBG=Zet de Sierlijke achtergrond aan/uit. "Uit" is aangeraden voor oude computers. Veranderingen worden doorgevoerd op het beginscherm. +UserPrefTimingDisplay=Zet de weergave van de timing delen van een nummer op de voortgang balk aan/uit. + +AutoSetStyle=Laat toe dat het spel de één en twee speler modus tegelijk laat zien in plaats van maar één van de twee. Dit heeft misschien een herstart nodig (of druk Shift+F2). +ComboOnRolls=Kiest of rollen de combo wel of niet moeten verhogen. Als je deze optie verandert, moet je de metrieken herladen (via Shift+F2) om het in effect te laten gaan. +ComboUnderField=Kiest of de combo wel of niet onder de noten moet worden weergegeven. +FancyUIBG=Zet de Sierlijke achtergrond aan/uit. "Uit" is aanbevolen voor oudere computers. Veranderingen worden doorgevoerd op het beginscherm. +FlashyCombo=Beslist of de combo flitsen wel of niet moeten worden weergegeven. +GameplayFooter=Als dit aan staat, wordt een voetstuk weergegeven die de zichtbaarheid van de pijlen gedeeltelijk blokkeert ( Het score frame van DDR ). +GameplayShowScore=Toon of Verberg de punten tijdens het spelen. +GameplayShowStepsDisplay=Toon of Verberg de stapinformatie tijden het spelen. +LongFail=Kies tussen de originele "Lange" sm-ssc faal of de later geïntroduceerde "korte" faal. +NotePosition=Beslist waar de pijlreceptoren worden geplaatst tijdens het spelen. +ShowLotsaOptions=Kies hoeveel rijen aan opties je hebt om te kiezen. &oq;Weinig&cq; Houdt de lijst klein. &oq;Veel&cq; voegt verscheidene mods toe om mee uit te sloven. +TimingDisplay=Zet de weergave van de timing delen van een nummer op de voortgang balk aan/uit. + +ScoringType=Definieert welke methoden word gebruikt voor de puntentelling. Als Speciaal is geselecteerd, kan je een Speciale Punten Mode in de Thema-opties kiezen. + +Speed=Pas de snelheid aan waarmee de pijlen naar het doel bewegen. +Accel=Verander de manier waarop de pijlen naar hun doel gaan. +Effect=Verander de grootte of beweging van de pijlen en/of doelen. +Appearance=Beheers de zichtbaarheid van de pijlen. +Turn=Verander de stapchoreografie door de positie van de pijlen te veranderen. +Insert=Voeg tapnoten toe aan de stapchoreografie. +Holds=Verander sommige tapnoten in vasthoudnoten. +Mines=Voeg toe / verwijder mijnen. +PlayerAutoPlay=Laat het spel zichzelf spelen. +ScoreDisplay=Verander de manier waarop de punten worden weergegeven. +ProTiming=Verander de manier waarop je beoordeling wordt weergegeven. +Scroll=Verander de richting waar de pijlen vandaan komen. +NoteSkins=Kies een ander uiterlijk voor de pijlen. +Handicap=Verwijdert noten. Dit maakt de score ongeldig. +Hide=Donker verbergt de ontvangers. Blind verbergt de beoordeling. Bedekking verbergt de achtergrond. +Persp=Verander de kijkhoek van de pijlenstroom. +Steps=Verander het niveau van de stappen. +Characters=Dansende maatjes. +SaveToProfileHelp=Vereist profiel of geheugenkaart. +MusicRateHelp=Speel de muziek op een sneller tempo. + +[StepsListDisplayRow StepsType] +Dance_Single=4 +Dance_Double=8 +Dance_Couple=8 +Dance_Solo=6 +Dance_Routine=8 +Dance_Threepanel=3 +Pump_Single=5 +Pump_Double=10 +Pump_Halfdouble=6 +Pump_Couple=5 +Pump_Routine=10 +Kb7_Single=7 +Ez2_Single=ES +Ez2_Double=ED +Ez2_Real=ER +Para_Single=PS +Ds3ddx_Single=XS +Bm_Single5=5 +Bm_Double5=10 +Bm_Single7=7 +Bm_Double7=14 +Maniax_Single=MS +Maniax_Double=MD +Techno_Single4=4 +Techno_Single5=5 +Techno_Single8=8 +Techno_Double4=D4 +Techno_Double5=D5 +Techno_Double8=D8 +Pnm_Five=5 +Pnm_Nine=9 +Guitar_Five=5 +Karaoke=V +Lights_Cabinet=! + +[ScreenHowToInstallSongs] +BodyHeader=Hoe Verkrijg en Installeer je Nummers voor StepMania +Finding Songs=Waar Vind je Nummers +Installing Songs=Hoe Installeer je Nummers +Importing Songs=Importeren van bestaande StepMania-installaties +Reload Songs=Herlaad Nummers +Exit=Terug naar Hoofdmenu + +Explanation-WhereToFind=Lanceert een webpagina met informatie over het vinden van nummers voor StepMania. +Explanation-HowToInstall=Lanceert een webpagina met de instructies voor het installeren van nummers. +Explanation-AdditionalFolders=Als je andere installaties van stepmania hebt, kan je de AdditionalFolders opties gebruiken om ze in StepMania 5 te laden. +Explanation-ReloadSongs=Herlaad de nummers. Dit is nodig als je nummers hebt toegevoegd/veranderd/verwijdert terwijl StepMania loopt. +Explanation-Exit=Terug naar Hoofdmenu. + +[OptionNames] +Custom=Speciaal +Few=Weinig +Long=Lang +Lower=Lager +Many=Veel +Normal=Normaal +Short=Kort + +[ScreenTestInput] +HelpText=Houd &BACK; of &START; ingedrukt om te stoppen. + +[PaneDisplay] +Taps=Taps +Jumps=Sprongen +Holds=Vasth. +Mines=Mijnen +Hands=Handen +Rolls=Rollen +Lifts=Afstap +Fakes=Nep +S=S +V=V +A=A +F=F +C=C + +[ScreenMapControllers] +Exit=Exit + +[ScreenGameOver] +GAME OVER=GAME OVER +Play again soon!=Speel gauw weer! + +[ScreenHowToPlay] +How To Play StepMania=Hoe Speel Je StepMania +Information=Informatie + +Feet=Jouw voeten zullen worden gebruikt om te spelen! +Tap=Wanneer de pijlen dit punt bereiken,\nstap je op de bijbehorende panelen. +Jump=Stap op beide panelen als beide\npijlen tegelijkertijd verschijnen! +Miss=Als je herhaaldelijk misstapt, zal je\ndansmeter leeglopen tot de game\nvoorbij is! + + +[Protiming] +MS=MS diff --git a/Themes/legacy/Languages/pl.ini b/Themes/legacy/Languages/pl.ini new file mode 100644 index 0000000000..2d8bea5f3d --- /dev/null +++ b/Themes/legacy/Languages/pl.ini @@ -0,0 +1,253 @@ +[Screen] +HelpText=&BACK; WyjÅ›cie &START; Zatwierdź &SELECT; Opcje &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Wybierz + +[ScreenWithMenuElements] +HelpText=&BACK; WyjÅ›cie &START; Zatwierdź &MENULEFT;&MENURIGHT; Wybierz +StageCounter=Piosenka %s +EventStageCounter=Piosenka %03i + +[ScreenTitleMenu] +HelpText=&BACK; WyjÅ›cie &START; Zatwierdź &MENUUP;&MENUDOWN; Wybierz +Network OK=Sieć OK +Offline=Brak połączenia +Connected to %s=Podłączony do %s +CurrentGametype=Tryb gry: %s +LifeDifficulty=Zużycie energii: %s +TimingDifficulty=Ocena trafieÅ„: %s +%i Songs (%i Groups), %i Courses=%i Piosenek(i) w %i Grupach, %i Maratony(ów) + +[ScreenTitleJoin] +HelpText=NaciÅ›nij &START; by rozpocząć grÄ™ +HelpTextJoin=NaciÅ›nij &START; by rozpocząć grÄ™ +HelpTextWait=Wrzuć żeton... +EventMode=Tryb Imprezy +JointPremiumMain=Premia ÅÄ…czona +JointPremiumSecondary=Dwóch graczy może grac za jeden kredyt! +DoublesPremiumMain=Podwójna Premia +DoublesPremiumSecondary=Graj w trybie Dwuosobowym za jeden kredyt! + +[ScreenCaution] +HelpText=&START; Kontynuuj + +[ScreenDemonstration] +Demonstration=Demonstracja +%s - %s [from %s]=%s - %s\n[od %s] + +[ScreenQuickSetupOverview] +Explanation=Podstawowe ustawienia umożliwiajÄ… szybkie skonfigurowanie najczęściej używanych opcji + +[ScreenProfileLoad] +HelpText=... Åadowanie profili, proszÄ™ czekać ... + +[ScreenSelectProfile] +%d Song Played=%d Zaliczna Piosenka +%d Songs Played=%d Zaliczonych Piosenek +PressStart=NaciÅ›nij &START;\n by dołączyć. +HelpText=&MENUUP;&MENUDOWN; ZmieÅ„ profil &START; Wybierz/Dołącz &BACK; Odznacz + +[ScreenSelectMaster] +HelpText=&BACK; WyjÅ›cie &START; Zatwierdź / Dołącz &MENULEFT;&MENURIGHT; Wybierz + +[ScreenSelectPlayMode] +HelpText=&BACK; WyjÅ›cie &START; Zatwierdź / Dołącz &MENULEFT;&MENURIGHT; Wybierz +EasyExplanation=Tryb dla poczÄ…tkujÄ…cych +HardExplanation=Dla ekspertów. +OldNormalExplanation=Nie za Å‚atwo, nie za trudno. +NormalExplanation=Graj w swoje ulubione piosenki! +RaveExplanation=Bitwa dwóch graczy przeciwko sobie. +NonstopExplanation=Kilka piosenek pod rzÄ…d. +OniExplanation=Prawdziwy test umiejÄ™tnoÅ›ci. +EndlessExplanation=TaÅ„cz aż padniesz. + +[ScreenSelectPlayStyle] +HelpText=&BACK; WyjÅ›cie &START; Zatwierdź &MENULEFT;&MENURIGHT; Wybierz + +[ScreenGameInformation] +HelpText=&BACK; WyjÅ›cie &START; PomiÅ„ + +[ScreenSelectMusic] +NEW!=NOWA! +Press Start For Options=NaciÅ›nij &START; by wejść w Opcje. +Entering Options=Otwieram Opcje +HelpText=&BACK; WyjÅ›cie &START; Zatwierdź / Dołącz &SELECT; Magiczne kody &MENULEFT;&MENURIGHT; Wybierz::&AUXWHITE;+[KEY] Sortowanie wg. [KEY] +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Zmiana poziomu trudnoÅ›ci &SELECT;+&START; Szybkie Sortowanie + +[ScreenSelectCourse] +HelpText=&BACK; WyjÅ›cie &START; Zatwierdź / Dołącz &SELECT; Magiczne kody &MENULEFT;&MENURIGHT; Sekwencja ::&UP;&DOWN;&UP;&DOWN; - inne tryby maratonu. + +[ScreenOptions] +HelpText=&BACK; WyjÅ›cie &START; Zatwierdź &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Wybierz +Disqualified=Wynik nie zostanie uznany! + +[ScreenStageInformation] +HelpText= + +[ScreenGameplay] +HelpText= + +[ScreenHeartEntry] +Enter Heart Rate=Wprowadź Rytmu Serca +Heart Rate=Rytm Serca +Song Length=DÅ‚ugość Piosenki + +[ScreenEvaluation] +HelpText=&BACK; WyjÅ›cie &START; Dalej &MENULEFT;+&MENURIGHT; lub &SELECT; Zrzut ekranu +LifeDifficulty=Zużycie energii: %s +TimingDifficulty=Ocena trafieÅ„: %s +MachineRecord=Rekord Maszyny #%i! +PersonalRecord=Rekord Å»yciowy #%i! +ITG DP:=ITG DP: +MIGS DP:=MIGS DP: + +[ScreenContinue] +HelpText=&START; Advance Timer + +[OptionTitles] +AutoSetStyle=Automatycznie Ustaw Styl +NotePosition=Pozycja StrzaÅ‚ek +ComboOnRolls=NarastajÄ…ce combo w Rolls +ComboUnderField=Combo Pod StrzaÅ‚kami + +GameplayShowScore=Pokazuj wyniki +GameplayShowStepsDisplay=Pokazuj Kroki +ShowLotsaOptions=Ilość opcji +LongFail=Tryb Fail`a +FlashyCombo=BÅ‚yskajÄ…ce Combo +GameplayFooter=Stopka Na Ekranie Gry +FancyUIBG=Ozdobne TÅ‚o Interfejsu +TimingDisplay=WyÅ›wietlanie Timing`u + +[OptionExplanations] +AutoSetStyle=Pozwala grze jednoczesne wyÅ›wietlenie trybów dla dwóch graczy a nie tylko dla jednego. Wprowadzenie zmiany możne wymagać restartu Stepmanii (lub naciÅ›niÄ™cia klawisza Shift+F2) +NotePosition=OkreÅ›la pozycje receptorów strzaÅ‚ek podczas gry. +ComboOnRolls=Włącza naliczanie licznika Combo w sposób narastajÄ…cy dla strzaÅ‚ek typu ROLL. +ComboUnderField=OkreÅ›la czy wskaźnik Combo powinien być wyÅ›wietlany nad czy pod strzaÅ‚kami. + +GameplayShowScore=WyÅ›wietla lub ukrywa licznik punktów podczas gry. +GameplayShowStepsDisplay=WyÅ›wietla lub ukrywa statystykÄ™ strzaÅ‚ek podczas gry. +ShowLotsaOptions=OkreÅ›la jak dużo modyfikatorów wyÅ›wietlić na ekranie opcji piosenki. +LongFail=OkreÅ›la dÅ‚ugość czasu animacji ogrywanej po niezaliczanej piosence. Oryginalny z SM5 (DÅ‚ugi) , nowy (Krotki) +FlashyCombo=OkreÅ›la czy licznik Combo może bÅ‚yskać czy nie. +GameplayFooter=Włączona opcja wyÅ›wietla, ograniczajÄ…ca widoczność nadlatujÄ…cych strzaÅ‚ek, stopkÄ™ u doÅ‚u ekranu. +FancyUIBG=ZarzÄ…dzanie wyÅ›wietlaniem ozdobnego tÅ‚a interfejsu. Wyłączenie jest zalecane dla straszych komputerów. +TimingDisplay=WyÅ›wietlanie segementów z timingiem na pasku postÄ™pu piosenki podczas gry. + +ScoringType=Opcja pozwala na okreÅ›lenie metody naliczania punktacji. + +Speed=Regulacja prÄ™dkoÅ›ci nadlatujÄ…cych strzaÅ‚ek. +Accel=Zmiana Å›cieżki trasy która lecÄ… strzaÅ‚ki. +Effect=Zmiana rozmiaru lub rodzaju ruchu strzaÅ‚ek lub ich receptorów/celów. +Appearance=Kontrola widocznoÅ›ci strzaÅ‚ek. +Turn=Zmiana choreografii stepchart`a po przez modyfikacje pozycji istniejÄ…cych strzaÅ‚ek. +Insert=Zmiana choreografii stepchart`a po przez proceduralne dodanie nowych strzaÅ‚ek. +Holds=Zmienia cześć strzaÅ‚ki w HOLD`y +Mines=Dodanie lub usuniecie Min. +PlayerAutoPlay=Program odgrywa piosenkÄ™ automatycznie +ScoreDisplay=Zmiana sposobu wyÅ›wietlania punktacji. +ProTiming=Zmiana sposobu wyÅ›wietlania dokÅ‚adnoÅ›ci trafienia w strzaÅ‚kÄ™. +Scroll=Modyfikacje kierunku ruchu strzaÅ‚ek. +NoteSkins=Wybór wyglÄ…du grafiki strzaÅ‚ek/nut. +Handicap=Usuwanie strzaÅ‚ek ze stepchart`a. Opcje uÅ‚atwiajÄ…ce ukoÅ„czenie piosenki. Użycie dyskwalifikuje z rankingu. +Hide=Modyfikacja widocznoÅ›ci receptorów/strzaÅ‚ek celu +Persp=Tryby widoku nadlatujÄ…cych strzaÅ‚ek. +Steps=Ustawienie poziomu trudnoÅ›ci piosenki. +Characters=Wybór modelu taÅ„czÄ…cej postaci w tle. +SaveToProfileHelp=Wymaga włączonego profilu, karty pamiÄ™ci lub pendrive`a. +MusicRateHelp=PrÄ™dkość odtwarzania muzyki. + +[StepsListDisplayRow StepsType] +Dance_Single=4 +Dance_Double=8 +Dance_Couple=8 +Dance_Solo=6 +Dance_Routine=8 +Dance_Threepanel=3 +Pump_Single=5 +Pump_Double=10 +Pump_Halfdouble=6 +Pump_Couple=5 +Pump_Routine=10 +Kb7_Single=7 +Ez2_Single=ES +Ez2_Double=ED +Ez2_Real=ER +Para_Single=PS +Ds3ddx_Single=XS +Bm_Single5=5 +Bm_Double5=10 +Bm_Single7=7 +Bm_Double7=14 +Maniax_Single=MS +Maniax_Double=MD +Techno_Single4=4 +Techno_Single5=5 +Techno_Single8=8 +Techno_Double4=D4 +Techno_Double5=D5 +Techno_Double8=D8 +Pnm_Five=5 +Pnm_Nine=9 +Guitar_Five=5 +Karaoke=V +Lights_Cabinet=! + +[ScreenHowToInstallSongs] +BodyHeader=Jak Zdobyć i Zainstalować Piosenki do Stepmanii +Finding Songs=Gdzie Znaleźć Piosenki +Installing Songs=Jak Zainstalować Piosenki +Importing Songs=Importowanie piosenek z zainstalowanych wczeÅ›niej wersji Stepmanii +Reload Songs=PrzeÅ‚adowanie Piosenek +Exit=Powrót do Ekranu Startowego + +Explanation-WhereToFind=Uruchamia stronÄ™ www z informacjÄ… miejscach i sposobach na znalezienie piosenek. +Explanation-HowToInstall=Uruchamia stronÄ™ www z instrukcjÄ… instalacji piosenek. +Explanation-AdditionalFolders=JeÅ›li masz zainstalowane inne instancje Stepmanii, możesz użyć opcji Foldery Dodatkowe z pliku ustawieÅ„ by zaÅ‚adować je bez koniecznoÅ›ci ich kopiowania. +Explanation-ReloadSongs=Ta czynność jest konieczna jeÅ›li dodano/zmieniono/usuniÄ™to piosenki w trakcie pracy programu. +Explanation-Exit=Powrót do Ekranu Startowego. + +[OptionNames] +Custom=Specjalna +Many=Duża +Few=MaÅ‚a +Normal=Standardowe +Lower=Obniżone +Short=Krótki +Long=DÅ‚ugi + +[ScreenTestInput] +HelpText=Przytrzymaj &BACK; lub &START; aby wyjść. + +[PaneDisplay] +Taps=Kroki +Jumps=Skoki +Holds=Holds +Mines=Miny +Hands=RÄ™ce +Rolls=Rolls +Lifts=Lifts +Fakes=Fakes +S=S +V=V +A=A +F=F +C=C + +[ScreenMapControllers] +Exit=WyjÅ›cie + +[ScreenGameOver] +GAME OVER=KONIEC GRY +Play again soon!=Zagraj jeszcze raz! + +[ScreenHowToPlay] +How To Play StepMania=Jak Grać w StepmaniÄ™ +Information=Informacja + +Feet=Twoje stopy bÄ™dÄ… wykorzystywane do gry! +Tap=Kiedy strzaÅ‚ki pokryjÄ… siÄ™ z tym punktem,\npołóż nogÄ™ na odpowiednim panelu. +Jump=Połóż nogi na obydwu panelach jeÅ›li pojawiÄ… siÄ™ dwie\nróżne strzaÅ‚ki w tym samym czasie! +Miss=JeÅ›li wielokrotnie bÄ™dziesz siÄ™ myliÅ‚,\ntwój wskaźnik taÅ„ca bÄ™dzie siÄ™ zmniejszaÅ‚\naż gra siÄ™ skoÅ„czy! + + +[Protiming] +MS=MS \ No newline at end of file diff --git a/Themes/default/Languages/zh.ini b/Themes/legacy/Languages/zh.ini similarity index 100% rename from Themes/default/Languages/zh.ini rename to Themes/legacy/Languages/zh.ini diff --git a/Themes/default/Other/Profile Catalog.xsl b/Themes/legacy/Other/Profile Catalog.xsl similarity index 100% rename from Themes/default/Other/Profile Catalog.xsl rename to Themes/legacy/Other/Profile Catalog.xsl diff --git a/Themes/default/Other/Profile Common.xsl b/Themes/legacy/Other/Profile Common.xsl similarity index 100% rename from Themes/default/Other/Profile Common.xsl rename to Themes/legacy/Other/Profile Common.xsl diff --git a/Themes/default/Other/Profile Stats.xsl b/Themes/legacy/Other/Profile Stats.xsl similarity index 100% rename from Themes/default/Other/Profile Stats.xsl rename to Themes/legacy/Other/Profile Stats.xsl diff --git a/Themes/default/Other/ScreenGameplaySyncMachine music.sm b/Themes/legacy/Other/ScreenGameplaySyncMachine music.sm similarity index 100% rename from Themes/default/Other/ScreenGameplaySyncMachine music.sm rename to Themes/legacy/Other/ScreenGameplaySyncMachine music.sm diff --git a/Themes/default/Other/ScreenHowToPlay steps.sm b/Themes/legacy/Other/ScreenHowToPlay steps.sm similarity index 100% rename from Themes/default/Other/ScreenHowToPlay steps.sm rename to Themes/legacy/Other/ScreenHowToPlay steps.sm diff --git a/Themes/default/Other/SongManager PreferredSongs.txt b/Themes/legacy/Other/SongManager PreferredCourses.txt similarity index 100% rename from Themes/default/Other/SongManager PreferredSongs.txt rename to Themes/legacy/Other/SongManager PreferredCourses.txt diff --git a/Themes/default/Other/SongManager PreferredSort.txt b/Themes/legacy/Other/SongManager PreferredSongs.txt similarity index 100% rename from Themes/default/Other/SongManager PreferredSort.txt rename to Themes/legacy/Other/SongManager PreferredSongs.txt diff --git a/Themes/legacy/Other/SongManager PreferredSort.txt b/Themes/legacy/Other/SongManager PreferredSort.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Themes/default/Other/_blank.png b/Themes/legacy/Other/_blank.png similarity index 100% rename from Themes/default/Other/_blank.png rename to Themes/legacy/Other/_blank.png diff --git a/Themes/default/Other/_gameplay sync music.ogg b/Themes/legacy/Other/_gameplay sync music.ogg similarity index 100% rename from Themes/default/Other/_gameplay sync music.ogg rename to Themes/legacy/Other/_gameplay sync music.ogg diff --git a/Themes/default/Other/_missing.png b/Themes/legacy/Other/_missing.png similarity index 100% rename from Themes/default/Other/_missing.png rename to Themes/legacy/Other/_missing.png diff --git a/Themes/default/Scripts/00 ThemeInfo.lua b/Themes/legacy/Scripts/00 ThemeInfo.lua similarity index 100% rename from Themes/default/Scripts/00 ThemeInfo.lua rename to Themes/legacy/Scripts/00 ThemeInfo.lua diff --git a/Themes/legacy/Scripts/02 Colors.lua b/Themes/legacy/Scripts/02 Colors.lua new file mode 100644 index 0000000000..bd1e03056b --- /dev/null +++ b/Themes/legacy/Scripts/02 Colors.lua @@ -0,0 +1,7 @@ +ModeIconColors = { + Normal = color("#FFEE00"), -- yellow + Rave = color("#db93ff"), -- violet + Nonstop = color("#5ca9ff"), -- blue + Oni = color("#00f1e2"), -- cyan + Endless = color("#b4c3d2"), -- steel +} diff --git a/Themes/default/Scripts/02 Lyrics.lua b/Themes/legacy/Scripts/02 Lyrics.lua similarity index 100% rename from Themes/default/Scripts/02 Lyrics.lua rename to Themes/legacy/Scripts/02 Lyrics.lua diff --git a/Themes/default/Scripts/02 TextBanner.lua b/Themes/legacy/Scripts/02 TextBanner.lua similarity index 100% rename from Themes/default/Scripts/02 TextBanner.lua rename to Themes/legacy/Scripts/02 TextBanner.lua diff --git a/Themes/legacy/Scripts/02 ThemePrefs.lua b/Themes/legacy/Scripts/02 ThemePrefs.lua new file mode 100644 index 0000000000..f13ce3130f --- /dev/null +++ b/Themes/legacy/Scripts/02 ThemePrefs.lua @@ -0,0 +1,184 @@ +-- StepMania 5 Default Theme Preferences Handler +local function OptionNameString(str) + return THEME:GetString('OptionNames',str) +end + +-- Example usage of new system (not fully implemented yet) +local Prefs = +{ + AutoSetStyle = + { + Default = false, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + }, + GameplayShowStepsDisplay = + { + Default = true, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + }, + GameplayShowScore = + { + Default = true, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + }, + ShowLotsaOptions = + { + Default = true, + Choices = { OptionNameString('Many'), OptionNameString('Few') }, + Values = { true, false } + }, + LongFail = + { + Default = false, + Choices = { OptionNameString('Short'), OptionNameString('Long') }, + Values = { false, true } + }, + NotePosition = + { + Default = true, + Choices = { OptionNameString('Normal'), OptionNameString('Lower') }, + Values = { true, false } + }, + ComboOnRolls = + { + Default = false, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + }, + FlashyCombo = + { + Default = false, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + }, + ComboUnderField = + { + Default = true, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + }, + FancyUIBG = + { + Default = false, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + }, + TimingDisplay = + { + Default = false, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + }, + GameplayFooter = + { + Default = false, + Choices = { OptionNameString('Off'), OptionNameString('On') }, + Values = { false, true } + }, +} + +ThemePrefs.InitAll(Prefs) + +function InitUserPrefs() + local Prefs = { + UserPrefScoringMode = 'DDR Extreme', + UserPrefSoundPack = 'default', + UserPrefProtimingP1 = false, + UserPrefProtimingP2 = false, + } + for k, v in pairs(Prefs) do + -- kind of xxx + local GetPref = type(v) == "boolean" and GetUserPrefB or GetUserPref + if GetPref(k) == nil then + SetUserPref(k, v) + end + end + + -- screen filter + setenv("ScreenFilterP1",0) + setenv("ScreenFilterP2",0) +end + +function GetProTiming(pn) + local pname = ToEnumShortString(pn) + if GetUserPref("ProTiming"..pname) then + return GetUserPrefB("ProTiming"..pname) + else + SetUserPref("ProTiming"..pname,false) + return false + end +end + +--[[ option rows ]] + +-- screen filter +function OptionRowScreenFilter() + return { + Name="ScreenFilter", + LayoutType = "ShowAllInRow", + SelectType = "SelectOne", + OneChoiceForAllPlayers = false, + ExportOnChange = false, + Choices = { THEME:GetString('OptionNames','Off'), '0.1', '0.2', '0.3', '0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1.0', }, + LoadSelections = function(self, list, pn) + local pName = ToEnumShortString(pn) + local filterValue = getenv("ScreenFilter"..pName) + if filterValue ~= nil then + local val = scale(tonumber(filterValue),0,1,1,#list ) + list[val] = true + else + setenv("ScreenFilter"..pName,0) + list[1] = true + end + end, + SaveSelections = function(self, list, pn) + local pName = ToEnumShortString(pn) + local found = false + for i=1,#list do + if not found then + if list[i] == true then + local val = scale(i,1,#list,0,1) + setenv("ScreenFilter"..pName,val) + found = true + end + end + end + end, + } +end + +-- protiming +function OptionRowProTiming() + return { + Name = "ProTiming", + LayoutType = "ShowAllInRow", + SelectType = "SelectOne", + OneChoiceForAllPlayers = false, + ExportOnChange = false, + Choices = { + THEME:GetString('OptionNames','Off'), + THEME:GetString('OptionNames','On') + }, + LoadSelections = function(self, list, pn) + if GetUserPrefB("UserPrefProtiming" .. ToEnumShortString(pn)) then + local bShow = GetUserPrefB("UserPrefProtiming" .. ToEnumShortString(pn)) + if bShow then + list[2] = true + else + list[1] = true + end + else + list[1] = true + end + end, + SaveSelections = function(self, list, pn) + local bSave = list[2] and true or false + SetUserPref("UserPrefProtiming" .. ToEnumShortString(pn), bSave) + end + } +end + +--[[ end option rows ]] diff --git a/Themes/legacy/Scripts/03 Gameplay.lua b/Themes/legacy/Scripts/03 Gameplay.lua new file mode 100644 index 0000000000..1235c302b6 --- /dev/null +++ b/Themes/legacy/Scripts/03 Gameplay.lua @@ -0,0 +1,26 @@ +-- StepMania 5 default theme | script ring 03 | Gameplay.lua +-- someone thought it'd be a good idea to put theme preferences into the fallback +-- when they should've been in default instead. there is no emoticon for how i feel +-- at this moment right now -freem + +-- for example, not every theme wants to worry about custom receptor positions. +local tNotePositions = { + -- StepMania 3.9/4.0 + Normal = { -144, 144, }, + -- ITG + Lower = { -125, 145, } +} + +function GetTapPosition( sType ) + bCategory = (sType == 'Standard') and 1 or 2 + -- true: Normal + -- false: Lower + bPreference = ThemePrefs.Get("NotePosition") and "Normal" or "Lower" + tNotePos = tNotePositions[bPreference] + return tNotePos[bCategory] +end + +-- combo under field is another thing that doesn't always need to be custom +function ComboUnderField() + return ThemePrefs.Get("ComboUnderField") +end \ No newline at end of file diff --git a/Themes/legacy/Scripts/04 Other.lua b/Themes/legacy/Scripts/04 Other.lua new file mode 100644 index 0000000000..80cabd8e7b --- /dev/null +++ b/Themes/legacy/Scripts/04 Other.lua @@ -0,0 +1,49 @@ +function SongMeterDisplayX(pn) + if Center1Player() then + return SCREEN_CENTER_X + else + return pn == PLAYER_1 and SCREEN_LEFT+16 or SCREEN_RIGHT-16 + end +end + +function SongMeterDisplayY(pn) + return Center1Player() and SCREEN_TOP+50 or SCREEN_CENTER_Y +end + +function SongMeterDisplayCommand(pn) + if Center1Player() then + return cmd(draworder,50;zoom,0;y,SCREEN_TOP-24;sleep,1.5;decelerate,0.5;zoom,1;y,SCREEN_TOP+50) + else + local xAdd = (pn == PLAYER_1) and -24 or 24 + return cmd(draworder,5;rotationz,-90;zoom,0;addx,xAdd;sleep,1.5;decelerate,0.5;zoom,1;addx,xAdd*-1) + end +end + +local numbered_stages= { + Stage_1st= true, + Stage_2nd= true, + Stage_3rd= true, + Stage_4th= true, + Stage_5th= true, + Stage_6th= true, + Stage_Next= true, +} + +function thified_curstage_index(on_eval) + local cur_stage= GAMESTATE:GetCurrentStage() + local adjust= 1 + -- hack: ScreenEvaluation shows the current stage, but it needs to show + -- the last stage instead. Adjust the amount. + if on_eval then + adjust= 0 + end + if numbered_stages[cur_stage] then + return FormatNumberAndSuffix(GAMESTATE:GetCurrentStageIndex() + adjust) + else + return ToEnumShortString(cur_stage) + end +end + +function check_stop_course_early() + return course_stopped_by_pause_menu +end diff --git a/Themes/legacy/Sounds/Common Start.redir b/Themes/legacy/Sounds/Common Start.redir new file mode 100644 index 0000000000..95194bc11e --- /dev/null +++ b/Themes/legacy/Sounds/Common Start.redir @@ -0,0 +1 @@ +default/Common Start \ No newline at end of file diff --git a/Themes/legacy/Sounds/Common invalid.redir b/Themes/legacy/Sounds/Common invalid.redir new file mode 100644 index 0000000000..9a52ca1117 --- /dev/null +++ b/Themes/legacy/Sounds/Common invalid.redir @@ -0,0 +1 @@ +default/Common invalid \ No newline at end of file diff --git a/Themes/legacy/Sounds/Common value.redir b/Themes/legacy/Sounds/Common value.redir new file mode 100644 index 0000000000..d7b22ba590 --- /dev/null +++ b/Themes/legacy/Sounds/Common value.redir @@ -0,0 +1 @@ +default/Common value \ No newline at end of file diff --git a/Themes/legacy/Sounds/MenuTimer tick.redir b/Themes/legacy/Sounds/MenuTimer tick.redir new file mode 100644 index 0000000000..1f434b3128 --- /dev/null +++ b/Themes/legacy/Sounds/MenuTimer tick.redir @@ -0,0 +1 @@ +default/MenuTimer tick \ No newline at end of file diff --git a/Themes/legacy/Sounds/MusicWheel change.redir b/Themes/legacy/Sounds/MusicWheel change.redir new file mode 100644 index 0000000000..6177f54d06 --- /dev/null +++ b/Themes/legacy/Sounds/MusicWheel change.redir @@ -0,0 +1 @@ +default/MusicWheel change \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenCredits music.redir b/Themes/legacy/Sounds/ScreenCredits music.redir new file mode 100644 index 0000000000..9a5dd42a27 --- /dev/null +++ b/Themes/legacy/Sounds/ScreenCredits music.redir @@ -0,0 +1 @@ +default/_Music credits \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenEdit freeze.ogg b/Themes/legacy/Sounds/ScreenEdit freeze.ogg new file mode 100644 index 0000000000..a6288e66ac Binary files /dev/null and b/Themes/legacy/Sounds/ScreenEdit freeze.ogg differ diff --git a/Themes/legacy/Sounds/ScreenEdit line.redir b/Themes/legacy/Sounds/ScreenEdit line.redir new file mode 100644 index 0000000000..6e1d92da8b --- /dev/null +++ b/Themes/legacy/Sounds/ScreenEdit line.redir @@ -0,0 +1 @@ +_common row diff --git a/Themes/legacy/Sounds/ScreenEdit marker.ogg b/Themes/legacy/Sounds/ScreenEdit marker.ogg new file mode 100644 index 0000000000..ae0052749b Binary files /dev/null and b/Themes/legacy/Sounds/ScreenEdit marker.ogg differ diff --git a/Themes/legacy/Sounds/ScreenEdit save.ogg b/Themes/legacy/Sounds/ScreenEdit save.ogg new file mode 100644 index 0000000000..afa38a7031 Binary files /dev/null and b/Themes/legacy/Sounds/ScreenEdit save.ogg differ diff --git a/Themes/legacy/Sounds/ScreenEdit snap.ogg b/Themes/legacy/Sounds/ScreenEdit snap.ogg new file mode 100644 index 0000000000..7c1f6af6a1 Binary files /dev/null and b/Themes/legacy/Sounds/ScreenEdit snap.ogg differ diff --git a/Themes/legacy/Sounds/ScreenEdit switch player.ogg b/Themes/legacy/Sounds/ScreenEdit switch player.ogg new file mode 100644 index 0000000000..74d0db1f25 Binary files /dev/null and b/Themes/legacy/Sounds/ScreenEdit switch player.ogg differ diff --git a/Themes/legacy/Sounds/ScreenEdit switch timing.redir b/Themes/legacy/Sounds/ScreenEdit switch timing.redir new file mode 100644 index 0000000000..ddb8831dc3 --- /dev/null +++ b/Themes/legacy/Sounds/ScreenEdit switch timing.redir @@ -0,0 +1 @@ +ScreenEdit switch player \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenEdit value decrease.redir b/Themes/legacy/Sounds/ScreenEdit value decrease.redir new file mode 100644 index 0000000000..6b08d8884c --- /dev/null +++ b/Themes/legacy/Sounds/ScreenEdit value decrease.redir @@ -0,0 +1 @@ +ScreenEdit value increase \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenEdit value increase.ogg b/Themes/legacy/Sounds/ScreenEdit value increase.ogg new file mode 100644 index 0000000000..cde2dc1cd5 Binary files /dev/null and b/Themes/legacy/Sounds/ScreenEdit value increase.ogg differ diff --git a/Themes/legacy/Sounds/ScreenGameInformation music.redir b/Themes/legacy/Sounds/ScreenGameInformation music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenGameInformation music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenGameplay failed.redir b/Themes/legacy/Sounds/ScreenGameplay failed.redir new file mode 100644 index 0000000000..dd33b181c2 --- /dev/null +++ b/Themes/legacy/Sounds/ScreenGameplay failed.redir @@ -0,0 +1 @@ +default/ScreenGameplay failed \ No newline at end of file diff --git a/Themes/default/Sounds/ScreenGameplayAlternate failed.mp3 b/Themes/legacy/Sounds/ScreenGameplayAlternate failed.mp3 similarity index 100% rename from Themes/default/Sounds/ScreenGameplayAlternate failed.mp3 rename to Themes/legacy/Sounds/ScreenGameplayAlternate failed.mp3 diff --git a/Themes/legacy/Sounds/ScreenOptionsService music.redir b/Themes/legacy/Sounds/ScreenOptionsService music.redir new file mode 100644 index 0000000000..1f8565ca21 --- /dev/null +++ b/Themes/legacy/Sounds/ScreenOptionsService music.redir @@ -0,0 +1 @@ +_silent \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenProfileLoad music.redir b/Themes/legacy/Sounds/ScreenProfileLoad music.redir new file mode 100644 index 0000000000..c29cb1da10 --- /dev/null +++ b/Themes/legacy/Sounds/ScreenProfileLoad music.redir @@ -0,0 +1 @@ +_Music title \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectMusic course music.redir b/Themes/legacy/Sounds/ScreenSelectMusic course music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectMusic course music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectMusic loop music.redir b/Themes/legacy/Sounds/ScreenSelectMusic loop music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectMusic loop music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectMusic random music.redir b/Themes/legacy/Sounds/ScreenSelectMusic random music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectMusic random music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectMusic roulette music.redir b/Themes/legacy/Sounds/ScreenSelectMusic roulette music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectMusic roulette music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectMusic section music.redir b/Themes/legacy/Sounds/ScreenSelectMusic section music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectMusic section music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectMusic sort music.redir b/Themes/legacy/Sounds/ScreenSelectMusic sort music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectMusic sort music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectPlayMode music.redir b/Themes/legacy/Sounds/ScreenSelectPlayMode music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectPlayMode music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectPlayStyle music.redir b/Themes/legacy/Sounds/ScreenSelectPlayStyle music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectPlayStyle music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectProfile music.redir b/Themes/legacy/Sounds/ScreenSelectProfile music.redir new file mode 100644 index 0000000000..c29cb1da10 --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectProfile music.redir @@ -0,0 +1 @@ +_Music title \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenSelectStyle music.redir b/Themes/legacy/Sounds/ScreenSelectStyle music.redir new file mode 100644 index 0000000000..de1c54532a --- /dev/null +++ b/Themes/legacy/Sounds/ScreenSelectStyle music.redir @@ -0,0 +1 @@ +_Music menu \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenTitleJoin music.redir b/Themes/legacy/Sounds/ScreenTitleJoin music.redir new file mode 100644 index 0000000000..1f8565ca21 --- /dev/null +++ b/Themes/legacy/Sounds/ScreenTitleJoin music.redir @@ -0,0 +1 @@ +_silent \ No newline at end of file diff --git a/Themes/legacy/Sounds/ScreenTitleMenu music.redir b/Themes/legacy/Sounds/ScreenTitleMenu music.redir new file mode 100644 index 0000000000..1f8565ca21 --- /dev/null +++ b/Themes/legacy/Sounds/ScreenTitleMenu music.redir @@ -0,0 +1 @@ +_silent \ No newline at end of file diff --git a/Themes/legacy/Sounds/_Music credits.redir b/Themes/legacy/Sounds/_Music credits.redir new file mode 100644 index 0000000000..9a5dd42a27 --- /dev/null +++ b/Themes/legacy/Sounds/_Music credits.redir @@ -0,0 +1 @@ +default/_Music credits \ No newline at end of file diff --git a/Themes/legacy/Sounds/_Music menu.redir b/Themes/legacy/Sounds/_Music menu.redir new file mode 100644 index 0000000000..c29cb1da10 --- /dev/null +++ b/Themes/legacy/Sounds/_Music menu.redir @@ -0,0 +1 @@ +_Music title \ No newline at end of file diff --git a/Themes/legacy/Sounds/_Music title (loop).redir b/Themes/legacy/Sounds/_Music title (loop).redir new file mode 100644 index 0000000000..4e0938f444 --- /dev/null +++ b/Themes/legacy/Sounds/_Music title (loop).redir @@ -0,0 +1 @@ +default/_Music title (loop) \ No newline at end of file diff --git a/Themes/legacy/Sounds/_Music title (loop).sm b/Themes/legacy/Sounds/_Music title (loop).sm new file mode 100644 index 0000000000..847227b480 --- /dev/null +++ b/Themes/legacy/Sounds/_Music title (loop).sm @@ -0,0 +1,5 @@ +#TITLE:Love Is Eternity A; +#OFFSET:0.000; +#BPMS:0.000=140.000; +#STOPS:; + diff --git a/Themes/legacy/Sounds/_Screen cancel.redir b/Themes/legacy/Sounds/_Screen cancel.redir new file mode 100644 index 0000000000..b8c4407235 --- /dev/null +++ b/Themes/legacy/Sounds/_Screen cancel.redir @@ -0,0 +1 @@ +default/_Screen cancel \ No newline at end of file diff --git a/Themes/legacy/Sounds/_common row.redir b/Themes/legacy/Sounds/_common row.redir new file mode 100644 index 0000000000..e262f3b3d6 --- /dev/null +++ b/Themes/legacy/Sounds/_common row.redir @@ -0,0 +1 @@ +default/_common row \ No newline at end of file diff --git a/Themes/legacy/Sounds/_switch down.redir b/Themes/legacy/Sounds/_switch down.redir new file mode 100644 index 0000000000..a5e8d133aa --- /dev/null +++ b/Themes/legacy/Sounds/_switch down.redir @@ -0,0 +1 @@ +default/_switch down \ No newline at end of file diff --git a/Themes/legacy/Sounds/_switch up.redir b/Themes/legacy/Sounds/_switch up.redir new file mode 100644 index 0000000000..45af200eae --- /dev/null +++ b/Themes/legacy/Sounds/_switch up.redir @@ -0,0 +1 @@ +default/_switch up \ No newline at end of file diff --git a/Themes/legacy/Sounds/default/Common Start.ogg b/Themes/legacy/Sounds/default/Common Start.ogg new file mode 100644 index 0000000000..b048f1582a Binary files /dev/null and b/Themes/legacy/Sounds/default/Common Start.ogg differ diff --git a/Themes/legacy/Sounds/default/Common invalid.ogg b/Themes/legacy/Sounds/default/Common invalid.ogg new file mode 100644 index 0000000000..66daf41465 Binary files /dev/null and b/Themes/legacy/Sounds/default/Common invalid.ogg differ diff --git a/Themes/legacy/Sounds/default/Common value.ogg b/Themes/legacy/Sounds/default/Common value.ogg new file mode 100644 index 0000000000..18134a2304 Binary files /dev/null and b/Themes/legacy/Sounds/default/Common value.ogg differ diff --git a/Themes/legacy/Sounds/default/MenuTimer tick.ogg b/Themes/legacy/Sounds/default/MenuTimer tick.ogg new file mode 100644 index 0000000000..304e1ea81e Binary files /dev/null and b/Themes/legacy/Sounds/default/MenuTimer tick.ogg differ diff --git a/Themes/legacy/Sounds/default/MusicWheel change.ogg b/Themes/legacy/Sounds/default/MusicWheel change.ogg new file mode 100644 index 0000000000..15d807a957 Binary files /dev/null and b/Themes/legacy/Sounds/default/MusicWheel change.ogg differ diff --git a/Themes/legacy/Sounds/default/ScreenGameplay failed.ogg b/Themes/legacy/Sounds/default/ScreenGameplay failed.ogg new file mode 100644 index 0000000000..f4b0855f08 Binary files /dev/null and b/Themes/legacy/Sounds/default/ScreenGameplay failed.ogg differ diff --git a/Themes/default/Sounds/kommisar/_Music credits (loop).ogg b/Themes/legacy/Sounds/default/_Music credits (loop).ogg similarity index 100% rename from Themes/default/Sounds/kommisar/_Music credits (loop).ogg rename to Themes/legacy/Sounds/default/_Music credits (loop).ogg diff --git a/Themes/legacy/Sounds/default/_Music title (loop).ogg b/Themes/legacy/Sounds/default/_Music title (loop).ogg new file mode 100644 index 0000000000..b61cd34099 Binary files /dev/null and b/Themes/legacy/Sounds/default/_Music title (loop).ogg differ diff --git a/Themes/legacy/Sounds/default/_Screen cancel.ogg b/Themes/legacy/Sounds/default/_Screen cancel.ogg new file mode 100644 index 0000000000..ac558fa977 Binary files /dev/null and b/Themes/legacy/Sounds/default/_Screen cancel.ogg differ diff --git a/Themes/legacy/Sounds/default/_common row.ogg b/Themes/legacy/Sounds/default/_common row.ogg new file mode 100644 index 0000000000..3e80d6e328 Binary files /dev/null and b/Themes/legacy/Sounds/default/_common row.ogg differ diff --git a/Themes/legacy/Sounds/default/_switch down.ogg b/Themes/legacy/Sounds/default/_switch down.ogg new file mode 100644 index 0000000000..572333cf57 Binary files /dev/null and b/Themes/legacy/Sounds/default/_switch down.ogg differ diff --git a/Themes/legacy/Sounds/default/_switch up.ogg b/Themes/legacy/Sounds/default/_switch up.ogg new file mode 100644 index 0000000000..db2273a41f Binary files /dev/null and b/Themes/legacy/Sounds/default/_switch up.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/Common Start.ogg b/Themes/legacy/Sounds/kommisar/Common Start.ogg new file mode 100644 index 0000000000..c8c21bf8f2 Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/Common Start.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/Common invalid.ogg b/Themes/legacy/Sounds/kommisar/Common invalid.ogg new file mode 100644 index 0000000000..9635d6dba6 Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/Common invalid.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/Common value.ogg b/Themes/legacy/Sounds/kommisar/Common value.ogg new file mode 100644 index 0000000000..9635d6dba6 Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/Common value.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/MenuTimer tick.ogg b/Themes/legacy/Sounds/kommisar/MenuTimer tick.ogg new file mode 100644 index 0000000000..19e0f51f9e Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/MenuTimer tick.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/MusicWheel change.ogg b/Themes/legacy/Sounds/kommisar/MusicWheel change.ogg new file mode 100644 index 0000000000..868f73100f Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/MusicWheel change.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/ScreenGameplay failed.ogg b/Themes/legacy/Sounds/kommisar/ScreenGameplay failed.ogg new file mode 100644 index 0000000000..d781d08710 Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/ScreenGameplay failed.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/_Music credits (loop).ogg b/Themes/legacy/Sounds/kommisar/_Music credits (loop).ogg new file mode 100644 index 0000000000..2d5db646dd Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/_Music credits (loop).ogg differ diff --git a/Themes/legacy/Sounds/kommisar/_Music title (loop).ogg b/Themes/legacy/Sounds/kommisar/_Music title (loop).ogg new file mode 100644 index 0000000000..9e5e435cf8 Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/_Music title (loop).ogg differ diff --git a/Themes/legacy/Sounds/kommisar/_Screen cancel.ogg b/Themes/legacy/Sounds/kommisar/_Screen cancel.ogg new file mode 100644 index 0000000000..0180c71d73 Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/_Screen cancel.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/_common row.ogg b/Themes/legacy/Sounds/kommisar/_common row.ogg new file mode 100644 index 0000000000..9635d6dba6 Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/_common row.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/_switch down.ogg b/Themes/legacy/Sounds/kommisar/_switch down.ogg new file mode 100644 index 0000000000..b2f3e41adb Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/_switch down.ogg differ diff --git a/Themes/legacy/Sounds/kommisar/_switch up.ogg b/Themes/legacy/Sounds/kommisar/_switch up.ogg new file mode 100644 index 0000000000..b2f3e41adb Binary files /dev/null and b/Themes/legacy/Sounds/kommisar/_switch up.ogg differ diff --git a/Themes/legacy/ThemeInfo.ini b/Themes/legacy/ThemeInfo.ini new file mode 100644 index 0000000000..e7cccb578f --- /dev/null +++ b/Themes/legacy/ThemeInfo.ini @@ -0,0 +1,3 @@ +[ThemeInfo] +DisplayName=Default (SM5) +Author=Midiman \ No newline at end of file diff --git a/Themes/legacy/metrics.ini b/Themes/legacy/metrics.ini new file mode 100644 index 0000000000..054316f8f8 --- /dev/null +++ b/Themes/legacy/metrics.ini @@ -0,0 +1,2297 @@ +# 01 # +[Global] +FallbackTheme=_fallback + +[Common] +FirstAttractScreen="" +AutoSetStyle=ThemePrefs.Get("AutoSetStyle") + +# 02 # +[LightsManager] + +[ProfileManager] + +[SongManager] +NumSongGroupColors=1 +# +SongGroupColor1=BoostColor(Color("Orange"),1.25) + +CourseGroupColor1=color("1,1,1,1") + +[UnlockManager] + +# 03 # +[ArrowEffects] + +[Background] + +[Banner] + +[BPMDisplay] +SetNoBpmCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); +SetNormalCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); +SetChangeCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875); +SetRandomCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,color("Green");textglowmode,'TextGlowMode_Inner';glowshift;effectcolor1,color("1,1,1,0.05");effectcolor2,color("1,1,1,0.325"); +SetExtraCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.5);diffuseshift;effectcolor1,color("1,1,1,1");effectcolor2,color("0.475,0.475,0.475,1"); +RandomCycleSpeed=0.2 -- smaller numbers mean the bpm cycles faster + +[CodeDetector] +# For Future Reference: +# @ = Holding +# - = In Conjuction With / Then +# ~ = Released +# + = At The Same Time + +[CodeDetectorOnline] + +[CombinedLifeMeterTug] +# We don't use it. +MeterWidth=512-8 +MeterHeight=40 + +[Combo] +ShowComboAt=2 + +LabelMinZoom=0.875*1 +LabelMaxZoom=0.875*1 + +PulseCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.05*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; +PulseLabelCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.0125*param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; +NumberOnCommand=y,240-216-1.5;shadowlength,1;horizalign,right;vertalign,bottom;skewx,-0.125; + +ComboLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1 +MissLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1 + +[HoldJudgment] +HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.8;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 +HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.3;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0 + +[HelpDisplay] +TipShowTime=7 + +[Judgment] +JudgmentW1Command=finishtweening;shadowlength,0;y,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.25") +JudgmentW2Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +JudgmentW3Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; +JudgmentW4Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.1;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; +JudgmentW5Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude,1,2,2;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +JudgmentMissCommand=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +# Late/Early +OffsetOnCommand= +OffsetLateCommand= +OffsetEarlyCommand= + +[Protiming] +ProtimingOnCommand=shadowlength,1;horizalign,right;x,30;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +AverageOnCommand=shadowlength,1;horizalign,left;x,32;y,8;zoom,0.75;diffuse,ColorLightTone( Color("Green") );strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +TextOnCommand=shadowlength,1;horizalign,left;x,32;y,-6;zoom,0.5;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +# +ProtimingW1Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W1"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW2Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W2"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW3Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W3"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W4"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW5Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W5"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingMissCommand=finishtweening;diffusealpha,1;zoom,1.15;glow,GameColor.Judgment["JudgmentLine_Miss"];linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_Miss"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +# +AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.025;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0; +TextPulseCommand=finishtweening;diffusealpha,1;zoom,0.5*1.025;decelerate,0.05;zoom,0.5;sleep,2;linear,0.5;diffusealpha,0; + +[Course] + +[CustomDifficulty] + +[DifficultyList] +ItemsSpacingY=24 +NumShownItems=8 + +[FadingBanner] +BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Color.Alpha( Color("White"), 0.45 );decelerate,0.075;diffusealpha,0;glow,Color("Invisible"); +BannerOnCommand= +BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;linear,0.1;glow,Color.Alpha(Color("White"),0.25);decelerate,0.15;glow,Color.Invisible;diffusealpha,0 +BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.1;diffusealpha,0 +BannerResetFadeCommand=diffusealpha,1 + +BannerRouletteCommand= +BannerRandomCommand= +[Gameplay] + +[GameState] + +[GrooveRadar] + +[GroupList] + +[HighScore] + +[Inventory] + +[LifeMeterBar] +OverOnCommand=diffuse,Color("Orange");diffuserightedge,BoostColor(Color("Orange"),1.5) + +[LifeMeterBattery] +BatteryBlinkTime=0.5 +# +BatteryP1X=0 +BatteryP1Y=0 +BatteryP2X=0 +BatteryP2Y=0 +# +NumLivesP2OnCommand=zoomx,-1 +NumLivesP2LoseLifeCommand=zoomx,-1.5;zoomy,1.5;linear,0.15;zoomx,-1;zoomy,1 + +[LifeMeterBattery Percent] +# +PercentP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) +DancePointsP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) + +[LifeMeterTime] + +[LyricDisplay] + +[NotesWriterSM] + +[OptionRow] +TitleOnCommand=shadowlength,0;skewx,-0.1;uppercase,true;wrapwidthpixels,136;maxheight,42;zoom,0.6 +TitleGainFocusCommand=stoptweening;zoom,0.6375*1.125;bounceend,0.1;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375; +# TitleGainFocusCommand=stoptweening;zoom,0.6375*1.25;bounceend,0.05;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+80 +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.05 +[OptionRowService] + +[OptionRowExit] +FrameOnCommand=visible,true;diffuse,Color("Red"); +FrameX=SCREEN_CENTER_X + +ItemsMinBaseZoom=1 +ItemOnCommand=shadowlength,1;zoom,0.8;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75);shadowcolor,BoostColor(Color("Red"),0.35) +ItemGainFocusCommand=stoptweening;linear,0.1;zoom,1;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75) +ItemLoseFocusCommand=stoptweening;decelerate,0.05;zoom,0.8; +ColorSelected=Color("Red") +ColorNotSelected=Color("Red") +ColorDisabled=Color("Red") + +ItemsLongRowP1X=SCREEN_CENTER_X-1024 +ItemsLongRowP2X=SCREEN_CENTER_X+1024 +ItemsLongRowSharedX=SCREEN_CENTER_X + +[OptionsCursor] + +[OptionsCursorP1] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) + +[OptionsCursorP2] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) + +[OptionsUnderline] + +[OptionsUnderlineP1] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) + +[OptionsUnderlineP2] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) + +[MenuTimer] +Text1OnCommand=horizalign,right;stopeffect;finishtweening;shadowlength,2;strokecolor,Color("Outline"); +Text1FormatFunction=function(fSeconds) fSeconds=math.floor(fSeconds); return string.format("%02.0f",fSeconds) end + +Text2OnCommand=x,2;y,3;stopeffect;stoptweening;halign,0;shadowlength,0;strokecolor,Color("Outline");zoom,0.65 +Text2FormatFunction=function(fSeconds) local remainder=fSeconds-math.floor(fSeconds); local digit=math.floor(remainder*100); return string.format("%02.0f",digit) end + +Warning10Command=diffuseshift;effectperiod,1;effectcolor1,Color.White;effectcolor2,Color.Red; + +[MenuTimerNoSound] + +[MenuTimerContinue] +Fallback="MenuTimer" +Text1OnCommand=strokecolor,Color.Outline;shadowlength,2 +Text1FormatFunction=function(fSeconds) return string.format("%02.2f",fSeconds) end; + +Text2OnCommand=visible,false +Text2FormatFunction=function(fSeconds) return "" end; + + +[MusicWheel] +SwitchSeconds=0.04 +LockedInitialVelocity=7 + +RouletteSwitchSeconds=0.04 +RouletteSlowDownSwitches=5 +LockedInitialVelocity=15 + +; linear wheel example: +; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ +; self:y(offsetFromCenter*38); \ +; end; +; 3D wheel example: +; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ +; local curve = math.pi; \ +; local WHEEL_3D_RADIUS = 245; \ +; local rotationx_radians = scale(offsetFromCenter,-numItems/2,numItems/2,-curve/2,curve/2); \ +; self:x( 0 - math.cos(offsetFromCenter/math.pi) ); \ +; self:y( WHEEL_3D_RADIUS * math.sin(rotationx_radians) ); \ +; self:z( -100 + WHEEL_3D_RADIUS * math.cos(rotationx_radians) ); \ +; self:rotationx( rotationx_radians * 180/math.pi ); --[[ to degrees end]] \ +; end; +ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*44 ); self:y( offsetFromCenter*46 ); end +MusicWheelSortOnCommand=fov,90; +MusicWheelSortOffCommand=fov,90; +MusicWheelItemSortOnCommand=zoomy,0;bounceend,0.05;zoomy,1 +MusicWheelItemSortOffCommand=linear,0.05;zoomy,0 +HighlightOnCommand=diffuseramp;effectcolor2,Color.White;effectcolor1,color("1,1,1,0.5");effectclock,'beatnooffset' +HighlightSortOnCommand=stoptweening;decelerate,0.05;glow,Color.Stealth;zoom,1 +HighlightSortOffCommand=stoptweening;accelerate,0.05;glow,Color.Yellow;zoom,1.05 +WheelItemOnDelayOffset=0.04 +WheelItemOffDelayOffset=0.04 + +SectionColor1=Color("Orange") +# +SongRealExtraColor=Color("Red") +SortMenuColor=Color("Orange") + +# + +UseEasyMarkerFlag=true + + +[CourseWheel] + +[OniWheel] +Fallback="CourseWheel" +ModeMenuChoiceNames="Oni,Survival" + +[OnlineMusicWheel] + +[MusicWheelItem] +WheelNotifyIconX=-128-16+0.5 +WheelNotifyIconOnCommand=shadowlength,2; +# +SongNameX=-120 +# +CourseX=-120 +CourseOnCommand=maxwidth,208;horizalign,left +# +SectionExpandedX=-38 +SectionExpandedY=-2 +SectionExpandedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.25") +# +SectionCollapsedX=-38 +SectionCollapsedY=-2 +SectionCollapsedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.2") +# +SectionCountX=120 +SectionCountOnCommand=zoom,0.75;strokecolor,Color("Outline") +# +RouletteOnCommand=maxwidth,400;shadowlength,1;basezoom,0.75;rainbowscroll,true;pulse;effectmagnitude,1,1.125,1;effectperiod,3 +# +SortX=-132 +SortY=-2 +SortOnCommand=maxwidth,256;horizalign,left;shadowlength,1;shadowcolor,color("0,0,0,0.325") +# +ModeX=-132 +ModeY=-2 +ModeOnCommand=maxwidth,256;horizalign,left;strokecolor,Color("Outline") +# +GradeP1X=106+16 +GradeP1Y=-8 +GradeP2X=110+16 +GradeP2Y=8 + +[NoteField] +ShowBoard=true + +[PlayerStageStats] + +[Player] +# In The Groove +# ReceptorArrowsYStandard=-125 +# ReceptorArrowsYReverse=145 +# StepMania Alpha 4 +# ~ ReceptorArrowsYStandard=-144 +# ~ ReceptorArrowsYReverse=144 +# SM5's default uses a UserPreference for this. +ReceptorArrowsYStandard=GetTapPosition('Standard') +ReceptorArrowsYReverse=GetTapPosition('Reverse') +ComboUnderField=ComboUnderField() +RollBodyIncrementsCombo=ThemePrefs.Get("ComboOnRolls") + +[PlayerOptions] + +[PlayerShared] + +[Profile] + +[RadarValues] + +[RollingNumbers] + +[RollingNumbersEvaluation] + +[RollingNumbersJudgment] + +[ScoreDisplayNormal] +TextOnCommand=shadowlength,1; + +[ScoreDisplayOni] +TextX= +TextY= +TextOnCommand=shadowlength,1; +TextOffCommand= + +[ScoreDisplayOni Numbers] +TextX= +TextY= +TextOnCommand=shadowlength,1; +TextOffCommand= + +[ScoreDisplayLifeTime] +FrameOnCommand=visible,false;spin +# +TimeRemainingY=80 +TimeRemainingOnCommand=zoom,1;shadowlength,1; +# +DeltaSecondsOnCommand=y,80; +DeltaSecondsGainLifeCommand=zoom,0.5; + +[ScoreDisplayPercentage Percent] +PercentP1OnCommand=shadowlength,1;strokecolor,Color.Outline +PercentP2OnCommand=shadowlength,1;strokecolor,Color.Outline +DancePointsP1OnCommand=shadowlength,1;strokecolor,Color.Outline +DancePointsP2OnCommand=shadowlength,1;strokecolor,Color.Outline + +[ScoreDisplayRave] +MeterP1OnCommand=draworder,-1;texcoordvelocity,1,0 +MeterP2OnCommand=draworder,-1;zoomx,-1;texcoordvelocity,1,0 +LevelP1OnCommand=draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144;skewx,-0.125; +LevelP2OnCommand=draworder,105;draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144;skewx,-0.125; + +[ScoreKeeperRave] + +[ScreenEvaluation Percent] +# TODO: Better name? +PercentP1OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); +PercentP2OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); +PercentRemainderP1OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); +PercentRemainderP2OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); +DancePointsP1X=0 +DancePointsP1Y=0 +DancePointsP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); +DancePointsP1OffCommand= +DancePointsP2X=0 +DancePointsP2Y=0 +DancePointsP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); +DancePointsP2OffCommand= +DancePointsDigits=2 +ApplyScoreDisplayOptions=true +PercentDecimalPlaces=2 +PercentTotalSize=5 + +[SoundEffectControl] + +[SoundEffectControl_Off] + +[SoundEffectControl_Speed] + +[SoundEffectControl_Pitch] + +[StepsDisplayListRow] +# TODO: Make this use DifficultyList? +CapitalizeDifficultyNames=false +NumShownItems=5 +ItemsSpacingY=24 +MoveCommand=decelerate,0.05 + +FrameX= + +FrameSetCommand=%function(self,param) \ + if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ + self:diffuse(ColorMidTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ + else \ + self:diffuse(color('1,1,1,1')); \ + end; \ +end; +# +NumTicks=10 +MaxTicks=10 +# +ShowMeter=true +MeterX=56 +MeterOnCommand=shadowlength,1;zoom,0.65;textglowmode,'TextGlowMode_Inner'; +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + if param.Meter then \ + if param.Meter >= 10 then \ + self:textglowmode('TextGlowMode_Inner'); \ + self:glowshift(); \ + else \ + self:stopeffect(); \ + end; \ + end; \ +end; +# +ShowDescription=true +DescriptionX=ThemePrefs.Get("AutoSetStyle") and (-64-8+20) or (-64-8) +DescriptionOnCommand=shadowlength,1;horizalign,left;zoom,0.65;maxwidth,128+8-20;uppercase,true; +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowAutogen=true +AutogenX=0 +AutogenY=0 +AutogenOnCommand=diffuseshift;effectcolor1,Color.Alpha( Color("Green") , 0.5 );effectcolor2,ColorMidTone( Color("Green") ); +#AutogenOnCommand=zoom,0.75; +# +ShowStepsType=ThemePrefs.Get("AutoSetStyle") +StepsTypeX=-64-8 +StepsTypeY=0 +StepsTypeOnCommand= +StepsTypeSetCommand= + +[SongMeterDisplay] +StreamWidth=380 + +ContainerX= +ContainerY= +ContainerOnCommand= +ContainerOffCommand= + +FrameX=0 +FrameY=0 +FrameOnCommand=sleep,2;linear,0.25;diffuse,Color("Orange");glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 +FrameOffCommand= + +StreamX=0 +StreamY=0 +StreamOnCommand=0 +StreamOffCommand=0 + +TipX=0 +TipY=0 +TipOnCommand= +TipOffCommand= +[SongMeterDisplayP1] +Fallback="SongMeterDisplay" +FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_1);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 +[SongMeterDisplayP2] +Fallback="SongMeterDisplay" +FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_2);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 + +[StepsDisplayEvaluation] +Fallback="StepsDisplay" + +[StreamDisplay] +; 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) \ + # local fItemWidth = ( 256 / numItems ) \ + # self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ + # self:zoomtowidth(fItemWidth); \ + # self:diffuseramp(); \ + # self:effectperiod(4); \ + # self:effectoffset((itemIndex-1)/numItems * -1); \ + # self:effectcolor2(color("1,1,1,1")); \ + # self:effectcolor1(color("0.5,0.5,0.5,1")); \ + # self:effectclock('beatnooffset'); \ +# end; +PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ + local offset = itemIndex / numItems \ + local rate = 4 \ + local fItemWidth = ( 256 / numItems ) \ + self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ + self:zoomtowidth(fItemWidth); \ + self:diffuseramp(); \ + self:effectcolor2(color("1,1,1,1")); \ + self:effectcolor1(color("0.5,0.5,0.5,1")); \ + self:effectperiod(rate); \ + self:effectclock('beat'); \ + self:effectoffset(1-offset); \ +end; +# PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ + # local fItemWidth = ( 256 / numItems ) \ + # self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ + # self:zoomtowidth(fItemWidth); \ + # self:diffuseramp(); \ + # self:effecttiming(1,0.01875*itemIndex,1,1-(0.01875*itemIndex)); \ + # self:effectclock('beatnooffset'); \ +# end; +TextureCoordScaleX=256/16 +NumPills=16 + +[TextBanner] +TitleOnCommand=horizalign,left;shadowlength,1; +SubtitleOnCommand=horizalign,left;shadowlength,1; +ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2 +ArtistPrependString="" + +[TextBannerHighScore] +Fallback="TextBanner" + +[WheelNotifyIcon] + +[Screen] + +[ScreenDebugOverlay] +BackgroundColor=color("0,0,0,0.75") + +LineOnColor=Color.White +LineOffColor=color("0.75,0.75,0.75,1") +LineStartY=SCREEN_TOP+50 +LineSpacing=19 +LineButtonX=SCREEN_CENTER_X-50 +LineFunctionX=SCREEN_CENTER_X-30 + +ButtonTextOnCommand=NoStroke;zoom,0.8;shadowlength,1 +ButtonTextToggledCommand=linear,0.025;textglowmode,'TextGlowMode_Inner';glow,color("1,0,0,1");sleep,0.125;decelerate,0.2;glow,color("1,0,0,0"); +FunctionTextOnCommand=NoStroke;zoom,0.8;skewx,-0.125;shadowlength,1 + +PageStartX=SCREEN_CENTER_X-100 +PageSpacingX=120 +PageTextOnCommand=NoStroke;zoom,0.75;strokecolor,Color.Outline; +PageTextGainFocusCommand=diffuse,color("1,1,1,1");skewx,-0.125; +PageTextLoseFocusCommand=diffuse,color("0.6,0.6,0.6,1") + +DebugMenuHeaderX=SCREEN_LEFT+80 +DebugMenuHeaderY=SCREEN_TOP+18 +DebugMenuHeaderOnCommand=diffusebottomedge,color("0.675,0.675,0.675,1");strokecolor,Color.Outline +DebugMenuHeaderOffCommand= + +HeaderTextX=SCREEN_LEFT+80 +HeaderTextY=SCREEN_TOP+18 +HeaderTextOnCommand=textglowmode,'TextGlowMode_Inner';glowshift;effectperiod,4;skewx,-0.125;diffusebottomedge,color("0.75,0.75,0.75,1");strokecolor,Color.Outline +HeaderTextOffCommand= +# + +[ScreenSystemLayer] +ShowClock=true +CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.675;shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusetopedge,ColorLightTone(PlayerColor(PLAYER_1)); +# +CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.675;shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusetopedge,ColorLightTone(PlayerColor(PLAYER_2)); +# + +[ScreenConsoleOverlay] + +[ScreenInstallOverlay] + +[ScreenSyncOverlay] + +[ScreenStatsOverlay] + +[ScreenWithMenuElements] +WaitForChildrenBeforeTweening=true + +ScreenInDelay=0 +ScreenOutDelay=0 + +FOV=90 +ShowHeader=true +HeaderX=SCREEN_CENTER_X +HeaderY=SCREEN_TOP-2 +HeaderOnCommand=draworder,1; +HeaderOffCommand= + +ShowFooter=true +FooterX=SCREEN_CENTER_X +FooterY=SCREEN_BOTTOM+4 +FooterOnCommand=draworder,1; +FooterOffCommand= + +ShowHelp=true +HelpX=SCREEN_CENTER_X +HelpY=SCREEN_BOTTOM-16 +HelpOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;zoom,1*0.675;linear,0.175 +HelpOffCommand=linear,0.175;zoomy,0 + +AlternateHelpDisplayX=SCREEN_CENTER_X +AlternateHelpDisplayY=SCREEN_BOTTOM-16 +# AlternateHelpDisplayOnCommand=draworder,105; +AlternateHelpDisplayOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;linear,0.175;zoom,1*0.675;diffusealpha,0 +AlternateHelpDisplayOffCommand=linear,0.175;zoomy,0 + +TimerX=SCREEN_RIGHT-36-4 +TimerY=SCREEN_TOP+23 +TimerOnCommand=draworder,2;visible,PREFSMAN:GetPreference("MenuTimer"); +# TimerOnCommand=fov,90;vanishpoint,SCREEN_RIGHT-36-4,SCREEN_TOP+20;draworder,5;visible,PREFSMAN:GetPreference("MenuTimer");rotationy,90;decelerate,0.4;rotationy,0; +TimerOffCommand= +# TimerOffCommand=accelerate,0.4;rotationx,90; + +StageDisplayNumberOffset=1 + +# +StageDisplayUseShortString=false + +# This is useful +ArcadeOverlayX= +ArcadeOverlayY= +ArcadeOverlayOnCommand=draworder,100 +ArcadeOverlayOffCommand= +# +ArcadeOverlay.TextX=SCREEN_CENTER_X +ArcadeOverlay.TextY=SCREEN_BOTTOM-48 +ArcadeOverlay.TextOnCommand= +ArcadeOverlay.TextOffCommand= + +[ScreenWithMenuElementsBlank] +ShowHeader=false +ShowFooter=false + +[ScreenSelectMaster] + +[ScreenSelectMasterBlank] + +[ScreenTextEntry] +QuestionOnCommand=diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);wrapwidthpixels,600 +AnswerOnCommand=diffuse,Color("Blue");glowshift; + + +[ScreenInit] +PrepareScreens="ScreenTitleMenu,ScreenTitleJoin" +GroupedScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" +PersistScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" + +[ScreenTitleMenu] +ShowHeader=false +ShowFooter=true +# +WrapScroller=false +ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((28)*(itemIndex-(numItems-1)/2)); end; +ScrollerSecondsPerItem=0 +ScrollerNumItemsToDraw=20 +ScrollerX=SCREEN_CENTER_X +ScrollerY=SCREEN_CENTER_Y+80 +ScrollerOnCommand=zoom,0;bounceend,0.35;zoom,1 +# +ShowLogo=true +LogoX=SCREEN_CENTER_X-32 +LogoY=SCREEN_CENTER_Y-68 +LogoOnCommand= +LogoOffCommand= +# +ShowTimingDifficulty=true +TimingDifficultyX=SCREEN_LEFT+16 +TimingDifficultyY=SCREEN_TOP+22 +TimingDifficultyOnCommand= +TimingDifficultyOffCommand= +# +ShowLifeDifficulty=true +LifeDifficultyX=SCREEN_LEFT+16 +LifeDifficultyY=SCREEN_TOP+44 +LifeDifficultyOnCommand= +LifeDifficultyOffCommand= +# +ShowNumSongs=true +NumSongsX=SCREEN_LEFT+16 +NumSongsY=SCREEN_TOP+68 +NumSongsOnCommand=vertalign,bottom;horizalign,left;zoom,0.5;shadowlength,1;playcommand,"Set" +NumSongsOffCommand= +ShowCurrentGametype=true +# +CurrentGametypeX=SCREEN_LEFT+16 +CurrentGametypeY=SCREEN_TOP+84 +CurrentGametypeOnCommand=vertalign,bottom;horizalign,left;zoom,0.5;shadowlength,1 +CurrentGametypeOffCommand= +# +ShowSystemDirection=false +SystemDirectionX=SCREEN_LEFT+40 +SystemDirectionY=SCREEN_TOP+24 +SystemDirectionOnCommand= +SystemDirectionOffCommand= +# +ShowVersionInfo=true +VersionInfoX=SCREEN_RIGHT-16 +VersionInfoY=SCREEN_TOP+24 +VersionInfoOnCommand= + + +VersionInfoOffCommand= +# +ShowNetworkStatus=true +NetworkStatusX=SCREEN_LEFT+12 +NetworkStatusY=SCREEN_BOTTOM-64 +NetworkStatusOnCommand=halign,0; +NetworkStatusOffCommand=linear,0.5;cropright,1 +# + +[ScreenQuickSetupOverview] + +IconStartX=SCREEN_CENTER_X-160 +IconStartY=SCREEN_BOTTOM-60 +IconSetX=SCREEN_CENTER_X-160 +IconSetY=SCREEN_BOTTOM-60 +IconBackX=SCREEN_CENTER_X+160 +IconBackY=SCREEN_BOTTOM-60 + +ExplanationX=SCREEN_CENTER_X +ExplanationY=SCREEN_BOTTOM-100 +ExplanationOnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_WIDTH/0.75; +ExplanationOffCommand= + + +[ScreenProfileLoad] +# +ShowHeader=true +ShowFooter=true +ShowHelp=true + +[ScreenSelectProfile] +WaitForChildrenBeforeTweening=true + +[ScreenSelectStyle] +UpdateOnMesage="" +# +FOV=90 +# +PerChoiceScrollElement=false +PerChoiceIconElement=false +# +# Having one lua function is so much better than dozens of metrics. -Kyz +ChoiceNames="lua,ScreenSelectStyleChoices()" +# +ShowScroller=false +ShowIcon=true +WrapScroller=false +UseIconMetrics=true +# +IconGainFocusCommand=stoptweening;bounceend,0.05;zoom,1; +IconLoseFocusCommand=stoptweening;decelerate,0.1;zoom,0.8; +# +IconChoicePosFunction=ScreenSelectStylePositions +IconChoiceOnCommand=zoom,0;bounceend,0.35;zoom,1 +IconChoiceOffCommand=linear,0.05;zoomx,0 +# + +[ScreenSelectPlayMode] +PersistScreens="ScreenSelectPlayMode,ScreenSelectMusic" +# +ScreenOutDelay=1.5 +# +DefaultChoice="Easy" +# ChoiceNames="Normal,Extended" +# +PerChoiceIconElement=false +# +ShowScroller=true +WrapScroller=true +ScrollerX=SCREEN_CENTER_X +ScrollerY=SCREEN_CENTER_Y-60 +ScrollerOnCommand=SetFastCatchup,true; +ScrollerOffCommand=decelerate,0.35;y,SCREEN_CENTER_Y;sleep,1.15;linear,0.1;zoomy,0 +# +ShowBackgroundFrame=false +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,1.5;linear,0.1;zoomy,0 +# +ShowIcon=true +UseIconMetrics=true +# +IconGainFocusCommand=stoptweening;glowshift;decelerate,0.125;zoom,1; +IconLoseFocusCommand=stoptweening;stopeffect;decelerate,0.125;zoom,0.6; +# IconMinZoom=0.5 +# IconBaseZoom=0.6 +# +IconChoiceEasyX=SCREEN_CENTER_X-(240*(5/6)) +IconChoiceEasyY=SCREEN_BOTTOM-88-64 +IconChoiceEasyOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceEasyOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceNormalX=SCREEN_CENTER_X-80 +IconChoiceNormalY=SCREEN_BOTTOM-88-64 +IconChoiceNormalOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceNormalOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceHardX=SCREEN_CENTER_X+(80*(5/6)) +IconChoiceHardY=SCREEN_BOTTOM-88-64 +IconChoiceHardOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceHardOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceRaveX=SCREEN_CENTER_X+80 +IconChoiceRaveY=SCREEN_BOTTOM-88-64 +IconChoiceRaveOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceRaveOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceNonstopX=SCREEN_CENTER_X-160 +IconChoiceNonstopY=SCREEN_BOTTOM-88 +IconChoiceNonstopOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceNonstopOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceOniX=SCREEN_CENTER_X +IconChoiceOniY=SCREEN_BOTTOM-88 +IconChoiceOniOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceOniOffCommand=linear,0.1175;zoomx,0 +# +IconChoiceEndlessX=SCREEN_CENTER_X+160 +IconChoiceEndlessY=SCREEN_BOTTOM-88 +IconChoiceEndlessOnCommand=zoom,0;bounceend,0.35;zoom,0.8 +IconChoiceEndlessOffCommand=linear,0.1175;zoomx,0 + +[ScreenSelectCharacter] + +[ScreenGameInformation] + +[ScreenSelectMusic] +UsePlayerSelectMenu=false +# OptionsMenuAvailable=(getenv(sMode) ~= Oni) +SelectMenuAvailable=true +# ModeMenuAvailable=(getenv(sMode) == Normal) +# HelpDisplay has things added here to make sure it disappears for another +# actor, which we defined in this screens decorations. +HelpSelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75; +HelpSelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*0.75;bouncebegin,0.125;diffusealpha,1;zoom,0.675 +# Clone everything from HelpDisplay: we're lazy +ShowAlternateHelpDisplay=true +# AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;accelerate,0.0725/2;y,SCREEN_BOTTOM-16-16;diffusealpha,1;decelerate,0.0725/2;y,SCREEN_BOTTOM-16-32; +# AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;smooth,0.125;y,SCREEN_BOTTOM-16;diffusealpha,0; +AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*1.25;bounceend,0.2;diffusealpha,1;zoom,0.675; +AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75; +# +MusicWheelX=SCREEN_CENTER_X+160 +MusicWheelY=SCREEN_CENTER_Y +MusicWheelOnCommand=draworder,-5;fov,90;vanishpoint,SCREEN_CENTER_X+160,SCREEN_CENTER_Y;addx,SCREEN_CENTER_X;decelerate,0.1;addx,-SCREEN_CENTER_X +MusicWheelOffCommand=bouncebegin,0.15;zoomx,0; +# +ShowNewSong=not GAMESTATE:IsCourseMode() +NewSongX=SCREEN_CENTER_X-160+128-24 +NewSongY=SCREEN_TOP+160-2 +NewSongOnCommand=finishtweening;diffuse,Color("Orange");diffusetopedge,Color("Yellow");strokecolor,Color("Black");zoom,0.675;draworder,106;playcommand,"Set" +NewSongOffCommand=bouncebegin,0.1;zoom,0;diffusealpha,0 +NewSongShowCommand=finishtweening;diffusealpha,1;glowshift;effectclock,'bgm';effectperiod,4;textglowmode,'TextGlowMode_Inner'; +NewSongHideCommand=finishtweening;;diffusealpha,0;stopeffect; +# +ShowSongTime=true +SongTimeX=SCREEN_CENTER_X-160 +SongTimeY=SCREEN_TOP+160+(36/2)+8 +SongTimeOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1 + + +SongTimeOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0; +SongTimeResetCommand=diffuse,Color("White"); +SongTimeAutogenCommand=diffuse,Color("Green"); +SongTimeLongCommand=diffuse,Color("Yellow");diffusebottomedge,Color("Orange"); +SongTimeMarathonCommand=diffuse,Color("Orange");diffusebottomedge,Color("Red"); +# +ShowSortOrderFrame=false +SortOrderFrameX=SCREEN_CENTER_X+128+32 +SortOrderFrameY=SCREEN_TOP+24 +SortOrderFrameOnCommand=draworder,105;shadowlength,1 +SortOrderFrameSortCommand= +SortOrderFrameSongChosenCommand=linear,0.1;diffusealpha,0; +SortOrderFrameOffCommand=bouncebegin,0.05;zoomy,0; +# +ShowSortOrder=true +SortOrderX=SCREEN_CENTER_X-160+128 +SortOrderY=SCREEN_TOP+160+(36/2)+8 +SortOrderOnCommand=draworder,105;horizalign,right;strokecolor,Color("Outline");zoom,0.675;maxwidth,96/0.675; +SortOrderSortCommand=finishtweening;zoom,0.675*1.25;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");decelerate,0.5;zoom,0.675;diffuse,Color("White"); +SortOrderSongChosenCommand=linear,0.25;diffusealpha,0; +SortOrderOffCommand=bouncebegin,0.05;zoomy,0; +# +ShowStageDisplay=true +StageDisplayX=SCREEN_RIGHT-128 +StageDisplayY=SCREEN_TOP+24+3 +StageDisplayOnCommand=skewx,-0.125;draworder,105;fov,90;zoom,0.75 +StageDisplayOffCommand=linear,0.05;zoomy,0; +# +ShowDifficultyDisplay=not ThemePrefs.Get("AutoSetStyle") and not GAMESTATE:IsCourseMode() +DifficultyDisplayX=SCREEN_CENTER_X-160 +DifficultyDisplayY=SCREEN_TOP+160-96+2 +DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,1;zoomy,0;sleep,0.2;smooth,0.1;zoomy,1 +DifficultyDisplayOffCommand=linear,0.05;zoomy,0; +# +BannerX=SCREEN_CENTER_X-160 +BannerY=SCREEN_TOP+160-36+4 +BannerOnCommand=draworder,-1;scaletoclipped,256,80;visible,true;ztest,1;addy,-SCREEN_CENTER_Y;decelerate,0.1;addy,SCREEN_CENTER_Y +BannerOffCommand=bouncebegin,0.15;zoomx,0; +# +ShowBannerFrame=true +BannerFrameX=SCREEN_CENTER_X-160 +BannerFrameY=SCREEN_TOP+160-36+4 +BannerFrameOnCommand=draworder,105;addy,-SCREEN_CENTER_Y;decelerate,0.1;addy,SCREEN_CENTER_Y +BannerFrameOffCommand=bouncebegin,0.15;zoomx,0; +# +ShowBPMDisplay=true +BPMDisplayX=SCREEN_CENTER_X-160-90+2 +BPMDisplayY=SCREEN_TOP+160+(36/2)+8 +BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color.Outline;addx,320;zoomx,0;decelerate,0.1;addx,-320;zoomx,1 +BPMDisplayOffCommand=bouncebegin,0.05;zoomx,0; +# +ShowBPMLabel=true +BPMLabelX=SCREEN_CENTER_X-160-90 +BPMLabelY=SCREEN_TOP+160+(36/2)+8 +BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X +BPMLabelOffCommand=bouncebegin,0.05;zoomx,0; +# +ShowSegmentDisplay=not GAMESTATE:IsCourseMode() +SegmentDisplayX=SCREEN_CENTER_X-160 +SegmentDisplayY=SCREEN_TOP+160-36+4 +SegmentDisplayOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X +SegmentDisplayOffCommand=bouncebegin,0.05;zoomx,0; +# +ShowDifficultyList=not GAMESTATE:IsCourseMode(); +DifficultyListX=SCREEN_CENTER_X-160 +DifficultyListY=SCREEN_TOP+216 +DifficultyListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X; +DifficultyListStartSelectingStepsMessageCommand=finishtweening;accelerate,0.2;zoom,1.1;decelerate,0.2;zoom,1; +DifficultyListOffCommand=bouncebegin,0.05;zoomx,0; +# +DifficultyListTweenOnCommand=stoptweening;bounceend,0.1;zoomx,1 +DifficultyListTweenOffCommand=stoptweening;bouncebegin,0.1;zoomx,0 +# Shrink the difficultylist for viewing panedisplays; +# DifficultyListSelectMenuOpenedMessageCommand=stoptweening;decelerate,0.1;zoom,0.5; +# DifficultyListSelectMenuClosedMessageCommand=stoptweening;accelerate,0.05;zoom,1; +# +ShowPaneDisplayFrameP1=true +PaneDisplayFrameP1X=SCREEN_CENTER_X-160 +PaneDisplayFrameP1Y=SCREEN_BOTTOM-112-2 +PaneDisplayFrameP1OnCommand=player,PLAYER_1;diffuse,Color("Orange");zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1 +PaneDisplayFrameP1OffCommand=bouncebegin,0.05;zoomx,0; +PaneDisplayFrameP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end +# +ShowPaneDisplayTextP1=true +PaneDisplayTextP1X=SCREEN_CENTER_X-160 +PaneDisplayTextP1Y=SCREEN_BOTTOM-122-2 +PaneDisplayTextP1OnCommand=player,PLAYER_1;zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1 +PaneDisplayTextP1OffCommand=bouncebegin,0.05;zoomx,0; +PaneDisplayTextP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end +# +ShowPaneDisplayFrameP2=true +PaneDisplayFrameP2X=SCREEN_CENTER_X+160 +PaneDisplayFrameP2Y=SCREEN_BOTTOM-112-2 +PaneDisplayFrameP2OnCommand=player,PLAYER_2;diffuse,Color("Orange");zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1 +PaneDisplayFrameP2OffCommand=bouncebegin,0.05;zoomx,0; +PaneDisplayFrameP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end +# +ShowPaneDisplayTextP2=true +PaneDisplayTextP2X=SCREEN_CENTER_X+160 +PaneDisplayTextP2Y=SCREEN_BOTTOM-122-2 +PaneDisplayTextP2OnCommand=player,PLAYER_2;zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1 +PaneDisplayTextP2OffCommand=bouncebegin,0.05;zoomx,0; +PaneDisplayTextP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end +# +ShowCourseContentsList=false +CourseContentsListX=SCREEN_CENTER_X-160 +CourseContentsListY=SCREEN_TOP+216+6 +CourseContentsListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X +CourseContentsListOffCommand=bouncebegin,0.05;zoomx,0; +# +ShowNumCourseSongs=GAMESTATE:IsCourseMode() +NumCourseSongsX=SCREEN_CENTER_X-160+128 +NumCourseSongsY=SCREEN_TOP+160+(36/2)+8 +NumCourseSongsOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1 +NumCourseSongsOffCommand=bouncebegin,0.05;zoom,0;diffusealpha,0; +# +ShowSongOptions=true +SongOptionsX=SCREEN_CENTER_X +SongOptionsY=SCREEN_CENTER_Y +SongOptionsOnCommand=visible,false;draworder,1000 +SongOptionsOffCommand= +#-- +SongOptionsShowCommand=visible,true;uppercase,true;zoom,1.2;settext,THEME:GetString("ScreenSelectMusic","Press Start For Options");decelerate,0.2;zoom,1; +SongOptionsEnterCommand=uppercase,true;settext,THEME:GetString("ScreenSelectMusic","Entering Options");sleep,0.2;linear,0.2;zoomy,0; +SongOptionsHideCommand=linear,0.1;zoomy,0; +# +ShowSongOptionsFrame=true +SongOptionsFrameX=SCREEN_CENTER_X +SongOptionsFrameY=SCREEN_CENTER_Y +SongOptionsFrameOnCommand=visible,false;draworder,1000 +SongOptionsFrameOffCommand= +#-- +SongOptionsFrameShowCommand=visible,true;diffuse,Color("Orange");diffusealpha,0.5;zoomy,40*1.5;linear,1.5;zoomy,40; +SongOptionsFrameEnterCommand=sleep,0.5;linear,0.3;diffusealpha,0; +SongOptionsFrameHideCommand=linear,0.3;diffusealpha,0 +# +CDTitleX=SCREEN_CENTER_X-160+90 +CDTitleY=SCREEN_TOP+160+(36/2)+8 +CDTitleFrontCommand=diffuse,color('0.5,0.5,0.5,1');cullmode,'CullMode_Front' +CDTitleBackCommand=cullmode,'CullMode_Back' +#CDTitleOnCommand=draworder,106;shadowlength,1;zoom,0.75;diffusealpha,1;zoom,0;bounceend,0.1;zoom,0.75;spin;effectmagnitude,0,180,0; +CDTitleOnCommand=visible,false +CDTitleOffCommand=bouncebegin,0.05;zoomx,0; +# +ScoreP1SortChangeCommand=stoptweening; +ScoreP2SortChangeCommand=stoptweening; +ScoreFrameP1SortChangeCommand=stoptweening; +ScoreFrameP2SortChangeCommand=stoptweening; +# +ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1) +StepsDisplayP1X=SCREEN_CENTER_X-160 +StepsDisplayP1Y=SCREEN_BOTTOM-60 +StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y +StepsDisplayP1OffCommand=bouncebegin,0.05;zoomx,0; +# StepsDisplayP1CurrentStepsP1ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.05;zoom,1 +# +ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2) +StepsDisplayP2X=SCREEN_CENTER_X+160 +StepsDisplayP2Y=SCREEN_BOTTOM-60 +StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y +StepsDisplayP2OffCommand=bouncebegin,0.05;zoomx,0; +# StepsDisplayP2CurrentStepsP2ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.05;zoom,1 +# +ShowPercentScoreP1=true +PercentScoreP1X=SCREEN_CENTER_X-80-1 +PercentScoreP1Y=SCREEN_BOTTOM-60 +PercentScoreP1OnCommand=player,PLAYER_1;addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y +PercentScoreP1OffCommand=bouncebegin,0.05;zoomx,0; +# +ShowPercentScoreP2=true +PercentScoreP2X=SCREEN_CENTER_X+240-1 +PercentScoreP2Y=SCREEN_BOTTOM-60 +PercentScoreP2OnCommand=player,PLAYER_2;addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y +PercentScoreP2OffCommand=bouncebegin,0.05;zoomx,0; + +[ScreenSelectCourse] +MusicWheelType=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniWheel" or "CourseWheel" +Codes=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniCodeDetector" or "CourseCodeDetector" +# +ShowDifficultyList=false +ShowCourseContentsList=true +ShowNumCourseSongs=true +# +UsePlayerSelectMenu=false +SelectMenuAvailable=false +# +ShowSortOrder=true +SortOrderOnCommand=visible,false +# +ShowPaneDisplayFrameP1=false +ShowPaneDisplayTextP1=false +ShowPaneDisplayFrameP2=false +ShowPaneDisplayTextP2=false + + +[CourseCodeDetector] +NextSort1="" +NextSort2="" +NextSort3="" +NextSort4="" +ModeMenu1="" +ModeMenu2="" + +[OniCodeDetector] +Fallback="CodeDetector" + +[StepsDisplay] +FrameLoadCommand=%function(self,param) end; +NumTicks=10 +MaxTicks=14 +TicksX=0 +TicksY=0 +TicksOnCommand=shadowlength,0; +TicksSetCommand=%function(self,param) end; +MeterX=56-32 +MeterY=0 +MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + if param.Meter then \ + if param.Meter >= 100 then \ + self:basezoom(0.8); \ + self:glowshift(); \ + elseif param.Meter >= 10 then \ + self:basezoom(1); \ + self:glowshift(); \ + else \ + self:basezoom(1); \ + self:stopeffect(); \ + end; \ + end; \ +end; +# +ShowDescription=true +DescriptionX=-20-32 +DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0 +DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty and param.CustomDifficulty ~= "" then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowAutogen=true +AutogenX=-132 +AutogenY=0 +AutogenOnCommand= +AutogenSetCommand=finishtweening +AutogenTweenOnCommand=finishtweening;decelerate,0.25;zoom,1 +AutogenTweenOffCommand=finishtweening;bounceend,0.2;zoomx,8;zoomy,0 +# +ShowStepsType=ThemePrefs.Get("AutoSetStyle") +StepsTypeX=-20-32 +StepsTypeY=7 +StepsTypeOnCommand=zoom,0.45 + +[StepsDisplayGameplay] +Fallback="StepsDisplay" + +# +ShowMeter=true +ZeroMeterString="?" +MeterX=56 +MeterY=0 +MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + if param.Meter then \ + if param.Meter >= 100 then \ + self:zoom(0.8); \ + else \ + self:zoom(1); \ + end; \ + end; \ +end; +# +ShowDescription=true +DescriptionX=-20 +DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0 +DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + (cmd(finishtweening;diffusealpha,0;addx,-4;smooth,0.125;addx,4;diffusealpha,1))(self); \ +end; +# +ShowAutogen=false +AutogenX=40 +AutogenY=0 +AutogenOnCommand= +AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end +# +ShowStepsType=ThemePrefs.Get("AutoSetStyle") +StepsTypeX=-20 +StepsTypeY=7 +StepsTypeOnCommand=zoom,0.45 + +[ScreenOptions] +CursorTweenSeconds=0.05 + +DisqualifyP1X=SCREEN_CENTER_X-176 +DisqualifyP1Y=SCREEN_BOTTOM-98 +DisqualifyP1OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_1 +DisqualifyP2X=SCREEN_CENTER_X+176 +DisqualifyP2Y=SCREEN_BOTTOM-98 +DisqualifyP2OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_2 + +ContainerOnCommand=x,-SCREEN_WIDTH;decelerate,0.35;x,SCREEN_LEFT +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.05 +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=stoptweening;shadowlength,0;zoom,0.75;wrapwidthpixels,(SCREEN_WIDTH*0.9375)*1.25;cropright,1;linear,0.5;cropright,0 +ExplanationTogetherOffCommand=stoptweening +[ScreenOptionsMaster] + +[ScreenOptionsSimple] + +[ScreenOptionsSimpleService] + +[ScreenOptionsService] +ShowHeader=true + +LineNames="GameType,GraphicSound,KeyConfig,Arcade,InputOptions,SoundGraphics,Theme,Profiles,Network,Advanced,Reload,Credits" +LineTheme="gamecommand;screen,ScreenOptionsTheme;name,Theme Options" + +# ScreenOptionsSystemDirection" + +NumRowsShown=14 +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-170+24*offsetFromCenter) end + +SeparateExitRow=false +SeparateExitRowY=SCREEN_BOTTOM-40 + +[ScreenOptionsExtended] +LineNames="2,Sync,3,10,11,4,12,5,Theme" + +[ScreenOptionsServiceChild] + +[ScreenOptionsServiceExtendedChild] + +[ScreenMiniMenu] +HeaderY=SCREEN_TOP +HeaderOnCommand=draworder,100;visible,false +LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.3;fadeleft,0.25;faderight,0.25;diffusealpha,0.375 +LineHighlightChangeCommand= +LineHighlightChangeToExitCommand= + +[OptionRowMiniMenu] +Fallback="OptionRow" +TitleX=SCREEN_CENTER_X-320+48 +TitleOnCommand=horizalign,left;shadowlength,0;uppercase,true;zoom,0.6375;strokecolor,Color("Black"); +ItemsLongRowP1X=SCREEN_CENTER_X-240 +ItemsLongRowP2X=SCREEN_CENTER_X+240 +ItemsLongRowSharedX=SCREEN_CENTER_X+200 +ItemOnCommand=zoom,0.6375 + +ColorSelected=color("1,1,1,1") +ColorNotSelected=color("0.5,0.5,0.5,1") + +[ScreenMiniMenuContext] +PageOnCommand=visible,false +LineHighlightX=SCREEN_CENTER_X/2 + +TitleX=SCREEN_CENTER_X +TitleOnCommand=shadowlength,1; +ItemsStartX=SCREEN_CENTER_X +ItemsEndX=SCREEN_CENTER_X +ItemsGapX=14 +ItemsLongRowP1X=SCREEN_CENTER_X +ItemsLongRowP2X=SCREEN_CENTER_X +ItemsLongRowSharedX=SCREEN_CENTER_X + +[OptionRowMiniMenuContext] + +[ScreenMapControllers] +LinesVisible=15 + +[ScreenTestInput] + +[ScreenOptionsSystemDirection] +LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,16,LF,17,18,19,20,21,22" +LineLF="lua,ThemePrefRow('LongFail')" +LineRollCombo="lua,ThemePrefRow('ComboOnRolls')" +LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')" + +[ScreenOptionsGraphicsSound] + +[ScreenOptionsAdvanced] +LineNames="3,4,8,SI,SM,11,13,14,15,16,28,29,30,32,RollCombo,ECPT" +LineRollCombo="lua,ThemePrefRow('ComboOnRolls')" + +[ScreenAppearanceOptions] + +[ScreenOptionsUI] + +[ScreenOptionsInput] + +[ScreenOptionsArcade] + +[ScreenOptionsTheme] +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +LineNames="gNotePos,gAuto,gScore,gSDisp,TimingDisplay,gOpts,gLongFail,gComboUnderField,FlashyCombo,GameplayFooter,FancyUIBG" +LinegNotePos="lua,ThemePrefRow('NotePosition')" +LinegScore="lua,ThemePrefRow('GameplayShowScore')" +LinegSDisp="lua,ThemePrefRow('GameplayShowStepsDisplay')" +LineTimingDisplay="lua,ThemePrefRow('TimingDisplay')" +LinegOpts="lua,ThemePrefRow('ShowLotsaOptions')" +LinegAuto="lua,ThemePrefRow('AutoSetStyle')" +LinegLongFail="lua,ThemePrefRow('LongFail')" +LinegComboUnderField="lua,ThemePrefRow('ComboUnderField')" +LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')" +LineGameplayFooter="lua,ThemePrefRow('GameplayFooter')" +LineFancyUIBG="lua,ThemePrefRow('FancyUIBG')" + +[ScreenSelectGame] + +[ScreenNetworkOptions] + +[ScreenOptionsManageProfiles] + +[ScreenOptionsEditProfile] + +[ScreenOptionsCustomizeProfile] +ShowHeader=true +ShowFooter=true + +[ScreenReloadSongs] + +[ScreenPlayerOptions] +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" + +PlayerNameplateP1X=SCREEN_CENTER_X * 0.5 + 16 +PlayerNameplateP1Y=SCREEN_CENTER_Y - 176 +PlayerNameplateP1OnCommand=draworder,DrawOrder.Decorations;zoomy,0;addx,-SCREEN_CENTER_X;sleep,0.75;decelerate,0.25;addx,SCREEN_CENTER_X;zoomy,1 +PlayerNameplateP1OffCommand= + +PlayerNameplateP2X=SCREEN_CENTER_X * 1.5 - 16 +PlayerNameplateP2Y=SCREEN_CENTER_Y - 176 +PlayerNameplateP2OnCommand=draworder,DrawOrder.Decorations;zoomy,0;addx,SCREEN_CENTER_X;sleep,0.75;decelerate,0.25;addx,-SCREEN_CENTER_X;zoomy,1 +PlayerNameplateP2OffCommand= + +[ScreenPlayerOptionsRestricted] + +[ScreenSplash] + +[ScreenExit] + +[ScreenAttract] + +# +# +# +# + +[ScreenHighScores] +Fallback="ScreenWithMenuElements" + +ResetGameState=false +AttractVolume=true + +FOV=90 + +ScrollerItemsToDraw=9 +ScrollerOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;SetMask,624,40;draworder,-5 +ScrollerItemTransformFunction=function(self,offset,itemIndex,numItems) \ + self:y(46 * offset); \ +end; + +HelpOnCommand=visible,false + +[ScreenRanking] +# + +# + +# + +# + +# + +# 05 # B + +# 05 # C +[ScreenGameplay] +# +SongMeterDisplayX=SCREEN_CENTER_X +SongMeterDisplayY=SCREEN_TOP+50 +SongMeterDisplayOnCommand=draworder,50;zoom,0;y,SCREEN_TOP-24;sleep,1.5;decelerate,0.5;zoom,1;y,SCREEN_TOP+50 +SongMeterDisplayOffCommand= +# +ShowSongTitle=not GAMESTATE:IsDemonstration(); +SongTitleX=SCREEN_CENTER_X +SongTitleY=SCREEN_TOP+54 +SongTitleOnCommand=draworder,55;strokecolor,Color.Outline;shadowlength,1;basezoom,0.55;zoomy,0;sleep,1;smooth,0.5;zoom,1; +SongTitleOffCommand= +# +SongMeterDisplayP1X=Center1Player() and SCREEN_CENTER_X or SCREEN_LEFT+16 +SongMeterDisplayP1Y=Center1Player() and SCREEN_TOP+60 or SCREEN_CENTER_Y-32 +SongMeterDisplayP1OnCommand=draworder,5;rotationz,Center1Player() and 0 or -90;zoom,0;addx,-24;sleep,1.5;decelerate,0.5;zoom,1;addx,24;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1 +SongMeterDisplayP1OffCommand= +# +SongMeterDisplayP2X=Center1Player() and SCREEN_CENTER_X or SCREEN_RIGHT-16 +SongMeterDisplayP2Y=Center1Player() and SCREEN_TOP+60 or SCREEN_CENTER_Y-32 +SongMeterDisplayP2OnCommand=draworder,5;rotationz,Center1Player() and 0 or -90;zoom,0;addx,24;sleep,1.5;decelerate,0.5;zoom,1;addx,-24;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2 +SongMeterDisplayP2OffCommand= +# +ShowBPMDisplay=true +BPMDisplayX=Center1Player() and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X +# 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-17 +BPMDisplayOnCommand=draworder,101 +BPMDisplayOffCommand=bounceend,0.25;zoom,0 +# +ShowStageDisplay=true +StageDisplayX=SCREEN_CENTER_X +StageDisplayY=Center1Player() and SCREEN_BOTTOM-76 or SCREEN_BOTTOM-50 +StageDisplayOnCommand=draworder,DrawOrder.Screen +StageDisplayOffCommand=bounceend,0.25;zoom,0 +StageDisplayUseShortString=true +# +ShowScoreFrame=ThemePrefs.Get("GameplayFooter"); +ScoreFrameX=SCREEN_CENTER_X +ScoreFrameY=SCREEN_BOTTOM+4 +ScoreFrameOnCommand=draworder,4;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+4;diffuse,color("#ffd400");addy,80;sleep,2;decelerate,0.5;addy,-80; +ScoreFrameOffCommand= +# +LifeP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# LifeP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +LifeP1Y=SCREEN_TOP+24 +LifeP1OnCommand=finishtweening;addy,-48;sleep,1.25;bounceend,0.35;addy,48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1 +#~ LifeP1OnCommand=addx,-SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,-SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,-SCREEN_CENTER_X*0.25 +LifeP1OffCommand= +LifeP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# LifeP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +LifeP2Y=SCREEN_TOP+24 +LifeP2OnCommand=finishtweening;zoomx,-1;addy,-48;sleep,1.25;bounceend,0.35;addy,48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2 +#~ LifeP2OnCommand=zoomx,-1;addx,SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,-SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,SCREEN_CENTER_X*0.25 +LifeP2OffCommand= +CombinedLifeX=SCREEN_CENTER_X +CombinedLifeY=SCREEN_TOP+24 +CombinedLifeOnCommand=finishtweening;addy,-48;sleep,1.25;bounceend,0.35;addy,48; +CombinedLifeOffCommand= +# +ToastyDisplayP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# ToastyDisplayP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ToastyDisplayP1Y=SCREEN_CENTER_Y +ToastyDisplayP1OnCommand=visible,false +ToastyDisplayP1OffCommand= +# +ToastyDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# ToastyDisplayP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +ToastyDisplayP2Y=SCREEN_CENTER_Y +ToastyDisplayP2OnCommand=visible,false +ToastyDisplayP2OffCommand= +# +SongNumberP1X=Center1Player() and SCREEN_CENTER_X - 60 or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") - 60 +SongNumberP1Y=SCREEN_TOP+24+7 +SongNumberP1OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_1);strokecolor,BoostColor(PlayerColor(PLAYER_1),0.5) +SongNumberP1OffCommand= +SongNumberP2X=Center1Player() and SCREEN_CENTER_X + 60 or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 60 +SongNumberP2Y=SCREEN_TOP+24+7 +SongNumberP2OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_2);strokecolor,BoostColor(PlayerColor(PLAYER_2),0.5) +SongNumberP2OffCommand= +# +RemainingTimeP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") + 32 +RemainingTimeP1Y=THEME:GetMetric(Var "LoadingScreen","ScoreP1Y") - 20 +RemainingTimeP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_1)); +RemainingTimeP1OffCommand= +RemainingTimeP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 32 +RemainingTimeP2Y=THEME:GetMetric(Var "LoadingScreen","ScoreP2Y") - 20 +RemainingTimeP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_2)); +RemainingTimeP2OffCommand= +# +DeltaSecondsP1X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1X") - 80 +DeltaSecondsP1Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1Y") +DeltaSecondsP1OnCommand=shadowlength,1;skewx,-0.125 +DeltaSecondsP1GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0 +DeltaSecondsP1OffCommand= +DeltaSecondsP2X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2X") - 80 +DeltaSecondsP2Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2Y") +DeltaSecondsP2OnCommand=shadowlength,1;skewx,-0.125 +DeltaSecondsP2GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0 +DeltaSecondsP2OffCommand= +# +ScoreP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# ScoreP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ScoreP1Y=SCREEN_BOTTOM-48 +ScoreP1OnCommand=draworder,101;visible,(GAMESTATE:GetCurrentCourse() == nil or GAMESTATE:GetCurrentCourse():GetCourseType() ~= "CourseType_Survival") and ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_1);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1 +ScoreP1OffCommand= +ScoreP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# ScoreP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +ScoreP2Y=SCREEN_BOTTOM-48 +ScoreP2OnCommand=draworder,101;visible,(GAMESTATE:GetCurrentCourse() == nil or GAMESTATE:GetCurrentCourse():GetCourseType() ~= "CourseType_Survival") and ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_2);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2 +ScoreP2OffCommand= +# +StepsDescriptionP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +# StepsDescriptionP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +StepsDescriptionP1Y=SCREEN_CENTER_Y+34 +StepsDescriptionP1OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 +StepsDescriptionP1OffCommand= +StepsDescriptionP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# StepsDescriptionP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +StepsDescriptionP2Y=SCREEN_CENTER_Y+34 +StepsDescriptionP2OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 +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;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;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") +# StepsDisplayP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +StepsDisplayP1Y=SCREEN_CENTER_Y+58 +StepsDisplayP1OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); +StepsDisplayP1ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; +StepsDisplayP1HideCommand=linear,0.5;zoomy,0 +StepsDisplayP1OffCommand= +StepsDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +# StepsDisplayP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +StepsDisplayP2Y=SCREEN_CENTER_Y+58 +StepsDisplayP2OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); +StepsDisplayP2ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; +StepsDisplayP2HideCommand=linear,0.5;zoomy,0 +StepsDisplayP2OffCommand= +# +SongOptionsX=Center1Player() and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X +# SongOptionsX=(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 +SongOptionsY=SCREEN_BOTTOM-32 +SongOptionsOnCommand=draworder,101;zoom,0.5 +SongOptionsOffCommand= +# +LyricDisplaySetNoReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+160 +LyricDisplaySetReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-140 +# This is used if one player is in reverse and the other isn't. +LyricDisplaySetOneReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160; +LyricDisplayDefaultColor=Color("White") +# +OniGameOverP1X= +OniGameOverP1Y= +OniGameOverP1OnCommand= +OniGameOverP1OffCommand= +# +OniGameOverP2X= +OniGameOverP2Y= +OniGameOverP2OnCommand= +OniGameOverP2OffCommand= +# +SurviveTimeX=SCREEN_CENTER_X +SurviveTimeY=SCREEN_CENTER_Y+40 +SurviveTimeOnCommand=shadowlength,1;zoomx,0;bounceend,1;zoomx,1 +SurviveTimeOffCommand=shadowlength,1;linear,1;zoom,0.75;diffusealpha,0 +# +ActiveAttackListP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ActiveAttackListP1Y= +ActiveAttackListP1OnCommand=visible,false +ActiveAttackListP1OffCommand= +ActiveAttackListP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ActiveAttackListP2Y= +ActiveAttackListP2OnCommand=visible,false +ActiveAttackListP2OffCommand= +# +# Disable the normal start and select button actions to enable a custom pause +# menu +DebugOnCommand=visible,false +StartGivesUp=false +UnpauseWithStart=false +SelectSkipsSong=false +StopCourseEarly=check_stop_course_early() + +[ScreenGameplayShared] + +[ScreenHeartEntry] +HeartEntryEnabled=true +ShowHeader=true +ShowFooter=true + +[ScreenEvaluation] +Class="ScreenEvaluation" +Fallback="ScreenWithMenuElements" +# +StageDisplayNumberOffset=0 +# +NextScreen=Branches.AfterEvaluation() +PrevScreen=Branches.AfterEvaluation() +# +PlayMusic=false +# +PrepareScreens="ScreenProfileSave,ScreenSelectMusic" +PersistScreens="ScreenEvaluation,ScreenProfileSave,ScreenSelectMusic" +# +ShowJudgmentLineW1=true +ShowJudgmentLineW2=true +ShowJudgmentLineW3=true +ShowJudgmentLineW4=true +ShowJudgmentLineW5=true +ShowJudgmentLineHeld=(GAMESTATE:GetCurrentGame():GetName() ~= "pump") +ShowJudgmentLineMiss=true +ShowJudgmentLineMaxCombo=true +ShowGradeArea=true +ShowScoreArea=true +ShowPointsArea=true +ShowSharedJudgmentLineLabels=true +ShowGraphDisplay=true +ShowComboGraph=true +ShowStepsDisplay=true + +# +W1NumberP1X=SCREEN_CENTER_X-160+40 +W1NumberP1Y=SCREEN_TOP+160 +W1NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true +W1NumberP1OffCommand= +W1NumberP2X=SCREEN_CENTER_X+160-40 +W1NumberP2Y=SCREEN_TOP+160 +W1NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true +W1NumberP2OffCommand= +W1LabelX=SCREEN_CENTER_X +W1LabelY=SCREEN_TOP+160 +W1LabelOnCommand= +W1LabelOffCommand= +# +W2NumberP1X=SCREEN_CENTER_X-160+40 +W2NumberP1Y=SCREEN_TOP+180 +W2NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true +W2NumberP1OffCommand= +W2NumberP2X=SCREEN_CENTER_X+160-40 +W2NumberP2Y=SCREEN_TOP+180 +W2NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true +W2NumberP2OffCommand= +W2LabelX=SCREEN_CENTER_X +W2LabelY=SCREEN_TOP+180 +W2LabelOnCommand= +W2LabelOffCommand= +# +W3NumberP1X=SCREEN_CENTER_X-160+40 +W3NumberP1Y=SCREEN_TOP+200 +W3NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true +W3NumberP1OffCommand= +W3NumberP2X=SCREEN_CENTER_X+160-40 +W3NumberP2Y=SCREEN_TOP+200 +W3NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true +W3NumberP2OffCommand= +W3LabelX=SCREEN_CENTER_X +W3LabelY=SCREEN_TOP+200 +W3LabelOnCommand= +W3LabelOffCommand= +# +W4NumberP1X=SCREEN_CENTER_X-160+40 +W4NumberP1Y=SCREEN_TOP+220 +W4NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true +W4NumberP1OffCommand= +W4NumberP2X=SCREEN_CENTER_X+160-40 +W4NumberP2Y=SCREEN_TOP+220 +W4NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true +W4NumberP2OffCommand= +W4LabelX=SCREEN_CENTER_X +W4LabelY=SCREEN_TOP+220 +W4LabelOnCommand= +W4LabelOffCommand= +# +W5NumberP1X=SCREEN_CENTER_X-160+40 +W5NumberP1Y=SCREEN_TOP+240 +W5NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true +W5NumberP1OffCommand= +W5NumberP2X=SCREEN_CENTER_X+160-40 +W5NumberP2Y=SCREEN_TOP+240 +W5NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true +W5NumberP2OffCommand= +W5LabelX=SCREEN_CENTER_X +W5LabelY=SCREEN_TOP+240 +W5LabelOnCommand= +W5LabelOffCommand= +# +MissNumberP1X=SCREEN_CENTER_X-160+40 +MissNumberP1Y=SCREEN_TOP+260 +MissNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true +MissNumberP1OffCommand= +MissNumberP2X=SCREEN_CENTER_X+160-40 +MissNumberP2Y=SCREEN_TOP+260 +MissNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true +MissNumberP2OffCommand= +MissLabelX=SCREEN_CENTER_X +MissLabelY=SCREEN_TOP+260 +MissLabelOnCommand= +MissLabelOffCommand= +# +HeldNumberP1X=SCREEN_CENTER_X-160+40 +HeldNumberP1Y=SCREEN_TOP+280 +HeldNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true +HeldNumberP1OffCommand= +HeldNumberP2X=SCREEN_CENTER_X+160-40 +HeldNumberP2Y=SCREEN_TOP+280 +HeldNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true +HeldNumberP2OffCommand= +HeldLabelX=SCREEN_CENTER_X +HeldLabelY=SCREEN_TOP+280 +HeldLabelOnCommand= +HeldLabelOffCommand= +# +MaxComboNumberP1X=SCREEN_CENTER_X-160+40 +MaxComboNumberP1Y=SCREEN_TOP+300 +MaxComboNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true +MaxComboNumberP1OffCommand= +MaxComboNumberP2X=SCREEN_CENTER_X+160-40 +MaxComboNumberP2Y=SCREEN_TOP+300 +MaxComboNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true +MaxComboNumberP2OffCommand= +MaxComboLabelX=SCREEN_CENTER_X +MaxComboLabelY=SCREEN_TOP+300 +MaxComboLabelOnCommand= +MaxComboLabelOffCommand= +# +ScoreLabelX=SCREEN_CENTER_X +ScoreLabelY=SCREEN_TOP+330 +ScoreLabelOnCommand= +ScoreLabelOffCommand= +# +ScoreNumberP1X=SCREEN_CENTER_X-160 +ScoreNumberP1Y=SCREEN_TOP+320 +ScoreNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;zoom,0.775;set_mult_attrs_with_diffuse,true +ScoreNumberP1OffCommand= +ScoreNumberP2X=SCREEN_CENTER_X+160 +ScoreNumberP2Y=SCREEN_TOP+320 +ScoreNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;zoom,0.775;set_mult_attrs_with_diffuse,true +ScoreNumberP2OffCommand= +# +PercentFrameP1X=SCREEN_CENTER_X-160 +PercentFrameP1Y=SCREEN_TOP+320 +PercentFrameP1OnCommand=visible,false +PercentFrameP1OffCommand= +# +PercentFrameP2X=SCREEN_CENTER_X+160 +PercentFrameP2Y=SCREEN_TOP+320 +PercentFrameP2OnCommand=visible,false +PercentFrameP2OffCommand= +# +PercentP1X=SCREEN_CENTER_X-160 +PercentP1Y=SCREEN_TOP+320 +PercentP1OnCommand=visible,false +PercentP1OffCommand= +# +PercentP2X=SCREEN_CENTER_X+160 +PercentP2Y=SCREEN_TOP+320 +PercentP2OnCommand=visible,false +PercentP2OffCommand= +# +LargeBannerX=SCREEN_CENTER_X +LargeBannerY=SCREEN_TOP+100 +LargeBannerOnCommand= +LargeBannerOffCommand= +LargeBannerFrameX=SCREEN_CENTER_X +LargeBannerFrameY=SCREEN_TOP+100 +LargeBannerFrameOnCommand= +LargeBannerFrameOffCommand= +# +GradeFrameP1X=SCREEN_CENTER_X-220 +GradeFrameP1Y=SCREEN_TOP+80 +GradeFrameP1OnCommand= +GradeFrameP1OffCommand= +GradeFrameP2X=SCREEN_CENTER_X+220 +GradeFrameP2Y=SCREEN_TOP+80 +GradeFrameP2OnCommand= +GradeFrameP2OffCommand= +# +GradeP1X=SCREEN_CENTER_X-220 +GradeP1Y=SCREEN_TOP+100 +GradeP1OnCommand= +GradeP1OffCommand= +GradeP2X=SCREEN_CENTER_X+220 +GradeP2Y=SCREEN_TOP+100 +GradeP2OnCommand= +GradeP2OffCommand= +# +PlayerOptionsP1X=SCREEN_CENTER_X-160 +PlayerOptionsP1Y=SCREEN_TOP+352 +PlayerOptionsP1OnCommand=zoom,0.5;shadowlength,1 +PlayerOptionsP1OffCommand= +## +PlayerOptionsP2X=SCREEN_CENTER_X+160 +PlayerOptionsP2Y=SCREEN_TOP+352 +PlayerOptionsP2OnCommand=zoom,0.5;shadowlength,1 +PlayerOptionsP2OffCommand= +# +SongOptionsX=SCREEN_CENTER_X +SongOptionsY=SCREEN_BOTTOM-104 +SongOptionsOnCommand=zoom,0.5;shadowlength,1; +SongOptionsOffCommand= +# +DisqualifiedP1X=SCREEN_CENTER_X-220 +DisqualifiedP1Y=SCREEN_TOP+140 +DisqualifiedP1OnCommand= +DisqualifiedP1OffCommand= +DisqualifiedP2X=SCREEN_CENTER_X+220 +DisqualifiedP2Y=SCREEN_TOP+140 +DisqualifiedP2OnCommand= +DisqualifiedP2OffCommand= +# +GraphDisplayP1X=SCREEN_CENTER_X-160 +GraphDisplayP1Y=SCREEN_BOTTOM-100 +GraphDisplayP1OnCommand= +GraphDisplayP1OffCommand= +GraphDisplayP2X=SCREEN_CENTER_X+160 +GraphDisplayP2Y=SCREEN_BOTTOM-100 +GraphDisplayP2OnCommand= +GraphDisplayP2OffCommand= +# +ComboGraphP1X=SCREEN_CENTER_X-160 +ComboGraphP1Y=SCREEN_BOTTOM-100+32-7 +ComboGraphP1OnCommand= +ComboGraphP1OffCommand= +ComboGraphP2X=SCREEN_CENTER_X+160 +ComboGraphP2Y=SCREEN_BOTTOM-100+32-7 +ComboGraphP2OnCommand= +ComboGraphP2OffCommand= +# +MachineRecordP1X=SCREEN_CENTER_X-220 +#MachineRecordP1Y=SCREEN_BOTTOM-156 + +MachineRecordP1Y=SCREEN_TOP+146 +MachineRecordP1OnCommand= +MachineRecordP1OffCommand= +# +MachineRecordP2X=SCREEN_CENTER_X+220 +#MachineRecordP2Y=SCREEN_BOTTOM-156 +MachineRecordP2Y=SCREEN_TOP+146 +MachineRecordP2OnCommand= + +MachineRecordP2OffCommand= +# +PersonalRecordP1X=SCREEN_CENTER_X-160 +PersonalRecordP1Y=SCREEN_BOTTOM-144 +PersonalRecordP1OnCommand= +PersonalRecordP1OffCommand= +# +PersonalRecordP2X=SCREEN_CENTER_X+160 +PersonalRecordP2Y=SCREEN_BOTTOM-144 +PersonalRecordP2OnCommand= +PersonalRecordP2OffCommand= +# +StageAwardP1X=SCREEN_CENTER_X-220 +StageAwardP1Y=SCREEN_TOP+130 +StageAwardP1OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner' +StageAwardP1OffCommand= +# +StageAwardP2X=SCREEN_CENTER_X+220 +StageAwardP2Y=SCREEN_TOP+130 +StageAwardP2OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner' +StageAwardP2OffCommand= +# +PeakComboAwardP1X=SCREEN_CENTER_X-160 +PeakComboAwardP1Y=SCREEN_TOP+300+10 +PeakComboAwardP1OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner' +PeakComboAwardP1OffCommand= +# +PeakComboAwardP2X=SCREEN_CENTER_X+160 +PeakComboAwardP2Y=SCREEN_TOP+300+10 +PeakComboAwardP2OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner' +PeakComboAwardP2OffCommand= +# +ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1) +StepsDisplayP1X=SCREEN_CENTER_X-160 +StepsDisplayP1Y=SCREEN_BOTTOM-50 +StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y +StepsDisplayP1OffCommand=bouncebegin,0.15;zoomx,0; +# +ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2) +StepsDisplayP2X=SCREEN_CENTER_X+160 +StepsDisplayP2Y=SCREEN_BOTTOM-50 +StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y +StepsDisplayP2OffCommand=bouncebegin,0.15;zoomx,0; +# +PercentScoreP1X=SCREEN_CENTER_X-82 +PercentScoreP1Y=SCREEN_BOTTOM-50 +PercentScoreP1OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y; +PercentScoreP1OffCommand=bouncebegin,0.15;zoomx,0; +# +PercentScoreP2X=SCREEN_CENTER_X+238 +PercentScoreP2Y=SCREEN_BOTTOM-50 +PercentScoreP2OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y; +PercentScoreP2OffCommand=bouncebegin,0.15;zoomx,0; +# +ShowGameType=true +GameTypeX=SCREEN_CENTER_X +GameTypeY=SCREEN_BOTTOM-48 +GameTypeOnCommand=addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y;zoom,0.675;shadowlength,1;shadowcolor,color("#22222266") +GameTypeOffCommand=bouncebegin,0.15;addy,SCREEN_CENTER_Y; +# +ShowTimingDifficulty=true +TimingDifficultyX=SCREEN_CENTER_X +TimingDifficultyY=SCREEN_TOP+16 +TimingDifficultyOnCommand=zoom,0.675;draworder,105 +TimingDifficultyOffCommand= +# +ShowLifeDifficulty=true +LifeDifficultyX=SCREEN_CENTER_X +LifeDifficultyY=SCREEN_TOP+32 +LifeDifficultyOnCommand=zoom,0.675;draworder,105 +LifeDifficultyOffCommand= +# +ShowSongInformation=true +SongInformationX=SCREEN_CENTER_X +SongInformationY=SCREEN_TOP+100 +SongInformationOnCommand=playcommand,"Set";draworder,105 +SongInformationOffCommand= + +ShowWinArea=GAMESTATE:GetPlayMode() == 'PlayMode_Rave' +WinFrameP1X= +WinFrameP1Y= +WinFrameP1OnCommand= +WinFrameP2X= +WinFrameP2Y= +WinFrameP2OnCommand= +#----# +WinP1X=SCREEN_CENTER_X-224 +WinP1Y=SCREEN_BOTTOM-224 +WinP1OnCommand=draworder,101 +WinP2X=SCREEN_CENTER_X+224 +WinP2Y=SCREEN_BOTTOM-224 +WinP2OnCommand=draworder,101 + +[ScreenEvaluationNormal] +Fallback="ScreenEvaluation" +# +PlayMusic=false +# +ShowBannerFrame=false +# +ShowStageDisplay=true +StageDisplayX=SCREEN_CENTER_X+160 +StageDisplayY=SCREEN_TOP+28 +StageDisplayOnCommand=draworder,105;fov,90;vertalign,bottom;vanishpoint,SCREEN_CENTER_X+160,SCREEN_TOP+28;rotationy,90;decelerate,0.5;rotationy,0; +StageDisplayOffCommand= + +[ScreenEvaluationSummary] +Fallback="ScreenEvaluation" +# +NextScreen=Branch.AfterSummary() +# +PlayMusic=false +# +Summary=true +# +ShowStageDisplay=false +# +ShowBannerList=true +BannerListX=SCREEN_CENTER_X +BannerListY=SCREEN_TOP+96 +BannerListOnCommmand= +BannerListOffCommand= +# +SmallBanner1X=SCREEN_CENTER_X-72 +SmallBanner1Y=SCREEN_TOP+100-24 +SmallBanner1OnCommand=visible,false +SmallBanner1OffCommand= + +SmallBanner2X=SCREEN_CENTER_X-48 +SmallBanner2Y=SCREEN_TOP+100-16 +SmallBanner2OnCommand=visible,false +SmallBanner2OffCommand= + +SmallBanner3X=SCREEN_CENTER_X-24 +SmallBanner3Y=SCREEN_TOP+100-8 +SmallBanner3OnCommand=visible,false +SmallBanner3OffCommand= + +SmallBanner4X=SCREEN_CENTER_X+24 +SmallBanner4Y=SCREEN_TOP+100+8 +SmallBanner4OnCommand=visible,false +SmallBanner4OffCommand= + +SmallBanner5X=SCREEN_CENTER_X+48 +SmallBanner5Y=SCREEN_TOP+100+16 +SmallBanner5OnCommand=visible,false +SmallBanner5OfCommand= + +SmallBanner6X=SCREEN_CENTER_X+72 +SmallBanner6Y=SCREEN_TOP+100+24 +SmallBanner6OnCommand=visible,false +SmallBanner6OffCommand= + +[ScreenNameEntry] + +[ScreenNameEntryTraditional] + +[ScreenContinue] +ShowHeader=false +ShowFooter=false +ContinueEnabled=false +# +TimerSeconds=20 +TimerMetricsGroup="MenuTimerContinue" +TimerX=SCREEN_CENTER_X +TimerY=SCREEN_CENTER_Y+24 +TimerOnCommand=visible,true +TimerOffCommand= + +[ScreenProfileSave] + +[ScreenProfileSaveSummary] + +[ScreenGameOver] +TimerOnCommand=visible,false + +[ScreenPrompt] + +[ScreenOptionsEdit] + +[EditMenu] + +[TextBannerEditMode] + +[ScreenEditMenu] + +[ScreenEdit] + +[ScreenPracticeMenu] + +[PracticeMenu] + +[ScreenPractice] + +[ScreenEditOptions] +LineNames="1,2,3,4,5,6,R1,R2,7,8,9,10,Attacks,11,12,13,14,15,16,SF,lead_in,ECPT" +Line1="lua,ArbitrarySpeedMods()" +LineSF="lua,OptionRowScreenFilter()" + +[StepsDisplayEdit] +Fallback="StepsDisplayGameplay" + +[ScreenMiniMenuEditHelp] + +[OptionRowMiniMenuEditHelp] + +[ScreenMiniMenuMainMenu] + +[ScreenMiniMenuAreaMenu] + +[ScreenMiniMenuStepsInformation] + +[ScreenMiniMenuSongInformation] + +[ScreenMiniMenuTimingDataInformation] + +[ScreenMiniMenuBackgroundChange] + +[ScreenMiniMenuPreferences] + +[ScreenMiniMenuInsertTapAttack] + +[ScreenMiniMenuInsertCourseAttack] + +[ScreenMiniMenuCourseDisplay] + +[ScreenMiniMenuCourseOptions] + +[ScreenOptionsExportPackage] + +[ScreenOptionsManage] + +[OptionRowManage] + +[OptionRowCourseOverview] + +[ScreenOptionsManageCourses] + +[OptionRowCourse] + +[ScreenOptionsEditCourse] + +[OptionRowEditCourse] + +[ScreenOptionsCourseOverview] + +[ScreenGameplaySyncMachine] +SongMeterDisplayP1OnCommand=visible,false +SongMeterDisplayP2OnCommand=visible,false +StepsDescriptionP1OnCommand=visible,false +StepsDescriptionP2OnCommand=visible,false +StepsDisplayP1OnCommand=visible,false +StepsDisplayP2OnCommand=visible,false +PlayerOptionsP1OnCommand=visible,false +PlayerOptionsP2OnCommand=visible,false + +[PlayerSyncMachine] + +[ScreenHowToInstallSongs] +Class="ScreenSelectMaster" +Fallback="ScreenSelectMaster" +ShowHeader=false + +ShowScroller=true +PerChoiceScrollElement=false +# +ShowIcon=true +UseIconMetrics=false +PerChoiceIconElement=false +# +ScrollerX=SCREEN_LEFT+32 +ScrollerY=SCREEN_CENTER_Y +ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(24*(itemIndex-(numItems-1)/2)); end +ScrollerNumItemsToDraw=20 +ScrollerOffCommand=bouncebegin,0.25;addx,-SCREEN_CENTER_X + +ChoiceNames="WhereToFind,HowToInstall,AdditionalFolders,ReloadSongs,Exit" +ChoiceWhereToFind="urlnoexit,http://code.google.com/p/sm-ssc/wiki/FindingContent;text,"..Screen.String("Finding Songs") +ChoiceHowToInstall="urlnoexit,http://code.google.com/p/sm-ssc/wiki/InstallingContent;text,"..Screen.String("Installing Songs") +ChoiceAdditionalFolders="text,"..Screen.String("Importing Songs") +ChoiceReloadSongs="screen,ScreenReloadSongs;text,"..Screen.String("Reload Songs") +ChoiceExit="screen,"..Branch.TitleMenu()..";text,"..Screen.String("Exit") +DefaultChoice="WhereToFind" + +OptionOrderUp="5:4,4:3,3:2,2:1,1:5" +OptionOrderDown="1:2,2:3,3:4,4:5,5:1" + +[ScreenSMOnlineLogin] + +[ScreenNetSelectBase] + +[ScreenNetSelectMusic] +BPMDisplayX=SCREEN_CENTER_X-160-90+2 +BPMDisplayY=SCREEN_CENTER_Y+156 +BPMDisplayOnCommand=finishtweening;horizalign,left;strokecolor,Color("Outline");maxwidth,128;addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 +BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; + +StepsDisplayP1X=SCREEN_CENTER_X-240 +StepsDisplayP1Y=SCREEN_CENTER_Y+185 +StepsDisplayP1OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 +StepsDisplayP1OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 +#--# +StepsDisplayP2X=SCREEN_CENTER_X-110 +StepsDisplayP2Y=SCREEN_CENTER_Y+185 +StepsDisplayP2OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 +StepsDisplayP2OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 +#====# + +ShowBPMDisplay=true +BPMDisplayX=SCREEN_CENTER_X+2 +BPMDisplayY=SCREEN_CENTER_Y+188 +BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color("Outline");addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 +BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; +#--# +ShowBPMLabel=true +BPMLabelX=SCREEN_CENTER_X +BPMLabelY=SCREEN_CENTER_Y+188 +BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X +BPMLabelOffCommand=bouncebegin,0.15;zoomx,0; + +UsersX=SCREEN_CENTER_X-272 +UsersY=SCREEN_CENTER_Y-172 +UsersDX=40 +UsersAY=16 +UsersOnCommand=draworder,2;zoom,0.75;shadowlength,1 +# +ShowDifficultyDisplay=true +DifficultyDisplayX=SCREEN_CENTER_X +DifficultyDisplayY=SCREEN_CENTER_Y+158 +DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,0.75 +DifficultyDisplayOffCommand=linear,0.25;zoomy,0; + +[StepsDisplayNet] + +[ScreenNetRoom] + +[RoomWheel] + +[RoomWheelItem] + +[RoomInfoDisplay] + +[ScreenSMOnlineSelectMusic] + +[ModIcon] + +[ModIconSelectMusic] + +[ModIconRow] + +[ModIconRowSelectMusic] + +[GraphDisplay] + +[ComboGraph] + +[ScreenNetEvaluation] +UserTier02OrBetterCommand=diffuseshift;effectperiod,0.75;effectcolor1,color("1,0.95,0.8,1");effectcolor2,color("0.8,0.95,1,1") + +# Arcade + +[ScreenLogo] +TimerSeconds=10 +ShowLogo=true +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-18 +LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 +LogoOffCommand=stopeffect;bouncebegin,0.35;zoom,0 + +ArcadeOverlay.TextY=SCREEN_BOTTOM-60 +# + +[ScreenHowToPlay] + +[ScreenTitleJoin] +ShowHelp=false +HelpText=Screen.String("HelpTextTitleJoin") +HelpY=SCREEN_CENTER_Y+100 +HelpOnCommand=visible,false;zoom,1;strokecolor,color("0.125,0.125,0.125,0.5");queuecommand,"Refresh" +HelpCoinIsertedMessageCommand=playcommand,"Refresh" +HelpCoinModeChangedMessageCommand=playcommand,"Refresh" +HelpRefreshCommand=%function(self) \ + local bCanPlay = GAMESTATE:EnoughCreditsToJoin(); \ + local bReady = GAMESTATE:GetNumSidesJoined() > 0; \ + if bCanPlay or bReady then \ + self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextPlay")); \ + else \ + self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextWait")); \ + end \ +end; +# +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-28 +LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 +LogoOffCommand=stopeffect;bouncebegin,0.35;rotationz,360;zoom,0 + +VersionInfoX=SCREEN_CENTER_X+110 +VersionInfoY=SCREEN_CENTER_Y+4 +VersionInfoOnCommand=horizalign,right;vertalign,bottom;bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,1;shadowlength,1;shadowcolor,color("0.2,0.2,0.2,0.925"); +ScrollerOnCommand=visible,false; +ArcadeOverlay.TextY=SCREEN_BOTTOM-128 + +[ScreenDemonstration] +SongMeterDisplayOnCommand=visible,false +SongMeterDisplayP1OnCommand=visible,false +SongMeterDisplayP2OnCommand=visible,false +LifeP1OnCommand=visible,false +LifeP2OnCommand=visible,false +ScoreP1OnCommand=visible,false +ScoreP2OnCommand=visible,false +StepsDisplayP1OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 +StepsDisplayP2OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 +ShowBPMDisplay=false + +[ScreenJukeboxMenu] + +[ScreenJukebox] + +[ScreenCredits] + +[TimingData] +GetReturnsNumbers=true