projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed updating editor element list for game engine when changing levels
[rocksndiamonds.git]
/
src
/
game_mm
/
mm_game.c
diff --git
a/src/game_mm/mm_game.c
b/src/game_mm/mm_game.c
index 4de58b82685bec2e28bdef152f38f30c16f217e7..fbd23b43498a2120609cd6c3496920bffa3500ef 100644
(file)
--- 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;
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;
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;
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;
if (button == MB_RELEASED)
{
new_button = TRUE;
@@
-2647,6
+2655,10
@@
void AutoRotateMirrors()
{
int element = Feld[x][y];
{
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) ||
if (IS_DF_MIRROR_AUTO(element) ||
IS_GRID_WOOD_AUTO(element) ||
IS_GRID_STEEL_AUTO(element) ||