diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini
index 29712aa54f..ecf35be72b 100644
--- a/stepmania/Themes/default/metrics.ini
+++ b/stepmania/Themes/default/metrics.ini
@@ -272,10 +272,10 @@ TimerSeconds=0
[ScreenSelectDifficulty]
Fallback=ScreenWithMenuElements
ChoiceNames=1,2,3,4,5,6,7,8
-Choice1=PlayMode,arcade;Difficulty,beginner;name,beginner
-Choice2=PlayMode,arcade;Difficulty,easy;name,easy
-Choice3=PlayMode,arcade;Difficulty,medium;name,medium
-Choice4=PlayMode,arcade;Difficulty,hard;name,hard
+Choice1=PlayMode,regular;Difficulty,beginner;name,beginner
+Choice2=PlayMode,regular;Difficulty,easy;name,easy
+Choice3=PlayMode,regular;Difficulty,medium;name,medium
+Choice4=PlayMode,regular;Difficulty,hard;name,hard
Choice5=PlayMode,nonstop;name,nonstop
Choice6=PlayMode,oni;name,oni
Choice7=PlayMode,endless;name,endless
@@ -402,7 +402,7 @@ AnimateModeSwitchInfoOFFCommand=linear,0.0;zoom,0
AnimateModeSwitchInfoONCommand=linear,0.25;zoom,1
AnimateModeSwitchPictureOFFCommand=linear,0.0;zoom,0
AnimateModeSwitchPictureONCommand=linear,0.25;zoom,1
-Choices=arcade-beginner,arcade-easy,arcade-medium,arcade-hard,nonstop,oni,endless,rave
+Choices=regular-beginner,regular-easy,regular-medium,regular-hard,nonstop,oni,endless,rave
CursorOffsetP1X=+40
CursorOffsetP1Y=20
CursorOffsetP2X=+40
@@ -488,7 +488,7 @@ NextScreen5=ScreenInstructions
NextScreen6=ScreenInstructions
NextScreen7=ScreenInstructions
NextScreen8=ScreenInstructions
-NextScreenArcade=ScreenSelectGroup
+NextScreenRegular=ScreenSelectGroup
NextScreenOni=ScreenInstructions
NextScreenNonstop=ScreenInstructions
NextScreenEndless=ScreenInstructions
@@ -935,7 +935,7 @@ StaticBGY=240
StaticBGX=320
PrevScreen=ScreenBranchSelectSongOrCourse
NextScreen=ScreenBranchEvaluation
-InitialBackgroundBrightnessArcade=1
+InitialBackgroundBrightnessRegular=1
InitialBackgroundBrightnessNonstop=1
InitialBackgroundBrightnessOni=1
InitialBackgroundBrightnessEndless=1
@@ -1199,7 +1199,7 @@ DifficultyMeterP2Y=
[ScreenBranchEvaluation]
Class=ScreenBranch
Choices=1,2,3,4,5,6
-Condition1=PlayModeName() == "Arcade"
+Condition1=PlayModeName() == "Regular"
Condition2=PlayModeName() == "Nonstop"
Condition3=PlayModeName() == "Oni"
Condition4=PlayModeName() == "Endless"
@@ -3934,7 +3934,7 @@ PrevScreen=ScreenTitleMenu
#
# "SMNavigation" forces the START button to end the screen. This is needed
# when using entries that change the screen; otherwise, the only way to
-# exit the screen when in arcade mode is "exit".
+# exit the screen when in regular mode is "exit".
LineNames=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
OptionMenuFlags=together;forceallplayers;smnavigation
@@ -4318,7 +4318,7 @@ BatLives,10=mod,10 lives;name,10
Fail=3,together
FailDefault=
-Fail,1=mod,failarcade;name,Arcade
+Fail,1=mod,failImmediate;name,Immediate
Fail,2=mod,failendofsong;name,EndOfSong
Fail,3=mod,failoff;name,Off
@@ -4455,7 +4455,7 @@ LevelP2OnCommand=addy,-140
Title=StepMania Data
Footer=generated by StepMania
VerificationInstructions=
-ShowPlayModeArcade=1
+ShowPlayModeRegular=1
ShowPlayModeNonstop=1
ShowPlayModeOni=1
ShowPlayModeEndless=1
diff --git a/stepmania/src/GameConstantsAndTypes.cpp b/stepmania/src/GameConstantsAndTypes.cpp
index fa75bdda26..2c311c3f66 100644
--- a/stepmania/src/GameConstantsAndTypes.cpp
+++ b/stepmania/src/GameConstantsAndTypes.cpp
@@ -24,7 +24,7 @@ XToThemedString( RadarCategory );
static const CString PlayModeNames[NUM_PLAY_MODES] = {
- "Arcade",
+ "Regular",
"Nonstop",
"Oni",
"Endless",
diff --git a/stepmania/src/GameConstantsAndTypes.h b/stepmania/src/GameConstantsAndTypes.h
index a8d57ad945..6563a786ea 100644
--- a/stepmania/src/GameConstantsAndTypes.h
+++ b/stepmania/src/GameConstantsAndTypes.h
@@ -116,7 +116,7 @@ enum StepsType
//
enum PlayMode
{
- PLAY_MODE_ARCADE,
+ PLAY_MODE_REGULAR,
PLAY_MODE_NONSTOP, // DDR EX Nonstop
PLAY_MODE_ONI, // DDR EX Challenge
PLAY_MODE_ENDLESS, // DDR PlayStation Endless
diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp
index 1ae19adb8f..370ce5f98a 100644
--- a/stepmania/src/GameState.cpp
+++ b/stepmania/src/GameState.cpp
@@ -898,7 +898,7 @@ bool GameState::HasEarnedExtraStage() const
if( !PREFSMAN->m_bAllowExtraStage )
return false;
- if( this->m_PlayMode != PLAY_MODE_ARCADE )
+ if( this->m_PlayMode != PLAY_MODE_REGULAR )
return false;
if( (this->IsFinalStage() || this->IsExtraStage()) )
@@ -1333,7 +1333,7 @@ void GameState::GetRankingFeats( PlayerNumber pn, vector &asFeatsOu
CHECKPOINT_M(ssprintf("PlayMode %i",this->m_PlayMode));
switch( this->m_PlayMode )
{
- case PLAY_MODE_ARCADE:
+ case PLAY_MODE_REGULAR:
{
CHECKPOINT;
unsigned i, j;
diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp
index 6680c289d7..34ed1b33a6 100644
--- a/stepmania/src/MusicWheel.cpp
+++ b/stepmania/src/MusicWheel.cpp
@@ -1318,7 +1318,7 @@ void MusicWheel::SetOpenGroup(CString group, SortOrder so)
continue;
/* Only show tutorial songs in arcade */
- if( GAMESTATE->m_PlayMode!=PLAY_MODE_ARCADE &&
+ if( GAMESTATE->m_PlayMode!=PLAY_MODE_REGULAR &&
d.m_pSong &&
d.m_pSong->IsTutorial() )
continue;
@@ -1531,11 +1531,7 @@ int MusicWheel::GetPreferredSelectionForRandomOrPortal()
{
Song* pSong = m_CurWheelItemData[iSelection]->m_pSong;
- // HACK: Ignore all Songs with only Beginner steps. It's likely a training song.
- vector vpSteps;
- pSong->GetSteps( vpSteps, st );
- bool bIsTraining = vpSteps.size()==1 && vpSteps[0]->GetDifficulty()==DIFFICULTY_BEGINNER;
- if( bIsTraining )
+ if( pSong->IsTutorial() )
goto skip_song;
FOREACH( Difficulty, vDifficultiesToRequire, d )
diff --git a/stepmania/src/ScreenDemonstration.cpp b/stepmania/src/ScreenDemonstration.cpp
index 8c6b243fe1..5ec56fb5af 100644
--- a/stepmania/src/ScreenDemonstration.cpp
+++ b/stepmania/src/ScreenDemonstration.cpp
@@ -33,7 +33,7 @@ bool PrepareForDemonstration() // always return true.
default: ASSERT(0);
}
- GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE;
+ GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
/* If needed, turn sound off. We need to do this before the ScreenGameplay ctor,
* since changes to sound volume aren't guaranteed to take effect if done *after*
diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp
index f71c773ece..8ce6ebc699 100644
--- a/stepmania/src/ScreenEvaluation.cpp
+++ b/stepmania/src/ScreenEvaluation.cpp
@@ -100,7 +100,7 @@ void ScreenEvaluation::Init()
PROFILEMAN->LoadFirstAvailableProfile(PLAYER_1, false);
PROFILEMAN->LoadFirstAvailableProfile(PLAYER_2, false);
- GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE;
+ GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
GAMESTATE->m_CurStyle = STYLE_DANCE_VERSUS;
GAMESTATE->m_bSideIsJoined[PLAYER_1] = true;
GAMESTATE->m_bSideIsJoined[PLAYER_2] = true;
diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp
index 932b7f64b2..21de7bd4a3 100644
--- a/stepmania/src/ScreenGameplay.cpp
+++ b/stepmania/src/ScreenGameplay.cpp
@@ -389,7 +389,7 @@ void ScreenGameplay::Init()
//
switch( GAMESTATE->m_PlayMode )
{
- case PLAY_MODE_ARCADE:
+ case PLAY_MODE_REGULAR:
case PLAY_MODE_ONI:
case PLAY_MODE_NONSTOP:
case PLAY_MODE_ENDLESS:
@@ -450,7 +450,7 @@ void ScreenGameplay::Init()
//
switch( GAMESTATE->m_PlayMode )
{
- case PLAY_MODE_ARCADE:
+ case PLAY_MODE_REGULAR:
case PLAY_MODE_NONSTOP:
case PLAY_MODE_BATTLE:
case PLAY_MODE_RAVE:
@@ -531,7 +531,7 @@ void ScreenGameplay::Init()
switch( GAMESTATE->m_PlayMode )
{
- case PLAY_MODE_ARCADE:
+ case PLAY_MODE_REGULAR:
case PLAY_MODE_BATTLE:
case PLAY_MODE_RAVE:
m_sprStage.Load( THEME->GetPathG(m_sName,"stage "+GAMESTATE->GetStageText()) );
@@ -872,7 +872,7 @@ void ScreenGameplay::LoadNextSong()
if( GAMESTATE->m_SongOptions.m_LifeType==SongOptions::LIFE_BATTERY && g_CurStageStats.bFailed[p] ) // already failed
ShowOniGameOver(p);
- if( GAMESTATE->m_SongOptions.m_LifeType==SongOptions::LIFE_BAR && GAMESTATE->m_PlayMode == PLAY_MODE_ARCADE && !PREFSMAN->m_bEventMode && !m_bDemonstration)
+ if( GAMESTATE->m_SongOptions.m_LifeType==SongOptions::LIFE_BAR && GAMESTATE->m_PlayMode == PLAY_MODE_REGULAR && !PREFSMAN->m_bEventMode && !m_bDemonstration)
{
m_pLifeMeter[p]->UpdateNonstopLifebar(
GAMESTATE->GetStageIndex(),
@@ -1372,7 +1372,7 @@ void ScreenGameplay::Update( float fDeltaTime )
switch( GAMESTATE->m_PlayMode )
{
- case PLAY_MODE_ARCADE:
+ case PLAY_MODE_REGULAR:
case PLAY_MODE_BATTLE:
case PLAY_MODE_RAVE:
if( GAMESTATE->OneIsHot() )
@@ -1810,7 +1810,7 @@ void ScreenGameplay::ShowSavePrompt( ScreenMessage SM_SendWhenDone )
CString sMessage;
switch( GAMESTATE->m_PlayMode )
{
- case PLAY_MODE_ARCADE:
+ case PLAY_MODE_REGULAR:
case PLAY_MODE_BATTLE:
case PLAY_MODE_RAVE:
sMessage = ssprintf(
@@ -2236,7 +2236,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
switch( GAMESTATE->m_PlayMode )
{
- case PLAY_MODE_ARCADE:
+ case PLAY_MODE_REGULAR:
case PLAY_MODE_BATTLE:
case PLAY_MODE_RAVE:
if( PREFSMAN->m_bEventMode )
diff --git a/stepmania/src/ScreenInstructions.cpp b/stepmania/src/ScreenInstructions.cpp
index 0b3c8bf62e..233c1ab499 100644
--- a/stepmania/src/ScreenInstructions.cpp
+++ b/stepmania/src/ScreenInstructions.cpp
@@ -22,7 +22,7 @@ ScreenInstructions::ScreenInstructions( CString sName ) : ScreenWithMenuElements
HandleScreenMessage( SM_GoToNextScreen );
return;
}
- if( GAMESTATE->m_PlayMode == PLAY_MODE_ARCADE )
+ if( GAMESTATE->m_PlayMode == PLAY_MODE_REGULAR )
{
Difficulty easiestDifficulty = (Difficulty)(NUM_DIFFICULTIES-1);
FOREACH_HumanPlayer(p)
diff --git a/stepmania/src/ScreenJukebox.cpp b/stepmania/src/ScreenJukebox.cpp
index 55528d5426..46e407d10f 100644
--- a/stepmania/src/ScreenJukebox.cpp
+++ b/stepmania/src/ScreenJukebox.cpp
@@ -98,7 +98,7 @@ bool ScreenJukebox::PrepareForJukebox( bool bDemonstration ) // always return t
{
// ScreeJukeboxMenu must set this
ASSERT( GAMESTATE->m_CurStyle != STYLE_INVALID );
- GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE;
+ GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
SetSong( bDemonstration );
diff --git a/stepmania/src/ScreenNameEntry.cpp b/stepmania/src/ScreenNameEntry.cpp
index 40dec1eb69..e348d48a8c 100644
--- a/stepmania/src/ScreenNameEntry.cpp
+++ b/stepmania/src/ScreenNameEntry.cpp
@@ -105,7 +105,7 @@ ScreenNameEntry::ScreenNameEntry( CString sClassName ) : Screen( sClassName )
// DEBUGGING STUFF
// GAMESTATE->m_CurGame = GAME_DANCE;
// GAMESTATE->m_CurStyle = STYLE_DANCE_SINGLE;
-// GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE;
+// GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
// GAMESTATE->m_bSideIsJoined[PLAYER_1] = true;
// GAMESTATE->m_MasterPlayerNumber = PLAYER_1;
// GAMESTATE->m_RankingCategory[PLAYER_1] = RANKING_A;
diff --git a/stepmania/src/ScreenNameEntryTraditional.cpp b/stepmania/src/ScreenNameEntryTraditional.cpp
index 190a449a77..d911d5da6f 100644
--- a/stepmania/src/ScreenNameEntryTraditional.cpp
+++ b/stepmania/src/ScreenNameEntryTraditional.cpp
@@ -130,7 +130,7 @@ ScreenNameEntryTraditional::ScreenNameEntryTraditional( CString sClassName ) : S
GAMESTATE->m_bSideIsJoined[PLAYER_1] = true;
GAMESTATE->m_bSideIsJoined[PLAYER_2] = true;
GAMESTATE->m_MasterPlayerNumber = PLAYER_1;
- GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE;
+ GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
GAMESTATE->m_CurStyle = STYLE_DANCE_VERSUS;
StageStats ss;
for( int z = 0; z < 3; ++z )
diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp
index fd957c24c8..2a34c32b40 100644
--- a/stepmania/src/ScreenSelectMusic.cpp
+++ b/stepmania/src/ScreenSelectMusic.cpp
@@ -1072,7 +1072,7 @@ void ScreenSelectMusic::MenuStart( PlayerNumber pn )
/* If we're in event mode, we may have just played a course (putting us
* in course mode). Make sure we're in a single song mode. */
if( GAMESTATE->IsCourseMode() )
- GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE;
+ GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
}
break;
diff --git a/stepmania/src/Song.cpp b/stepmania/src/Song.cpp
index 5b8e05f52b..e47bbfe53b 100644
--- a/stepmania/src/Song.cpp
+++ b/stepmania/src/Song.cpp
@@ -1187,6 +1187,7 @@ bool Song::IsEasy( StepsType st ) const
bool Song::IsTutorial() const
{
+ // A Song is a tutorial song is it has only Beginner steps.
FOREACH_CONST( Steps*, m_vpSteps, s )
{
if( (*s)->m_StepsType == STEPS_TYPE_LIGHTS_CABINET )
diff --git a/stepmania/src/SongOptions.cpp b/stepmania/src/SongOptions.cpp
index 2b9b7dbdd5..58167066aa 100644
--- a/stepmania/src/SongOptions.cpp
+++ b/stepmania/src/SongOptions.cpp
@@ -36,7 +36,7 @@ CString SongOptions::GetString() const
switch( m_FailType )
{
- case FAIL_IMMEDIATE: break;
+ case FAIL_IMMEDIATE: break;
case FAIL_END_OF_SONG: sReturn += "FailEndOfSong, "; break;
case FAIL_OFF: sReturn += "FailOff, "; break;
}
@@ -104,7 +104,8 @@ void SongOptions::FromString( CString sOptions )
else if( sBit == "power-drop" ) m_DrainType = DRAIN_NO_RECOVER;
else if( sBit == "death" ) m_DrainType = DRAIN_SUDDEN_DEATH;
else if( sBit == "normal-drain" ) m_DrainType = DRAIN_NORMAL;
- else if( sBit == "failarcade" ) m_FailType = FAIL_IMMEDIATE;
+ else if( sBit == "failarcade" ||
+ sBit == "failimmediate" ) m_FailType = FAIL_IMMEDIATE;
else if( sBit == "failendofsong" ) m_FailType = FAIL_END_OF_SONG;
else if( sBit == "failoff" ) m_FailType = FAIL_OFF;
else if( sBit == "assisttick" ) m_bAssistTick = on;