Combos branch: allow for combo factors on hits.
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
#include "Game.h"
|
#include "Game.h"
|
||||||
#include "Style.h"
|
#include "Style.h"
|
||||||
#include "Song.h"
|
#include "Song.h"
|
||||||
|
#include "TimingData.h"
|
||||||
#include "NoteDataWithScoring.h"
|
#include "NoteDataWithScoring.h"
|
||||||
|
|
||||||
|
|
||||||
@@ -593,7 +594,7 @@ void ScoreKeeperNormal::HandleTapNoteScoreInternal( TapNoteScore tns, TapNoteSco
|
|||||||
m_pPlayerStageStats->m_iCurPossibleDancePoints += TapNoteScoreToDancePoints( maximum );
|
m_pPlayerStageStats->m_iCurPossibleDancePoints += TapNoteScoreToDancePoints( maximum );
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScoreKeeperNormal::HandleComboInternal( int iNumHitContinueCombo, int iNumHitMaintainCombo, int iNumBreakCombo )
|
void ScoreKeeperNormal::HandleComboInternal( int iNumHitContinueCombo, int iNumHitMaintainCombo, int iNumBreakCombo, int iRow )
|
||||||
{
|
{
|
||||||
// Regular combo
|
// Regular combo
|
||||||
if( m_ComboIsPerRow )
|
if( m_ComboIsPerRow )
|
||||||
@@ -610,7 +611,9 @@ void ScoreKeeperNormal::HandleComboInternal( int iNumHitContinueCombo, int iNumH
|
|||||||
|
|
||||||
if( iNumBreakCombo == 0 )
|
if( iNumBreakCombo == 0 )
|
||||||
{
|
{
|
||||||
m_pPlayerStageStats->m_iCurCombo += iNumHitContinueCombo;
|
TimingData td = GAMESTATE->m_pCurSong->m_Timing;
|
||||||
|
int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow( iRow ).m_iCombo );
|
||||||
|
m_pPlayerStageStats->m_iCurCombo += iNumHitContinueCombo * multiplier;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -619,7 +622,7 @@ void ScoreKeeperNormal::HandleComboInternal( int iNumHitContinueCombo, int iNumH
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScoreKeeperNormal::HandleRowComboInternal( TapNoteScore tns, int iNumTapsInRow )
|
void ScoreKeeperNormal::HandleRowComboInternal( TapNoteScore tns, int iNumTapsInRow, int iRow )
|
||||||
{
|
{
|
||||||
if( m_ComboIsPerRow )
|
if( m_ComboIsPerRow )
|
||||||
{
|
{
|
||||||
@@ -628,7 +631,9 @@ void ScoreKeeperNormal::HandleRowComboInternal( TapNoteScore tns, int iNumTapsIn
|
|||||||
if ( tns >= m_MinScoreToContinueCombo )
|
if ( tns >= m_MinScoreToContinueCombo )
|
||||||
{
|
{
|
||||||
m_pPlayerStageStats->m_iCurMissCombo = 0;
|
m_pPlayerStageStats->m_iCurMissCombo = 0;
|
||||||
m_pPlayerStageStats->m_iCurCombo += iNumTapsInRow;
|
TimingData td = GAMESTATE->m_pCurSong->m_Timing;
|
||||||
|
int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow( iRow ).m_iCombo );
|
||||||
|
m_pPlayerStageStats->m_iCurCombo += iNumTapsInRow * multiplier;
|
||||||
}
|
}
|
||||||
else if ( tns < m_MinScoreToMaintainCombo )
|
else if ( tns < m_MinScoreToMaintainCombo )
|
||||||
{
|
{
|
||||||
@@ -676,11 +681,11 @@ void ScoreKeeperNormal::HandleTapRowScore( const NoteData &nd, int iRow )
|
|||||||
|
|
||||||
if ( GAMESTATE->GetCurrentGame()->m_bCountNotesSeparately )
|
if ( GAMESTATE->GetCurrentGame()->m_bCountNotesSeparately )
|
||||||
{
|
{
|
||||||
HandleComboInternal( iNumHitContinueCombo, iNumHitMaintainCombo, iNumBreakCombo );
|
HandleComboInternal( iNumHitContinueCombo, iNumHitMaintainCombo, iNumBreakCombo, iRow );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HandleRowComboInternal( scoreOfLastTap, iNumTapsInRow ); //This should work?
|
HandleRowComboInternal( scoreOfLastTap, iNumTapsInRow, iRow ); //This should work?
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_pPlayerState->m_PlayerNumber != PLAYER_INVALID )
|
if( m_pPlayerState->m_PlayerNumber != PLAYER_INVALID )
|
||||||
|
|||||||
@@ -114,8 +114,8 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void HandleTapNoteScoreInternal( TapNoteScore tns, TapNoteScore maximum );
|
void HandleTapNoteScoreInternal( TapNoteScore tns, TapNoteScore maximum );
|
||||||
void HandleComboInternal( int iNumHitContinueCombo, int iNumHitMaintainCombo, int iNumBreakCombo );
|
void HandleComboInternal( int iNumHitContinueCombo, int iNumHitMaintainCombo, int iNumBreakCombo, int iRow = -1 );
|
||||||
void HandleRowComboInternal( TapNoteScore tns, int iNumTapsInRow );
|
void HandleRowComboInternal( TapNoteScore tns, int iNumTapsInRow, int iRow = -1 );
|
||||||
void GetRowCounts( const NoteData &nd, int iRow, int &iNumHitContinueCombo, int &iNumHitMaintainCombo, int &iNumBreakCombo );
|
void GetRowCounts( const NoteData &nd, int iRow, int &iNumHitContinueCombo, int &iNumHitMaintainCombo, int &iNumBreakCombo );
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user