From ec0258a73b5137747b3f101660400bf5da15ae75 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 18 Apr 2004 03:45:25 +0000 Subject: [PATCH] simplify branching metrics for ScreenSelectMusic --- stepmania/Themes/default/metrics.ini | 29 +++++++++++----------------- stepmania/src/GameState.cpp | 1 + stepmania/src/ScreenSelectMusic.cpp | 12 ++++++------ 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 3eb6f930fc..3959df75ab 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -747,27 +747,20 @@ TimerSeconds=60 StyleIcon=1 MemoryCardIcons=1 SampleMusicDelay=0.25 -PrevScreenArcade=ScreenTitleMenu -PrevScreenNonstop=ScreenTitleMenu -PrevScreenOni=ScreenTitleMenu -PrevScreenEndless=ScreenTitleMenu -PrevScreenBattle=ScreenTitleMenu -PrevScreenRave=ScreenTitleMenu -NextScreenArcade=ScreenStage -NextScreenNonstop=ScreenStage -NextScreenOni=ScreenStage -NextScreenEndless=ScreenStage -NextScreenBattle=ScreenStage -NextScreenRave=ScreenStage -NextOptionsScreenArcade=ScreenPlayerOptions -NextOptionsScreenNonstop=ScreenPlayerOptions -NextOptionsScreenOni=ScreenPlayerOptions -NextOptionsScreenEndless=ScreenPlayerOptions -NextOptionsScreenBattle=ScreenPlayerOptions -NextOptionsScreenRave=ScreenRaveOptions +PrevScreen=ScreenTitleMenu +NextScreen=ScreenStage +NextOptionsScreen=ScreenBranchOptions DoRouletteOnMenuTimer=1 AlignMusicBeat=0 +[ScreenBranchOptions] +Class=ScreenBranch +Choices=Rave,Normal +ConditionRave=PlayModeName() == "rave" +ConditionNormal=true +NextScreenRave=screen,ScreenRaveOptions +NextScreenNormal=screen,ScreenPlayerOptions + [ScreenEz2SelectMusic] UseModeSwitcher=0 BalloonX=492 diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index eaa689b75a..9a082585a7 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -1558,6 +1558,7 @@ LuaFunction_NoArgs( IsExtraStage, GAMESTATE->IsExtraStage() ) LuaFunction_NoArgs( IsExtraStage2, GAMESTATE->IsExtraStage2() ) LuaFunction_NoArgs( CourseSongIndex, GAMESTATE->GetCourseSongIndex() ) LuaFunction_NoArgs( CurStyle, GAMESTATE->m_CurStyle ) +LuaFunction_NoArgs( PlayModeName, PlayModeToString(GAMESTATE->m_PlayMode) ) LuaFunction_NoArgs( CurStyleName, CString( GAMESTATE->m_CurStyle == STYLE_INVALID? "none": GAMESTATE->GetCurrentStyleDef()->m_szName ) ) LuaFunction_NoArgs( GetNumPlayersEnabled, GAMESTATE->GetNumPlayersEnabled() ) LuaFunction_NoArgs( PlayerUsingBothSides, GAMESTATE->PlayerUsingBothSides() ) diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 926aeea231..aab5b5b0c3 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -52,9 +52,9 @@ const int NUM_SCORE_DIGITS = 9; #define SHOW_PANES THEME->GetMetricB("ScreenSelectMusic","ShowPanes") #define SHOW_DIFFICULTY_LIST THEME->GetMetricB("ScreenSelectMusic","ShowDifficultyList") #define CDTITLE_SPIN_SECONDS THEME->GetMetricF("ScreenSelectMusic","CDTitleSpinSeconds") -#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectMusic","PrevScreen"+Capitalize(PlayModeToString(play_mode))) -#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectMusic","NextScreen"+Capitalize(PlayModeToString(play_mode))) -#define NEXT_OPTIONS_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectMusic","NextOptionsScreen"+Capitalize(PlayModeToString(play_mode))) +#define PREV_SCREEN THEME->GetMetric ("ScreenSelectMusic","PrevScreen") +#define NEXT_SCREEN THEME->GetMetric ("ScreenSelectMusic","NextScreen") +#define NEXT_OPTIONS_SCREEN THEME->GetMetric ("ScreenSelectMusic","NextOptionsScreen") #define SCORE_SORT_CHANGE_COMMAND(i) THEME->GetMetric ("ScreenSelectMusic",ssprintf("ScoreP%iSortChangeCommand", i+1)) #define SCORE_FRAME_SORT_CHANGE_COMMAND(i) THEME->GetMetric ("ScreenSelectMusic",ssprintf("ScoreFrameP%iSortChangeCommand", i+1)) #define DO_ROULETTE_ON_MENU_TIMER THEME->GetMetricB("ScreenSelectMusic","DoRouletteOnMenuTimer") @@ -987,7 +987,7 @@ void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM ) } break; case SM_GoToPrevScreen: - SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) ); + SCREENMAN->SetNewScreen( PREV_SCREEN ); /* We may have stray SM_SongChanged messages from the music wheel. We can't * handle them anymore, since the title menu (and attract screens) reset * the game state, so just discard them. */ @@ -1003,13 +1003,13 @@ void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM ) case SM_GoToNextScreen: if( m_bGoToOptions ) { - SCREENMAN->SetNewScreen( NEXT_OPTIONS_SCREEN(GAMESTATE->m_PlayMode) ); + SCREENMAN->SetNewScreen( NEXT_OPTIONS_SCREEN ); } else { GAMESTATE->AdjustFailType(); SOUND->StopMusic(); - SCREENMAN->SetNewScreen( NEXT_SCREEN(GAMESTATE->m_PlayMode) ); + SCREENMAN->SetNewScreen( NEXT_SCREEN ); } break; case SM_SongChanged: