diff --git a/stepmania/src/BeginnerHelper.cpp b/stepmania/src/BeginnerHelper.cpp index db8fcd4cb0..b2c1bd4804 100644 --- a/stepmania/src/BeginnerHelper.cpp +++ b/stepmania/src/BeginnerHelper.cpp @@ -30,6 +30,7 @@ BeginnerHelper::BeginnerHelper() LOG->Trace("BeginnerHelper::BeginnerHelper()"); m_bFlashEnabled = false; m_bInitialized = false; + m_fLastBeatChecked = 0; this->AddChild(&m_sBackground); } @@ -220,29 +221,36 @@ void BeginnerHelper::Update( float fDeltaTime ) if(!m_bInitialized) return; + // the beat we want to check on this update + float fCurBeat = GAMESTATE->m_fSongBeat + 0.5f; + for(int pn = 0; pn < NUM_PLAYERS; pn++ ) { if( !( GAMESTATE->IsPlayerEnabled(pn) && GAMESTATE->m_pCurNotes[pn]->GetDifficulty() == DIFFICULTY_BEGINNER) ) continue; // skip - int iStep = 0; if( (m_NoteData[pn].IsThereATapAtRow( BeatToNoteRowNotRounded((GAMESTATE->m_fSongBeat+0.01f)) ) ) ) FlashOnce(); - if((m_NoteData[pn].IsThereATapAtRow( BeatToNoteRowNotRounded((GAMESTATE->m_fSongBeat+0.5f))))) + for(float fBeat=m_fLastBeatChecked; fBeatm_fSongBeat+0.5f)) ) == TAP_TAP ) - { - switch(k) + if((m_NoteData[pn].IsThereATapAtRow( BeatToNoteRowNotRounded(fBeat)))) + { + int iStep = 0; + for( int k=0; k