From 1d5e04b0248fd5cb2a413a2c1a57fd57eb542ec5 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 5 Sep 2004 23:45:57 +0000 Subject: [PATCH] real fix for Windows memcards --- stepmania/src/MemoryCardManager.cpp | 3 --- stepmania/src/arch/MemoryCard/MemoryCardDriver.cpp | 6 ++++++ stepmania/src/arch/MemoryCard/MemoryCardDriver.h | 3 ++- .../arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/stepmania/src/MemoryCardManager.cpp b/stepmania/src/MemoryCardManager.cpp index 8250c1319b..5bc4f75c38 100644 --- a/stepmania/src/MemoryCardManager.cpp +++ b/stepmania/src/MemoryCardManager.cpp @@ -43,9 +43,6 @@ void MemoryCardManager::Update( float fDelta ) vector vConnects; // fill these in below vector vDisconnects; // fill these in below - FOREACH( UsbStorageDevice, m_vStorageDevices, d ) - FixSlashesInPlace( d->sOsMountDir ); - // check for disconnects FOREACH( UsbStorageDevice, vOld, old ) { diff --git a/stepmania/src/arch/MemoryCard/MemoryCardDriver.cpp b/stepmania/src/arch/MemoryCard/MemoryCardDriver.cpp index 7eb23e4ab2..d953afb4a8 100644 --- a/stepmania/src/arch/MemoryCard/MemoryCardDriver.cpp +++ b/stepmania/src/arch/MemoryCard/MemoryCardDriver.cpp @@ -18,6 +18,12 @@ bool UsbStorageDevice::operator==(const UsbStorageDevice& other) const #undef COMPARE } +void UsbStorageDevice::SetOsMountDir( const CString &s ) +{ + sOsMountDir = s; + FixSlashesInPlace( sOsMountDir ); +} + MemoryCardDriver *MakeMemoryCardDriver() { diff --git a/stepmania/src/arch/MemoryCard/MemoryCardDriver.h b/stepmania/src/arch/MemoryCard/MemoryCardDriver.h index aeeafe5f22..fef26656b0 100644 --- a/stepmania/src/arch/MemoryCard/MemoryCardDriver.h +++ b/stepmania/src/arch/MemoryCard/MemoryCardDriver.h @@ -30,7 +30,8 @@ struct UsbStorageDevice bool bWriteTestSucceeded; // only valid if bNeedsWriteTest == false CString sName; // Name in the profile on the memory card. - bool IsBlank() { return sOsMountDir.empty(); } + bool IsBlank() const { return sOsMountDir.empty(); } + void SetOsMountDir( const CString &s ); bool operator==(const UsbStorageDevice& other) const; }; diff --git a/stepmania/src/arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp b/stepmania/src/arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp index af255d3d29..4bca20957f 100644 --- a/stepmania/src/arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp +++ b/stepmania/src/arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp @@ -95,7 +95,7 @@ void MemoryCardDriverThreaded_Windows::MountThreadDoOneUpdate() continue; UsbStorageDevice usbd; - usbd.sOsMountDir = sDrive; + usbd.SetOsMountDir( sDrive ); usbd.bWriteTestSucceeded = TestWrite( sDrive ); // read name this->Mount( &usbd, TEMP_MOUNT_POINT );