fixed bug that could cause an endless loop (freeze) in the MM engine 4.3.5.1
authorHolger Schemel <info@artsoft.org>
Sun, 19 Feb 2023 00:30:03 +0000 (01:30 +0100)
committerHolger Schemel <info@artsoft.org>
Sun, 19 Feb 2023 00:49:05 +0000 (01:49 +0100)
commit443ff08ee0c81730c4ff198b16bafc4199696724
treedba7bf238412afa1922636f58a6b152baebaaa3e
parent487e1b8ecea9121a3408e5d4f968945e071aa4aa
fixed bug that could cause an endless loop (freeze) in the MM engine

This is a workaround for a regression bug of commit f8aec447 (that
fixed overloading the laser due to duplicated tiles in damage list).

The problem that could cause an endless loop already existed before
the above commit, but without that commit, scanning the laser was
stopped by the damage list completely filling up, stopping the loop.
The above commit prevents adding the same tile again and again to the
damage list, therefore not stopping the endless loop anymore.

This commit should prevent the endless loop from happening at all.

The problem (and how to reproduce it) was described by Eizzoux in the
following post in the R'n'D web forum:
https://www.artsoft.org/forum/viewtopic.php?p=18214
src/game_mm/mm_game.c