Add ChangeCurrentGame. Move the currently-selected game to

GamePrefs.ini.
This commit is contained in:
Glenn Maynard
2003-10-02 03:06:20 +00:00
parent 99027657e3
commit fdaac32a8f
4 changed files with 28 additions and 19 deletions
-10
View File
@@ -14,7 +14,6 @@
#include "PrefsManager.h"
#include "IniFile.h"
#include "GameState.h"
#include "RageException.h"
#include "RageDisplay.h"
#include "RageUtil.h"
#include "arch/arch.h" /* for default driver specs */
@@ -288,13 +287,6 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame )
CString sAdditionalSongFolders;
ini.GetValue( "Options", "AdditionalSongFolders", sAdditionalSongFolders );
split( sAdditionalSongFolders, ",", m_asAdditionalSongFolders, true );
if( bSwitchToLastPlayedGame )
{
Game game;
if( ini.GetValue("Options", "Game", (int&)game) )
GAMESTATE->m_CurGame = game;
}
}
@@ -419,7 +411,5 @@ void PrefsManager::SaveGlobalPrefsToDisk()
ini.SetValue ( "Options", "AdditionalSongFolders", join(",", m_asAdditionalSongFolders) );
ini.SetValue( "Options", "Game", GAMESTATE->m_CurGame );
ini.WriteFile();
}
+1 -7
View File
@@ -105,15 +105,9 @@ static void GameSel( int &sel, bool ToSel, const CStringArray &choices )
if( !stricmp(choices[i], sCurGameName) )
sel = i;
} else {
SaveGamePrefsToDisk();
INPUTMAPPER->SaveMappingsToDisk(); // save mappings before switching the game
vector<Game> aGames;
GAMEMAN->GetEnabledGames( aGames );
GAMESTATE->m_CurGame = aGames[sel];
ReadGamePrefsFromDisk();
INPUTMAPPER->ReadMappingsFromDisk();
ChangeCurrentGame( aGames[sel] );
}
}
+23 -1
View File
@@ -512,8 +512,21 @@ static void RestoreAppPri()
#define GAMEPREFS_INI_PATH BASE_PATH "Data" SLASH "GamePrefs.ini"
void ChangeCurrentGame( Game g )
{
SaveGamePrefsToDisk();
INPUTMAPPER->SaveMappingsToDisk(); // save mappings before switching the game
void ReadGamePrefsFromDisk()
GAMESTATE->m_CurGame = g;
ReadGamePrefsFromDisk( false );
INPUTMAPPER->ReadMappingsFromDisk();
/* Save the newly-selected game. */
SaveGamePrefsToDisk();
}
void ReadGamePrefsFromDisk( bool bSwitchToLastPlayedGame )
{
if( !GAMESTATE )
return;
@@ -535,8 +548,16 @@ void ReadGamePrefsFromDisk()
THEME->SwitchThemeAndLanguage( sTheme, PREFSMAN->m_sLanguage );
// NOTESKIN->SwitchNoteSkin( sNoteSkin );
if( bSwitchToLastPlayedGame )
{
Game game;
if( ini.GetValue("Options", "Game", (int&)game) )
GAMESTATE->m_CurGame = game;
}
}
void SaveGamePrefsToDisk()
{
if( !GAMESTATE )
@@ -550,6 +571,7 @@ void SaveGamePrefsToDisk()
ini.SetValue( sGameName, "Announcer", ANNOUNCER->GetCurAnnouncerName() );
ini.SetValue( sGameName, "Theme", THEME->GetCurThemeName() );
ini.SetValue( sGameName, "DefaultModifiers", PREFSMAN->m_sDefaultModifiers );
ini.SetValue( "Options", "Game", GAMESTATE->m_CurGame );
ini.WriteFile();
}
+4 -1
View File
@@ -11,12 +11,15 @@
-----------------------------------------------------------------------------
*/
#include "Game.h"
int SMmain(int argc, char* argv[]);
void ApplyGraphicOptions();
void ExitGame();
void ResetGame( bool ReturnToFirstScreen=true );
void ReadGamePrefsFromDisk();
void ReadGamePrefsFromDisk( bool bSwitchToLastPlayedGame=true );
void SaveGamePrefsToDisk();
void ChangeCurrentGame( Game g );
#if defined(WIN32)
extern HWND g_hWndMain;