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
+2
View File
@@ -401,6 +401,8 @@ void ScoreKeeperMAX2::HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTa
SCREENMAN->PostMessageToTopScreen( SM_900Combo, 0 );
else if( CROSSED(1000))
SCREENMAN->PostMessageToTopScreen( SM_1000Combo, 0 );
else if( (iOldCombo / 100) < (iCurCombo / 100) && iCurCombo > 1000 )
SCREENMAN->PostMessageToTopScreen( SM_ComboContinuing, 0 );
// new max combo
GAMESTATE->m_CurStageStats.iMaxCombo[m_PlayerNumber] = max(GAMESTATE->m_CurStageStats.iMaxCombo[m_PlayerNumber], iCurCombo);
+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:
+2
View File
@@ -43,6 +43,7 @@ const ScreenMessage SM_800Combo = ScreenMessage(SM_User+207);
const ScreenMessage SM_900Combo = ScreenMessage(SM_User+208);
const ScreenMessage SM_1000Combo = ScreenMessage(SM_User+209);
const ScreenMessage SM_ComboStopped = ScreenMessage(SM_User+210);
const ScreenMessage SM_ComboContinuing = ScreenMessage(SM_User+211);
const ScreenMessage SM_BattleTrickLevel1 = ScreenMessage(SM_User+301);
const ScreenMessage SM_BattleTrickLevel2 = ScreenMessage(SM_User+302);
@@ -169,6 +170,7 @@ protected:
RandomSample m_announcer900Combo;
RandomSample m_announcer1000Combo;
RandomSample m_announcerComboStopped;
RandomSample m_announcerComboContinuing;
RandomSample m_announcerBattleTrickLevel1;
RandomSample m_announcerBattleTrickLevel2;
RandomSample m_announcerBattleTrickLevel3;