added definitions for Mirror Magic (and Deflektor) game elements
authorHolger Schemel <info@artsoft.org>
Wed, 15 Feb 2017 19:31:57 +0000 (20:31 +0100)
committerHolger Schemel <info@artsoft.org>
Fri, 23 Mar 2018 22:21:07 +0000 (23:21 +0100)
src/main.c
src/main.h

index 1dd7a167c16985f3605f9af9d1c4e2cb87679b4c..bdb16a3089cdd05a555b35f0c847ef9b82ffddef 100644 (file)
@@ -4515,6 +4515,1741 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
     "from_level_template",
     "element taken from level template"
   },
+  {
+    "mm_empty_space",
+    "empty_space",
+    "empty_space"
+  },
+  {
+    "mm_mirror_1",
+    "mm_mirror",
+    "mirror (0\xb0)"
+  },
+  {
+    "mm_mirror_2",
+    "mm_mirror",
+    "mirror (11.25\xb0)"
+  },
+  {
+    "mm_mirror_3",
+    "mm_mirror",
+    "mirror (22.5\xb0)"
+  },
+  {
+    "mm_mirror_4",
+    "mm_mirror",
+    "mirror (33.75\xb0)"
+  },
+  {
+    "mm_mirror_5",
+    "mm_mirror",
+    "mirror (45\xb0)"
+  },
+  {
+    "mm_mirror_6",
+    "mm_mirror",
+    "mirror (56.25\xb0)"
+  },
+  {
+    "mm_mirror_7",
+    "mm_mirror",
+    "mirror (67.5\xb0)"
+  },
+  {
+    "mm_mirror_8",
+    "mm_mirror",
+    "mirror (78.75\xb0)"
+  },
+  {
+    "mm_mirror_9",
+    "mm_mirror",
+    "mirror (90\xb0)"
+  },
+  {
+    "mm_mirror_10",
+    "mm_mirror",
+    "mirror (101.25\xb0)"
+  },
+  {
+    "mm_mirror_11",
+    "mm_mirror",
+    "mirror (112.5\xb0)"
+  },
+  {
+    "mm_mirror_12",
+    "mm_mirror",
+    "mirror (123.75\xb0)"
+  },
+  {
+    "mm_mirror_13",
+    "mm_mirror",
+    "mirror (135\xb0)"
+  },
+  {
+    "mm_mirror_14",
+    "mm_mirror",
+    "mirror (146.25\xb0)"
+  },
+  {
+    "mm_mirror_15",
+    "mm_mirror",
+    "mirror (157.5\xb0)"
+  },
+  {
+    "mm_mirror_16",
+    "mm_mirror",
+    "mirror (168.75\xb0)"
+  },
+  {
+    "mm_steel_grid_fixed_1",
+    "mm_steel_grid_fixed",
+    "fixed steel polarisator (0\xb0)"
+  },
+  {
+    "mm_steel_grid_fixed_2",
+    "mm_steel_grid_fixed",
+    "fixed steel polarisator (90\xb0)"
+  },
+  {
+    "mm_steel_grid_fixed_3",
+    "mm_steel_grid_fixed",
+    "fixed steel polarisator (45\xb0)"
+  },
+  {
+    "mm_steel_grid_fixed_4",
+    "mm_steel_grid_fixed",
+    "fixed steel polarisator (135\xb0)"
+  },
+  {
+    "mm_mcduffin.right",
+    "mm_mcduffin",
+    "Gregor McDuffin (looking right)"
+  },
+  {
+    "mm_mcduffin.up",
+    "mm_mcduffin",
+    "Gregor McDuffin (looking up)"
+  },
+  {
+    "mm_mcduffin.left",
+    "mm_mcduffin",
+    "Gregor McDuffin (looking left)"
+  },
+  {
+    "mm_mcduffin.down",
+    "mm_mcduffin",
+    "Gregor McDuffin (looking down)"
+  },
+  {
+    "mm_exit_closed",
+    "mm_exit",
+    "closed exit (MM style)"
+  },
+  {
+    "mm_exit_opening_1",
+    "mm_exit",
+    "opening exit 1"
+  },
+  {
+    "mm_exit_opening_2",
+    "mm_exit",
+    "opening exit 2"
+  },
+  {
+    "mm_exit_open",
+    "mm_exit",
+    "open exit (MM style)"
+  },
+  {
+    "mm_kettle",
+    "mm_kettle",
+    "magic kettle"
+  },
+  {
+    "mm_bomb",
+    "mm_bomb",
+    "bomb (MM style)"
+  },
+  {
+    "mm_prism",
+    "mm_prism",
+    "prism"
+  },
+  {
+    "mm_steel_wall_1",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_2",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_3",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_4",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_5",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_6",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_7",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_8",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_9",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_10",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_11",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_12",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_13",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_14",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_15",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_steel_wall_16",
+    "mm_steel_wall",
+    "steel wall"
+  },
+  {
+    "mm_wooden_wall_1",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_2",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_3",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_4",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_5",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_6",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_7",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_8",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_9",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_10",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_11",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_12",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_13",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_14",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_15",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_wooden_wall_16",
+    "mm_wooden_wall",
+    "wooden wall"
+  },
+  {
+    "mm_ice_wall_1",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_2",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_3",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_4",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_5",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_6",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_7",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_8",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_9",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_10",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_11",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_12",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_13",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_14",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_15",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_ice_wall_16",
+    "mm_ice_wall",
+    "ice wall"
+  },
+  {
+    "mm_amoeba_wall_1",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_2",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_3",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_4",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_5",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_6",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_7",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_8",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_9",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_10",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_11",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_12",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_13",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_14",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_15",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_amoeba_wall_16",
+    "mm_amoeba_wall",
+    "amoeba wall"
+  },
+  {
+    "mm_wooden_block",
+    "mm_wooden_block",
+    "wooden block"
+  },
+  {
+    "mm_gray_ball",
+    "mm_gray_ball",
+    "gray ball"
+  },
+  {
+    "mm_beamer_1",
+    "mm_beamer",
+    "beamer (0\xb0)"
+  },
+  {
+    "mm_beamer_2",
+    "mm_beamer",
+    "beamer (22.5\xb0)"
+  },
+  {
+    "mm_beamer_3",
+    "mm_beamer",
+    "beamer (45\xb0)"
+  },
+  {
+    "mm_beamer_4",
+    "mm_beamer",
+    "beamer (67.5\xb0)"
+  },
+  {
+    "mm_beamer_5",
+    "mm_beamer",
+    "beamer (90\xb0)"
+  },
+  {
+    "mm_beamer_6",
+    "mm_beamer",
+    "beamer (112.5\xb0)"
+  },
+  {
+    "mm_beamer_7",
+    "mm_beamer",
+    "beamer (135\xb0)"
+  },
+  {
+    "mm_beamer_8",
+    "mm_beamer",
+    "beamer (157.5\xb0)"
+  },
+  {
+    "mm_beamer_9",
+    "mm_beamer",
+    "beamer (180\xb0)"
+  },
+  {
+    "mm_beamer_10",
+    "mm_beamer",
+    "beamer (202.5\xb0)"
+  },
+  {
+    "mm_beamer_11",
+    "mm_beamer",
+    "beamer (225\xb0)"
+  },
+  {
+    "mm_beamer_12",
+    "mm_beamer",
+    "beamer (247.5\xb0)"
+  },
+  {
+    "mm_beamer_13",
+    "mm_beamer",
+    "beamer (270\xb0)"
+  },
+  {
+    "mm_beamer_14",
+    "mm_beamer",
+    "beamer (292.5\xb0)"
+  },
+  {
+    "mm_beamer_15",
+    "mm_beamer",
+    "beamer (315\xb0)"
+  },
+  {
+    "mm_beamer_16",
+    "mm_beamer",
+    "beamer (337.5\xb0)"
+  },
+  {
+    "mm_fuse.active",
+    "mm_fuse",
+    "fuse (on)"
+  },
+  {
+    "mm_pacman.right",
+    "mm_pacman",
+    "pac man (starts moving right)"
+  },
+  {
+    "mm_pacman.up",
+    "mm_pacman",
+    "pac man (starts moving up)"
+  },
+  {
+    "mm_pacman.left",
+    "mm_pacman",
+    "pac man (starts moving left)"
+  },
+  {
+    "mm_pacman.down",
+    "mm_pacman",
+    "pac man (starts moving down)"
+  },
+  {
+    "mm_polarisator_1",
+    "mm_polarisator",
+    "polarisator (0\xb0)"
+  },
+  {
+    "mm_polarisator_2",
+    "mm_polarisator",
+    "polarisator (11.25\xb0)"
+  },
+  {
+    "mm_polarisator_3",
+    "mm_polarisator",
+    "polarisator (22.5\xb0)"
+  },
+  {
+    "mm_polarisator_4",
+    "mm_polarisator",
+    "polarisator (33.75\xb0)"
+  },
+  {
+    "mm_polarisator_5",
+    "mm_polarisator",
+    "polarisator (45\xb0)"
+  },
+  {
+    "mm_polarisator_6",
+    "mm_polarisator",
+    "polarisator (56.25\xb0)"
+  },
+  {
+    "mm_polarisator_7",
+    "mm_polarisator",
+    "polarisator (67.5\xb0)"
+  },
+  {
+    "mm_polarisator_8",
+    "mm_polarisator",
+    "polarisator (78.75\xb0)"
+  },
+  {
+    "mm_polarisator_9",
+    "mm_polarisator",
+    "polarisator (90\xb0)"
+  },
+  {
+    "mm_polarisator_10",
+    "mm_polarisator",
+    "polarisator (101.25\xb0)"
+  },
+  {
+    "mm_polarisator_11",
+    "mm_polarisator",
+    "polarisator (112.5\xb0)"
+  },
+  {
+    "mm_polarisator_12",
+    "mm_polarisator",
+    "polarisator (123.75\xb0)"
+  },
+  {
+    "mm_polarisator_13",
+    "mm_polarisator",
+    "polarisator (135\xb0)"
+  },
+  {
+    "mm_polarisator_14",
+    "mm_polarisator",
+    "polarisator (146.25\xb0)"
+  },
+  {
+    "mm_polarisator_15",
+    "mm_polarisator",
+    "polarisator (157.5\xb0)"
+  },
+  {
+    "mm_polarisator_16",
+    "mm_polarisator",
+    "polarisator (168.75\xb0)"
+  },
+  {
+    "mm_polarisator_cross_1",
+    "mm_polarisator_cross",
+    "two-way polarisator (0\xb0)"
+  },
+  {
+    "mm_polarisator_cross_2",
+    "mm_polarisator_cross",
+    "two-way polarisator (22.5\xb0)"
+  },
+  {
+    "mm_polarisator_cross_3",
+    "mm_polarisator_cross",
+    "two-way polarisator (45\xb0)"
+  },
+  {
+    "mm_polarisator_cross_4",
+    "mm_polarisator_cross",
+    "two-way polarisator (67.5\xb0)"
+  },
+  {
+    "mm_mirror_fixed_1",
+    "mm_mirror_fixed",
+    "fixed mirror (0\xb0)"
+  },
+  {
+    "mm_mirror_fixed_2",
+    "mm_mirror_fixed",
+    "fixed mirror (0\xb0)"
+  },
+  {
+    "mm_mirror_fixed_3",
+    "mm_mirror_fixed",
+    "fixed mirror (0\xb0)"
+  },
+  {
+    "mm_mirror_fixed_4",
+    "mm_mirror_fixed",
+    "fixed mirror (0\xb0)"
+  },
+  {
+    "mm_steel_lock",
+    "mm_steel_lock",
+    "steel lock"
+  },
+  {
+    "mm_key",
+    "mm_key",
+    "key (MM style)"
+  },
+  {
+    "mm_lightbulb",
+    "mm_lightbulb",
+    "light bulb (off)"
+  },
+  {
+    "mm_lightbulb.active",
+    "mm_lightbulb",
+    "ligh bulb (on)"
+  },
+  {
+    "mm_lightball",
+    "mm_lightball",
+    "bonus ball"
+  },
+  {
+    "mm_steel_block",
+    "mm_steel_block",
+    "steel block"
+  },
+  {
+    "mm_wooden_lock",
+    "mm_wooden_lock",
+    "wooden lock"
+  },
+  {
+    "mm_fuel_full",
+    "mm_fuel",
+    "extra energy ball (full)"
+  },
+  {
+    "mm_wooden_grid_fixed_1",
+    "mm_wooden_grid_fixed",
+    "fixed wooden polarisator (0\xb0)"
+  },
+  {
+    "mm_wooden_grid_fixed_2",
+    "mm_wooden_grid_fixed",
+    "fixed wooden polarisator (90\xb0)"
+  },
+  {
+    "mm_wooden_grid_fixed_3",
+    "mm_wooden_grid_fixed",
+    "fixed wooden polarisator (45\xb0)"
+  },
+  {
+    "mm_wooden_grid_fixed_4",
+    "mm_wooden_grid_fixed",
+    "fixed wooden polarisator (135\xb0)"
+  },
+  {
+    "mm_fuel_empty",
+    "mm_fuel",
+    "extra energy ball (empty)"
+  },
+  {
+    "df_mirror_1",
+    "df_mirror",
+    "mirror (DF style) (0\xb0)"
+  },
+  {
+    "df_mirror_2",
+    "df_mirror",
+    "mirror (DF style) (11.25\xb0)"
+  },
+  {
+    "df_mirror_3",
+    "df_mirror",
+    "mirror (DF style) (22.5\xb0)"
+  },
+  {
+    "df_mirror_4",
+    "df_mirror",
+    "mirror (DF style) (33.75\xb0)"
+  },
+  {
+    "df_mirror_5",
+    "df_mirror",
+    "mirror (DF style) (45\xb0)"
+  },
+  {
+    "df_mirror_6",
+    "df_mirror",
+    "mirror (DF style) (56.25\xb0)"
+  },
+  {
+    "df_mirror_7",
+    "df_mirror",
+    "mirror (DF style) (67.5\xb0)"
+  },
+  {
+    "df_mirror_8",
+    "df_mirror",
+    "mirror (DF style) (78.75\xb0)"
+  },
+  {
+    "df_mirror_9",
+    "df_mirror",
+    "mirror (DF style) (90\xb0)"
+  },
+  {
+    "df_mirror_10",
+    "df_mirror",
+    "mirror (DF style) (101.25\xb0)"
+  },
+  {
+    "df_mirror_11",
+    "df_mirror",
+    "mirror (DF style) (112.5\xb0)"
+  },
+  {
+    "df_mirror_12",
+    "df_mirror",
+    "mirror (DF style) (123.75\xb0)"
+  },
+  {
+    "df_mirror_13",
+    "df_mirror",
+    "mirror (DF style) (135\xb0)"
+  },
+  {
+    "df_mirror_14",
+    "df_mirror",
+    "mirror (DF style) (146.25\xb0)"
+  },
+  {
+    "df_mirror_15",
+    "df_mirror",
+    "mirror (DF style) (157.5\xb0)"
+  },
+  {
+    "df_mirror_16",
+    "df_mirror",
+    "mirror (DF style) (168.75\xb0)"
+  },
+  {
+    "df_wooden_grid_fixed_1",
+    "df_wooden_grid_fixed",
+    "fixed wooden polarisator (0\xb0)"
+  },
+  {
+    "df_wooden_grid_fixed_2",
+    "df_wooden_grid_fixed",
+    "fixed wooden polarisator (22.5\xb0)"
+  },
+  {
+    "df_wooden_grid_fixed_3",
+    "df_wooden_grid_fixed",
+    "fixed wooden polarisator (45\xb0)"
+  },
+  {
+    "df_wooden_grid_fixed_4",
+    "df_wooden_grid_fixed",
+    "fixed wooden polarisator (67.5\xb0)"
+  },
+  {
+    "df_wooden_grid_fixed_5",
+    "df_wooden_grid_fixed",
+    "fixed wooden polarisator (90\xb0)"
+  },
+  {
+    "df_wooden_grid_fixed_6",
+    "df_wooden_grid_fixed",
+    "fixed wooden polarisator (112.5\xb0)"
+  },
+  {
+    "df_wooden_grid_fixed_7",
+    "df_wooden_grid_fixed",
+    "fixed wooden polarisator (135\xb0)"
+  },
+  {
+    "df_wooden_grid_fixed_8",
+    "df_wooden_grid_fixed",
+    "fixed wooden polarisator (157.5\xb0)"
+  },
+  {
+    "df_steel_grid_fixed_1",
+    "df_steel_grid_fixed",
+    "fixed steel polarisator (0\xb0)"
+  },
+  {
+    "df_steel_grid_fixed_2",
+    "df_steel_grid_fixed",
+    "fixed steel polarisator (22.5\xb0)"
+  },
+  {
+    "df_steel_grid_fixed_3",
+    "df_steel_grid_fixed",
+    "fixed steel polarisator (45\xb0)"
+  },
+  {
+    "df_steel_grid_fixed_4",
+    "df_steel_grid_fixed",
+    "fixed steel polarisator (67.5\xb0)"
+  },
+  {
+    "df_steel_grid_fixed_5",
+    "df_steel_grid_fixed",
+    "fixed steel polarisator (90\xb0)"
+  },
+  {
+    "df_steel_grid_fixed_6",
+    "df_steel_grid_fixed",
+    "fixed steel polarisator (112.5\xb0)"
+  },
+  {
+    "df_steel_grid_fixed_7",
+    "df_steel_grid_fixed",
+    "fixed steel polarisator (135\xb0)"
+  },
+  {
+    "df_steel_grid_fixed_8",
+    "df_steel_grid_fixed",
+    "fixed steel polarisator (157.5\xb0)"
+  },
+  {
+    "df_wooden_wall_1",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_2",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_3",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_4",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_5",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_6",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_7",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_8",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_9",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_10",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_11",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_12",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_13",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_14",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_15",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_wooden_wall_16",
+    "df_wooden_wall",
+    "wooden wall (DF style)"
+  },
+  {
+    "df_steel_wall_1",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_2",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_3",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_4",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_5",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_6",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_7",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_8",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_9",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_10",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_11",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_12",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_13",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_14",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_15",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_steel_wall_16",
+    "df_steel_wall",
+    "steel wall (DF style)"
+  },
+  {
+    "df_empty_space",
+    "empty_space",
+    "empty_space"
+  },
+  {
+    "df_cell",
+    "df_cell",
+    "cell"
+  },
+  {
+    "df_mine",
+    "df_mine",
+    "mine"
+  },
+  {
+    "df_refractor",
+    "df_refractor",
+    "refractor"
+  },
+  {
+    "df_laser.right",
+    "df_laser",
+    "laser cannon (shooting right)"
+  },
+  {
+    "df_laser.up",
+    "df_laser",
+    "laser cannon (shooting up)"
+  },
+  {
+    "df_laser.left",
+    "df_laser",
+    "laser cannon (shooting left)"
+  },
+  {
+    "df_laser.down",
+    "df_laser",
+    "laser cannon (shooting down)"
+  },
+  {
+    "df_receiver.right",
+    "df_receiver",
+    "laser receiver (directed right)"
+  },
+  {
+    "df_receiver.up",
+    "df_receiver",
+    "laser receiver (directed up)"
+  },
+  {
+    "df_receiver.left",
+    "df_receiver",
+    "laser receiver (directed left)"
+  },
+  {
+    "df_receiver.down",
+    "df_receiver",
+    "laser receiver (directed down)"
+  },
+  {
+    "df_fibre_optic_red_1",
+    "df_fibre_optic",
+    "red fibre optic (part 1)"
+  },
+  {
+    "df_fibre_optic_red_2",
+    "df_fibre_optic",
+    "red fibre optic (part 2)"
+  },
+  {
+    "df_fibre_optic_yellow_1",
+    "df_fibre_optic",
+    "yellow fibre optic (part 1)"
+  },
+  {
+    "df_fibre_optic_yellow_2",
+    "df_fibre_optic",
+    "yellow fibre optic (part 2)"
+  },
+  {
+    "df_fibre_optic_green_1",
+    "df_fibre_optic",
+    "green fibre optic (part 1)"
+  },
+  {
+    "df_fibre_optic_green_2",
+    "df_fibre_optic",
+    "green fibre optic (part 2)"
+  },
+  {
+    "df_fibre_optic_blue_1",
+    "df_fibre_optic",
+    "blue fibre optic (part 1)"
+  },
+  {
+    "df_fibre_optic_blue_2",
+    "df_fibre_optic",
+    "blue fibre optic (part 2)"
+  },
+  {
+    "df_mirror_rotating_1",
+    "df_mirror_rotating",
+    "rotating mirror (0\xb0)"
+  },
+  {
+    "df_mirror_rotating_2",
+    "df_mirror_rotating",
+    "rotating mirror (11.25\xb0)"
+  },
+  {
+    "df_mirror_rotating_3",
+    "df_mirror_rotating",
+    "rotating mirror (22.5\xb0)"
+  },
+  {
+    "df_mirror_rotating_4",
+    "df_mirror_rotating",
+    "rotating mirror (33.75\xb0)"
+  },
+  {
+    "df_mirror_rotating_5",
+    "df_mirror_rotating",
+    "rotating mirror (45\xb0)"
+  },
+  {
+    "df_mirror_rotating_6",
+    "df_mirror_rotating",
+    "rotating mirror (56.25\xb0)"
+  },
+  {
+    "df_mirror_rotating_7",
+    "df_mirror_rotating",
+    "rotating mirror (67.5\xb0)"
+  },
+  {
+    "df_mirror_rotating_8",
+    "df_mirror_rotating",
+    "rotating mirror (78.75\xb0)"
+  },
+  {
+    "df_mirror_rotating_9",
+    "df_mirror_rotating",
+    "rotating mirror (90\xb0)"
+  },
+  {
+    "df_mirror_rotating_10",
+    "df_mirror_rotating",
+    "rotating mirror (101.25\xb0)"
+  },
+  {
+    "df_mirror_rotating_11",
+    "df_mirror_rotating",
+    "rotating mirror (112.5\xb0)"
+  },
+  {
+    "df_mirror_rotating_12",
+    "df_mirror_rotating",
+    "rotating mirror (123.75\xb0)"
+  },
+  {
+    "df_mirror_rotating_13",
+    "df_mirror_rotating",
+    "rotating mirror (135\xb0)"
+  },
+  {
+    "df_mirror_rotating_14",
+    "df_mirror_rotating",
+    "rotating mirror (146.25\xb0)"
+  },
+  {
+    "df_mirror_rotating_15",
+    "df_mirror_rotating",
+    "rotating mirror (157.5\xb0)"
+  },
+  {
+    "df_mirror_rotating_16",
+    "df_mirror_rotating",
+    "rotating mirror (168.75\xb0)"
+  },
+  {
+    "df_wooden_grid_rotating_1",
+    "df_wooden_grid_rotating",
+    "rotating wooden polarisator (0\xb0)"
+  },
+  {
+    "df_wooden_grid_rotating_2",
+    "df_wooden_grid_rotating",
+    "rotating wooden polarisator (22.5\xb0)"
+  },
+  {
+    "df_wooden_grid_rotating_3",
+    "df_wooden_grid_rotating",
+    "rotating wooden polarisator (45\xb0)"
+  },
+  {
+    "df_wooden_grid_rotating_4",
+    "df_wooden_grid_rotating",
+    "rotating wooden polarisator (67.5\xb0)"
+  },
+  {
+    "df_wooden_grid_rotating_5",
+    "df_wooden_grid_rotating",
+    "rotating wooden polarisator (90\xb0)"
+  },
+  {
+    "df_wooden_grid_rotating_6",
+    "df_wooden_grid_rotating",
+    "rotating wooden polarisator (112.5\xb0)"
+  },
+  {
+    "df_wooden_grid_rotating_7",
+    "df_wooden_grid_rotating",
+    "rotating wooden polarisator (135\xb0)"
+  },
+  {
+    "df_wooden_grid_rotating_8",
+    "df_wooden_grid_rotating",
+    "rotating wooden polarisator (157.5\xb0)"
+  },
+  {
+    "df_steel_grid_rotating_1",
+    "df_steel_grid_rotating",
+    "rotating steel polarisator (0\xb0)"
+  },
+  {
+    "df_steel_grid_rotating_2",
+    "df_steel_grid_rotating",
+    "rotating steel polarisator (22.5\xb0)"
+  },
+  {
+    "df_steel_grid_rotating_3",
+    "df_steel_grid_rotating",
+    "rotating steel polarisator (45\xb0)"
+  },
+  {
+    "df_steel_grid_rotating_4",
+    "df_steel_grid_rotating",
+    "rotating steel polarisator (67.5\xb0)"
+  },
+  {
+    "df_steel_grid_rotating_5",
+    "df_steel_grid_rotating",
+    "rotating steel polarisator (90\xb0)"
+  },
+  {
+    "df_steel_grid_rotating_6",
+    "df_steel_grid_rotating",
+    "rotating steel polarisator (112.5\xb0)"
+  },
+  {
+    "df_steel_grid_rotating_7",
+    "df_steel_grid_rotating",
+    "rotating steel polarisator (135\xb0)"
+  },
+  {
+    "df_steel_grid_rotating_8",
+    "df_steel_grid_rotating",
+    "rotating steel polarisator (157.5\xb0)"
+  },
+  {
+    "mm_beamer_red_1",
+    "mm_beamer",
+    "red beamer (0\xb0)"
+  },
+  {
+    "mm_beamer_red_2",
+    "mm_beamer",
+    "red beamer (22.5\xb0)"
+  },
+  {
+    "mm_beamer_red_3",
+    "mm_beamer",
+    "red beamer (45\xb0)"
+  },
+  {
+    "mm_beamer_red_4",
+    "mm_beamer",
+    "red beamer (67.5\xb0)"
+  },
+  {
+    "mm_beamer_red_5",
+    "mm_beamer",
+    "red beamer (90\xb0)"
+  },
+  {
+    "mm_beamer_red_6",
+    "mm_beamer",
+    "red beamer (112.5\xb0)"
+  },
+  {
+    "mm_beamer_red_7",
+    "mm_beamer",
+    "red beamer (135\xb0)"
+  },
+  {
+    "mm_beamer_red_8",
+    "mm_beamer",
+    "red beamer (157.5\xb0)"
+  },
+  {
+    "mm_beamer_red_9",
+    "mm_beamer",
+    "red beamer (180\xb0)"
+  },
+  {
+    "mm_beamer_red_10",
+    "mm_beamer",
+    "red beamer (202.5\xb0)"
+  },
+  {
+    "mm_beamer_red_11",
+    "mm_beamer",
+    "red beamer (225\xb0)"
+  },
+  {
+    "mm_beamer_red_12",
+    "mm_beamer",
+    "red beamer (247.5\xb0)"
+  },
+  {
+    "mm_beamer_red_13",
+    "mm_beamer",
+    "red beamer (270\xb0)"
+  },
+  {
+    "mm_beamer_red_14",
+    "mm_beamer",
+    "red beamer (292.5\xb0)"
+  },
+  {
+    "mm_beamer_red_15",
+    "mm_beamer",
+    "red beamer (315\xb0)"
+  },
+  {
+    "mm_beamer_red_16",
+    "mm_beamer",
+    "red beamer (337.5\xb0)"
+  },
+  {
+    "mm_beamer_yellow_1",
+    "mm_beamer",
+    "yellow beamer (0\xb0)"
+  },
+  {
+    "mm_beamer_yellow_2",
+    "mm_beamer",
+    "yellow beamer (22.5\xb0)"
+  },
+  {
+    "mm_beamer_yellow_3",
+    "mm_beamer",
+    "yellow beamer (45\xb0)"
+  },
+  {
+    "mm_beamer_yellow_4",
+    "mm_beamer",
+    "yellow beamer (67.5\xb0)"
+  },
+  {
+    "mm_beamer_yellow_5",
+    "mm_beamer",
+    "yellow beamer (90\xb0)"
+  },
+  {
+    "mm_beamer_yellow_6",
+    "mm_beamer",
+    "yellow beamer (112.5\xb0)"
+  },
+  {
+    "mm_beamer_yellow_7",
+    "mm_beamer",
+    "yellow beamer (135\xb0)"
+  },
+  {
+    "mm_beamer_yellow_8",
+    "mm_beamer",
+    "yellow beamer (157.5\xb0)"
+  },
+  {
+    "mm_beamer_yellow_9",
+    "mm_beamer",
+    "yellow beamer (180\xb0)"
+  },
+  {
+    "mm_beamer_yellow_10",
+    "mm_beamer",
+    "yellow beamer (202.5\xb0)"
+  },
+  {
+    "mm_beamer_yellow_11",
+    "mm_beamer",
+    "yellow beamer (225\xb0)"
+  },
+  {
+    "mm_beamer_yellow_12",
+    "mm_beamer",
+    "yellow beamer (247.5\xb0)"
+  },
+  {
+    "mm_beamer_yellow_13",
+    "mm_beamer",
+    "yellow beamer (270\xb0)"
+  },
+  {
+    "mm_beamer_yellow_14",
+    "mm_beamer",
+    "yellow beamer (292.5\xb0)"
+  },
+  {
+    "mm_beamer_yellow_15",
+    "mm_beamer",
+    "yellow beamer (315\xb0)"
+  },
+  {
+    "mm_beamer_yellow_16",
+    "mm_beamer",
+    "yellow beamer (337.5\xb0)"
+  },
+  {
+    "mm_beamer_green_1",
+    "mm_beamer",
+    "green beamer (0\xb0)"
+  },
+  {
+    "mm_beamer_green_2",
+    "mm_beamer",
+    "green beamer (22.5\xb0)"
+  },
+  {
+    "mm_beamer_green_3",
+    "mm_beamer",
+    "green beamer (45\xb0)"
+  },
+  {
+    "mm_beamer_green_4",
+    "mm_beamer",
+    "green beamer (67.5\xb0)"
+  },
+  {
+    "mm_beamer_green_5",
+    "mm_beamer",
+    "green beamer (90\xb0)"
+  },
+  {
+    "mm_beamer_green_6",
+    "mm_beamer",
+    "green beamer (112.5\xb0)"
+  },
+  {
+    "mm_beamer_green_7",
+    "mm_beamer",
+    "green beamer (135\xb0)"
+  },
+  {
+    "mm_beamer_green_8",
+    "mm_beamer",
+    "green beamer (157.5\xb0)"
+  },
+  {
+    "mm_beamer_green_9",
+    "mm_beamer",
+    "green beamer (180\xb0)"
+  },
+  {
+    "mm_beamer_green_10",
+    "mm_beamer",
+    "green beamer (202.5\xb0)"
+  },
+  {
+    "mm_beamer_green_11",
+    "mm_beamer",
+    "green beamer (225\xb0)"
+  },
+  {
+    "mm_beamer_green_12",
+    "mm_beamer",
+    "green beamer (247.5\xb0)"
+  },
+  {
+    "mm_beamer_green_13",
+    "mm_beamer",
+    "green beamer (270\xb0)"
+  },
+  {
+    "mm_beamer_green_14",
+    "mm_beamer",
+    "green beamer (292.5\xb0)"
+  },
+  {
+    "mm_beamer_green_15",
+    "mm_beamer",
+    "green beamer (315\xb0)"
+  },
+  {
+    "mm_beamer_green_16",
+    "mm_beamer",
+    "green beamer (337.5\xb0)"
+  },
+  {
+    "mm_beamer_blue_1",
+    "mm_beamer",
+    "blue beamer (0\xb0)"
+  },
+  {
+    "mm_beamer_blue_2",
+    "mm_beamer",
+    "blue beamer (22.5\xb0)"
+  },
+  {
+    "mm_beamer_blue_3",
+    "mm_beamer",
+    "blue beamer (45\xb0)"
+  },
+  {
+    "mm_beamer_blue_4",
+    "mm_beamer",
+    "blue beamer (67.5\xb0)"
+  },
+  {
+    "mm_beamer_blue_5",
+    "mm_beamer",
+    "blue beamer (90\xb0)"
+  },
+  {
+    "mm_beamer_blue_6",
+    "mm_beamer",
+    "blue beamer (112.5\xb0)"
+  },
+  {
+    "mm_beamer_blue_7",
+    "mm_beamer",
+    "blue beamer (135\xb0)"
+  },
+  {
+    "mm_beamer_blue_8",
+    "mm_beamer",
+    "blue beamer (157.5\xb0)"
+  },
+  {
+    "mm_beamer_blue_9",
+    "mm_beamer",
+    "blue beamer (180\xb0)"
+  },
+  {
+    "mm_beamer_blue_10",
+    "mm_beamer",
+    "blue beamer (202.5\xb0)"
+  },
+  {
+    "mm_beamer_blue_11",
+    "mm_beamer",
+    "blue beamer (225\xb0)"
+  },
+  {
+    "mm_beamer_blue_12",
+    "mm_beamer",
+    "blue beamer (247.5\xb0)"
+  },
+  {
+    "mm_beamer_blue_13",
+    "mm_beamer",
+    "blue beamer (270\xb0)"
+  },
+  {
+    "mm_beamer_blue_14",
+    "mm_beamer",
+    "blue beamer (292.5\xb0)"
+  },
+  {
+    "mm_beamer_blue_15",
+    "mm_beamer",
+    "blue beamer (315\xb0)"
+  },
+  {
+    "mm_beamer_blue_16",
+    "mm_beamer",
+    "blue beamer (337.5\xb0)"
+  },
+  {
+    "mm_mcduffin",
+    "mm_mcduffin",
+    "Gregor McDuffin"
+  },
+  {
+    "mm_pacman",
+    "mm_pacman",
+    "pac man (MM style)"
+  },
+  {
+    "mm_fuse",
+    "mm_fuse",
+    "fuse (off)",
+  },
+  {
+    "mm_steel_wall",
+    "mm_steel_wall",
+    "steel wall",
+  },
+  {
+    "mm_wooden_wall",
+    "mm_wooden_wall",
+    "wooden wall",
+  },
+  {
+    "mm_ice_wall",
+    "mm_ice_wall",
+    "ice wall",
+  },
+  {
+    "mm_amoeba_wall",
+    "mm_amoeba_wall",
+    "amoeba wall",
+  },
+  {
+    "df_laser",
+    "df_laser",
+    "laser cannon"
+  },
+  {
+    "df_receiver",
+    "df_receiver",
+    "laser receiver"
+  },
+  {
+    "df_steel_wall",
+    "df_steel_wall",
+    "steel wall (DF style)",
+  },
+  {
+    "df_wooden_wall",
+    "df_wooden_wall",
+    "wooden wall (DF style)",
+  },
 
   /* ----------------------------------------------------------------------- */
   /* "real" (and therefore drawable) runtime elements                        */
