allow multiple, simultaneous prepared screens

This commit is contained in:
Chris Danford
2004-12-09 09:41:06 +00:00
parent 7085d480ec
commit 12d556c759
12 changed files with 114 additions and 54 deletions
+17 -1
View File
@@ -45,7 +45,9 @@ void GameCommand::Init()
m_SortOrder = SORT_INVALID;
m_iUnlockIndex = -1;
m_sSoundPath = "";
m_vsScreensToPrepare.clear();
m_bDeletePreparedScreens = false;
m_bClearBookkeepingData = false;
m_bClearMachineStats = false;
m_bDownloadMachineStats = false;
@@ -245,6 +247,16 @@ void GameCommand::Load( int iIndex, const Commands& cmds )
{
m_sSoundPath = sValue;
}
else if( sName == "preparescreen" )
{
m_vsScreensToPrepare.push_back( sValue );
}
else if( sName == "deletepreparedscreens" )
{
m_bDeletePreparedScreens = true;
}
else if( sName == "clearbookkeepingdata" )
{
@@ -548,6 +560,10 @@ void GameCommand::Apply( PlayerNumber pn ) const
UNLOCKMAN->UnlockCode( m_iUnlockIndex );
if( m_sSoundPath != "" )
SOUND->PlayOnce( THEME->GetPathToS( m_sSoundPath ) );
FOREACH_CONST( CString, m_vsScreensToPrepare, s )
SCREENMAN->PrepareScreen( *s );
if( m_bDeletePreparedScreens )
SCREENMAN->DeletePreparedScreens();
if( m_bClearBookkeepingData )
{