Add ChangeCurrentGame. Move the currently-selected game to
GamePrefs.ini.
This commit is contained in:
@@ -14,7 +14,6 @@
|
|||||||
#include "PrefsManager.h"
|
#include "PrefsManager.h"
|
||||||
#include "IniFile.h"
|
#include "IniFile.h"
|
||||||
#include "GameState.h"
|
#include "GameState.h"
|
||||||
#include "RageException.h"
|
|
||||||
#include "RageDisplay.h"
|
#include "RageDisplay.h"
|
||||||
#include "RageUtil.h"
|
#include "RageUtil.h"
|
||||||
#include "arch/arch.h" /* for default driver specs */
|
#include "arch/arch.h" /* for default driver specs */
|
||||||
@@ -288,13 +287,6 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame )
|
|||||||
CString sAdditionalSongFolders;
|
CString sAdditionalSongFolders;
|
||||||
ini.GetValue( "Options", "AdditionalSongFolders", sAdditionalSongFolders );
|
ini.GetValue( "Options", "AdditionalSongFolders", sAdditionalSongFolders );
|
||||||
split( sAdditionalSongFolders, ",", m_asAdditionalSongFolders, true );
|
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", "AdditionalSongFolders", join(",", m_asAdditionalSongFolders) );
|
||||||
|
|
||||||
ini.SetValue( "Options", "Game", GAMESTATE->m_CurGame );
|
|
||||||
|
|
||||||
ini.WriteFile();
|
ini.WriteFile();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,15 +105,9 @@ static void GameSel( int &sel, bool ToSel, const CStringArray &choices )
|
|||||||
if( !stricmp(choices[i], sCurGameName) )
|
if( !stricmp(choices[i], sCurGameName) )
|
||||||
sel = i;
|
sel = i;
|
||||||
} else {
|
} else {
|
||||||
SaveGamePrefsToDisk();
|
|
||||||
INPUTMAPPER->SaveMappingsToDisk(); // save mappings before switching the game
|
|
||||||
|
|
||||||
vector<Game> aGames;
|
vector<Game> aGames;
|
||||||
GAMEMAN->GetEnabledGames( aGames );
|
GAMEMAN->GetEnabledGames( aGames );
|
||||||
GAMESTATE->m_CurGame = aGames[sel];
|
ChangeCurrentGame( aGames[sel] );
|
||||||
|
|
||||||
ReadGamePrefsFromDisk();
|
|
||||||
INPUTMAPPER->ReadMappingsFromDisk();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -512,8 +512,21 @@ static void RestoreAppPri()
|
|||||||
|
|
||||||
#define GAMEPREFS_INI_PATH BASE_PATH "Data" SLASH "GamePrefs.ini"
|
#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 )
|
if( !GAMESTATE )
|
||||||
return;
|
return;
|
||||||
@@ -535,8 +548,16 @@ void ReadGamePrefsFromDisk()
|
|||||||
THEME->SwitchThemeAndLanguage( sTheme, PREFSMAN->m_sLanguage );
|
THEME->SwitchThemeAndLanguage( sTheme, PREFSMAN->m_sLanguage );
|
||||||
|
|
||||||
// NOTESKIN->SwitchNoteSkin( sNoteSkin );
|
// NOTESKIN->SwitchNoteSkin( sNoteSkin );
|
||||||
|
|
||||||
|
if( bSwitchToLastPlayedGame )
|
||||||
|
{
|
||||||
|
Game game;
|
||||||
|
if( ini.GetValue("Options", "Game", (int&)game) )
|
||||||
|
GAMESTATE->m_CurGame = game;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SaveGamePrefsToDisk()
|
void SaveGamePrefsToDisk()
|
||||||
{
|
{
|
||||||
if( !GAMESTATE )
|
if( !GAMESTATE )
|
||||||
@@ -550,6 +571,7 @@ void SaveGamePrefsToDisk()
|
|||||||
ini.SetValue( sGameName, "Announcer", ANNOUNCER->GetCurAnnouncerName() );
|
ini.SetValue( sGameName, "Announcer", ANNOUNCER->GetCurAnnouncerName() );
|
||||||
ini.SetValue( sGameName, "Theme", THEME->GetCurThemeName() );
|
ini.SetValue( sGameName, "Theme", THEME->GetCurThemeName() );
|
||||||
ini.SetValue( sGameName, "DefaultModifiers", PREFSMAN->m_sDefaultModifiers );
|
ini.SetValue( sGameName, "DefaultModifiers", PREFSMAN->m_sDefaultModifiers );
|
||||||
|
ini.SetValue( "Options", "Game", GAMESTATE->m_CurGame );
|
||||||
|
|
||||||
ini.WriteFile();
|
ini.WriteFile();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,12 +11,15 @@
|
|||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "Game.h"
|
||||||
|
|
||||||
int SMmain(int argc, char* argv[]);
|
int SMmain(int argc, char* argv[]);
|
||||||
void ApplyGraphicOptions();
|
void ApplyGraphicOptions();
|
||||||
void ExitGame();
|
void ExitGame();
|
||||||
void ResetGame( bool ReturnToFirstScreen=true );
|
void ResetGame( bool ReturnToFirstScreen=true );
|
||||||
void ReadGamePrefsFromDisk();
|
void ReadGamePrefsFromDisk( bool bSwitchToLastPlayedGame=true );
|
||||||
void SaveGamePrefsToDisk();
|
void SaveGamePrefsToDisk();
|
||||||
|
void ChangeCurrentGame( Game g );
|
||||||
|
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
extern HWND g_hWndMain;
|
extern HWND g_hWndMain;
|
||||||
|
|||||||
Reference in New Issue
Block a user