X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;fp=src%2Fscreens.c;h=44ea613339df9dcad6089f980d15bb4cb04f431e;hp=4937d2ce26af7feacd9275c6488e324b866165b8;hb=e8e25abd27f7ba929f90f84c2e266ff91d2389d4;hpb=1b546d91e0e082f833c399aa8a106be15d720f24 diff --git a/src/screens.c b/src/screens.c index 4937d2ce..44ea6133 100644 --- a/src/screens.c +++ b/src/screens.c @@ -4781,10 +4781,16 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, return; } - if (mx || my) // mouse input + // any mouse click or direction input stops playing the next level + if ((mx || my || dx || dy) && scores.was_just_playing) { scores.was_just_playing = FALSE; + level_nr = scores.last_level_nr; + LoadLevel(level_nr); + } + if (mx || my) // mouse input + { x = (mx - amSX) / 32; y = (my - amSY) / 32 - MENU_SCREEN_START_YPOS; @@ -4793,8 +4799,6 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, } else if (dx || dy) // keyboard or scrollbar/scrollbutton input { - scores.was_just_playing = FALSE; - // move cursor instead of scrolling when already at start/end of list if (dy == -1 * SCROLL_LINE && ti->cl_first == 0) dy = -1;