From fa0b14d4e43e28ed181f17b9a1469eb3fde4ae9f Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 21 Jul 2011 12:38:17 -0400 Subject: [PATCH] Untested F9/F10 sync code for split timing. Let someone else try this I think. --- src/ScreenSyncOverlay.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/ScreenSyncOverlay.cpp b/src/ScreenSyncOverlay.cpp index af5b52cf44..5797634cc1 100644 --- a/src/ScreenSyncOverlay.cpp +++ b/src/ScreenSyncOverlay.cpp @@ -225,8 +225,17 @@ bool ScreenSyncOverlay::OverlayInput( const InputEventPlus &input ) } if( GAMESTATE->m_pCurSong != NULL ) { - BPMSegment * seg = GAMESTATE->m_pCurSong->m_SongTiming.GetBPMSegmentAtBeat( GAMESTATE->m_Position.m_fSongBeat ); + TimingData &sTiming = GAMESTATE->m_pCurSong->m_SongTiming; + BPMSegment * seg = sTiming.GetBPMSegmentAtBeat( GAMESTATE->m_Position.m_fSongBeat ); seg->SetBPS( seg->GetBPS() + fDelta ); + const vector& vpSteps = GAMESTATE->m_pCurSong->GetAllSteps(); + FOREACH( Steps*, const_cast&>(vpSteps), s ) + { + TimingData &pTiming = (*s)->m_Timing; + float second = sTiming.GetElapsedTimeFromBeat(GAMESTATE->m_Position.m_fSongBeat); + seg = pTiming.GetBPMSegmentAtBeat(pTiming.GetBeatFromElapsedTime(second)); + seg->SetBPS( seg->GetBPS() + fDelta ); + } } } break;