allow loading profile without loading edits
This commit is contained in:
@@ -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 );
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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,20 +253,23 @@ 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. */
|
||||||
for( unsigned i = 0; i < asDirsToTry.size(); ++i )
|
if( bLoadEdits )
|
||||||
{
|
{
|
||||||
const RString &sSubdir = asDirsToTry[i];
|
for( unsigned i = 0; i < asDirsToTry.size(); ++i )
|
||||||
RString sDir = MEM_CARD_MOUNT_POINT[pn] + sSubdir + "/";
|
{
|
||||||
|
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.
|
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) )
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user