cleanup: PageType -> RankingPageType

This commit is contained in:
Chris Danford
2008-11-24 03:56:54 +00:00
parent db84c3a56f
commit 1d61d0fb9e
2 changed files with 46 additions and 49 deletions
+30 -33
View File
@@ -16,7 +16,7 @@
#include "ScreenDimensions.h" #include "ScreenDimensions.h"
#include "PercentageDisplay.h" #include "PercentageDisplay.h"
static const char *PageTypeNames[] = { static const char *RankingPageTypeNames[] = {
"Category", "Category",
"Course", "Course",
"AllSteps", "AllSteps",
@@ -25,10 +25,7 @@ static const char *PageTypeNames[] = {
"SurvivalCourses", "SurvivalCourses",
"AllCourses", "AllCourses",
}; };
StringToX( PageType ); StringToX( RankingPageType );
#define TYPE THEME->GetMetric(m_sName,"Type")
#define COURSES_TO_SHOW THEME->GetMetric(m_sName,"CoursesToShow")
AutoScreenMessage( SM_ShowNextPage ) AutoScreenMessage( SM_ShowNextPage )
AutoScreenMessage( SM_HidePage ) AutoScreenMessage( SM_HidePage )
@@ -89,16 +86,16 @@ REGISTER_SCREEN_CLASS( ScreenRankingLines );
void ScreenRanking::Init() void ScreenRanking::Init()
{ {
// watch out: ThemeMetricStepsTypesToShow inverts the results RANKING_PAGE_TYPE.Load ( m_sName,"RankingPageType");
STEPS_TYPES_TO_SHOW.Load ( m_sName,"StepsTypesToHide" ); COURSES_TO_SHOW.Load ( m_sName,"CoursesToShow");
STEPS_TYPES_TO_SHOW.Load( m_sName,"StepsTypesToHide" ); // tricky: The metric name is "hide" because ThemeMetricStepsTypesToShow takes a list of what to hide and returns what StepsTypes to show
SECONDS_PER_PAGE.Load ( m_sName,"SecondsPerPage" ); SECONDS_PER_PAGE.Load ( m_sName,"SecondsPerPage" );
PAGE_FADE_SECONDS.Load ( m_sName,"PageFadeSeconds" ); PAGE_FADE_SECONDS.Load ( m_sName,"PageFadeSeconds" );
MANUAL_SCROLLING.Load ( m_sName, "ManualScrolling" ); MANUAL_SCROLLING.Load ( m_sName, "ManualScrolling" );
ScreenAttract::Init(); ScreenAttract::Init();
m_PageType = StringToPageType( TYPE ); m_RankingPageType = StringToRankingPageType( RANKING_PAGE_TYPE );
m_textStepsType.SetName( "StepsType" ); m_textStepsType.SetName( "StepsType" );
m_textStepsType.LoadFromFont( THEME->GetPathF(m_sName,"steps type") ); m_textStepsType.LoadFromFont( THEME->GetPathF(m_sName,"steps type") );
@@ -338,25 +335,25 @@ void ScreenRankingScroller::Init()
m_ListScoreRowItems.SetName( "ListScoreRowItems" ); m_ListScoreRowItems.SetName( "ListScoreRowItems" );
LOAD_ALL_COMMANDS( m_ListScoreRowItems ); LOAD_ALL_COMMANDS( m_ListScoreRowItems );
switch( m_PageType ) switch( m_RankingPageType )
{ {
default: ASSERT(0); default: ASSERT(0);
case PageType_AllSteps: case RankingPageType_AllSteps:
m_ListScoreRowItems.LoadSongs( SHOW_ONLY_MOST_RECENT_SCORES, NUM_MOST_RECENT_SCORES_TO_SHOW ); m_ListScoreRowItems.LoadSongs( SHOW_ONLY_MOST_RECENT_SCORES, NUM_MOST_RECENT_SCORES_TO_SHOW );
break; break;
case PageType_NonstopCourses: case RankingPageType_NonstopCourses:
case PageType_OniCourses: case RankingPageType_OniCourses:
case PageType_SurvivalCourses: case RankingPageType_SurvivalCourses:
case PageType_AllCourses: case RankingPageType_AllCourses:
{ {
CourseType ct; CourseType ct;
switch( m_PageType ) switch( m_RankingPageType )
{ {
default: ASSERT(0); default: ASSERT(0);
case PageType_NonstopCourses: ct = COURSE_TYPE_NONSTOP; break; case RankingPageType_NonstopCourses: ct = COURSE_TYPE_NONSTOP; break;
case PageType_OniCourses: ct = COURSE_TYPE_ONI; break; case RankingPageType_OniCourses: ct = COURSE_TYPE_ONI; break;
case PageType_SurvivalCourses: ct = COURSE_TYPE_SURVIVAL; break; case RankingPageType_SurvivalCourses: ct = COURSE_TYPE_SURVIVAL; break;
case PageType_AllCourses: ct = CourseType_Invalid; break; case RankingPageType_AllCourses: ct = CourseType_Invalid; break;
} }
m_ListScoreRowItems.LoadCourses( ct, SHOW_ONLY_MOST_RECENT_SCORES, NUM_MOST_RECENT_SCORES_TO_SHOW ); m_ListScoreRowItems.LoadCourses( ct, SHOW_ONLY_MOST_RECENT_SCORES, NUM_MOST_RECENT_SCORES_TO_SHOW );
@@ -404,8 +401,8 @@ float ScreenRankingScroller::SetPage( const PageToShow &pts )
return m_ListScoreRowItems.GetSecondsForCompleteScrollThrough(); return m_ListScoreRowItems.GetSecondsForCompleteScrollThrough();
} }
// PageType_Category: // RankingPageType_Category:
// PageType_Trail: // RankingPageType_OneCourse:
#define BULLET_X(row) (BULLET_START_X+ROW_SPACING_X*row) #define BULLET_X(row) (BULLET_START_X+ROW_SPACING_X*row)
#define BULLET_Y(row) (BULLET_START_Y+ROW_SPACING_Y*row) #define BULLET_Y(row) (BULLET_START_Y+ROW_SPACING_Y*row)
#define NAME_X(row) (NAME_START_X+ROW_SPACING_X*row) #define NAME_X(row) (NAME_START_X+ROW_SPACING_X*row)
@@ -436,7 +433,7 @@ void ScreenRankingLines::Init()
ScreenRanking::Init(); ScreenRanking::Init();
if( m_PageType == PageType_Category ) if( m_RankingPageType == RankingPageType_Category )
{ {
m_textCategory.SetName( "Category" ); m_textCategory.SetName( "Category" );
m_textCategory.LoadFromFont( THEME->GetPathF(m_sName,"category") ); m_textCategory.LoadFromFont( THEME->GetPathF(m_sName,"category") );
@@ -458,7 +455,7 @@ void ScreenRankingLines::Init()
} }
} }
if( m_PageType == PageType_Trail ) if( m_RankingPageType == RankingPageType_OneCourse )
{ {
m_Banner.SetName( "Banner" ); m_Banner.SetName( "Banner" );
this->AddChild( &m_Banner ); this->AddChild( &m_Banner );
@@ -538,12 +535,12 @@ float ScreenRankingLines::SetPage( const PageToShow &pts )
bool bShowScores = false; bool bShowScores = false;
bool bShowPoints = false; bool bShowPoints = false;
bool bShowTime = false; bool bShowTime = false;
switch( m_PageType ) switch( m_RankingPageType )
{ {
case PageType_Category: case RankingPageType_Category:
bShowScores = true; bShowScores = true;
break; break;
case PageType_Trail: case RankingPageType_OneCourse:
bShowScores = !pts.pCourse->IsOni(); bShowScores = !pts.pCourse->IsOni();
bShowPoints = pts.pCourse->IsOni(); bShowPoints = pts.pCourse->IsOni();
bShowTime = pts.pCourse->IsOni(); bShowTime = pts.pCourse->IsOni();
@@ -564,9 +561,9 @@ float ScreenRankingLines::SetPage( const PageToShow &pts )
m_textTime[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) ); m_textTime[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
} }
switch( m_PageType ) switch( m_RankingPageType )
{ {
case PageType_Category: case RankingPageType_Category:
{ {
m_textCategory.SetText( ssprintf("Type %c", 'A'+pts.category) ); m_textCategory.SetText( ssprintf("Type %c", 'A'+pts.category) );
@@ -605,7 +602,7 @@ float ScreenRankingLines::SetPage( const PageToShow &pts )
} }
} }
return SECONDS_PER_PAGE; return SECONDS_PER_PAGE;
case PageType_Trail: case RankingPageType_OneCourse:
{ {
m_textCourseTitle.SetText( pts.pCourse->GetDisplayFullTitle() ); m_textCourseTitle.SetText( pts.pCourse->GetDisplayFullTitle() );
+16 -16
View File
@@ -19,19 +19,18 @@ class Trail;
struct HighScoreList; struct HighScoreList;
typedef pair<Difficulty, StepsType> DifficultyAndStepsType; typedef pair<Difficulty, StepsType> DifficultyAndStepsType;
enum PageType enum RankingPageType
{ {
PageType_Category, RankingPageType_Category, // Top N for one Category
PageType_Trail, RankingPageType_OneCourse, // Top N for one Course
PageType_AllSteps, RankingPageType_AllSteps, // Top 1 for N Steps in each Song
PageType_NonstopCourses, RankingPageType_NonstopCourses, // Top 1 for N Trails in each Course
PageType_OniCourses, RankingPageType_OniCourses,
PageType_SurvivalCourses, RankingPageType_SurvivalCourses,
PageType_AllCourses, RankingPageType_AllCourses,
NUM_PageType, NUM_RankingPageType,
PageType_Invalid RankingPageType_Invalid
}; };
PageType StringToPageType( const RString& s );
class ScreenRanking : public ScreenAttract class ScreenRanking : public ScreenAttract
{ {
@@ -65,19 +64,20 @@ protected:
virtual float SetPage( const PageToShow &pts ); virtual float SetPage( const PageToShow &pts );
PageType m_PageType;
BitmapText m_textStepsType; // for category, course, all_steps BitmapText m_textStepsType; // for category, course, all_steps
vector<PageToShow> m_vPagesToShow; vector<PageToShow> m_vPagesToShow;
unsigned m_iNextPageToShow; unsigned m_iNextPageToShow;
RankingPageType m_RankingPageType;
ThemeMetric<RString> RANKING_PAGE_TYPE;
ThemeMetric<RString> COURSES_TO_SHOW;
// Don't use the version in CommonMetrics because we may have multiple // Don't use the version in CommonMetrics because we may have multiple
// ranking screens that want to show different types and difficulties. // ranking screens that want to show different types and difficulties.
ThemeMetricStepsTypesToShow STEPS_TYPES_TO_SHOW; ThemeMetricStepsTypesToShow STEPS_TYPES_TO_SHOW;
ThemeMetric<float> SECONDS_PER_PAGE; ThemeMetric<float> SECONDS_PER_PAGE;
ThemeMetric<float> PAGE_FADE_SECONDS; ThemeMetric<float> PAGE_FADE_SECONDS;
ThemeMetric<bool> MANUAL_SCROLLING; ThemeMetric<bool> MANUAL_SCROLLING;
}; };
class ScoreScroller: public DynamicActorScroller class ScoreScroller: public DynamicActorScroller