+ 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,
+ EL_SP_DISK_RED_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