From 43be2063b68fc7a359e6d43ff75e580f2d7d8a35 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 16 Jan 2003 05:09:13 +0000 Subject: [PATCH] speed up score tween during sort change fix it flying off screen when changing sorts more than once add new tween mechanism for tweens that interrupt current tweens but end up coming back to the same place when they're done --- stepmania/src/ScreenSelectMusic.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 60574cd125..80c48fb3c1 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -360,6 +360,9 @@ void ScreenSelectMusic::TweenScoreOnAndOffAfterChangeSort() if( !SCORE_CONNECTED_TO_MUSIC_WHEEL ) return; // do nothing + /* XXX metric this with MusicWheel::TweenOnScreen */ + float factor = 0.25f; + vector apActorsInScore; for( int p=0; pGetDestTweenState(); + apActorsInScore[i]->StopTweening(); float fOriginalX = apActorsInScore[i]->GetX(); - apActorsInScore[i]->BeginTweening( TWEEN_TIME, TWEEN_BIAS_END ); // tween off screen + apActorsInScore[i]->BeginTweening( factor*TWEEN_TIME, TWEEN_BIAS_END ); // tween off screen apActorsInScore[i]->SetTweenX( fOriginalX+400 ); - apActorsInScore[i]->BeginTweening( 0.5f ); // sleep + apActorsInScore[i]->BeginTweening( factor*0.5f ); // sleep - apActorsInScore[i]->BeginTweening( 1, TWEEN_BIAS_BEGIN ); // tween back on screen - apActorsInScore[i]->SetTweenX( fOriginalX ); + /* Go back to where we were (or to where we were going.) */ + apActorsInScore[i]->BeginTweening( factor*1, TWEEN_BIAS_BEGIN ); // tween back on screen + apActorsInScore[i]->SetTweenState(original); } }