diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 773ac26795..ebe1f5e183 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,8 +8,14 @@ ________________________________________________________________________________ StepMania 5.0 $next | 2011???? -------------------------------------------------------------------------------- +2011/09/11 +---------- +* [ScreenEvaluation] Added "evaluation full combo W1" and + "evaluation full combo W2" announcer cues. [AJ] + 2011/09/09 -* [NotesLoaderBMS] Rewrite the BMS loader, should fix 430, 500. [theDtTvB] +---------- +* [NotesLoaderBMS] Rewrite the BMS loader, should fix issues 430 and 500. [theDtTvB] 2011/09/08 ---------- diff --git a/src/ScreenEvaluation.cpp b/src/ScreenEvaluation.cpp index 8d3a55d541..a75413fb9d 100644 --- a/src/ScreenEvaluation.cpp +++ b/src/ScreenEvaluation.cpp @@ -608,9 +608,26 @@ void ScreenEvaluation::Init() // init records area bool bOneHasNewTopRecord = false; + bool bOneHasFullW1Combo = false; + bool bOneHasFullW2Combo = false; + FOREACH_PlayerNumber( p ) - if( GAMESTATE->IsPlayerEnabled(p) && (m_pStageStats->m_player[p].m_iMachineHighScoreIndex == 0 || m_pStageStats->m_player[p].m_iPersonalHighScoreIndex == 0) ) - bOneHasNewTopRecord = true; + { + if(GAMESTATE->IsPlayerEnabled(p)) + { + if( (m_pStageStats->m_player[p].m_iMachineHighScoreIndex == 0 || + m_pStageStats->m_player[p].m_iPersonalHighScoreIndex == 0) ) + { + bOneHasNewTopRecord = true; + } + + if( m_pStageStats->m_player[p].FullComboOfScore(TNS_W2) ) + bOneHasFullW2Combo = true; + + if( m_pStageStats->m_player[p].FullComboOfScore(TNS_W1) ) + bOneHasFullW1Combo = true; + } + } Grade best_grade = Grade_NoData; FOREACH_PlayerNumber( p ) @@ -620,10 +637,15 @@ void ScreenEvaluation::Init() { SOUND->PlayOnce( THEME->GetPathS(m_sName,"try " + EarnedExtraStageToString(m_pStageStats->m_EarnedExtraStage)) ); } - else if( bOneHasNewTopRecord && ANNOUNCER->HasSoundsFor("evaluation new record") ) + else if( bOneHasNewTopRecord && ANNOUNCER->HasSoundsFor("evaluation new record") ) { SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation new record") ); } + else if( (bOneHasFullW1Combo || bOneHasFullW2Combo) ) + { + RString sComboType = bOneHasFullW1Combo ? "W1" : "W2"; + SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation full combo "+sComboType) ); + } else { if( SUMMARY || GAMESTATE->IsCourseMode() ) @@ -637,10 +659,8 @@ void ScreenEvaluation::Init() case PLAY_MODE_BATTLE: { bool bWon = GAMESTATE->GetStageResult(GAMESTATE->GetMasterPlayerNumber()) == RESULT_WIN; - if( bWon ) - SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation win") ); - else - SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation lose") ); + RString sResult = bWon ? "win" : "lose"; + SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation "+sResult) ); } break; default: