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 "GameState.h"
|
||||||
#include "GameManager.h"
|
#include "GameManager.h"
|
||||||
#include "PrefsManager.h"
|
#include "PrefsManager.h"
|
||||||
|
#include "GamePreferences.h"
|
||||||
#include "song.h"
|
#include "song.h"
|
||||||
#include "Course.h"
|
#include "Course.h"
|
||||||
#include "RageLog.h"
|
#include "RageLog.h"
|
||||||
@@ -1760,10 +1761,10 @@ bool GameState::IsEventMode() const
|
|||||||
|
|
||||||
CoinMode GameState::GetCoinMode() 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;
|
return COIN_MODE_FREE;
|
||||||
else
|
else
|
||||||
return PREFSMAN->m_CoinMode;
|
return GamePreferences::m_CoinMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
Premium GameState::GetPremium() const
|
Premium GameState::GetPremium() const
|
||||||
|
|||||||
@@ -194,11 +194,8 @@ PrefsManager::PrefsManager() :
|
|||||||
m_bEventMode ( "EventMode", false ),
|
m_bEventMode ( "EventMode", false ),
|
||||||
m_iCoinsPerCredit ( "CoinsPerCredit", 1 ),
|
m_iCoinsPerCredit ( "CoinsPerCredit", 1 ),
|
||||||
m_iSongsPerPlay ( "SongsPerPlay", 3, ValidateSongsPerPlay ),
|
m_iSongsPerPlay ( "SongsPerPlay", 3, ValidateSongsPerPlay ),
|
||||||
|
|
||||||
m_CoinMode ( "CoinMode", COIN_MODE_HOME ),
|
|
||||||
m_bDelayedCreditsReconcile ( "DelayedCreditsReconcile", false ),
|
m_bDelayedCreditsReconcile ( "DelayedCreditsReconcile", false ),
|
||||||
m_bPickExtraStage ( "PickExtraStage", false ),
|
m_bPickExtraStage ( "PickExtraStage", false ),
|
||||||
|
|
||||||
m_bComboContinuesBetweenSongs ( "ComboContinuesBetweenSongs", false ),
|
m_bComboContinuesBetweenSongs ( "ComboContinuesBetweenSongs", false ),
|
||||||
m_ShowSongOptions ( "ShowSongOptions", Maybe_YES ),
|
m_ShowSongOptions ( "ShowSongOptions", Maybe_YES ),
|
||||||
m_bDancePointsForOni ( "DancePointsForOni", false ),
|
m_bDancePointsForOni ( "DancePointsForOni", false ),
|
||||||
|
|||||||
@@ -154,11 +154,6 @@ public:
|
|||||||
Preference<bool> m_bEventMode;
|
Preference<bool> m_bEventMode;
|
||||||
Preference<int> m_iCoinsPerCredit;
|
Preference<int> m_iCoinsPerCredit;
|
||||||
Preference<int> m_iSongsPerPlay;
|
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_bDelayedCreditsReconcile;
|
||||||
Preference<bool> m_bPickExtraStage;
|
Preference<bool> m_bPickExtraStage;
|
||||||
Preference<bool> m_bComboContinuesBetweenSongs;
|
Preference<bool> m_bComboContinuesBetweenSongs;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include "ScreenDimensions.h"
|
#include "ScreenDimensions.h"
|
||||||
#include "ScreenManager.h"
|
#include "ScreenManager.h"
|
||||||
#include "PrefsManager.h"
|
#include "PrefsManager.h"
|
||||||
|
#include "GamePreferences.h"
|
||||||
#include "RageLog.h"
|
#include "RageLog.h"
|
||||||
#include "GameState.h"
|
#include "GameState.h"
|
||||||
#include "PlayerState.h"
|
#include "PlayerState.h"
|
||||||
@@ -524,13 +525,13 @@ class DebugLineAutosync : public IDebugLine
|
|||||||
class DebugLineCoinMode : public IDebugLine
|
class DebugLineCoinMode : public IDebugLine
|
||||||
{
|
{
|
||||||
virtual RString GetDescription() { return COIN_MODE.GetValue(); }
|
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 bool IsEnabled() { return true; }
|
||||||
virtual void Do( RString &sMessageOut )
|
virtual void Do( RString &sMessageOut )
|
||||||
{
|
{
|
||||||
int cm = PREFSMAN->m_CoinMode+1;
|
int cm = GamePreferences::m_CoinMode+1;
|
||||||
wrap( cm, NUM_CoinMode );
|
wrap( cm, NUM_CoinMode );
|
||||||
PREFSMAN->m_CoinMode.Set( CoinMode(cm) );
|
GamePreferences::m_CoinMode.Set( CoinMode(cm) );
|
||||||
SCREENMAN->RefreshCreditsMessages();
|
SCREENMAN->RefreshCreditsMessages();
|
||||||
IDebugLine::Do( sMessageOut );
|
IDebugLine::Do( sMessageOut );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#include "ScreenTitleMenu.h"
|
#include "ScreenTitleMenu.h"
|
||||||
#include "ScreenManager.h"
|
#include "ScreenManager.h"
|
||||||
#include "RageUtil.h"
|
#include "RageUtil.h"
|
||||||
#include "PrefsManager.h"
|
#include "GamePreferences.h"
|
||||||
#include "RageLog.h"
|
#include "RageLog.h"
|
||||||
#include "AnnouncerManager.h"
|
#include "AnnouncerManager.h"
|
||||||
#include "GameState.h"
|
#include "GameState.h"
|
||||||
@@ -30,7 +30,7 @@ ScreenTitleMenu::ScreenTitleMenu()
|
|||||||
// TRICKY: Do this after GameState::Reset.
|
// TRICKY: Do this after GameState::Reset.
|
||||||
LIGHTSMAN->SetLightsMode( LIGHTSMODE_JOINING );
|
LIGHTSMAN->SetLightsMode( LIGHTSMODE_JOINING );
|
||||||
|
|
||||||
this->SubscribeToMessage( PREFSMAN->m_CoinMode.GetName()+"Changed" );
|
this->SubscribeToMessage( GamePreferences::m_CoinMode.GetName()+"Changed" );
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenTitleMenu::Init()
|
void ScreenTitleMenu::Init()
|
||||||
@@ -75,7 +75,7 @@ void ScreenTitleMenu::Input( const InputEventPlus &input )
|
|||||||
|
|
||||||
void ScreenTitleMenu::HandleMessage( const Message &msg )
|
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
|
/* If the CoinMode was changed, we need to reload this screen
|
||||||
* so that the right m_aGameCommands will show */
|
* so that the right m_aGameCommands will show */
|
||||||
|
|||||||
Reference in New Issue
Block a user