From: Holger Schemel Date: Fri, 7 Apr 2023 17:12:56 +0000 (+0200) Subject: fixed bug with laser passing between two diagonally placed DF polarizers X-Git-Tag: 4.3.6.0~40 X-Git-Url: https://git.artsoft.org/?a=commitdiff_plain;h=c831745a2a0a43f22bf26b8217714d43cb8c8cbc;p=rocksndiamonds.git fixed bug with laser passing between two diagonally placed DF polarizers This reverts commit f00dbcf8. The behaviour "fixed" in the above commit as being a bug is in fact the correct and intended behaviour, as Deflektor style polarizors are to be treated as solid, tile-filling blocks, not as tiles with a little bit free space around them, as suggested by the graphics (and as it is the case with the Mirror Magic variant of these tiles). --- diff --git a/src/game_mm/mm_game.c b/src/game_mm/mm_game.c index 09fa1d04..0aaaadda 100644 --- a/src/game_mm/mm_game.c +++ b/src/game_mm/mm_game.c @@ -139,11 +139,10 @@ static DelayCounter overload_delay = { 0 }; #define MM_MASK_GRID_2 5 #define MM_MASK_GRID_3 6 #define MM_MASK_GRID_4 7 -#define MM_MASK_GRID_CLOSED 8 -#define MM_MASK_RECTANGLE 9 -#define MM_MASK_CIRCLE 10 +#define MM_MASK_RECTANGLE 8 +#define MM_MASK_CIRCLE 9 -#define NUM_MM_MASKS 11 +#define NUM_MM_MASKS 10 // element masks for scanning pixels of MM elements static const char mm_masks[NUM_MM_MASKS][16][16 + 1] = @@ -292,24 +291,6 @@ static const char mm_masks[NUM_MM_MASKS][16][16 + 1] = " XXX XXXX ", " XX XXXXX ", }, - { - " XXXXXX XXXXXX ", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - " XXXXXXXXXXXXXX ", - " XXXXXXXXXXXXXX ", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - "XXXXXXXXXXXXXXXX", - " XXXXXX XXXXXX ", - }, { "XXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXX", @@ -905,7 +886,7 @@ static int getMaskFromElement(int element) else if (IS_GRID(element)) return MM_MASK_GRID_1 + get_element_phase(element); else if (IS_DF_GRID(element)) - return MM_MASK_GRID_CLOSED; + return MM_MASK_RECTANGLE; else if (IS_RECTANGLE(element)) return MM_MASK_RECTANGLE; else