feat (RateModsAffectFGChanges): Actually implemented
I'm trying to transfer the nITG implementation for now
This commit is contained in:
+1
-1
@@ -730,7 +730,7 @@ void BackgroundImpl::Layer::UpdateCurBGChange( const Song *pSong, float fLastMus
|
|||||||
pSong->m_SongTiming.GetBeatAndBPSFromElapsedTime(beat_info);
|
pSong->m_SongTiming.GetBeatAndBPSFromElapsedTime(beat_info);
|
||||||
|
|
||||||
// Calls to Update() should *not* be scaled by music rate; fCurrentTime is. Undo it.
|
// Calls to Update() should *not* be scaled by music rate; fCurrentTime is. Undo it.
|
||||||
const float fRate = GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate;
|
const float fRate = PREFSMAN->m_bRateModsAffectTweens ? 1.0f : GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate;
|
||||||
|
|
||||||
// Find the BGSegment we're in
|
// Find the BGSegment we're in
|
||||||
const int i = FindBGSegmentForBeat(beat_info.beat);
|
const int i = FindBGSegmentForBeat(beat_info.beat);
|
||||||
|
|||||||
+1
-1
@@ -73,7 +73,7 @@ void Foreground::LoadFromSong( const Song *pSong )
|
|||||||
void Foreground::Update( float fDeltaTime )
|
void Foreground::Update( float fDeltaTime )
|
||||||
{
|
{
|
||||||
// Calls to Update() should *not* be scaled by music rate. Undo it.
|
// Calls to Update() should *not* be scaled by music rate. Undo it.
|
||||||
const float fRate = GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate;
|
const float fRate = PREFSMAN->m_bRateModsAffectTweens ? 1.0f : GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate;
|
||||||
|
|
||||||
for( unsigned i=0; i < m_BGAnimations.size(); ++i )
|
for( unsigned i=0; i < m_BGAnimations.size(); ++i )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -111,8 +111,10 @@ void PlayerOptions::Init()
|
|||||||
|
|
||||||
void PlayerOptions::Approach( const PlayerOptions& other, float fDeltaSeconds )
|
void PlayerOptions::Approach( const PlayerOptions& other, float fDeltaSeconds )
|
||||||
{
|
{
|
||||||
|
const float fRateMult = PREFSMAN->m_bRateModsAffectTweens ? GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate : 1.0f;
|
||||||
|
|
||||||
#define APPROACH( opt ) \
|
#define APPROACH( opt ) \
|
||||||
fapproach( m_ ## opt, other.m_ ## opt, fDeltaSeconds * other.m_Speed ## opt );
|
fapproach( m_ ## opt, other.m_ ## opt, fRateMult * fDeltaSeconds * other.m_Speed ## opt );
|
||||||
#define DO_COPY( x ) \
|
#define DO_COPY( x ) \
|
||||||
x = other.x;
|
x = other.x;
|
||||||
|
|
||||||
|
|||||||
+10
-1
@@ -1651,6 +1651,8 @@ void ScreenEdit::Update( float fDeltaTime )
|
|||||||
{
|
{
|
||||||
m_PlayerStateEdit.Update( fDeltaTime );
|
m_PlayerStateEdit.Update( fDeltaTime );
|
||||||
|
|
||||||
|
const float fRate = PREFSMAN->m_bRateModsAffectTweens ? GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate : 1.0f;
|
||||||
|
|
||||||
if( m_pSoundMusic->IsPlaying() )
|
if( m_pSoundMusic->IsPlaying() )
|
||||||
{
|
{
|
||||||
RageTimer tm;
|
RageTimer tm;
|
||||||
@@ -1755,7 +1757,14 @@ void ScreenEdit::Update( float fDeltaTime )
|
|||||||
}
|
}
|
||||||
|
|
||||||
//LOG->Trace( "ScreenEdit::Update(%f)", fDeltaTime );
|
//LOG->Trace( "ScreenEdit::Update(%f)", fDeltaTime );
|
||||||
ScreenWithMenuElements::Update( fDeltaTime );
|
if( m_EditState == STATE_PLAYING )
|
||||||
|
{
|
||||||
|
ScreenWithMenuElements::Update( fDeltaTime * fRate );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ScreenWithMenuElements::Update( fDeltaTime );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Update trailing beat
|
// Update trailing beat
|
||||||
|
|||||||
@@ -1701,7 +1701,8 @@ void ScreenGameplay::Update( float fDeltaTime )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Screen::Update( fDeltaTime );
|
const float fRate = PREFSMAN->m_bRateModsAffectTweens ? GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate : 1.0f;
|
||||||
|
Screen::Update( fDeltaTime * fRate );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This happens if ScreenDemonstration::HandleScreenMessage sets a new screen when
|
/* This happens if ScreenDemonstration::HandleScreenMessage sets a new screen when
|
||||||
|
|||||||
Reference in New Issue
Block a user