diff --git a/stepmania/src/ScoreKeeper.h b/stepmania/src/ScoreKeeper.h index 65e5dd0d47..1ed8a6ee55 100644 --- a/stepmania/src/ScoreKeeper.h +++ b/stepmania/src/ScoreKeeper.h @@ -38,7 +38,7 @@ protected: // bool Stats_DoublesCount; public: - ScoreKeeper(const vector& apNotes, PlayerNumber pn) { m_PlayerNumber=pn; } + ScoreKeeper(PlayerNumber pn) { m_PlayerNumber=pn; } virtual void DrawPrimitives() { } virtual void OnNextSong( int iSongInCourseIndex, Notes* pNotes ) = 0; // before a song plays (called multiple times if course) diff --git a/stepmania/src/ScoreKeeperMAX2.cpp b/stepmania/src/ScoreKeeperMAX2.cpp index accdc72d21..f8282858b8 100644 --- a/stepmania/src/ScoreKeeperMAX2.cpp +++ b/stepmania/src/ScoreKeeperMAX2.cpp @@ -20,8 +20,8 @@ #include "Course.h" -ScoreKeeperMAX2::ScoreKeeperMAX2( const vector& apNotes, PlayerNumber pn_ ): - ScoreKeeper(apNotes, pn_) +ScoreKeeperMAX2::ScoreKeeperMAX2( const vector& apNotes_, PlayerNumber pn_ ): + ScoreKeeper(pn_), apNotes(apNotes_) { // // Fill in m_CurStageStats, calculate multiplier @@ -91,7 +91,10 @@ void ScoreKeeperMAX2::OnNextSong( int iSongInCourseIndex, Notes* pNotes ) int iMaxPossiblePoints; // fill this in below if( GAMESTATE->IsCourseMode() ) { - iMaxPossiblePoints = (iSongInCourseIndex+1) * 1000000; + const int numSongsInCourse = apNotes.size(); + int courseMult = (numSongsInCourse * (numSongsInCourse + 1)) / 2; + + iMaxPossiblePoints = (10000000 * (iSongInCourseIndex+1)) / courseMult; } else { diff --git a/stepmania/src/ScoreKeeperMAX2.h b/stepmania/src/ScoreKeeperMAX2.h index c64da39fd7..92ae1681a1 100644 --- a/stepmania/src/ScoreKeeperMAX2.h +++ b/stepmania/src/ScoreKeeperMAX2.h @@ -24,6 +24,8 @@ class ScoreKeeperMAX2: public ScoreKeeper int m_iCurToastyCombo; + const vector& apNotes; + void AddScore( TapNoteScore score ); public: