X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=f26a200b2f3fb65247c5fc5465d50163358d918f;hp=5246fa82a76ce42a2bf6cde9990c401802621ba7;hb=046d80f9a1b3fad9d4d3d3aa92dcb3689849aebf;hpb=c3d03cdffce070695ba0520d00667b42b8460087 diff --git a/src/screens.c b/src/screens.c index 5246fa82..f26a200b 100644 --- a/src/screens.c +++ b/src/screens.c @@ -118,15 +118,18 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) { static long level_delay = 0; int step = (button==1 ? 1 : button==2 ? 5 : 10); + int new_level_nr, old_level_nr = level_nr; - if (!DelayReached(&level_delay,20)) + new_level_nr = level_nr + (x==11 ? -step : +step); + if (new_level_nr<0) + new_level_nr = 0; + if (new_level_nr>LEVELDIR_SIZE(leveldir[leveldir_nr])-1) + new_level_nr = LEVELDIR_SIZE(leveldir[leveldir_nr])-1; + + if (old_level_nr==new_level_nr || !DelayReached(&level_delay,20)) goto out; - level_nr += (x==11 ? -step : +step); - if (level_nr<0) - level_nr = 0; - if (level_nr>LEVELDIR_SIZE(leveldir[leveldir_nr])-1) - level_nr = LEVELDIR_SIZE(leveldir[leveldir_nr])-1; + level_nr = new_level_nr; if (level_nr>player.handicap && level_nr