From e0abda3d24110ba9673f862529b26a3bc3473ffd Mon Sep 17 00:00:00 2001 From: teejusb <5017202+teejusb@users.noreply.github.com> Date: Fri, 22 Oct 2021 17:17:48 -0700 Subject: [PATCH] Make use of the m_fVisualDelay value --- src/GameState.cpp | 3 ++- src/SongPosition.cpp | 4 ++-- src/SongPosition.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/GameState.cpp b/src/GameState.cpp index 51852c9a51..148e8e0562 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -1271,7 +1271,8 @@ void GameState::UpdateSongPosition( float fPositionSeconds, const TimingData &ti { if( m_pCurSteps[pn] ) { - m_pPlayerState[pn]->m_Position.UpdateSongPosition( fPositionSeconds, *m_pCurSteps[pn]->GetTimingData(), timestamp ); + float fAdditionalVisualDelay = m_pPlayerState[pn]->m_PlayerOptions.GetPreferred().m_fVisualDelay; + m_pPlayerState[pn]->m_Position.UpdateSongPosition( fPositionSeconds, *m_pCurSteps[pn]->GetTimingData(), timestamp, fAdditionalVisualDelay ); Actor::SetPlayerBGMBeat( pn, m_pPlayerState[pn]->m_Position.m_fSongBeatVisible, m_pPlayerState[pn]->m_Position.m_fSongBeatNoOffset ); } } diff --git a/src/SongPosition.cpp b/src/SongPosition.cpp index 2668d0043a..4804bb29da 100644 --- a/src/SongPosition.cpp +++ b/src/SongPosition.cpp @@ -3,7 +3,7 @@ static Preference g_fVisualDelaySeconds( "VisualDelaySeconds", 0.0f ); -void SongPosition::UpdateSongPosition( float fPositionSeconds, const TimingData &timing, const RageTimer ×tamp ) +void SongPosition::UpdateSongPosition( float fPositionSeconds, const TimingData &timing, const RageTimer ×tamp, float fAdditionalVisualDelay ) { if( !timestamp.IsZero() ) @@ -31,7 +31,7 @@ void SongPosition::UpdateSongPosition( float fPositionSeconds, const TimingData m_fSongBeatNoOffset = timing.GetBeatFromElapsedTimeNoOffset( fPositionSeconds ); - m_fMusicSecondsVisible = fPositionSeconds - g_fVisualDelaySeconds.Get(); + m_fMusicSecondsVisible = fPositionSeconds - g_fVisualDelaySeconds.Get() - fAdditionalVisualDelay; beat_info.elapsed_time= m_fMusicSecondsVisible; timing.GetBeatAndBPSFromElapsedTime(beat_info); m_fSongBeatVisible= beat_info.beat; diff --git a/src/SongPosition.h b/src/SongPosition.h index 314629b702..fa8f39d57b 100644 --- a/src/SongPosition.h +++ b/src/SongPosition.h @@ -34,7 +34,7 @@ public: float m_fSongBeatVisible; void Reset(); - void UpdateSongPosition( float fPositionSeconds, const TimingData &timing, const RageTimer ×tamp = RageZeroTimer ); + void UpdateSongPosition( float fPositionSeconds, const TimingData &timing, const RageTimer ×tamp = RageZeroTimer, float fAdditionalVisualDelay = 0.0f ); // Lua void PushSelf( lua_State *L );