only remount cards that were in use

This commit is contained in:
Chris Danford
2004-10-03 06:21:16 +00:00
parent 5d954e5659
commit f65c1d3fbb
4 changed files with 25 additions and 7 deletions
+2 -2
View File
@@ -271,7 +271,7 @@ void GameState::PlayersFinalized()
}
if( PREFSMAN->m_bMemoryCardsMountOnlyWhenNecessary )
MEMCARDMAN->UnmountAllCards();
MEMCARDMAN->UnmountAllUsedCards();
}
/* This data is added to each player profile, and to the machine profile per-player. */
@@ -345,7 +345,7 @@ void GameState::EndGame()
if( PREFSMAN->m_bMemoryCardsMountOnlyWhenNecessary )
MEMCARDMAN->MountAllCards();
MEMCARDMAN->UnmountAllUsedCards();
BOOKKEEPER->WriteToDisk();
+19 -2
View File
@@ -222,7 +222,7 @@ void MemoryCardManager::LockCards( bool bLock )
m_pDriver->SetMountThreadState( MemoryCardDriver::detect_and_mount );
}
void MemoryCardManager::MountAllCards()
void MemoryCardManager::TryMountAllCards()
{
FOREACH_PlayerNumber( p )
{
@@ -233,13 +233,30 @@ void MemoryCardManager::MountAllCards()
}
}
void MemoryCardManager::UnmountAllCards()
void MemoryCardManager::MountAllUsedCards()
{
FOREACH_PlayerNumber( p )
{
if( m_Device[p].IsBlank() ) // they don't have an assigned card
continue;
if( m_bTooLate[p] || !m_Device[p].bWriteTestSucceeded )
continue;
m_pDriver->MountAndTestWrite(&m_Device[p], MEM_CARD_MOUNT_POINT[p]);
}
}
void MemoryCardManager::UnmountAllUsedCards()
{
FOREACH_PlayerNumber( p )
{
if( m_Device[p].IsBlank() ) // they don't have an assigned card
continue;
if( m_bTooLate[p] || !m_Device[p].bWriteTestSucceeded )
continue;
m_pDriver->Unmount(&m_Device[p], MEM_CARD_MOUNT_POINT[p]);
}
}
+3 -2
View File
@@ -27,8 +27,9 @@ public:
// CString GetOsMountDir( PlayerNumber pn ); // only valid when state = ready
void LockCards( bool bLock ); // prevent removing or changing of memory cards
void MountAllCards();
void UnmountAllCards();
void TryMountAllCards();
void MountAllUsedCards();
void UnmountAllUsedCards();
void MountCard( PlayerNumber pn );
void UnmountCard( PlayerNumber pn );
+1 -1
View File
@@ -10,7 +10,7 @@
static void SaveMachineStatsToFirstMemCard()
{
MEMCARDMAN->MountAllCards();
MEMCARDMAN->TryMountAllCards();
FOREACH_PlayerNumber( pn )
{