fix "SaveMachineStats fails because cards not mounted"
This commit is contained in:
@@ -217,13 +217,23 @@ void MemoryCardManager::LockCards( bool bLock )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if( !bWasLocked && bLock )
|
if( !bWasLocked && bLock )
|
||||||
m_pDriver->SetMountThreadState( MemoryCardDriver::detect_and_dont_mount );
|
m_pDriver->SetMountThreadState( MemoryCardDriver::detect_and_dont_mount );
|
||||||
else
|
else
|
||||||
m_pDriver->SetMountThreadState( MemoryCardDriver::detect_and_mount );
|
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()
|
void MemoryCardManager::FlushAndReset()
|
||||||
{
|
{
|
||||||
FOREACH_PlayerNumber( p )
|
FOREACH_PlayerNumber( p )
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ public:
|
|||||||
// CString GetOsMountDir( PlayerNumber pn ); // only valid when state = ready
|
// CString GetOsMountDir( PlayerNumber pn ); // only valid when state = ready
|
||||||
|
|
||||||
void LockCards( bool bLock ); // prevent removing or changing of memory cards
|
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 PauseMountingThread(); // call this before reading or writing to memory card
|
||||||
void UnPauseMountingThread(); // call this when done 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 );
|
SaveEditableDataToDir( sDir );
|
||||||
|
|
||||||
// Save stats.xml
|
// Save stats.xml
|
||||||
{
|
|
||||||
CString fn = sDir + STATS_XML;
|
CString fn = sDir + STATS_XML;
|
||||||
|
|
||||||
XNode xml;
|
XNode xml;
|
||||||
@@ -688,7 +687,6 @@ bool Profile::SaveAllToDir( CString sDir, bool bSignData ) const
|
|||||||
CString sDontShareFile = sDir + DONT_SHARE_SIG;
|
CString sDontShareFile = sDir + DONT_SHARE_SIG;
|
||||||
CryptManager::SignFileToFile(sStatsXmlSigFile, sDontShareFile);
|
CryptManager::SignFileToFile(sStatsXmlSigFile, sDontShareFile);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
SaveStatsWebPageToDir( sDir );
|
SaveStatsWebPageToDir( sDir );
|
||||||
|
|
||||||
@@ -696,7 +694,7 @@ bool Profile::SaveAllToDir( CString sDir, bool bSignData ) const
|
|||||||
FILEMAN->CreateDir( sDir + EDITS_SUBDIR );
|
FILEMAN->CreateDir( sDir + EDITS_SUBDIR );
|
||||||
FILEMAN->CreateDir( sDir + SCREENSHOTS_SUBDIR );
|
FILEMAN->CreateDir( sDir + SCREENSHOTS_SUBDIR );
|
||||||
|
|
||||||
return true;
|
return bSaved;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Profile::SaveEditableDataToDir( CString sDir ) const
|
void Profile::SaveEditableDataToDir( CString sDir ) const
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
static void SaveMachineStatsToFirstMemCard()
|
static void SaveMachineStatsToFirstMemCard()
|
||||||
{
|
{
|
||||||
|
MEMCARDMAN->MountAllCards();
|
||||||
|
|
||||||
FOREACH_PlayerNumber( pn )
|
FOREACH_PlayerNumber( pn )
|
||||||
{
|
{
|
||||||
if( MEMCARDMAN->GetCardState(pn) != MEMORY_CARD_STATE_READY )
|
if( MEMCARDMAN->GetCardState(pn) != MEMORY_CARD_STATE_READY )
|
||||||
@@ -19,9 +21,11 @@ static void SaveMachineStatsToFirstMemCard()
|
|||||||
sDir += "MachineProfile/";
|
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) );
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user