X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_game.c;h=fbd23b43498a2120609cd6c3496920bffa3500ef;hb=6689304a6b2e10506949457dae724cb94f1ba71f;hp=4de58b82685bec2e28bdef152f38f30c16f217e7;hpb=98272a6958328946fb3ceab794cb21f59f91d22f;p=rocksndiamonds.git diff --git a/src/game_mm/mm_game.c b/src/game_mm/mm_game.c index 4de58b82..fbd23b43 100644 --- a/src/game_mm/mm_game.c +++ b/src/game_mm/mm_game.c @@ -571,6 +571,10 @@ void ScanLaser() int element; int end = 0, rf = laser.num_edges; + /* do not scan laser again after the game was lost for whatever reason */ + if (game_mm.game_over) + return; + laser.overloaded = FALSE; laser.stops_inside_element = FALSE; @@ -2444,6 +2448,10 @@ void ClickElement(int mx, int my, int button) int element; int x = (mx - SX) / TILEX, y = (my - SY) / TILEY; + /* do not rotate objects hit by the laser after the game was solved */ + if (game_mm.level_solved && Hit[x][y]) + return; + if (button == MB_RELEASED) { new_button = TRUE; @@ -2647,6 +2655,10 @@ void AutoRotateMirrors() { int element = Feld[x][y]; + /* do not rotate objects hit by the laser after the game was solved */ + if (game_mm.level_solved && Hit[x][y]) + continue; + if (IS_DF_MIRROR_AUTO(element) || IS_GRID_WOOD_AUTO(element) || IS_GRID_STEEL_AUTO(element) ||