fixed several bugs with shared playfield bitmap in MM game engine
authorHolger Schemel <info@artsoft.org>
Thu, 30 Mar 2023 19:36:06 +0000 (21:36 +0200)
committerHolger Schemel <info@artsoft.org>
Thu, 30 Mar 2023 19:36:06 +0000 (21:36 +0200)
commitb66bf285376f1a2c08ba8f7624fa48ffbcd898a9
tree54247fcb8a96715830085aaeb6ab0cab23a49942
parentca793aef40f02d22bf04489584dd7a450fda54bd
fixed several bugs with shared playfield bitmap in MM game engine

This fixes several bugs that resulted from using the normal background
bitmap for the Mirror Magic game engine (which was possible because
this game engine does not support scrolling levels and therefore only
uses the visible playfield viewport).

The main bugs fixed by this change are preventing MM engine levels
that are larger than the visible playfield area drawing over the
border area, and some problems with envelope style requests (like
restoring an outdated copy of the backbuffer after an envelope
request was answered after a game was lost).

While fixing these visible bugs, this change also brings a cleanup of
the MM engine code, which used three different bitmap pointers before
(that all pointed to the same backbuffer bitmap).
src/engines.h
src/game_mm/mm_game.c
src/game_mm/mm_init.c
src/game_mm/mm_main.h
src/game_mm/mm_tools.c
src/game_mm/mm_tools.h
src/init.c
src/tools.c