X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=bd59b4cd4d8c46493fdf78c4dff95d1624c069bd;hp=5195cacd33776452acc609b371898fa2ad5b7e3c;hb=5ec24525b32769d5ce634218dea77c110e22ed8c;hpb=dc0d3a4edd8a5b989f6fcd89e48a77b4ca590df4 diff --git a/src/screens.c b/src/screens.c index 5195cacd..bd59b4cd 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1690,14 +1690,9 @@ static void gotoTopLevelDir(void) { int num_leveldirs = numTreeInfoInGroup(leveldir_current); int leveldir_pos = posTreeInfo(leveldir_current); - int num_page_entries; + int num_page_entries = MIN(num_leveldirs, NUM_MENU_ENTRIES_ON_SCREEN); int cl_first, cl_cursor; - if (num_leveldirs <= NUM_MENU_ENTRIES_ON_SCREEN) - num_page_entries = num_leveldirs; - else - num_page_entries = NUM_MENU_ENTRIES_ON_SCREEN; - cl_first = MAX(0, leveldir_pos - num_page_entries + 1); cl_cursor = leveldir_pos - cl_first; @@ -1911,7 +1906,7 @@ static void HandleMainMenu_SelectLevel(int step, int direction, if (new_level_nr != old_level_nr) { - struct MainControlInfo *mci= getMainControlInfo(MAIN_CONTROL_LEVEL_NUMBER); + struct MainControlInfo *mci = getMainControlInfo(MAIN_CONTROL_LEVEL_NUMBER); PlaySound(SND_MENU_ITEM_SELECTING); @@ -1932,9 +1927,8 @@ static void HandleMainMenu_SelectLevel(int step, int direction, UpdateScreenMenuGadgets(SCREEN_MASK_MAIN_HAS_SOLUTION, hasSolutionTape()); - // needed because DrawPreviewLevelInitial() takes some time - BackToFront(); - // SyncDisplay(); + // force redraw of playfield area (may be reset at this point) + redraw_mask |= REDRAW_FIELD; } } @@ -4182,14 +4176,9 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, int y = ti->cl_cursor; int step = (button == 1 ? 1 : button == 2 ? 5 : 10); int num_entries = numTreeInfoInGroup(ti); - int num_page_entries; + int num_page_entries = MIN(num_entries, NUM_MENU_ENTRIES_ON_SCREEN); boolean position_set_by_scrollbar = (dx == 999); - if (num_entries <= NUM_MENU_ENTRIES_ON_SCREEN) - num_page_entries = num_entries; - else - num_page_entries = NUM_MENU_ENTRIES_ON_SCREEN; - if (button == MB_MENU_INITIALIZE) { int num_entries = numTreeInfoInGroup(ti);