From 4b51f89b6c3ad1db785ee4574aa33dca814c1c04 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Wed, 22 Oct 2003 09:45:23 +0000 Subject: [PATCH] add animation metrics to ScreenRanking --- stepmania/Themes/default/metrics.ini | 82 +++++- stepmania/src/ScreenRanking.cpp | 390 ++++++++++++++++----------- stepmania/src/StepMania.dsp | 16 +- 3 files changed, 318 insertions(+), 170 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 7a031cb52f..f63a42ddb1 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -2392,33 +2392,103 @@ NextScreen=ScreenUnlock CategoryX=517 CategoryY=32 CategoryWidth=222 +CategoryOnCommand=addx,640;sleep,0.0;bounceend,1;addx,-640 +CategoryOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 BannerX=517 BannerY=44 BannerWidth=220 BannerHeight=58 +BannerOnCommand=addx,640;sleep,0.0;bounceend,1;addx,-640 +BannerOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 TypeX=520 TypeY=60 +TypeOnCommand=addx,640;sleep,0.0;bounceend,1;addx,-640 +TypeOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 LineSpacingX=0 LineSpacingY=60 BulletsStartX=100 BulletsStartY=140 +Bullets1OnCommand=addx,640;sleep,0.2;bounceend,1;addx,-640 +Bullets2OnCommand=addx,640;sleep,0.3;bounceend,1;addx,-640 +Bullets3OnCommand=addx,640;sleep,0.4;bounceend,1;addx,-640 +Bullets4OnCommand=addx,640;sleep,0.5;bounceend,1;addx,-640 +Bullets5OnCommand=addx,640;sleep,0.6;bounceend,1;addx,-640 +Bullets1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Bullets2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Bullets3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Bullets4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Bullets5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 TextZoom=1.0 TextSongZoom=0.7 TextColor=0.8,0.8,1,1 NamesStartX=180 NamesStartY=140 +Names1OnCommand=addx,640;sleep,0.2;bounceend,1;addx,-640 +Names2OnCommand=addx,640;sleep,0.3;bounceend,1;addx,-640 +Names3OnCommand=addx,640;sleep,0.4;bounceend,1;addx,-640 +Names4OnCommand=addx,640;sleep,0.5;bounceend,1;addx,-640 +Names5OnCommand=addx,640;sleep,0.6;bounceend,1;addx,-640 +Names1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Names2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Names3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Names4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Names5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 ScoresStartX=520 -ScoresStartY=140 +ScoresStartY=140 +Scores1OnCommand=addx,640;sleep,0.2;bounceend,1;addx,-640 +Scores2OnCommand=addx,640;sleep,0.3;bounceend,1;addx,-640 +Scores3OnCommand=addx,640;sleep,0.4;bounceend,1;addx,-640 +Scores4OnCommand=addx,640;sleep,0.5;bounceend,1;addx,-640 +Scores5OnCommand=addx,640;sleep,0.6;bounceend,1;addx,-640 +Scores1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Scores2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Scores3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Scores4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Scores5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 PointsStartX=380 PointsStartY=140 +Points1OnCommand=addx,640;sleep,0.2;bounceend,1;addx,-640 +Points2OnCommand=addx,640;sleep,0.3;bounceend,1;addx,-640 +Points3OnCommand=addx,640;sleep,0.4;bounceend,1;addx,-640 +Points4OnCommand=addx,640;sleep,0.5;bounceend,1;addx,-640 +Points5OnCommand=addx,640;sleep,0.6;bounceend,1;addx,-640 +Points1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Points2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Points3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Points4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Points5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 TimeStartX=560 TimeStartY=140 -PercentStartX=210 +Time1OnCommand=addx,640;sleep,0.2;bounceend,1;addx,-640 +Time2OnCommand=addx,640;sleep,0.3;bounceend,1;addx,-640 +Time3OnCommand=addx,640;sleep,0.4;bounceend,1;addx,-640 +Time4OnCommand=addx,640;sleep,0.5;bounceend,1;addx,-640 +Time5OnCommand=addx,640;sleep,0.6;bounceend,1;addx,-640 +Time1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Time2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Time3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Time4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Time5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 +PercentStartX=170 PercentStartY=140 -PercentColSpacingX=110 -PercentColSpacingY=0 +Percent1OnCommand=addx,640;sleep,0.2;bounceend,1;addx,-640 +Percent2OnCommand=addx,640;sleep,0.3;bounceend,1;addx,-640 +Percent3OnCommand=addx,640;sleep,0.4;bounceend,1;addx,-640 +Percent4OnCommand=addx,640;sleep,0.5;bounceend,1;addx,-640 +Percent5OnCommand=addx,640;sleep,0.6;bounceend,1;addx,-640 +Percent1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Percent2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Percent3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Percent4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Percent5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 +DifficultyStartX=170 +DifficultyStartY=110 +DifficultySpacingX=110 +DifficultySpacingY=0 +DifficultyOnCommand=addx,640;sleep,0.1;bounceend,1;addx,-640 +DifficultyOffCommand=sleep,0.1;linear,0.5;diffusealpha,0 SecondsPerPage=5 -ShowCategories=0 +ShowCategories=1 ShowAllSongs=1 CoursesToShow=Courses/DDRMAX/NaokiStandard.crs,Courses/DDRMAX/ParanoiaBrothers.crs,Courses/Samples/PlayersBest1-4.crs NotesTypesToHide=dance-couple,dance-solo,pump-halfdouble @@ -2426,7 +2496,7 @@ TextColor1=0.6,0.6,1,1 TextColor2=1,0.3,0.3,1 TextColor3=0.3,1,0.3,1 EmptyScoreName=STEP -ShowSongDifficulties=easy,medium,hard,challenge +DifficultiesToShow=easy,medium,hard,challenge # Not all game types have NotesTypesToHide set, so add a few dummy colors diff --git a/stepmania/src/ScreenRanking.cpp b/stepmania/src/ScreenRanking.cpp index 2efac55622..7b8220e9cf 100644 --- a/stepmania/src/ScreenRanking.cpp +++ b/stepmania/src/ScreenRanking.cpp @@ -23,40 +23,63 @@ #include "ScoreKeeperMAX2.h" #include "ScoreKeeper5th.h" -#define CATEGORY_X THEME->GetMetricF("ScreenRanking","CategoryX") -#define CATEGORY_Y THEME->GetMetricF("ScreenRanking","CategoryY") -#define CATEGORY_WIDTH THEME->GetMetricF("ScreenRanking","CategoryWidth") -#define BANNER_X THEME->GetMetricF("ScreenRanking","BannerX") -#define BANNER_Y THEME->GetMetricF("ScreenRanking","BannerY") -#define BANNER_WIDTH THEME->GetMetricF("ScreenRanking","BannerWidth") -#define BANNER_HEIGHT THEME->GetMetricF("ScreenRanking","BannerHeight") -#define TYPE_X THEME->GetMetricF("ScreenRanking","TypeX") -#define TYPE_Y THEME->GetMetricF("ScreenRanking","TypeY") -#define LINE_SPACING_X THEME->GetMetricF("ScreenRanking","LineSpacingX") -#define LINE_SPACING_Y THEME->GetMetricF("ScreenRanking","LineSpacingY") -#define BULLETS_START_X THEME->GetMetricF("ScreenRanking","BulletsStartX") -#define BULLETS_START_Y THEME->GetMetricF("ScreenRanking","BulletsStartY") -#define TEXT_ZOOM THEME->GetMetricF("ScreenRanking","TextZoom") -#define TEXT_SONGZOOM THEME->GetMetricF("ScreenRanking","TextSongZoom") -#define TEXT_COLOR( i ) THEME->GetMetricC("ScreenRanking",ssprintf("TextColor%d",i+1)) -#define NAMES_START_X THEME->GetMetricF("ScreenRanking","NamesStartX") -#define NAMES_START_Y THEME->GetMetricF("ScreenRanking","NamesStartY") -#define SCORES_START_X THEME->GetMetricF("ScreenRanking","ScoresStartX") -#define SCORES_START_Y THEME->GetMetricF("ScreenRanking","ScoresStartY") -#define POINTS_START_X THEME->GetMetricF("ScreenRanking","PointsStartX") -#define POINTS_START_Y THEME->GetMetricF("ScreenRanking","PointsStartY") -#define TIME_START_X THEME->GetMetricF("ScreenRanking","TimeStartX") -#define TIME_START_Y THEME->GetMetricF("ScreenRanking","TimeStartY") -#define PERCENT_START_X THEME->GetMetricF("ScreenRanking","PercentStartX") -#define PERCENT_START_Y THEME->GetMetricF("ScreenRanking","PercentStartY") -#define PERCENT_COL_SPACING_X THEME->GetMetricF("ScreenRanking","PercentColSpacingX") -#define PERCENT_COL_SPACING_Y THEME->GetMetricF("ScreenRanking","PercentColSpacingY") -#define SECONDS_PER_PAGE THEME->GetMetricF("ScreenRanking","SecondsPerPage") -#define SHOW_CATEGORIES THEME->GetMetricB("ScreenRanking","ShowCategories") -#define SHOW_ALL_SONGS THEME->GetMetricB("ScreenRanking","ShowAllSongs") -#define NOTES_TYPES_TO_HIDE THEME->GetMetric ("ScreenRanking","NotesTypesToHide") -#define EMPTY_SCORE_NAME THEME->GetMetric ("ScreenRanking","EmptyScoreName") -#define SHOW_SONG_DIFFICULTIES THEME->GetMetric ("ScreenRanking","ShowSongDifficulties") + +#define CATEGORY_X THEME->GetMetricF("ScreenRanking","CategoryX") +#define CATEGORY_Y THEME->GetMetricF("ScreenRanking","CategoryY") +#define CATEGORY_WIDTH THEME->GetMetricF("ScreenRanking","CategoryWidth") +#define CATEGORY_ON_COMMAND THEME->GetMetric ("ScreenRanking","CategoryOnCommand") +#define CATEGORY_OFF_COMMAND THEME->GetMetric ("ScreenRanking","CategoryOffCommand") +#define BANNER_X THEME->GetMetricF("ScreenRanking","BannerX") +#define BANNER_Y THEME->GetMetricF("ScreenRanking","BannerY") +#define BANNER_WIDTH THEME->GetMetricF("ScreenRanking","BannerWidth") +#define BANNER_HEIGHT THEME->GetMetricF("ScreenRanking","BannerHeight") +#define BANNER_ON_COMMAND THEME->GetMetric ("ScreenRanking","BannerOnCommand") +#define BANNER_OFF_COMMAND THEME->GetMetric ("ScreenRanking","BannerOffCommand") +#define TYPE_X THEME->GetMetricF("ScreenRanking","TypeX") +#define TYPE_Y THEME->GetMetricF("ScreenRanking","TypeY") +#define TYPE_ON_COMMAND THEME->GetMetric ("ScreenRanking","TypeOnCommand") +#define TYPE_OFF_COMMAND THEME->GetMetric ("ScreenRanking","TypeOffCommand") +#define LINE_SPACING_X THEME->GetMetricF("ScreenRanking","LineSpacingX") +#define LINE_SPACING_Y THEME->GetMetricF("ScreenRanking","LineSpacingY") +#define BULLETS_START_X THEME->GetMetricF("ScreenRanking","BulletsStartX") +#define BULLETS_START_Y THEME->GetMetricF("ScreenRanking","BulletsStartY") +#define BULLETS_ON_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Bullets%dOnCommand",l+1)) +#define BULLETS_OFF_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Bullets%dOffCommand",l+1)) +#define TEXT_ZOOM THEME->GetMetricF("ScreenRanking","TextZoom") +#define TEXT_SONGZOOM THEME->GetMetricF("ScreenRanking","TextSongZoom") +#define TEXT_COLOR( i ) THEME->GetMetricC("ScreenRanking",ssprintf("TextColor%d",i+1)) +#define NAMES_START_X THEME->GetMetricF("ScreenRanking","NamesStartX") +#define NAMES_START_Y THEME->GetMetricF("ScreenRanking","NamesStartY") +#define NAMES_ON_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Names%dOnCommand",l+1)) +#define NAMES_OFF_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Names%dOffCommand",l+1)) +#define SCORES_START_X THEME->GetMetricF("ScreenRanking","ScoresStartX") +#define SCORES_START_Y THEME->GetMetricF("ScreenRanking","ScoresStartY") +#define SCORES_ON_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Scores%dOnCommand",l+1)) +#define SCORES_OFF_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Scores%dOffCommand",l+1)) +#define POINTS_START_X THEME->GetMetricF("ScreenRanking","PointsStartX") +#define POINTS_START_Y THEME->GetMetricF("ScreenRanking","PointsStartY") +#define POINTS_ON_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Points%dOnCommand",l+1)) +#define POINTS_OFF_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Points%dOffCommand",l+1)) +#define TIME_START_X THEME->GetMetricF("ScreenRanking","TimeStartX") +#define TIME_START_Y THEME->GetMetricF("ScreenRanking","TimeStartY") +#define TIME_ON_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Time%dOnCommand",l+1)) +#define TIME_OFF_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Time%dOffCommand",l+1)) +#define PERCENT_START_X THEME->GetMetricF("ScreenRanking","PercentStartX") +#define PERCENT_START_Y THEME->GetMetricF("ScreenRanking","PercentStartY") +#define PERCENT_ON_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Percent%dOnCommand",l+1)) +#define PERCENT_OFF_COMMAND( l ) THEME->GetMetric ("ScreenRanking",ssprintf("Percent%dOffCommand",l+1)) +#define DIFFICULTY_START_X THEME->GetMetricF("ScreenRanking","DifficultyStartX") +#define DIFFICULTY_START_Y THEME->GetMetricF("ScreenRanking","DifficultyStartY") +#define DIFFICULTY_SPACING_X THEME->GetMetricF("ScreenRanking","DifficultySpacingX") +#define DIFFICULTY_SPACING_Y THEME->GetMetricF("ScreenRanking","DifficultySpacingY") +#define DIFFICULTY_ON_COMMAND THEME->GetMetric ("ScreenRanking","DifficultyOnCommand") +#define DIFFICULTY_OFF_COMMAND THEME->GetMetric ("ScreenRanking","DifficultyOffCommand") +#define SECONDS_PER_PAGE THEME->GetMetricF("ScreenRanking","SecondsPerPage") +#define SHOW_CATEGORIES THEME->GetMetricB("ScreenRanking","ShowCategories") +#define SHOW_ALL_SONGS THEME->GetMetricB("ScreenRanking","ShowAllSongs") +#define NOTES_TYPES_TO_HIDE THEME->GetMetric ("ScreenRanking","NotesTypesToHide") +#define EMPTY_SCORE_NAME THEME->GetMetric ("ScreenRanking","EmptyScoreName") +#define DIFFICULTIES_TO_SHOW THEME->GetMetric ("ScreenRanking","DifficultiesToShow") #define COURSES_TO_SHOW PREFSMAN->m_sCoursesToShowRanking @@ -66,24 +89,20 @@ const ScreenMessage SM_HidePage = (ScreenMessage)(SM_User+68); ScreenRanking::ScreenRanking( CString sClassName ) : ScreenAttract( sClassName ) { - m_sprCategory.SetXY( CATEGORY_X, CATEGORY_Y ); this->AddChild( &m_sprCategory ); - m_banner.SetXY( BANNER_X, BANNER_Y ); this->AddChild( &m_banner ); m_textCategory.LoadFromFont( THEME->GetPathToF("ScreenRanking title") ); m_textCategory.EnableShadow( false ); - m_textCategory.SetXY( CATEGORY_X, CATEGORY_Y ); this->AddChild( &m_textCategory ); - m_sprType.SetXY( TYPE_X, TYPE_Y ); this->AddChild( &m_sprType ); // make the list of difficulties to show vector sShowDiffs; - split( SHOW_SONG_DIFFICULTIES, ",", sShowDiffs, true ); + split( DIFFICULTIES_TO_SHOW, ",", sShowDiffs, true ); for( vector::const_iterator iter = sShowDiffs.begin(); iter != sShowDiffs.end(); iter++ ) { @@ -91,44 +110,27 @@ ScreenRanking::ScreenRanking( CString sClassName ) : ScreenAttract( sClassName ) } - for( int i=0; iGetPathToG(("ScreenRanking bullets 1x5")) ); - m_sprBullets[i].SetXY( BULLETS_START_X+LINE_SPACING_X*i, BULLETS_START_Y+LINE_SPACING_Y*i ); - m_sprBullets[i].SetDiffuse( RageColor(1,1,1,0) ); - m_sprBullets[i].StopAnimating(); - m_sprBullets[i].SetState(i); - this->AddChild( &m_sprBullets[i] ); + m_sprBullets[l].Load( THEME->GetPathToG("ScreenRanking bullets 1x5") ); + m_sprBullets[l].SetDiffuseAlpha( 0 ); + this->AddChild( &m_sprBullets[l] ); - m_textNames[i].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") ); - m_textNames[i].EnableShadow( false ); - m_textNames[i].SetXY( NAMES_START_X+LINE_SPACING_X*i, NAMES_START_Y+LINE_SPACING_Y*i ); - m_textNames[i].SetZoom( TEXT_ZOOM ); - m_textNames[i].SetHorizAlign( Actor::align_left ); - this->AddChild( &m_textNames[i] ); + m_textNames[l].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") ); + m_textNames[l].SetDiffuseAlpha( 0 ); + this->AddChild( &m_textNames[l] ); - m_textScores[i].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") ); - m_textScores[i].EnableShadow( false ); - m_textScores[i].SetXY( SCORES_START_X+LINE_SPACING_X*i, SCORES_START_Y+LINE_SPACING_Y*i ); - m_textScores[i].SetZoom( TEXT_ZOOM ); - m_textScores[i].SetHorizAlign( Actor::align_right ); - this->AddChild( &m_textScores[i] ); + m_textScores[l].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") ); + m_textScores[l].SetDiffuseAlpha( 0 ); + this->AddChild( &m_textScores[l] ); - m_textPoints[i].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") ); - m_textPoints[i].EnableShadow( false ); - m_textPoints[i].SetXY( POINTS_START_X+LINE_SPACING_X*i, POINTS_START_Y+LINE_SPACING_Y*i ); - m_textPoints[i].SetZoom( TEXT_ZOOM ); - m_textPoints[i].SetHorizAlign( Actor::align_right ); - this->AddChild( &m_textPoints[i] ); + m_textPoints[l].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") ); + m_textPoints[l].SetDiffuseAlpha( 0 ); + this->AddChild( &m_textPoints[l] ); - m_textTime[i].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") ); - m_textTime[i].EnableShadow( false ); - m_textTime[i].SetXY( TIME_START_X+LINE_SPACING_X*i, TIME_START_Y+LINE_SPACING_Y*i ); - m_textTime[i].SetZoom( TEXT_ZOOM ); - m_textTime[i].SetHorizAlign( Actor::align_right ); - this->AddChild( &m_textTime[i] ); - - + m_textTime[l].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") ); + m_textTime[l].SetDiffuseAlpha( 0 ); + this->AddChild( &m_textTime[l] ); if( PREFSMAN->m_sCoursesToShowRanking == "" ) PREFSMAN->m_sCoursesToShowRanking = THEME->GetMetric("ScreenRanking","CoursesToShow"); @@ -138,39 +140,23 @@ ScreenRanking::ScreenRanking( CString sClassName ) : ScreenAttract( sClassName ) // init all the difficulty graphics for( int d=0; dGetPathToG(("ScreenRanking difficulty 1x5")) ); - m_sprDiffHeaders[d].SetDiffuse( RageColor(1,1,1,0) ); - m_sprDiffHeaders[d].StopAnimating(); - m_sprDiffHeaders[d].SetState(d); + m_sprDiffHeaders[d].SetDiffuseAlpha( 0 ); + if( bShowThis ) + this->AddChild( &m_sprDiffHeaders[d] ); - for( int i=0; iGetPathToF("ScreenRanking letters") ); - m_textPercent[i][d].EnableShadow( false ); - m_textPercent[i][d].SetZoom( TEXT_SONGZOOM ); + m_textPercent[l][d].LoadFromFont( THEME->GetPathToF("ScreenRanking letters") ); + m_textPercent[l][d].SetDiffuseAlpha( 0 ); + if( bShowThis ) + this->AddChild( &m_textPercent[l][d] ); } } - // enable the difficulty graphics that we care about - DiffVectorCIter pDiff = m_vDiffsToShow.begin(); - for( int j=0; pDiff != m_vDiffsToShow.end() && jAddChild( &m_sprDiffHeaders[d] ); - - - for( int i=0; iAddChild( &m_textPercent[i][d] ); - } - } - - vector aNotesTypesToShow; GAMEMAN->GetNotesTypesForGame( GAMESTATE->m_CurGame, aNotesTypesToShow ); @@ -266,7 +252,6 @@ void ScreenRanking::HandleScreenMessage( const ScreenMessage SM ) SetPage( m_vPagesToShow[0] ); m_vPagesToShow.erase( m_vPagesToShow.begin() ); this->PostScreenMessage( SM_HidePage, SECONDS_PER_PAGE-1 ); - TweenPageOnScreen(); } else { @@ -284,30 +269,148 @@ void ScreenRanking::HandleScreenMessage( const ScreenMessage SM ) void ScreenRanking::SetPage( PageToShow pts ) { - // Clear all text - for( int l=0; lIsOni(); + bShowPoints = pts.pCourse->IsOni(); + bShowTime = pts.pCourse->IsOni(); + bShowDifficulty = false; + bShowPercent = false; + break; + case PageToShow::TYPE_SONG: + bShowNames = false; + bShowScores = false; + bShowPoints = false; + bShowTime = false; + bShowDifficulty = true; + bShowPercent = true; + break; + default: + ASSERT(0); } + + int l, d; + + // Reset + m_sprCategory.Reset(); + m_sprCategory.SetXY( CATEGORY_X, CATEGORY_Y ); + m_sprCategory.Command( CATEGORY_ON_COMMAND ); + m_banner.Reset(); + m_banner.SetXY( BANNER_X, BANNER_Y ); + m_banner.Command( BANNER_ON_COMMAND ); + m_textCategory.Reset(); + m_textCategory.SetXY( CATEGORY_X, CATEGORY_Y ); + m_textCategory.Command( CATEGORY_ON_COMMAND ); + m_sprType.Reset(); + m_sprType.SetXY( TYPE_X, TYPE_Y ); + m_sprType.Command( TYPE_ON_COMMAND ); + + for( l=0; lGetPathToG(ssprintf("ScreenRanking category %c", 'A'+pts.category)) ); - m_sprType.SetDiffuse( RageColor(1,1,1,1) ); m_sprType.Load( THEME->GetPathToG("ScreenRanking type "+GameManager::NotesTypeToString(pts.nt)) ); + for( int l=0; lGetPathToG("ScreenRanking type "+GameManager::NotesTypeToString(pts.nt)) ); for( int l=0; lIsOni() ) { @@ -443,8 +543,6 @@ void ScreenRanking::SetPage( PageToShow pts ) for( int l=0; lm_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores.size() ) hs = pSteps->m_MemCardDatas[MEMORY_CARD_MACHINE].vHighScores[l]; @@ -462,45 +560,25 @@ void ScreenRanking::SetPage( PageToShow pts ) } } -void ScreenRanking::TweenPageOnScreen() -{ - m_sprCategory.FadeOn(0,"bounce right",0.5f); - m_banner.FadeOn(0,"bounce right",0.5f); - m_sprType.FadeOn(0.1f,"bounce right",0.5f); - m_textCategory.FadeOn(0,"bounce right",0.5f); - - for( int l=0; l