From c43635b6b3dd82a547239ec11f2801f4cc60e208 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 19 Feb 2010 16:05:50 -0600 Subject: [PATCH] efa81bc: don't filter NoteSkins at a PrefsManager/NoteSkinManager level. Leave the NoteSkin sorting and filtering up to the theme. [Chris Danford] ScreenWithMenuElements.cpp - add Cancel command, so actors can react to Cancel. GameState.cpp - cleanup --- src/GameState.cpp | 1 - src/NoteSkinManager.cpp | 13 ++----------- src/NoteSkinManager.h | 2 +- src/OptionRow.cpp | 2 +- src/PrefsManager.cpp | 3 ++- src/PrefsManager.h | 1 - src/ScreenWithMenuElements.cpp | 2 ++ 7 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/GameState.cpp b/src/GameState.cpp index 60ceaf568f..8683c947fa 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -741,7 +741,6 @@ void GameState::FinishStage() { // Increment the stage counter. const int iOldStageIndex = m_iCurrentStageIndex; - ++m_iCurrentStageIndex; m_iNumStagesOfThisSong = 0; diff --git a/src/NoteSkinManager.cpp b/src/NoteSkinManager.cpp index 309f558df0..cdd23e707e 100644 --- a/src/NoteSkinManager.cpp +++ b/src/NoteSkinManager.cpp @@ -189,18 +189,9 @@ void NoteSkinManager::GetNoteSkinNames( vector &AddTo ) GetNoteSkinNames( GAMESTATE->m_pCurGame, AddTo ); } -void NoteSkinManager::GetNoteSkinNames( const Game* pGame, vector &AddTo, bool bFilterDefault ) +void NoteSkinManager::GetNoteSkinNames( const Game* pGame, vector &AddTo ) { GetAllNoteSkinNamesForGame( pGame, AddTo ); - - /* Move "default" to the front if it exists. */ - vector::iterator iter = find( AddTo.begin(), AddTo.end(), GAME_BASE_NOTESKIN_NAME ); - if( iter != AddTo.end() ) - { - AddTo.erase( iter ); - if( !bFilterDefault || !PREFSMAN->m_bHideDefaultNoteSkin ) - AddTo.insert( AddTo.begin(), GAME_BASE_NOTESKIN_NAME ); - } } @@ -225,7 +216,7 @@ void NoteSkinManager::GetAllNoteSkinNamesForGame( const Game *pGame, vector::const_iterator iter = g_mapNameToData.begin(); iter != g_mapNameToData.end(); ++iter ) { diff --git a/src/NoteSkinManager.h b/src/NoteSkinManager.h index ee9cd78e1c..42b94c9457 100644 --- a/src/NoteSkinManager.h +++ b/src/NoteSkinManager.h @@ -18,7 +18,7 @@ public: ~NoteSkinManager(); void RefreshNoteSkinData( const Game* game ); - void GetNoteSkinNames( const Game* game, vector &AddTo, bool bFilterDefault=true ); + void GetNoteSkinNames( const Game* game, vector &AddTo ); void GetNoteSkinNames( vector &AddTo ); // looks up current const Game* in GAMESTATE bool DoesNoteSkinExist( const RString &sNoteSkin ); // looks up current const Game* in GAMESTATE bool DoNoteSkinsExistForGame( const Game *pGame ); diff --git a/src/OptionRow.cpp b/src/OptionRow.cpp index ba2e6a1252..3d83d90a96 100644 --- a/src/OptionRow.cpp +++ b/src/OptionRow.cpp @@ -147,7 +147,7 @@ void OptionRow::LoadExit() void OptionRow::ChoicesChanged( RowType type ) { - ASSERT( !m_pHand->m_Def.m_vsChoices.empty() ); + ASSERT_M( !m_pHand->m_Def.m_vsChoices.empty(), m_pHand->m_Def.m_sName + " has no choices" ); // Remove the NextRow marker before reloading choices if( m_pHand->m_Def.m_vsChoices[0] == NEXT_ROW_NAME ) diff --git a/src/PrefsManager.cpp b/src/PrefsManager.cpp index bf823177ce..d05202c235 100644 --- a/src/PrefsManager.cpp +++ b/src/PrefsManager.cpp @@ -239,7 +239,6 @@ PrefsManager::PrefsManager() : m_fCenterImageAddHeight ( "CenterImageAddHeight", 0 ), m_AttractSoundFrequency ( "AttractSoundFrequency", ASF_EVERY_TIME ), m_bAllowExtraStage ( "AllowExtraStage", true ), - m_bHideDefaultNoteSkin ( "HideDefaultNoteSkin", false ), m_iMaxHighScoresPerListForMachine ( "MaxHighScoresPerListForMachine", 10 ), m_iMaxHighScoresPerListForPlayer ( "MaxHighScoresPerListForPlayer", 3 ), m_bAllowMultipleHighScoreWithSameName ( "AllowMultipleHighScoreWithSameName", true ), @@ -439,6 +438,7 @@ void PrefsManager::ReadGamePrefsFromIni( const RString &sIni ) RString sGame = section->GetName().Right( section->GetName().length() - GAME_SECTION_PREFIX.length() ); GamePrefs &gp = m_mapGameNameToGamePrefs[ sGame ]; + // todo: read more prefs here? -aj ini.GetValue( section->GetName(), "Announcer", gp.m_sAnnouncer ); ini.GetValue( section->GetName(), "Theme", gp.m_sTheme ); ini.GetValue( section->GetName(), "DefaultModifiers", gp.m_sDefaultModifiers ); @@ -486,6 +486,7 @@ void PrefsManager::SavePrefsToIni( IniFile &ini ) { RString sSection = "Game-" + RString( iter->first ); + // todo: write more values here? -aj ini.SetValue( sSection, "Announcer", iter->second.m_sAnnouncer ); ini.SetValue( sSection, "Theme", iter->second.m_sTheme ); ini.SetValue( sSection, "DefaultModifiers", iter->second.m_sDefaultModifiers ); diff --git a/src/PrefsManager.h b/src/PrefsManager.h index 09ac47cad4..4db54c9598 100644 --- a/src/PrefsManager.h +++ b/src/PrefsManager.h @@ -225,7 +225,6 @@ public: Preference m_fCenterImageAddHeight; Preference m_AttractSoundFrequency; Preference m_bAllowExtraStage; - Preference m_bHideDefaultNoteSkin; Preference m_iMaxHighScoresPerListForMachine; Preference m_iMaxHighScoresPerListForPlayer; Preference m_bAllowMultipleHighScoreWithSameName; diff --git a/src/ScreenWithMenuElements.cpp b/src/ScreenWithMenuElements.cpp index 3e58aa5da8..3c70d5187e 100644 --- a/src/ScreenWithMenuElements.cpp +++ b/src/ScreenWithMenuElements.cpp @@ -313,6 +313,8 @@ void ScreenWithMenuElements::Cancel( ScreenMessage smSendWhenDone ) return; } + this->PlayCommand( "Cancel" ); + if( m_Cancel.IsTransitioning() ) return; // ignore