allow loading profile without loading edits
This commit is contained in:
@@ -438,7 +438,7 @@ void GameState::BeginGame()
|
||||
MEMCARDMAN->UnlockCard( pn );
|
||||
}
|
||||
|
||||
void GameState::LoadProfiles()
|
||||
void GameState::LoadProfiles( bool bLoadEdits )
|
||||
{
|
||||
/* Unlock any cards that we might want to load. */
|
||||
FOREACH_HumanPlayer( pn )
|
||||
@@ -457,7 +457,7 @@ void GameState::LoadProfiles()
|
||||
continue;
|
||||
|
||||
MEMCARDMAN->MountCard( pn );
|
||||
PROFILEMAN->LoadFirstAvailableProfile( pn ); // load full profile
|
||||
PROFILEMAN->LoadFirstAvailableProfile( pn, bLoadEdits ); // load full profile
|
||||
MEMCARDMAN->UnmountCard( pn );
|
||||
|
||||
LoadCurrentSettingsFromProfile( pn );
|
||||
|
||||
@@ -43,7 +43,7 @@ public:
|
||||
void JoinPlayer( PlayerNumber pn );
|
||||
void UnjoinPlayer( PlayerNumber pn );
|
||||
bool JoinInput( PlayerNumber pn );
|
||||
void LoadProfiles();
|
||||
void LoadProfiles( bool bLoadEdits = true );
|
||||
void SaveProfiles();
|
||||
bool HaveProfileToLoad();
|
||||
bool HaveProfileToSave();
|
||||
|
||||
@@ -210,7 +210,7 @@ void ProfileManager::GetMemoryCardProfileDirectoriesToTry( vector<RString> &asDi
|
||||
split( g_sMemoryCardProfileImportSubdirs, ";", asDirsToTry, true );
|
||||
}
|
||||
|
||||
bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn )
|
||||
bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits )
|
||||
{
|
||||
UnloadProfile( pn );
|
||||
|
||||
@@ -253,20 +253,23 @@ bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn )
|
||||
m_sProfileDir[pn] = MEM_CARD_MOUNT_POINT[pn] + (RString)PREFSMAN->m_sMemoryCardProfileSubdir + "/";
|
||||
|
||||
/* Load edits from all fallback directories, newest first. */
|
||||
for( unsigned i = 0; i < asDirsToTry.size(); ++i )
|
||||
if( bLoadEdits )
|
||||
{
|
||||
const RString &sSubdir = asDirsToTry[i];
|
||||
RString sDir = MEM_CARD_MOUNT_POINT[pn] + sSubdir + "/";
|
||||
for( unsigned i = 0; i < asDirsToTry.size(); ++i )
|
||||
{
|
||||
const RString &sSubdir = asDirsToTry[i];
|
||||
RString sDir = MEM_CARD_MOUNT_POINT[pn] + sSubdir + "/";
|
||||
|
||||
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.
|
||||
}
|
||||
|
||||
bool ProfileManager::LoadFirstAvailableProfile( PlayerNumber pn )
|
||||
bool ProfileManager::LoadFirstAvailableProfile( PlayerNumber pn, bool bLoadEdits )
|
||||
{
|
||||
if( LoadProfileFromMemoryCard(pn) )
|
||||
if( LoadProfileFromMemoryCard(pn, bLoadEdits) )
|
||||
return true;
|
||||
|
||||
if( LoadLocalProfileFromMachine(pn) )
|
||||
|
||||
@@ -46,9 +46,9 @@ public:
|
||||
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 LoadProfileFromMemoryCard( PlayerNumber pn );
|
||||
bool LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits = true );
|
||||
bool FastLoadProfileNameFromMemoryCard( RString sRootDir, RString &sName ) const;
|
||||
void SaveAllProfiles() const;
|
||||
bool SaveProfile( PlayerNumber pn ) const;
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
|
||||
REGISTER_SCREEN_CLASS( ScreenProfileLoad );
|
||||
|
||||
void ScreenProfileLoad::Init()
|
||||
{
|
||||
LOAD_EDITS.Load( m_sName, "LoadEdits" );
|
||||
|
||||
ScreenWithMenuElements::Init();
|
||||
}
|
||||
|
||||
void ScreenProfileLoad::BeginScreen()
|
||||
{
|
||||
m_bHaveProfileToLoad = GAMESTATE->HaveProfileToLoad();
|
||||
@@ -27,7 +34,7 @@ void ScreenProfileLoad::Continue()
|
||||
{
|
||||
if( m_bHaveProfileToLoad )
|
||||
{
|
||||
GAMESTATE->LoadProfiles();
|
||||
GAMESTATE->LoadProfiles( LOAD_EDITS );
|
||||
SCREENMAN->ZeroNextUpdate();
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
class ScreenProfileLoad: public ScreenWithMenuElements
|
||||
{
|
||||
public:
|
||||
virtual void Init();
|
||||
virtual void BeginScreen();
|
||||
virtual void Input( const InputEventPlus &input );
|
||||
void Continue();
|
||||
@@ -13,6 +14,8 @@ public:
|
||||
virtual void PushSelf( lua_State *L );
|
||||
|
||||
bool m_bHaveProfileToLoad;
|
||||
|
||||
ThemeMetric<bool> LOAD_EDITS;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user