X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=860fe3b5566b0bc42054a10eedd18965342549f1;hp=c8324210de2648e2cec37e8865946783b2148b0b;hb=5d62e58de7927357035bd219d0d970dd21aecb29;hpb=7270af24b41bc33fbb89a97227a7696e343eacbb diff --git a/src/screens.c b/src/screens.c index c8324210..860fe3b5 100644 --- a/src/screens.c +++ b/src/screens.c @@ -4036,6 +4036,12 @@ static void DrawChooseTree(TreeInfo **ti_ptr) static void drawChooseTreeList(int first_entry, int num_page_entries, TreeInfo *ti) { + int num_entries = numTreeInfoInGroup(ti); + boolean scrollbar_needed = (num_entries > NUM_MENU_ENTRIES_ON_SCREEN); + int scrollbar_xpos = SC_SCROLLBAR_XPOS + menu.scrollbar_xoffset; + int screen_width = (scrollbar_needed ? scrollbar_xpos : SXSIZE); + int font_nr = FONT_TEXT_1; + int font_xoffset = getFontBitmapInfo(font_nr)->draw_xoffset; int i; char *title_string = NULL; int yoffset_sets = MENU_TITLE1_YPOS; @@ -4057,11 +4063,9 @@ static void drawChooseTreeList(int first_entry, int num_page_entries, int ypos = MENU_SCREEN_START_YPOS + i; int startx = mSX + xpos * 32; int starty = mSY + ypos * 32; - int font_nr = FONT_TEXT_1; - int font_xoffset = getFontBitmapInfo(font_nr)->draw_xoffset; int startx_text = startx + font_xoffset; - int startx_scrollbar = mSX + SC_SCROLLBAR_XPOS + menu.scrollbar_xoffset; - int text_size = startx_scrollbar - startx_text; + int endx_text = mSX + screen_width; + int text_size = endx_text - startx_text; int max_buffer_len = text_size / getFontWidth(font_nr); char buffer[max_buffer_len + 1];