[GameState, SongUtil] Fix Issue 263 by not charging 2x stages for doubles when not using joint premium.
This commit is contained in:
@@ -13,6 +13,8 @@ StepMania 5.0 Preview 3 | 20110???
|
|||||||
* [LifeMeterBattery] Added LostLife param to LifeChanged message. [AJ]
|
* [LifeMeterBattery] Added LostLife param to LifeChanged message. [AJ]
|
||||||
* [LifeMeterBattery] Converted LifeMeterBattery lives to an AutoActor. [AJ]
|
* [LifeMeterBattery] Converted LifeMeterBattery lives to an AutoActor. [AJ]
|
||||||
* [TimingData] Add HasDelays() Lua binding; HasStops() now only checks stops. [AJ]
|
* [TimingData] Add HasDelays() Lua binding; HasStops() now only checks stops. [AJ]
|
||||||
|
* [GameState, SongUtil] Fix Issue 263 by not charging 2x stages for doubles when
|
||||||
|
not using joint premium. [AJ]
|
||||||
|
|
||||||
2011/08/06
|
2011/08/06
|
||||||
----------
|
----------
|
||||||
|
|||||||
+1
-22
@@ -630,27 +630,6 @@ int GameState::GetNumStagesMultiplierForSong( const Song* pSong )
|
|||||||
return iNumStages;
|
return iNumStages;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GameState::GetNumStagesForSongAndStyleType( const Song* pSong, StyleType st )
|
|
||||||
{
|
|
||||||
int iNumStages = GetNumStagesMultiplierForSong( pSong );
|
|
||||||
|
|
||||||
// One player, two-sides styles cost extra
|
|
||||||
switch( st )
|
|
||||||
{
|
|
||||||
DEFAULT_FAIL( st );
|
|
||||||
case StyleType_OnePlayerTwoSides:
|
|
||||||
if( g_Premium == Premium_Off )
|
|
||||||
iNumStages *= 2;
|
|
||||||
break;
|
|
||||||
case StyleType_TwoPlayersTwoSides:
|
|
||||||
case StyleType_OnePlayerOneSide:
|
|
||||||
case StyleType_TwoPlayersSharedSides:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return iNumStages;
|
|
||||||
}
|
|
||||||
|
|
||||||
int GameState::GetNumStagesForCurrentSongAndStepsOrCourse() const
|
int GameState::GetNumStagesForCurrentSongAndStepsOrCourse() const
|
||||||
{
|
{
|
||||||
int iNumStagesOfThisSong = 1;
|
int iNumStagesOfThisSong = 1;
|
||||||
@@ -688,7 +667,7 @@ int GameState::GetNumStagesForCurrentSongAndStepsOrCourse() const
|
|||||||
if( IsAnExtraStage() )
|
if( IsAnExtraStage() )
|
||||||
iNumStagesOfThisSong = 1;
|
iNumStagesOfThisSong = 1;
|
||||||
else
|
else
|
||||||
iNumStagesOfThisSong = GameState::GetNumStagesForSongAndStyleType( m_pCurSong, pStyle->m_StyleType );
|
iNumStagesOfThisSong = GameState::GetNumStagesMultiplierForSong( m_pCurSong );
|
||||||
}
|
}
|
||||||
else if( m_pCurCourse )
|
else if( m_pCurCourse )
|
||||||
iNumStagesOfThisSong = PREFSMAN->m_iSongsPerPlay;
|
iNumStagesOfThisSong = PREFSMAN->m_iSongsPerPlay;
|
||||||
|
|||||||
+1
-1
@@ -975,7 +975,7 @@ void SongUtil::GetPlayableStepsTypes( const Song *pSong, set<StepsType> &vOut )
|
|||||||
const Style *pStyle = GAMEMAN->GetFirstCompatibleStyle( GAMESTATE->m_pCurGame, iNumPlayers, *st );
|
const Style *pStyle = GAMEMAN->GetFirstCompatibleStyle( GAMESTATE->m_pCurGame, iNumPlayers, *st );
|
||||||
bool bEnoughStages = GAMESTATE->IsAnExtraStage() ||
|
bool bEnoughStages = GAMESTATE->IsAnExtraStage() ||
|
||||||
GAMESTATE->GetSmallestNumStagesLeftForAnyHumanPlayer() >=
|
GAMESTATE->GetSmallestNumStagesLeftForAnyHumanPlayer() >=
|
||||||
GAMESTATE->GetNumStagesForSongAndStyleType(pSong, pStyle->m_StyleType);
|
GAMESTATE->GetNumStagesMultiplierForSong(pSong);
|
||||||
|
|
||||||
if( bShowThisStepsType && bEnoughStages )
|
if( bShowThisStepsType && bEnoughStages )
|
||||||
vOut.insert( *st );
|
vOut.insert( *st );
|
||||||
|
|||||||
Reference in New Issue
Block a user