High-level preferences that pull in other dependencies should be
moved out of PrefsManager; add GamePreferences for when we don't have a convenient place to put it.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
#include "global.h"
|
||||
#include "GamePreferences.h"
|
||||
|
||||
// This options has weird interactions depending on m_bEventMode;
|
||||
// use GameState::GetCoinMode().
|
||||
Preference<CoinMode> GamePreferences::m_CoinMode( "CoinMode", COIN_MODE_HOME );
|
||||
|
||||
|
||||
/*
|
||||
* (c) 2001-2004 Chris Danford, Chris Gomez
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -0,0 +1,37 @@
|
||||
#ifndef GAME_PREFERENCES_H
|
||||
#define GAME_PREFERENCES_H
|
||||
|
||||
#include "Preference.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
|
||||
namespace GamePreferences
|
||||
{
|
||||
extern Preference<CoinMode> m_CoinMode;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* (c) 2001-2004 Chris Danford, Chris Gomez
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "GameState.h"
|
||||
#include "GameManager.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "GamePreferences.h"
|
||||
#include "song.h"
|
||||
#include "Course.h"
|
||||
#include "RageLog.h"
|
||||
@@ -1760,10 +1761,10 @@ bool GameState::IsEventMode() const
|
||||
|
||||
CoinMode GameState::GetCoinMode() const
|
||||
{
|
||||
if( IsEventMode() && PREFSMAN->m_CoinMode == COIN_MODE_PAY )
|
||||
if( IsEventMode() && GamePreferences::m_CoinMode == COIN_MODE_PAY )
|
||||
return COIN_MODE_FREE;
|
||||
else
|
||||
return PREFSMAN->m_CoinMode;
|
||||
return GamePreferences::m_CoinMode;
|
||||
}
|
||||
|
||||
Premium GameState::GetPremium() const
|
||||
|
||||
@@ -194,11 +194,8 @@ PrefsManager::PrefsManager() :
|
||||
m_bEventMode ( "EventMode", false ),
|
||||
m_iCoinsPerCredit ( "CoinsPerCredit", 1 ),
|
||||
m_iSongsPerPlay ( "SongsPerPlay", 3, ValidateSongsPerPlay ),
|
||||
|
||||
m_CoinMode ( "CoinMode", COIN_MODE_HOME ),
|
||||
m_bDelayedCreditsReconcile ( "DelayedCreditsReconcile", false ),
|
||||
m_bPickExtraStage ( "PickExtraStage", false ),
|
||||
|
||||
m_bComboContinuesBetweenSongs ( "ComboContinuesBetweenSongs", false ),
|
||||
m_ShowSongOptions ( "ShowSongOptions", Maybe_YES ),
|
||||
m_bDancePointsForOni ( "DancePointsForOni", false ),
|
||||
|
||||
@@ -154,11 +154,6 @@ public:
|
||||
Preference<bool> m_bEventMode;
|
||||
Preference<int> m_iCoinsPerCredit;
|
||||
Preference<int> m_iSongsPerPlay;
|
||||
|
||||
// These options have weird interactions depending on m_bEventMode,
|
||||
// so wrap them in GameState.
|
||||
Preference<CoinMode> m_CoinMode;
|
||||
|
||||
Preference<bool> m_bDelayedCreditsReconcile;
|
||||
Preference<bool> m_bPickExtraStage;
|
||||
Preference<bool> m_bComboContinuesBetweenSongs;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "ScreenDimensions.h"
|
||||
#include "ScreenManager.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "GamePreferences.h"
|
||||
#include "RageLog.h"
|
||||
#include "GameState.h"
|
||||
#include "PlayerState.h"
|
||||
@@ -524,13 +525,13 @@ class DebugLineAutosync : public IDebugLine
|
||||
class DebugLineCoinMode : public IDebugLine
|
||||
{
|
||||
virtual RString GetDescription() { return COIN_MODE.GetValue(); }
|
||||
virtual RString GetValue() { return CoinModeToString(PREFSMAN->m_CoinMode); }
|
||||
virtual RString GetValue() { return CoinModeToString(GamePreferences::m_CoinMode); }
|
||||
virtual bool IsEnabled() { return true; }
|
||||
virtual void Do( RString &sMessageOut )
|
||||
{
|
||||
int cm = PREFSMAN->m_CoinMode+1;
|
||||
int cm = GamePreferences::m_CoinMode+1;
|
||||
wrap( cm, NUM_CoinMode );
|
||||
PREFSMAN->m_CoinMode.Set( CoinMode(cm) );
|
||||
GamePreferences::m_CoinMode.Set( CoinMode(cm) );
|
||||
SCREENMAN->RefreshCreditsMessages();
|
||||
IDebugLine::Do( sMessageOut );
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include "ScreenTitleMenu.h"
|
||||
#include "ScreenManager.h"
|
||||
#include "RageUtil.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "GamePreferences.h"
|
||||
#include "RageLog.h"
|
||||
#include "AnnouncerManager.h"
|
||||
#include "GameState.h"
|
||||
@@ -30,7 +30,7 @@ ScreenTitleMenu::ScreenTitleMenu()
|
||||
// TRICKY: Do this after GameState::Reset.
|
||||
LIGHTSMAN->SetLightsMode( LIGHTSMODE_JOINING );
|
||||
|
||||
this->SubscribeToMessage( PREFSMAN->m_CoinMode.GetName()+"Changed" );
|
||||
this->SubscribeToMessage( GamePreferences::m_CoinMode.GetName()+"Changed" );
|
||||
}
|
||||
|
||||
void ScreenTitleMenu::Init()
|
||||
@@ -75,7 +75,7 @@ void ScreenTitleMenu::Input( const InputEventPlus &input )
|
||||
|
||||
void ScreenTitleMenu::HandleMessage( const Message &msg )
|
||||
{
|
||||
if( msg == PREFSMAN->m_CoinMode.GetName()+"Changed" )
|
||||
if( msg == GamePreferences::m_CoinMode.GetName()+"Changed" )
|
||||
{
|
||||
/* If the CoinMode was changed, we need to reload this screen
|
||||
* so that the right m_aGameCommands will show */
|
||||
|
||||
Reference in New Issue
Block a user