diff --git a/stepmania/src/ScreenPlayerOptions.cpp b/stepmania/src/ScreenPlayerOptions.cpp index 553c28f5ab..2c3368f3f9 100644 --- a/stepmania/src/ScreenPlayerOptions.cpp +++ b/stepmania/src/ScreenPlayerOptions.cpp @@ -25,8 +25,14 @@ #include "Steps.h" #include "Course.h" -#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenPlayerOptions","PrevScreen"+Capitalize(PlayModeToString(play_mode))) -#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenPlayerOptions","NextScreen"+Capitalize(PlayModeToString(play_mode))) +#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenPlayerOptions","PrevScreen"+Capitalize(PlayModeToString(play_mode))) +#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenPlayerOptions","NextScreen"+Capitalize(PlayModeToString(play_mode))) +#define BEGINNER_DESCRIPTION THEME->GetMetric ("ScreenPlayerOptions","Beginner") +#define EASY_DESCRIPTION THEME->GetMetric ("ScreenPlayerOptions","Easy") +#define MEDIUM_DESCRIPTION THEME->GetMetric ("ScreenPlayerOptions","Medium") +#define HARD_DESCRIPTION THEME->GetMetric ("ScreenPlayerOptions","Hard") +#define CHALLENGE_DESCRIPTION THEME->GetMetric ("ScreenPlayerOptions","Challenge") + enum { PO_SPEED = 0, @@ -479,34 +485,15 @@ void ScreenPlayerOptions::HandleScreenMessage( const ScreenMessage SM ) ScreenOptions::HandleScreenMessage( SM ); } -CString ScreenPlayerOptions::ConvertParamToThemeDifficulty( - const CString &in ) const +CString ScreenPlayerOptions::ConvertParamToThemeDifficulty( const CString &in ) const { - // inefficient, could optimize -#define BEGINNER_DESCRIPTION THEME->GetMetric("ScreenPlayerOptions","Beginner") -#define EASY_DESCRIPTION THEME->GetMetric("ScreenPlayerOptions","Easy") -#define MEDIUM_DESCRIPTION THEME->GetMetric("ScreenPlayerOptions","Medium") -#define HARD_DESCRIPTION THEME->GetMetric("ScreenPlayerOptions","Hard") -#define CHALLENGE_DESCRIPTION THEME->GetMetric("ScreenPlayerOptions","Challenge") - - if (in == "BEGINNER") return BEGINNER_DESCRIPTION; // Extreme - - if (in == "BASIC") return EASY_DESCRIPTION; // 3rd - if (in == "LIGHT") return EASY_DESCRIPTION; // MAX - - if (in == "ANOTHER") return MEDIUM_DESCRIPTION; // 3rd - if (in == "STANDARD") return MEDIUM_DESCRIPTION; // MAX. Note DDRUSA uses this for standard, but its unlikely - if (in == "TRICK") return MEDIUM_DESCRIPTION; // 4th/5th - if (in == "DIFFICULT") return MEDIUM_DESCRIPTION; // DDRUSA, unlikely - - if (in == "SSR") return HARD_DESCRIPTION; // 3rd - if (in == "MANIAC") return HARD_DESCRIPTION; // pre-MAX - if (in == "HEAVY") return HARD_DESCRIPTION; // MAX - if (in == "EXPERT") return HARD_DESCRIPTION; // Euromix - - if (in == "SMANIAC") return CHALLENGE_DESCRIPTION; // 4th - if (in == "CHALLENGE") return CHALLENGE_DESCRIPTION; // MAX - if (in == "ONI") return CHALLENGE_DESCRIPTION; // Extreme - - return in; // something else + switch( StringToDifficulty(in) ) + { + case DIFFICULTY_BEGINNER: return BEGINNER_DESCRIPTION; + case DIFFICULTY_EASY: return EASY_DESCRIPTION; + case DIFFICULTY_MEDIUM: return MEDIUM_DESCRIPTION; + case DIFFICULTY_HARD: return HARD_DESCRIPTION; + case DIFFICULTY_CHALLENGE: return CHALLENGE_DESCRIPTION; + default: return in; // something else + } }