fix "SaveMachineStats fails because cards not mounted"
This commit is contained in:
@@ -217,13 +217,23 @@ void MemoryCardManager::LockCards( bool bLock )
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if( !bWasLocked && bLock )
|
||||
m_pDriver->SetMountThreadState( MemoryCardDriver::detect_and_dont_mount );
|
||||
else
|
||||
m_pDriver->SetMountThreadState( MemoryCardDriver::detect_and_mount );
|
||||
}
|
||||
|
||||
void MemoryCardManager::MountAllCards()
|
||||
{
|
||||
FOREACH_PlayerNumber( p )
|
||||
{
|
||||
if( m_Device[p].IsBlank() ) // they don't have an assigned card
|
||||
continue;
|
||||
|
||||
m_pDriver->MountAndTestWrite(&m_Device[p], MEM_CARD_MOUNT_POINT[p]);
|
||||
}
|
||||
}
|
||||
|
||||
void MemoryCardManager::FlushAndReset()
|
||||
{
|
||||
FOREACH_PlayerNumber( p )
|
||||
|
||||
@@ -27,6 +27,7 @@ public:
|
||||
// CString GetOsMountDir( PlayerNumber pn ); // only valid when state = ready
|
||||
|
||||
void LockCards( bool bLock ); // prevent removing or changing of memory cards
|
||||
void MountAllCards();
|
||||
|
||||
void PauseMountingThread(); // call this before reading or writing to memory card
|
||||
void UnPauseMountingThread(); // call this when done reading or writing to memory card
|
||||
|
||||
@@ -653,7 +653,6 @@ bool Profile::SaveAllToDir( CString sDir, bool bSignData ) const
|
||||
SaveEditableDataToDir( sDir );
|
||||
|
||||
// Save stats.xml
|
||||
{
|
||||
CString fn = sDir + STATS_XML;
|
||||
|
||||
XNode xml;
|
||||
@@ -688,7 +687,6 @@ bool Profile::SaveAllToDir( CString sDir, bool bSignData ) const
|
||||
CString sDontShareFile = sDir + DONT_SHARE_SIG;
|
||||
CryptManager::SignFileToFile(sStatsXmlSigFile, sDontShareFile);
|
||||
}
|
||||
}
|
||||
|
||||
SaveStatsWebPageToDir( sDir );
|
||||
|
||||
@@ -696,7 +694,7 @@ bool Profile::SaveAllToDir( CString sDir, bool bSignData ) const
|
||||
FILEMAN->CreateDir( sDir + EDITS_SUBDIR );
|
||||
FILEMAN->CreateDir( sDir + SCREENSHOTS_SUBDIR );
|
||||
|
||||
return true;
|
||||
return bSaved;
|
||||
}
|
||||
|
||||
void Profile::SaveEditableDataToDir( CString sDir ) const
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
static void SaveMachineStatsToFirstMemCard()
|
||||
{
|
||||
MEMCARDMAN->MountAllCards();
|
||||
|
||||
FOREACH_PlayerNumber( pn )
|
||||
{
|
||||
if( MEMCARDMAN->GetCardState(pn) != MEMORY_CARD_STATE_READY )
|
||||
@@ -19,9 +21,11 @@ static void SaveMachineStatsToFirstMemCard()
|
||||
sDir += "MachineProfile/";
|
||||
|
||||
|
||||
PROFILEMAN->GetMachineProfile()->SaveAllToDir( sDir, PREFSMAN->m_bSignProfileData );
|
||||
|
||||
bool bSaved = PROFILEMAN->GetMachineProfile()->SaveAllToDir( sDir, PREFSMAN->m_bSignProfileData );
|
||||
if( bSaved )
|
||||
SCREENMAN->SystemMessage( ssprintf("Machine stats saved to P%d card.",pn+1) );
|
||||
else
|
||||
SCREENMAN->SystemMessage( ssprintf("Error saving stats to P%d card.",pn+1) );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user