(e) == EL_BOMB || \
IS_WALL_AMOEBA(e))
+#define IS_ABSORBING_BLOCK(e) (IS_WALL_WOOD(e) || \
+ IS_DF_WALL_WOOD(e) || \
+ (e) == EL_BLOCK_WOOD || \
+ (e) == EL_GATE_WOOD || \
+ (e) == EL_EXIT_CLOSED || \
+ (e) == EL_EXIT_OPEN)
+
#define IS_ENVELOPE_OPENING(e) ((e) >= EL_ENVELOPE_OPENING_START && \
(e) <= EL_ENVELOPE_OPENING_END)
#define ENVELOPE_OPENING_NR(e) ((e) - EL_ENVELOPE_1_OPENING)
#define CAN_MOVE(e) ((e) == EL_PACMAN)
-#define IS_FREE(x,y) (Tile[x][y] == EL_EMPTY)
-
-#define IS_MOVING(x,y) (MovPos[x][y] != 0)
-#define IS_BLOCKED(x,y) (Tile[x][y] == EL_BLOCKED)
-#define IS_DRAWABLE(e) ((e) < EL_BLOCKED)
-#define IS_NOT_DRAWABLE(e) ((e) >= EL_BLOCKED)
+#define IS_FREE(x, y) (Tile[x][y] == EL_EMPTY)
-#define PLAYERINFO(x,y) (&stored_player[StorePlayer[x][y]-EL_SPIELER1])
+#define IS_MOVING(x, y) (MovPos[x][y] != 0)
+#define IS_BLOCKED(x, y) (Tile[x][y] == EL_BLOCKED)
+#define IS_DRAWABLE(e) ((e) < EL_BLOCKED)
+#define IS_NOT_DRAWABLE(e) ((e) >= EL_BLOCKED)
#define WALL_BASE(e) ((e) & 0xfff0)
#define WALL_BITS(e) ((e) & 0x000f)
#define LEVEL_SCORE_ELEMENTS 16 // level elements with score
-extern DrawBuffer *drawto_field;
+extern DrawBuffer *drawto_mm;
extern DrawBuffer *bitmap_db_field;
extern int game_status;
#define HIT_MASK_RIGHT (HIT_MASK_TOPRIGHT | HIT_MASK_BOTTOMRIGHT)
#define HIT_MASK_TOP (HIT_MASK_TOPLEFT | HIT_MASK_TOPRIGHT)
#define HIT_MASK_BOTTOM (HIT_MASK_BOTTOMLEFT | HIT_MASK_BOTTOMRIGHT)
+#define HIT_MASK_DIAGONAL_1 (HIT_MASK_TOPLEFT | HIT_MASK_BOTTOMRIGHT)
+#define HIT_MASK_DIAGONAL_2 (HIT_MASK_TOPRIGHT | HIT_MASK_BOTTOMLEFT)
#define HIT_MASK_ALL (HIT_MASK_LEFT | HIT_MASK_RIGHT)
// step values for rotating elements
#define GAME_OVER_NO_ENERGY 1
#define GAME_OVER_OVERLOADED 2
#define GAME_OVER_BOMB 3
-#define GAME_OVER_DELAYED 4
#define PROGRAM_VERSION_MAJOR 2
#define PROGRAM_VERSION_MINOR 0