int magic_wall_time_left;
int belt_dir[4];
int belt_dir_nr[4];
+ int switchgate_pos;
+ int light_time_left;
};
struct GlobalInfo
#define EL_EXTRA_TIME 264
#define EL_SWITCHGATE_OPEN 265
#define EL_SWITCHGATE_CLOSED 266
-#define EL_SWITCHGATE_SWITCH_L 267
-#define EL_SWITCHGATE_SWITCH_R 268
+#define EL_SWITCHGATE_SWITCH_1 267
+#define EL_SWITCHGATE_SWITCH_2 268
#define EL_TIME_GATE 269
#define EL_TIME_GATE_WHEEL 270
#define EL_BELT1_LEFT 271
#define EL_BELT4_SWITCH_R 294
#define EL_LANDMINE 295
#define EL_ENVELOPE 296
-#define EL_LIGHT_SWITCH 297
-#define EL_SIGN_EXCLAMATION 298
-#define EL_SIGN_RADIOACTIVITY 299
-#define EL_SIGN_STOP 300
-#define EL_SIGN_WHEELCHAIR 301
-#define EL_SIGN_PARKING 302
-#define EL_SIGN_ONEWAY 303
-#define EL_SIGN_HEART 304
-#define EL_SIGN_TRIANGLE 305
-#define EL_SIGN_ROUND 306
-#define EL_SIGN_EXIT 307
-#define EL_SIGN_YINYANG 308
-#define EL_SIGN_OTHER 309
-#define EL_MOLE_LEFT 310
-#define EL_MOLE_RIGHT 311
-#define EL_MOLE_UP 312
-#define EL_MOLE_DOWN 313
-#define EL_STEEL_SLANTED 314
-#define EL_SAND_INVISIBLE 315
+#define EL_LIGHT_SWITCH_OFF 297
+#define EL_LIGHT_SWITCH_ON 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_STEEL_SLANTED 315
+#define EL_SAND_INVISIBLE 316
/* "real" (and therefore drawable) runtime elements */
#define EL_SIEB_LEER 500
#define EL_DYNABOMB_ACTIVE_2 514
#define EL_DYNABOMB_ACTIVE_3 515
#define EL_DYNABOMB_ACTIVE_4 516
+#define EL_SWITCHGATE_OPENING 517
+#define EL_SWITCHGATE_CLOSING 518
/* "unreal" (and therefore not drawable) runtime elements */
#define EL_BLOCKED 600
#define GFX_SP_CHIP_UPPER (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 6)
#define GFX_SP_CHIP_LOWER (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 7)
+#define GFX_INVISIBLE_STEEL_ON (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 1)
+#define GFX_SAND_INVISIBLE_ON (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 2)
#define GFX_INVISIBLE_STEEL (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 3)
+#define GFX_UNSICHTBAR_ON (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 5)
+#define GFX_SAND_INVISIBLE (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 6)
#define GFX_UNSICHTBAR (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 7)
+
#define GFX_SP_ZONK (GFX_START_ROCKSSP + 6 * SP_PER_LINE + 0)
#define GFX_EM_KEY_1 (GFX_START_ROCKSSP + 6 * SP_PER_LINE + 4)
#define GFX_BELT3_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 2)
#define GFX_BELT4_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 3)
+#define GFX_SWITCHGATE_OPEN (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 4)
+#define GFX_SWITCHGATE_CLOSED (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 0)
+#define GFX_SWITCHGATE_SWITCH_1 (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 4)
+#define GFX_SWITCHGATE_SWITCH_2 (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 5)
+#define GFX_LIGHT_SWITCH_OFF (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 6)
+#define GFX_LIGHT_SWITCH_ON (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 7)
+
+#define GFX_ENVELOPE (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 4)
+#define GFX_SIGN_EXCLAMATION (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 5)
+#define GFX_SIGN_STOP (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 6)
+#define GFX_LANDMINE (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 7)
+#define GFX_STEEL_SLANTED (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 5)
+
/* graphics from "RocksFont" */
#define GFX_CHAR_START (GFX_START_ROCKSFONT)
#define GFX_CHAR_ASCII0 (GFX_CHAR_START - 32)
#define GFX_KEY_WHITE GFX_CHAR_FRAGE
#define GFX_FORCE_FIELD GFX_CHAR_FRAGE
#define GFX_EXTRA_TIME GFX_CHAR_FRAGE
-#define GFX_SWITCHGATE_OPEN GFX_CHAR_FRAGE
-#define GFX_SWITCHGATE_CLOSED GFX_CHAR_FRAGE
-#define GFX_SWITCHGATE_SWITCH_L GFX_CHAR_FRAGE
-#define GFX_SWITCHGATE_SWITCH_R GFX_CHAR_FRAGE
#define GFX_TIME_GATE GFX_CHAR_FRAGE
#define GFX_TIME_GATE_WHEEL GFX_CHAR_FRAGE
-
-/*
-#define GFX_BELT1_LEFT GFX_CHAR_FRAGE
-#define GFX_BELT1_MIDDLE GFX_CHAR_FRAGE
-#define GFX_BELT1_RIGHT GFX_CHAR_FRAGE
-#define GFX_BELT1_SWITCH_L GFX_CHAR_FRAGE
-#define GFX_BELT1_SWITCH_M GFX_CHAR_FRAGE
-#define GFX_BELT1_SWITCH_R GFX_CHAR_FRAGE
-#define GFX_BELT2_LEFT GFX_CHAR_FRAGE
-#define GFX_BELT2_MIDDLE GFX_CHAR_FRAGE
-#define GFX_BELT2_RIGHT GFX_CHAR_FRAGE
-#define GFX_BELT2_SWITCH_L GFX_CHAR_FRAGE
-#define GFX_BELT2_SWITCH_M GFX_CHAR_FRAGE
-#define GFX_BELT2_SWITCH_R GFX_CHAR_FRAGE
-#define GFX_BELT3_LEFT GFX_CHAR_FRAGE
-#define GFX_BELT3_MIDDLE GFX_CHAR_FRAGE
-#define GFX_BELT3_RIGHT GFX_CHAR_FRAGE
-#define GFX_BELT3_SWITCH_L GFX_CHAR_FRAGE
-#define GFX_BELT3_SWITCH_M GFX_CHAR_FRAGE
-#define GFX_BELT3_SWITCH_R GFX_CHAR_FRAGE
-#define GFX_BELT4_LEFT GFX_CHAR_FRAGE
-#define GFX_BELT4_MIDDLE GFX_CHAR_FRAGE
-#define GFX_BELT4_RIGHT GFX_CHAR_FRAGE
-#define GFX_BELT4_SWITCH_L GFX_CHAR_FRAGE
-#define GFX_BELT4_SWITCH_M GFX_CHAR_FRAGE
-#define GFX_BELT4_SWITCH_R GFX_CHAR_FRAGE
-*/
-
-#define GFX_LANDMINE GFX_CHAR_FRAGE
-#define GFX_ENVELOPE GFX_CHAR_FRAGE
-#define GFX_LIGHT_SWITCH GFX_CHAR_FRAGE
-#define GFX_SIGN_EXCLAMATION GFX_CHAR_FRAGE
#define GFX_SIGN_RADIOACTIVITY GFX_CHAR_FRAGE
-#define GFX_SIGN_STOP GFX_CHAR_FRAGE
#define GFX_SIGN_WHEELCHAIR GFX_CHAR_FRAGE
#define GFX_SIGN_PARKING GFX_CHAR_FRAGE
#define GFX_SIGN_ONEWAY GFX_CHAR_FRAGE
#define GFX_MOLE_RIGHT GFX_CHAR_FRAGE
#define GFX_MOLE_UP GFX_CHAR_FRAGE
#define GFX_MOLE_DOWN GFX_CHAR_FRAGE
-#define GFX_STEEL_SLANTED GFX_CHAR_FRAGE
-#define GFX_SAND_INVISIBLE GFX_CHAR_FRAGE
/* the names of the sounds */
#define SND_ALCHEMY 0