+#define MINI_FONT_STARTX 0
+#define MINI_FONT_STARTY 128
+#define MICRO_FONT_STARTX 408
+#define MICRO_FONT_STARTY 128
+
+#define HEROES_PER_LINE 16
+
+#define MINI_SP_STARTX 0
+#define MINI_SP_STARTY 512
+#define MICRO_SP_STARTX 384
+#define MICRO_SP_STARTY 512
+#define SP_PER_LINE 16
+#define MINI_SP_PER_LINE 16
+#define MICRO_SP_PER_LINE 16
+
+#define MINI_DC_STARTX 0
+#define MINI_DC_STARTY 512
+#define MICRO_DC_STARTX 384
+#define MICRO_DC_STARTY 512
+#define DC_PER_LINE 16
+#define MINI_DC_PER_LINE 16
+#define MICRO_DC_PER_LINE 16
+
+#define MINI_MORE_STARTX 0
+#define MINI_MORE_STARTY 256
+#define MICRO_MORE_STARTX 384
+#define MICRO_MORE_STARTY 256
+#define MORE_PER_LINE 16
+#define MINI_MORE_PER_LINE 16
+#define MICRO_MORE_PER_LINE 16
+
+/* game elements:
+** 0 <= element < xxx: real elements, stored in level file
+** xxx <= element < yyy: flag elements, only used at runtime
+*/
+/* "real" level elements */
+#define EL_EMPTY_SPACE 0
+#define EL_EMPTY EL_EMPTY_SPACE
+#define EL_SAND 1
+#define EL_WALL 2
+#define EL_WALL_CRUMBLED 3
+#define EL_ROCK 4
+#define EL_KEY_OBSOLETE 5 /* obsolete; mapped to EL_KEY1 */
+#define EL_EMERALD 6
+#define EL_EXIT_CLOSED 7
+#define EL_PLAYER_OBSOLETE 8 /* obsolete; mapped to EL_PLAYER1 */
+#define EL_BUG 9
+#define EL_SPACESHIP 10
+#define EL_YAMYAM 11
+#define EL_ROBOT 12
+#define EL_STEELWALL 13
+#define EL_DIAMOND 14
+#define EL_AMOEBA_DEAD 15
+#define EL_QUICKSAND_EMPTY 16
+#define EL_QUICKSAND_FULL 17
+#define EL_AMOEBA_DROP 18
+#define EL_BOMB 19
+#define EL_MAGIC_WALL 20
+#define EL_SPEED_PILL 21
+#define EL_ACID 22
+#define EL_AMOEBA_WET 23
+#define EL_AMOEBA_DRY 24
+#define EL_NUT 25
+#define EL_GAMEOFLIFE 26
+#define EL_BIOMAZE 27
+#define EL_DYNAMITE_ACTIVE 28
+#define EL_STONEBLOCK 29
+#define EL_ROBOT_WHEEL 30
+#define EL_ROBOT_WHEEL_ACTIVE 31
+#define EL_KEY1 32
+#define EL_KEY2 33
+#define EL_KEY3 34
+#define EL_KEY4 35
+#define EL_GATE1 36
+#define EL_GATE2 37
+#define EL_GATE3 38
+#define EL_GATE4 39
+#define EL_GATE1_GRAY 40
+#define EL_GATE2_GRAY 41
+#define EL_GATE3_GRAY 42
+#define EL_GATE4_GRAY 43
+#define EL_DYNAMITE 44
+#define EL_PACMAN 45
+#define EL_INVISIBLE_WALL 46
+#define EL_LAMP 47
+#define EL_LAMP_ACTIVE 48
+#define EL_WALL_EMERALD 49
+#define EL_WALL_DIAMOND 50
+#define EL_AMOEBA_FULL 51
+#define EL_BD_AMOEBA 52
+#define EL_TIME_ORB_FULL 53
+#define EL_TIME_ORB_EMPTY 54
+#define EL_WALL_GROWING 55
+#define EL_BD_DIAMOND 56
+#define EL_EMERALD_YELLOW 57
+#define EL_WALL_BD_DIAMOND 58
+#define EL_WALL_EMERALD_YELLOW 59
+#define EL_DARK_YAMYAM 60
+#define EL_BD_MAGIC_WALL 61
+#define EL_INVISIBLE_STEELWALL 62
+
+#define EL_UNUSED_63 63
+
+#define EL_DYNABOMB_NR 64
+#define EL_DYNABOMB_SZ 65
+#define EL_DYNABOMB_XL 66
+#define EL_SOKOBAN_OBJECT 67
+#define EL_SOKOBAN_FIELD_EMPTY 68
+#define EL_SOKOBAN_FIELD_FULL 69
+#define EL_BD_BUTTERFLY_RIGHT 70
+#define EL_BD_BUTTERFLY_UP 71
+#define EL_BD_BUTTERFLY_LEFT 72
+#define EL_BD_BUTTERFLY_DOWN 73
+#define EL_BD_FIREFLY_RIGHT 74
+#define EL_BD_FIREFLY_UP 75
+#define EL_BD_FIREFLY_LEFT 76
+#define EL_BD_FIREFLY_DOWN 77
+#define EL_BD_BUTTERFLY_1 EL_BD_BUTTERFLY_DOWN
+#define EL_BD_BUTTERFLY_2 EL_BD_BUTTERFLY_LEFT
+#define EL_BD_BUTTERFLY_3 EL_BD_BUTTERFLY_UP
+#define EL_BD_BUTTERFLY_4 EL_BD_BUTTERFLY_RIGHT
+#define EL_BD_FIREFLY_1 EL_BD_FIREFLY_LEFT
+#define EL_BD_FIREFLY_2 EL_BD_FIREFLY_DOWN
+#define EL_BD_FIREFLY_3 EL_BD_FIREFLY_RIGHT
+#define EL_BD_FIREFLY_4 EL_BD_FIREFLY_UP
+#define EL_BD_BUTTERFLY 78
+#define EL_BD_FIREFLY 79
+#define EL_PLAYER1 80
+#define EL_PLAYER2 81
+#define EL_PLAYER3 82
+#define EL_PLAYER4 83
+#define EL_BUG_RIGHT 84
+#define EL_BUG_UP 85
+#define EL_BUG_LEFT 86
+#define EL_BUG_DOWN 87
+#define EL_SPACESHIP_RIGHT 88
+#define EL_SPACESHIP_UP 89
+#define EL_SPACESHIP_LEFT 90
+#define EL_SPACESHIP_DOWN 91
+#define EL_PACMAN_RIGHT 92
+#define EL_PACMAN_UP 93
+#define EL_PACMAN_LEFT 94
+#define EL_PACMAN_DOWN 95
+#define EL_EMERALD_RED 96
+#define EL_EMERALD_PURPLE 97
+#define EL_WALL_EMERALD_RED 98
+#define EL_WALL_EMERALD_PURPLE 99
+#define EL_ACIDPOOL_TOPLEFT 100
+#define EL_ACIDPOOL_TOPRIGHT 101
+#define EL_ACIDPOOL_BOTTOMLEFT 102
+#define EL_ACIDPOOL_BOTTOM 103
+#define EL_ACIDPOOL_BOTTOMRIGHT 104
+#define EL_BD_WALL 105
+#define EL_BD_ROCK 106
+#define EL_EXIT_OPEN 107
+#define EL_BLACK_ORB 108
+#define EL_AMOEBA_TO_DIAMOND 109
+#define EL_MOLE 110
+#define EL_PENGUIN 111
+#define EL_SATELLITE 112
+#define EL_ARROW_BLUE_LEFT 113
+#define EL_ARROW_BLUE_RIGHT 114
+#define EL_ARROW_BLUE_UP 115
+#define EL_ARROW_BLUE_DOWN 116
+#define EL_PIG 117
+#define EL_DRAGON 118
+
+#define EL_EM_KEY1_FILE 119
+
+#define EL_CHAR_START 120
+#define EL_CHAR_ASCII0 (EL_CHAR_START-32)
+#define EL_CHAR_EXCLAM (EL_CHAR_ASCII0+33)
+#define EL_CHAR_QUOTEDBL (EL_CHAR_ASCII0+34)
+#define EL_CHAR_NUMBERSIGN (EL_CHAR_ASCII0+35)
+#define EL_CHAR_DOLLAR (EL_CHAR_ASCII0+36)
+#define EL_CHAR_PROCENT (EL_CHAR_ASCII0+37)
+#define EL_CHAR_AMPERSAND (EL_CHAR_ASCII0+38)
+#define EL_CHAR_APOSTROPHE (EL_CHAR_ASCII0+39)
+#define EL_CHAR_PARENLEFT (EL_CHAR_ASCII0+40)
+#define EL_CHAR_PARENRIGHT (EL_CHAR_ASCII0+41)
+#define EL_CHAR_ASTERISK (EL_CHAR_ASCII0+42)
+#define EL_CHAR_PLUS (EL_CHAR_ASCII0+43)
+#define EL_CHAR_COMMA (EL_CHAR_ASCII0+44)
+#define EL_CHAR_MINUS (EL_CHAR_ASCII0+45)
+#define EL_CHAR_PERIOD (EL_CHAR_ASCII0+46)
+#define EL_CHAR_SLASH (EL_CHAR_ASCII0+47)
+#define EL_CHAR_0 (EL_CHAR_ASCII0+48)
+#define EL_CHAR_9 (EL_CHAR_ASCII0+57)
+#define EL_CHAR_COLON (EL_CHAR_ASCII0+58)
+#define EL_CHAR_SEMICOLON (EL_CHAR_ASCII0+59)
+#define EL_CHAR_LESS (EL_CHAR_ASCII0+60)
+#define EL_CHAR_EQUAL (EL_CHAR_ASCII0+61)
+#define EL_CHAR_GREATER (EL_CHAR_ASCII0+62)
+#define EL_CHAR_QUESTION (EL_CHAR_ASCII0+63)
+#define EL_CHAR_AT (EL_CHAR_ASCII0+64)
+#define EL_CHAR_A (EL_CHAR_ASCII0+65)
+#define EL_CHAR_Z (EL_CHAR_ASCII0+90)
+#define EL_CHAR_AE (EL_CHAR_ASCII0+91)
+#define EL_CHAR_OE (EL_CHAR_ASCII0+92)
+#define EL_CHAR_UE (EL_CHAR_ASCII0+93)
+#define EL_CHAR_COPYRIGHT (EL_CHAR_ASCII0+94)
+#define EL_CHAR_END (EL_CHAR_START+79)
+
+#define EL_CHAR(x) ((x) == 'Ä' ? EL_CHAR_AE : \
+ (x) == 'Ö' ? EL_CHAR_OE : \
+ (x) == 'Ü' ? EL_CHAR_UE : \
+ EL_CHAR_A + (x) - 'A')
+
+#define EL_WALL_GROWING_X 200
+#define EL_WALL_GROWING_Y 201
+#define EL_WALL_GROWING_XY 202
+
+#define EL_EM_GATE1 203
+#define EL_EM_GATE2 204
+#define EL_EM_GATE3 205
+#define EL_EM_GATE4 206
+
+#define EL_EM_KEY2_FILE 207
+#define EL_EM_KEY3_FILE 208
+#define EL_EM_KEY4_FILE 209
+
+#define EL_SP_START 210
+#define EL_SP_EMPTY_SPACE (EL_SP_START + 0)
+#define EL_SP_EMPTY EL_SP_EMPTY_SPACE
+#define EL_SP_ZONK (EL_SP_START + 1)
+#define EL_SP_BASE (EL_SP_START + 2)
+#define EL_SP_MURPHY (EL_SP_START + 3)
+#define EL_SP_INFOTRON (EL_SP_START + 4)
+#define EL_SP_CHIP_SINGLE (EL_SP_START + 5)
+#define EL_SP_HARD_GRAY (EL_SP_START + 6)
+#define EL_SP_EXIT_CLOSED (EL_SP_START + 7)
+#define EL_SP_DISK_ORANGE (EL_SP_START + 8)
+#define EL_SP_PORT1_RIGHT (EL_SP_START + 9)
+#define EL_SP_PORT1_DOWN (EL_SP_START + 10)
+#define EL_SP_PORT1_LEFT (EL_SP_START + 11)
+#define EL_SP_PORT1_UP (EL_SP_START + 12)
+#define EL_SP_PORT2_RIGHT (EL_SP_START + 13)
+#define EL_SP_PORT2_DOWN (EL_SP_START + 14)
+#define EL_SP_PORT2_LEFT (EL_SP_START + 15)
+#define EL_SP_PORT2_UP (EL_SP_START + 16)
+#define EL_SP_SNIKSNAK (EL_SP_START + 17)
+#define EL_SP_DISK_YELLOW (EL_SP_START + 18)
+#define EL_SP_TERMINAL (EL_SP_START + 19)
+#define EL_SP_DISK_RED (EL_SP_START + 20)
+#define EL_SP_PORT_Y (EL_SP_START + 21)
+#define EL_SP_PORT_X (EL_SP_START + 22)
+#define EL_SP_PORT_XY (EL_SP_START + 23)
+#define EL_SP_ELECTRON (EL_SP_START + 24)
+#define EL_SP_BUGGY_BASE (EL_SP_START + 25)
+#define EL_SP_CHIP_LEFT (EL_SP_START + 26)
+#define EL_SP_CHIP_RIGHT (EL_SP_START + 27)
+#define EL_SP_HARD_BASE1 (EL_SP_START + 28)
+#define EL_SP_HARD_GREEN (EL_SP_START + 29)
+#define EL_SP_HARD_BLUE (EL_SP_START + 30)
+#define EL_SP_HARD_RED (EL_SP_START + 31)
+#define EL_SP_HARD_YELLOW (EL_SP_START + 32)
+#define EL_SP_HARD_BASE2 (EL_SP_START + 33)
+#define EL_SP_HARD_BASE3 (EL_SP_START + 34)
+#define EL_SP_HARD_BASE4 (EL_SP_START + 35)
+#define EL_SP_HARD_BASE5 (EL_SP_START + 36)
+#define EL_SP_HARD_BASE6 (EL_SP_START + 37)
+#define EL_SP_CHIP_UPPER (EL_SP_START + 38)
+#define EL_SP_CHIP_LOWER (EL_SP_START + 39)
+#define EL_SP_END (EL_SP_START + 39)
+
+#define EL_EM_GATE1_GRAY 250
+#define EL_EM_GATE2_GRAY 251
+#define EL_EM_GATE3_GRAY 252
+#define EL_EM_GATE4_GRAY 253
+
+#define EL_UNUSED_254 254
+#define EL_UNUSED_255 255
+
+#define EL_PEARL 256
+#define EL_CRYSTAL 257
+#define EL_WALL_PEARL 258
+#define EL_WALL_CRYSTAL 259
+#define EL_DOOR_WHITE 260
+#define EL_DOOR_WHITE_GRAY 261
+#define EL_KEY_WHITE 262
+#define EL_SHIELD_NORMAL 263
+#define EL_EXTRA_TIME 264
+#define EL_SWITCHGATE_OPEN 265
+#define EL_SWITCHGATE_CLOSED 266
+#define EL_SWITCHGATE_SWITCH_UP 267
+#define EL_SWITCHGATE_SWITCH_DOWN 268
+
+#define EL_UNUSED_269 269
+#define EL_UNUSED_270 270
+
+#define EL_CONVEYOR_BELT1_LEFT 271
+#define EL_CONVEYOR_BELT1_MIDDLE 272
+#define EL_CONVEYOR_BELT1_RIGHT 273
+#define EL_CONVEYOR_BELT1_SWITCH_LEFT 274
+#define EL_CONVEYOR_BELT1_SWITCH_MIDDLE 275
+#define EL_CONVEYOR_BELT1_SWITCH_RIGHT 276
+#define EL_CONVEYOR_BELT2_LEFT 277
+#define EL_CONVEYOR_BELT2_MIDDLE 278
+#define EL_CONVEYOR_BELT2_RIGHT 279
+#define EL_CONVEYOR_BELT2_SWITCH_LEFT 280
+#define EL_CONVEYOR_BELT2_SWITCH_MIDDLE 281
+#define EL_CONVEYOR_BELT2_SWITCH_RIGHT 282
+#define EL_CONVEYOR_BELT3_LEFT 283
+#define EL_CONVEYOR_BELT3_MIDDLE 284
+#define EL_CONVEYOR_BELT3_RIGHT 285
+#define EL_CONVEYOR_BELT3_SWITCH_LEFT 286
+#define EL_CONVEYOR_BELT3_SWITCH_MIDDLE 287
+#define EL_CONVEYOR_BELT3_SWITCH_RIGHT 288
+#define EL_CONVEYOR_BELT4_LEFT 289
+#define EL_CONVEYOR_BELT4_MIDDLE 290
+#define EL_CONVEYOR_BELT4_RIGHT 291
+#define EL_CONVEYOR_BELT4_SWITCH_LEFT 292
+#define EL_CONVEYOR_BELT4_SWITCH_MIDDLE 293
+#define EL_CONVEYOR_BELT4_SWITCH_RIGHT 294
+#define EL_LANDMINE 295
+#define EL_ENVELOPE 296
+#define EL_LIGHT_SWITCH 297
+#define EL_LIGHT_SWITCH_ACTIVE 298
+#define EL_SIGN_EXCLAMATION 299
+#define EL_SIGN_RADIOACTIVITY 300
+#define EL_SIGN_STOP 301
+#define EL_SIGN_WHEELCHAIR 302
+#define EL_SIGN_PARKING 303
+#define EL_SIGN_ONEWAY 304
+#define EL_SIGN_HEART 305
+#define EL_SIGN_TRIANGLE 306
+#define EL_SIGN_ROUND 307
+#define EL_SIGN_EXIT 308
+#define EL_SIGN_YINYANG 309
+#define EL_SIGN_OTHER 310
+#define EL_MOLE_LEFT 311
+#define EL_MOLE_RIGHT 312
+#define EL_MOLE_UP 313
+#define EL_MOLE_DOWN 314
+#define EL_STEELWALL_SLANTED 315
+#define EL_INVISIBLE_SAND 316
+#define EL_DX_UNKNOWN_15 317
+#define EL_DX_UNKNOWN_42 318
+
+#define EL_UNUSED_319 319
+#define EL_UNUSED_320 320
+
+#define EL_SHIELD_DEADLY 321
+#define EL_TIMEGATE_OPEN 322
+#define EL_TIMEGATE_CLOSED 323
+#define EL_TIMEGATE_SWITCH_ACTIVE 324
+#define EL_TIMEGATE_SWITCH 325
+
+#define EL_BALLOON 326
+#define EL_BALLOON_SEND_LEFT 327
+#define EL_BALLOON_SEND_RIGHT 328
+#define EL_BALLOON_SEND_UP 329
+#define EL_BALLOON_SEND_DOWN 330
+#define EL_BALLOON_SEND_ANY_DIRECTION 331
+
+#define EL_EMC_STEELWALL1 332
+#define EL_EMC_STEELWALL2 333
+#define EL_EMC_STEELWALL3 334
+#define EL_EMC_STEELWALL4 335
+#define EL_EMC_WALL_PILLAR_UPPER 336
+#define EL_EMC_WALL_PILLAR_MIDDLE 337
+#define EL_EMC_WALL_PILLAR_LOWER 338
+#define EL_EMC_WALL4 339
+#define EL_EMC_WALL5 340
+#define EL_EMC_WALL6 341
+#define EL_EMC_WALL7 342
+#define EL_EMC_WALL8 343
+
+#define EL_TUBE_ALL 344
+#define EL_TUBE_VERTICAL 345
+#define EL_TUBE_HORIZONTAL 346
+#define EL_TUBE_VERTICAL_LEFT 347
+#define EL_TUBE_VERTICAL_RIGHT 348
+#define EL_TUBE_HORIZONTAL_UP 349
+#define EL_TUBE_HORIZONTAL_DOWN 350
+#define EL_TUBE_LEFT_UP 351
+#define EL_TUBE_LEFT_DOWN 352
+#define EL_TUBE_RIGHT_UP 353
+#define EL_TUBE_RIGHT_DOWN 354
+#define EL_SPRING 355
+#define EL_TRAP 356
+#define EL_DX_SUPABOMB 357
+
+#define NUM_FILE_ELEMENTS 358
+
+
+/* "real" (and therefore drawable) runtime elements */
+#define EL_FIRST_RUNTIME_REAL NUM_FILE_ELEMENTS
+
+#define EL_MAGIC_WALL_ACTIVE (EL_FIRST_RUNTIME_REAL + 0)
+#define EL_BD_MAGIC_WALL_ACTIVE (EL_FIRST_RUNTIME_REAL + 1)
+#define EL_MAGIC_WALL_FULL (EL_FIRST_RUNTIME_REAL + 2)
+#define EL_BD_MAGIC_WALL_FULL (EL_FIRST_RUNTIME_REAL + 3)
+#define EL_MAGIC_WALL_DEAD (EL_FIRST_RUNTIME_REAL + 4)
+#define EL_BD_MAGIC_WALL_DEAD (EL_FIRST_RUNTIME_REAL + 5)
+#define EL_EXIT_OPENING (EL_FIRST_RUNTIME_REAL + 6)
+#define EL_SP_TERMINAL_ACTIVE (EL_FIRST_RUNTIME_REAL + 7)
+#define EL_SP_BUGGY_BASE_ACTIVE (EL_FIRST_RUNTIME_REAL + 8)
+#define EL_EM_KEY1 (EL_FIRST_RUNTIME_REAL + 9)
+#define EL_EM_KEY2 (EL_FIRST_RUNTIME_REAL + 10)
+#define EL_EM_KEY3 (EL_FIRST_RUNTIME_REAL + 11)
+#define EL_EM_KEY4 (EL_FIRST_RUNTIME_REAL + 12)
+#define EL_DYNABOMB_PLAYER1_ACTIVE (EL_FIRST_RUNTIME_REAL + 13)
+#define EL_DYNABOMB_PLAYER2_ACTIVE (EL_FIRST_RUNTIME_REAL + 14)
+#define EL_DYNABOMB_PLAYER3_ACTIVE (EL_FIRST_RUNTIME_REAL + 15)
+#define EL_DYNABOMB_PLAYER4_ACTIVE (EL_FIRST_RUNTIME_REAL + 16)
+#define EL_SWITCHGATE_OPENING (EL_FIRST_RUNTIME_REAL + 17)
+#define EL_SWITCHGATE_CLOSING (EL_FIRST_RUNTIME_REAL + 18)
+#define EL_TIMEGATE_OPENING (EL_FIRST_RUNTIME_REAL + 19)
+#define EL_TIMEGATE_CLOSING (EL_FIRST_RUNTIME_REAL + 20)
+#define EL_PEARL_BREAKING (EL_FIRST_RUNTIME_REAL + 21)
+#define EL_TRAP_ACTIVE (EL_FIRST_RUNTIME_REAL + 22)
+#define EL_SPRING_MOVING (EL_FIRST_RUNTIME_REAL + 23)
+#define EL_SP_MURPHY_CLONE (EL_FIRST_RUNTIME_REAL + 24)
+#define EL_QUICKSAND_EMPTYING (EL_FIRST_RUNTIME_REAL + 25)
+#define EL_MAGIC_WALL_EMPTYING (EL_FIRST_RUNTIME_REAL + 26)
+#define EL_BD_MAGIC_WALL_EMPTYING (EL_FIRST_RUNTIME_REAL + 27)
+#define EL_AMOEBA_DRIPPING (EL_FIRST_RUNTIME_REAL + 28)
+#define EL_SP_EXIT_OPEN (EL_FIRST_RUNTIME_REAL + 29)
+#define EL_INVISIBLE_STEELWALL_ACTIVE (EL_FIRST_RUNTIME_REAL + 30)
+#define EL_INVISIBLE_SAND_ACTIVE (EL_FIRST_RUNTIME_REAL + 31)
+#define EL_INVISIBLE_WALL_ACTIVE (EL_FIRST_RUNTIME_REAL + 32)
+#define EL_CONVEYOR_BELT1_LEFT_ACTIVE (EL_FIRST_RUNTIME_REAL + 33)
+#define EL_CONVEYOR_BELT1_MIDDLE_ACTIVE (EL_FIRST_RUNTIME_REAL + 34)
+#define EL_CONVEYOR_BELT1_RIGHT_ACTIVE (EL_FIRST_RUNTIME_REAL + 35)
+#define EL_CONVEYOR_BELT2_LEFT_ACTIVE (EL_FIRST_RUNTIME_REAL + 36)
+#define EL_CONVEYOR_BELT2_MIDDLE_ACTIVE (EL_FIRST_RUNTIME_REAL + 37)
+#define EL_CONVEYOR_BELT2_RIGHT_ACTIVE (EL_FIRST_RUNTIME_REAL + 38)
+#define EL_CONVEYOR_BELT3_LEFT_ACTIVE (EL_FIRST_RUNTIME_REAL + 39)
+#define EL_CONVEYOR_BELT3_MIDDLE_ACTIVE (EL_FIRST_RUNTIME_REAL + 40)
+#define EL_CONVEYOR_BELT3_RIGHT_ACTIVE (EL_FIRST_RUNTIME_REAL + 41)
+#define EL_CONVEYOR_BELT4_LEFT_ACTIVE (EL_FIRST_RUNTIME_REAL + 42)
+#define EL_CONVEYOR_BELT4_MIDDLE_ACTIVE (EL_FIRST_RUNTIME_REAL + 43)
+#define EL_CONVEYOR_BELT4_RIGHT_ACTIVE (EL_FIRST_RUNTIME_REAL + 44)
+
+/* "unreal" (and therefore not drawable) runtime elements */
+#define EL_FIRST_RUNTIME_UNREAL (EL_FIRST_RUNTIME_REAL + 45)
+
+#define EL_BLOCKED (EL_FIRST_RUNTIME_UNREAL + 0)
+#define EL_EXPLOSION (EL_FIRST_RUNTIME_UNREAL + 1)
+#define EL_CRACKINGNUT (EL_FIRST_RUNTIME_UNREAL + 2)
+#define EL_ACID_SPLASHING_LEFT (EL_FIRST_RUNTIME_UNREAL + 3)
+#define EL_ACID_SPLASHING_RIGHT (EL_FIRST_RUNTIME_UNREAL + 4)
+#define EL_AMOEBA_CREATING (EL_FIRST_RUNTIME_UNREAL + 5)
+#define EL_AMOEBA_SHRINKING (EL_FIRST_RUNTIME_UNREAL + 6)
+#define EL_WALL_GROWING_ACTIVE (EL_FIRST_RUNTIME_UNREAL + 7)
+#define EL_FLAMES (EL_FIRST_RUNTIME_UNREAL + 8)
+#define EL_PLAYER_IS_LEAVING (EL_FIRST_RUNTIME_UNREAL + 9)
+#define EL_QUICKSAND_FILLING (EL_FIRST_RUNTIME_UNREAL + 10)
+#define EL_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 11)
+#define EL_BD_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 12)
+
+/* dummy (not drawable) runtime elements (internal use only) */
+#define EL_FIRST_DUMMY (EL_FIRST_RUNTIME_UNREAL + 13)
+
+#define EL_STEELWALL_TOPLEFT (EL_FIRST_DUMMY + 0)
+#define EL_STEELWALL_TOPRIGHT (EL_FIRST_DUMMY + 1)
+#define EL_STEELWALL_BOTTOMLEFT (EL_FIRST_DUMMY + 2)
+#define EL_STEELWALL_BOTTOMRIGHT (EL_FIRST_DUMMY + 3)
+#define EL_STEELWALL_HORIZONTAL (EL_FIRST_DUMMY + 4)
+#define EL_STEELWALL_VERTICAL (EL_FIRST_DUMMY + 5)
+#define EL_INVISIBLE_STEELWALL_TOPLEFT (EL_FIRST_DUMMY + 6)
+#define EL_INVISIBLE_STEELWALL_TOPRIGHT (EL_FIRST_DUMMY + 7)
+#define EL_INVISIBLE_STEELWALL_BOTTOMLEFT (EL_FIRST_DUMMY + 8)
+#define EL_INVISIBLE_STEELWALL_BOTTOMRIGHT (EL_FIRST_DUMMY + 9)
+#define EL_INVISIBLE_STEELWALL_HORIZONTAL (EL_FIRST_DUMMY + 10)
+#define EL_INVISIBLE_STEELWALL_VERTICAL (EL_FIRST_DUMMY + 11)
+#define EL_SAND_CRUMBLED (EL_FIRST_DUMMY + 12)
+#define EL_BD_AMOEBA_PART1 (EL_FIRST_DUMMY + 13)
+#define EL_BD_AMOEBA_PART2 (EL_FIRST_DUMMY + 14)
+#define EL_BD_AMOEBA_PART3 (EL_FIRST_DUMMY + 15)
+#define EL_BD_AMOEBA_PART4 (EL_FIRST_DUMMY + 16)
+#define EL_AMOEBA_PART1 (EL_FIRST_DUMMY + 17)
+#define EL_AMOEBA_PART2 (EL_FIRST_DUMMY + 18)
+#define EL_AMOEBA_PART3 (EL_FIRST_DUMMY + 19)
+#define EL_AMOEBA_PART4 (EL_FIRST_DUMMY + 20)
+#define EL_AMOEBA_DEAD_PART1 (EL_FIRST_DUMMY + 21)
+#define EL_AMOEBA_DEAD_PART2 (EL_FIRST_DUMMY + 22)
+#define EL_AMOEBA_DEAD_PART3 (EL_FIRST_DUMMY + 23)
+#define EL_AMOEBA_DEAD_PART4 (EL_FIRST_DUMMY + 24)
+#define EL_DYNABOMB_ACTIVE (EL_FIRST_DUMMY + 25)
+#define EL_SHIELD_NORMAL_ACTIVE (EL_FIRST_DUMMY + 26)
+#define EL_SHIELD_DEADLY_ACTIVE (EL_FIRST_DUMMY + 27)
+#define EL_ARROW_RED_LEFT (EL_FIRST_DUMMY + 28)
+#define EL_ARROW_RED_RIGHT (EL_FIRST_DUMMY + 29)
+#define EL_ARROW_RED_UP (EL_FIRST_DUMMY + 30)
+#define EL_ARROW_RED_DOWN (EL_FIRST_DUMMY + 31)
+
+#define MAX_NUM_ELEMENTS (EL_FIRST_DUMMY + 32)
+
+
+/* game graphics:
+** 0 - 255: graphics from "RocksElements"
+** 256 - 511: graphics from "RocksFont"
+** 512 - 767: graphics from "RocksHeroes"
+** 768 - 1023: graphics from "RocksSP"
+** 1024 - 1279: graphics from "RocksDC"
+** 1280 - 1535: graphics from "RocksMore"
+*/
+
+#define GFX_START_ROCKSELEMENTS 0
+#define GFX_END_ROCKSELEMENTS 255
+#define GFX_START_ROCKSFONT 256
+#define GFX_END_ROCKSFONT 511
+#define GFX_START_ROCKSHEROES 512
+#define GFX_END_ROCKSHEROES 767
+#define GFX_START_ROCKSSP 768
+#define GFX_END_ROCKSSP 1023
+#define GFX_START_ROCKSDC 1024
+#define GFX_END_ROCKSDC 1279
+#define GFX_START_ROCKSMORE 1280
+#define GFX_END_ROCKSMORE 1535
+
+#define NUM_TILES 1536 /* see above: MAX_GRAPHICS */
+
+/* graphics from "RocksScreen" */
+/* Zeile 0 (0) */
+#define GFX_LEERRAUM (-1)
+#define GFX_ERDREICH 0
+#define GFX_ERDENRAND 1
+#define GFX_MORAST_LEER 2
+#define GFX_MORAST_VOLL 3
+#define GFX_BETON 4
+#define GFX_MAUERWERK 5
+#define GFX_FELSBODEN 6
+#define GFX_EDELSTEIN 8
+#define GFX_DIAMANT 10
+#define GFX_FELSBROCKEN 12
+/* Zeile 1 (16) */
+#define GFX_BADEWANNE1 16
+#define GFX_SALZSAEURE 17
+#define GFX_BADEWANNE2 18
+
+/*
+#define GFX_UNSICHTBAR 19
+*/
+
+#define GFX_SCHLUESSEL1 20
+#define GFX_SCHLUESSEL2 21
+#define GFX_SCHLUESSEL3 22
+#define GFX_SCHLUESSEL4 23
+#define GFX_LIFE 24
+#define GFX_LIFE_ASYNC 25
+#define GFX_BADEWANNE 26
+#define GFX_BOMBE 27
+#define GFX_KOKOSNUSS 28
+#define GFX_CRACKINGNUT 29
+/* Zeile 2 (32) */
+#define GFX_BADEWANNE3 32
+#define GFX_BADEWANNE4 33
+#define GFX_BADEWANNE5 34
+#define GFX_SMILEY 35
+#define GFX_PFORTE1 36
+#define GFX_PFORTE2 37
+#define GFX_PFORTE3 38
+#define GFX_PFORTE4 39
+#define GFX_PFORTE1X 40
+#define GFX_PFORTE2X 41
+#define GFX_PFORTE3X 42
+#define GFX_PFORTE4X 43
+/* Zeile 3 (48) */
+#define GFX_DYNAMIT_AUS 48
+#define GFX_DYNAMIT 49
+#define GFX_FLIEGER 56
+#define GFX_FLIEGER_RIGHT 56
+#define GFX_FLIEGER_UP 58
+#define GFX_FLIEGER_LEFT 60
+#define GFX_FLIEGER_DOWN 62
+/* Zeile 4 (64) */
+#define GFX_EXPLOSION 64
+#define GFX_KAEFER 72
+#define GFX_KAEFER_RIGHT 72
+#define GFX_KAEFER_UP 74
+#define GFX_KAEFER_LEFT 76
+#define GFX_KAEFER_DOWN 78
+/* Zeile 5 (80) */
+#define GFX_MAMPFER 80
+#define GFX_ROBOT 84
+#define GFX_PACMAN 88
+#define GFX_PACMAN_RIGHT 88
+#define GFX_PACMAN_UP 90
+#define GFX_PACMAN_LEFT 92
+#define GFX_PACMAN_DOWN 94
+/* Zeile 6 (96) */
+#define GFX_ABLENK 96
+#define GFX_ABLENK_EIN GFX_ABLENK
+#define GFX_ABLENK_AUS GFX_ABLENK
+#define GFX_AMOEBE_NASS 100
+#define GFX_TROPFEN 101
+#define GFX_AMOEBING GFX_TROPFEN
+#define GFX_AMOEBE_LEBT 104
+#define GFX_AMOEBE_NORM GFX_AMOEBE_LEBT
+#define GFX_AMOEBE_TOT 108
+#define GFX_AMOEBA2DIAM GFX_AMOEBE_TOT
+/* Zeile 7 (112) */
+#define GFX_BIRNE_AUS 112
+#define GFX_BIRNE_EIN 113
+#define GFX_ZEIT_VOLL 114
+#define GFX_ZEIT_LEER 115
+#define GFX_SPIELER1 116
+#define GFX_SPIELER2 117
+#define GFX_SPIELER3 118
+#define GFX_SPIELER4 119
+#define GFX_AMOEBE_VOLL 120
+#define GFX_AMOEBE_BD GFX_AMOEBE_VOLL
+#define GFX_SOKOBAN_OBJEKT 121
+#define GFX_SOKOBAN_FELD_LEER 122
+#define GFX_SOKOBAN_FELD_VOLL 123
+#define GFX_GEBLUBBER 124
+/* Zeile 8 (128) */
+#define GFX_MAGIC_WALL_OFF 128
+#define GFX_MAGIC_WALL_EMPTY GFX_MAGIC_WALL_OFF
+#define GFX_MAGIC_WALL_FULL GFX_MAGIC_WALL_OFF
+#define GFX_MAGIC_WALL_DEAD GFX_MAGIC_WALL_OFF
+#define GFX_ERZ_EDEL 132
+#define GFX_ERZ_DIAM 133
+#define GFX_ERZ_EDEL_ROT 134
+#define GFX_ERZ_EDEL_LILA 135
+#define GFX_ERZ_EDEL_GELB 136
+#define GFX_ERZ_EDEL_BD 137
+#define GFX_EDELSTEIN_GELB 138
+#define GFX_KUGEL_ROT 140
+#define GFX_KUGEL_BLAU 141
+#define GFX_KUGEL_GELB 142
+#define GFX_KUGEL_GRAU 143
+/* Zeile 9 (144) */
+#define GFX_PINGUIN 144
+#define GFX_MOLE 145
+#define GFX_SCHWEIN 146
+#define GFX_DRACHE 147
+#define GFX_MAUER_XY 148
+#define GFX_MAUER_X 149
+#define GFX_MAUER_Y 150
+#define GFX_EDELSTEIN_ROT 152
+#define GFX_EDELSTEIN_LILA 154
+#define GFX_DYNABOMB_XL 156
+#define GFX_BLACK_ORB 157
+#define GFX_SPEED_PILL 158
+#define GFX_SONDE 159
+/* Zeile 10 (160) */
+#define GFX_EDELSTEIN_BD 163
+#define GFX_MAUER_RIGHT 165
+#define GFX_MAUER_R1 GFX_MAUER_RIGHT
+#define GFX_MAUER_R 167
+#define GFX_MAUER_LEFT 168
+#define GFX_MAUER_L1 GFX_MAUER_LEFT
+#define GFX_MAUER_L 170
+#define GFX_MAUER_LEBT 171
+#define GFX_MAGIC_WALL_BD_OFF 172
+#define GFX_MAGIC_WALL_BD_EMPTY GFX_MAGIC_WALL_BD_OFF
+#define GFX_MAGIC_WALL_BD_FULL GFX_MAGIC_WALL_BD_OFF
+#define GFX_MAGIC_WALL_BD_DEAD GFX_MAGIC_WALL_BD_OFF
+/* Zeile 11 (176) */
+#define GFX_AUSGANG_ZU 176
+#define GFX_AUSGANG_ACT 177
+#define GFX_AUSGANG_AUF 180
+#define GFX_MAMPFER2 184
+#define GFX_DYNABOMB 188
+#define GFX_DYNABOMB_NR 188
+#define GFX_DYNABOMB_SZ 191
+/* Zeile 12 (192) */
+#define GFX_PFEIL_LEFT 192
+#define GFX_PFEIL_RIGHT 193
+#define GFX_PFEIL_UP 194
+#define GFX_PFEIL_DOWN 195
+#define GFX_BUTTERFLY 196
+#define GFX_FIREFLY 198
+#define GFX_BUTTERFLY_RIGHT 200
+#define GFX_BUTTERFLY_UP 201
+#define GFX_BUTTERFLY_LEFT 202
+#define GFX_BUTTERFLY_DOWN 203
+#define GFX_FIREFLY_RIGHT 204
+#define GFX_FIREFLY_UP 205
+#define GFX_FIREFLY_LEFT 206
+#define GFX_FIREFLY_DOWN 207
+
+/* only available as size MINI_TILE */
+#define GFX_VSTEEL_UPPER_LEFT 208
+#define GFX_VSTEEL_UPPER_RIGHT 209
+#define GFX_VSTEEL_LOWER_LEFT 210
+#define GFX_VSTEEL_LOWER_RIGHT 211
+#define GFX_VSTEEL_HORIZONTAL 212
+#define GFX_VSTEEL_VERTICAL 213
+#define GFX_ISTEEL_UPPER_LEFT 214
+#define GFX_ISTEEL_UPPER_RIGHT 215
+#define GFX_ISTEEL_LOWER_LEFT 216
+#define GFX_ISTEEL_LOWER_RIGHT 217
+#define GFX_ISTEEL_HORIZONTAL 218
+#define GFX_ISTEEL_VERTICAL 219
+
+/* elements with graphics borrowed from other elements */
+#define GFX_SCHLUESSEL GFX_SCHLUESSEL1
+#define GFX_SPIELFIGUR GFX_SPIELER1