fix "PlayersFinalized executes twice"
This commit is contained in:
@@ -85,6 +85,7 @@ void GameState::Reset()
|
||||
m_CurStyle = STYLE_INVALID;
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
m_bSideIsJoined[p] = false;
|
||||
m_bPlayersFinalized = false;
|
||||
// m_iCoins = 0; // don't reset coin count!
|
||||
m_MasterPlayerNumber = PLAYER_INVALID;
|
||||
m_sPreferredGroup = GROUP_ALL_MUSIC;
|
||||
@@ -195,6 +196,11 @@ void CheckStageStats( const StageStats &ss, int p )
|
||||
|
||||
void GameState::PlayersFinalized()
|
||||
{
|
||||
if( m_bPlayersFinalized )
|
||||
return;
|
||||
|
||||
m_bPlayersFinalized = true;
|
||||
|
||||
MEMCARDMAN->LockCards( true );
|
||||
SONGMAN->LoadAllFromProfiles();
|
||||
|
||||
@@ -224,8 +230,6 @@ 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. */
|
||||
|
||||
@@ -53,6 +53,7 @@ public:
|
||||
Game m_CurGame;
|
||||
Style m_CurStyle;
|
||||
bool m_bSideIsJoined[NUM_PLAYERS]; // left side, right side
|
||||
bool m_bPlayersFinalized;
|
||||
PlayMode m_PlayMode; // many screens display different info depending on this value
|
||||
int m_iCoins; // not "credits"
|
||||
PlayerNumber m_MasterPlayerNumber; // used in Styles where one player controls both sides
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "SongUtil.h"
|
||||
#include "StepsUtil.h"
|
||||
#include "CourseUtil.h"
|
||||
#include "RageFileManager.h"
|
||||
|
||||
SongManager* SONGMAN = NULL; // global and accessable from anywhere in our program
|
||||
|
||||
@@ -954,9 +955,12 @@ void SongManager::UpdateRankingCourses()
|
||||
|
||||
void SongManager::LoadAllFromProfiles()
|
||||
{
|
||||
for( int s=0; s<NUM_PROFILE_SLOTS; s++ )
|
||||
FOREACH_ProfileSlot( s )
|
||||
{
|
||||
CString sProfileDir = PROFILEMAN->GetProfileDir( (ProfileSlot)s );
|
||||
if( !PROFILEMAN->IsUsingProfile(s) )
|
||||
continue;
|
||||
|
||||
CString sProfileDir = PROFILEMAN->GetProfileDir( s );
|
||||
if( sProfileDir.empty() )
|
||||
continue; // skip
|
||||
//
|
||||
@@ -964,6 +968,9 @@ void SongManager::LoadAllFromProfiles()
|
||||
//
|
||||
{
|
||||
CString sEditsDir = sProfileDir+"Edits/";
|
||||
|
||||
FILEMAN->FlushDirCache( sEditsDir );
|
||||
|
||||
CStringArray asEditsFilesWithPath;
|
||||
GetDirListing( sEditsDir+"*.sm", asEditsFilesWithPath, false, true );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user