diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 928dcdd7a6..044c36f982 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -2414,6 +2414,15 @@ ArrowsX=SCREEN_CENTER_X-232 LabelsX=SCREEN_CENTER_X-180 LabelsZoom=0.7 LabelsHAlign=2 // 0,1,2 = left,center,right +NumRowsShown=10 +Row1Y=SCREEN_CENTER_Y-152+34*0 +Row2Y=SCREEN_CENTER_Y-152+34*1 +Row3Y=SCREEN_CENTER_Y-152+34*2 +Row4Y=SCREEN_CENTER_Y-152+34*3 +Row5Y=SCREEN_CENTER_Y-152+34*4 +Row6Y=SCREEN_CENTER_Y-152+34*5 +Row7Y=SCREEN_CENTER_Y-152+34*6 +Row8Y=SCREEN_CENTER_Y-152+34*7 ItemsZoom=0.5 ItemsStartX=SCREEN_CENTER_X-160 ItemsEndX=SCREEN_CENTER_X+280 @@ -2421,8 +2430,6 @@ ItemsGapX=14 ItemsLongRowP1X=260 ItemsLongRowP2X=420 ItemsLongRowSharedX=340 -ItemsStartY=SCREEN_CENTER_Y-152 -ItemsSpacingY=34 ExplanationP1X=SCREEN_CENTER_X-250 ExplanationP1Y=SCREEN_CENTER_Y+172 ExplanationP2X=SCREEN_CENTER_X+250 @@ -2449,7 +2456,6 @@ LineHighlightChangeCommand= LineHighlightChangeToExitCommand= ColorSelected=1,1,1,1 // normal ColorNotSelected=0.5,0.5,0.5,1 // grayed -NumShownItems=10 ShowScrollBar=0 ScrollBarHeight=0 ScrollBarTime=0 diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 54e7e297e7..49e5e6297c 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -65,6 +65,7 @@ * in player options menus, but it should in the options menu. */ +CString ROW_Y_NAME( size_t r ) { return ssprintf("Row%dY",r+1); } CString ITEMS_LONG_ROW_X_NAME( size_t p ) { return ssprintf("ItemsLongRowP%dX",p+1); } CString ICONS_X_NAME( size_t p ) { return ssprintf("IconsP%dX",p+1); } CString EXPLANATION_X_NAME( size_t p ) { return ssprintf("ExplanationP%dX",p+1); } @@ -78,14 +79,14 @@ ScreenOptions::ScreenOptions( CString sClassName ) : ScreenWithMenuElements(sCla LABELS_X (m_sName,"LabelsX"), LABELS_ZOOM (m_sName,"LabelsZoom"), LABELS_H_ALIGN (m_sName,"LabelsHAlign"), + NUM_ROWS_SHOWN (m_sName,"NumRowsShown"), + ROW_Y (m_sName,ROW_Y_NAME,NUM_ROWS_SHOWN), ITEMS_ZOOM (m_sName,"ItemsZoom"), ITEMS_START_X (m_sName,"ItemsStartX"), ITEMS_END_X (m_sName,"ItemsEndX"), ITEMS_GAP_X (m_sName,"ItemsGapX"), ITEMS_LONG_ROW_X (m_sName,ITEMS_LONG_ROW_X_NAME,NUM_PLAYERS), ITEMS_LONG_ROW_SHARED_X (m_sName,"ItemsLongRowSharedX"), - ITEMS_START_Y (m_sName,"ItemsStartY"), - ITEMS_SPACING_Y (m_sName,"ItemsSpacingY"), ICONS_X (m_sName,ICONS_X_NAME,NUM_PLAYERS), EXPLANATION_X (m_sName,EXPLANATION_X_NAME,NUM_PLAYERS), EXPLANATION_Y (m_sName,EXPLANATION_Y_NAME,NUM_PLAYERS), @@ -99,7 +100,6 @@ ScreenOptions::ScreenOptions( CString sClassName ) : ScreenWithMenuElements(sCla EXPLANATION_ZOOM (m_sName,"ExplanationZoom"), COLOR_SELECTED (m_sName,"ColorSelected"), COLOR_NOT_SELECTED (m_sName,"ColorNotSelected"), - NUM_SHOWN_ITEMS (m_sName,"NumShownItems"), SHOW_BPM_IN_SPEED_TITLE (m_sName,"ShowBpmInSpeedTitle"), FRAME_ON_COMMAND (m_sName,"FrameOnCommand"), FRAME_OFF_COMMAND (m_sName,"FrameOffCommand"), @@ -611,7 +611,7 @@ void ScreenOptions::InitOptionsText() if( row.Type == OptionRow::ROW_EXIT ) continue; - const float fY = ITEMS_START_Y + ITEMS_SPACING_Y*i; + const float fY = ROW_Y.GetValue( i ); BitmapText &title = row.m_textTitle; @@ -942,7 +942,7 @@ void ScreenOptions::HandleScreenMessage( const ScreenMessage SM ) void ScreenOptions::PositionItems() { - const int total = NUM_SHOWN_ITEMS; + const int total = NUM_ROWS_SHOWN; const int halfsize = total / 2; int first_start, first_end, second_start, second_end; @@ -1032,7 +1032,7 @@ void ScreenOptions::PositionItems() OptionRow &row = *Rows[i]; - float fY = ITEMS_START_Y + ITEMS_SPACING_Y*ItemPosition; + float fY = ROW_Y.GetValue( ItemPosition ); row.m_fY = fY; row.m_bHidden = i < first_start || (i >= first_end && i < second_start) || diff --git a/stepmania/src/ScreenOptions.h b/stepmania/src/ScreenOptions.h index fbb498e9e8..061aa0359e 100644 --- a/stepmania/src/ScreenOptions.h +++ b/stepmania/src/ScreenOptions.h @@ -117,14 +117,14 @@ protected: ThemeMetric LABELS_X; ThemeMetric LABELS_ZOOM; ThemeMetric LABELS_H_ALIGN; + ThemeMetric NUM_ROWS_SHOWN; + ThemeMetric1D ROW_Y; 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; @@ -138,7 +138,6 @@ protected: 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;