[GameState, SongUtil] Fix Issue 263 by not charging 2x stages for doubles when not using joint premium.

This commit is contained in:
AJ Kelly
2011-08-07 18:33:35 -05:00
parent 4fa91adc36
commit 0285f7687f
3 changed files with 4 additions and 23 deletions
+2
View File
@@ -13,6 +13,8 @@ StepMania 5.0 Preview 3 | 20110???
* [LifeMeterBattery] Added LostLife param to LifeChanged message. [AJ]
* [LifeMeterBattery] Converted LifeMeterBattery lives to an AutoActor. [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
----------
+1 -22
View File
@@ -630,27 +630,6 @@ int GameState::GetNumStagesMultiplierForSong( const Song* pSong )
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 iNumStagesOfThisSong = 1;
@@ -688,7 +667,7 @@ int GameState::GetNumStagesForCurrentSongAndStepsOrCourse() const
if( IsAnExtraStage() )
iNumStagesOfThisSong = 1;
else
iNumStagesOfThisSong = GameState::GetNumStagesForSongAndStyleType( m_pCurSong, pStyle->m_StyleType );
iNumStagesOfThisSong = GameState::GetNumStagesMultiplierForSong( m_pCurSong );
}
else if( m_pCurCourse )
iNumStagesOfThisSong = PREFSMAN->m_iSongsPerPlay;
+1 -1
View File
@@ -975,7 +975,7 @@ void SongUtil::GetPlayableStepsTypes( const Song *pSong, set<StepsType> &vOut )
const Style *pStyle = GAMEMAN->GetFirstCompatibleStyle( GAMESTATE->m_pCurGame, iNumPlayers, *st );
bool bEnoughStages = GAMESTATE->IsAnExtraStage() ||
GAMESTATE->GetSmallestNumStagesLeftForAnyHumanPlayer() >=
GAMESTATE->GetNumStagesForSongAndStyleType(pSong, pStyle->m_StyleType);
GAMESTATE->GetNumStagesMultiplierForSong(pSong);
if( bShowThisStepsType && bEnoughStages )
vOut.insert( *st );