move screen flow logic into branches, not PlayMode specific metrics

This commit is contained in:
Chris Danford
2004-04-18 05:15:22 +00:00
parent ec0258a73b
commit dfba0c0c46
7 changed files with 72 additions and 110 deletions
+49 -86
View File
@@ -561,12 +561,7 @@ CropWidth=146
InitCommand=horizalign,left;vertalign,top;shadowlength,2;zoom,0.5;
[ScreenInstructions]
NextScreenArcade=ScreenSelectCharacter
NextScreenNonstop=ScreenSelectCharacter
NextScreenOni=ScreenSelectCharacter
NextScreenEndless=ScreenSelectCharacter
NextScreenBattle=ScreenSelectCharacter
NextScreenRave=ScreenSelectCharacter
NextScreen=ScreenSelectCharacter
TimerSeconds=15
StyleIcon=1
MemoryCardIcons=1
@@ -749,18 +744,10 @@ MemoryCardIcons=1
SampleMusicDelay=0.25
PrevScreen=ScreenTitleMenu
NextScreen=ScreenStage
NextOptionsScreen=ScreenBranchOptions
NextOptionsScreen=ScreenBranchFirstOptions
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
@@ -812,24 +799,9 @@ DifficultyRatingY=999
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
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=ScreenBranchFirstOptions
TimerSeconds=60
StyleIcon=0
MemoryCardIcons=0
@@ -887,18 +859,8 @@ BannerOffCommand=hidden,1
ShowEvaluationOnFail=0
StaticBGY=240
StaticBGX=320
PrevScreenArcade=ScreenSelectMusic
PrevScreenNonstop=ScreenSelectCourse
PrevScreenOni=ScreenSelectCourse
PrevScreenEndless=ScreenSelectCourse
PrevScreenBattle=ScreenSelectMusic
PrevScreenRave=ScreenSelectMusic
NextScreenArcade=ScreenEvaluationStage
NextScreenNonstop=ScreenEvaluationNonstop
NextScreenOni=ScreenEvaluationOni
NextScreenEndless=ScreenEvaluationEndless
NextScreenBattle=ScreenEvaluationBattle
NextScreenRave=ScreenEvaluationRave
PrevScreen=ScreenBranchSelectSongOrCourse
NextScreen=ScreenBranchEvaluation
InitialBackgroundBrightnessArcade=1
InitialBackgroundBrightnessNonstop=1
InitialBackgroundBrightnessOni=1
@@ -1125,6 +1087,22 @@ SongPositionMeterY=
SongPositionMeterOnCommand=hidden,1
SongPositionMeterOffCommand=
[ScreenBranchEvaluation]
Class=ScreenBranch
Choices=1,2,3,4,5,6
Condition1=PlayModeName() == "Arcade"
Condition2=PlayModeName() == "Nonstop"
Condition3=PlayModeName() == "Oni"
Condition4=PlayModeName() == "Endless"
Condition5=PlayModeName() == "Rave"
Condition6=PlayModeName() == "Battle"
NextScreen1=screen,ScreenEvaluationStage
NextScreen2=screen,ScreenEvaluationNonstop
NextScreen3=screen,ScreenEvaluationOni
NextScreen4=screen,ScreenEvaluationEndless
NextScreen5=screen,ScreenEvaluationRave
NextScreen6=screen,ScreenEvaluationBattle
[ScreenEvaluation]
Class=ScreenEvaluation
FailedSoundTime=0
@@ -3871,26 +3849,23 @@ LineNames=1
OptionMenuFlags=together
Line1=conf,Game
[ScreenPlayerOptions]
[ScreenBranchSelectSongOrCourse]
Class=ScreenBranch
Choices=1,2
Condition1=IsCourseMode()
Condition2=true
NextScreen1=screen,ScreenSelectCourse
NextScreen2=screen,ScreenSelectMusic
PrevScreenArcade=ScreenSelectMusic
PrevScreenNonstop=ScreenSelectCourse
PrevScreenOni=ScreenSelectCourse
PrevScreenEndless=ScreenSelectCourse
PrevScreenBattle=ScreenSelectMusic
PrevScreenRave=ScreenSelectMusic
NextScreenArcade=ScreenSongOptions
NextScreenNonstop=ScreenSongOptions
NextScreenOni=ScreenSongOptions
NextScreenEndless=ScreenSongOptions
NextScreenBattle=ScreenSongOptions
NextScreenRave=ScreenSongOptions
[ScreenPlayerOptions]
PrevScreen=ScreenBranchSelectSongOrCourse
NextScreen=ScreenSongOptions
TimerSeconds=30
StyleIcon=0
MemoryCardIcons=0
PrevScreen=
NextScreen=
PrevScreen=ScreenBranchSelectSongOrCourse
NextScreen=ScreenSongOptions
LineNames=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
OptionMenuFlags=
@@ -3937,26 +3912,24 @@ Line3=list,NoteSkins
Line4=list,Persp
Line5=Steps
[ScreenBranchFirstOptions]
Class=ScreenBranch
Choices=1,2
Condition1=PlayModeName() == "Rave"
Condition2=true
NextScreen1=screen,ScreenRaveOptions
NextScreen2=screen,ScreenPlayerOptions
[ScreenSongOptions]
PrevScreenArcade=ScreenPlayerOptions
PrevScreenNonstop=ScreenPlayerOptions
PrevScreenOni=ScreenPlayerOptions
PrevScreenEndless=ScreenPlayerOptions
PrevScreenBattle=ScreenPlayerOptions
PrevScreenRave=ScreenRaveOptions
NextScreenArcade=ScreenStage
NextScreenNonstop=ScreenStage
NextScreenOni=ScreenStage
NextScreenEndless=ScreenStage
NextScreenBattle=ScreenStage
NextScreenRave=ScreenStage
PrevScreen=ScreenBranchFirstOptions
NextScreen=ScreenStage
Game=Change the current game type with this option.
TimerSeconds=30
StyleIcon=0
MemoryCardIcons=0
PrevScreen=ScreenOptionsMenu
NextScreen=ScreenOptionsMenu
PrevScreen=ScreenBranchFirstOptions
NextScreen=ScreenStage
LineNames=1,2,3,4,5,6,7,8
OptionMenuFlags=
@@ -4037,18 +4010,8 @@ SleepAfterTweenOffSeconds=0.8
TimerSeconds=40
StyleIcon=1
MemoryCardIcons=1
PrevScreenArcade=ScreenTitleMenu
PrevScreenNonstop=ScreenTitleMenu
PrevScreenOni=ScreenTitleMenu
PrevScreenEndless=ScreenTitleMenu
PrevScreenBattle=ScreenTitleMenu
PrevScreenRave=ScreenTitleMenu
NextScreenArcade=ScreenSelectMusic
NextScreenNonstop=ScreenSelectCourse
NextScreenOni=ScreenSelectCourse
NextScreenEndless=ScreenSelectCourse
NextScreenBattle=ScreenSelectMusic
NextScreenRave=ScreenSelectMusic
PrevScreen=ScreenTitleMenu
NextScreen=ScreenBranchSelectSongOrCourse
[BeginnerHelper]
# All X,Y coordinates are relative to the HelperX,Y
+5 -5
View File
@@ -53,8 +53,8 @@
//
// Defines
//
#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenGameplay","PrevScreen"+Capitalize(PlayModeToString(play_mode)))
#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenGameplay","NextScreen"+Capitalize(PlayModeToString(play_mode)))
#define PREV_SCREEN THEME->GetMetric ("ScreenGameplay","PrevScreen")
#define NEXT_SCREEN THEME->GetMetric ("ScreenGameplay","NextScreen")
#define SHOW_LIFE_METER_FOR_DISABLED_PLAYERS THEME->GetMetricB("ScreenGameplay","ShowLifeMeterForDisabledPlayers")
#define EVAL_ON_FAIL THEME->GetMetricB("ScreenGameplay","ShowEvaluationOnFail")
#define SHOW_SCORE_IN_RAVE THEME->GetMetricB("ScreenGameplay","ShowScoreInRave")
@@ -2145,7 +2145,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
GAMESTATE->CancelStage();
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( PREV_SCREEN );
break;
case SM_GoToStateAfterCleared:
@@ -2159,7 +2159,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
SongFinished();
StageFinished( false );
SCREENMAN->SetNewScreen( NEXT_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
case SM_LoseFocus:
@@ -2218,7 +2218,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
if(EVAL_ON_FAIL) // go to the eval screen if we fail
SCREENMAN->SetNewScreen( "ScreenEvaluationStage" );
else // the theme says just fail and go back to the song select for event mode
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( PREV_SCREEN );
}
else if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
SCREENMAN->SetNewScreen( "ScreenEvaluationStage" );
+4 -4
View File
@@ -21,9 +21,9 @@
#include "PrefsManager.h"
#define HELP_TEXT THEME->GetMetric("ScreenInstructions","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenInstructions","TimerSeconds")
#define NEXT_SCREEN( pm ) THEME->GetMetric("ScreenInstructions","NextScreen"+Capitalize(PlayModeToString(pm)) )
#define HELP_TEXT THEME->GetMetric("ScreenInstructions","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenInstructions","TimerSeconds")
#define NEXT_SCREEN THEME->GetMetric("ScreenInstructions","NextScreen")
ScreenInstructions::ScreenInstructions( CString sName ) : Screen( sName )
@@ -114,7 +114,7 @@ void ScreenInstructions::HandleScreenMessage( const ScreenMessage SM )
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextScreen:
SCREENMAN->SetNewScreen( NEXT_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
}
}
+1 -2
View File
@@ -570,8 +570,7 @@ void ScreenOptionsMaster::ExportOptions()
}
CHECKPOINT;
// NEXT_SCREEN(GAMESTATE->m_PlayMode) );
// XXX: handle different destinations based on play mode?
// NEXT_SCREEN;
if( m_NextScreen == "" )
m_NextScreen = NEXT_SCREEN;
+4 -4
View File
@@ -20,8 +20,8 @@
#include "CodeDetector.h"
#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenPlayerOptions","PrevScreen"+Capitalize(PlayModeToString(play_mode)))
#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenPlayerOptions","NextScreen"+Capitalize(PlayModeToString(play_mode)))
#define PREV_SCREEN THEME->GetMetric ("ScreenPlayerOptions","PrevScreen")
#define NEXT_SCREEN THEME->GetMetric ("ScreenPlayerOptions","NextScreen")
ScreenPlayerOptions::ScreenPlayerOptions( CString sClassName ) :
ScreenOptionsMaster( sClassName )
@@ -68,7 +68,7 @@ void ScreenPlayerOptions::GoToPrevState()
if( GAMESTATE->m_bEditing )
SCREENMAN->PopTopScreen();
else
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( PREV_SCREEN );
}
void ScreenPlayerOptions::GoToNextState()
@@ -80,7 +80,7 @@ void ScreenPlayerOptions::GoToNextState()
GAMESTATE->AdjustFailType();
if( m_bGoToOptions )
SCREENMAN->SetNewScreen( NEXT_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( NEXT_SCREEN );
else
SCREENMAN->SetNewScreen( ScreenSongOptions::GetNextScreen() );
}
+4 -4
View File
@@ -45,8 +45,8 @@
#define HELP_TEXT THEME->GetMetric ("ScreenSelectCharacter","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectCharacter","TimerSeconds")
#define SLEEP_AFTER_TWEEN_OFF_SECONDS THEME->GetMetricF("ScreenSelectCharacter","SleepAfterTweenOffSeconds")
#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectCharacter","PrevScreen"+Capitalize(PlayModeToString(play_mode)))
#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectCharacter","NextScreen"+Capitalize(PlayModeToString(play_mode)))
#define PREV_SCREEN THEME->GetMetric ("ScreenSelectCharacter","PrevScreen")
#define NEXT_SCREEN THEME->GetMetric ("ScreenSelectCharacter","NextScreen")
#define ICON_WIDTH THEME->GetMetricF("ScreenSelectCharacter","IconWidth")
#define ICON_HEIGHT THEME->GetMetricF("ScreenSelectCharacter","IconHeight")
#define ICONS_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("IconsP%dOnCommand",p+1))
@@ -214,10 +214,10 @@ void ScreenSelectCharacter::HandleScreenMessage( const ScreenMessage SM )
MenuStart(PLAYER_1);
break;
case SM_GoToPrevScreen:
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( PREV_SCREEN );
break;
case SM_GoToNextScreen:
SCREENMAN->SetNewScreen( NEXT_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
}
}
+5 -5
View File
@@ -15,13 +15,13 @@
#include "ThemeManager.h"
#include "PrefsManager.h"
#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenSongOptions","PrevScreen"+Capitalize(PlayModeToString(play_mode)))
#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenSongOptions","NextScreen"+Capitalize(PlayModeToString(play_mode)))
#define PREV_SCREEN THEME->GetMetric ("ScreenSongOptions","PrevScreen")
#define NEXT_SCREEN THEME->GetMetric ("ScreenSongOptions","NextScreen")
/* Get the next screen we'll go to when finished. */
CString ScreenSongOptions::GetNextScreen()
{
return NEXT_SCREEN(GAMESTATE->m_PlayMode);
return NEXT_SCREEN;
}
@@ -42,7 +42,7 @@ void ScreenSongOptions::GoToPrevState()
if( GAMESTATE->m_bEditing )
SCREENMAN->PopTopScreen( SM_None );
else
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( PREV_SCREEN );
}
void ScreenSongOptions::GoToNextState()
@@ -50,5 +50,5 @@ void ScreenSongOptions::GoToNextState()
if( GAMESTATE->m_bEditing )
SCREENMAN->PopTopScreen();
else
SCREENMAN->SetNewScreen( NEXT_SCREEN(GAMESTATE->m_PlayMode) );
SCREENMAN->SetNewScreen( NEXT_SCREEN );
}