BUG FIX: MusicWheel now tweens off screen and Music comment plays

This commit is contained in:
Chris Danford
2002-01-18 21:19:05 +00:00
parent e3be3fd93d
commit c8f16c75c1
3 changed files with 63 additions and 20 deletions
+32 -9
View File
@@ -189,7 +189,7 @@ MusicWheel::MusicWheel()
// fade the wheel in
m_WheelState = STATE_FADING_ON;
m_WheelState = STATE_IDLE;
m_fTimeLeftInState = FADE_TIME;
@@ -316,19 +316,32 @@ float MusicWheel::GetBannerBrightness( float fPosOffsetsFromMiddle )
float MusicWheel::GetBannerAlpha( float fPosOffsetsFromMiddle )
{
if( m_WheelState == STATE_FADING_OFF )
if( m_WheelState == STATE_FLYING_OFF_BEFORE_NEXT_SORT
|| m_WheelState == STATE_TWEENING_OFF_SCREEN )
{
return m_fTimeLeftInState / FADE_TIME;
else if( m_WheelState == STATE_FADING_ON )
}
else if( m_WheelState == STATE_FLYING_ON_AFTER_NEXT_SORT
|| m_WheelState == STATE_TWEENING_ON_SCREEN )
{
return 1 - (m_fTimeLeftInState / FADE_TIME);
}
else if( m_WheelState == STATE_WAITING_OFF_SCREEN )
{
return 0;
}
else
{
return 1;
}
}
float MusicWheel::GetBannerX( float fPosOffsetsFromMiddle )
{
float fX = (1-cos((fPosOffsetsFromMiddle)/3))*95.0f;
if( m_WheelState == STATE_FADING_OFF )
if( m_WheelState == STATE_FLYING_OFF_BEFORE_NEXT_SORT
|| m_WheelState == STATE_TWEENING_OFF_SCREEN )
{
float fDistFromCenter = fabs( fPosOffsetsFromMiddle );
float fPercentOffScreen = 1- (m_fTimeLeftInState / FADE_TIME);
@@ -337,7 +350,8 @@ float MusicWheel::GetBannerX( float fPosOffsetsFromMiddle )
float fXPixelOffset = fXLogicalOffset * 600;
fX += fXPixelOffset;
}
else if( m_WheelState == STATE_FADING_ON )
else if( m_WheelState == STATE_FLYING_ON_AFTER_NEXT_SORT
|| m_WheelState == STATE_TWEENING_ON_SCREEN )
{
float fDistFromCenter = fabs( fPosOffsetsFromMiddle );
float fPercentOffScreen = m_fTimeLeftInState / FADE_TIME;
@@ -427,9 +441,9 @@ void MusicWheel::Update( float fDeltaTime )
m_WheelState = STATE_IDLE; // now, wait for input
PlayMusicSample();
break;
case STATE_FADING_OFF:
case STATE_FLYING_OFF_BEFORE_NEXT_SORT:
{
m_WheelState = STATE_FADING_ON;
m_WheelState = STATE_FLYING_ON_AFTER_NEXT_SORT;
m_fTimeLeftInState = FADE_TIME;
Song* pPrevSelectedSong = m_WheelItems[m_iSelection].m_pSong;
@@ -454,10 +468,19 @@ void MusicWheel::Update( float fDeltaTime )
}
}
break;
case STATE_FADING_ON:
case STATE_FLYING_ON_AFTER_NEXT_SORT:
PlayMusicSample();
m_WheelState = STATE_IDLE; // now, wait for input
break;
case STATE_TWEENING_ON_SCREEN:
PlayMusicSample();
m_WheelState = STATE_IDLE;
m_fTimeLeftInState = 0;
break;
case STATE_TWEENING_OFF_SCREEN:
m_WheelState = STATE_WAITING_OFF_SCREEN;
m_fTimeLeftInState = 0;
break;
case STATE_IDLE:
m_fTimeLeftInState = 0;
break;
@@ -510,7 +533,7 @@ void MusicWheel::NextSort()
m_MusicSortDisplay.BeginTweening( FADE_TIME, TWEEN_BIAS_END );
m_MusicSortDisplay.SetTweenXY( SORT_ICON_OFF_SCREEN_X, SORT_ICON_OFF_SCREEN_Y );
m_WheelState = STATE_FADING_OFF;
m_WheelState = STATE_FLYING_OFF_BEFORE_NEXT_SORT;
m_fTimeLeftInState = FADE_TIME;
}
+15 -3
View File
@@ -78,8 +78,11 @@ class MusicWheel : public ActorFrame
public:
MusicWheel();
void Update( float fDeltaTime );
void RenderPrimitives();
virtual void Update( float fDeltaTime );
virtual void RenderPrimitives();
virtual void TweenOnScreen() { m_WheelState = STATE_TWEENING_ON_SCREEN; m_fTimeLeftInState = FADE_TIME; };
virtual void TweenOffScreen() { m_WheelState = STATE_TWEENING_OFF_SCREEN; m_fTimeLeftInState = FADE_TIME; };
void PrevMusic();
void NextMusic();
@@ -114,7 +117,16 @@ protected:
CString m_sExpandedSectionName;
enum WheelState { STATE_IDLE, STATE_SWITCHING_TO_PREV_MUSIC, STATE_SWITCHING_TO_NEXT_MUSIC, STATE_FADING_OFF, STATE_FADING_ON };
enum WheelState {
STATE_IDLE,
STATE_SWITCHING_TO_PREV_MUSIC,
STATE_SWITCHING_TO_NEXT_MUSIC,
STATE_FLYING_OFF_BEFORE_NEXT_SORT,
STATE_FLYING_ON_AFTER_NEXT_SORT,
STATE_TWEENING_ON_SCREEN,
STATE_TWEENING_OFF_SCREEN,
STATE_WAITING_OFF_SCREEN
};
WheelState m_WheelState;
float m_fTimeLeftInState;
+16 -8
View File
@@ -564,14 +564,6 @@ SOURCE=.\BitmapText.h
# End Source File
# Begin Source File
SOURCE=.\BlurredSprite.cpp
# End Source File
# Begin Source File
SOURCE=.\BlurredSprite.h
# End Source File
# Begin Source File
SOURCE=.\BPMDisplay.cpp
# End Source File
# Begin Source File
@@ -588,6 +580,14 @@ SOURCE=.\ColorArrow.h
# End Source File
# Begin Source File
SOURCE=.\FocusingSprite.cpp
# End Source File
# Begin Source File
SOURCE=.\FocusingSprite.h
# End Source File
# Begin Source File
SOURCE=.\GhostArrow.cpp
# End Source File
# Begin Source File
@@ -636,6 +636,14 @@ SOURCE=.\MiniBackground.h
# End Source File
# Begin Source File
SOURCE=.\MotionBlurSprite.cpp
# End Source File
# Begin Source File
SOURCE=.\MotionBlurSprite.h
# End Source File
# Begin Source File
SOURCE=.\MusicSortDisplay.cpp
# End Source File
# Begin Source File