From f4f02e23a2856d3e01f09e1d485fb9a807ea4f26 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sat, 9 Oct 2004 09:57:12 +0000 Subject: [PATCH] show a different string for "card inserted, but we don't yet know the name on the card" --- stepmania/src/MemoryCardManager.cpp | 5 +++++ stepmania/src/MemoryCardManager.h | 3 ++- stepmania/src/ScreenManager.cpp | 5 ++++- stepmania/src/arch/MemoryCard/MemoryCardDriver.h | 2 ++ .../src/arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp | 1 + 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/stepmania/src/MemoryCardManager.cpp b/stepmania/src/MemoryCardManager.cpp index 4949fedf70..5b46e9bed9 100644 --- a/stepmania/src/MemoryCardManager.cpp +++ b/stepmania/src/MemoryCardManager.cpp @@ -296,6 +296,11 @@ bool MemoryCardManager::PathIsMemCard( CString sDir ) const return false; } +bool MemoryCardManager::IsNameAvailable( PlayerNumber pn ) const +{ + return m_Device[pn].bIsNameAvailable; +} + CString MemoryCardManager::GetName( PlayerNumber pn ) const { return m_Device[pn].sName; diff --git a/stepmania/src/MemoryCardManager.h b/stepmania/src/MemoryCardManager.h index b77a78d72e..9586f9b964 100644 --- a/stepmania/src/MemoryCardManager.h +++ b/stepmania/src/MemoryCardManager.h @@ -39,7 +39,8 @@ public: void FlushAndReset(); // force all files to be flushed to mounted memory cards bool PathIsMemCard( CString sDir ) const; - + + bool IsNameAvailable( PlayerNumber pn ) const; CString GetName( PlayerNumber pn ) const; protected: diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index 681012e43a..41a1e58fc7 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -49,6 +49,7 @@ ScreenManager* SCREENMAN = NULL; // global and accessable from anywhere in our p #define CREDITS_CARD_ERROR THEME->GetMetric ("ScreenSystemLayer","CreditsCardError") #define CREDITS_CARD_TOO_LATE THEME->GetMetric ("ScreenSystemLayer","CreditsCardTooLate") #define CREDITS_CARD_NO_NAME THEME->GetMetric ("ScreenSystemLayer","CreditsCardNoName") +#define CREDITS_CARD_READY THEME->GetMetric ("ScreenSystemLayer","CreditsCardReady") #define CREDITS_FREE_PLAY THEME->GetMetric ("ScreenSystemLayer","CreditsFreePlay") #define CREDITS_CREDITS THEME->GetMetric ("ScreenSystemLayer","CreditsCredits") #define CREDITS_NOT_PRESENT THEME->GetMetric ("ScreenSystemLayer","CreditsNotPresent") @@ -224,9 +225,11 @@ void ScreenSystemLayer::RefreshCreditsMessages() // Prefer the name of the profile over the name of the card. else if( pProfile ) sCredits = pProfile->GetDisplayName(); + else if( !MEMCARDMAN->IsNameAvailable(p) ) + sCredits = CREDITS_CARD_READY; else if( !MEMCARDMAN->GetName(p).empty() ) sCredits = MEMCARDMAN->GetName(p); - else + else sCredits = CREDITS_CARD_NO_NAME; break; default: diff --git a/stepmania/src/arch/MemoryCard/MemoryCardDriver.h b/stepmania/src/arch/MemoryCard/MemoryCardDriver.h index cf06e9aa3c..e597af974b 100644 --- a/stepmania/src/arch/MemoryCard/MemoryCardDriver.h +++ b/stepmania/src/arch/MemoryCard/MemoryCardDriver.h @@ -17,6 +17,7 @@ struct UsbStorageDevice sOsMountDir = ""; bNeedsWriteTest = true; bWriteTestSucceeded = false; + bIsNameAvailable = false; sName = ""; idVendor = 0; idProduct = 0; @@ -32,6 +33,7 @@ struct UsbStorageDevice CString sOsMountDir; // WITHOUT trailing slash bool bNeedsWriteTest; bool bWriteTestSucceeded; // only valid if bNeedsWriteTest == false + bool bIsNameAvailable; // Name in the profile on the memory card. CString sName; // Name in the profile on the memory card. int idVendor; int idProduct; diff --git a/stepmania/src/arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp b/stepmania/src/arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp index 4bca20957f..a1cafc28d5 100644 --- a/stepmania/src/arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp +++ b/stepmania/src/arch/MemoryCard/MemoryCardDriverThreaded_Windows.cpp @@ -103,6 +103,7 @@ void MemoryCardDriverThreaded_Windows::MountThreadDoOneUpdate() Profile profile; CString sProfileDir = TEMP_MOUNT_POINT + PREFSMAN->m_sMemoryCardProfileSubdir + '/'; profile.LoadEditableDataFromDir( sProfileDir ); + usbd.bIsNameAvailable = true; usbd.sName = profile.GetDisplayName(); UnmountMountPoint( TEMP_MOUNT_POINT );