From 6928e8e8642ab6eb8ac1c5553aaaffd112a82db8 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Fri, 23 Apr 2004 06:35:24 +0000 Subject: [PATCH] ugly hack to fix "mem card name not updated if card left in between games" --- stepmania/src/GameState.cpp | 4 ++++ stepmania/src/MemoryCardManager.cpp | 21 ++++++++++++++++++++- stepmania/src/MemoryCardManager.h | 1 + stepmania/src/Screen.cpp | 10 +++++----- 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index 268677537f..cad69aa8bb 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -179,6 +179,8 @@ void GameState::BeginGame() // play attract on the ending screen, then in one more whole attract // sequence after the game is over (even if attract sounds are set to off) m_iNumTimesThroughAttract = -2; + + MEMCARDMAN->RefreshNames(); } void CheckStageStats( const StageStats &ss, int p ) @@ -230,6 +232,8 @@ void GameState::PlayersFinalized() if( m_pCurSong == NULL && pProfile->m_pLastSong ) m_pCurSong = pProfile->m_pLastSong; } + + } /* This data is added to each player profile, and to the machine profile per-player. */ diff --git a/stepmania/src/MemoryCardManager.cpp b/stepmania/src/MemoryCardManager.cpp index ae12356c17..e66ab258e7 100644 --- a/stepmania/src/MemoryCardManager.cpp +++ b/stepmania/src/MemoryCardManager.cpp @@ -261,7 +261,7 @@ match: void MemoryCardManager::FlushAllDisks() { - for( int p=0; pm_sMemoryCardProfileSubdir + '/'; + m_Device[p].sName = Profile::GetProfileDisplayNameFromDir( sProfileDir ); + } +} diff --git a/stepmania/src/MemoryCardManager.h b/stepmania/src/MemoryCardManager.h index 944d44f789..babb94309a 100644 --- a/stepmania/src/MemoryCardManager.h +++ b/stepmania/src/MemoryCardManager.h @@ -42,6 +42,7 @@ public: bool PathIsMemCard( CString sDir ) const; CString GetName( PlayerNumber pn ) const; + void RefreshNames(); protected: void AssignUnassignedCards(); // do our best to assign a Device to each player diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp index d98691d1a2..b96ac508e0 100644 --- a/stepmania/src/Screen.cpp +++ b/stepmania/src/Screen.cpp @@ -192,19 +192,19 @@ bool Screen::JoinInput( const DeviceInput& DeviceI, const InputEventType type, c else GAMESTATE->m_iCoins -= iCoinsToCharge; + SCREENMAN->PlayStartSound(); + GAMESTATE->m_bSideIsJoined[MenuI.player] = true; if( GAMESTATE->m_MasterPlayerNumber == PLAYER_INVALID ) GAMESTATE->m_MasterPlayerNumber = MenuI.player; - PROFILEMAN->LoadFirstAvailableProfile( MenuI.player, true ); // fast load - SCREENMAN->RefreshCreditsMessages(); - - SCREENMAN->PlayStartSound(); - // if first player to join, set start time if( GAMESTATE->GetNumSidesJoined() == 1 ) GAMESTATE->BeginGame(); + PROFILEMAN->LoadFirstAvailableProfile( MenuI.player, true ); // fast load + SCREENMAN->RefreshCreditsMessages(); + return true; }