diff --git a/stepmania/Themes/default/Scripts/Branches.lua b/stepmania/Themes/default/Scripts/Branches.lua index 1e1c34240e..4aafd2cf59 100644 --- a/stepmania/Themes/default/Scripts/Branches.lua +++ b/stepmania/Themes/default/Scripts/Branches.lua @@ -1,3 +1,13 @@ +function ScreenTitleBranch() + if CoinMode() == "home" then return "ScreenTitleMenu" end + return "ScreenTitleJoin" +end + +function ScreenCautionBranch() + if ShowCaution() then return "ScreenCaution" end + return "ScreenSelectStyle" +end + function SongSelectionScreen() if PlayModeName() == "Nonstop" then return "ScreenSelectCourseNonstop" end if PlayModeName() == "Oni" then return "ScreenSelectCourseOni" end @@ -14,6 +24,11 @@ function SMOnlineScreen() return "ScreenNetRoom" end +function SelectFirstOptionsScreen() + if PlayModeName() == "Rave" then return "ScreenRaveOptions" end + return "ScreenPlayerOptions" +end + function SelectGameplayScreen() if IsExtraStage() or IsExtraStage2() then return "ScreenGameplay" end return "ScreenGameplay" @@ -30,13 +45,20 @@ function SelectEvaluationScreen() if( Mode == "Battle" ) then return "ScreenEvaluationBattle" end end -function SelectFirstOptionsScreen() - if PlayModeName() == "Rave" then return "ScreenRaveOptions" end - return "ScreenPlayerOptions" +function ScreenEvaluationExitBranch() + if( IsNetSMOnline() ) then return "ScreenNetRoom" end + if( IsNetConnected() ) then return "ScreenNetSelectMusic" end + return "ScreenSelectMusic" end +function ScreenBranchNetAfterEval() + if IsNetSMOnline() then return "ScreenSMOnlineSelectMusic" end + if IsNetConnected() then return "ScreenNetSelectMusic" end + return "ScreenSelectMusic" +end + function SelectEndingScreen() - if GetBestFinalGrade() >= Grade("AAA") then return "ScreenMusicScroll" end + if GetBestFinalGrade() >= Grade("AA") then return "ScreenMusicScroll" end return "ScreenCredits" end diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 9c4ae52de5..d40aa6cf2d 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -27,14 +27,6 @@ CurrentModeX=0 CurrentModeY=0 CurrentModeZoom=1 -[ScreenTitleBranch] -Class=ScreenBranch -Choices=1,2 -Condition1=CoinMode()=="home" -Condition2=true -NextScreen1=screen,ScreenTitleMenu -NextScreen2=screen,ScreenTitleJoin - [ScreenTitleMenu] # Note that we don't use the "name" parameter to Choices here. Name1 is # the displayed text, which might be translated or otherwise changed. The "name,foo" @@ -42,7 +34,7 @@ NextScreen2=screen,ScreenTitleJoin Class=ScreenTitleMenu Fallback=ScreenCaution PrevScreen=ScreenCompany -CoinModeChangeScreen=ScreenTitleBranch +CoinModeChangeScreen=@ScreenTitleBranch() SharedPreviewAndCursor=1 AllowDisabledPlayerInput=1 ChoiceNames=1,2,3,4,5,6,7 @@ -50,7 +42,7 @@ ChoiceNames=1,2,3,4,5,6,7 DefaultChoice=1 NumChoicesOnPage1=100 WrapCursor=1 -Choice1=ApplyDefaultOptions;screen,ScreenCautionBranch +Choice1=@"ApplyDefaultOptions;screen,"..ScreenCautionBranch() Choice2=screen,ScreenSelectGame Choice3=screen,ScreenOptionsMenu Choice4=screen,ScreenEditMenu @@ -108,16 +100,8 @@ Class=ScreenTitleMenu Fallback=ScreenTitleMenu ChoiceNames=1 -[ScreenCautionBranch] -Class=ScreenBranch -Choices=1,2 -Condition1=ShowCaution() -Condition2=true -NextScreen1=screen,ScreenCaution -NextScreen2=screen,ScreenSelectStyle - [ScreenCaution] -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() Class=ScreenSelectMaster Fallback=ScreenSelectMaster ChoiceNames=1 @@ -186,7 +170,7 @@ TimerStealth=0 StyleIcon=1 MemoryCardIcons=1 NextScreen=ScreenSelectGroup -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() SilentWait=1 BounceJoinMessage=1 FoldOnJoin=1 @@ -211,7 +195,7 @@ NextScreen2=ScreenSelectDifficulty NextScreen3=ScreenSelectDifficulty NextScreen4=ScreenSelectDifficulty NextScreen5=ScreenSelectDifficulty -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() PremiumX=SCREEN_CENTER_X+230 PremiumY=SCREEN_CENTER_Y-156 PremiumOnCommand=addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6;glowshift;effectcolor1,1,1,1,0;effectcolor2,1,1,1,0.3 @@ -306,7 +290,7 @@ CharacterIconP2OffCommand=linear,0.3;diffusealpha,0;sleep,10 [ScreenStyleSplash] NextScreen=ScreenSelectGroup -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() StyleIcon=0 MemoryCardIcons=0 TimerSeconds=0 @@ -338,7 +322,7 @@ NextScreen5=ScreenInstructions NextScreen6=ScreenInstructions NextScreen7=ScreenInstructions NextScreen8=ScreenInstructions -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() LockInputSeconds=0.8 SleepAfterChoiceSeconds=0.3 SleepAfterTweenOffSeconds=0.8 @@ -443,7 +427,7 @@ DisabledColor=0.2,0.2,0.2,1 [ScreenSelectGroup] Class=ScreenSelectGroup NextScreen=ScreenInstructions -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() Fallback=ScreenWithMenuElements FrameX=SCREEN_CENTER_X-140 FrameY=SCREEN_CENTER_Y-80 @@ -508,7 +492,7 @@ InitCommand=horizalign,left;vertalign,top;shadowlength,2;zoom,0.5; Class=ScreenInstructions Fallback=ScreenWithMenuElements NextScreen=ScreenSelectCharacter -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() TimerSeconds=15 StyleIcon=1 MemoryCardIcons=1 @@ -710,7 +694,7 @@ TimerSeconds=60 StyleIcon=1 MemoryCardIcons=1 SampleMusicDelay=0.25 -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() NextScreen=ScreenStage NextOptionsScreen=@SelectFirstOptionsScreen() DoRouletteOnMenuTimer=1 @@ -771,7 +755,7 @@ DefaultSort=Endless Class=ScreenSMOnlineLogin Fallback=ScreenOperatorMenu NextScreen=ScreenNetRoom -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() CapitalizeAllOptionNames=0 HelpText= StyleIcon=0 @@ -822,7 +806,7 @@ CreateRoomY=420 CreateRoomX=250 CreateRoomOnCommand=diffusealpha,0;linear,1;diffusealpha,1.0;zoom,0.5 CreateRoomOffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() NextScreen=ScreenGameplayBranch Fallback=ScreenNetSelectMusic Class=ScreenNetRoom @@ -833,7 +817,6 @@ InGameRoomColor=1.0,0.1,0.1,1.0 [ScreenSMOnlineSelectMusic] PrevScreen=ScreenNetRoom Class=ScreenNetSelectMusic -RoomSelectScreen=ScreenNetRoom Fallback=ScreenNetSelectMusic [ScreenNetSelectMusic] @@ -927,15 +910,15 @@ NumGroupsShow=3 StyleIcon= MemoryCardIcons= TimerSeconds= -HelpText=Up: Options, Down: Change Difficulty, Left + Right: Change Sort, Ctrl+Enter to start -PrevScreen=ScreenTitleBranch +HelpText=Up: Options, Down: Change Difficulty, Left + Right: Change Sort +PrevScreen=@ScreenTitleBranch() NextScreen=ScreenStage -NoSongsScreen=ScreenTitleBranch +NoSongsScreen=@ScreenTitleBranch() Class=ScreenNetSelectMusic Fallback=ScreenWithMenuElements [ScreenEz2SelectMusic] -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() Class=ScreenEz2SelectMusic UseModeSwitcher=0 BalloonX=SCREEN_CENTER_X+172 @@ -987,7 +970,7 @@ DifficultyRatingY=-1000 DifficultyRatingOrientation=0 DifficultyRatingSpacing=40.0 PreviewMusicMode=0 // 0 = play music as you select, 1 = no music plays, select once and preview music plays, select again for confirm, 2 = no music plays at all, 3 = play music as select, press twice to confirm, 4 = static menu music plays, no confirm -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() NextScreen=ScreenStage NextOptionsScreen=@SelectFirstOptionsScreen() TimerSeconds=60 @@ -1503,20 +1486,10 @@ PersonalRecordP2Y=SCREEN_CENTER_Y+158 PersonalRecordP2OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift PersonalRecordP2OffCommand=linear,0.7;diffusealpha,0 -[ScreenBranchNetAfterEval] -Class=ScreenBranch -Choices=1,2,3,4 -Condition1=IsNetSMOnline() -Condition2=IsNetConnected() -Condition3=true -NextScreen1=screen,ScreenSMOnlineSelectMusic -NextScreen2=screen,ScreenNetSelectMusic -NextScreen3=screen,ScreenSelectMusic - [ScreenNetEvaluation] Class=ScreenNetEvaluation Fallback=ScreenEvaluationStage -NextScreen=ScreenBranchNetAfterEval +NextScreen=@ScreenBranchNetAfterEval() UsersBG1Y=SCREEN_CENTER_Y+0 UsersBG1X=SCREEN_CENTER_X-180 UsersBG2Y=SCREEN_CENTER_Y+0 @@ -1539,7 +1512,7 @@ UserSelCommand=zoomx,1.0;zoomy,1.0;linear,0.1;zoomx,1.4;zoomy,1.4 [ScreenEvaluationStage] Fallback=ScreenEvaluation -NextScreen=ScreenEvaluationExitBranch +NextScreen=@ScreenEvaluationExitBranch() EndScreen=ScreenEvaluationSummary FailedScreen=ScreenGameOver Type=stage @@ -2244,7 +2217,7 @@ NextScreen=ScreenRanking [ScreenEditMenu] Class=ScreenEditMenu Fallback=ScreenWithMenuElements -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() ExplanationX=SCREEN_CENTER_X+0 ExplanationY=SCREEN_CENTER_Y+170 ExplanationOnCommand=wrapwidthpixels,900;zoom,0.7 @@ -2256,7 +2229,7 @@ TimerSeconds=0 Class=ScreenOptionsMaster Fallback=ScreenOptions NextScreen=ScreenJukebox -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() StyleIcon=0 MemoryCardIcons=1 TimerSeconds=0 @@ -2271,7 +2244,7 @@ Line4=list,RandomModifiers [ScreenEditCoursesMenu] Class=ScreenEditCoursesMenu Fallback=ScreenWithMenuElements -NextScreen=ScreenTitleBranch +NextScreen=@ScreenTitleBranch() ExplanationX=SCREEN_CENTER_X+0 ExplanationY=SCREEN_CENTER_Y+170 ExplanationOnCommand=wrapwidthpixels,900;zoom,0.7 @@ -2600,9 +2573,9 @@ StyleIcon= MemoryCardIcons= TimerSeconds= HelpText= -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() NextScreen=ScreenStage -NoSongsScreen=ScreenTitleBranch +NoSongsScreen=@ScreenTitleBranch() Fallback=ScreenWithMenuElements [HoldGhostArrow] @@ -3076,7 +3049,7 @@ MemoryCardIcons=0 TimerSeconds=0 [ScreenAttract] -StartScreen=ScreenTitleBranch +StartScreen=@ScreenTitleBranch() [ScreenUnlock] Class=ScreenUnlock @@ -3365,7 +3338,7 @@ PlayerP1OnePlayerTwoSidesX=SCREEN_CENTER_X PlayerP2OnePlayerTwoSidesX=SCREEN_CENTER_X [EditMenu] -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() Arrows1X=SCREEN_CENTER_X-130 Arrows2X=SCREEN_CENTER_X+270 SongBannerX=SCREEN_CENTER_X+170 @@ -3434,8 +3407,8 @@ Fallback=EditCoursesMenu [ScreenOptionsMenu] Fallback=ScreenOptionsSubmenu -NextScreen=ScreenTitleBranch -PrevScreen=ScreenTitleBranch +NextScreen=@ScreenTitleBranch() +PrevScreen=@ScreenTitleBranch() # "Rows" sets the number of rows; this field is required. # # "Together" forces the vertical cursor to move together for both @@ -3520,22 +3493,12 @@ TipOnCommand= [ScreenSelectGame] Fallback=ScreenOptionsSubmenu -PrevScreen=ScreenTitleBranch -NextScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() +NextScreen=@ScreenTitleBranch() LineNames=1 OptionMenuFlags=together Line1=conf,Game -[ScreenEvaluationExitBranch] -Class=ScreenBranch -Choices=1,2,3 -Condition1=IsNetSMOnline() -Condition2=IsNetConnected() -Condition3=true -NextScreen1=screen,ScreenNetRoom -NextScreen2=screen,ScreenNetSelectMusic -NextScreen3=screen,ScreenSelectMusic - [ScreenPlayerOptions] Class=ScreenPlayerOptions Fallback=ScreenOptions @@ -3678,7 +3641,7 @@ SleepAfterTweenOffSeconds=0.8 TimerSeconds=40 StyleIcon=1 MemoryCardIcons=1 -PrevScreen=ScreenTitleBranch +PrevScreen=@ScreenTitleBranch() NextScreen=@SongSelectionScreen() [BeginnerHelper] @@ -3929,7 +3892,7 @@ RandomModifiers,2=mod,random;name,Random [ScreenReloadSongs] Class=ScreenReloadSongs -NextScreen=ScreenTitleBranch +NextScreen=@ScreenTitleBranch() [DancingCharacters] #2D Character X/Y positions in relation to the center