diff --git a/stepmania/Themes/default/Graphics/Common fallback banner.png b/stepmania/Themes/default/Graphics/Common fallback banner.png new file mode 100644 index 0000000000..f99fe50bf0 Binary files /dev/null and b/stepmania/Themes/default/Graphics/Common fallback banner.png differ diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 274bc416df..518db71ac8 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -546,6 +546,7 @@ TimerSeconds=60 NextScreen=ScreenGameplay [ScreenGameplay] +SongSelectScreen=ScreenSelectMusic PrevScreenArcade=ScreenSelectMusic PrevScreenNonstop=ScreenSelectCourse PrevScreenOni=ScreenSelectCourse diff --git a/stepmania/src/GradeDisplay.cpp b/stepmania/src/GradeDisplay.cpp index 9e236af083..c12ce78f70 100644 --- a/stepmania/src/GradeDisplay.cpp +++ b/stepmania/src/GradeDisplay.cpp @@ -83,20 +83,34 @@ void GradeDisplay::DrawPrimitives() int GradeDisplay::GetFrameNo( PlayerNumber pn, Grade g ) { // either 8, or 16 states - int iNumCols = Sprite::GetNumStates()==8 ? 1 : 2; + int iNumCols; + switch( Sprite::GetNumStates() ) + { + default: + ASSERT(0); + case 8: iNumCols=1; break; + case 16: iNumCols=2; break; + } + + int iFrame; switch( g ) { - case GRADE_AAAA: return 0*iNumCols+pn; break; - case GRADE_AAA: return 1*iNumCols+pn; break; - case GRADE_AA: return 2*iNumCols+pn; break; - case GRADE_A: return 3*iNumCols+pn; break; - case GRADE_B: return 4*iNumCols+pn; break; - case GRADE_C: return 5*iNumCols+pn; break; - case GRADE_D: return 6*iNumCols+pn; break; - case GRADE_E: return 7*iNumCols+pn; break; - case GRADE_NO_DATA: return 0; break; - default: ASSERT(0); return 0; + case GRADE_AAAA: iFrame = 0; break; + case GRADE_AAA: iFrame = 1; break; + case GRADE_AA: iFrame = 2; break; + case GRADE_A: iFrame = 3; break; + case GRADE_B: iFrame = 4; break; + case GRADE_C: iFrame = 5; break; + case GRADE_D: iFrame = 6; break; + case GRADE_E: iFrame = 7; break; + default: + ASSERT(0); + case GRADE_NO_DATA: iFrame = 0; break; } + iFrame *= iNumCols; + if( iNumCols==2 ) + iFrame += pn; + return iFrame; } void GradeDisplay::SetGrade( PlayerNumber pn, Grade g ) diff --git a/stepmania/src/MusicBannerWheel.cpp b/stepmania/src/MusicBannerWheel.cpp index d26a381048..8a9e60546b 100644 --- a/stepmania/src/MusicBannerWheel.cpp +++ b/stepmania/src/MusicBannerWheel.cpp @@ -125,10 +125,10 @@ void MusicBannerWheel::InsertNewBanner(int direction) else pSong = arraySongs[(arraySongs.size()-1) + (currentPos-2)]; // wrap around. (it does honestly!) - if( pSong == NULL ) sGraphicPath = (THEME->GetPathToG("fallback banner")); + if( pSong == NULL ) sGraphicPath = (THEME->GetPathToG("Common fallback banner")); else if (pSong->HasBanner()) sGraphicPath = (pSong->GetBannerPath()); else if (PREFSMAN->m_bUseBGIfNoBanner && pSong->HasBackground() ) sGraphicPath = (pSong->GetBannerPath()); - else sGraphicPath = (THEME->GetPathToG("fallback banner")); + else sGraphicPath = (THEME->GetPathToG("Common fallback banner")); elementtoreplace = scrlistPos - 2; if(elementtoreplace < 0) @@ -152,10 +152,10 @@ void MusicBannerWheel::InsertNewBanner(int direction) else pSong = arraySongs[0+ (((currentPos+2) - (arraySongs.size()-1)) - 1)]; // wrap around. (it does honestly!) - if( pSong == NULL ) sGraphicPath = (THEME->GetPathToG("fallback banner")); + if( pSong == NULL ) sGraphicPath = (THEME->GetPathToG("Common fallback banner")); else if (pSong->HasBanner()) sGraphicPath = (pSong->GetBannerPath()); else if (PREFSMAN->m_bUseBGIfNoBanner && pSong->HasBackground() ) sGraphicPath = (pSong->GetBannerPath()); - else sGraphicPath = (THEME->GetPathToG("fallback banner")); + else sGraphicPath = (THEME->GetPathToG("Common fallback banner")); elementtoreplace = scrlistPos + 2; if(elementtoreplace > MAXSONGSINBUFFER-1) @@ -197,10 +197,10 @@ void MusicBannerWheel::LoadSongData() { pSong = arraySongs[c]; - if( pSong == NULL ) asGraphicPaths.push_back(THEME->GetPathToG("fallback banner")); + if( pSong == NULL ) asGraphicPaths.push_back(THEME->GetPathToG("Common fallback banner")); else if (pSong->HasBanner()) asGraphicPaths.push_back(pSong->GetBannerPath()); else if (PREFSMAN->m_bUseBGIfNoBanner && pSong->HasBackground() ) asGraphicPaths.push_back(pSong->GetBannerPath()); - else asGraphicPaths.push_back(THEME->GetPathToG("fallback banner")); + else asGraphicPaths.push_back(THEME->GetPathToG("Common fallback banner")); } } } @@ -249,10 +249,10 @@ void MusicBannerWheel::LoadSongData() pSong = arraySongs[arraySongs.size()-1]; } - if( pSong == NULL ) asGraphicPaths.push_back(THEME->GetPathToG("fallback banner")); + if( pSong == NULL ) asGraphicPaths.push_back(THEME->GetPathToG("Common fallback banner")); else if (pSong->HasBanner()) asGraphicPaths.push_back(pSong->GetBannerPath()); else if (PREFSMAN->m_bUseBGIfNoBanner && pSong->HasBackground() ) asGraphicPaths.push_back(pSong->GetBannerPath()); - else asGraphicPaths.push_back(THEME->GetPathToG("fallback banner")); + else asGraphicPaths.push_back(THEME->GetPathToG("Common fallback banner")); } } if(SingleLoad != 1) diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp index bdd95e4992..a4bdf51846 100644 --- a/stepmania/src/Screen.cpp +++ b/stepmania/src/Screen.cpp @@ -276,65 +276,67 @@ Screen* Screen::Create( CString sClassName ) { Screen *ret = NULL; - if( sClassName=="ScreenAppearanceOptions" ) ret = new ScreenAppearanceOptions; - else if( sClassName=="ScreenCaution" ) ret = new ScreenCaution; - else if( sClassName=="ScreenEdit" ) ret = new ScreenEdit; - else if( sClassName=="ScreenEditMenu" ) ret = new ScreenEditMenu; - else if( sClassName=="ScreenEvaluationStage" ) ret = new ScreenEvaluationStage; - else if( sClassName=="ScreenEvaluationSummary" ) ret = new ScreenEvaluationSummary; - else if( sClassName=="ScreenEvaluationNonstop" ) ret = new ScreenEvaluationNonstop; - else if( sClassName=="ScreenEvaluationOni" ) ret = new ScreenEvaluationOni; - else if( sClassName=="ScreenEvaluationEndless" ) ret = new ScreenEvaluationEndless; - else if( sClassName=="ScreenEvaluationBattle" ) ret = new ScreenEvaluationBattle; - else if( sClassName=="ScreenEvaluationRave" ) ret = new ScreenEvaluationRave; - else if( sClassName=="ScreenEz2SelectPlayer" ) ret = new ScreenEz2SelectPlayer; - else if( sClassName=="ScreenSelectMode" ) ret = new ScreenSelectMode; - else if( sClassName=="ScreenGameOver" ) ret = new ScreenGameOver; - else if( sClassName=="ScreenGameplay" ) ret = new ScreenGameplay; - else if( sClassName=="ScreenGraphicOptions" ) ret = new ScreenGraphicOptions; - else if( sClassName=="ScreenHowToPlay" ) ret = new ScreenHowToPlay; - else if( sClassName=="ScreenInputOptions" ) ret = new ScreenInputOptions; - else if( sClassName=="ScreenMachineOptions" ) ret = new ScreenMachineOptions; - else if( sClassName=="ScreenMapControllers" ) ret = new ScreenMapControllers; - else if( sClassName=="ScreenInputOptions" ) ret = new ScreenInputOptions; - else if( sClassName=="ScreenMusicScroll" ) ret = new ScreenMusicScroll; - else if( sClassName=="ScreenPlayerOptions" ) ret = new ScreenPlayerOptions; - else if( sClassName=="ScreenSandbox" ) ret = new ScreenSandbox; - else if( sClassName=="ScreenSelectCourse" ) ret = new ScreenSelectCourse; - else if( sClassName=="ScreenSelectDifficulty" ) ret = new ScreenSelectDifficulty; - else if( sClassName=="ScreenSelectDifficultyEX" ) ret = new ScreenSelectDifficultyEX; - else if( sClassName=="ScreenSelectGame" ) ret = new ScreenSelectGame; - else if( sClassName=="ScreenSelectGroup" ) ret = new ScreenSelectGroup; - else if( sClassName=="ScreenSelectMusic" ) ret = new ScreenSelectMusic; - else if( sClassName=="ScreenSelectStyle5th" ) ret = new ScreenSelectStyle5th; - else if( sClassName=="ScreenSelectStyle" ) ret = new ScreenSelectStyle; - else if( sClassName=="ScreenSongOptions" ) ret = new ScreenSongOptions; - else if( sClassName=="ScreenStage" ) ret = new ScreenStage; - else if( sClassName=="ScreenTest" ) ret = new ScreenTest; - else if( sClassName=="ScreenTestFonts" ) ret = new ScreenTestFonts; - else if( sClassName=="ScreenTestSound" ) ret = new ScreenTestSound; - else if( sClassName=="ScreenTitleMenu" ) ret = new ScreenTitleMenu; - else if( sClassName=="ScreenEz2SelectMusic" ) ret = new ScreenEz2SelectMusic; - else if( sClassName=="ScreenWarning" ) ret = new ScreenWarning; - else if( sClassName=="ScreenRanking" ) ret = new ScreenRanking; - else if( sClassName=="ScreenMemoryCard" ) ret = new ScreenMemoryCard; - else if( sClassName=="ScreenCompany" ) ret = new ScreenCompany; - else if( sClassName=="ScreenIntroMovie" ) ret = new ScreenIntroMovie; - else if( sClassName=="ScreenAlbums" ) ret = new ScreenAlbums; - else if( sClassName=="ScreenLogo" ) ret = new ScreenLogo; - else if( sClassName=="ScreenUnlock" ) ret = new ScreenUnlock; - else if( sClassName=="ScreenDemonstration" ) ret = (ScreenGameplay*)new ScreenDemonstration; - else if( sClassName=="ScreenInstructions" ) ret = new ScreenInstructions; - else if( sClassName=="ScreenNameEntry" ) ret = new ScreenNameEntry; - else if( sClassName=="ScreenJukebox" ) ret = new ScreenJukebox; - else if( sClassName=="ScreenJukeboxMenu" ) ret = new ScreenJukeboxMenu; - else if( sClassName=="ScreenOptionsMenu" ) ret = new ScreenOptionsMenu; - else if( sClassName=="ScreenSoundOptions" ) ret = new ScreenSoundOptions; - else if( sClassName=="ScreenGameplayOptions" ) ret = new ScreenGameplayOptions; - else if( sClassName=="ScreenStyleSplash" ) ret = new ScreenStyleSplash; - else if( sClassName=="ScreenAutogenOptions" ) ret = new ScreenAutogenOptions; - else if( sClassName=="ScreenCredits" ) ret = new ScreenCredits; - else if( sClassName=="ScreenSelectCharacter" ) ret = new ScreenSelectCharacter; +#define IS( name ) (sClassName.CompareNoCase(name)==0) + + if( IS("ScreenAppearanceOptions") ) ret = new ScreenAppearanceOptions; + else if( IS("ScreenCaution") ) ret = new ScreenCaution; + else if( IS("ScreenEdit") ) ret = new ScreenEdit; + else if( IS("ScreenEditMenu") ) ret = new ScreenEditMenu; + else if( IS("ScreenEvaluationStage") ) ret = new ScreenEvaluationStage; + else if( IS("ScreenEvaluationSummary") ) ret = new ScreenEvaluationSummary; + else if( IS("ScreenEvaluationNonstop") ) ret = new ScreenEvaluationNonstop; + else if( IS("ScreenEvaluationOni") ) ret = new ScreenEvaluationOni; + else if( IS("ScreenEvaluationEndless") ) ret = new ScreenEvaluationEndless; + else if( IS("ScreenEvaluationBattle") ) ret = new ScreenEvaluationBattle; + else if( IS("ScreenEvaluationRave") ) ret = new ScreenEvaluationRave; + else if( IS("ScreenEz2SelectPlayer") ) ret = new ScreenEz2SelectPlayer; + else if( IS("ScreenSelectMode") ) ret = new ScreenSelectMode; + else if( IS("ScreenGameOver") ) ret = new ScreenGameOver; + else if( IS("ScreenGameplay") ) ret = new ScreenGameplay; + else if( IS("ScreenGraphicOptions") ) ret = new ScreenGraphicOptions; + else if( IS("ScreenHowToPlay") ) ret = new ScreenHowToPlay; + else if( IS("ScreenInputOptions") ) ret = new ScreenInputOptions; + else if( IS("ScreenMachineOptions") ) ret = new ScreenMachineOptions; + else if( IS("ScreenMapControllers") ) ret = new ScreenMapControllers; + else if( IS("ScreenInputOptions") ) ret = new ScreenInputOptions; + else if( IS("ScreenMusicScroll") ) ret = new ScreenMusicScroll; + else if( IS("ScreenPlayerOptions") ) ret = new ScreenPlayerOptions; + else if( IS("ScreenSandbox") ) ret = new ScreenSandbox; + else if( IS("ScreenSelectCourse") ) ret = new ScreenSelectCourse; + else if( IS("ScreenSelectDifficulty") ) ret = new ScreenSelectDifficulty; + else if( IS("ScreenSelectDifficultyEX") ) ret = new ScreenSelectDifficultyEX; + else if( IS("ScreenSelectGame") ) ret = new ScreenSelectGame; + else if( IS("ScreenSelectGroup") ) ret = new ScreenSelectGroup; + else if( IS("ScreenSelectMusic") ) ret = new ScreenSelectMusic; + else if( IS("ScreenSelectStyle5th") ) ret = new ScreenSelectStyle5th; + else if( IS("ScreenSelectStyle") ) ret = new ScreenSelectStyle; + else if( IS("ScreenSongOptions") ) ret = new ScreenSongOptions; + else if( IS("ScreenStage") ) ret = new ScreenStage; + else if( IS("ScreenTest") ) ret = new ScreenTest; + else if( IS("ScreenTestFonts") ) ret = new ScreenTestFonts; + else if( IS("ScreenTestSound") ) ret = new ScreenTestSound; + else if( IS("ScreenTitleMenu") ) ret = new ScreenTitleMenu; + else if( IS("ScreenEz2SelectMusic") ) ret = new ScreenEz2SelectMusic; + else if( IS("ScreenWarning") ) ret = new ScreenWarning; + else if( IS("ScreenRanking") ) ret = new ScreenRanking; + else if( IS("ScreenMemoryCard") ) ret = new ScreenMemoryCard; + else if( IS("ScreenCompany") ) ret = new ScreenCompany; + else if( IS("ScreenIntroMovie") ) ret = new ScreenIntroMovie; + else if( IS("ScreenAlbums") ) ret = new ScreenAlbums; + else if( IS("ScreenLogo") ) ret = new ScreenLogo; + else if( IS("ScreenUnlock") ) ret = new ScreenUnlock; + else if( IS("ScreenDemonstration") ) ret = (ScreenGameplay*)new ScreenDemonstration; + else if( IS("ScreenInstructions") ) ret = new ScreenInstructions; + else if( IS("ScreenNameEntry") ) ret = new ScreenNameEntry; + else if( IS("ScreenJukebox") ) ret = new ScreenJukebox; + else if( IS("ScreenJukeboxMenu") ) ret = new ScreenJukeboxMenu; + else if( IS("ScreenOptionsMenu") ) ret = new ScreenOptionsMenu; + else if( IS("ScreenSoundOptions") ) ret = new ScreenSoundOptions; + else if( IS("ScreenGameplayOptions") ) ret = new ScreenGameplayOptions; + else if( IS("ScreenStyleSplash") ) ret = new ScreenStyleSplash; + else if( IS("ScreenAutogenOptions") ) ret = new ScreenAutogenOptions; + else if( IS("ScreenCredits") ) ret = new ScreenCredits; + else if( IS("ScreenSelectCharacter") ) ret = new ScreenSelectCharacter; else RageException::Throw( "Invalid Screen class name '%s'", sClassName.GetString() ); return ret; diff --git a/stepmania/src/smpackage/onvertThemeDlg.cpp b/stepmania/src/smpackage/onvertThemeDlg.cpp index e88e65949c..7695c22521 100644 --- a/stepmania/src/smpackage/onvertThemeDlg.cpp +++ b/stepmania/src/smpackage/onvertThemeDlg.cpp @@ -151,7 +151,7 @@ void ConvertThemeDlg::OnButtonConvert() RecursiveRename( sThemeDir, "top edge", "header" ); RecursiveRename( sThemeDir, "\\edit menu", "\\ScreenEditMenu" ); RecursiveRename( sThemeDir, "\\evaluation", "\\ScreenEvaluation" ); - RecursiveRename( sThemeDir, "fallback banner", "Banner fallback" ); + RecursiveRename( sThemeDir, "fallback banner", "Common fallback banner" ); RecursiveRename( sThemeDir, "Fonts\\music scroll", "Fonts\\ScreenMusicScroll titles" ); RecursiveRename( sThemeDir, "fallback background", "Common fallback background" ); RecursiveRename( sThemeDir, "all music banner", "Banner all" );