+ static int ep_sp_element[] =
+ {
+ EL_SP_EMPTY,
+ EL_SP_ZONK,
+ EL_SP_BASE,
+ EL_SP_MURPHY,
+ EL_SP_INFOTRON,
+ EL_SP_CHIP_SINGLE,
+ EL_SP_HARD_GRAY,
+ EL_SP_EXIT_CLOSED,
+ EL_SP_EXIT_OPEN,
+ EL_SP_DISK_ORANGE,
+ EL_SP_PORT1_RIGHT,
+ EL_SP_PORT1_DOWN,
+ EL_SP_PORT1_LEFT,
+ EL_SP_PORT1_UP,
+ EL_SP_PORT2_RIGHT,
+ EL_SP_PORT2_DOWN,
+ EL_SP_PORT2_LEFT,
+ EL_SP_PORT2_UP,
+ EL_SP_SNIKSNAK,
+ EL_SP_DISK_YELLOW,
+ EL_SP_TERMINAL,
+ EL_SP_DISK_RED,
+ EL_SP_PORT_Y,
+ EL_SP_PORT_X,
+ EL_SP_PORT_XY,
+ EL_SP_ELECTRON,
+ EL_SP_BUGGY_BASE,
+ EL_SP_CHIP_LEFT,
+ EL_SP_CHIP_RIGHT,
+ EL_SP_HARD_BASE1,
+ EL_SP_HARD_GREEN,
+ EL_SP_HARD_BLUE,
+ EL_SP_HARD_RED,
+ EL_SP_HARD_YELLOW,
+ EL_SP_HARD_BASE2,
+ EL_SP_HARD_BASE3,
+ EL_SP_HARD_BASE4,
+ EL_SP_HARD_BASE5,
+ EL_SP_HARD_BASE6,
+ EL_SP_CHIP_UPPER,
+ EL_SP_CHIP_LOWER,
+ /* additional elements that appeared in newer Supaplex levels */
+ EL_INVISIBLE_WALL,
+ /* more than one murphy in a level results in an inactive clone */
+ EL_SP_MURPHY_CLONE
+ };
+ static int ep_sp_element_num = SIZEOF_ARRAY_INT(ep_sp_element);
+
+ static int ep_quick_gate[] =
+ {
+ EL_EM_GATE1,
+ EL_EM_GATE2,
+ EL_EM_GATE3,
+ EL_EM_GATE4,
+ EL_EM_GATE1_GRAY,
+ EL_EM_GATE2_GRAY,
+ EL_EM_GATE3_GRAY,
+ EL_EM_GATE4_GRAY,
+ EL_SP_PORT1_LEFT,
+ EL_SP_PORT2_LEFT,
+ EL_SP_PORT1_RIGHT,
+ EL_SP_PORT2_RIGHT,
+ EL_SP_PORT1_UP,
+ EL_SP_PORT2_UP,
+ EL_SP_PORT1_DOWN,
+ EL_SP_PORT2_DOWN,
+ EL_SP_PORT_X,
+ EL_SP_PORT_Y,
+ EL_SP_PORT_XY,
+ EL_SWITCHGATE_OPEN,
+ EL_TIMEGATE_OPEN
+ };
+ static int ep_quick_gate_num = SIZEOF_ARRAY_INT(ep_quick_gate);
+
+ static int ep_over_player[] =
+ {
+ EL_SP_PORT1_LEFT,
+ EL_SP_PORT2_LEFT,
+ EL_SP_PORT1_RIGHT,
+ EL_SP_PORT2_RIGHT,
+ EL_SP_PORT1_UP,
+ EL_SP_PORT2_UP,
+ EL_SP_PORT1_DOWN,
+ EL_SP_PORT2_DOWN,
+ EL_SP_PORT_X,
+ EL_SP_PORT_Y,
+ EL_SP_PORT_XY,
+ EL_TUBE_ALL,
+ EL_TUBE_VERTICAL,
+ EL_TUBE_HORIZONTAL,
+ EL_TUBE_VERTICAL_LEFT,
+ EL_TUBE_VERTICAL_RIGHT,
+ EL_TUBE_HORIZONTAL_UP,
+ EL_TUBE_HORIZONTAL_DOWN,
+ EL_TUBE_LEFT_UP,
+ EL_TUBE_LEFT_DOWN,
+ EL_TUBE_RIGHT_UP,
+ EL_TUBE_RIGHT_DOWN
+ };
+ static int ep_over_player_num = SIZEOF_ARRAY_INT(ep_over_player);
+
+ static int ep_active_bomb[] =
+ {
+ EL_DYNAMITE_ACTIVE,
+ EL_DYNABOMB_PLAYER1_ACTIVE,
+ EL_DYNABOMB_PLAYER2_ACTIVE,
+ EL_DYNABOMB_PLAYER3_ACTIVE,
+ EL_DYNABOMB_PLAYER4_ACTIVE
+ };
+ static int ep_active_bomb_num = SIZEOF_ARRAY_INT(ep_active_bomb);
+
+ static int ep_belt[] =
+ {
+ EL_CONVEYOR_BELT1_LEFT,
+ EL_CONVEYOR_BELT1_MIDDLE,
+ EL_CONVEYOR_BELT1_RIGHT,
+ EL_CONVEYOR_BELT2_LEFT,
+ EL_CONVEYOR_BELT2_MIDDLE,
+ EL_CONVEYOR_BELT2_RIGHT,
+ EL_CONVEYOR_BELT3_LEFT,
+ EL_CONVEYOR_BELT3_MIDDLE,
+ EL_CONVEYOR_BELT3_RIGHT,
+ EL_CONVEYOR_BELT4_LEFT,
+ EL_CONVEYOR_BELT4_MIDDLE,
+ EL_CONVEYOR_BELT4_RIGHT,
+ };
+ static int ep_belt_num = SIZEOF_ARRAY_INT(ep_belt);
+
+ static int ep_belt_active[] =
+ {
+ EL_CONVEYOR_BELT1_LEFT_ACTIVE,
+ EL_CONVEYOR_BELT1_MIDDLE_ACTIVE,
+ EL_CONVEYOR_BELT1_RIGHT_ACTIVE,
+ EL_CONVEYOR_BELT2_LEFT_ACTIVE,
+ EL_CONVEYOR_BELT2_MIDDLE_ACTIVE,
+ EL_CONVEYOR_BELT2_RIGHT_ACTIVE,
+ EL_CONVEYOR_BELT3_LEFT_ACTIVE,
+ EL_CONVEYOR_BELT3_MIDDLE_ACTIVE,
+ EL_CONVEYOR_BELT3_RIGHT_ACTIVE,
+ EL_CONVEYOR_BELT4_LEFT_ACTIVE,
+ EL_CONVEYOR_BELT4_MIDDLE_ACTIVE,
+ EL_CONVEYOR_BELT4_RIGHT_ACTIVE,
+ };
+ static int ep_belt_active_num = SIZEOF_ARRAY_INT(ep_belt_active);
+
+ static int ep_belt_switch[] =
+ {
+ EL_CONVEYOR_BELT1_SWITCH_LEFT,
+ EL_CONVEYOR_BELT1_SWITCH_MIDDLE,
+ EL_CONVEYOR_BELT1_SWITCH_RIGHT,
+ EL_CONVEYOR_BELT2_SWITCH_LEFT,
+ EL_CONVEYOR_BELT2_SWITCH_MIDDLE,
+ EL_CONVEYOR_BELT2_SWITCH_RIGHT,
+ EL_CONVEYOR_BELT3_SWITCH_LEFT,
+ EL_CONVEYOR_BELT3_SWITCH_MIDDLE,
+ EL_CONVEYOR_BELT3_SWITCH_RIGHT,
+ EL_CONVEYOR_BELT4_SWITCH_LEFT,
+ EL_CONVEYOR_BELT4_SWITCH_MIDDLE,
+ EL_CONVEYOR_BELT4_SWITCH_RIGHT,
+ };
+ static int ep_belt_switch_num = SIZEOF_ARRAY_INT(ep_belt_switch);
+
+ static int ep_tube[] =
+ {
+ EL_TUBE_ALL,
+ EL_TUBE_VERTICAL,
+ EL_TUBE_HORIZONTAL,
+ EL_TUBE_VERTICAL_LEFT,
+ EL_TUBE_VERTICAL_RIGHT,
+ EL_TUBE_HORIZONTAL_UP,
+ EL_TUBE_HORIZONTAL_DOWN,
+ EL_TUBE_LEFT_UP,
+ EL_TUBE_LEFT_DOWN,
+ EL_TUBE_RIGHT_UP,
+ EL_TUBE_RIGHT_DOWN
+ };
+ static int ep_tube_num = SIZEOF_ARRAY_INT(ep_tube);
+
+ static long ep1_bit[] =