diff --git a/stepmania/Themes/default/Scripts/Branches.lua b/stepmania/Themes/default/Scripts/Branches.lua index 9ca0a867fc..bc87792f7c 100644 --- a/stepmania/Themes/default/Scripts/Branches.lua +++ b/stepmania/Themes/default/Scripts/Branches.lua @@ -14,6 +14,11 @@ function ScreenCautionBranch() return "ScreenSelectStyle" end +function ScreenSelectGroupBranch() + if PREFSMAN:GetPreference("ShowSelectGroup") then return "ScreenSelectGroup" end + return GetScreenInstructions() +end + function SongSelectionScreen() local pm = GAMESTATE:GetPlayMode() if pm==PLAY_MODE_NONSTOP then return "ScreenSelectCourseNonstop" end diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 54b9105aff..98e6466bfe 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -138,7 +138,7 @@ JoinMessageP2Y=SCREEN_CENTER_Y+96 TimerSeconds=40 TimerStealth=0 StyleIcon=1 -NextScreen=ScreenSelectGroup +NextScreen=@ScreenSelectGroupBranch() PrevScreen=@ScreenTitleBranch() SilentWait=1 BounceJoinMessage=1 @@ -230,7 +230,7 @@ GuideY=SCREEN_CENTER_Y+134 TimerSeconds=30 TimerStealth=0 StyleIcon=1 -NextScreen=ScreenSelectGroup +NextScreen=@ScreenSelectGroupBranch() ScrollingListX=SCREEN_CENTER_X+0 ScrollingListY=SCREEN_CENTER_Y+10 UseSelectionBGAnimations=0 @@ -255,10 +255,10 @@ CharacterIconP2OffCommand=linear,0.3;diffusealpha,0;sleep,10 Class=ScreenSelectDifficulty Fallback=ScreenSelect ChoiceNames=1,2,3,4,5,6,7,8 -Choice1=PlayMode,regular;Difficulty,beginner;name,beginner;screen,ScreenSelectGroup -Choice2=PlayMode,regular;Difficulty,easy;name,easy;screen,ScreenSelectGroup -Choice3=PlayMode,regular;Difficulty,medium;name,medium;screen,ScreenSelectGroup -Choice4=PlayMode,regular;Difficulty,hard;name,hard;screen,ScreenSelectGroup +Choice1=@'PlayMode,regular;Difficulty,beginner;name,beginner;screen,'..ScreenSelectGroupBranch() +Choice2=@'PlayMode,regular;Difficulty,easy;name,easy;screen,'..ScreenSelectGroupBranch() +Choice3=@'PlayMode,regular;Difficulty,medium;name,medium;screen,'..ScreenSelectGroupBranch() +Choice4=@'PlayMode,regular;Difficulty,hard;name,hard;screen,'..ScreenSelectGroupBranch() Choice5=@'PlayMode,nonstop;name,nonstop;screen,'..GetScreenInstructions() Choice6=@'PlayMode,oni;name,oni;screen,'..GetScreenInstructions() Choice7=@'PlayMode,endless;name,endless;screen,'..GetScreenInstructions() diff --git a/stepmania/src/ScreenSelectGroup.cpp b/stepmania/src/ScreenSelectGroup.cpp index 0ae221e25d..1aa967b3d7 100644 --- a/stepmania/src/ScreenSelectGroup.cpp +++ b/stepmania/src/ScreenSelectGroup.cpp @@ -31,12 +31,7 @@ void ScreenSelectGroup::Init() { ScreenWithMenuElements::Init(); - if( !PREFSMAN->m_bShowSelectGroup ) - { - GAMESTATE->m_sPreferredSongGroup.Set( GROUP_ALL ); - PostScreenMessage( SM_GoToNextScreen, 0 ); - return; - } + ASSERT( PREFSMAN->m_bShowSelectGroup ); vector aAllSongs; SONGMAN->GetSongs( aAllSongs );