@@ -4881,6 +6616,31 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
     "emc_spring_bumper",
     "spring bumper",
   },
+  {
+    "mm_exit.opening",
+    "mm_exit",
+    "-"
+  },
+  {
+    "mm_exit.closing",
+    "mm_exit",
+    "-"
+  },
+  {
+    "mm_gray_ball.opening",
+    "mm_gray_ball",
+    "-",
+  },
+  {
+    "mm_ice_wall.shrinking",
+    "mm_ice_wall",
+    "-",
+  },
+  {
+    "mm_amoeba_wall.growing",
+    "mm_amoeba_wall",
+    "-",
+  },
 
   /* ----------------------------------------------------------------------- */
   /* "unreal" (and therefore not drawable) runtime elements                  */
@@ -5276,6 +7036,26 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
     "internal",
     "hide DX Boulderdash elements"
   },
+  {
+    "internal_cascade_mm",
+    "internal",
+    "show Mirror Magic elements"
+  },
+  {
+    "internal_cascade_mm.active",
+    "internal",
+    "hide Mirror Magic elements"
+  },
+  {
+    "internal_cascade_df",
+    "internal",
+    "show Deflektor elements"
+  },
+  {
+    "internal_cascade_df.active",
+    "internal",
+    "hide Deflektor elements"
+  },
   {
     "internal_cascade_chars",
     "internal",
index 6cb89a4ba427f7c7e618fb032faeb4252dc81d5b..badd84041b63b6a6d8fe82bfc61135592f185097 100644 (file)
 
 #define EL_FROM_LEVEL_TEMPLATE         863
 
-#define NUM_FILE_ELEMENTS              864
+#define EL_MM_START                    864
+#define EL_MM_EMPTY_SPACE              (EL_MM_START + 0)
+#define EL_MM_EMPTY                    EL_MM_EMPTY_SPACE
+#define EL_MM_MIRROR_START             (EL_MM_START + 1)
+#define EL_MM_MIRROR_1                 (EL_MM_MIRROR_START + 0)
+#define EL_MM_MIRROR_2                 (EL_MM_MIRROR_START + 1)
+#define EL_MM_MIRROR_3                 (EL_MM_MIRROR_START + 2)
+#define EL_MM_MIRROR_4                 (EL_MM_MIRROR_START + 3)
+#define EL_MM_MIRROR_5                 (EL_MM_MIRROR_START + 4)
+#define EL_MM_MIRROR_6                 (EL_MM_MIRROR_START + 5)
+#define EL_MM_MIRROR_7                 (EL_MM_MIRROR_START + 6)
+#define EL_MM_MIRROR_8                 (EL_MM_MIRROR_START + 7)
+#define EL_MM_MIRROR_9                 (EL_MM_MIRROR_START + 8)
+#define EL_MM_MIRROR_10                        (EL_MM_MIRROR_START + 9)
+#define EL_MM_MIRROR_11                        (EL_MM_MIRROR_START + 10)
+#define EL_MM_MIRROR_12                        (EL_MM_MIRROR_START + 11)
+#define EL_MM_MIRROR_13                        (EL_MM_MIRROR_START + 12)
+#define EL_MM_MIRROR_14                        (EL_MM_MIRROR_START + 13)
+#define EL_MM_MIRROR_15                        (EL_MM_MIRROR_START + 14)
+#define EL_MM_MIRROR_16                        (EL_MM_MIRROR_START + 15)
+#define EL_MM_MIRROR_END               EL_MM_MIRROR_15
+#define EL_MM_STEEL_GRID_FIXED_START   (EL_MM_START + 17)
+#define EL_MM_STEEL_GRID_FIXED_1       (EL_MM_STEEL_GRID_FIXED_START + 0)
+#define EL_MM_STEEL_GRID_FIXED_2       (EL_MM_STEEL_GRID_FIXED_START + 1)
+#define EL_MM_STEEL_GRID_FIXED_3       (EL_MM_STEEL_GRID_FIXED_START + 2)
+#define EL_MM_STEEL_GRID_FIXED_4       (EL_MM_STEEL_GRID_FIXED_START + 3)
+#define EL_MM_STEEL_GRID_FIXED_END     EL_MM_STEEL_GRID_FIXED_03
+#define EL_MM_MCDUFFIN_START           (EL_MM_START + 21)
+#define EL_MM_MCDUFFIN_RIGHT           (EL_MM_MCDUFFIN_START + 0)
+#define EL_MM_MCDUFFIN_UP              (EL_MM_MCDUFFIN_START + 1)
+#define EL_MM_MCDUFFIN_LEFT            (EL_MM_MCDUFFIN_START + 2)
+#define EL_MM_MCDUFFIN_DOWN            (EL_MM_MCDUFFIN_START + 3)
+#define EL_MM_MCDUFFIN_END             EL_MM_MCDUFFIN_DOWN
+#define EL_MM_EXIT_CLOSED              (EL_MM_START + 25)
+#define EL_MM_EXIT_OPENING_1           (EL_MM_START + 26)
+#define EL_MM_EXIT_OPENING_2           (EL_MM_START + 27)
+#define EL_MM_EXIT_OPEN                        (EL_MM_START + 28)
+#define EL_MM_KETTLE                   (EL_MM_START + 29)
+#define EL_MM_BOMB                     (EL_MM_START + 30)
+#define EL_MM_PRISM                    (EL_MM_START + 31)
+#define EL_MM_WALL_START               (EL_MM_START + 32)
+#define EL_MM_WALL_EMPTY               EL_MM_WALL_START
+#define EL_MM_WALL_00                  EL_MM_WALL_START
+#define EL_MM_STEEL_WALL_START         EL_MM_WALL_00
+#define EL_MM_WALL_15                  (EL_MM_START + 47)
+#define EL_MM_STEEL_WALL_END           EL_MM_WALL_15
+#define EL_MM_WALL_16                  (EL_MM_START + 48)
+#define EL_MM_WOODEN_WALL_START                EL_MM_WALL_16
+#define EL_MM_WALL_31                  (EL_MM_START + 63)
+#define EL_MM_WOODEN_WALL_END          EL_MM_WALL_31
+#define EL_MM_WALL_32                  (EL_MM_START + 64)
+#define EL_MM_ICE_WALL_START           EL_MM_WALL_32
+#define EL_MM_WALL_47                  (EL_MM_START + 79)
+#define EL_MM_ICE_WALL_END             EL_MM_WALL_47
+#define EL_MM_WALL_48                  (EL_MM_START + 80)
+#define EL_MM_AMOEBA_WALL_START                EL_MM_WALL_48
+#define EL_MM_WALL_63                  (EL_MM_START + 95)
+#define EL_MM_AMOEBA_WALL_END          EL_MM_WALL_63
+#define EL_MM_WALL_END                 EL_MM_WALL_63
+#define EL_MM_WOODEN_BLOCK             (EL_MM_START + 96)
+#define EL_MM_GRAY_BALL                        (EL_MM_START + 97)
+#define EL_MM_BEAMER_START             (EL_MM_START + 98)
+#define EL_MM_BEAMER_1                 (EL_MM_BEAMER_START + 0)
+#define EL_MM_BEAMER_2                 (EL_MM_BEAMER_START + 1)
+#define EL_MM_BEAMER_3                 (EL_MM_BEAMER_START + 2)
+#define EL_MM_BEAMER_4                 (EL_MM_BEAMER_START + 3)
+#define EL_MM_BEAMER_5                 (EL_MM_BEAMER_START + 4)
+#define EL_MM_BEAMER_6                 (EL_MM_BEAMER_START + 5)
+#define EL_MM_BEAMER_7                 (EL_MM_BEAMER_START + 6)
+#define EL_MM_BEAMER_8                 (EL_MM_BEAMER_START + 7)
+#define EL_MM_BEAMER_9                 (EL_MM_BEAMER_START + 8)
+#define EL_MM_BEAMER_10                        (EL_MM_BEAMER_START + 9)
+#define EL_MM_BEAMER_11                        (EL_MM_BEAMER_START + 10)
+#define EL_MM_BEAMER_12                        (EL_MM_BEAMER_START + 11)
+#define EL_MM_BEAMER_13                        (EL_MM_BEAMER_START + 12)
+#define EL_MM_BEAMER_14                        (EL_MM_BEAMER_START + 13)
+#define EL_MM_BEAMER_15                        (EL_MM_BEAMER_START + 14)
+#define EL_MM_BEAMER_16                        (EL_MM_BEAMER_START + 15)
+#define EL_MM_BEAMER_END               EL_MM_BEAMER_15
+#define EL_MM_FUSE_ACTIVE              (EL_MM_START + 114)
+#define EL_MM_PACMAN_START             (EL_MM_START + 115)
+#define EL_MM_PACMAN_RIGHT             (EL_MM_PACMAN_START + 0)
+#define EL_MM_PACMAN_UP                        (EL_MM_PACMAN_START + 1)
+#define EL_MM_PACMAN_LEFT              (EL_MM_PACMAN_START + 2)
+#define EL_MM_PACMAN_DOWN              (EL_MM_PACMAN_START + 3)
+#define EL_MM_PACMAN_END               EL_MM_PACMAN_DOWN
+#define EL_MM_POLARISATOR_START                (EL_MM_START + 119)
+#define EL_MM_POLARISATOR_1            (EL_MM_POLARISATOR_START + 0)
+#define EL_MM_POLARISATOR_2            (EL_MM_POLARISATOR_START + 1)
+#define EL_MM_POLARISATOR_3            (EL_MM_POLARISATOR_START + 2)
+#define EL_MM_POLARISATOR_4            (EL_MM_POLARISATOR_START + 3)
+#define EL_MM_POLARISATOR_5            (EL_MM_POLARISATOR_START + 4)
+#define EL_MM_POLARISATOR_6            (EL_MM_POLARISATOR_START + 5)
+#define EL_MM_POLARISATOR_7            (EL_MM_POLARISATOR_START + 6)
+#define EL_MM_POLARISATOR_8            (EL_MM_POLARISATOR_START + 7)
+#define EL_MM_POLARISATOR_9            (EL_MM_POLARISATOR_START + 8)
+#define EL_MM_POLARISATOR_10           (EL_MM_POLARISATOR_START + 9)
+#define EL_MM_POLARISATOR_11           (EL_MM_POLARISATOR_START + 10)
+#define EL_MM_POLARISATOR_12           (EL_MM_POLARISATOR_START + 11)
+#define EL_MM_POLARISATOR_13           (EL_MM_POLARISATOR_START + 12)
+#define EL_MM_POLARISATOR_14           (EL_MM_POLARISATOR_START + 13)
+#define EL_MM_POLARISATOR_15           (EL_MM_POLARISATOR_START + 14)
+#define EL_MM_POLARISATOR_16           (EL_MM_POLARISATOR_START + 15)
+#define EL_MM_POLARISATOR_END          EL_MM_POLARISATOR_15
+#define EL_MM_POLARISATOR_CROSS_START  (EL_MM_START + 135)
+#define EL_MM_POLARISATOR_CROSS_1      (EL_MM_POLARISATOR_CROSS_START + 0)
+#define EL_MM_POLARISATOR_CROSS_2      (EL_MM_POLARISATOR_CROSS_START + 1)
+#define EL_MM_POLARISATOR_CROSS_3      (EL_MM_POLARISATOR_CROSS_START + 2)
+#define EL_MM_POLARISATOR_CROSS_4      (EL_MM_POLARISATOR_CROSS_START + 3)
+#define EL_MM_POLARISATOR_CROSS_END    EL_MM_POLARISATOR_CROSS_03
+#define EL_MM_MIRROR_FIXED_START       (EL_MM_START + 139)
+#define EL_MM_MIRROR_FIXED_1           (EL_MM_MIRROR_FIXED_START + 0)
+#define EL_MM_MIRROR_FIXED_2           (EL_MM_MIRROR_FIXED_START + 1)
+#define EL_MM_MIRROR_FIXED_3           (EL_MM_MIRROR_FIXED_START + 2)
+#define EL_MM_MIRROR_FIXED_4           (EL_MM_MIRROR_FIXED_START + 3)
+#define EL_MM_MIRROR_FIXED_END         EL_MM_MIRROR_FIXED_03
+#define EL_MM_STEEL_LOCK               (EL_MM_START + 143)
+#define EL_MM_KEY                      (EL_MM_START + 144)
+#define EL_MM_LIGHTBULB                        (EL_MM_START + 145)
+#define EL_MM_LIGHTBULB_ACTIVE         (EL_MM_START + 146)
+#define EL_MM_LIGHTBALL                        (EL_MM_START + 147)
+#define EL_MM_STEEL_BLOCK              (EL_MM_START + 148)
+#define EL_MM_WOODEN_LOCK              (EL_MM_START + 149)
+#define EL_MM_FUEL_FULL                        (EL_MM_START + 150)
+#define EL_MM_WOODEN_GRID_FIXED_START  (EL_MM_START + 151)
+#define EL_MM_WOODEN_GRID_FIXED_1      (EL_MM_WOODEN_GRID_FIXED_START + 0)
+#define EL_MM_WOODEN_GRID_FIXED_2      (EL_MM_WOODEN_GRID_FIXED_START + 1)
+#define EL_MM_WOODEN_GRID_FIXED_3      (EL_MM_WOODEN_GRID_FIXED_START + 2)
+#define EL_MM_WOODEN_GRID_FIXED_4      (EL_MM_WOODEN_GRID_FIXED_START + 3)
+#define EL_MM_WOODEN_GRID_FIXED_END    EL_MM_WOODEN_GRID_FIXED_03
+#define EL_MM_FUEL_EMPTY               (EL_MM_START + 155)
+
+#define EL_DF_START                    (EL_MM_START + 156)
+#define EL_DF_START2                   (EL_DF_START - 240)
+
+#define EL_DF_MIRROR_START             EL_DF_START
+#define EL_DF_MIRROR_1                 (EL_DF_MIRROR_START + 0)
+#define EL_DF_MIRROR_2                 (EL_DF_MIRROR_START + 1)
+#define EL_DF_MIRROR_3                 (EL_DF_MIRROR_START + 2)
+#define EL_DF_MIRROR_4                 (EL_DF_MIRROR_START + 3)
+#define EL_DF_MIRROR_5                 (EL_DF_MIRROR_START + 4)
+#define EL_DF_MIRROR_6                 (EL_DF_MIRROR_START + 5)
+#define EL_DF_MIRROR_7                 (EL_DF_MIRROR_START + 6)
+#define EL_DF_MIRROR_8                 (EL_DF_MIRROR_START + 7)
+#define EL_DF_MIRROR_9                 (EL_DF_MIRROR_START + 8)
+#define EL_DF_MIRROR_10                        (EL_DF_MIRROR_START + 9)
+#define EL_DF_MIRROR_11                        (EL_DF_MIRROR_START + 10)
+#define EL_DF_MIRROR_12                        (EL_DF_MIRROR_START + 11)
+#define EL_DF_MIRROR_13                        (EL_DF_MIRROR_START + 12)
+#define EL_DF_MIRROR_14                        (EL_DF_MIRROR_START + 13)
+#define EL_DF_MIRROR_15                        (EL_DF_MIRROR_START + 14)
+#define EL_DF_MIRROR_16                        (EL_DF_MIRROR_START + 15)
+#define EL_DF_MIRROR_END               EL_DF_MIRROR_15
+
+#define EL_DF_WOODEN_GRID_FIXED_START  (EL_DF_START2 + 256)
+#define EL_DF_WOODEN_GRID_FIXED_1      (EL_DF_WOODEN_GRID_FIXED_START + 0)
+#define EL_DF_WOODEN_GRID_FIXED_2      (EL_DF_WOODEN_GRID_FIXED_START + 1)
+#define EL_DF_WOODEN_GRID_FIXED_3      (EL_DF_WOODEN_GRID_FIXED_START + 2)
+#define EL_DF_WOODEN_GRID_FIXED_4      (EL_DF_WOODEN_GRID_FIXED_START + 3)
+#define EL_DF_WOODEN_GRID_FIXED_5      (EL_DF_WOODEN_GRID_FIXED_START + 4)
+#define EL_DF_WOODEN_GRID_FIXED_6      (EL_DF_WOODEN_GRID_FIXED_START + 5)
+#define EL_DF_WOODEN_GRID_FIXED_7      (EL_DF_WOODEN_GRID_FIXED_START + 6)
+#define EL_DF_WOODEN_GRID_FIXED_8      (EL_DF_WOODEN_GRID_FIXED_START + 7)
+#define EL_DF_WOODEN_GRID_FIXED_END    EL_DF_WOODEN_GRID_FIXED_07
+
+#define EL_DF_STEEL_GRID_FIXED_START   (EL_DF_START2 + 264)
+#define EL_DF_STEEL_GRID_FIXED_1       (EL_DF_STEEL_GRID_FIXED_START + 0)
+#define EL_DF_STEEL_GRID_FIXED_2       (EL_DF_STEEL_GRID_FIXED_START + 1)
+#define EL_DF_STEEL_GRID_FIXED_3       (EL_DF_STEEL_GRID_FIXED_START + 2)
+#define EL_DF_STEEL_GRID_FIXED_4       (EL_DF_STEEL_GRID_FIXED_START + 3)
+#define EL_DF_STEEL_GRID_FIXED_5       (EL_DF_STEEL_GRID_FIXED_START + 4)
+#define EL_DF_STEEL_GRID_FIXED_6       (EL_DF_STEEL_GRID_FIXED_START + 5)
+#define EL_DF_STEEL_GRID_FIXED_7       (EL_DF_STEEL_GRID_FIXED_START + 6)
+#define EL_DF_STEEL_GRID_FIXED_8       (EL_DF_STEEL_GRID_FIXED_START + 7)
+#define EL_DF_STEEL_GRID_FIXED_END     EL_DF_STEEL_GRID_FIXED_07
+
+#define EL_DF_WOODEN_WALL_START                (EL_DF_START2 + 272)
+#define EL_DF_WOODEN_WALL_END          (EL_DF_WOODEN_WALL_START + 15)
+
+#define EL_DF_STEEL_WALL_START         (EL_DF_START2 + 288)
+#define EL_DF_STEEL_WALL_END           (EL_DF_STEEL_WALL_START + 15)
+
+#define EL_DF_WALL_START               EL_DF_WOODEN_WALL_START
+#define EL_DF_WALL_END                 EL_DF_STEEL_WALL_END
+
+#define EL_DF_EMPTY                    (EL_DF_START2 + 304)
+#define EL_DF_CELL                     (EL_DF_START2 + 305)
+#define EL_DF_MINE                     (EL_DF_START2 + 306)
+#define EL_DF_REFRACTOR                        (EL_DF_START2 + 307)
+
+#define EL_DF_LASER_START              (EL_DF_START2 + 308)
+#define EL_DF_LASER_RIGHT              (EL_DF_LASER_START + 0)
+#define EL_DF_LASER_UP                 (EL_DF_LASER_START + 1)
+#define EL_DF_LASER_LEFT               (EL_DF_LASER_START + 2)
+#define EL_DF_LASER_DOWN               (EL_DF_LASER_START + 3)
+#define EL_DF_LASER_END                        EL_DF_LASER_DOWN
+
+#define EL_DF_RECEIVER_START           (EL_DF_START2 + 312)
+#define EL_DF_RECEIVER_RIGHT           (EL_DF_RECEIVER_START + 0)
+#define EL_DF_RECEIVER_UP              (EL_DF_RECEIVER_START + 1)
+#define EL_DF_RECEIVER_LEFT            (EL_DF_RECEIVER_START + 2)
+#define EL_DF_RECEIVER_DOWN            (EL_DF_RECEIVER_START + 3)
+#define EL_DF_RECEIVER_END             EL_DF_RECEIVER_DOWN
+
+#define EL_DF_FIBRE_OPTIC_START                (EL_DF_START2 + 316)
+#define EL_DF_FIBRE_OPTIC_RED_1                (EL_DF_FIBRE_OPTIC_START + 0)
+#define EL_DF_FIBRE_OPTIC_RED_2                (EL_DF_FIBRE_OPTIC_START + 1)
+#define EL_DF_FIBRE_OPTIC_YELLOW_1     (EL_DF_FIBRE_OPTIC_START + 2)
+#define EL_DF_FIBRE_OPTIC_YELLOW_2     (EL_DF_FIBRE_OPTIC_START + 3)
+#define EL_DF_FIBRE_OPTIC_GREEN_1      (EL_DF_FIBRE_OPTIC_START + 4)
+#define EL_DF_FIBRE_OPTIC_GREEN_2      (EL_DF_FIBRE_OPTIC_START + 5)
+#define EL_DF_FIBRE_OPTIC_BLUE_1       (EL_DF_FIBRE_OPTIC_START + 6)
+#define EL_DF_FIBRE_OPTIC_BLUE_2       (EL_DF_FIBRE_OPTIC_START + 7)
+#define EL_DF_FIBRE_OPTIC_END          EL_DF_FIBRE_OPTIC_07
+
+#define EL_DF_MIRROR_ROTATING_START    (EL_DF_START2 + 324)
+#define EL_DF_MIRROR_ROTATING_1                (EL_DF_MIRROR_ROTATING_START + 0)
+#define EL_DF_MIRROR_ROTATING_2                (EL_DF_MIRROR_ROTATING_START + 1)
+#define EL_DF_MIRROR_ROTATING_3                (EL_DF_MIRROR_ROTATING_START + 2)
+#define EL_DF_MIRROR_ROTATING_4                (EL_DF_MIRROR_ROTATING_START + 3)
+#define EL_DF_MIRROR_ROTATING_5                (EL_DF_MIRROR_ROTATING_START + 4)
+#define EL_DF_MIRROR_ROTATING_6                (EL_DF_MIRROR_ROTATING_START + 5)
+#define EL_DF_MIRROR_ROTATING_7                (EL_DF_MIRROR_ROTATING_START + 6)
+#define EL_DF_MIRROR_ROTATING_8                (EL_DF_MIRROR_ROTATING_START + 7)
+#define EL_DF_MIRROR_ROTATING_9                (EL_DF_MIRROR_ROTATING_START + 8)
+#define EL_DF_MIRROR_ROTATING_10       (EL_DF_MIRROR_ROTATING_START + 9)
+#define EL_DF_MIRROR_ROTATING_11       (EL_DF_MIRROR_ROTATING_START + 10)
+#define EL_DF_MIRROR_ROTATING_12       (EL_DF_MIRROR_ROTATING_START + 11)
+#define EL_DF_MIRROR_ROTATING_13       (EL_DF_MIRROR_ROTATING_START + 12)
+#define EL_DF_MIRROR_ROTATING_14       (EL_DF_MIRROR_ROTATING_START + 13)
+#define EL_DF_MIRROR_ROTATING_15       (EL_DF_MIRROR_ROTATING_START + 14)
+#define EL_DF_MIRROR_ROTATING_16       (EL_DF_MIRROR_ROTATING_START + 15)
+#define EL_DF_MIRROR_ROTATING_END      EL_DF_MIRROR_ROTATING_15
+
+#define EL_DF_WOODEN_GRID_ROTATING_START (EL_DF_START2 + 340)
+#define EL_DF_WOODEN_GRID_ROTATING_1   (EL_DF_WOODEN_GRID_ROTATING_START + 0)
+#define EL_DF_WOODEN_GRID_ROTATING_2   (EL_DF_WOODEN_GRID_ROTATING_START + 1)
+#define EL_DF_WOODEN_GRID_ROTATING_3   (EL_DF_WOODEN_GRID_ROTATING_START + 2)
+#define EL_DF_WOODEN_GRID_ROTATING_4   (EL_DF_WOODEN_GRID_ROTATING_START + 3)
+#define EL_DF_WOODEN_GRID_ROTATING_5   (EL_DF_WOODEN_GRID_ROTATING_START + 4)
+#define EL_DF_WOODEN_GRID_ROTATING_6   (EL_DF_WOODEN_GRID_ROTATING_START + 5)
+#define EL_DF_WOODEN_GRID_ROTATING_7   (EL_DF_WOODEN_GRID_ROTATING_START + 6)
+#define EL_DF_WOODEN_GRID_ROTATING_8   (EL_DF_WOODEN_GRID_ROTATING_START + 7)
+#define EL_DF_WOODEN_GRID_ROTATING_END EL_DF_WOODEN_GRID_ROTATING_07
+
+#define EL_DF_STEEL_GRID_ROTATING_START        (EL_DF_START2 + 348)
+#define EL_DF_STEEL_GRID_ROTATING_1    (EL_DF_STEEL_GRID_ROTATING_START + 0)
+#define EL_DF_STEEL_GRID_ROTATING_2    (EL_DF_STEEL_GRID_ROTATING_START + 1)
+#define EL_DF_STEEL_GRID_ROTATING_3    (EL_DF_STEEL_GRID_ROTATING_START + 2)
+#define EL_DF_STEEL_GRID_ROTATING_4    (EL_DF_STEEL_GRID_ROTATING_START + 3)
+#define EL_DF_STEEL_GRID_ROTATING_5    (EL_DF_STEEL_GRID_ROTATING_START + 4)
+#define EL_DF_STEEL_GRID_ROTATING_6    (EL_DF_STEEL_GRID_ROTATING_START + 5)
+#define EL_DF_STEEL_GRID_ROTATING_7    (EL_DF_STEEL_GRID_ROTATING_START + 6)
+#define EL_DF_STEEL_GRID_ROTATING_8    (EL_DF_STEEL_GRID_ROTATING_START + 7)
+#define EL_DF_STEEL_GRID_ROTATING_END  EL_DF_STEEL_GRID_ROTATING_07
+
+#define EL_DF_END                      (EL_DF_START2 + 355)
+
+#define EL_MM_BEAMER_RED_START         (EL_DF_START2 + 356)
+#define EL_MM_BEAMER_RED_1             (EL_MM_BEAMER_RED_START + 0)
+#define EL_MM_BEAMER_RED_2             (EL_MM_BEAMER_RED_START + 1)
+#define EL_MM_BEAMER_RED_3             (EL_MM_BEAMER_RED_START + 2)
+#define EL_MM_BEAMER_RED_4             (EL_MM_BEAMER_RED_START + 3)
+#define EL_MM_BEAMER_RED_5             (EL_MM_BEAMER_RED_START + 4)
+#define EL_MM_BEAMER_RED_6             (EL_MM_BEAMER_RED_START + 5)
+#define EL_MM_BEAMER_RED_7             (EL_MM_BEAMER_RED_START + 6)
+#define EL_MM_BEAMER_RED_8             (EL_MM_BEAMER_RED_START + 7)
+#define EL_MM_BEAMER_RED_9             (EL_MM_BEAMER_RED_START + 8)
+#define EL_MM_BEAMER_RED_10            (EL_MM_BEAMER_RED_START + 9)
+#define EL_MM_BEAMER_RED_11            (EL_MM_BEAMER_RED_START + 10)
+#define EL_MM_BEAMER_RED_12            (EL_MM_BEAMER_RED_START + 11)
+#define EL_MM_BEAMER_RED_13            (EL_MM_BEAMER_RED_START + 12)
+#define EL_MM_BEAMER_RED_14            (EL_MM_BEAMER_RED_START + 13)
+#define EL_MM_BEAMER_RED_15            (EL_MM_BEAMER_RED_START + 14)
+#define EL_MM_BEAMER_RED_16            (EL_MM_BEAMER_RED_START + 15)
+#define EL_MM_BEAMER_RED_END           EL_MM_BEAMER_RED_16
+#define EL_MM_BEAMER_YELLOW_START      (EL_DF_START2 + 372)
+#define EL_MM_BEAMER_YELLOW_1          (EL_MM_BEAMER_YELLOW_START + 0)
+#define EL_MM_BEAMER_YELLOW_2          (EL_MM_BEAMER_YELLOW_START + 1)
+#define EL_MM_BEAMER_YELLOW_3          (EL_MM_BEAMER_YELLOW_START + 2)
+#define EL_MM_BEAMER_YELLOW_4          (EL_MM_BEAMER_YELLOW_START + 3)
+#define EL_MM_BEAMER_YELLOW_5          (EL_MM_BEAMER_YELLOW_START + 4)
+#define EL_MM_BEAMER_YELLOW_6          (EL_MM_BEAMER_YELLOW_START + 5)
+#define EL_MM_BEAMER_YELLOW_7          (EL_MM_BEAMER_YELLOW_START + 6)
+#define EL_MM_BEAMER_YELLOW_8          (EL_MM_BEAMER_YELLOW_START + 7)
+#define EL_MM_BEAMER_YELLOW_9          (EL_MM_BEAMER_YELLOW_START + 8)
+#define EL_MM_BEAMER_YELLOW_10         (EL_MM_BEAMER_YELLOW_START + 9)
+#define EL_MM_BEAMER_YELLOW_11         (EL_MM_BEAMER_YELLOW_START + 10)
+#define EL_MM_BEAMER_YELLOW_12         (EL_MM_BEAMER_YELLOW_START + 11)
+#define EL_MM_BEAMER_YELLOW_13         (EL_MM_BEAMER_YELLOW_START + 12)
+#define EL_MM_BEAMER_YELLOW_14         (EL_MM_BEAMER_YELLOW_START + 13)
+#define EL_MM_BEAMER_YELLOW_15         (EL_MM_BEAMER_YELLOW_START + 14)
+#define EL_MM_BEAMER_YELLOW_16         (EL_MM_BEAMER_YELLOW_START + 15)
+#define EL_MM_BEAMER_YELLOW_END                EL_MM_BEAMER_YELLOW_16
+#define EL_MM_BEAMER_GREEN_START       (EL_DF_START2 + 388)
+#define EL_MM_BEAMER_GREEN_1           (EL_MM_BEAMER_GREEN_START + 0)
+#define EL_MM_BEAMER_GREEN_2           (EL_MM_BEAMER_GREEN_START + 1)
+#define EL_MM_BEAMER_GREEN_3           (EL_MM_BEAMER_GREEN_START + 2)
+#define EL_MM_BEAMER_GREEN_4           (EL_MM_BEAMER_GREEN_START + 3)
+#define EL_MM_BEAMER_GREEN_5           (EL_MM_BEAMER_GREEN_START + 4)
+#define EL_MM_BEAMER_GREEN_6           (EL_MM_BEAMER_GREEN_START + 5)
+#define EL_MM_BEAMER_GREEN_7           (EL_MM_BEAMER_GREEN_START + 6)
+#define EL_MM_BEAMER_GREEN_8           (EL_MM_BEAMER_GREEN_START + 7)
+#define EL_MM_BEAMER_GREEN_9           (EL_MM_BEAMER_GREEN_START + 8)
+#define EL_MM_BEAMER_GREEN_10          (EL_MM_BEAMER_GREEN_START + 9)
+#define EL_MM_BEAMER_GREEN_11          (EL_MM_BEAMER_GREEN_START + 10)
+#define EL_MM_BEAMER_GREEN_12          (EL_MM_BEAMER_GREEN_START + 11)
+#define EL_MM_BEAMER_GREEN_13          (EL_MM_BEAMER_GREEN_START + 12)
+#define EL_MM_BEAMER_GREEN_14          (EL_MM_BEAMER_GREEN_START + 13)
+#define EL_MM_BEAMER_GREEN_15          (EL_MM_BEAMER_GREEN_START + 14)
+#define EL_MM_BEAMER_GREEN_16          (EL_MM_BEAMER_GREEN_START + 15)
+#define EL_MM_BEAMER_GREEN_END         EL_MM_BEAMER_GREEN_16
+#define EL_MM_BEAMER_BLUE_START                (EL_DF_START2 + 404)
+#define EL_MM_BEAMER_BLUE_1            (EL_MM_BEAMER_BLUE_START + 0)
+#define EL_MM_BEAMER_BLUE_2            (EL_MM_BEAMER_BLUE_START + 1)
+#define EL_MM_BEAMER_BLUE_3            (EL_MM_BEAMER_BLUE_START + 2)
+#define EL_MM_BEAMER_BLUE_4            (EL_MM_BEAMER_BLUE_START + 3)
+#define EL_MM_BEAMER_BLUE_5            (EL_MM_BEAMER_BLUE_START + 4)
+#define EL_MM_BEAMER_BLUE_6            (EL_MM_BEAMER_BLUE_START + 5)
+#define EL_MM_BEAMER_BLUE_7            (EL_MM_BEAMER_BLUE_START + 6)
+#define EL_MM_BEAMER_BLUE_8            (EL_MM_BEAMER_BLUE_START + 7)
+#define EL_MM_BEAMER_BLUE_9            (EL_MM_BEAMER_BLUE_START + 8)
+#define EL_MM_BEAMER_BLUE_10           (EL_MM_BEAMER_BLUE_START + 9)
+#define EL_MM_BEAMER_BLUE_11           (EL_MM_BEAMER_BLUE_START + 10)
+#define EL_MM_BEAMER_BLUE_12           (EL_MM_BEAMER_BLUE_START + 11)
+#define EL_MM_BEAMER_BLUE_13           (EL_MM_BEAMER_BLUE_START + 12)
+#define EL_MM_BEAMER_BLUE_14           (EL_MM_BEAMER_BLUE_START + 13)
+#define EL_MM_BEAMER_BLUE_15           (EL_MM_BEAMER_BLUE_START + 14)
+#define EL_MM_BEAMER_BLUE_16           (EL_MM_BEAMER_BLUE_START + 15)
+#define EL_MM_BEAMER_BLUE_END          EL_MM_BEAMER_BLUE_16
+
+#define EL_MM_END                      (EL_DF_START2 + 419)
+
+#define EL_MM_MCDUFFIN                 1200
+#define EL_MM_PACMAN                   1201
+#define EL_MM_FUSE                     1202
+#define EL_MM_STEEL_WALL               1203
+#define EL_MM_WOODEN_WALL              1204
+#define EL_MM_ICE_WALL                 1205
+#define EL_MM_AMOEBA_WALL              1206
+#define EL_DF_LASER                    1207
+#define EL_DF_RECEIVER                 1208
+#define EL_DF_STEEL_WALL               1209
+#define EL_DF_WOODEN_WALL              1210
+
+#define NUM_FILE_ELEMENTS              1211
 
 
 /* "real" (and therefore drawable) runtime elements */
 #define EL_DC_GATE_WHITE_GRAY_ACTIVE   (EL_FIRST_RUNTIME_REAL + 69)
 #define EL_EMC_DRIPPER_ACTIVE          (EL_FIRST_RUNTIME_REAL + 70)
 #define EL_EMC_SPRING_BUMPER_ACTIVE    (EL_FIRST_RUNTIME_REAL + 71)
+#define EL_MM_EXIT_OPENING             (EL_FIRST_RUNTIME_REAL + 72)
+#define EL_MM_EXIT_CLOSING             (EL_FIRST_RUNTIME_REAL + 73)
+#define EL_MM_GRAY_BALL_OPENING                (EL_FIRST_RUNTIME_REAL + 74)
+#define EL_MM_ICE_WALL_SHRINKING       (EL_FIRST_RUNTIME_REAL + 75)
+#define EL_MM_AMOEBA_WALL_GROWING      (EL_FIRST_RUNTIME_REAL + 76)
 
-#define NUM_DRAWABLE_ELEMENTS          (EL_FIRST_RUNTIME_REAL + 72)
+#define NUM_DRAWABLE_ELEMENTS          (EL_FIRST_RUNTIME_REAL + 77)
 
 /* "unreal" (and therefore not drawable) runtime elements */
 #define EL_FIRST_RUNTIME_UNREAL                (NUM_DRAWABLE_ELEMENTS)
 #define EL_INTERNAL_CASCADE_DC_ACTIVE          (EL_FIRST_INTERNAL + 17)
 #define EL_INTERNAL_CASCADE_DX                 (EL_FIRST_INTERNAL + 18)
 #define EL_INTERNAL_CASCADE_DX_ACTIVE          (EL_FIRST_INTERNAL + 19)
-#define EL_INTERNAL_CASCADE_CHARS              (EL_FIRST_INTERNAL + 20)
-#define EL_INTERNAL_CASCADE_CHARS_ACTIVE       (EL_FIRST_INTERNAL + 21)
-#define EL_INTERNAL_CASCADE_STEEL_CHARS                (EL_FIRST_INTERNAL + 22)
-#define EL_INTERNAL_CASCADE_STEEL_CHARS_ACTIVE (EL_FIRST_INTERNAL + 23)
-#define EL_INTERNAL_CASCADE_CE                 (EL_FIRST_INTERNAL + 24)
-#define EL_INTERNAL_CASCADE_CE_ACTIVE          (EL_FIRST_INTERNAL + 25)
-#define EL_INTERNAL_CASCADE_GE                 (EL_FIRST_INTERNAL + 26)
-#define EL_INTERNAL_CASCADE_GE_ACTIVE          (EL_FIRST_INTERNAL + 27)
-#define EL_INTERNAL_CASCADE_REF                        (EL_FIRST_INTERNAL + 28)
-#define EL_INTERNAL_CASCADE_REF_ACTIVE         (EL_FIRST_INTERNAL + 29)
-#define EL_INTERNAL_CASCADE_USER               (EL_FIRST_INTERNAL + 30)
-#define EL_INTERNAL_CASCADE_USER_ACTIVE                (EL_FIRST_INTERNAL + 31)
-#define EL_INTERNAL_CASCADE_DYNAMIC            (EL_FIRST_INTERNAL + 32)
-#define EL_INTERNAL_CASCADE_DYNAMIC_ACTIVE     (EL_FIRST_INTERNAL + 33)
+#define EL_INTERNAL_CASCADE_MM                 (EL_FIRST_INTERNAL + 20)
+#define EL_INTERNAL_CASCADE_MM_ACTIVE          (EL_FIRST_INTERNAL + 21)
+#define EL_INTERNAL_CASCADE_DF                 (EL_FIRST_INTERNAL + 22)
+#define EL_INTERNAL_CASCADE_DF_ACTIVE          (EL_FIRST_INTERNAL + 23)
+#define EL_INTERNAL_CASCADE_CHARS              (EL_FIRST_INTERNAL + 24)
+#define EL_INTERNAL_CASCADE_CHARS_ACTIVE       (EL_FIRST_INTERNAL + 25)
+#define EL_INTERNAL_CASCADE_STEEL_CHARS                (EL_FIRST_INTERNAL + 26)
+#define EL_INTERNAL_CASCADE_STEEL_CHARS_ACTIVE (EL_FIRST_INTERNAL + 27)
+#define EL_INTERNAL_CASCADE_CE                 (EL_FIRST_INTERNAL + 28)
+#define EL_INTERNAL_CASCADE_CE_ACTIVE          (EL_FIRST_INTERNAL + 29)
+#define EL_INTERNAL_CASCADE_GE                 (EL_FIRST_INTERNAL + 30)
+#define EL_INTERNAL_CASCADE_GE_ACTIVE          (EL_FIRST_INTERNAL + 31)
+#define EL_INTERNAL_CASCADE_REF                        (EL_FIRST_INTERNAL + 32)
+#define EL_INTERNAL_CASCADE_REF_ACTIVE         (EL_FIRST_INTERNAL + 33)
+#define EL_INTERNAL_CASCADE_USER               (EL_FIRST_INTERNAL + 34)
+#define EL_INTERNAL_CASCADE_USER_ACTIVE                (EL_FIRST_INTERNAL + 35)
+#define EL_INTERNAL_CASCADE_DYNAMIC            (EL_FIRST_INTERNAL + 36)
+#define EL_INTERNAL_CASCADE_DYNAMIC_ACTIVE     (EL_FIRST_INTERNAL + 37)
 
 #define EL_INTERNAL_CLIPBOARD_START    (EL_FIRST_INTERNAL + 0)
 #define EL_INTERNAL_CLIPBOARD_END      (EL_FIRST_INTERNAL + 2)
 #define EL_INTERNAL_START              (EL_FIRST_INTERNAL + 0)
-#define EL_INTERNAL_END                        (EL_FIRST_INTERNAL + 33)
+#define EL_INTERNAL_END                        (EL_FIRST_INTERNAL + 37)
 
-#define MAX_NUM_ELEMENTS               (EL_FIRST_INTERNAL + 34)
+#define MAX_NUM_ELEMENTS               (EL_FIRST_INTERNAL + 38)
 
 
 /* values for graphics/sounds action types */