diff --git a/stepmania/src/CommonMetrics.cpp b/stepmania/src/CommonMetrics.cpp index 709f9a7e50..b02f6121d5 100644 --- a/stepmania/src/CommonMetrics.cpp +++ b/stepmania/src/CommonMetrics.cpp @@ -11,7 +11,7 @@ ThemeMetric FIRST_RUN_INITIAL_SCREEN ("Common","FirstRunInitialScreen") ThemeMetric DEFAULT_MODIFIERS ("Common","DefaultModifiers" ); ThemeMetric DEFAULT_CPU_MODIFIERS ("Common","DefaultCpuModifiers" ); ThemeMetric COURSE_DIFFICULTIES_TO_SHOW ("Common","CourseDifficultiesToShow"); -ThemeMetric1D PLAYER_COLOR ("Common",PLAYER_COLOR_NAME,NUM_PLAYERS); +ThemeMetric1D PLAYER_COLOR ("Common",PLAYER_COLOR_NAME,NUM_PLAYERS); ThemeMetric JOIN_PAUSE_SECONDS ("Common","JoinPauseSeconds"); ThemeMetric WINDOW_TITLE ("Common","WindowTitle"); diff --git a/stepmania/src/CommonMetrics.h b/stepmania/src/CommonMetrics.h index b1fc87b058..1b22a07297 100644 --- a/stepmania/src/CommonMetrics.h +++ b/stepmania/src/CommonMetrics.h @@ -12,7 +12,7 @@ extern ThemeMetric FIRST_RUN_INITIAL_SCREEN; extern ThemeMetric DEFAULT_MODIFIERS; extern ThemeMetric DEFAULT_CPU_MODIFIERS; extern ThemeMetric COURSE_DIFFICULTIES_TO_SHOW; -extern ThemeMetric1D PLAYER_COLOR; +extern ThemeMetric1D PLAYER_COLOR; extern ThemeMetric JOIN_PAUSE_SECONDS; extern ThemeMetric WINDOW_TITLE; diff --git a/stepmania/src/Player.cpp b/stepmania/src/Player.cpp index 950998372e..2f3d27feab 100644 --- a/stepmania/src/Player.cpp +++ b/stepmania/src/Player.cpp @@ -41,25 +41,25 @@ CString JUDGMENT_X_NAME( size_t p, size_t both_sides ) { return "JudgmentXOffse CString COMBO_X_NAME( size_t p, size_t both_sides ) { return "ComboXOffset" + (both_sides ? CString("BothSides") : ssprintf("OneSideP%d",p+1) ); } CString ATTACK_DISPLAY_X_NAME( size_t p, size_t both_sides ){ return "AttackDisplayXOffset" + (both_sides ? CString("BothSides") : ssprintf("OneSideP%d",p+1) ); } -ThemeMetric GRAY_ARROWS_Y_STANDARD ("Player","ReceptorArrowsYStandard"); -ThemeMetric GRAY_ARROWS_Y_REVERSE ("Player","ReceptorArrowsYReverse"); -ThemeMetric2D JUDGMENT_X ("Player",JUDGMENT_X_NAME,NUM_PLAYERS,2); -ThemeMetric JUDGMENT_Y ("Player","JudgmentY"); -ThemeMetric JUDGMENT_Y_REVERSE ("Player","JudgmentYReverse"); -ThemeMetric2D COMBO_X ("Player",COMBO_X_NAME,NUM_PLAYERS,2); -ThemeMetric COMBO_Y ("Player","ComboY"); -ThemeMetric COMBO_Y_REVERSE ("Player","ComboYReverse"); -ThemeMetric2D ATTACK_DISPLAY_X ("Player",ATTACK_DISPLAY_X_NAME,NUM_PLAYERS,2); -ThemeMetric ATTACK_DISPLAY_Y ("Player","AttackDisplayY"); -ThemeMetric ATTACK_DISPLAY_Y_REVERSE ("Player","AttackDisplayYReverse"); -ThemeMetric HOLD_JUDGMENT_Y_STANDARD ("Player","HoldJudgmentYStandard"); -ThemeMetric HOLD_JUDGMENT_Y_REVERSE ("Player","HoldJudgmentYReverse"); -ThemeMetric BRIGHT_GHOST_COMBO_THRESHOLD("Player","BrightGhostComboThreshold"); -ThemeMetric TAP_JUDGMENTS_UNDER_FIELD ("Player","TapJudgmentsUnderField"); -ThemeMetric HOLD_JUDGMENTS_UNDER_FIELD ("Player","HoldJudgmentsUnderField"); -ThemeMetric START_DRAWING_AT_PIXELS ("Player","StartDrawingAtPixels"); -ThemeMetric STOP_DRAWING_AT_PIXELS ("Player","StopDrawingAtPixels"); -ThemeMetric MAX_PRO_TIMING_ERROR ("Player","MaxProTimingError"); +ThemeMetric GRAY_ARROWS_Y_STANDARD ("Player","ReceptorArrowsYStandard"); +ThemeMetric GRAY_ARROWS_Y_REVERSE ("Player","ReceptorArrowsYReverse"); +ThemeMetric2D JUDGMENT_X ("Player",JUDGMENT_X_NAME,NUM_PLAYERS,2); +ThemeMetric JUDGMENT_Y ("Player","JudgmentY"); +ThemeMetric JUDGMENT_Y_REVERSE ("Player","JudgmentYReverse"); +ThemeMetric2D COMBO_X ("Player",COMBO_X_NAME,NUM_PLAYERS,2); +ThemeMetric COMBO_Y ("Player","ComboY"); +ThemeMetric COMBO_Y_REVERSE ("Player","ComboYReverse"); +ThemeMetric2D ATTACK_DISPLAY_X ("Player",ATTACK_DISPLAY_X_NAME,NUM_PLAYERS,2); +ThemeMetric ATTACK_DISPLAY_Y ("Player","AttackDisplayY"); +ThemeMetric ATTACK_DISPLAY_Y_REVERSE ("Player","AttackDisplayYReverse"); +ThemeMetric HOLD_JUDGMENT_Y_STANDARD ("Player","HoldJudgmentYStandard"); +ThemeMetric HOLD_JUDGMENT_Y_REVERSE ("Player","HoldJudgmentYReverse"); +ThemeMetric BRIGHT_GHOST_COMBO_THRESHOLD("Player","BrightGhostComboThreshold"); +ThemeMetric TAP_JUDGMENTS_UNDER_FIELD ("Player","TapJudgmentsUnderField"); +ThemeMetric HOLD_JUDGMENTS_UNDER_FIELD ("Player","HoldJudgmentsUnderField"); +ThemeMetric START_DRAWING_AT_PIXELS ("Player","StartDrawingAtPixels"); +ThemeMetric STOP_DRAWING_AT_PIXELS ("Player","StopDrawingAtPixels"); +ThemeMetric MAX_PRO_TIMING_ERROR ("Player","MaxProTimingError"); /* Distance to search for a note in Step(), in seconds. */ static const float StepSearchDistance = 1.0f; diff --git a/stepmania/src/ScreenOptions.h b/stepmania/src/ScreenOptions.h index a4ce000b73..fbb498e9e8 100644 --- a/stepmania/src/ScreenOptions.h +++ b/stepmania/src/ScreenOptions.h @@ -113,38 +113,38 @@ protected: RageSound m_SoundToggleOff; // metrics - ThemeMetric ARROWS_X; - ThemeMetric LABELS_X; - ThemeMetric LABELS_ZOOM; - ThemeMetric LABELS_H_ALIGN; - ThemeMetric ITEMS_ZOOM; - ThemeMetric ITEMS_START_X; - ThemeMetric ITEMS_END_X; - ThemeMetric ITEMS_GAP_X; - ThemeMetric1D ITEMS_LONG_ROW_X; - ThemeMetric ITEMS_LONG_ROW_SHARED_X; - ThemeMetric ITEMS_START_Y; - ThemeMetric ITEMS_SPACING_Y; - ThemeMetric1D ICONS_X; - ThemeMetric1D EXPLANATION_X; - ThemeMetric1D EXPLANATION_Y; - ThemeMetric1D EXPLANATION_ON_COMMAND; - ThemeMetric EXPLANATION_TOGETHER_X; - ThemeMetric EXPLANATION_TOGETHER_Y; - ThemeMetric EXPLANATION_TOGETHER_ON_COMMAND; - ThemeMetric SHOW_SCROLL_BAR; - ThemeMetric SCROLL_BAR_HEIGHT; - ThemeMetric SCROLL_BAR_TIME; - ThemeMetric EXPLANATION_ZOOM; - ThemeMetric COLOR_SELECTED; - ThemeMetric COLOR_NOT_SELECTED; - ThemeMetric NUM_SHOWN_ITEMS; - ThemeMetric SHOW_BPM_IN_SPEED_TITLE; - ThemeMetric FRAME_ON_COMMAND; - ThemeMetric FRAME_OFF_COMMAND; - ThemeMetric SEPARATE_EXIT_ROW; - ThemeMetric SEPARATE_EXIT_ROW_Y; - ThemeMetric CAPITALIZE_ALL_OPTION_NAMES; + ThemeMetric ARROWS_X; + ThemeMetric LABELS_X; + ThemeMetric LABELS_ZOOM; + ThemeMetric LABELS_H_ALIGN; + ThemeMetric ITEMS_ZOOM; + ThemeMetric ITEMS_START_X; + ThemeMetric ITEMS_END_X; + ThemeMetric ITEMS_GAP_X; + ThemeMetric1D ITEMS_LONG_ROW_X; + ThemeMetric ITEMS_LONG_ROW_SHARED_X; + ThemeMetric ITEMS_START_Y; + ThemeMetric ITEMS_SPACING_Y; + ThemeMetric1D ICONS_X; + ThemeMetric1D EXPLANATION_X; + ThemeMetric1D EXPLANATION_Y; + ThemeMetric1D EXPLANATION_ON_COMMAND; + ThemeMetric EXPLANATION_TOGETHER_X; + ThemeMetric EXPLANATION_TOGETHER_Y; + ThemeMetric EXPLANATION_TOGETHER_ON_COMMAND; + ThemeMetric SHOW_SCROLL_BAR; + ThemeMetric SCROLL_BAR_HEIGHT; + ThemeMetric SCROLL_BAR_TIME; + ThemeMetric EXPLANATION_ZOOM; + ThemeMetric COLOR_SELECTED; + ThemeMetric COLOR_NOT_SELECTED; + ThemeMetric NUM_SHOWN_ITEMS; + ThemeMetric SHOW_BPM_IN_SPEED_TITLE; + ThemeMetric FRAME_ON_COMMAND; + ThemeMetric FRAME_OFF_COMMAND; + ThemeMetric SEPARATE_EXIT_ROW; + ThemeMetric SEPARATE_EXIT_ROW_Y; + ThemeMetric CAPITALIZE_ALL_OPTION_NAMES; }; #endif diff --git a/stepmania/src/ScreenSelectMaster.h b/stepmania/src/ScreenSelectMaster.h index 6491be0e43..971a32c7d0 100644 --- a/stepmania/src/ScreenSelectMaster.h +++ b/stepmania/src/ScreenSelectMaster.h @@ -36,24 +36,24 @@ protected: Page GetPage( int iChoiceIndex ) const; Page GetCurrentPage() const; - ThemeMetric NUM_ICON_PARTS; - ThemeMetric NUM_PREVIEW_PARTS; - ThemeMetric NUM_CURSOR_PARTS; - ThemeMetric SHARED_PREVIEW_AND_CURSOR; - ThemeMetric NUM_CHOICES_ON_PAGE_1; - ThemeMetric2D CURSOR_OFFSET_X_FROM_ICON; - ThemeMetric2D CURSOR_OFFSET_Y_FROM_ICON; - ThemeMetric PRE_SWITCH_PAGE_SECONDS; - ThemeMetric POST_SWITCH_PAGE_SECONDS; - ThemeMetric EXTRA_SLEEP_AFTER_TWEEN_OFF_SECONDS; - ThemeMetric1D OPTION_ORDER; - ThemeMetric WRAP_CURSOR; - ThemeMetric SHOW_SCROLLER; - ThemeMetric SCROLLER_SECONDS_PER_ITEM; - ThemeMetric SCROLLER_NUM_ITEMS_TO_DRAW; - ThemeMetric SCROLLER_SPACING_X; - ThemeMetric SCROLLER_SPACING_Y; - ThemeMetric DEFAULT_CHOICE; + ThemeMetric NUM_ICON_PARTS; + ThemeMetric NUM_PREVIEW_PARTS; + ThemeMetric NUM_CURSOR_PARTS; + ThemeMetric SHARED_PREVIEW_AND_CURSOR; + ThemeMetric NUM_CHOICES_ON_PAGE_1; + ThemeMetric2D CURSOR_OFFSET_X_FROM_ICON; + ThemeMetric2D CURSOR_OFFSET_Y_FROM_ICON; + ThemeMetric PRE_SWITCH_PAGE_SECONDS; + ThemeMetric POST_SWITCH_PAGE_SECONDS; + ThemeMetric EXTRA_SLEEP_AFTER_TWEEN_OFF_SECONDS; + ThemeMetric1D OPTION_ORDER; + ThemeMetric WRAP_CURSOR; + ThemeMetric SHOW_SCROLLER; + ThemeMetric SCROLLER_SECONDS_PER_ITEM; + ThemeMetric SCROLLER_NUM_ITEMS_TO_DRAW; + ThemeMetric SCROLLER_SPACING_X; + ThemeMetric SCROLLER_SPACING_Y; + ThemeMetric DEFAULT_CHOICE; int m_Next[NUM_MENU_DIRS][MAX_CHOICES]; diff --git a/stepmania/src/ThemeMetric.h b/stepmania/src/ThemeMetric.h index ce8db7ffe2..115c9be9cf 100644 --- a/stepmania/src/ThemeMetric.h +++ b/stepmania/src/ThemeMetric.h @@ -81,22 +81,23 @@ public: typedef CString (*MetricName1D)(size_t N); -template +template class ThemeMetric1D : public IThemeMetric { - ThemeMetric m_metric[N]; + typedef ThemeMetric ThemeMetricT; + vector m_metric; public: - ThemeMetric1D( const CString& sGroup, MetricName1D pfn, size_t nToInit ) + ThemeMetric1D( const CString& sGroup, MetricName1D pfn, size_t N ) { - ASSERT( nToInit <= N ); - for( unsigned i=0; i +template class ThemeMetric2D : public IThemeMetric { - ThemeMetric m_metric[N][M]; + typedef ThemeMetric ThemeMetricT; + typedef vector ThemeMetricTVector; + vector m_metric; public: - ThemeMetric2D( const CString& sGroup, MetricName2D pfn, size_t nToInit, size_t mToInit ) + ThemeMetric2D( const CString& sGroup, MetricName2D pfn, size_t N, size_t M ) { - ASSERT( nToInit <= N ); - ASSERT( mToInit <= M ); - for( unsigned i=0; i