+ // special check if right-side setup values moved left due to scrollbar
+ if (scrollbar_needed && xpos > MENU_SCREEN_START_XPOS)
+ {
+ int max_menu_text_length = 26; // maximum text length for classic menu
+ int font_xoffset = getFontBitmapInfo(font_nr)->draw_xoffset;
+ int text_startx = mSX + MENU_SCREEN_START_XPOS * 32;
+ int text_font_nr = getMenuTextFont(FONT_MENU_2);
+ int text_font_xoffset = getFontBitmapInfo(text_font_nr)->draw_xoffset;
+ int text_width = max_menu_text_length * getFontWidth(text_font_nr);
+
+ if (startx + font_xoffset < text_startx + text_width + text_font_xoffset)
+ {
+ xpos += 1;
+ startx = mSX + xpos * 32;
+
+ font_nr = getSetupValueFontNarrow(type, font_nr);
+ font_width = getFontWidth(font_nr);
+ }
+ }
+