changed how the native BD game engine handles scanned game elements
authorHolger Schemel <holger.schemel@virtion.de>
Mon, 2 Sep 2024 23:54:30 +0000 (01:54 +0200)
committerHolger Schemel <holger.schemel@virtion.de>
Tue, 3 Sep 2024 00:11:43 +0000 (02:11 +0200)
commite8dee4b8a19f55672f0ff5c27146dd9793269479
tree3e62be49b124a4a6405b22377634b4cfac6accc2
parent38aac5398d3e8789ab576fd3d8161f54517ff152
changed how the native BD game engine handles scanned game elements

After scanning (processing) game elements on the playfield using the
native BD game engine, game elements are marked as "scanned" to
prevent processing them again (for example, newly created elements in
the next row that are just about to be scanned). Previously, elements
were marked by setting a "scanned" bit. Now, elements are marked by
using special "scanned" variants for the already processed element.

There is another change that breaks old cave replays (BD style tapes):
When checking game element properties, the old engine always checked
the non-scanned elements, while the new engine checks the element just
as it is (that is, either scanned or non-scanned), which causes some
game elements (like the amoeba) to behave slightly differently.

This is handled by a special flag to choose the old or new behaviour,
which is currently still set to use the old behaviour.
src/game_bd/bd_cave.c
src/game_bd/bd_caveengine.c
src/game_bd/bd_gameplay.c