Add support for a few announcer triggers;

gameplay oni fail
gameplay oni fail halfway (may as well, used in extreme)
gameplay combo overflow (for multiples of 100 over 1000)

Hm. neither of the oni fail ones are actually oni-specific (are used with any course mode).
This commit is contained in:
Chris Gomez
2003-08-25 17:15:47 +00:00
parent 56dc2e40fd
commit a970766dff
3 changed files with 21 additions and 3 deletions
+17 -3
View File
@@ -572,6 +572,7 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration ) : Screen("ScreenGameplay")
m_announcer900Combo.Load( ANNOUNCER->GetPathTo("gameplay 900 combo") );
m_announcer1000Combo.Load( ANNOUNCER->GetPathTo("gameplay 1000 combo") );
m_announcerComboStopped.Load( ANNOUNCER->GetPathTo("gameplay combo stopped") );
m_announcerComboContinuing.Load(ANNOUNCER->GetPathTo("gameplay combo overflow") );
m_soundAssistTick.Load( THEME->GetPathToS("ScreenGameplay assist tick") );
switch( GAMESTATE->m_PlayMode )
@@ -1663,7 +1664,13 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
m_fTimeLeftBeforeDancingComment = SECONDS_BETWEEN_COMMENTS;
}
break;
case SM_ComboContinuing:
if( SECS_SINCE_LAST_COMMENT > 2 )
{
m_announcerComboContinuing.PlayRandom();
m_fTimeLeftBeforeDancingComment = SECONDS_BETWEEN_COMMENTS;
}
break;
case SM_BattleTrickLevel1:
if( SECS_SINCE_LAST_COMMENT > 3 )
{
@@ -1766,8 +1773,15 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
if (PREFSMAN->m_bUseUnlockSystem)
GAMESTATE->m_pUnlockingSys->UnlockFailExtraStage();
}
SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("gameplay failed") );
// Feels hackish. Feel free to make cleaner.
if(GAMESTATE->IsCourseMode())
if(GAMESTATE->GetCourseSongIndex() > (int(m_apSongsQueue.size() / 2) - 1 ) && GAMESTATE->GetCourseSongIndex() < (int(m_apSongsQueue.size() / 2) + 1))
SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo( "gameplay oni failed halfway" ) );
else
SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo( "gameplay oni failed" ) );
else
SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("gameplay failed") );
break;
case SM_GoToScreenAfterFail: