diff --git a/stepmania/Themes/default/Other/Profile Stats.xsl b/stepmania/Themes/default/Other/Profile Stats.xsl index fdbef81807..82e9ca6cfe 100644 --- a/stepmania/Themes/default/Other/Profile Stats.xsl +++ b/stepmania/Themes/default/Other/Profile Stats.xsl @@ -247,11 +247,11 @@ - Passed Count by Grade + Stages Passed by Grade - + @@ -259,7 +259,7 @@ - + @@ -269,11 +269,11 @@ - Passed Count by PlayMode + Stages Passed by PlayMode - + @@ -281,7 +281,7 @@ - + diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index 769b4d9c2d..4bd348b4e1 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -307,11 +307,11 @@ void AddPlayerStatsToProfile( Profile *pProfile, const StageStats &ss, PlayerNum // If you fail in a course, you passed all but the final song. // FIXME: Not true. If playing with 2 players, one player could have failed earlier. - int iNumSongsPassed = ss.vpSongs.size(); - if( ss.bFailed[pn] ) - iNumSongsPassed -= 1; - pProfile->m_iNumSongsPassedByPlayMode[ss.playMode] += iNumSongsPassed; - pProfile->m_iNumSongsPassedByGrade[ss.GetGrade(pn)] += iNumSongsPassed; + if( !ss.bFailed[pn] ) + { + pProfile->m_iNumStagesPassedByPlayMode[ss.playMode] ++; + pProfile->m_iNumStagesPassedByGrade[ss.GetGrade(pn)] ++; + } } void GameState::EndGame() @@ -524,12 +524,10 @@ void GameState::ResetStageStatistics() } + FOREACH_PlayerNumber( p ) { - FOREACH_PlayerNumber( p ) - { - m_vLastPerDifficultyAwards[p].clear(); - m_vLastPeakComboAwards[p].clear(); - } + m_vLastPerDifficultyAwards[p].clear(); + m_vLastPeakComboAwards[p].clear(); } } diff --git a/stepmania/src/Profile.cpp b/stepmania/src/Profile.cpp index 57f1c00a5a..d159dbff07 100644 --- a/stepmania/src/Profile.cpp +++ b/stepmania/src/Profile.cpp @@ -105,8 +105,8 @@ void Profile::InitGeneralData() m_iNumSongsPlayedByDifficulty[i] = 0; for( i=0; iAppendChild("NumSongsPassedByGrade"); + XNode* pNumStagesPassedByGrade = pGeneralDataNode->AppendChild("NumStagesPassedByGrade"); FOREACH_Grade( g ) { - if( !m_iNumSongsPassedByGrade[g] ) + if( !m_iNumStagesPassedByGrade[g] ) continue; - pNumSongsPassedByGrade->AppendChild( GradeToString(g), m_iNumSongsPassedByGrade[g] ); + pNumStagesPassedByGrade->AppendChild( GradeToString(g), m_iNumStagesPassedByGrade[g] ); } } { - XNode* pNumSongsPassedByPlayMode = pGeneralDataNode->AppendChild("NumSongsPassedByPlayMode"); + XNode* pNumStagesPassedByPlayMode = pGeneralDataNode->AppendChild("NumStagesPassedByPlayMode"); FOREACH_PlayMode( pm ) { /* Don't save unplayed PlayModes. */ - if( !m_iNumSongsPassedByPlayMode[pm] ) + if( !m_iNumStagesPassedByPlayMode[pm] ) continue; - pNumSongsPassedByPlayMode->AppendChild( PlayModeToString(pm), m_iNumSongsPassedByPlayMode[pm] ); + pNumStagesPassedByPlayMode->AppendChild( PlayModeToString(pm), m_iNumStagesPassedByPlayMode[pm] ); } } @@ -945,17 +945,17 @@ void Profile::LoadGeneralDataFromNode( const XNode* pNode ) } { - const XNode* pNumSongsPassedByGrade = pNode->GetChild("NumSongsPassedByGrade"); - if( pNumSongsPassedByGrade ) + const XNode* pNumStagesPassedByGrade = pNode->GetChild("NumStagesPassedByGrade"); + if( pNumStagesPassedByGrade ) FOREACH_Grade( g ) - pNumSongsPassedByGrade->GetChildValue( GradeToString(g), m_iNumSongsPassedByGrade[g] ); + pNumStagesPassedByGrade->GetChildValue( GradeToString(g), m_iNumStagesPassedByGrade[g] ); } { - const XNode* pNumSongsPassedByPlayMode = pNode->GetChild("NumSongsPassedByPlayMode"); - if( pNumSongsPassedByPlayMode ) + const XNode* pNumStagesPassedByPlayMode = pNode->GetChild("NumStagesPassedByPlayMode"); + if( pNumStagesPassedByPlayMode ) FOREACH_PlayMode( pm ) - pNumSongsPassedByPlayMode->GetChildValue( PlayModeToString(pm), m_iNumSongsPassedByPlayMode[pm] ); + pNumStagesPassedByPlayMode->GetChildValue( PlayModeToString(pm), m_iNumStagesPassedByPlayMode[pm] ); } diff --git a/stepmania/src/Profile.h b/stepmania/src/Profile.h index 908bb57618..9ea8d1ec02 100644 --- a/stepmania/src/Profile.h +++ b/stepmania/src/Profile.h @@ -116,8 +116,8 @@ public: map m_iNumSongsPlayedByStyle; int m_iNumSongsPlayedByDifficulty[NUM_DIFFICULTIES]; int m_iNumSongsPlayedByMeter[MAX_METER+1]; - int m_iNumSongsPassedByPlayMode[NUM_PLAY_MODES]; - int m_iNumSongsPassedByGrade[NUM_GRADES]; + int m_iNumStagesPassedByPlayMode[NUM_PLAY_MODES]; + int m_iNumStagesPassedByGrade[NUM_GRADES]; // // Song high scores diff --git a/stepmania/src/UnlockSystem.cpp b/stepmania/src/UnlockSystem.cpp index 56f3669619..6319b01189 100644 --- a/stepmania/src/UnlockSystem.cpp +++ b/stepmania/src/UnlockSystem.cpp @@ -130,8 +130,8 @@ static float GetArcadePoints( const Profile *pProfile ) switch(g) { case GRADE_TIER_1: - case GRADE_TIER_2: fAP += 9 * pProfile->m_iNumSongsPassedByGrade[g]; break; - default: fAP += 1 * pProfile->m_iNumSongsPassedByGrade[g]; break; + case GRADE_TIER_2: fAP += 9 * pProfile->m_iNumStagesPassedByGrade[g]; break; + default: fAP += 1 * pProfile->m_iNumStagesPassedByGrade[g]; break; case GRADE_FAILED: case GRADE_NO_DATA: @@ -164,13 +164,13 @@ static float GetSongPoints( const Profile *pProfile ) { switch( g ) { - case GRADE_TIER_1:/*AAAA*/ fSP += 20 * pProfile->m_iNumSongsPassedByGrade[g]; break; - case GRADE_TIER_2:/*AAA*/ fSP += 10* pProfile->m_iNumSongsPassedByGrade[g]; break; - case GRADE_TIER_3:/*AA*/ fSP += 5* pProfile->m_iNumSongsPassedByGrade[g]; break; - case GRADE_TIER_4:/*A*/ fSP += 4* pProfile->m_iNumSongsPassedByGrade[g]; break; - case GRADE_TIER_5:/*B*/ fSP += 3* pProfile->m_iNumSongsPassedByGrade[g]; break; - case GRADE_TIER_6:/*C*/ fSP += 2* pProfile->m_iNumSongsPassedByGrade[g]; break; - case GRADE_TIER_7:/*D*/ fSP += 1* pProfile->m_iNumSongsPassedByGrade[g]; break; + case GRADE_TIER_1:/*AAAA*/ fSP += 20 * pProfile->m_iNumStagesPassedByGrade[g]; break; + case GRADE_TIER_2:/*AAA*/ fSP += 10* pProfile->m_iNumStagesPassedByGrade[g]; break; + case GRADE_TIER_3:/*AA*/ fSP += 5* pProfile->m_iNumStagesPassedByGrade[g]; break; + case GRADE_TIER_4:/*A*/ fSP += 4* pProfile->m_iNumStagesPassedByGrade[g]; break; + case GRADE_TIER_5:/*B*/ fSP += 3* pProfile->m_iNumStagesPassedByGrade[g]; break; + case GRADE_TIER_6:/*C*/ fSP += 2* pProfile->m_iNumStagesPassedByGrade[g]; break; + case GRADE_TIER_7:/*D*/ fSP += 1* pProfile->m_iNumStagesPassedByGrade[g]; break; case GRADE_FAILED: case GRADE_NO_DATA: ; // no points