From d7626f6004975aa94d003ccc4645b5dab5bd8531 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Thu, 5 Sep 2002 03:45:07 +0000 Subject: [PATCH] Fixed missing/wrong theme elements --- stepmania/NEWS | 6 ++- stepmania/TODO.chris | 21 ++++---- stepmania/Themes/default/metrics.ini | 18 ++++--- stepmania/src/ArrowEffects.cpp | 18 +++++-- stepmania/src/ArrowEffects.h | 4 +- stepmania/src/Banner.cpp | 8 +++ stepmania/src/Banner.h | 6 +-- stepmania/src/CourseContentsFrame.cpp | 8 ++- stepmania/src/NoteDisplay.cpp | 75 +++++++++++++++------------ stepmania/src/NoteField.cpp | 38 +------------- stepmania/src/Player.cpp | 9 +++- stepmania/src/Player.h | 2 +- stepmania/src/ScoreDisplayOni.cpp | 4 +- stepmania/src/ScreenEvaluation.cpp | 7 +-- stepmania/src/ScreenHowToPlay.cpp | 6 ++- stepmania/src/ScreenMusicScroll.cpp | 1 + stepmania/src/ScreenOptions.cpp | 11 ++-- stepmania/src/ScreenSelectCourse.cpp | 69 ++++++++++-------------- stepmania/src/ScreenSelectCourse.h | 1 + 19 files changed, 157 insertions(+), 155 deletions(-) diff --git a/stepmania/NEWS b/stepmania/NEWS index 63f2fdcc8d..5904eeacf8 100644 --- a/stepmania/NEWS +++ b/stepmania/NEWS @@ -1,5 +1,9 @@ ------------------------CVS after 3.00 beta 6---------------- -CHANGE: Font format is not simpler. See README for details. +CHANGE: Hold head now drawn in place tap note graphic when a Hold starts + on the same row. +CHANGE: Added bright ghost flash on hold note score of OK. +CHANGE: Font format new easier to export for font creators. See README + for details. NEW FEATURE: Option Icons. NEW FEATURE: Best sort now shows only top 30 songs. NEW FEATURE: Option codes on the Select Music and Select Course screens diff --git a/stepmania/TODO.chris b/stepmania/TODO.chris index fdfbd17cbc..8bd287a50a 100644 --- a/stepmania/TODO.chris +++ b/stepmania/TODO.chris @@ -2,6 +2,9 @@ Fix ///////////////////////// +arcade mode + +about us page new phpwebhosting account @@ -27,15 +30,13 @@ precise timing adjustment draw taps on same row as hold with hold head -texture cache - max style lifemeter animation -TICK_MELODY - 164 theme -pause in course contents scroll +warning + +name entry gap between wheel items @@ -47,18 +48,20 @@ ready, here we go between each stage of a course send disc to Penny Arcade -danger BGA, danger movie - different top bar frame for oni -move NoteSkin to Theme - ///////////////////// Punt: ///////////////////// texture cache +move NoteSkin to Theme + +TICK_MELODY + +texture cache + groove radar smoothing and texture effects couple changes diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index bb8db4ca0c..e1632c618c 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -211,18 +211,20 @@ TimerSeconds=60 ScoreConnectedToMusicWheel=1 [ScreenSelectCourse] +ExplanationX=132 +ExplanationY=68 BannerFrameX=160 -BannerFrameY=118 +BannerFrameY=158 BannerX=150 -BannerY=132 +BannerY=172 BannerWidth=286 BannerHeight=92 StagesX=58 -StagesY=74 +StagesY=114 TimeX=192 -TimeY=74 +TimeY=114 ContentsX=160 -ContentsY=320 +ContentsY=336 WheelX=480 WheelY=248 ScoreP1X=520 @@ -302,8 +304,8 @@ StageY=64 GradeP1X=94 GradeP2X=546 GradeY=100 -PercentBaseP1X=130 -PercentBaseP2X=582 +PercentBaseP1X=120 +PercentBaseP2X=572 PercentBaseY=134 JudgeLabelsX=320 PerfectP1X=230 @@ -538,7 +540,7 @@ StageColor5=0.4,0.4,0.9,1 // light blue StageColorFinal=1.0,0.1,0.1,1 // red StageColorExtra1=1.0,1,0.3,1 // yellow StageColorExtra2=1.0,1,0.3,1 // yellow -StageColorOni=1.0,0.1,0.1,1 // red +StageColorOni=0.3,1.0,0.3,1 // green StageTextDemo=Demo StageTextFinal=Final StageTextExtra1=Extra diff --git a/stepmania/src/ArrowEffects.cpp b/stepmania/src/ArrowEffects.cpp index ac43ff31e5..215310abf3 100644 --- a/stepmania/src/ArrowEffects.cpp +++ b/stepmania/src/ArrowEffects.cpp @@ -129,13 +129,23 @@ float ArrowGetPercentVisible( PlayerNumber pn, float fYPos ) return clamp( fAlpha, 0, 1 ); } -float ArrowGetAlpha( PlayerNumber pn, float fYPos ) +float ArrowGetAlpha( PlayerNumber pn, float fYPos, float fPercentFadeToFail ) { - return (ArrowGetPercentVisible(pn,fYPos) > 0.5f) ? 1.0f : 0.0f; + float fPercentVisible = ArrowGetPercentVisible(pn,fYPos); + + if( fPercentFadeToFail != -1 ) + fPercentVisible = 1 - fPercentFadeToFail; + + return (fPercentVisible>0.5f) ? 1.0f : 0.0f; } -float ArrowGetGlow( PlayerNumber pn, float fYPos ) +float ArrowGetGlow( PlayerNumber pn, float fYPos, float fPercentFadeToFail ) { - const float fDistFromHalf = fabsf( ArrowGetPercentVisible(pn,fYPos) - 0.5f ); + float fPercentVisible = ArrowGetPercentVisible(pn,fYPos); + + if( fPercentFadeToFail != -1 ) + fPercentVisible = 1 - fPercentFadeToFail; + + const float fDistFromHalf = fabsf( fPercentVisible - 0.5f ); return SCALE( fDistFromHalf, 0, 0.5f, 1.3f, 0 ); } diff --git a/stepmania/src/ArrowEffects.h b/stepmania/src/ArrowEffects.h index 5549d0a2ba..e1b5fb5607 100644 --- a/stepmania/src/ArrowEffects.h +++ b/stepmania/src/ArrowEffects.h @@ -44,10 +44,10 @@ float ArrowGetXPos( PlayerNumber pn, int iCol, float fYPos ); // fAlpha is the transparency of the arrow. It depends on fYPos and the // ArrowAppearance. -float ArrowGetAlpha( PlayerNumber pn, float fYPos ); +float ArrowGetAlpha( PlayerNumber pn, float fYPos, float fPercentFadeToFail ); // fAlpha is the transparency of the arrow. It depends on fYPos and the // ArrowAppearance. -float ArrowGetGlow( PlayerNumber pn, float fYPos ); +float ArrowGetGlow( PlayerNumber pn, float fYPos, float fPercentFadeToFail ); diff --git a/stepmania/src/Banner.cpp b/stepmania/src/Banner.cpp index 694fd10d21..39522f53d6 100644 --- a/stepmania/src/Banner.cpp +++ b/stepmania/src/Banner.cpp @@ -16,6 +16,14 @@ #include "SongManager.h" #include "RageBitmapTexture.h" +Banner::Banner() +{ + m_bScrolling = false; + m_fPercentScrolling = 0; + + Banner::Load( THEME->GetPathTo("Graphics","fallback banner") ); +} + bool Banner::Load( CString sFilePath, bool bForceReload, int iMipMaps, int iAlphaBits, bool bDither, bool bStretch ) { // note that the defaults are changes for faster loading diff --git a/stepmania/src/Banner.h b/stepmania/src/Banner.h index 59671b1f52..4127eae7f5 100644 --- a/stepmania/src/Banner.h +++ b/stepmania/src/Banner.h @@ -18,11 +18,7 @@ class Course; class Banner : public CroppedSprite { public: - Banner() - { - m_bScrolling = false; - m_fPercentScrolling = 0; - }; + Banner(); virtual bool Load( CString sFilePath, bool bForceReload = false, int iMipMaps = 0, int iAlphaBits = 0, bool bDither = false, bool bStretch = false ); diff --git a/stepmania/src/CourseContentsFrame.cpp b/stepmania/src/CourseContentsFrame.cpp index 7b9b24e500..9c1103f104 100644 --- a/stepmania/src/CourseContentsFrame.cpp +++ b/stepmania/src/CourseContentsFrame.cpp @@ -49,7 +49,7 @@ CourseContentDisplay::CourseContentDisplay() m_TextBanner.SetXY( TEXT_BANNER_X, TEXT_BANNER_Y ); this->AddChild( &m_TextBanner ); - m_textFoot.LoadFromFont( THEME->GetPathTo("Fonts","meter") ); + m_textFoot.LoadFromTextureAndChars( THEME->GetPathTo("Graphics","select music meter 2x1"),"10" ); m_textFoot.SetXY( FOOT_X, FOOT_Y ); m_textFoot.TurnShadowOff(); this->AddChild( &m_textFoot ); @@ -153,7 +153,11 @@ void CourseContentsFrame::DrawPrimitives() int iItemToDraw = (int)m_fItemAtTopOfList; - float fY = (iItemToDraw-m_fItemAtTopOfList-(MAX_VISIBLE_CONTENTS-1)/2) * CONTENTS_BAR_HEIGHT; + // HACK: Insert a little pause as a new item appears on the screen + float fRemainder = m_fItemAtTopOfList - (int)m_fItemAtTopOfList; + fRemainder = min( fRemainder*1.5f, 1 ); + + float fY = (-fRemainder-(MAX_VISIBLE_CONTENTS-1)/2) * CONTENTS_BAR_HEIGHT; for( int i=0; i= 0 ) - m_fPercentFadeToFail = min( m_fPercentFadeToFail + fDeltaTime/3, 1 ); // take 3 seconds to totally fade + m_fPercentFadeToFail = min( m_fPercentFadeToFail + fDeltaTime/1.5, 1 ); // take 1.5 seconds to totally fade } - - - -/* -void NoteField::CreateTapNoteInstance( ColorNoteInstance &cni, const int iCol, const float fIndex, const bool bUseHoldNoteBeginColor ) -{ - const float fYOffset = ArrowGetYOffset( m_PlayerNumber, fIndex ); - const float fYPos = ArrowGetYPos( m_PlayerNumber, fYOffset ); - const float fRotation = ArrowGetRotation( m_PlayerNumber, iCol, fYOffset ); - const float fXPos = ArrowGetXPos( m_PlayerNumber, iCol, fYOffset ); - float fAlpha = ArrowGetAlpha( m_PlayerNumber, fYPos ); - - if( m_fPercentFadeToFail != -1 ) - fAlpha = 1-m_fPercentFadeToFail; - - D3DXCOLOR colorLeading, colorTrailing; // of the color part. Alpha here be overwritten with fAlpha! - if( bUseHoldNoteBeginColor ) - colorLeading = colorTrailing = m_ColorNote[iCol].GetHoldColorFromPercentIntoHold( 0 ); - else - m_ColorNote[iCol].GetEdgeColorsFromIndexAndBeat( roundf(fIndex), colorLeading, colorTrailing ); - - float fAddAlpha = m_ColorNote[iCol].GetAddAlphaFromDiffuseAlpha( fAlpha ); - int iColorPartFrameNo = m_ColorNote[iCol].GetColorPartFrameNoFromIndexAndBeat( roundf(fIndex), GAMESTATE->m_fSongBeat ); - int iGrayPartFrameNo = m_ColorNote[iCol].GetGrayPartFrameNoFromIndexAndBeat( roundf(fIndex), GAMESTATE->m_fSongBeat ); - - if( iCol == 2 ) - printf( "iColorPartFrameNo = %d\n", iColorPartFrameNo ); - - cni = ColorNoteInstance( fXPos, fYPos, fRotation, fAlpha, colorLeading, colorTrailing, fAddAlpha, iColorPartFrameNo, iGrayPartFrameNo ); -} - -void NoteField::CreateHoldNoteInstance( ColorNoteInstance &cni, const bool bActive, const float fIndex, const HoldNote &hn, const float fHoldNoteLife ) -{ -} -*/ - void NoteField::DrawMeasureBar( int iMeasureIndex ) { const int iMeasureNoDisplay = iMeasureIndex+1; diff --git a/stepmania/src/Player.cpp b/stepmania/src/Player.cpp index e8001e7126..491473e8a0 100644 --- a/stepmania/src/Player.cpp +++ b/stepmania/src/Player.cpp @@ -261,6 +261,7 @@ void Player::Update( float fDeltaTime ) fLife = 1; hns = HNS_OK; HandleNoteScore( hns ); + m_GhostArrowRow.TapNote( StyleI.col, TNS_PERFECT, true ); // bright ghost flash m_HoldJudgement[hn.m_iTrack].SetHoldJudgement( HNS_OK ); m_NoteField.m_fHoldNoteLife[i] = fLife; // update the NoteField display m_NoteField.m_HoldNoteScores[i] = HNS_OK; // update the NoteField display @@ -627,7 +628,13 @@ void Player::HandleNoteScore( HoldNoteScore score ) // HoldNoteScores don't effect m_fScore } + float Player::GetMaxBeatDifference() { return GAMESTATE->m_fCurBPS * PREFSMAN->m_fJudgeWindow * GAMESTATE->m_SongOptions.m_fMusicRate; -} \ No newline at end of file +} + +void Player::FadeToFail() +{ + m_NoteField.FadeToFail(); +} diff --git a/stepmania/src/Player.h b/stepmania/src/Player.h index 4607b6c09d..f929323bff 100644 --- a/stepmania/src/Player.h +++ b/stepmania/src/Player.h @@ -46,7 +46,7 @@ public: void Step( int col ); - void FadeToFail() { m_NoteField.FadeToFail(); }; + void FadeToFail(); protected: int UpdateTapNotesMissedOlderThan( float fMissIfOlderThanThisBeat ); diff --git a/stepmania/src/ScoreDisplayOni.cpp b/stepmania/src/ScoreDisplayOni.cpp index e6e8a0942a..b9d29df2c2 100644 --- a/stepmania/src/ScoreDisplayOni.cpp +++ b/stepmania/src/ScoreDisplayOni.cpp @@ -1,7 +1,7 @@ #include "stdafx.h" /* ----------------------------------------------------------------------------- - Class: ScoreDisplayOni.h + Class: ScoreDisplayOni Desc: A graphic displayed in the ScoreDisplayOni during Dancing. @@ -26,7 +26,7 @@ ScoreDisplayOni::ScoreDisplayOni() LOG->Trace( "ScoreDisplayOni::ScoreDisplayOni()" ); // init the text - LoadFromFont( THEME->GetPathTo("Fonts","score numbers") ); + BitmapText::LoadFromTextureAndChars( THEME->GetPathTo("Graphics","gameplay score numbers"), "01234 :56789%." ); TurnShadowOff(); } diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index faa145f77d..08077df7bc 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -419,7 +419,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary ) m_sprPercentFrame[p].SetXY( GRADE_X(p), GRADE_Y ); this->AddChild( &m_sprPercentFrame[p] ); - m_textOniPercentLarge[p].LoadFromFont( THEME->GetPathTo("Fonts","oni percent numbers") ); + m_textOniPercentLarge[p].LoadFromTextureAndChars( THEME->GetPathTo("Graphics","evaluation percent numbers 5x3"),"1234567890%. " ); m_textOniPercentLarge[p].TurnShadowOff(); m_textOniPercentLarge[p].SetXY( PERCENT_BASE_X(p), PERCENT_BASE_Y ); m_textOniPercentLarge[p].SetHorizAlign( Actor::align_right ); @@ -427,7 +427,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary ) m_textOniPercentLarge[p].SetEffectGlowing( 1.0f ); this->AddChild( &m_textOniPercentLarge[p] ); - m_textOniPercentSmall[p].LoadFromFont( THEME->GetPathTo("Fonts","oni percent numbers") ); + m_textOniPercentSmall[p].LoadFromTextureAndChars( THEME->GetPathTo("Graphics","evaluation percent numbers 5x3"),"1234567890%. " ); m_textOniPercentSmall[p].TurnShadowOff(); m_textOniPercentSmall[p].SetZoom( 0.5f ); m_textOniPercentSmall[p].SetXY( PERCENT_BASE_X(p), PERCENT_BASE_Y ); @@ -438,6 +438,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary ) iPossibleDancePoints[p] = max( 1, iPossibleDancePoints[p] ); float fPercentDancePoints = iActualDancePoints[p] / (float)iPossibleDancePoints[p] + 0.0001f; // correct for rounding errors + fPercentDancePoints = max( fPercentDancePoints, 0 ); int iPercentDancePointsLarge = int(fPercentDancePoints*100); int iPercentDancePointsSmall = int( (fPercentDancePoints*100 - int(fPercentDancePoints*100)) * 10 ); m_textOniPercentLarge[p].SetText( ssprintf("%02d%", iPercentDancePointsLarge) ); @@ -450,7 +451,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary ) m_sprCourseFrame[p].SetXY( BONUS_X(p), BONUS_Y ); this->AddChild( &m_sprCourseFrame[p] ); - m_textSongsSurvived[p].LoadFromFont( THEME->GetPathTo("Fonts","oni stage numbers") ); + m_textSongsSurvived[p].LoadFromTextureAndChars( THEME->GetPathTo("Graphics","evaluation stage numbers 5x3"),"1234567890%. "); m_textSongsSurvived[p].TurnShadowOff(); m_textSongsSurvived[p].SetXY( SONGS_SURVIVED_X(p), SONGS_SURVIVED_Y ); m_textSongsSurvived[p].SetText( ssprintf("%02d", GAMESTATE->m_iSongsBeforeFail[p]) ); diff --git a/stepmania/src/ScreenHowToPlay.cpp b/stepmania/src/ScreenHowToPlay.cpp index 3bec68c8f5..2d4c8989ef 100644 --- a/stepmania/src/ScreenHowToPlay.cpp +++ b/stepmania/src/ScreenHowToPlay.cpp @@ -54,11 +54,13 @@ ScreenHowToPlay::ScreenHowToPlay() switch( GAMESTATE->m_PlayMode ) { case PLAY_MODE_ARCADE: + sHowToPlayPath = THEME->GetPathTo("Graphics","how to play arcade"); + break; case PLAY_MODE_ENDLESS: - sHowToPlayPath = THEME->GetPathTo("Graphics","How To Play Arcade"); + sHowToPlayPath = THEME->GetPathTo("Graphics","how to play endless"); break; case PLAY_MODE_ONI: - sHowToPlayPath = THEME->GetPathTo("Graphics","How To Play Arcade"); + sHowToPlayPath = THEME->GetPathTo("Graphics","how to play oni"); break; default: ASSERT(0); diff --git a/stepmania/src/ScreenMusicScroll.cpp b/stepmania/src/ScreenMusicScroll.cpp index b1b00ff642..2e35466ed9 100644 --- a/stepmania/src/ScreenMusicScroll.cpp +++ b/stepmania/src/ScreenMusicScroll.cpp @@ -56,6 +56,7 @@ const CString CREDIT_LINES[] = "", "SOUND:", "Kyle 'KeeL' Ward", + "Animechanic" "", "", "", diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 51320260e3..140f339919 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -444,10 +444,15 @@ void ScreenOptions::MenuBack( PlayerNumber pn ) void ScreenOptions::MenuStart( PlayerNumber pn ) { - if( m_iCurrentRow[pn] == m_iNumOptionRows ) // not on exit - this->SendScreenMessage( SM_TweenOffScreen, 0 ); - else + bool bAllOnExit = true; + for( int p=0; pIsPlayerEnabled(p) && m_iCurrentRow[p] != m_iNumOptionRows ) + bAllOnExit = false; + + if( m_iCurrentRow[pn] != m_iNumOptionRows ) // not on exit MenuDown( pn ); // can't go down any more + else if( bAllOnExit ) + this->SendScreenMessage( SM_TweenOffScreen, 0 ); } void ScreenOptions::MenuLeft( PlayerNumber pn ) diff --git a/stepmania/src/ScreenSelectCourse.cpp b/stepmania/src/ScreenSelectCourse.cpp index 4504d00d9e..65bbd8ac8a 100644 --- a/stepmania/src/ScreenSelectCourse.cpp +++ b/stepmania/src/ScreenSelectCourse.cpp @@ -28,6 +28,8 @@ #include "CodeDetector.h" +#define EXPLANATION_X THEME->GetMetricF("ScreenSelectCourse","ExplanationX") +#define EXPLANATION_Y THEME->GetMetricF("ScreenSelectCourse","ExplanationY") #define BANNER_FRAME_X THEME->GetMetricF("ScreenSelectCourse","BannerFrameX") #define BANNER_FRAME_Y THEME->GetMetricF("ScreenSelectCourse","BannerFrameY") #define BANNER_X THEME->GetMetricF("ScreenSelectCourse","BannerX") @@ -71,11 +73,15 @@ ScreenSelectCourse::ScreenSelectCourse() ); this->AddChild( &m_Menu ); + m_sprExplanation.Load( THEME->GetPathTo("Graphics","select course explanation") ); + m_sprExplanation.SetXY( EXPLANATION_X, EXPLANATION_Y ); + this->AddChild( &m_sprExplanation ); + m_Banner.SetXY( BANNER_X, BANNER_Y ); m_Banner.SetCroppedSize( BANNER_WIDTH, BANNER_HEIGHT ); this->AddChild( &m_Banner ); - m_sprBannerFrame.Load( THEME->GetPathTo("Graphics","select course info frame") ); + m_sprBannerFrame.Load( THEME->GetPathTo("Graphics","select course banner frame") ); m_sprBannerFrame.SetXY( BANNER_FRAME_X, BANNER_FRAME_Y ); this->AddChild( &m_sprBannerFrame ); @@ -112,7 +118,7 @@ ScreenSelectCourse::ScreenSelectCourse() this->AddChild( &m_HighScore[p] ); } - m_textHoldForOptions.LoadFromFont( THEME->GetPathTo("Fonts","Stage") ); + m_textHoldForOptions.LoadFromFont( THEME->GetPathTo("Fonts","select music hold") ); m_textHoldForOptions.SetXY( CENTER_X, CENTER_Y ); m_textHoldForOptions.SetText( "press START again for options" ); m_textHoldForOptions.SetZoom( 1 ); @@ -151,56 +157,33 @@ void ScreenSelectCourse::DrawPrimitives() void ScreenSelectCourse::TweenOnScreen() { - Actor* pActorsInCourseInfoFrame[] = { &m_sprBannerFrame, &m_Banner, &m_textNumSongs, &m_textTime }; - const int iNumActorsInGroupInfoFrame = sizeof(pActorsInCourseInfoFrame) / sizeof(Actor*); - int i; - for( i=0; iGetX(); - pActorsInCourseInfoFrame[i]->SetX( fOriginalX-400 ); - pActorsInCourseInfoFrame[i]->BeginTweening( TWEEN_TIME, TWEEN_BOUNCE_END ); - pActorsInCourseInfoFrame[i]->SetTweenX( fOriginalX ); + m_sprHighScoreFrame[p].FadeOn( 0, "right bounce", TWEEN_TIME ); + m_HighScore[p].FadeOn( 0, "right bounce", TWEEN_TIME ); } - - m_CourseContentsFrame.SetXY( CONTENTS_X - 400, CONTENTS_Y ); - m_CourseContentsFrame.BeginTweening( TWEEN_TIME, Actor::TWEEN_BIAS_END ); - m_CourseContentsFrame.SetTweenXY( CONTENTS_X, CONTENTS_Y ); - - Actor* pActorsInScore[] = { &m_sprHighScoreFrame[0], &m_sprHighScoreFrame[1], &m_HighScore[0], &m_HighScore[1] }; - const int iNumActorsInScore = sizeof(pActorsInScore) / sizeof(Actor*); - for( i=0; iGetX(); - pActorsInScore[i]->SetX( fOriginalX+400 ); - pActorsInScore[i]->BeginTweening( TWEEN_TIME, TWEEN_BIAS_END ); - pActorsInScore[i]->SetTweenX( fOriginalX ); - } - m_MusicWheel.TweenOnScreen(); } void ScreenSelectCourse::TweenOffScreen() { - Actor* pActorsInCourseInfoFrame[] = { &m_sprBannerFrame, &m_Banner, &m_textNumSongs, &m_textTime }; - const int iNumActorsInGroupInfoFrame = sizeof(pActorsInCourseInfoFrame) / sizeof(Actor*); - int i; - for( i=0; iBeginTweening( TWEEN_TIME, TWEEN_BOUNCE_BEGIN ); - pActorsInCourseInfoFrame[i]->SetTweenX( pActorsInCourseInfoFrame[i]->GetX()-400 ); + m_sprHighScoreFrame[p].FadeOff( 0, "right bounce", TWEEN_TIME ); + m_HighScore[p].FadeOff( 0, "right bounce", TWEEN_TIME ); } - - m_CourseContentsFrame.BeginTweening( TWEEN_TIME, Actor::TWEEN_BOUNCE_BEGIN ); - m_CourseContentsFrame.SetTweenXY( CONTENTS_X - 400, CONTENTS_Y ); - - Actor* pActorsInScore[] = { &m_sprHighScoreFrame[0], &m_sprHighScoreFrame[1], &m_HighScore[0], &m_HighScore[1] }; - const int iNumActorsInScore = sizeof(pActorsInScore) / sizeof(Actor*); - for( i=0; iBeginTweening( TWEEN_TIME, TWEEN_BIAS_BEGIN ); - pActorsInScore[i]->SetTweenX( pActorsInScore[i]->GetX()+400 ); - } - m_MusicWheel.TweenOffScreen(); } diff --git a/stepmania/src/ScreenSelectCourse.h b/stepmania/src/ScreenSelectCourse.h index c7b4c49179..1c1758f53f 100644 --- a/stepmania/src/ScreenSelectCourse.h +++ b/stepmania/src/ScreenSelectCourse.h @@ -46,6 +46,7 @@ protected: MenuElements m_Menu; + Sprite m_sprExplanation; Sprite m_sprBannerFrame; FadingBanner m_Banner; BitmapText m_textNumSongs;