(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)
-// Bitmaps with graphic file
-#define PIX_BACK 0
-#define PIX_DOOR 1
-#define PIX_TOONS 2
-#define PIX_DF 3
-#define PIX_BIGFONT 4
-#define PIX_SMALLFONT 5
-#define PIX_MEDIUMFONT 6
-// Bitmaps without graphic file
-#define PIX_DB_DOOR 7
-
-#define NUM_PICTURES 7
-#define NUM_BITMAPS 8
-
// boundaries of arrays etc.
#define MAX_PLAYER_NAME_LEN 10
#define MAX_LEVEL_NAME_LEN 32
#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;
extern char *element_info[];
extern int num_element_info;
-// often used screen positions
-#define DX 534
-#define DY 60
-#define EX DX
-#define EY (DY + 178)
-#define TILEX TILESIZE
-#define TILEY TILESIZE
-#define MINI_TILESIZE (TILESIZE / 2)
-#define MINI_TILEX (TILEX / 2)
-#define MINI_TILEY (TILEY / 2)
-#define MICRO_TILEX (TILEX / 4)
-#define MICRO_TILEY (TILEY / 4)
-#define MICRO_WALLX (TILEX / 8)
-#define MICRO_WALLY (TILEY / 8)
-#define MIDPOSX (SCR_FIELDX / 2)
-#define MIDPOSY (SCR_FIELDY / 2)
-#define DXSIZE 100
-#define DYSIZE 280
-#define VXSIZE DXSIZE
-#define VYSIZE 100
-#define EXSIZE DXSIZE
-#define EYSIZE (VXSIZE + 44)
-#define FULL_SXSIZE (2 + SXSIZE + 2)
-#define FULL_SYSIZE (2 + SYSIZE + 2)
-#define MICROLEV_XPOS (SX + 12 * TILEX)
-#define MICROLEV_YPOS (SY + 6 * TILEY)
-#define MICROLEV_XSIZE (STD_LEV_FIELDX * MICRO_TILEX)
-#define MICROLEV_YSIZE (STD_LEV_FIELDY * MICRO_TILEY)
-#define MICROLABEL_XPOS (SY)
-#define MICROLABEL_YPOS (SY + 352)
-#define MICROLABEL_XSIZE (SXSIZE)
-#define MICROLABEL_YSIZE (FONT4_YSIZE)
-
-#define GFX_STARTX SX
-#define GFX_STARTY SY
-#define MINI_GFX_STARTX (SX + 8 * TILEX)
-#define MINI_GFX_STARTY (SY + 6 * TILEY)
-#define MICRO_GFX_STARTX (MINI_GFX_STARTX + 8 * MINI_TILEX)
-#define MICRO_GFX_STARTY (MINI_GFX_STARTY + 6 * MINI_TILEY)
-#define GFX_PER_LINE 16
-#define MINI_GFX_PER_LINE GFX_PER_LINE
-#define MICRO_GFX_PER_LINE GFX_PER_LINE
-
-#define MINI_DF_STARTX (8 * TILEX)
-#define MINI_DF_STARTY (8 * TILEY)
-#define MICRO_DF_STARTX (MINI_DF_STARTX + 8 * MINI_TILEX)
-#define MICRO_DF_STARTY (MINI_DF_STARTY + 8 * MINI_TILEY)
-#define DF_PER_LINE 16
-#define MINI_DF_PER_LINE DF_PER_LINE
-#define MICRO_DF_PER_LINE DF_PER_LINE
-
-#define MICRO_FONT_STARTX (MICRO_DF_STARTX + 8 * MICRO_TILEX)
-#define MICRO_FONT_STARTY (MICRO_DF_STARTY + 8 * MICRO_TILEY)
-#define MICRO_FONT_PER_LINE 8
-
// wall positions (that can be OR'ed together)
#define WALL_TOPLEFT 1
#define WALL_TOPRIGHT 2
#define EL_KETTLE 29
#define EL_BOMB 30
#define EL_PRISM 31
-#define EL_WALL_START 32
-#define EL_WALL_EMPTY EL_WALL_START
-#define EL_WALL_00 EL_WALL_START
-#define EL_WALL_STEEL EL_WALL_00
-#define EL_WALL_STEEL_START EL_WALL_00
-#define EL_WALL_15 47
-#define EL_WALL_STEEL_END EL_WALL_15
-#define EL_WALL_16 48
-#define EL_WALL_WOOD EL_WALL_16
-#define EL_WALL_WOOD_START EL_WALL_16
-#define EL_WALL_31 63
-#define EL_WALL_WOOD_END EL_WALL_31
-#define EL_WALL_32 64
-#define EL_WALL_ICE EL_WALL_32
-#define EL_WALL_ICE_START EL_WALL_32
-#define EL_WALL_47 79
-#define EL_WALL_ICE_END EL_WALL_47
-#define EL_WALL_48 80
-#define EL_WALL_AMOEBA EL_WALL_48
-#define EL_WALL_AMOEBA_START EL_WALL_48
-#define EL_WALL_63 95
-#define EL_WALL_AMOEBA_END EL_WALL_63
-#define EL_WALL_END EL_WALL_63
+#define EL_WALL_START EL_WALL_STEEL_START
+#define EL_WALL_STEEL_BASE 32
+#define EL_WALL_STEEL_START (EL_WALL_STEEL_BASE + 0)
+#define EL_WALL_STEEL_END (EL_WALL_STEEL_BASE + 15)
+#define EL_WALL_WOOD_BASE 48
+#define EL_WALL_WOOD_START (EL_WALL_WOOD_BASE + 0)
+#define EL_WALL_WOOD_END (EL_WALL_WOOD_BASE + 15)
+#define EL_WALL_ICE_BASE 64
+#define EL_WALL_ICE_START (EL_WALL_ICE_BASE + 0)
+#define EL_WALL_ICE_END (EL_WALL_ICE_BASE + 15)
+#define EL_WALL_AMOEBA_BASE 80
+#define EL_WALL_AMOEBA_START (EL_WALL_AMOEBA_BASE + 0)
+#define EL_WALL_AMOEBA_END (EL_WALL_AMOEBA_BASE + 15)
+#define EL_WALL_END EL_WALL_AMOEBA_END
#define EL_BLOCK_WOOD 96
-#define EL_BALL_GRAY 97
+#define EL_GRAY_BALL 97
#define EL_BEAMER_START 98
#define EL_BEAMER_00 (EL_BEAMER_START + 0)
#define EL_BEAMER_01 (EL_BEAMER_START + 1)
#define EL_GRID_STEEL_FIXED_07 (EL_GRID_STEEL_FIXED_START + 7) // 157.5°
#define EL_GRID_STEEL_FIXED_END EL_GRID_STEEL_FIXED_07
-#define EL_DF_WALL_WOOD 272
-#define EL_DF_WALL_START EL_DF_WALL_WOOD_START
-#define EL_DF_WALL_WOOD_START (EL_DF_WALL_WOOD + 0)
-#define EL_DF_WALL_WOOD_END (EL_DF_WALL_WOOD + 15)
+#define EL_DF_WALL_WOOD_BASE 272
+#define EL_DF_WALL_WOOD_START (EL_DF_WALL_WOOD_BASE + 0)
+#define EL_DF_WALL_WOOD_END (EL_DF_WALL_WOOD_BASE + 15)
+
+#define EL_DF_WALL_STEEL_BASE 288
+#define EL_DF_WALL_STEEL_START (EL_DF_WALL_STEEL_BASE + 0)
+#define EL_DF_WALL_STEEL_END (EL_DF_WALL_STEEL_BASE + 15)
-#define EL_DF_WALL_STEEL 288
-#define EL_DF_WALL_STEEL_START (EL_DF_WALL_STEEL + 0)
-#define EL_DF_WALL_STEEL_END (EL_DF_WALL_STEEL + 15)
+#define EL_DF_WALL_START EL_DF_WALL_WOOD_START
#define EL_DF_WALL_END EL_DF_WALL_STEEL_END
#define EL_DF_EMPTY 304
#define EL_MCDUFFIN 420
#define EL_PACMAN 421
#define EL_FUSE_OFF 422
-#define EL_STEEL_WALL 423
-#define EL_WOODEN_WALL 424
-#define EL_ICE_WALL 425
-#define EL_AMOEBA_WALL 426
+#define EL_WALL_STEEL 423
+#define EL_WALL_WOOD 424
+#define EL_WALL_ICE 425
+#define EL_WALL_AMOEBA 426
#define EL_LASER 427
#define EL_RECEIVER 428
-#define EL_DF_STEEL_WALL 429
-#define EL_DF_WOODEN_WALL 430
+#define EL_DF_WALL_STEEL 429
+#define EL_DF_WALL_WOOD 430
#define EL_MM_END_2 430
#define EL_MM_END EL_MM_END_2
// "real" (and therefore drawable) runtime elements
#define EL_EXIT_OPENING 500
#define EL_EXIT_CLOSING 501
-#define EL_GRAY_BALL_OPENING 502
-#define EL_ICE_WALL_SHRINKING 503
-#define EL_AMOEBA_WALL_GROWING 504
-#define EL_BOMB_ACTIVE 505
-#define EL_MINE_ACTIVE 506
-#define EL_ENVELOPE_1_OPENING 507
-#define EL_ENVELOPE_2_OPENING 508
-#define EL_ENVELOPE_3_OPENING 509
-#define EL_ENVELOPE_4_OPENING 510
+#define EL_GRAY_BALL_ACTIVE 502
+#define EL_GRAY_BALL_OPENING 503
+#define EL_WALL_ICE_SHRINKING 504
+#define EL_WALL_AMOEBA_GROWING 505
+#define EL_BOMB_ACTIVE 506
+#define EL_MINE_ACTIVE 507
+#define EL_ENVELOPE_1_OPENING 508
+#define EL_ENVELOPE_2_OPENING 509
+#define EL_ENVELOPE_3_OPENING 510
+#define EL_ENVELOPE_4_OPENING 511
#define EL_ENVELOPE_OPENING_START EL_ENVELOPE_1_OPENING
#define EL_ENVELOPE_OPENING_END EL_ENVELOPE_4_OPENING
-#define EL_WALL_CHANGING 512
-#define EL_WALL_CHANGING_START (EL_WALL_CHANGING + 0)
-#define EL_WALL_CHANGING_END (EL_WALL_CHANGING + 15)
+#define EL_WALL_CHANGING_BASE 512
+#define EL_WALL_CHANGING_START (EL_WALL_CHANGING_BASE + 0)
+#define EL_WALL_CHANGING_END (EL_WALL_CHANGING_BASE + 15)
#define EL_FIRST_RUNTIME_EL EL_EXIT_OPENING
#define IMG_EMPTY IMG_EMPTY_SPACE
-#define GFX_START_MIRRORSCREEN 0
-#define GFX_END_MIRRORSCREEN 191
-#define GFX_START_PSEUDO 192
-#define GFX_END_PSEUDO 255
-#define GFX_START_MIRRORFONT 256
-#define GFX_END_MIRRORFONT 511
-#define GFX_START_MIRRORDF 512
-#define GFX_END_MIRRORDF 767
-
-#define NUM_TILES 512
-
-// graphics from "MirrorScreen"
-#define GFX_EMPTY (-1)
-// row 0 (0)
-#define GFX_MIRROR_START 0
-#define GFX_MIRROR GFX_MIRROR_START
-#define GFX_MIRROR_00 (GFX_MIRROR_START + 0)
-#define GFX_MIRROR_01 (GFX_MIRROR_START + 1)
-#define GFX_MIRROR_02 (GFX_MIRROR_START + 2)
-#define GFX_MIRROR_03 (GFX_MIRROR_START + 3)
-#define GFX_MIRROR_04 (GFX_MIRROR_START + 4)
-#define GFX_MIRROR_05 (GFX_MIRROR_START + 5)
-#define GFX_MIRROR_06 (GFX_MIRROR_START + 6)
-#define GFX_MIRROR_07 (GFX_MIRROR_START + 7)
-#define GFX_MIRROR_08 (GFX_MIRROR_START + 8)
-#define GFX_MIRROR_09 (GFX_MIRROR_START + 9)
-#define GFX_MIRROR_10 (GFX_MIRROR_START + 10)
-#define GFX_MIRROR_11 (GFX_MIRROR_START + 11)
-#define GFX_MIRROR_12 (GFX_MIRROR_START + 12)
-#define GFX_MIRROR_13 (GFX_MIRROR_START + 13)
-#define GFX_MIRROR_14 (GFX_MIRROR_START + 14)
-#define GFX_MIRROR_15 (GFX_MIRROR_START + 15)
-#define GFX_MIRROR_END GFX_MIRROR_15
-// row 1 (16)
-#define GFX_GRID_STEEL_START 16
-#define GFX_GRID_STEEL GFX_GRID_STEEL_START
-#define GFX_GRID_STEEL_00 (GFX_GRID_STEEL_START + 0)
-#define GFX_GRID_STEEL_01 (GFX_GRID_STEEL_START + 1)
-#define GFX_GRID_STEEL_02 (GFX_GRID_STEEL_START + 2)
-#define GFX_GRID_STEEL_03 (GFX_GRID_STEEL_START + 3)
-#define GFX_MCDUFFIN_START 20
-#define GFX_MCDUFFIN GFX_MCDUFFIN_START
-#define GFX_MCDUFFIN_RIGHT (GFX_MCDUFFIN_START + 0)
-#define GFX_MCDUFFIN_UP (GFX_MCDUFFIN_START + 1)
-#define GFX_MCDUFFIN_LEFT (GFX_MCDUFFIN_START + 2)
-#define GFX_MCDUFFIN_DOWN (GFX_MCDUFFIN_START + 3)
-#define GFX_EXIT_CLOSED 24
-#define GFX_EXIT_OPENING_1 25
-#define GFX_EXIT_OPENING_2 26
-#define GFX_EXIT_OPEN 27
-#define GFX_KETTLE 28
-#define GFX_EXPLOSION_KETTLE 29
-// row 2 (32)
-#define GFX_PRISM 32
-#define GFX_WALL_SEVERAL 33
-#define GFX_WALL_ANIMATION 34
-#define GFX_BLOCK_WOOD 36
-#define GFX_BOMB 37
-#define GFX_FUSE_ON 38
-#define GFX_FUSE_OFF 39
-#define GFX_GATE_STONE 40
-#define GFX_KEY 41
-#define GFX_LIGHTBULB_OFF 42
-#define GFX_LIGHTBULB_ON 43
-#define GFX_BALL_RED 44
-#define GFX_BALL_BLUE 45
-#define GFX_BALL_YELLOW 46
-#define GFX_BALL_GRAY 47
-// row 3 (48)
-#define GFX_BEAMER_START 48
-#define GFX_BEAMER_END 63
-// row 4 (64)
-#define GFX_PACMAN_START 64
-#define GFX_PACMAN GFX_PACMAN_START
-#define GFX_PACMAN_RIGHT (GFX_PACMAN_START + 0)
-#define GFX_PACMAN_UP (GFX_PACMAN_START + 1)
-#define GFX_PACMAN_LEFT (GFX_PACMAN_START + 2)
-#define GFX_PACMAN_DOWN (GFX_PACMAN_START + 3)
-#define GFX_EXPLOSION_START 72
-#define GFX_EXPLOSION_SHORT 76
-#define GFX_EXPLOSION_LAST 78
-// row 5 (80)
-#define GFX_POLAR_START 80
-#define GFX_POLAR_END 95
-// row 6 (96)
-#define GFX_POLAR_CROSS_START 96
-#define GFX_POLAR_CROSS GFX_POLAR_CROSS_START
-#define GFX_POLAR_CROSS_00 (GFX_POLAR_CROSS_START + 0)
-#define GFX_POLAR_CROSS_01 (GFX_POLAR_CROSS_START + 1)
-#define GFX_POLAR_CROSS_02 (GFX_POLAR_CROSS_START + 2)
-#define GFX_POLAR_CROSS_03 (GFX_POLAR_CROSS_START + 3)
-#define GFX_MIRROR_FIXED_START 100
-#define GFX_MIRROR_FIXED GFX_MIRROR_FIXED_START
-#define GFX_MIRROR_FIXED_00 (GFX_MIRROR_FIXED_START + 0)
-#define GFX_MIRROR_FIXED_01 (GFX_MIRROR_FIXED_START + 1)
-#define GFX_MIRROR_FIXED_02 (GFX_MIRROR_FIXED_START + 2)
-#define GFX_MIRROR_FIXED_03 (GFX_MIRROR_FIXED_START + 3)
-// row 7 (112)
-#define GFX_BLOCK_STONE 112
-#define GFX_GATE_WOOD 113
-#define GFX_FUEL_FULL 114
-#define GFX_FUEL_EMPTY 115
-#define GFX_GRID_WOOD_00 116
-#define GFX_GRID_WOOD_01 117
-#define GFX_GRID_WOOD_02 118
-#define GFX_GRID_WOOD_03 119
-// row 8 (128)
-#define GFX_ARROW_BLUE_LEFT 128
-#define GFX_ARROW_BLUE_RIGHT 129
-#define GFX_ARROW_BLUE_UP 130
-#define GFX_ARROW_BLUE_DOWN 131
-#define GFX_ARROW_RED_LEFT 132
-#define GFX_ARROW_RED_RIGHT 133
-#define GFX_ARROW_RED_UP 134
-#define GFX_ARROW_RED_DOWN 135
-// row 9 (144)
-#define GFX_SCROLLBAR_BLUE 144
-#define GFX_SCROLLBAR_RED 145
-// row 10 (160)
-#define GFX_MASK_CIRCLE 160
-#define GFX_MASK_RECTANGLE 161
-#define GFX_MASK_RECTANGLE2 162
-#define GFX_MASK_RECTANGLE3 163
-#define GFX_MASK_GRID_00 164
-#define GFX_MASK_GRID_01 165
-#define GFX_MASK_GRID_02 166
-#define GFX_MASK_GRID_03 167
-// row 11 (176)
-#define GFX_MASK_MCDUFFIN_00 176
-#define GFX_MASK_MCDUFFIN_01 177
-#define GFX_MASK_MCDUFFIN_02 178
-#define GFX_MASK_MCDUFFIN_03 179
-
-// pseudo-graphics; will be mapped to other graphics
-#define GFX_WALL_STEEL 192
-#define GFX_WALL_WOOD 193
-#define GFX_WALL_ICE 194
-#define GFX_WALL_AMOEBA 195
-#define GFX_DF_WALL_STEEL 196
-#define GFX_DF_WALL_WOOD 197
-
-#define GFX_KUGEL_ROT GFX_BALL_RED
-#define GFX_KUGEL_BLAU GFX_BALL_BLUE
-#define GFX_KUGEL_GELB GFX_BALL_YELLOW
-#define GFX_KUGEL_GRAU GFX_BALL_GRAY
-
-// graphics from "MirrorFont"
-#define GFX_CHAR_START (GFX_START_MIRRORFONT)
-#define GFX_CHAR_ASCII0 (GFX_CHAR_START - 32)
-#define GFX_CHAR_AUSRUF (GFX_CHAR_ASCII0 + 33)
-#define GFX_CHAR_ZOLL (GFX_CHAR_ASCII0 + 34)
-#define GFX_CHAR_DOLLAR (GFX_CHAR_ASCII0 + 36)
-#define GFX_CHAR_PROZ (GFX_CHAR_ASCII0 + 37)
-#define GFX_CHAR_APOSTR (GFX_CHAR_ASCII0 + 39)
-#define GFX_CHAR_KLAMM1 (GFX_CHAR_ASCII0 + 40)
-#define GFX_CHAR_KLAMM2 (GFX_CHAR_ASCII0 + 41)
-#define GFX_CHAR_PLUS (GFX_CHAR_ASCII0 + 43)
-#define GFX_CHAR_KOMMA (GFX_CHAR_ASCII0 + 44)
-#define GFX_CHAR_MINUS (GFX_CHAR_ASCII0 + 45)
-#define GFX_CHAR_PUNKT (GFX_CHAR_ASCII0 + 46)
-#define GFX_CHAR_SLASH (GFX_CHAR_ASCII0 + 47)
-#define GFX_CHAR_0 (GFX_CHAR_ASCII0 + 48)
-#define GFX_CHAR_9 (GFX_CHAR_ASCII0 + 57)
-#define GFX_CHAR_DOPPEL (GFX_CHAR_ASCII0 + 58)
-#define GFX_CHAR_SEMIKL (GFX_CHAR_ASCII0 + 59)
-#define GFX_CHAR_LT (GFX_CHAR_ASCII0 + 60)
-#define GFX_CHAR_GLEICH (GFX_CHAR_ASCII0 + 61)
-#define GFX_CHAR_GT (GFX_CHAR_ASCII0 + 62)
-#define GFX_CHAR_FRAGE (GFX_CHAR_ASCII0 + 63)
-#define GFX_CHAR_AT (GFX_CHAR_ASCII0 + 64)
-#define GFX_CHAR_A (GFX_CHAR_ASCII0 + 65)
-#define GFX_CHAR_Z (GFX_CHAR_ASCII0 + 90)
-#define GFX_CHAR_AE (GFX_CHAR_ASCII0 + 91)
-#define GFX_CHAR_OE (GFX_CHAR_ASCII0 + 92)
-#define GFX_CHAR_UE (GFX_CHAR_ASCII0 + 93)
-#define GFX_CHAR_COPY (GFX_CHAR_ASCII0 + 94)
-#define GFX_CHAR_END (GFX_CHAR_START + 79)
-
-// graphics from "MirrorDF"
-#define GFX_DF_MIRROR_00 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 0)
-#define GFX_DF_MIRROR_01 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 1)
-#define GFX_DF_MIRROR_02 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 2)
-#define GFX_DF_MIRROR_03 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 3)
-#define GFX_DF_MIRROR_04 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 4)
-#define GFX_DF_MIRROR_05 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 5)
-#define GFX_DF_MIRROR_06 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 6)
-#define GFX_DF_MIRROR_07 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 7)
-#define GFX_DF_MIRROR_08 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 8)
-#define GFX_DF_MIRROR_09 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 9)
-#define GFX_DF_MIRROR_10 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 10)
-#define GFX_DF_MIRROR_11 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 11)
-#define GFX_DF_MIRROR_12 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 12)
-#define GFX_DF_MIRROR_13 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 13)
-#define GFX_DF_MIRROR_14 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 14)
-#define GFX_DF_MIRROR_15 (GFX_START_MIRRORDF + 0 * DF_PER_LINE + 15)
-
-#define GFX_DF_MIRROR_AUTO_00 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 0)
-#define GFX_DF_MIRROR_AUTO_01 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 1)
-#define GFX_DF_MIRROR_AUTO_02 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 2)
-#define GFX_DF_MIRROR_AUTO_03 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 3)
-#define GFX_DF_MIRROR_AUTO_04 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 4)
-#define GFX_DF_MIRROR_AUTO_05 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 5)
-#define GFX_DF_MIRROR_AUTO_06 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 6)
-#define GFX_DF_MIRROR_AUTO_07 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 7)
-#define GFX_DF_MIRROR_AUTO_08 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 8)
-#define GFX_DF_MIRROR_AUTO_09 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 9)
-#define GFX_DF_MIRROR_AUTO_10 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 10)
-#define GFX_DF_MIRROR_AUTO_11 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 11)
-#define GFX_DF_MIRROR_AUTO_12 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 12)
-#define GFX_DF_MIRROR_AUTO_13 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 13)
-#define GFX_DF_MIRROR_AUTO_14 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 14)
-#define GFX_DF_MIRROR_AUTO_15 (GFX_START_MIRRORDF + 1 * DF_PER_LINE + 15)
-
-#define GFX_GRID_STEEL_FIXED_00 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 0)
-#define GFX_GRID_STEEL_FIXED_01 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 1)
-#define GFX_GRID_STEEL_FIXED_02 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 2)
-#define GFX_GRID_STEEL_FIXED_03 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 3)
-#define GFX_GRID_STEEL_FIXED_04 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 4)
-#define GFX_GRID_STEEL_FIXED_05 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 5)
-#define GFX_GRID_STEEL_FIXED_06 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 6)
-#define GFX_GRID_STEEL_FIXED_07 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 7)
-#define GFX_GRID_STEEL_FIXED GFX_GRID_STEEL_FIXED_00
-
-#define GFX_GRID_WOOD_FIXED_00 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 8)
-#define GFX_GRID_WOOD_FIXED_01 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 9)
-#define GFX_GRID_WOOD_FIXED_02 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 10)
-#define GFX_GRID_WOOD_FIXED_03 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 11)
-#define GFX_GRID_WOOD_FIXED_04 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 12)
-#define GFX_GRID_WOOD_FIXED_05 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 13)
-#define GFX_GRID_WOOD_FIXED_06 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 14)
-#define GFX_GRID_WOOD_FIXED_07 (GFX_START_MIRRORDF + 2 * DF_PER_LINE + 15)
-#define GFX_GRID_WOOD_FIXED GFX_GRID_WOOD_FIXED_00
-
-#define GFX_GRID_STEEL_AUTO_00 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 0)
-#define GFX_GRID_STEEL_AUTO_01 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 1)
-#define GFX_GRID_STEEL_AUTO_02 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 2)
-#define GFX_GRID_STEEL_AUTO_03 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 3)
-#define GFX_GRID_STEEL_AUTO_04 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 4)
-#define GFX_GRID_STEEL_AUTO_05 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 5)
-#define GFX_GRID_STEEL_AUTO_06 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 6)
-#define GFX_GRID_STEEL_AUTO_07 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 7)
-#define GFX_GRID_STEEL_AUTO GFX_GRID_STEEL_AUTO_00
-
-#define GFX_GRID_WOOD_AUTO_00 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 8)
-#define GFX_GRID_WOOD_AUTO_01 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 9)
-#define GFX_GRID_WOOD_AUTO_02 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 10)
-#define GFX_GRID_WOOD_AUTO_03 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 11)
-#define GFX_GRID_WOOD_AUTO_04 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 12)
-#define GFX_GRID_WOOD_AUTO_05 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 13)
-#define GFX_GRID_WOOD_AUTO_06 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 14)
-#define GFX_GRID_WOOD_AUTO_07 (GFX_START_MIRRORDF + 3 * DF_PER_LINE + 15)
-#define GFX_GRID_WOOD_AUTO GFX_GRID_WOOD_AUTO_00
-
-#define GFX_BEAMER_RED_START (GFX_START_MIRRORDF + 4 * DF_PER_LINE + 0)
-#define GFX_BEAMER_RED_END (GFX_START_MIRRORDF + 4 * DF_PER_LINE + 15)
-#define GFX_BEAMER_YELLOW_START (GFX_START_MIRRORDF + 5 * DF_PER_LINE + 0)
-#define GFX_BEAMER_YELLOW_END (GFX_START_MIRRORDF + 5 * DF_PER_LINE + 15)
-#define GFX_BEAMER_GREEN_START (GFX_START_MIRRORDF + 6 * DF_PER_LINE + 0)
-#define GFX_BEAMER_GREEN_END (GFX_START_MIRRORDF + 6 * DF_PER_LINE + 15)
-#define GFX_BEAMER_BLUE_START (GFX_START_MIRRORDF + 7 * DF_PER_LINE + 0)
-#define GFX_BEAMER_BLUE_END (GFX_START_MIRRORDF + 7 * DF_PER_LINE + 15)
-
-#define GFX_DF_WALL_SEVERAL (GFX_START_MIRRORDF + 8 * DF_PER_LINE + 0)
-#define GFX_REFRACTOR (GFX_START_MIRRORDF + 8 * DF_PER_LINE + 1)
-#define GFX_CELL (GFX_START_MIRRORDF + 8 * DF_PER_LINE + 2)
-#define GFX_MINE (GFX_START_MIRRORDF + 8 * DF_PER_LINE + 4)
-
-#define GFX_LASER_RIGHT (GFX_START_MIRRORDF + 9 * DF_PER_LINE + 0)
-#define GFX_LASER_UP (GFX_START_MIRRORDF + 9 * DF_PER_LINE + 1)
-#define GFX_LASER_LEFT (GFX_START_MIRRORDF + 9 * DF_PER_LINE + 2)
-#define GFX_LASER_DOWN (GFX_START_MIRRORDF + 9 * DF_PER_LINE + 3)
-#define GFX_RECEIVER_RIGHT (GFX_START_MIRRORDF + 9 * DF_PER_LINE + 4)
-#define GFX_RECEIVER_UP (GFX_START_MIRRORDF + 9 * DF_PER_LINE + 5)
-#define GFX_RECEIVER_LEFT (GFX_START_MIRRORDF + 9 * DF_PER_LINE + 6)
-#define GFX_RECEIVER_DOWN (GFX_START_MIRRORDF + 9 * DF_PER_LINE + 7)
-
-#define GFX_FIBRE_OPTIC_00 (GFX_START_MIRRORDF + 10 * DF_PER_LINE + 0)
-#define GFX_FIBRE_OPTIC_01 (GFX_START_MIRRORDF + 10 * DF_PER_LINE + 1)
-#define GFX_FIBRE_OPTIC_02 (GFX_START_MIRRORDF + 10 * DF_PER_LINE + 2)
-#define GFX_FIBRE_OPTIC_03 (GFX_START_MIRRORDF + 10 * DF_PER_LINE + 3)
-#define GFX_FIBRE_OPTIC_04 (GFX_START_MIRRORDF + 10 * DF_PER_LINE + 4)
-#define GFX_FIBRE_OPTIC_05 (GFX_START_MIRRORDF + 10 * DF_PER_LINE + 5)
-#define GFX_FIBRE_OPTIC_06 (GFX_START_MIRRORDF + 10 * DF_PER_LINE + 6)
-#define GFX_FIBRE_OPTIC_07 (GFX_START_MIRRORDF + 10 * DF_PER_LINE + 7)
-
-#define GFX_FIBRE_OPTIC_ED_00 (GFX_START_MIRRORDF + 11 * DF_PER_LINE + 0)
-#define GFX_FIBRE_OPTIC_ED_01 (GFX_START_MIRRORDF + 11 * DF_PER_LINE + 1)
-#define GFX_FIBRE_OPTIC_ED_02 (GFX_START_MIRRORDF + 11 * DF_PER_LINE + 2)
-#define GFX_FIBRE_OPTIC_ED_03 (GFX_START_MIRRORDF + 11 * DF_PER_LINE + 3)
-#define GFX_FIBRE_OPTIC_ED_04 (GFX_START_MIRRORDF + 11 * DF_PER_LINE + 4)
-#define GFX_FIBRE_OPTIC_ED_05 (GFX_START_MIRRORDF + 11 * DF_PER_LINE + 5)
-#define GFX_FIBRE_OPTIC_ED_06 (GFX_START_MIRRORDF + 11 * DF_PER_LINE + 6)
-#define GFX_FIBRE_OPTIC_ED_07 (GFX_START_MIRRORDF + 11 * DF_PER_LINE + 7)
-
-// the names of the sounds
-#define SND_AMOEBE 0
-#define SND_ANTIGRAV 1
-#define SND_AUTSCH 2
-#define SND_BONG 3
-#define SND_FUEL 4
-#define SND_HALLOFFAME 5
-#define SND_HOLZ 6
-#define SND_HUI 7
-#define SND_KABUMM 8
-#define SND_KINK 9
-#define SND_KLING 10
-#define SND_LASER 11
-#define SND_OEFFNEN 12
-#define SND_QUIEK 13
-#define SND_RHYTHMLOOP 14
-#define SND_ROAAAR 15
-#define SND_SIRR 16
-#define SND_SLURP 17
-#define SND_WARNTON 18
-#define SND_WHOOSH 19
-
-#define NUM_SOUNDS 20
-
// values for graphics/sounds action types
#define MM_ACTION_DEFAULT 0
#define MM_ACTION_WAITING 1
#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
-
-// values for color_status
-#define STATIC_COLORS 0
-#define DYNAMIC_COLORS 1
#define PROGRAM_VERSION_MAJOR 2
#define PROGRAM_VERSION_MINOR 0
#define PROGRAM_VERSION_PATCH 2
#define PROGRAM_VERSION_STRING "2.0.2"
-#define PROGRAM_TITLE_STRING "Mirror Magic II"
-#define PROGRAM_AUTHOR_STRING "Holger Schemel"
-#define PROGRAM_RIGHTS_STRING "Copyright ^1994-2001"
-#define PROGRAM_DOS_PORT_STRING "DOS port based on code by Guido Schulz"
-#define PROGRAM_IDENT_STRING PROGRAM_VERSION_STRING " " TARGET_STRING
-#define WINDOW_TITLE_STRING PROGRAM_TITLE_STRING " " PROGRAM_IDENT_STRING
-#define WINDOW_SUBTITLE_STRING PROGRAM_RIGHTS_STRING " " PROGRAM_AUTHOR_STRING
-#define ICON_TITLE_STRING PROGRAM_TITLE_STRING
-#define UNIX_USERDATA_DIRECTORY ".mirrormagic"
-
-#define X11_ICON_FILENAME "mirrormagic_icon.xbm"
-#define X11_ICONMASK_FILENAME "mirrormagic_iconmask.xbm"
-#define MSDOS_POINTER_FILENAME "mouse.pcx"
-
// functions for version handling
#define MM_VERSION_IDENT(x,y,z) VERSION_IDENT(x,y,z,0)
#define MM_VERSION_MAJOR(x) VERSION_PART_1(x)
PROGRAM_VERSION_MINOR, \
PROGRAM_VERSION_PATCH)
-// sound control
-
-#define ST(x) (((x) - 8) * 16)
-
#endif // MM_MAIN_H