Add new Preference, Maximum Number of Credits
Grant users the ability to change the maximum amount of credits available rather than the constant cap at 20. (cherry picked from commit 2ec2355d7a7d9fec9410cf6b7d2b5c31a4406074) (cherry picked from commit 48245ab51600ede16096e70e27c94345918eaed7)
This commit is contained in:
+1
-1
@@ -127,7 +127,7 @@ void Bookkeeper::ReadFromDisk()
|
||||
|
||||
if ( numCoins < 0 )
|
||||
numCoins = 0;
|
||||
else if ( numCoins / PREFSMAN->m_iCoinsPerCredit > MAX_NUM_CREDITS )
|
||||
else if ( numCoins / PREFSMAN->m_iCoinsPerCredit > PREFSMAN->m_iMaxNumCredits )
|
||||
numCoins = 0;
|
||||
|
||||
LOG->Trace("Number of Coins to Load on boot: %i", numCoins);
|
||||
|
||||
@@ -208,6 +208,7 @@ PrefsManager::PrefsManager() :
|
||||
m_AllowW1 ( "AllowW1", ALLOW_W1_EVERYWHERE ),
|
||||
m_bEventMode ( "EventMode", true ),
|
||||
m_iCoinsPerCredit ( "CoinsPerCredit", 1 ),
|
||||
m_iMaxNumCredits ( "MaxNumCredits", 20 ),
|
||||
m_iSongsPerPlay ( "SongsPerPlay", 3, ValidateSongsPerPlay ),
|
||||
m_bDelayedCreditsReconcile ( "DelayedCreditsReconcile", false ),
|
||||
m_bComboContinuesBetweenSongs ( "ComboContinuesBetweenSongs", false ),
|
||||
|
||||
@@ -209,6 +209,7 @@ public:
|
||||
Preference<AllowW1> m_AllowW1; // this should almost always be on, given use cases. -aj
|
||||
Preference<bool> m_bEventMode;
|
||||
Preference<int> m_iCoinsPerCredit;
|
||||
Preference<int> m_iMaxNumCredits;
|
||||
Preference<int> m_iSongsPerPlay;
|
||||
Preference<bool> m_bDelayedCreditsReconcile; // zuh?
|
||||
Preference<bool> m_bComboContinuesBetweenSongs;
|
||||
|
||||
@@ -456,6 +456,12 @@ static void CoinsPerCredit( int &sel, bool ToSel, const ConfOption *pConfOption
|
||||
}
|
||||
}
|
||||
|
||||
static void MaxNumCredits( int &sel, bool ToSel, const ConfOption *pConfOption )
|
||||
{
|
||||
int const mapping[]= {20, 40, 60, 80, 100};
|
||||
MoveMap(sel, pConfOption, ToSel, mapping, ARRAYLEN(mapping));
|
||||
}
|
||||
|
||||
static void JointPremium( int &sel, bool ToSel, const ConfOption *pConfOption )
|
||||
{
|
||||
const Premium mapping[] = { Premium_DoubleFor1Credit, Premium_2PlayersFor1Credit };
|
||||
@@ -847,6 +853,7 @@ static void InitializeConfOptions()
|
||||
ADD( ConfOption( "CoinModeNoHome", CoinModeNoHome, "Pay","Free Play" ) );
|
||||
g_ConfOptions.back().m_sPrefName = "CoinMode";
|
||||
ADD( ConfOption( "CoinsPerCredit", CoinsPerCredit, "|1","|2","|3","|4","|5","|6","|7","|8","|9","|10","|11","|12","|13","|14","|15","|16" ) );
|
||||
ADD( ConfOption( "MaxNumCredits", MaxNumCredits, "|20","|40","|60","|80","|100" ) );
|
||||
|
||||
ADD( ConfOption( "SongsPerPlay", SongsPerPlay, "|1","|2","|3","|4","|5" ) );
|
||||
ADD( ConfOption( "SongsPerPlayOrEvent", SongsPerPlayOrEventMode,"|1","|2","|3","|4","|5","Event" ) );
|
||||
@@ -861,6 +868,7 @@ static void InitializeConfOptions()
|
||||
ADD( ConfOption( "ProgressiveNonstopLifebar", MovePref<int>, "Off","|1","|2","|3","|4","|5","|6","|7","|8","Insanity") );
|
||||
ADD( ConfOption( "DefaultFailType", DefaultFailType, DefaultFailChoices ) );
|
||||
ADD( ConfOption( "CoinsPerCredit", CoinsPerCredit, "|1","|2","|3","|4","|5","|6","|7","|8","|9","|10","|11","|12","|13","|14","|15","|16" ) );
|
||||
ADD( ConfOption( "MaxNumCredits", MaxNumCredits, "|20","|40","|60","|80","|100" ) );
|
||||
ADD( ConfOption( "Premium", MovePref<Premium>, "Off","Double for 1 Credit","2 Players for 1 Credit" ) );
|
||||
ADD( ConfOption( "JointPremium", JointPremium, "Off","2 Players for 1 Credit" ) );
|
||||
g_ConfOptions.back().m_sPrefName = "Premium";
|
||||
|
||||
@@ -116,7 +116,7 @@ namespace
|
||||
sCredits += ssprintf(" %d", iCredits);
|
||||
if( PREFSMAN->m_iCoinsPerCredit > 1 )
|
||||
sCredits += ssprintf(" %d/%d", iCoins, PREFSMAN->m_iCoinsPerCredit.Get() );
|
||||
if( iCredits >= MAX_NUM_CREDITS )
|
||||
if( iCredits >= PREFSMAN->m_iMaxNumCredits )
|
||||
sCredits += " " + CREDITS_MAX.GetValue();
|
||||
return sCredits;
|
||||
}
|
||||
|
||||
+2
-2
@@ -1113,10 +1113,10 @@ void StepMania::InsertCoin( int iNum, bool bCountInBookkeeping )
|
||||
}
|
||||
|
||||
int iCredits = GAMESTATE->m_iCoins / PREFSMAN->m_iCoinsPerCredit;
|
||||
bool bMaxCredits = iCredits >= MAX_NUM_CREDITS;
|
||||
bool bMaxCredits = iCredits >= PREFSMAN->m_iMaxNumCredits;
|
||||
if( bMaxCredits )
|
||||
{
|
||||
GAMESTATE->m_iCoins.Set( MAX_NUM_CREDITS * PREFSMAN->m_iCoinsPerCredit );
|
||||
GAMESTATE->m_iCoins.Set( PREFSMAN->m_iMaxNumCredits * PREFSMAN->m_iCoinsPerCredit );
|
||||
}
|
||||
|
||||
LOG->Trace("%i coins inserted, %i needed to play", GAMESTATE->m_iCoins.Get(), PREFSMAN->m_iCoinsPerCredit.Get() );
|
||||
|
||||
Reference in New Issue
Block a user