allow loading profile without loading edits

This commit is contained in:
Glenn Maynard
2007-04-24 16:30:23 +00:00
parent 3ddb737cf2
commit 95fb191fb4
6 changed files with 26 additions and 13 deletions
+2 -2
View File
@@ -438,7 +438,7 @@ void GameState::BeginGame()
MEMCARDMAN->UnlockCard( pn ); MEMCARDMAN->UnlockCard( pn );
} }
void GameState::LoadProfiles() void GameState::LoadProfiles( bool bLoadEdits )
{ {
/* Unlock any cards that we might want to load. */ /* Unlock any cards that we might want to load. */
FOREACH_HumanPlayer( pn ) FOREACH_HumanPlayer( pn )
@@ -457,7 +457,7 @@ void GameState::LoadProfiles()
continue; continue;
MEMCARDMAN->MountCard( pn ); MEMCARDMAN->MountCard( pn );
PROFILEMAN->LoadFirstAvailableProfile( pn ); // load full profile PROFILEMAN->LoadFirstAvailableProfile( pn, bLoadEdits ); // load full profile
MEMCARDMAN->UnmountCard( pn ); MEMCARDMAN->UnmountCard( pn );
LoadCurrentSettingsFromProfile( pn ); LoadCurrentSettingsFromProfile( pn );
+1 -1
View File
@@ -43,7 +43,7 @@ public:
void JoinPlayer( PlayerNumber pn ); void JoinPlayer( PlayerNumber pn );
void UnjoinPlayer( PlayerNumber pn ); void UnjoinPlayer( PlayerNumber pn );
bool JoinInput( PlayerNumber pn ); bool JoinInput( PlayerNumber pn );
void LoadProfiles(); void LoadProfiles( bool bLoadEdits = true );
void SaveProfiles(); void SaveProfiles();
bool HaveProfileToLoad(); bool HaveProfileToLoad();
bool HaveProfileToSave(); bool HaveProfileToSave();
+6 -3
View File
@@ -210,7 +210,7 @@ void ProfileManager::GetMemoryCardProfileDirectoriesToTry( vector<RString> &asDi
split( g_sMemoryCardProfileImportSubdirs, ";", asDirsToTry, true ); split( g_sMemoryCardProfileImportSubdirs, ";", asDirsToTry, true );
} }
bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn ) bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits )
{ {
UnloadProfile( pn ); UnloadProfile( pn );
@@ -253,6 +253,8 @@ bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn )
m_sProfileDir[pn] = MEM_CARD_MOUNT_POINT[pn] + (RString)PREFSMAN->m_sMemoryCardProfileSubdir + "/"; m_sProfileDir[pn] = MEM_CARD_MOUNT_POINT[pn] + (RString)PREFSMAN->m_sMemoryCardProfileSubdir + "/";
/* Load edits from all fallback directories, newest first. */ /* Load edits from all fallback directories, newest first. */
if( bLoadEdits )
{
for( unsigned i = 0; i < asDirsToTry.size(); ++i ) for( unsigned i = 0; i < asDirsToTry.size(); ++i )
{ {
const RString &sSubdir = asDirsToTry[i]; const RString &sSubdir = asDirsToTry[i];
@@ -260,13 +262,14 @@ bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn )
SONGMAN->LoadAllFromProfileDir( sDir, (ProfileSlot) pn ); SONGMAN->LoadAllFromProfileDir( sDir, (ProfileSlot) pn );
} }
}
return true; // If a card is inserted, we want to use the memory card to save - even if the Profile load failed. return true; // If a card is inserted, we want to use the memory card to save - even if the Profile load failed.
} }
bool ProfileManager::LoadFirstAvailableProfile( PlayerNumber pn ) bool ProfileManager::LoadFirstAvailableProfile( PlayerNumber pn, bool bLoadEdits )
{ {
if( LoadProfileFromMemoryCard(pn) ) if( LoadProfileFromMemoryCard(pn, bLoadEdits) )
return true; return true;
if( LoadLocalProfileFromMachine(pn) ) if( LoadLocalProfileFromMachine(pn) )
+2 -2
View File
@@ -46,9 +46,9 @@ public:
int GetNumLocalProfiles() const; int GetNumLocalProfiles() const;
bool LoadFirstAvailableProfile( PlayerNumber pn ); // memory card or local profile bool LoadFirstAvailableProfile( PlayerNumber pn, bool bLoadEdits = true ); // memory card or local profile
bool LoadLocalProfileFromMachine( PlayerNumber pn ); bool LoadLocalProfileFromMachine( PlayerNumber pn );
bool LoadProfileFromMemoryCard( PlayerNumber pn ); bool LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits = true );
bool FastLoadProfileNameFromMemoryCard( RString sRootDir, RString &sName ) const; bool FastLoadProfileNameFromMemoryCard( RString sRootDir, RString &sName ) const;
void SaveAllProfiles() const; void SaveAllProfiles() const;
bool SaveProfile( PlayerNumber pn ) const; bool SaveProfile( PlayerNumber pn ) const;
+8 -1
View File
@@ -6,6 +6,13 @@
REGISTER_SCREEN_CLASS( ScreenProfileLoad ); REGISTER_SCREEN_CLASS( ScreenProfileLoad );
void ScreenProfileLoad::Init()
{
LOAD_EDITS.Load( m_sName, "LoadEdits" );
ScreenWithMenuElements::Init();
}
void ScreenProfileLoad::BeginScreen() void ScreenProfileLoad::BeginScreen()
{ {
m_bHaveProfileToLoad = GAMESTATE->HaveProfileToLoad(); m_bHaveProfileToLoad = GAMESTATE->HaveProfileToLoad();
@@ -27,7 +34,7 @@ void ScreenProfileLoad::Continue()
{ {
if( m_bHaveProfileToLoad ) if( m_bHaveProfileToLoad )
{ {
GAMESTATE->LoadProfiles(); GAMESTATE->LoadProfiles( LOAD_EDITS );
SCREENMAN->ZeroNextUpdate(); SCREENMAN->ZeroNextUpdate();
} }
+3
View File
@@ -6,6 +6,7 @@
class ScreenProfileLoad: public ScreenWithMenuElements class ScreenProfileLoad: public ScreenWithMenuElements
{ {
public: public:
virtual void Init();
virtual void BeginScreen(); virtual void BeginScreen();
virtual void Input( const InputEventPlus &input ); virtual void Input( const InputEventPlus &input );
void Continue(); void Continue();
@@ -13,6 +14,8 @@ public:
virtual void PushSelf( lua_State *L ); virtual void PushSelf( lua_State *L );
bool m_bHaveProfileToLoad; bool m_bHaveProfileToLoad;
ThemeMetric<bool> LOAD_EDITS;
}; };
#endif #endif