diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info1.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info1.png new file mode 100644 index 0000000000..39064bd1a0 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info1.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info2.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info2.png new file mode 100644 index 0000000000..597fe098fe Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info2.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info3.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info3.png new file mode 100644 index 0000000000..86e3e12715 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info3.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info4.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info4.png new file mode 100644 index 0000000000..06dc6697dd Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info4.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info5.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info5.png new file mode 100644 index 0000000000..137e3e367d Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info5.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info6.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info6.png new file mode 100644 index 0000000000..4e999144ab Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info6.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info7.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info7.png new file mode 100644 index 0000000000..e458643351 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info7.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info8.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info8.png new file mode 100644 index 0000000000..ba62c49b84 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty info8.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture1.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture1.png new file mode 100644 index 0000000000..8b7d47eedc Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture1.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture2.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture2.png new file mode 100644 index 0000000000..1a0d255a10 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture2.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture3.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture3.png new file mode 100644 index 0000000000..9d23911733 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture3.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture4.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture4.png new file mode 100644 index 0000000000..5af39fee6f Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture4.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture5.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture5.png new file mode 100644 index 0000000000..521e66b6e2 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture5.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture6.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture6.png new file mode 100644 index 0000000000..cd3a4336fc Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture6.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture7.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture7.png new file mode 100644 index 0000000000..83b6431a7b Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture7.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture8.png b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture8.png new file mode 100644 index 0000000000..9cca893ab0 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectDifficulty picture8.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle icon1.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon1.png new file mode 100644 index 0000000000..b7f038723c Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon1.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle icon2.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon2.png new file mode 100644 index 0000000000..e1e3b9bf54 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon2.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle icon3.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon3.png new file mode 100644 index 0000000000..7622eb094f Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon3.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle icon4.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon4.png new file mode 100644 index 0000000000..085a34a51c Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon4.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle icon5.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon5.png new file mode 100644 index 0000000000..63e5ec0ff4 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle icon5.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle info1.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle info1.png new file mode 100644 index 0000000000..5d04d59eb9 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle info1.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle info2.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle info2.png new file mode 100644 index 0000000000..8ce75b86bf Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle info2.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle info3.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle info3.png new file mode 100644 index 0000000000..3b0a5bf9aa Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle info3.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle info4.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle info4.png new file mode 100644 index 0000000000..34882cf3dc Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle info4.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle info5.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle info5.png new file mode 100644 index 0000000000..203accdeaf Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle info5.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle picture1.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture1.png new file mode 100644 index 0000000000..00cf5fa58b Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture1.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle picture2.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture2.png new file mode 100644 index 0000000000..803797c949 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture2.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle picture3.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture3.png new file mode 100644 index 0000000000..88591359f2 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture3.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle picture4.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture4.png new file mode 100644 index 0000000000..dfd57ab82c Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture4.png differ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectStyle picture5.png b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture5.png new file mode 100644 index 0000000000..0a06af5bc7 Binary files /dev/null and b/stepmania/Themes/default/Graphics/ScreenSelectStyle picture5.png differ diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 753b89f7c4..956393b643 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -80,7 +80,12 @@ BounceJoinMessage=1 FoldOnJoin=1 [ScreenSelectStyle] -Choices=single,versus,couple,double,solo +NumChoices=5 +Choice1=Style,single +Choice2=Style,versus +Choice3=Style,couple +Choice4=Style,double +Choice5=Style,solo HelpText=Use &LEFT; &RIGHT; to select, then press START TimerSeconds=40 NextScreen1=ScreenSelectDifficulty @@ -221,7 +226,15 @@ NextScreen=ScreenSelectGroup HelpText= [ScreenSelectDifficulty] -Choices=arcade-beginner,arcade-easy,arcade-medium,arcade-hard,nonstop,oni,endless,rave +NumChoices=8 +Choice1=PlayMode,arcade;Difficulty,beginner +Choice2=PlayMode,arcade;Difficulty,easy +Choice3=PlayMode,arcade;Difficulty,medium +Choice4=PlayMode,arcade;Difficulty,hard +Choice5=PlayMode,nonstop +Choice6=PlayMode,oni +Choice7=PlayMode,endless +Choice8=PlayMode,rave NumChoicesOnPage1=4 HelpText=Use &LEFT; &RIGHT; to select, then press START TimerSeconds=40 diff --git a/stepmania/src/ModeChoice.cpp b/stepmania/src/ModeChoice.cpp index a89eaaa4c7..b0b16cd9ee 100644 --- a/stepmania/src/ModeChoice.cpp +++ b/stepmania/src/ModeChoice.cpp @@ -50,52 +50,67 @@ bool ModeChoice::FromString( CString sChoice, bool bIgnoreUnknown ) bool bChoiceIsInvalid = false; - CStringArray asBits; - split( sChoice, "-", asBits ); - for( unsigned b=0; bStringToGameType( sBit ); - if( game != GAME_INVALID ) + CStringArray asBits; + split( sCommand, ",", asBits ); + + CString sName = asBits[0]; + CString sValue = (asBits.size()>1) ? asBits[1] : ""; + + sName.MakeLower(); + sValue.MakeLower(); + + if( sName == "game" ) { - this->game = game; - continue; + Game game = GAMEMAN->StringToGameType( sValue ); + if( game != GAME_INVALID ) + this->game = game; + else + bChoiceIsInvalid |= true; } - Style style = GAMEMAN->GameAndStringToStyle( GAMESTATE->m_CurGame, sBit ); - if( style != STYLE_INVALID ) + + if( sName == "style" ) { - this->style = style; - // There is a choices that allows players to choose a style. Allow joining. - GAMESTATE->m_bPlayersCanJoin = true; - continue; + Style style = GAMEMAN->GameAndStringToStyle( GAMESTATE->m_CurGame, sValue ); + if( style != STYLE_INVALID ) + { + this->style = style; + // There is a choices that allows players to choose a style. Allow joining. + GAMESTATE->m_bPlayersCanJoin = true; + } + else + bChoiceIsInvalid |= true; } - PlayMode pm = StringToPlayMode( sBit ); - if( pm != PLAY_MODE_INVALID ) + if( sName == "playmode" ) { - this->pm = pm; - continue; + PlayMode pm = StringToPlayMode( sValue ); + if( pm != PLAY_MODE_INVALID ) + this->pm = pm; + else + bChoiceIsInvalid |= true; } - Difficulty dc = StringToDifficulty( sBit ); - if( dc != DIFFICULTY_INVALID ) + if( sName == "difficulty" ) { - this->dc = dc; - continue; + Difficulty dc = StringToDifficulty( sValue ); + if( dc != DIFFICULTY_INVALID ) + this->dc = dc; + else + bChoiceIsInvalid |= true; + } + + if( sName == "announcer" ) + { + sAnnouncer = sValue; } - // Never show this error to the user. It occurs all the time in - // non-dance gametypes. -// if( !bIgnoreUnknown ) -// { -// CString sError = ssprintf( "The choice token '%s' is not recognized as a Game, Style, PlayMode, or Difficulty. The choice containing this token will be ignored.", sBit.c_str() ); -// LOG->Warn( sError ); -// if( DISPLAY->IsWindowed() ) -// HOOKS->MessageBoxOK( sError ); -// } - bChoiceIsInvalid |= true; } if( this->style != STYLE_INVALID ) diff --git a/stepmania/src/ScreenSelect.cpp b/stepmania/src/ScreenSelect.cpp index d46be72f94..597ce94dee 100644 --- a/stepmania/src/ScreenSelect.cpp +++ b/stepmania/src/ScreenSelect.cpp @@ -28,16 +28,12 @@ #include "arch/ArchHooks/ArchHooks.h" -#define CHOICES THEME->GetMetric (m_sName,"Choices") +#define NUM_CHOICES THEME->GetMetricI(m_sName,"NumChoices") +#define CHOICE( choice ) THEME->GetMetric (m_sName,ssprintf("Choice%d",choice+1)) #define HELP_TEXT THEME->GetMetric (m_sName,"HelpText") #define TIMER_SECONDS THEME->GetMetricI(m_sName,"TimerSeconds") #define NEXT_SCREEN( choice ) THEME->GetMetric (m_sName,ssprintf("NextScreen%d",choice+1)) -// Temporary hack: specify announcer in selection -#define SPECIFY_ANNOUNCER THEME->HasMetric(m_sName,"Announcer1") -#define ANNOUNCER( choice ) THEME->GetMetric (m_sName,ssprintf("Announcer%d",choice+1)) - - ScreenSelect::ScreenSelect( CString sClassName ) : Screen(sClassName) { LOG->Trace( "ScreenSelect::ScreenSelect()" ); @@ -48,19 +44,13 @@ ScreenSelect::ScreenSelect( CString sClassName ) : Screen(sClassName) // Set this true later if we discover a choice that chooses the Style - CStringArray asChoices; - split( CHOICES, ",", asChoices ); - - for( unsigned c=0; cGetPathTo(BGAnimations, ssprintf("%s %s",m_sName.c_str(),mc.name), true); // true="optional" if( sBGAnimationDir == "" ) diff --git a/stepmania/src/ScreenSelectDifficulty.cpp b/stepmania/src/ScreenSelectDifficulty.cpp index cdf5c70a81..e39003f295 100644 --- a/stepmania/src/ScreenSelectDifficulty.cpp +++ b/stepmania/src/ScreenSelectDifficulty.cpp @@ -53,13 +53,13 @@ ScreenSelectDifficulty::ScreenSelectDifficulty() : ScreenSelect( "ScreenSelectDi m_ModeChoices[PAGE_2].push_back( m_aModeChoices[c] ); } + c = 0; for( int page=0; pageGetPathToG(sPictureFile) ); diff --git a/stepmania/src/ScreenSelectStyle.cpp b/stepmania/src/ScreenSelectStyle.cpp index d7c7570f69..5b1216f75e 100644 --- a/stepmania/src/ScreenSelectStyle.cpp +++ b/stepmania/src/ScreenSelectStyle.cpp @@ -38,7 +38,7 @@ ScreenSelectStyle::ScreenSelectStyle() : ScreenSelect( "ScreenSelectStyle" ) // // Load icon // - CString sIconElementName = ssprintf("ScreenSelectStyle icon %s", mc.name ); + CString sIconElementName = ssprintf("ScreenSelectStyle icon%d",i+1); CString sIconPath = THEME->GetPathToG(sIconElementName); m_textIcon[i].SetName( ssprintf("Icon%d",i+1) ); @@ -61,7 +61,7 @@ ScreenSelectStyle::ScreenSelectStyle() : ScreenSelect( "ScreenSelectStyle" ) // // Load Picture // - CString sPictureElementName = ssprintf("ScreenSelectStyle picture %s", mc.name ); + CString sPictureElementName = ssprintf("ScreenSelectStyle picture%d",i+1); CString sPicturePath = THEME->GetPathToG(sPictureElementName); if( sPicturePath != "" ) { @@ -75,7 +75,7 @@ ScreenSelectStyle::ScreenSelectStyle() : ScreenSelect( "ScreenSelectStyle" ) // // Load info // - CString sInfoElementName = ssprintf("ScreenSelectStyle info %s", mc.name ); + CString sInfoElementName = ssprintf("ScreenSelectStyle info%d",i+1); CString sInfoPath = THEME->GetPathToG(sInfoElementName); if( sInfoPath != "" ) {