added check for custom elements being "next to" player or element
authorHolger Schemel <holger.schemel@virtion.de>
Tue, 21 Sep 2021 21:06:34 +0000 (23:06 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 22 Jan 2022 16:58:27 +0000 (17:58 +0100)
commit0c8ca57132eb4cfa4a941409e55aabe5c49ebe15
treed5bd0e9e50e0421b6c281634bda8e36af0431a06
parentb13d6c6c6d13c6f117316d5448912faf577e2190
added check for custom elements being "next to" player or element

Custom elements are usually only checked for change events at a certain
point in time (for example, when a moving element hits another element).

This is also true for the already existing check "touching", which can
only trigger a custom element change at the exact moment something
happens, like a finished movement action or the change of another
element, at which time a check is performed if that action results in
an element touching the player or another element.

In contrast, the new change condition "next to" can cause an element
change at any time, independently of movements or changes of other
elements, as it permanently checks the static state of adjacent game
elements (or an element and the player). This can be used, for example,
to test for a non-moving, non-changing custom element being next to
another element. (This even works after starting a level, when it is
not possible without tricks (like changing a custom element to itself)
to check if two elements are next to each others.)
src/editor.c
src/game.c
src/main.h