diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 73015cca56..93af05977d 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,13 @@ ________________________________________________________________________________ StepMania 5.0 ????????? | 20110??? -------------------------------------------------------------------------------- +2011/07/12 +---------- +* [OptionRowHandler] Add a new metric to ScreenOptionsMaster: + StepsUseChartName. Use this if you want your charts to have a unique name + in the options menu. If there is no #CHARTNAME or it is "Blank", it reverts + to the original behavior. This metric is false by default. [Wolfman2000] + 2011/07/09 ---------- * [NotesTheUsual] Update the #COMBOS tag to allow for a Miss Combo attribute. diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index ad995db105..4d3f9d6514 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2091,6 +2091,7 @@ OptionRowExitMetricsGroup="OptionRowExit" Fallback="ScreenOptions" Class="ScreenOptionsMaster" NoteSkinSortOrder="" +StepsUseChartName=false # ExitItem is an exit row with the "Exit" text as a menu item; ExitTitle # uses the menu title. diff --git a/src/OptionRowHandler.cpp b/src/OptionRowHandler.cpp index 00125fa6b1..02d05c5aa1 100644 --- a/src/OptionRowHandler.cpp +++ b/src/OptionRowHandler.cpp @@ -28,6 +28,7 @@ #define ENTRY_MODE(s,i) THEME->GetMetric ("ScreenOptionsMaster",ssprintf("%s,%i",(s).c_str(),(i+1))) #define ENTRY_DEFAULT(s) THEME->GetMetric ("ScreenOptionsMaster",(s) + "Default") #define NOTE_SKIN_SORT_ORDER THEME->GetMetric ("ScreenOptionsMaster","NoteSkinSortOrder") +#define STEPS_USE_CHART_NAME THEME->GetMetricB("ScreenOptionsMaster","StepsUseChartName") static const char *SelectTypeNames[] = { "SelectOne", @@ -449,6 +450,14 @@ class OptionRowHandlerListSteps : public OptionRowHandlerList Steps* pSteps = vpSteps[i]; RString s; + if (STEPS_USE_CHART_NAME) + { + s = pSteps->GetChartName(); + if (!(s == "" || s == "blank" || s == "Blank")) + { + goto nameGotten; + } + } if( pSteps->GetDifficulty() == Difficulty_Edit ) { s = pSteps->GetDescription(); @@ -460,6 +469,7 @@ class OptionRowHandlerListSteps : public OptionRowHandlerList else s = CustomDifficultyToLocalizedString( GetCustomDifficulty( pSteps->m_StepsType, pSteps->GetDifficulty(), CourseType_Invalid ) ); } + nameGotten: s += ssprintf( " %d", pSteps->GetMeter() ); m_Def.m_vsChoices.push_back( s ); GameCommand mc;