From be223e7d869002cd6e87307f9d513190153ba14c Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 14 Mar 2004 19:55:17 +0000 Subject: [PATCH] fix expand in/out transition --- stepmania/src/ArrowEffects.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/stepmania/src/ArrowEffects.cpp b/stepmania/src/ArrowEffects.cpp index a5dd6f4d6d..5f39ec2f56 100644 --- a/stepmania/src/ArrowEffects.cpp +++ b/stepmania/src/ArrowEffects.cpp @@ -87,7 +87,7 @@ float ArrowGetYOffset( PlayerNumber pn, int iCol, float fNoteBeat ) if( fAccels[PlayerOptions::ACCEL_BOOMERANG] > 0 ) fYOffset += fAccels[PlayerOptions::ACCEL_BOOMERANG] * (fYOffset * SCALE( fYOffset, 0.f, SCREEN_HEIGHT, 1.5f, 0.5f )- fYOffset); - fYOffset *= GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed; + float fScrollSpeed = GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed; if( fAccels[PlayerOptions::ACCEL_EXPAND] > 0 ) { @@ -97,10 +97,12 @@ float ArrowGetYOffset( PlayerNumber pn, int iCol, float fNoteBeat ) g_fExpandSeconds += timerExpand.GetDeltaTime(); else timerExpand.GetDeltaTime(); // throw away - float fExpandScrollMultiplier = fAccels[PlayerOptions::ACCEL_EXPAND] * SCALE( cosf(g_fExpandSeconds*3), -1, 1, 0.5f, 1.5f ); - fYOffset *= fExpandScrollMultiplier; + float fExpandMultiplier = SCALE( cosf(g_fExpandSeconds*3), -1, 1, 0.5f, 1.5f ); + fScrollSpeed *= SCALE( fAccels[PlayerOptions::ACCEL_EXPAND], 0.f, 1.f, 1.f, fExpandMultiplier ); } + fYOffset *= fScrollSpeed; + return fYOffset; }