fixed not closing doors simultaneously after solving a level
[rocksndiamonds.git] / src / conf_gfx.c
index 06ca3e069203b1fa2ec5823485c4fd6924a40d92..1fa9a01ec4fcd24eda37ab34e189d15dbb808b82 100644 (file)
@@ -13,9 +13,9 @@
 #include "main.h"
 
 
-/* List values that are not defined in the configuration file are set to
-   reliable default values. If that value is GFX_ARG_UNDEFINED, it will
-   be dynamically determined, using some of the other list values. */
+// List values that are not defined in the configuration file are set to
+// reliable default values. If that value is GFX_ARG_UNDEFINED, it will
+// be dynamically determined, using some of the other list values.
 
 struct ConfigTypeInfo image_config_suffix[] =
 {
@@ -61,7 +61,9 @@ struct ConfigTypeInfo image_config_suffix[] =
   { ".post_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".post_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".init_event",                     ARG_UNDEFINED,  TYPE_STRING     },
+  { ".init_event_action",              ARG_UNDEFINED,  TYPE_STRING     },
   { ".anim_event",                     ARG_UNDEFINED,  TYPE_STRING     },
+  { ".anim_event_action",              ARG_UNDEFINED,  TYPE_STRING     },
   { ".name",                           ARG_UNDEFINED,  TYPE_STRING     },
   { ".scale_up_factor",                        ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".tile_size",                      ARG_UNDEFINED,  TYPE_INTEGER    },
@@ -89,7 +91,7 @@ struct ConfigInfo image_config[] =
   // image definitions for game elements (for in-game and editor graphics)
   // ==========================================================================
 
-  /* images for Boulder Dash style elements and actions */
+  // images for Boulder Dash style elements and actions
 
   { "bd_wall",                                 "RocksDC.png"           },
   { "bd_wall.xpos",                            "12"                    },
@@ -291,7 +293,7 @@ struct ConfigInfo image_config[] =
   { "bd_firefly.down.EDITOR.xpos",             "15"                    },
   { "bd_firefly.down.EDITOR.ypos",             "12"                    },
 
-  /* images for Supaplex style elements and actions */
+  // images for Supaplex style elements and actions
 
   { "[sp_default].exploding",                  "RocksSP.png"           },
   { "[sp_default].exploding.xpos",             "8"                     },
@@ -829,7 +831,7 @@ struct ConfigInfo image_config[] =
   { "sp_hardware_base_6.ypos",                 "4"                     },
   { "sp_hardware_base_6.frames",               "1"                     },
 
-  /* images for Sokoban style elements and actions */
+  // images for Sokoban style elements and actions
 
   { "sokoban_object",                          "RocksElements.png"     },
   { "sokoban_object.xpos",                     "9"                     },
@@ -857,7 +859,7 @@ struct ConfigInfo image_config[] =
   { "sokoban_field_player.EDITOR.xpos",                "1"                     },
   { "sokoban_field_player.EDITOR.ypos",                "15"                    },
 
-  /* images for Emerald Mine style elements and actions */
+  // images for Emerald Mine style elements and actions
 
   { "empty_space",                             "RocksSP.png"           },
   { "empty_space.xpos",                                "0"                     },
@@ -1722,7 +1724,7 @@ struct ConfigInfo image_config[] =
   { "em_steel_exit.closing.delay",             "6"                     },
   { "em_steel_exit.closing.anim_mode",         "linear"                },
 
-  /* images for Emerald Mine Club style elements and actions */
+  // images for Emerald Mine Club style elements and actions
 
   { "balloon",                                 "RocksDC.png"           },
   { "balloon.xpos",                            "12"                    },
@@ -1820,7 +1822,7 @@ struct ConfigInfo image_config[] =
   { "emc_wall_8.ypos",                         "7"                     },
   { "emc_wall_8.frames",                       "1"                     },
 
-  /* images for Diamond Caves style elements and actions */
+  // images for Diamond Caves style elements and actions
 
   { "invisible_steelwall",                     "RocksSP.png"           },
   { "invisible_steelwall.xpos",                        "3"                     },
@@ -2459,7 +2461,7 @@ struct ConfigInfo image_config[] =
   { "dc_steelwall_2_single.ypos",              "0"                     },
   { "dc_steelwall_2_single.frames",            "1"                     },
 
-  /* images for DX Boulderdash style elements and actions */
+  // images for DX Boulderdash style elements and actions
 
   { "tube_right_down",                         "RocksDC.png"           },
   { "tube_right_down.xpos",                    "9"                     },
@@ -2535,7 +2537,7 @@ struct ConfigInfo image_config[] =
   { "dx_supabomb.ypos",                                "9"                     },
   { "dx_supabomb.frames",                      "1"                     },
 
-  /* images for Rocks'n'Diamonds style elements and actions */
+  // images for Rocks'n'Diamonds style elements and actions
 
   { "key_1",                                   "RocksElements.png"     },
   { "key_1.xpos",                              "4"                     },
@@ -3247,7 +3249,7 @@ struct ConfigInfo image_config[] =
   { "stoneblock.ypos",                         "1"                     },
   { "stoneblock.frames",                       "1"                     },
 
-  /* images for other elements and actions */
+  // images for other elements and actions
 
   { "player_1",                                        "RocksHeroes.png"       },
   { "player_1.xpos",                           "0"                     },
@@ -4392,7 +4394,7 @@ struct ConfigInfo image_config[] =
   { "mm_exit.opening.xpos",                    "8"                     },
   { "mm_exit.opening.ypos",                    "1"                     },
   { "mm_exit.opening.frames",                  "4"                     },
-  { "mm_exit.opening.delay",                   "8"                     },
+  { "mm_exit.opening.delay",                   "6"                     },
   { "mm_exit.opening.anim_mode",               "linear"                },
   { "mm_exit_open",                            "RocksMM.png"           },
   { "mm_exit_open.xpos",                       "11"                    },
@@ -4402,7 +4404,7 @@ struct ConfigInfo image_config[] =
   { "mm_exit.closing.xpos",                    "8"                     },
   { "mm_exit.closing.ypos",                    "1"                     },
   { "mm_exit.closing.frames",                  "4"                     },
-  { "mm_exit.closing.delay",                   "8"                     },
+  { "mm_exit.closing.delay",                   "6"                     },
   { "mm_exit.closing.anim_mode",               "linear,reverse"        },
 
   { "mm_mirror_1",                             "RocksMM.png"           },
@@ -4521,417 +4523,417 @@ struct ConfigInfo image_config[] =
   { "mm_wooden_grid_fixed_4.ypos",             "6"                     },
   { "mm_wooden_grid_fixed_4.frames",           "1"                     },
 
-  { "mm_polarisator_1",                                "RocksMM.png"           },
-  { "mm_polarisator_1.xpos",                   "0"                     },
-  { "mm_polarisator_1.ypos",                   "5"                     },
-  { "mm_polarisator_1.frames",                 "1"                     },
-  { "mm_polarisator_2",                                "RocksMM.png"           },
-  { "mm_polarisator_2.xpos",                   "1"                     },
-  { "mm_polarisator_2.ypos",                   "5"                     },
-  { "mm_polarisator_2.frames",                 "1"                     },
-  { "mm_polarisator_3",                                "RocksMM.png"           },
-  { "mm_polarisator_3.xpos",                   "2"                     },
-  { "mm_polarisator_3.ypos",                   "5"                     },
-  { "mm_polarisator_3.frames",                 "1"                     },
-  { "mm_polarisator_4",                                "RocksMM.png"           },
-  { "mm_polarisator_4.xpos",                   "3"                     },
-  { "mm_polarisator_4.ypos",                   "5"                     },
-  { "mm_polarisator_4.frames",                 "1"                     },
-  { "mm_polarisator_5",                                "RocksMM.png"           },
-  { "mm_polarisator_5.xpos",                   "4"                     },
-  { "mm_polarisator_5.ypos",                   "5"                     },
-  { "mm_polarisator_5.frames",                 "1"                     },
-  { "mm_polarisator_6",                                "RocksMM.png"           },
-  { "mm_polarisator_6.xpos",                   "5"                     },
-  { "mm_polarisator_6.ypos",                   "5"                     },
-  { "mm_polarisator_6.frames",                 "1"                     },
-  { "mm_polarisator_7",                                "RocksMM.png"           },
-  { "mm_polarisator_7.xpos",                   "6"                     },
-  { "mm_polarisator_7.ypos",                   "5"                     },
-  { "mm_polarisator_7.frames",                 "1"                     },
-  { "mm_polarisator_8",                                "RocksMM.png"           },
-  { "mm_polarisator_8.xpos",                   "7"                     },
-  { "mm_polarisator_8.ypos",                   "5"                     },
-  { "mm_polarisator_8.frames",                 "1"                     },
-  { "mm_polarisator_9",                                "RocksMM.png"           },
-  { "mm_polarisator_9.xpos",                   "8"                     },
-  { "mm_polarisator_9.ypos",                   "5"                     },
-  { "mm_polarisator_9.frames",                 "1"                     },
-  { "mm_polarisator_10",                       "RocksMM.png"           },
-  { "mm_polarisator_10.xpos",                  "9"                     },
-  { "mm_polarisator_10.ypos",                  "5"                     },
-  { "mm_polarisator_10.frames",                        "1"                     },
-  { "mm_polarisator_11",                       "RocksMM.png"           },
-  { "mm_polarisator_11.xpos",                  "10"                    },
-  { "mm_polarisator_11.ypos",                  "5"                     },
-  { "mm_polarisator_11.frames",                        "1"                     },
-  { "mm_polarisator_12",                       "RocksMM.png"           },
-  { "mm_polarisator_12.xpos",                  "11"                    },
-  { "mm_polarisator_12.ypos",                  "5"                     },
-  { "mm_polarisator_12.frames",                        "1"                     },
-  { "mm_polarisator_13",                       "RocksMM.png"           },
-  { "mm_polarisator_13.xpos",                  "12"                    },
-  { "mm_polarisator_13.ypos",                  "5"                     },
-  { "mm_polarisator_13.frames",                        "1"                     },
-  { "mm_polarisator_14",                       "RocksMM.png"           },
-  { "mm_polarisator_14.xpos",                  "13"                    },
-  { "mm_polarisator_14.ypos",                  "5"                     },
-  { "mm_polarisator_14.frames",                        "1"                     },
-  { "mm_polarisator_15",                       "RocksMM.png"           },
-  { "mm_polarisator_15.xpos",                  "14"                    },
-  { "mm_polarisator_15.ypos",                  "5"                     },
-  { "mm_polarisator_15.frames",                        "1"                     },
-  { "mm_polarisator_16",                       "RocksMM.png"           },
-  { "mm_polarisator_16.xpos",                  "15"                    },
-  { "mm_polarisator_16.ypos",                  "5"                     },
-  { "mm_polarisator_16.frames",                        "1"                     },
-
-  { "mm_polarisator_cross_1",                  "RocksMM.png"           },
-  { "mm_polarisator_cross_1.xpos",             "0"                     },
-  { "mm_polarisator_cross_1.ypos",             "6"                     },
-  { "mm_polarisator_cross_1.frames",           "1"                     },
-  { "mm_polarisator_cross_2",                  "RocksMM.png"           },
-  { "mm_polarisator_cross_2.xpos",             "1"                     },
-  { "mm_polarisator_cross_2.ypos",             "6"                     },
-  { "mm_polarisator_cross_2.frames",           "1"                     },
-  { "mm_polarisator_cross_3",                  "RocksMM.png"           },
-  { "mm_polarisator_cross_3.xpos",             "2"                     },
-  { "mm_polarisator_cross_3.ypos",             "6"                     },
-  { "mm_polarisator_cross_3.frames",           "1"                     },
-  { "mm_polarisator_cross_4",                  "RocksMM.png"           },
-  { "mm_polarisator_cross_4.xpos",             "3"                     },
-  { "mm_polarisator_cross_4.ypos",             "6"                     },
-  { "mm_polarisator_cross_4.frames",           "1"                     },
-
-  { "mm_beamer_1",                             "RocksMM.png"           },
-  { "mm_beamer_1.xpos",                                "0"                     },
-  { "mm_beamer_1.ypos",                                "3"                     },
-  { "mm_beamer_1.frames",                      "1"                     },
-  { "mm_beamer_2",                             "RocksMM.png"           },
-  { "mm_beamer_2.xpos",                                "1"                     },
-  { "mm_beamer_2.ypos",                                "3"                     },
-  { "mm_beamer_2.frames",                      "1"                     },
-  { "mm_beamer_3",                             "RocksMM.png"           },
-  { "mm_beamer_3.xpos",                                "2"                     },
-  { "mm_beamer_3.ypos",                                "3"                     },
-  { "mm_beamer_3.frames",                      "1"                     },
-  { "mm_beamer_4",                             "RocksMM.png"           },
-  { "mm_beamer_4.xpos",                                "3"                     },
-  { "mm_beamer_4.ypos",                                "3"                     },
-  { "mm_beamer_4.frames",                      "1"                     },
-  { "mm_beamer_5",                             "RocksMM.png"           },
-  { "mm_beamer_5.xpos",                                "4"                     },
-  { "mm_beamer_5.ypos",                                "3"                     },
-  { "mm_beamer_5.frames",                      "1"                     },
-  { "mm_beamer_6",                             "RocksMM.png"           },
-  { "mm_beamer_6.xpos",                                "5"                     },
-  { "mm_beamer_6.ypos",                                "3"                     },
-  { "mm_beamer_6.frames",                      "1"                     },
-  { "mm_beamer_7",                             "RocksMM.png"           },
-  { "mm_beamer_7.xpos",                                "6"                     },
-  { "mm_beamer_7.ypos",                                "3"                     },
-  { "mm_beamer_7.frames",                      "1"                     },
-  { "mm_beamer_8",                             "RocksMM.png"           },
-  { "mm_beamer_8.xpos",                                "7"                     },
-  { "mm_beamer_8.ypos",                                "3"                     },
-  { "mm_beamer_8.frames",                      "1"                     },
-  { "mm_beamer_9",                             "RocksMM.png"           },
-  { "mm_beamer_9.xpos",                                "8"                     },
-  { "mm_beamer_9.ypos",                                "3"                     },
-  { "mm_beamer_9.frames",                      "1"                     },
-  { "mm_beamer_10",                            "RocksMM.png"           },
-  { "mm_beamer_10.xpos",                       "9"                     },
-  { "mm_beamer_10.ypos",                       "3"                     },
-  { "mm_beamer_10.frames",                     "1"                     },
-  { "mm_beamer_11",                            "RocksMM.png"           },
-  { "mm_beamer_11.xpos",                       "10"                    },
-  { "mm_beamer_11.ypos",                       "3"                     },
-  { "mm_beamer_11.frames",                     "1"                     },
-  { "mm_beamer_12",                            "RocksMM.png"           },
-  { "mm_beamer_12.xpos",                       "11"                    },
-  { "mm_beamer_12.ypos",                       "3"                     },
-  { "mm_beamer_12.frames",                     "1"                     },
-  { "mm_beamer_13",                            "RocksMM.png"           },
-  { "mm_beamer_13.xpos",                       "12"                    },
-  { "mm_beamer_13.ypos",                       "3"                     },
-  { "mm_beamer_13.frames",                     "1"                     },
-  { "mm_beamer_14",                            "RocksMM.png"           },
-  { "mm_beamer_14.xpos",                       "13"                    },
-  { "mm_beamer_14.ypos",                       "3"                     },
-  { "mm_beamer_14.frames",                     "1"                     },
-  { "mm_beamer_15",                            "RocksMM.png"           },
-  { "mm_beamer_15.xpos",                       "14"                    },
-  { "mm_beamer_15.ypos",                       "3"                     },
-  { "mm_beamer_15.frames",                     "1"                     },
-  { "mm_beamer_16",                            "RocksMM.png"           },
-  { "mm_beamer_16.xpos",                       "15"                    },
-  { "mm_beamer_16.ypos",                       "3"                     },
-  { "mm_beamer_16.frames",                     "1"                     },
-
-  { "mm_beamer_red_1",                         "RocksDF.png"           },
-  { "mm_beamer_red_1.xpos",                    "0"                     },
-  { "mm_beamer_red_1.ypos",                    "4"                     },
-  { "mm_beamer_red_1.frames",                  "1"                     },
-  { "mm_beamer_red_2",                         "RocksDF.png"           },
-  { "mm_beamer_red_2.xpos",                    "1"                     },
-  { "mm_beamer_red_2.ypos",                    "4"                     },
-  { "mm_beamer_red_2.frames",                  "1"                     },
-  { "mm_beamer_red_3",                         "RocksDF.png"           },
-  { "mm_beamer_red_3.xpos",                    "2"                     },
-  { "mm_beamer_red_3.ypos",                    "4"                     },
-  { "mm_beamer_red_3.frames",                  "1"                     },
-  { "mm_beamer_red_4",                         "RocksDF.png"           },
-  { "mm_beamer_red_4.xpos",                    "3"                     },
-  { "mm_beamer_red_4.ypos",                    "4"                     },
-  { "mm_beamer_red_4.frames",                  "1"                     },
-  { "mm_beamer_red_5",                         "RocksDF.png"           },
-  { "mm_beamer_red_5.xpos",                    "4"                     },
-  { "mm_beamer_red_5.ypos",                    "4"                     },
-  { "mm_beamer_red_5.frames",                  "1"                     },
-  { "mm_beamer_red_6",                         "RocksDF.png"           },
-  { "mm_beamer_red_6.xpos",                    "5"                     },
-  { "mm_beamer_red_6.ypos",                    "4"                     },
-  { "mm_beamer_red_6.frames",                  "1"                     },
-  { "mm_beamer_red_7",                         "RocksDF.png"           },
-  { "mm_beamer_red_7.xpos",                    "6"                     },
-  { "mm_beamer_red_7.ypos",                    "4"                     },
-  { "mm_beamer_red_7.frames",                  "1"                     },
-  { "mm_beamer_red_8",                         "RocksDF.png"           },
-  { "mm_beamer_red_8.xpos",                    "7"                     },
-  { "mm_beamer_red_8.ypos",                    "4"                     },
-  { "mm_beamer_red_8.frames",                  "1"                     },
-  { "mm_beamer_red_9",                         "RocksDF.png"           },
-  { "mm_beamer_red_9.xpos",                    "8"                     },
-  { "mm_beamer_red_9.ypos",                    "4"                     },
-  { "mm_beamer_red_9.frames",                  "1"                     },
-  { "mm_beamer_red_10",                                "RocksDF.png"           },
-  { "mm_beamer_red_10.xpos",                   "9"                     },
-  { "mm_beamer_red_10.ypos",                   "4"                     },
-  { "mm_beamer_red_10.frames",                 "1"                     },
-  { "mm_beamer_red_11",                                "RocksDF.png"           },
-  { "mm_beamer_red_11.xpos",                   "10"                    },
-  { "mm_beamer_red_11.ypos",                   "4"                     },
-  { "mm_beamer_red_11.frames",                 "1"                     },
-  { "mm_beamer_red_12",                                "RocksDF.png"           },
-  { "mm_beamer_red_12.xpos",                   "11"                    },
-  { "mm_beamer_red_12.ypos",                   "4"                     },
-  { "mm_beamer_red_12.frames",                 "1"                     },
-  { "mm_beamer_red_13",                                "RocksDF.png"           },
-  { "mm_beamer_red_13.xpos",                   "12"                    },
-  { "mm_beamer_red_13.ypos",                   "4"                     },
-  { "mm_beamer_red_13.frames",                 "1"                     },
-  { "mm_beamer_red_14",                                "RocksDF.png"           },
-  { "mm_beamer_red_14.xpos",                   "13"                    },
-  { "mm_beamer_red_14.ypos",                   "4"                     },
-  { "mm_beamer_red_14.frames",                 "1"                     },
-  { "mm_beamer_red_15",                                "RocksDF.png"           },
-  { "mm_beamer_red_15.xpos",                   "14"                    },
-  { "mm_beamer_red_15.ypos",                   "4"                     },
-  { "mm_beamer_red_15.frames",                 "1"                     },
-  { "mm_beamer_red_16",                                "RocksDF.png"           },
-  { "mm_beamer_red_16.xpos",                   "15"                    },
-  { "mm_beamer_red_16.ypos",                   "4"                     },
-  { "mm_beamer_red_16.frames",                 "1"                     },
-
-  { "mm_beamer_yellow_1",                      "RocksDF.png"           },
-  { "mm_beamer_yellow_1.xpos",                 "0"                     },
-  { "mm_beamer_yellow_1.ypos",                 "5"                     },
-  { "mm_beamer_yellow_1.frames",               "1"                     },
-  { "mm_beamer_yellow_2",                      "RocksDF.png"           },
-  { "mm_beamer_yellow_2.xpos",                 "1"                     },
-  { "mm_beamer_yellow_2.ypos",                 "5"                     },
-  { "mm_beamer_yellow_2.frames",               "1"                     },
-  { "mm_beamer_yellow_3",                      "RocksDF.png"           },
-  { "mm_beamer_yellow_3.xpos",                 "2"                     },
-  { "mm_beamer_yellow_3.ypos",                 "5"                     },
-  { "mm_beamer_yellow_3.frames",               "1"                     },
-  { "mm_beamer_yellow_4",                      "RocksDF.png"           },
-  { "mm_beamer_yellow_4.xpos",                 "3"                     },
-  { "mm_beamer_yellow_4.ypos",                 "5"                     },
-  { "mm_beamer_yellow_4.frames",               "1"                     },
-  { "mm_beamer_yellow_5",                      "RocksDF.png"           },
-  { "mm_beamer_yellow_5.xpos",                 "4"                     },
-  { "mm_beamer_yellow_5.ypos",                 "5"                     },
-  { "mm_beamer_yellow_5.frames",               "1"                     },
-  { "mm_beamer_yellow_6",                      "RocksDF.png"           },
-  { "mm_beamer_yellow_6.xpos",                 "5"                     },
-  { "mm_beamer_yellow_6.ypos",                 "5"                     },
-  { "mm_beamer_yellow_6.frames",               "1"                     },
-  { "mm_beamer_yellow_7",                      "RocksDF.png"           },
-  { "mm_beamer_yellow_7.xpos",                 "6"                     },
-  { "mm_beamer_yellow_7.ypos",                 "5"                     },
-  { "mm_beamer_yellow_7.frames",               "1"                     },
-  { "mm_beamer_yellow_8",                      "RocksDF.png"           },
-  { "mm_beamer_yellow_8.xpos",                 "7"                     },
-  { "mm_beamer_yellow_8.ypos",                 "5"                     },
-  { "mm_beamer_yellow_8.frames",               "1"                     },
-  { "mm_beamer_yellow_9",                      "RocksDF.png"           },
-  { "mm_beamer_yellow_9.xpos",                 "8"                     },
-  { "mm_beamer_yellow_9.ypos",                 "5"                     },
-  { "mm_beamer_yellow_9.frames",               "1"                     },
-  { "mm_beamer_yellow_10",                     "RocksDF.png"           },
-  { "mm_beamer_yellow_10.xpos",                        "9"                     },
-  { "mm_beamer_yellow_10.ypos",                        "5"                     },
-  { "mm_beamer_yellow_10.frames",              "1"                     },
-  { "mm_beamer_yellow_11",                     "RocksDF.png"           },
-  { "mm_beamer_yellow_11.xpos",                        "10"                    },
-  { "mm_beamer_yellow_11.ypos",                        "5"                     },
-  { "mm_beamer_yellow_11.frames",              "1"                     },
-  { "mm_beamer_yellow_12",                     "RocksDF.png"           },
-  { "mm_beamer_yellow_12.xpos",                        "11"                    },
-  { "mm_beamer_yellow_12.ypos",                        "5"                     },
-  { "mm_beamer_yellow_12.frames",              "1"                     },
-  { "mm_beamer_yellow_13",                     "RocksDF.png"           },
-  { "mm_beamer_yellow_13.xpos",                        "12"                    },
-  { "mm_beamer_yellow_13.ypos",                        "5"                     },
-  { "mm_beamer_yellow_13.frames",              "1"                     },
-  { "mm_beamer_yellow_14",                     "RocksDF.png"           },
-  { "mm_beamer_yellow_14.xpos",                        "13"                    },
-  { "mm_beamer_yellow_14.ypos",                        "5"                     },
-  { "mm_beamer_yellow_14.frames",              "1"                     },
-  { "mm_beamer_yellow_15",                     "RocksDF.png"           },
-  { "mm_beamer_yellow_15.xpos",                        "14"                    },
-  { "mm_beamer_yellow_15.ypos",                        "5"                     },
-  { "mm_beamer_yellow_15.frames",              "1"                     },
-  { "mm_beamer_yellow_16",                     "RocksDF.png"           },
-  { "mm_beamer_yellow_16.xpos",                        "15"                    },
-  { "mm_beamer_yellow_16.ypos",                        "5"                     },
-  { "mm_beamer_yellow_16.frames",              "1"                     },
-
-  { "mm_beamer_green_1",                       "RocksDF.png"           },
-  { "mm_beamer_green_1.xpos",                  "0"                     },
-  { "mm_beamer_green_1.ypos",                  "6"                     },
-  { "mm_beamer_green_1.frames",                        "1"                     },
-  { "mm_beamer_green_2",                       "RocksDF.png"           },
-  { "mm_beamer_green_2.xpos",                  "1"                     },
-  { "mm_beamer_green_2.ypos",                  "6"                     },
-  { "mm_beamer_green_2.frames",                        "1"                     },
-  { "mm_beamer_green_3",                       "RocksDF.png"           },
-  { "mm_beamer_green_3.xpos",                  "2"                     },
-  { "mm_beamer_green_3.ypos",                  "6"                     },
-  { "mm_beamer_green_3.frames",                        "1"                     },
-  { "mm_beamer_green_4",                       "RocksDF.png"           },
-  { "mm_beamer_green_4.xpos",                  "3"                     },
-  { "mm_beamer_green_4.ypos",                  "6"                     },
-  { "mm_beamer_green_4.frames",                        "1"                     },
-  { "mm_beamer_green_5",                       "RocksDF.png"           },
-  { "mm_beamer_green_5.xpos",                  "4"                     },
-  { "mm_beamer_green_5.ypos",                  "6"                     },
-  { "mm_beamer_green_5.frames",                        "1"                     },
-  { "mm_beamer_green_6",                       "RocksDF.png"           },
-  { "mm_beamer_green_6.xpos",                  "5"                     },
-  { "mm_beamer_green_6.ypos",                  "6"                     },
-  { "mm_beamer_green_6.frames",                        "1"                     },
-  { "mm_beamer_green_7",                       "RocksDF.png"           },
-  { "mm_beamer_green_7.xpos",                  "6"                     },
-  { "mm_beamer_green_7.ypos",                  "6"                     },
-  { "mm_beamer_green_7.frames",                        "1"                     },
-  { "mm_beamer_green_8",                       "RocksDF.png"           },
-  { "mm_beamer_green_8.xpos",                  "7"                     },
-  { "mm_beamer_green_8.ypos",                  "6"                     },
-  { "mm_beamer_green_8.frames",                        "1"                     },
-  { "mm_beamer_green_9",                       "RocksDF.png"           },
-  { "mm_beamer_green_9.xpos",                  "8"                     },
-  { "mm_beamer_green_9.ypos",                  "6"                     },
-  { "mm_beamer_green_9.frames",                        "1"                     },
-  { "mm_beamer_green_10",                      "RocksDF.png"           },
-  { "mm_beamer_green_10.xpos",                 "9"                     },
-  { "mm_beamer_green_10.ypos",                 "6"                     },
-  { "mm_beamer_green_10.frames",               "1"                     },
-  { "mm_beamer_green_11",                      "RocksDF.png"           },
-  { "mm_beamer_green_11.xpos",                 "10"                    },
-  { "mm_beamer_green_11.ypos",                 "6"                     },
-  { "mm_beamer_green_11.frames",               "1"                     },
-  { "mm_beamer_green_12",                      "RocksDF.png"           },
-  { "mm_beamer_green_12.xpos",                 "11"                    },
-  { "mm_beamer_green_12.ypos",                 "6"                     },
-  { "mm_beamer_green_12.frames",               "1"                     },
-  { "mm_beamer_green_13",                      "RocksDF.png"           },
-  { "mm_beamer_green_13.xpos",                 "12"                    },
-  { "mm_beamer_green_13.ypos",                 "6"                     },
-  { "mm_beamer_green_13.frames",               "1"                     },
-  { "mm_beamer_green_14",                      "RocksDF.png"           },
-  { "mm_beamer_green_14.xpos",                 "13"                    },
-  { "mm_beamer_green_14.ypos",                 "6"                     },
-  { "mm_beamer_green_14.frames",               "1"                     },
-  { "mm_beamer_green_15",                      "RocksDF.png"           },
-  { "mm_beamer_green_15.xpos",                 "14"                    },
-  { "mm_beamer_green_15.ypos",                 "6"                     },
-  { "mm_beamer_green_15.frames",               "1"                     },
-  { "mm_beamer_green_16",                      "RocksDF.png"           },
-  { "mm_beamer_green_16.xpos",                 "15"                    },
-  { "mm_beamer_green_16.ypos",                 "6"                     },
-  { "mm_beamer_green_16.frames",               "1"                     },
-
-  { "mm_beamer_blue_1",                                "RocksDF.png"           },
-  { "mm_beamer_blue_1.xpos",                   "0"                     },
-  { "mm_beamer_blue_1.ypos",                   "7"                     },
-  { "mm_beamer_blue_1.frames",                 "1"                     },
-  { "mm_beamer_blue_2",                                "RocksDF.png"           },
-  { "mm_beamer_blue_2.xpos",                   "1"                     },
-  { "mm_beamer_blue_2.ypos",                   "7"                     },
-  { "mm_beamer_blue_2.frames",                 "1"                     },
-  { "mm_beamer_blue_3",                                "RocksDF.png"           },
-  { "mm_beamer_blue_3.xpos",                   "2"                     },
-  { "mm_beamer_blue_3.ypos",                   "7"                     },
-  { "mm_beamer_blue_3.frames",                 "1"                     },
-  { "mm_beamer_blue_4",                                "RocksDF.png"           },
-  { "mm_beamer_blue_4.xpos",                   "3"                     },
-  { "mm_beamer_blue_4.ypos",                   "7"                     },
-  { "mm_beamer_blue_4.frames",                 "1"                     },
-  { "mm_beamer_blue_5",                                "RocksDF.png"           },
-  { "mm_beamer_blue_5.xpos",                   "4"                     },
-  { "mm_beamer_blue_5.ypos",                   "7"                     },
-  { "mm_beamer_blue_5.frames",                 "1"                     },
-  { "mm_beamer_blue_6",                                "RocksDF.png"           },
-  { "mm_beamer_blue_6.xpos",                   "5"                     },
-  { "mm_beamer_blue_6.ypos",                   "7"                     },
-  { "mm_beamer_blue_6.frames",                 "1"                     },
-  { "mm_beamer_blue_7",                                "RocksDF.png"           },
-  { "mm_beamer_blue_7.xpos",                   "6"                     },
-  { "mm_beamer_blue_7.ypos",                   "7"                     },
-  { "mm_beamer_blue_7.frames",                 "1"                     },
-  { "mm_beamer_blue_8",                                "RocksDF.png"           },
-  { "mm_beamer_blue_8.xpos",                   "7"                     },
-  { "mm_beamer_blue_8.ypos",                   "7"                     },
-  { "mm_beamer_blue_8.frames",                 "1"                     },
-  { "mm_beamer_blue_9",                                "RocksDF.png"           },
-  { "mm_beamer_blue_9.xpos",                   "8"                     },
-  { "mm_beamer_blue_9.ypos",                   "7"                     },
-  { "mm_beamer_blue_9.frames",                 "1"                     },
-  { "mm_beamer_blue_10",                       "RocksDF.png"           },
-  { "mm_beamer_blue_10.xpos",                  "9"                     },
-  { "mm_beamer_blue_10.ypos",                  "7"                     },
-  { "mm_beamer_blue_10.frames",                        "1"                     },
-  { "mm_beamer_blue_11",                       "RocksDF.png"           },
-  { "mm_beamer_blue_11.xpos",                  "10"                    },
-  { "mm_beamer_blue_11.ypos",                  "7"                     },
-  { "mm_beamer_blue_11.frames",                        "1"                     },
-  { "mm_beamer_blue_12",                       "RocksDF.png"           },
-  { "mm_beamer_blue_12.xpos",                  "11"                    },
-  { "mm_beamer_blue_12.ypos",                  "7"                     },
-  { "mm_beamer_blue_12.frames",                        "1"                     },
-  { "mm_beamer_blue_13",                       "RocksDF.png"           },
-  { "mm_beamer_blue_13.xpos",                  "12"                    },
-  { "mm_beamer_blue_13.ypos",                  "7"                     },
-  { "mm_beamer_blue_13.frames",                        "1"                     },
-  { "mm_beamer_blue_14",                       "RocksDF.png"           },
-  { "mm_beamer_blue_14.xpos",                  "13"                    },
-  { "mm_beamer_blue_14.ypos",                  "7"                     },
-  { "mm_beamer_blue_14.frames",                        "1"                     },
-  { "mm_beamer_blue_15",                       "RocksDF.png"           },
-  { "mm_beamer_blue_15.xpos",                  "14"                    },
-  { "mm_beamer_blue_15.ypos",                  "7"                     },
-  { "mm_beamer_blue_15.frames",                        "1"                     },
-  { "mm_beamer_blue_16",                       "RocksDF.png"           },
-  { "mm_beamer_blue_16.xpos",                  "15"                    },
-  { "mm_beamer_blue_16.ypos",                  "7"                     },
-  { "mm_beamer_blue_16.frames",                        "1"                     },
+  { "mm_polarizer_1",                          "RocksMM.png"           },
+  { "mm_polarizer_1.xpos",                     "0"                     },
+  { "mm_polarizer_1.ypos",                     "5"                     },
+  { "mm_polarizer_1.frames",                   "1"                     },
+  { "mm_polarizer_2",                          "RocksMM.png"           },
+  { "mm_polarizer_2.xpos",                     "1"                     },
+  { "mm_polarizer_2.ypos",                     "5"                     },
+  { "mm_polarizer_2.frames",                   "1"                     },
+  { "mm_polarizer_3",                          "RocksMM.png"           },
+  { "mm_polarizer_3.xpos",                     "2"                     },
+  { "mm_polarizer_3.ypos",                     "5"                     },
+  { "mm_polarizer_3.frames",                   "1"                     },
+  { "mm_polarizer_4",                          "RocksMM.png"           },
+  { "mm_polarizer_4.xpos",                     "3"                     },
+  { "mm_polarizer_4.ypos",                     "5"                     },
+  { "mm_polarizer_4.frames",                   "1"                     },
+  { "mm_polarizer_5",                          "RocksMM.png"           },
+  { "mm_polarizer_5.xpos",                     "4"                     },
+  { "mm_polarizer_5.ypos",                     "5"                     },
+  { "mm_polarizer_5.frames",                   "1"                     },
+  { "mm_polarizer_6",                          "RocksMM.png"           },
+  { "mm_polarizer_6.xpos",                     "5"                     },
+  { "mm_polarizer_6.ypos",                     "5"                     },
+  { "mm_polarizer_6.frames",                   "1"                     },
+  { "mm_polarizer_7",                          "RocksMM.png"           },
+  { "mm_polarizer_7.xpos",                     "6"                     },
+  { "mm_polarizer_7.ypos",                     "5"                     },
+  { "mm_polarizer_7.frames",                   "1"                     },
+  { "mm_polarizer_8",                          "RocksMM.png"           },
+  { "mm_polarizer_8.xpos",                     "7"                     },
+  { "mm_polarizer_8.ypos",                     "5"                     },
+  { "mm_polarizer_8.frames",                   "1"                     },
+  { "mm_polarizer_9",                          "RocksMM.png"           },
+  { "mm_polarizer_9.xpos",                     "8"                     },
+  { "mm_polarizer_9.ypos",                     "5"                     },
+  { "mm_polarizer_9.frames",                   "1"                     },
+  { "mm_polarizer_10",                         "RocksMM.png"           },
+  { "mm_polarizer_10.xpos",                    "9"                     },
+  { "mm_polarizer_10.ypos",                    "5"                     },
+  { "mm_polarizer_10.frames",                  "1"                     },
+  { "mm_polarizer_11",                         "RocksMM.png"           },
+  { "mm_polarizer_11.xpos",                    "10"                    },
+  { "mm_polarizer_11.ypos",                    "5"                     },
+  { "mm_polarizer_11.frames",                  "1"                     },
+  { "mm_polarizer_12",                         "RocksMM.png"           },
+  { "mm_polarizer_12.xpos",                    "11"                    },
+  { "mm_polarizer_12.ypos",                    "5"                     },
+  { "mm_polarizer_12.frames",                  "1"                     },
+  { "mm_polarizer_13",                         "RocksMM.png"           },
+  { "mm_polarizer_13.xpos",                    "12"                    },
+  { "mm_polarizer_13.ypos",                    "5"                     },
+  { "mm_polarizer_13.frames",                  "1"                     },
+  { "mm_polarizer_14",                         "RocksMM.png"           },
+  { "mm_polarizer_14.xpos",                    "13"                    },
+  { "mm_polarizer_14.ypos",                    "5"                     },
+  { "mm_polarizer_14.frames",                  "1"                     },
+  { "mm_polarizer_15",                         "RocksMM.png"           },
+  { "mm_polarizer_15.xpos",                    "14"                    },
+  { "mm_polarizer_15.ypos",                    "5"                     },
+  { "mm_polarizer_15.frames",                  "1"                     },
+  { "mm_polarizer_16",                         "RocksMM.png"           },
+  { "mm_polarizer_16.xpos",                    "15"                    },
+  { "mm_polarizer_16.ypos",                    "5"                     },
+  { "mm_polarizer_16.frames",                  "1"                     },
+
+  { "mm_polarizer_cross_1",                    "RocksMM.png"           },
+  { "mm_polarizer_cross_1.xpos",               "0"                     },
+  { "mm_polarizer_cross_1.ypos",               "6"                     },
+  { "mm_polarizer_cross_1.frames",             "1"                     },
+  { "mm_polarizer_cross_2",                    "RocksMM.png"           },
+  { "mm_polarizer_cross_2.xpos",               "1"                     },
+  { "mm_polarizer_cross_2.ypos",               "6"                     },
+  { "mm_polarizer_cross_2.frames",             "1"                     },
+  { "mm_polarizer_cross_3",                    "RocksMM.png"           },
+  { "mm_polarizer_cross_3.xpos",               "2"                     },
+  { "mm_polarizer_cross_3.ypos",               "6"                     },
+  { "mm_polarizer_cross_3.frames",             "1"                     },
+  { "mm_polarizer_cross_4",                    "RocksMM.png"           },
+  { "mm_polarizer_cross_4.xpos",               "3"                     },
+  { "mm_polarizer_cross_4.ypos",               "6"                     },
+  { "mm_polarizer_cross_4.frames",             "1"                     },
+
+  { "mm_teleporter_1",                         "RocksMM.png"           },
+  { "mm_teleporter_1.xpos",                    "0"                     },
+  { "mm_teleporter_1.ypos",                    "3"                     },
+  { "mm_teleporter_1.frames",                  "1"                     },
+  { "mm_teleporter_2",                         "RocksMM.png"           },
+  { "mm_teleporter_2.xpos",                    "1"                     },
+  { "mm_teleporter_2.ypos",                    "3"                     },
+  { "mm_teleporter_2.frames",                  "1"                     },
+  { "mm_teleporter_3",                         "RocksMM.png"           },
+  { "mm_teleporter_3.xpos",                    "2"                     },
+  { "mm_teleporter_3.ypos",                    "3"                     },
+  { "mm_teleporter_3.frames",                  "1"                     },
+  { "mm_teleporter_4",                         "RocksMM.png"           },
+  { "mm_teleporter_4.xpos",                    "3"                     },
+  { "mm_teleporter_4.ypos",                    "3"                     },
+  { "mm_teleporter_4.frames",                  "1"                     },
+  { "mm_teleporter_5",                         "RocksMM.png"           },
+  { "mm_teleporter_5.xpos",                    "4"                     },
+  { "mm_teleporter_5.ypos",                    "3"                     },
+  { "mm_teleporter_5.frames",                  "1"                     },
+  { "mm_teleporter_6",                         "RocksMM.png"           },
+  { "mm_teleporter_6.xpos",                    "5"                     },
+  { "mm_teleporter_6.ypos",                    "3"                     },
+  { "mm_teleporter_6.frames",                  "1"                     },
+  { "mm_teleporter_7",                         "RocksMM.png"           },
+  { "mm_teleporter_7.xpos",                    "6"                     },
+  { "mm_teleporter_7.ypos",                    "3"                     },
+  { "mm_teleporter_7.frames",                  "1"                     },
+  { "mm_teleporter_8",                         "RocksMM.png"           },
+  { "mm_teleporter_8.xpos",                    "7"                     },
+  { "mm_teleporter_8.ypos",                    "3"                     },
+  { "mm_teleporter_8.frames",                  "1"                     },
+  { "mm_teleporter_9",                         "RocksMM.png"           },
+  { "mm_teleporter_9.xpos",                    "8"                     },
+  { "mm_teleporter_9.ypos",                    "3"                     },
+  { "mm_teleporter_9.frames",                  "1"                     },
+  { "mm_teleporter_10",                                "RocksMM.png"           },
+  { "mm_teleporter_10.xpos",                   "9"                     },
+  { "mm_teleporter_10.ypos",                   "3"                     },
+  { "mm_teleporter_10.frames",                 "1"                     },
+  { "mm_teleporter_11",                                "RocksMM.png"           },
+  { "mm_teleporter_11.xpos",                   "10"                    },
+  { "mm_teleporter_11.ypos",                   "3"                     },
+  { "mm_teleporter_11.frames",                 "1"                     },
+  { "mm_teleporter_12",                                "RocksMM.png"           },
+  { "mm_teleporter_12.xpos",                   "11"                    },
+  { "mm_teleporter_12.ypos",                   "3"                     },
+  { "mm_teleporter_12.frames",                 "1"                     },
+  { "mm_teleporter_13",                                "RocksMM.png"           },
+  { "mm_teleporter_13.xpos",                   "12"                    },
+  { "mm_teleporter_13.ypos",                   "3"                     },
+  { "mm_teleporter_13.frames",                 "1"                     },
+  { "mm_teleporter_14",                                "RocksMM.png"           },
+  { "mm_teleporter_14.xpos",                   "13"                    },
+  { "mm_teleporter_14.ypos",                   "3"                     },
+  { "mm_teleporter_14.frames",                 "1"                     },
+  { "mm_teleporter_15",                                "RocksMM.png"           },
+  { "mm_teleporter_15.xpos",                   "14"                    },
+  { "mm_teleporter_15.ypos",                   "3"                     },
+  { "mm_teleporter_15.frames",                 "1"                     },
+  { "mm_teleporter_16",                                "RocksMM.png"           },
+  { "mm_teleporter_16.xpos",                   "15"                    },
+  { "mm_teleporter_16.ypos",                   "3"                     },
+  { "mm_teleporter_16.frames",                 "1"                     },
+
+  { "mm_teleporter_red_1",                     "RocksDF.png"           },
+  { "mm_teleporter_red_1.xpos",                        "0"                     },
+  { "mm_teleporter_red_1.ypos",                        "4"                     },
+  { "mm_teleporter_red_1.frames",              "1"                     },
+  { "mm_teleporter_red_2",                     "RocksDF.png"           },
+  { "mm_teleporter_red_2.xpos",                        "1"                     },
+  { "mm_teleporter_red_2.ypos",                        "4"                     },
+  { "mm_teleporter_red_2.frames",              "1"                     },
+  { "mm_teleporter_red_3",                     "RocksDF.png"           },
+  { "mm_teleporter_red_3.xpos",                        "2"                     },
+  { "mm_teleporter_red_3.ypos",                        "4"                     },
+  { "mm_teleporter_red_3.frames",              "1"                     },
+  { "mm_teleporter_red_4",                     "RocksDF.png"           },
+  { "mm_teleporter_red_4.xpos",                        "3"                     },
+  { "mm_teleporter_red_4.ypos",                        "4"                     },
+  { "mm_teleporter_red_4.frames",              "1"                     },
+  { "mm_teleporter_red_5",                     "RocksDF.png"           },
+  { "mm_teleporter_red_5.xpos",                        "4"                     },
+  { "mm_teleporter_red_5.ypos",                        "4"                     },
+  { "mm_teleporter_red_5.frames",              "1"                     },
+  { "mm_teleporter_red_6",                     "RocksDF.png"           },
+  { "mm_teleporter_red_6.xpos",                        "5"                     },
+  { "mm_teleporter_red_6.ypos",                        "4"                     },
+  { "mm_teleporter_red_6.frames",              "1"                     },
+  { "mm_teleporter_red_7",                     "RocksDF.png"           },
+  { "mm_teleporter_red_7.xpos",                        "6"                     },
+  { "mm_teleporter_red_7.ypos",                        "4"                     },
+  { "mm_teleporter_red_7.frames",              "1"                     },
+  { "mm_teleporter_red_8",                     "RocksDF.png"           },
+  { "mm_teleporter_red_8.xpos",                        "7"                     },
+  { "mm_teleporter_red_8.ypos",                        "4"                     },
+  { "mm_teleporter_red_8.frames",              "1"                     },
+  { "mm_teleporter_red_9",                     "RocksDF.png"           },
+  { "mm_teleporter_red_9.xpos",                        "8"                     },
+  { "mm_teleporter_red_9.ypos",                        "4"                     },
+  { "mm_teleporter_red_9.frames",              "1"                     },
+  { "mm_teleporter_red_10",                    "RocksDF.png"           },
+  { "mm_teleporter_red_10.xpos",               "9"                     },
+  { "mm_teleporter_red_10.ypos",               "4"                     },
+  { "mm_teleporter_red_10.frames",             "1"                     },
+  { "mm_teleporter_red_11",                    "RocksDF.png"           },
+  { "mm_teleporter_red_11.xpos",               "10"                    },
+  { "mm_teleporter_red_11.ypos",               "4"                     },
+  { "mm_teleporter_red_11.frames",             "1"                     },
+  { "mm_teleporter_red_12",                    "RocksDF.png"           },
+  { "mm_teleporter_red_12.xpos",               "11"                    },
+  { "mm_teleporter_red_12.ypos",               "4"                     },
+  { "mm_teleporter_red_12.frames",             "1"                     },
+  { "mm_teleporter_red_13",                    "RocksDF.png"           },
+  { "mm_teleporter_red_13.xpos",               "12"                    },
+  { "mm_teleporter_red_13.ypos",               "4"                     },
+  { "mm_teleporter_red_13.frames",             "1"                     },
+  { "mm_teleporter_red_14",                    "RocksDF.png"           },
+  { "mm_teleporter_red_14.xpos",               "13"                    },
+  { "mm_teleporter_red_14.ypos",               "4"                     },
+  { "mm_teleporter_red_14.frames",             "1"                     },
+  { "mm_teleporter_red_15",                    "RocksDF.png"           },
+  { "mm_teleporter_red_15.xpos",               "14"                    },
+  { "mm_teleporter_red_15.ypos",               "4"                     },
+  { "mm_teleporter_red_15.frames",             "1"                     },
+  { "mm_teleporter_red_16",                    "RocksDF.png"           },
+  { "mm_teleporter_red_16.xpos",               "15"                    },
+  { "mm_teleporter_red_16.ypos",               "4"                     },
+  { "mm_teleporter_red_16.frames",             "1"                     },
+
+  { "mm_teleporter_yellow_1",                  "RocksDF.png"           },
+  { "mm_teleporter_yellow_1.xpos",             "0"                     },
+  { "mm_teleporter_yellow_1.ypos",             "5"                     },
+  { "mm_teleporter_yellow_1.frames",           "1"                     },
+  { "mm_teleporter_yellow_2",                  "RocksDF.png"           },
+  { "mm_teleporter_yellow_2.xpos",             "1"                     },
+  { "mm_teleporter_yellow_2.ypos",             "5"                     },
+  { "mm_teleporter_yellow_2.frames",           "1"                     },
+  { "mm_teleporter_yellow_3",                  "RocksDF.png"           },
+  { "mm_teleporter_yellow_3.xpos",             "2"                     },
+  { "mm_teleporter_yellow_3.ypos",             "5"                     },
+  { "mm_teleporter_yellow_3.frames",           "1"                     },
+  { "mm_teleporter_yellow_4",                  "RocksDF.png"           },
+  { "mm_teleporter_yellow_4.xpos",             "3"                     },
+  { "mm_teleporter_yellow_4.ypos",             "5"                     },
+  { "mm_teleporter_yellow_4.frames",           "1"                     },
+  { "mm_teleporter_yellow_5",                  "RocksDF.png"           },
+  { "mm_teleporter_yellow_5.xpos",             "4"                     },
+  { "mm_teleporter_yellow_5.ypos",             "5"                     },
+  { "mm_teleporter_yellow_5.frames",           "1"                     },
+  { "mm_teleporter_yellow_6",                  "RocksDF.png"           },
+  { "mm_teleporter_yellow_6.xpos",             "5"                     },
+  { "mm_teleporter_yellow_6.ypos",             "5"                     },
+  { "mm_teleporter_yellow_6.frames",           "1"                     },
+  { "mm_teleporter_yellow_7",                  "RocksDF.png"           },
+  { "mm_teleporter_yellow_7.xpos",             "6"                     },
+  { "mm_teleporter_yellow_7.ypos",             "5"                     },
+  { "mm_teleporter_yellow_7.frames",           "1"                     },
+  { "mm_teleporter_yellow_8",                  "RocksDF.png"           },
+  { "mm_teleporter_yellow_8.xpos",             "7"                     },
+  { "mm_teleporter_yellow_8.ypos",             "5"                     },
+  { "mm_teleporter_yellow_8.frames",           "1"                     },
+  { "mm_teleporter_yellow_9",                  "RocksDF.png"           },
+  { "mm_teleporter_yellow_9.xpos",             "8"                     },
+  { "mm_teleporter_yellow_9.ypos",             "5"                     },
+  { "mm_teleporter_yellow_9.frames",           "1"                     },
+  { "mm_teleporter_yellow_10",                 "RocksDF.png"           },
+  { "mm_teleporter_yellow_10.xpos",            "9"                     },
+  { "mm_teleporter_yellow_10.ypos",            "5"                     },
+  { "mm_teleporter_yellow_10.frames",          "1"                     },
+  { "mm_teleporter_yellow_11",                 "RocksDF.png"           },
+  { "mm_teleporter_yellow_11.xpos",            "10"                    },
+  { "mm_teleporter_yellow_11.ypos",            "5"                     },
+  { "mm_teleporter_yellow_11.frames",          "1"                     },
+  { "mm_teleporter_yellow_12",                 "RocksDF.png"           },
+  { "mm_teleporter_yellow_12.xpos",            "11"                    },
+  { "mm_teleporter_yellow_12.ypos",            "5"                     },
+  { "mm_teleporter_yellow_12.frames",          "1"                     },
+  { "mm_teleporter_yellow_13",                 "RocksDF.png"           },
+  { "mm_teleporter_yellow_13.xpos",            "12"                    },
+  { "mm_teleporter_yellow_13.ypos",            "5"                     },
+  { "mm_teleporter_yellow_13.frames",          "1"                     },
+  { "mm_teleporter_yellow_14",                 "RocksDF.png"           },
+  { "mm_teleporter_yellow_14.xpos",            "13"                    },
+  { "mm_teleporter_yellow_14.ypos",            "5"                     },
+  { "mm_teleporter_yellow_14.frames",          "1"                     },
+  { "mm_teleporter_yellow_15",                 "RocksDF.png"           },
+  { "mm_teleporter_yellow_15.xpos",            "14"                    },
+  { "mm_teleporter_yellow_15.ypos",            "5"                     },
+  { "mm_teleporter_yellow_15.frames",          "1"                     },
+  { "mm_teleporter_yellow_16",                 "RocksDF.png"           },
+  { "mm_teleporter_yellow_16.xpos",            "15"                    },
+  { "mm_teleporter_yellow_16.ypos",            "5"                     },
+  { "mm_teleporter_yellow_16.frames",          "1"                     },
+
+  { "mm_teleporter_green_1",                   "RocksDF.png"           },
+  { "mm_teleporter_green_1.xpos",              "0"                     },
+  { "mm_teleporter_green_1.ypos",              "6"                     },
+  { "mm_teleporter_green_1.frames",            "1"                     },
+  { "mm_teleporter_green_2",                   "RocksDF.png"           },
+  { "mm_teleporter_green_2.xpos",              "1"                     },
+  { "mm_teleporter_green_2.ypos",              "6"                     },
+  { "mm_teleporter_green_2.frames",            "1"                     },
+  { "mm_teleporter_green_3",                   "RocksDF.png"           },
+  { "mm_teleporter_green_3.xpos",              "2"                     },
+  { "mm_teleporter_green_3.ypos",              "6"                     },
+  { "mm_teleporter_green_3.frames",            "1"                     },
+  { "mm_teleporter_green_4",                   "RocksDF.png"           },
+  { "mm_teleporter_green_4.xpos",              "3"                     },
+  { "mm_teleporter_green_4.ypos",              "6"                     },
+  { "mm_teleporter_green_4.frames",            "1"                     },
+  { "mm_teleporter_green_5",                   "RocksDF.png"           },
+  { "mm_teleporter_green_5.xpos",              "4"                     },
+  { "mm_teleporter_green_5.ypos",              "6"                     },
+  { "mm_teleporter_green_5.frames",            "1"                     },
+  { "mm_teleporter_green_6",                   "RocksDF.png"           },
+  { "mm_teleporter_green_6.xpos",              "5"                     },
+  { "mm_teleporter_green_6.ypos",              "6"                     },
+  { "mm_teleporter_green_6.frames",            "1"                     },
+  { "mm_teleporter_green_7",                   "RocksDF.png"           },
+  { "mm_teleporter_green_7.xpos",              "6"                     },
+  { "mm_teleporter_green_7.ypos",              "6"                     },
+  { "mm_teleporter_green_7.frames",            "1"                     },
+  { "mm_teleporter_green_8",                   "RocksDF.png"           },
+  { "mm_teleporter_green_8.xpos",              "7"                     },
+  { "mm_teleporter_green_8.ypos",              "6"                     },
+  { "mm_teleporter_green_8.frames",            "1"                     },
+  { "mm_teleporter_green_9",                   "RocksDF.png"           },
+  { "mm_teleporter_green_9.xpos",              "8"                     },
+  { "mm_teleporter_green_9.ypos",              "6"                     },
+  { "mm_teleporter_green_9.frames",            "1"                     },
+  { "mm_teleporter_green_10",                  "RocksDF.png"           },
+  { "mm_teleporter_green_10.xpos",             "9"                     },
+  { "mm_teleporter_green_10.ypos",             "6"                     },
+  { "mm_teleporter_green_10.frames",           "1"                     },
+  { "mm_teleporter_green_11",                  "RocksDF.png"           },
+  { "mm_teleporter_green_11.xpos",             "10"                    },
+  { "mm_teleporter_green_11.ypos",             "6"                     },
+  { "mm_teleporter_green_11.frames",           "1"                     },
+  { "mm_teleporter_green_12",                  "RocksDF.png"           },
+  { "mm_teleporter_green_12.xpos",             "11"                    },
+  { "mm_teleporter_green_12.ypos",             "6"                     },
+  { "mm_teleporter_green_12.frames",           "1"                     },
+  { "mm_teleporter_green_13",                  "RocksDF.png"           },
+  { "mm_teleporter_green_13.xpos",             "12"                    },
+  { "mm_teleporter_green_13.ypos",             "6"                     },
+  { "mm_teleporter_green_13.frames",           "1"                     },
+  { "mm_teleporter_green_14",                  "RocksDF.png"           },
+  { "mm_teleporter_green_14.xpos",             "13"                    },
+  { "mm_teleporter_green_14.ypos",             "6"                     },
+  { "mm_teleporter_green_14.frames",           "1"                     },
+  { "mm_teleporter_green_15",                  "RocksDF.png"           },
+  { "mm_teleporter_green_15.xpos",             "14"                    },
+  { "mm_teleporter_green_15.ypos",             "6"                     },
+  { "mm_teleporter_green_15.frames",           "1"                     },
+  { "mm_teleporter_green_16",                  "RocksDF.png"           },
+  { "mm_teleporter_green_16.xpos",             "15"                    },
+  { "mm_teleporter_green_16.ypos",             "6"                     },
+  { "mm_teleporter_green_16.frames",           "1"                     },
+
+  { "mm_teleporter_blue_1",                    "RocksDF.png"           },
+  { "mm_teleporter_blue_1.xpos",               "0"                     },
+  { "mm_teleporter_blue_1.ypos",               "7"                     },
+  { "mm_teleporter_blue_1.frames",             "1"                     },
+  { "mm_teleporter_blue_2",                    "RocksDF.png"           },
+  { "mm_teleporter_blue_2.xpos",               "1"                     },
+  { "mm_teleporter_blue_2.ypos",               "7"                     },
+  { "mm_teleporter_blue_2.frames",             "1"                     },
+  { "mm_teleporter_blue_3",                    "RocksDF.png"           },
+  { "mm_teleporter_blue_3.xpos",               "2"                     },
+  { "mm_teleporter_blue_3.ypos",               "7"                     },
+  { "mm_teleporter_blue_3.frames",             "1"                     },
+  { "mm_teleporter_blue_4",                    "RocksDF.png"           },
+  { "mm_teleporter_blue_4.xpos",               "3"                     },
+  { "mm_teleporter_blue_4.ypos",               "7"                     },
+  { "mm_teleporter_blue_4.frames",             "1"                     },
+  { "mm_teleporter_blue_5",                    "RocksDF.png"           },
+  { "mm_teleporter_blue_5.xpos",               "4"                     },
+  { "mm_teleporter_blue_5.ypos",               "7"                     },
+  { "mm_teleporter_blue_5.frames",             "1"                     },
+  { "mm_teleporter_blue_6",                    "RocksDF.png"           },
+  { "mm_teleporter_blue_6.xpos",               "5"                     },
+  { "mm_teleporter_blue_6.ypos",               "7"                     },
+  { "mm_teleporter_blue_6.frames",             "1"                     },
+  { "mm_teleporter_blue_7",                    "RocksDF.png"           },
+  { "mm_teleporter_blue_7.xpos",               "6"                     },
+  { "mm_teleporter_blue_7.ypos",               "7"                     },
+  { "mm_teleporter_blue_7.frames",             "1"                     },
+  { "mm_teleporter_blue_8",                    "RocksDF.png"           },
+  { "mm_teleporter_blue_8.xpos",               "7"                     },
+  { "mm_teleporter_blue_8.ypos",               "7"                     },
+  { "mm_teleporter_blue_8.frames",             "1"                     },
+  { "mm_teleporter_blue_9",                    "RocksDF.png"           },
+  { "mm_teleporter_blue_9.xpos",               "8"                     },
+  { "mm_teleporter_blue_9.ypos",               "7"                     },
+  { "mm_teleporter_blue_9.frames",             "1"                     },
+  { "mm_teleporter_blue_10",                   "RocksDF.png"           },
+  { "mm_teleporter_blue_10.xpos",              "9"                     },
+  { "mm_teleporter_blue_10.ypos",              "7"                     },
+  { "mm_teleporter_blue_10.frames",            "1"                     },
+  { "mm_teleporter_blue_11",                   "RocksDF.png"           },
+  { "mm_teleporter_blue_11.xpos",              "10"                    },
+  { "mm_teleporter_blue_11.ypos",              "7"                     },
+  { "mm_teleporter_blue_11.frames",            "1"                     },
+  { "mm_teleporter_blue_12",                   "RocksDF.png"           },
+  { "mm_teleporter_blue_12.xpos",              "11"                    },
+  { "mm_teleporter_blue_12.ypos",              "7"                     },
+  { "mm_teleporter_blue_12.frames",            "1"                     },
+  { "mm_teleporter_blue_13",                   "RocksDF.png"           },
+  { "mm_teleporter_blue_13.xpos",              "12"                    },
+  { "mm_teleporter_blue_13.ypos",              "7"                     },
+  { "mm_teleporter_blue_13.frames",            "1"                     },
+  { "mm_teleporter_blue_14",                   "RocksDF.png"           },
+  { "mm_teleporter_blue_14.xpos",              "13"                    },
+  { "mm_teleporter_blue_14.ypos",              "7"                     },
+  { "mm_teleporter_blue_14.frames",            "1"                     },
+  { "mm_teleporter_blue_15",                   "RocksDF.png"           },
+  { "mm_teleporter_blue_15.xpos",              "14"                    },
+  { "mm_teleporter_blue_15.ypos",              "7"                     },
+  { "mm_teleporter_blue_15.frames",            "1"                     },
+  { "mm_teleporter_blue_16",                   "RocksDF.png"           },
+  { "mm_teleporter_blue_16.xpos",              "15"                    },
+  { "mm_teleporter_blue_16.ypos",              "7"                     },
+  { "mm_teleporter_blue_16.frames",            "1"                     },
 
   { "mm_kettle",                               "RocksMM.png"           },
   { "mm_kettle.xpos",                          "12"                    },
   { "mm_kettle.ypos",                          "1"                     },
-  { "mm_kettle.frames",                                "4"                     },
+  { "mm_kettle.frames",                                "1"                     },
   { "mm_kettle.exploding",                     "RocksMM.png"           },
   { "mm_kettle.exploding.xpos",                        "13"                    },
   { "mm_kettle.exploding.ypos",                        "1"                     },
@@ -5064,27 +5066,35 @@ struct ConfigInfo image_config[] =
   { "mm_pacman.right",                         "RocksMM.png"           },
   { "mm_pacman.right.xpos",                    "0"                     },
   { "mm_pacman.right.ypos",                    "4"                     },
-  { "mm_pacman.right.frames",                  "2"                     },
-  { "mm_pacman.right.delay",                   "4"                     },
-  { "mm_pacman.right.offset",                  "128"                   },
+  { "mm_pacman.right.frames",                  "1"                     },
   { "mm_pacman.up",                            "RocksMM.png"           },
   { "mm_pacman.up.xpos",                       "1"                     },
   { "mm_pacman.up.ypos",                       "4"                     },
-  { "mm_pacman.up.frames",                     "2"                     },
-  { "mm_pacman.up.delay",                      "4"                     },
-  { "mm_pacman.up.offset",                     "128"                   },
+  { "mm_pacman.up.frames",                     "1"                     },
   { "mm_pacman.left",                          "RocksMM.png"           },
   { "mm_pacman.left.xpos",                     "2"                     },
   { "mm_pacman.left.ypos",                     "4"                     },
-  { "mm_pacman.left.frames",                   "2"                     },
-  { "mm_pacman.left.delay",                    "4"                     },
-  { "mm_pacman.left.offset",                   "128"                   },
+  { "mm_pacman.left.frames",                   "1"                     },
   { "mm_pacman.down",                          "RocksMM.png"           },
   { "mm_pacman.down.xpos",                     "3"                     },
   { "mm_pacman.down.ypos",                     "4"                     },
-  { "mm_pacman.down.frames",                   "2"                     },
-  { "mm_pacman.down.delay",                    "4"                     },
-  { "mm_pacman.down.offset",                   "128"                   },
+  { "mm_pacman.down.frames",                   "1"                     },
+  { "mm_pacman.eating.right",                  "RocksMM.png"           },
+  { "mm_pacman.eating.right.xpos",             "4"                     },
+  { "mm_pacman.eating.right.ypos",             "4"                     },
+  { "mm_pacman.eating.right.frames",           "1"                     },
+  { "mm_pacman.eating.up",                     "RocksMM.png"           },
+  { "mm_pacman.eating.up.xpos",                        "5"                     },
+  { "mm_pacman.eating.up.ypos",                        "4"                     },
+  { "mm_pacman.eating.up.frames",              "1"                     },
+  { "mm_pacman.eating.left",                   "RocksMM.png"           },
+  { "mm_pacman.eating.left.xpos",              "6"                     },
+  { "mm_pacman.eating.left.ypos",              "4"                     },
+  { "mm_pacman.eating.left.frames",            "1"                     },
+  { "mm_pacman.eating.down",                   "RocksMM.png"           },
+  { "mm_pacman.eating.down.xpos",              "7"                     },
+  { "mm_pacman.eating.down.ypos",              "4"                     },
+  { "mm_pacman.eating.down.frames",            "1"                     },
 
   { "mm_mask_mcduffin.right",                  "RocksMM.png"           },
   { "mm_mask_mcduffin.right.xpos",             "8"                     },
@@ -5661,7 +5671,7 @@ struct ConfigInfo image_config[] =
   { "df_mine.ypos",                            "8"                     },
   { "df_mine.frames",                          "1"                     },
 
-  /* (these are only defined as elements to support ".PANEL" definitions) */
+  // (these are only defined as elements to support ".PANEL" definitions)
   { "graphic_1",                               UNDEFINED_FILENAME      },
   { "graphic_2",                               UNDEFINED_FILENAME      },
   { "graphic_3",                               UNDEFINED_FILENAME      },
@@ -5671,27 +5681,27 @@ struct ConfigInfo image_config[] =
   { "graphic_7",                               UNDEFINED_FILENAME      },
   { "graphic_8",                               UNDEFINED_FILENAME      },
 
-#include "conf_chr.c"  /* include auto-generated data structure definitions */
-#include "conf_cus.c"  /* include auto-generated data structure definitions */
-#include "conf_grp.c"  /* include auto-generated data structure definitions */
+#include "conf_chr.c"  // include auto-generated data structure definitions
+#include "conf_cus.c"  // include auto-generated data structure definitions
+#include "conf_grp.c"  // include auto-generated data structure definitions
 
 
   // ==========================================================================
   // image definitions not associated with game elements (menu screens etc.)
   // ==========================================================================
 
-  /* keyword to stop parser: "NO_MORE_ELEMENT_IMAGES" <-- do not change! */
+  // keyword to stop parser: "NO_MORE_ELEMENT_IMAGES" <-- do not change!
 
 #if 1
-  /* !!! TEMPORARILY STORED HERE -- PROBABLY TO BE CHANGED !!! */
+  // !!! TEMPORARILY STORED HERE -- PROBABLY TO BE CHANGED !!!
 
-  /* (for testing, change filename back to "emc_objects dot png") */
+  // (for testing, change filename back to "emc_objects dot png")
   { "emc_object",                              "RocksEMC.png"          },
 #if 0
   { "emc_object.scale_up_factor",              "2"                     },
 #endif
 
-  /* (for testing, change filename back to "emc_players dot png") */
+  // (for testing, change filename back to "emc_players dot png")
   { "emc_sprite",                              "RocksEMC.png"          },
 #if 0
   { "emc_sprite.scale_up_factor",              "2"                     },
@@ -6071,6 +6081,18 @@ struct ConfigInfo image_config[] =
   { "menu.button_quit.active",                 UNDEFINED_FILENAME      },
   { "menu.button_quit.active.clone_from",      "menu.button.active"    },
 
+  { "menu.button_first_level",                 UNDEFINED_FILENAME      },
+  { "menu.button_first_level.active",          UNDEFINED_FILENAME      },
+  { "menu.button_last_level",                  UNDEFINED_FILENAME      },
+  { "menu.button_last_level.active",           UNDEFINED_FILENAME      },
+  { "menu.button_level_number",                        UNDEFINED_FILENAME      },
+  { "menu.button_level_number.active",         UNDEFINED_FILENAME      },
+
+  { "menu.button_insert_solution",             UNDEFINED_FILENAME      },
+  { "menu.button_insert_solution.active",      UNDEFINED_FILENAME      },
+  { "menu.button_play_solution",               UNDEFINED_FILENAME      },
+  { "menu.button_play_solution.active",                UNDEFINED_FILENAME      },
+
   { "menu.scrollbar",                          "RocksDC.png"           },
   { "menu.scrollbar.xpos",                     "8"                     },
   { "menu.scrollbar.ypos",                     "10"                    },
@@ -6080,6 +6102,32 @@ struct ConfigInfo image_config[] =
   { "menu.scrollbar.active.ypos",              "10"                    },
   { "menu.scrollbar.active.frames",            "1"                     },
 
+  { "gfx.game.panel.time_anim",                        "RocksDoorMM.png"       },
+  { "gfx.game.panel.time_anim.x",              "5"                     },
+  { "gfx.game.panel.time_anim.y",              "0"                     },
+  { "gfx.game.panel.time_anim.width",          "90"                    },
+  { "gfx.game.panel.time_anim.height",         "35"                    },
+  { "gfx.game.panel.time_anim.frames",         "1"                     },
+  { "gfx.game.panel.time_anim.active",         "RocksDoorMM.png"       },
+  { "gfx.game.panel.time_anim.active.x",       "105"                   },
+  { "gfx.game.panel.time_anim.active.y",       "0"                     },
+  { "gfx.game.panel.time_anim.active.width",   "90"                    },
+  { "gfx.game.panel.time_anim.active.height",  "35"                    },
+  { "gfx.game.panel.time_anim.active.frames",  "1"                     },
+
+  { "gfx.game.panel.health_anim",              "RocksDoorMM.png"       },
+  { "gfx.game.panel.health_anim.x",            "5"                     },
+  { "gfx.game.panel.health_anim.y",            "35"                    },
+  { "gfx.game.panel.health_anim.width",                "90"                    },
+  { "gfx.game.panel.health_anim.height",       "35"                    },
+  { "gfx.game.panel.health_anim.frames",       "1"                     },
+  { "gfx.game.panel.health_anim.active",       "RocksDoorMM.png"       },
+  { "gfx.game.panel.health_anim.active.x",     "105"                   },
+  { "gfx.game.panel.health_anim.active.y",     "35"                    },
+  { "gfx.game.panel.health_anim.active.width", "90"                    },
+  { "gfx.game.panel.health_anim.active.height",        "35"                    },
+  { "gfx.game.panel.health_anim.active.frames",        "1"                     },
+
   { "gfx.game.button.stop",                    "RocksDoor.png"         },
   { "gfx.game.button.stop.x",                  "305"                   },
   { "gfx.game.button.stop.y",                  "185"                   },
@@ -6154,6 +6202,14 @@ struct ConfigInfo image_config[] =
   { "gfx.game.button.sound_simple.pressed_xoffset", "-100"             },
   { "gfx.game.button.sound_simple.active_yoffset", "-30"               },
 
+  { "gfx.game.button.panel_stop",              UNDEFINED_FILENAME      },
+  { "gfx.game.button.panel_pause",             UNDEFINED_FILENAME      },
+  { "gfx.game.button.panel_play",              UNDEFINED_FILENAME      },
+
+  { "gfx.game.button.panel_sound_music",       UNDEFINED_FILENAME      },
+  { "gfx.game.button.panel_sound_loops",       UNDEFINED_FILENAME      },
+  { "gfx.game.button.panel_sound_simple",      UNDEFINED_FILENAME      },
+
   { "gfx.tape.button.eject",                   "RocksDoor.png"         },
   { "gfx.tape.button.eject.x",                 "305"                   },
   { "gfx.tape.button.eject.y",                 "357"                   },
@@ -6191,6 +6247,9 @@ struct ConfigInfo image_config[] =
   { "gfx.tape.button.play.height",             "18"                    },
   { "gfx.tape.button.play.pressed_xoffset",    "-100"                  },
 
+  { "gfx.tape.button.insert_solution",         UNDEFINED_FILENAME      },
+  { "gfx.tape.button.play_solution",           UNDEFINED_FILENAME      },
+
   { "gfx.tape.symbol.eject",                   UNDEFINED_FILENAME      },
   { "gfx.tape.symbol.stop",                    UNDEFINED_FILENAME      },
   { "gfx.tape.symbol.pause",                   "RocksDoor.png"         },
@@ -6347,7 +6406,7 @@ struct ConfigInfo image_config[] =
   { "font.title_2.width",                      "14"                    },
   { "font.title_2.height",                     "14"                    },
   { "font.title_2.SETUP",                      UNDEFINED_FILENAME      },
-  { "font.title_2.SETUP.clone_from",           "font.text_4"           },
+  { "font.title_2.SETUP.clone_from",           "font.text_2"           },
 
   { "font.menu_1",                             "RocksFontBig.png"      },
   { "font.menu_1.x",                           "0"                     },
@@ -6585,6 +6644,8 @@ struct ConfigInfo image_config[] =
   { "font.value_old.y",                                "160"                   },
   { "font.value_old.width",                    "32"                    },
   { "font.value_old.height",                   "32"                    },
+  { "font.value_old_narrow",                   UNDEFINED_FILENAME      },
+  { "font.value_old_narrow.clone_from",                "font.text_2.LEVELS"    },
   { "font.value_narrow",                       UNDEFINED_FILENAME      },
   { "font.value_narrow.clone_from",            "font.text_4.LEVELS"    },
 
@@ -6613,6 +6674,9 @@ struct ConfigInfo image_config[] =
   { "font.info.levelset",                      UNDEFINED_FILENAME      },
   { "font.info.levelset.clone_from",           "font.level_number"     },
 
+  { "font.main.network_players",               UNDEFINED_FILENAME      },
+  { "font.main.network_players.clone_from",    "font.level_number"     },
+
   { "editor.element_border",                   "RocksMore.png"         },
   { "editor.element_border.xpos",              "0"                     },
   { "editor.element_border.ypos",              "2"                     },
@@ -7068,6 +7132,14 @@ struct ConfigInfo image_config[] =
   { "gfx.editor.input.level_number.height",    "16"                    },
   { "gfx.editor.input.level_number.border_size","1"                    },
 
+  { "setup.input.text",                                "RocksSP.png"           },
+  { "setup.input.text.x",                      "0"                     },
+  { "setup.input.text.y",                      "0"                     },
+  { "setup.input.text.width",                  "32"                    },
+  { "setup.input.text.height",                 "32"                    },
+  { "setup.input.text.active_xoffset",         "0"                     },
+  { "setup.input.text.border_size",            "0"                     },
+
   { "global.border",                           "RocksScreen.png"       },
   { "global.border.MAIN",                      UNDEFINED_FILENAME      },
   { "global.border.SCORES",                    UNDEFINED_FILENAME      },
@@ -7085,6 +7157,11 @@ struct ConfigInfo image_config[] =
   { "global.busy.frames_per_line",             "7"                     },
   { "global.busy.delay",                       "2"                     },
 
+  { "global.tile_cursor",                      "RocksMore.png"         },
+  { "global.tile_cursor.xpos",                 "10"                    },
+  { "global.tile_cursor.ypos",                 "7"                     },
+  { "global.tile_cursor.frames",               "1"                     },
+
   { "background",                              UNDEFINED_FILENAME      },
   { "background.TITLE_INITIAL",                        UNDEFINED_FILENAME      },
   { "background.TITLE",                                UNDEFINED_FILENAME      },
@@ -7277,8 +7354,8 @@ struct ConfigInfo image_config[] =
   { "door_2.top_border_correction.width",      "108"                   },
   { "door_2.top_border_correction.height",     "8"                     },
 
-  /* the last image entry apparently gets overwritten by very last entry
-     of "image_config[]"; so far this bug could not be found and fixed */
+  // the last image entry apparently gets overwritten by very last entry
+  // of "image_config[]"; so far this bug could not be found and fixed
   { "last_image_entry_bug",                    UNDEFINED_FILENAME      },
 
 
@@ -7286,10 +7363,10 @@ struct ConfigInfo image_config[] =
   // non-image definitions
   // ==========================================================================
 
-  /* the following directives are not associated with an image, but
-     probably make sense to be defined in "graphicsinfo.conf", too */
+  // the following directives are not associated with an image, but
+  // probably make sense to be defined in "graphicsinfo.conf", too
 
-  /* keyword to start parser: "CONFIG_VARS_START" <-- do not change! */
+  // keyword to start parser: "CONFIG_VARS_START" <-- do not change!
 
   { "[title_initial].fade_mode",               "fade"                  },
   { "[title_initial].fade_delay",              "500"                   },
@@ -7671,6 +7748,8 @@ struct ConfigInfo image_config[] =
   { "menu.draw_yoffset.EDITOR",                        "0"                     },
   { "menu.draw_xoffset.INFO",                  "0"                     },
   { "menu.draw_yoffset.INFO",                  "0"                     },
+  { "menu.draw_xoffset.INFO[TITLE]",           "0"                     },
+  { "menu.draw_yoffset.INFO[TITLE]",           "0"                     },
   { "menu.draw_xoffset.INFO[ELEMENTS]",                "0"                     },
   { "menu.draw_yoffset.INFO[ELEMENTS]",                "0"                     },
   { "menu.draw_xoffset.INFO[MUSIC]",           "0"                     },
@@ -7726,6 +7805,96 @@ struct ConfigInfo image_config[] =
   { "menu.list_size.INFO[ELEMENTS]",           "-1"                    },
   { "menu.list_size.SETUP",                    "-1"                    },
 
+  { "menu.left_spacing.INFO",                  "16"                    },
+  { "menu.left_spacing.INFO[TITLE]",           "16"                    },
+  { "menu.left_spacing.INFO[ELEMENTS]",                "16"                    },
+  { "menu.left_spacing.INFO[MUSIC]",           "16"                    },
+  { "menu.left_spacing.INFO[CREDITS]",         "16"                    },
+  { "menu.left_spacing.INFO[PROGRAM]",         "16"                    },
+  { "menu.left_spacing.INFO[VERSION]",         "16"                    },
+  { "menu.left_spacing.INFO[LEVELSET]",                "16"                    },
+  { "menu.left_spacing.SETUP[INPUT]",          "16"                    },
+
+  { "menu.right_spacing.INFO",                 "16"                    },
+  { "menu.right_spacing.INFO[TITLE]",          "16"                    },
+  { "menu.right_spacing.INFO[ELEMENTS]",       "16"                    },
+  { "menu.right_spacing.INFO[MUSIC]",          "16"                    },
+  { "menu.right_spacing.INFO[CREDITS]",                "16"                    },
+  { "menu.right_spacing.INFO[PROGRAM]",                "16"                    },
+  { "menu.right_spacing.INFO[VERSION]",                "16"                    },
+  { "menu.right_spacing.INFO[LEVELSET]",       "16"                    },
+  { "menu.right_spacing.SETUP[INPUT]",         "16"                    },
+
+  { "menu.top_spacing.INFO",                   "100"                   },
+  { "menu.top_spacing.INFO[TITLE]",            "100"                   },
+  { "menu.top_spacing.INFO[ELEMENTS]",         "100"                   },
+  { "menu.top_spacing.INFO[MUSIC]",            "100"                   },
+  { "menu.top_spacing.INFO[CREDITS]",          "100"                   },
+  { "menu.top_spacing.INFO[PROGRAM]",          "100"                   },
+  { "menu.top_spacing.INFO[VERSION]",          "100"                   },
+  { "menu.top_spacing.INFO[LEVELSET]",         "100"                   },
+  { "menu.top_spacing.SETUP[INPUT]",           "100"                   },
+
+  { "menu.bottom_spacing.INFO",                        "20"                    },
+  { "menu.bottom_spacing.INFO[TITLE]",         "20"                    },
+  { "menu.bottom_spacing.INFO[ELEMENTS]",      "20"                    },
+  { "menu.bottom_spacing.INFO[MUSIC]",         "20"                    },
+  { "menu.bottom_spacing.INFO[CREDITS]",       "20"                    },
+  { "menu.bottom_spacing.INFO[PROGRAM]",       "20"                    },
+  { "menu.bottom_spacing.INFO[VERSION]",       "20"                    },
+  { "menu.bottom_spacing.INFO[LEVELSET]",      "20"                    },
+  { "menu.bottom_spacing.SETUP[INPUT]",                "20"                    },
+
+  { "menu.paragraph_spacing.INFO",             "-3"                    },
+  { "menu.paragraph_spacing.INFO[TITLE]",      "-3"                    },
+  { "menu.paragraph_spacing.INFO[ELEMENTS]",   "-3"                    },
+  { "menu.paragraph_spacing.INFO[MUSIC]",      "-3"                    },
+  { "menu.paragraph_spacing.INFO[CREDITS]",    "-3"                    },
+  { "menu.paragraph_spacing.INFO[PROGRAM]",    "-3"                    },
+  { "menu.paragraph_spacing.INFO[VERSION]",    "-3"                    },
+  { "menu.paragraph_spacing.INFO[LEVELSET]",   "-3"                    },
+  { "menu.paragraph_spacing.SETUP[INPUT]",     "-1"                    },
+
+  { "menu.headline1_spacing.INFO",             "-2"                    },
+  { "menu.headline1_spacing.INFO[TITLE]",      "-2"                    },
+  { "menu.headline1_spacing.INFO[ELEMENTS]",   "-2"                    },
+  { "menu.headline1_spacing.INFO[MUSIC]",      "-2"                    },
+  { "menu.headline1_spacing.INFO[CREDITS]",    "-2"                    },
+  { "menu.headline1_spacing.INFO[PROGRAM]",    "-2"                    },
+  { "menu.headline1_spacing.INFO[VERSION]",    "-2"                    },
+  { "menu.headline1_spacing.INFO[LEVELSET]",   "-2"                    },
+  { "menu.headline1_spacing.SETUP[INPUT]",     "-2"                    },
+
+  { "menu.headline2_spacing.INFO",             "-1"                    },
+  { "menu.headline2_spacing.INFO[TITLE]",      "-1"                    },
+  { "menu.headline2_spacing.INFO[ELEMENTS]",   "-1"                    },
+  { "menu.headline2_spacing.INFO[MUSIC]",      "-1"                    },
+  { "menu.headline2_spacing.INFO[CREDITS]",    "-1"                    },
+  { "menu.headline2_spacing.INFO[PROGRAM]",    "-1"                    },
+  { "menu.headline2_spacing.INFO[VERSION]",    "-1"                    },
+  { "menu.headline2_spacing.INFO[LEVELSET]",   "-1"                    },
+  { "menu.headline2_spacing.SETUP[INPUT]",     "-1"                    },
+
+  { "menu.line_spacing.INFO",                  "0"                     },
+  { "menu.line_spacing.INFO[TITLE]",           "0"                     },
+  { "menu.line_spacing.INFO[ELEMENTS]",                "0"                     },
+  { "menu.line_spacing.INFO[MUSIC]",           "0"                     },
+  { "menu.line_spacing.INFO[CREDITS]",         "0"                     },
+  { "menu.line_spacing.INFO[PROGRAM]",         "0"                     },
+  { "menu.line_spacing.INFO[VERSION]",         "0"                     },
+  { "menu.line_spacing.INFO[LEVELSET]",                "0"                     },
+  { "menu.line_spacing.SETUP[INPUT]",          "0"                     },
+
+  { "menu.extra_spacing.INFO",                 "2"                     },
+  { "menu.extra_spacing.INFO[TITLE]",          "2"                     },
+  { "menu.extra_spacing.INFO[ELEMENTS]",       "2"                     },
+  { "menu.extra_spacing.INFO[MUSIC]",          "2"                     },
+  { "menu.extra_spacing.INFO[CREDITS]",                "2"                     },
+  { "menu.extra_spacing.INFO[PROGRAM]",                "2"                     },
+  { "menu.extra_spacing.INFO[VERSION]",                "2"                     },
+  { "menu.extra_spacing.INFO[LEVELSET]",       "2"                     },
+  { "menu.extra_spacing.SETUP[INPUT]",         "2"                     },
+
   { "main.button.name.x",                      "0"                     },
   { "main.button.name.y",                      "64"                    },
   { "main.button.levels.x",                    "0"                     },
@@ -7743,11 +7912,23 @@ struct ConfigInfo image_config[] =
   { "main.button.quit.x",                      "0"                     },
   { "main.button.quit.y",                      "288"                   },
 
+  { "main.button.first_level.x",               "-1"                    },
+  { "main.button.first_level.y",               "-1"                    },
+  { "main.button.last_level.x",                        "-1"                    },
+  { "main.button.last_level.y",                        "-1"                    },
+  { "main.button.level_number.x",              "-1"                    },
+  { "main.button.level_number.y",              "-1"                    },
+
   { "main.button.prev_level.x",                        "320"                   },
   { "main.button.prev_level.y",                        "96"                    },
   { "main.button.next_level.x",                        "448"                   },
   { "main.button.next_level.y",                        "96"                    },
 
+  { "main.button.insert_solution.x",           "-1"                    },
+  { "main.button.insert_solution.y",           "-1"                    },
+  { "main.button.play_solution.x",             "-1"                    },
+  { "main.button.play_solution.y",             "-1"                    },
+
   { "main.text.name.x",                                "-1"                    },
   { "main.text.name.y",                                "-1"                    },
   { "main.text.name.width",                    "-1"                    },
@@ -7894,6 +8075,24 @@ struct ConfigInfo image_config[] =
   { "main.input.name.valign",                  "top"                   },
   { "main.input.name.font",                    "font.input_1"          },
 
+  { "main.network_players.x",                  "68"                    },
+  { "main.network_players.y",                  "448"                   },
+  { "main.network_players.align",              "center"                },
+  { "main.network_players.valign",             "middle"                },
+  { "main.network_players.font",               "font.main.network_players" },
+  { "main.network_players.tile_size",          "16"                    },
+  { "main.network_players.border_size",                "2"                     },
+
+  { "main.preview_players.x",                  "474"                   },
+  { "main.preview_players.y",                  "448"                   },
+  { "main.preview_players.align",              "center"                },
+  { "main.preview_players.valign",             "middle"                },
+  { "main.preview_players.tile_size",          "32"                    },
+  { "main.preview_players.border_size",                "2"                     },
+  { "main.preview_players.vertical",           "false"                 },
+  { "main.preview_players.xoffset",            "-1"                    },
+  { "main.preview_players.yoffset",            "-1"                    },
+
   { "preview.x",                               "272"                   },
   { "preview.y",                               "380"                   },
   { "preview.align",                           "center"                },
@@ -8095,12 +8294,14 @@ struct ConfigInfo image_config[] =
   { "door_1.height",                           "-1"                    },
   { "door_1.step_offset",                      "2"                     },
   { "door_1.step_delay",                       "10"                    },
+  { "door_1.post_delay",                       "100"                   },
   { "door_1.anim_mode",                                "default"               },
 
   { "door_2.width",                            "-1"                    },
   { "door_2.height",                           "-1"                    },
   { "door_2.step_offset",                      "2"                     },
   { "door_2.step_delay",                       "10"                    },
+  { "door_2.post_delay",                       "100"                   },
   { "door_2.anim_mode",                                "default"               },
 
   { "game.panel.level_number.x",               "51"                    },
@@ -8320,6 +8521,27 @@ struct ConfigInfo image_config[] =
   { "game.panel.time_ss.draw_masked",          "true"                  },
   { "game.panel.time_ss.draw_order",           "0"                     },
 
+  { "game.panel.time_anim.x",                  "5"                     },
+  { "game.panel.time_anim.y",                  "72"                    },
+  { "game.panel.time_anim.direction",          "right"                 },
+  { "game.panel.time_anim.class",              "mm_engine_only"        },
+
+  { "game.panel.health.x",                     "-1"                    },
+  { "game.panel.health.y",                     "-1"                    },
+  { "game.panel.health.align",                 "center"                },
+  { "game.panel.health.valign",                        "top"                   },
+  { "game.panel.health.digits",                        "-1"                    },
+  { "game.panel.health.font",                  "font.text_2"           },
+  { "game.panel.health.font_narrow",           "font.text_1"           },
+  { "game.panel.health.draw_masked",           "true"                  },
+  { "game.panel.health.draw_order",            "0"                     },
+
+  { "game.panel.health_anim.x",                        "5"                     },
+  { "game.panel.health_anim.y",                        "107"                   },
+  { "game.panel.health_anim.direction",                "right"                 },
+  { "game.panel.health_anim.class",            "mm_engine_only"        },
+  { "game.panel.health_anim.style",            "reverse"               },
+
   { "game.panel.frame.x",                      "-1"                    },
   { "game.panel.frame.y",                      "-1"                    },
   { "game.panel.frame.align",                  "left"                  },
@@ -8884,6 +9106,19 @@ struct ConfigInfo image_config[] =
   { "game.button.sound_simple.x",              "65"                    },
   { "game.button.sound_simple.y",              "245"                   },
 
+  { "game.button.panel_stop.x",                        "-1"                    },
+  { "game.button.panel_stop.y",                        "-1"                    },
+  { "game.button.panel_pause.x",               "-1"                    },
+  { "game.button.panel_pause.y",               "-1"                    },
+  { "game.button.panel_play.x",                        "-1"                    },
+  { "game.button.panel_play.y",                        "-1"                    },
+  { "game.button.panel_sound_music.x",         "-1"                    },
+  { "game.button.panel_sound_music.y",         "-1"                    },
+  { "game.button.panel_sound_loops.x",         "-1"                    },
+  { "game.button.panel_sound_loops.y",         "-1"                    },
+  { "game.button.panel_sound_simple.x",                "-1"                    },
+  { "game.button.panel_sound_simple.y",                "-1"                    },
+
   { "tape.button.eject.x",                     "5"                     },
   { "tape.button.eject.y",                     "77"                    },
   { "tape.button.stop.x",                      "23"                    },
@@ -8895,6 +9130,11 @@ struct ConfigInfo image_config[] =
   { "tape.button.play.x",                      "77"                    },
   { "tape.button.play.y",                      "77"                    },
 
+  { "tape.button.insert_solution.x",           "-1"                    },
+  { "tape.button.insert_solution.y",           "-1"                    },
+  { "tape.button.play_solution.x",             "-1"                    },
+  { "tape.button.play_solution.y",             "-1"                    },
+
   { "tape.symbol.eject.x",                     "-1"                    },
   { "tape.symbol.eject.y",                     "-1"                    },
   { "tape.symbol.stop.x",                      "-1"                    },
@@ -9142,6 +9382,8 @@ struct ConfigInfo image_config[] =
   { "editor.settings.tabs.2nd_yoffset",                "64"                    },
   { "editor.settings.tabs.draw_xoffset",       "0"                     },
   { "editor.settings.tabs.draw_yoffset",       "8"                     },
+  { "editor.settings.tooltip.x",               "-1"                    },
+  { "editor.settings.tooltip.y",               "-1"                    },
 
   { "editor.gadget.normal_spacing",            "4"                     },
   { "editor.gadget.small_spacing",             "2"                     },
@@ -9156,20 +9398,20 @@ struct ConfigInfo image_config[] =
   { "request.button.no.y",                     "250"                   },
   { "request.button.confirm.x",                        "2"                     },
   { "request.button.confirm.y",                        "250"                   },
-  { "request.button.player_1.x",               "20"                    },
-  { "request.button.player_1.y",               "200"                   },
+  { "request.button.player_1.x",               "35"                    },
+  { "request.button.player_1.y",               "185"                   },
   { "request.button.player_1.draw_player",     "true"                  },
   { "request.button.player_1.tile_size",       "16"                    },
-  { "request.button.player_2.x",               "50"                    },
-  { "request.button.player_2.y",               "200"                   },
+  { "request.button.player_2.x",               "65"                    },
+  { "request.button.player_2.y",               "215"                   },
   { "request.button.player_2.draw_player",     "true"                  },
   { "request.button.player_2.tile_size",       "16"                    },
-  { "request.button.player_3.x",               "20"                    },
-  { "request.button.player_3.y",               "230"                   },
+  { "request.button.player_3.x",               "35"                    },
+  { "request.button.player_3.y",               "245"                   },
   { "request.button.player_3.draw_player",     "true"                  },
   { "request.button.player_3.tile_size",       "16"                    },
-  { "request.button.player_4.x",               "50"                    },
-  { "request.button.player_4.y",               "230"                   },
+  { "request.button.player_4.x",               "5                    },
+  { "request.button.player_4.y",               "215"                   },
   { "request.button.player_4.draw_player",     "true"                  },
   { "request.button.player_4.tile_size",       "16"                    },
 
@@ -9204,6 +9446,10 @@ struct ConfigInfo image_config[] =
 
   { "viewport.window.width",                   "672"                   },
   { "viewport.window.height",                  "560"                   },
+  { "viewport.window.min_width",               "-1"                    },
+  { "viewport.window.min_height",              "-1"                    },
+  { "viewport.window.max_width",               "-1"                    },
+  { "viewport.window.max_height",              "-1"                    },
   { "viewport.window.TITLE.width",             ARG_DEFAULT             },
   { "viewport.window.TITLE.height",            ARG_DEFAULT             },
 
@@ -9211,79 +9457,174 @@ struct ConfigInfo image_config[] =
   { "viewport.playfield.y",                    "6"                     },
   { "viewport.playfield.width",                        "548"                   },
   { "viewport.playfield.height",               "548"                   },
+  { "viewport.playfield.min_width",            "-1"                    },
+  { "viewport.playfield.min_height",           "-1"                    },
+  { "viewport.playfield.max_width",            "-1"                    },
+  { "viewport.playfield.max_height",           "-1"                    },
+  { "viewport.playfield.margin_left",          "0"                     },
+  { "viewport.playfield.margin_right",         "0"                     },
+  { "viewport.playfield.margin_top",           "0"                     },
+  { "viewport.playfield.margin_bottom",                "0"                     },
+  { "viewport.playfield.border_left",          "-1"                    },
+  { "viewport.playfield.border_right",         "-1"                    },
+  { "viewport.playfield.border_top",           "-1"                    },
+  { "viewport.playfield.border_bottom",                "-1"                    },
   { "viewport.playfield.border_size",          "2"                     },
+  { "viewport.playfield.align_size",           "16"                    },
+  { "viewport.playfield.align",                        "left"                  },
+  { "viewport.playfield.valign",               "top"                   },
   { "viewport.playfield.MAIN.x",               ARG_DEFAULT             },
   { "viewport.playfield.MAIN.y",               ARG_DEFAULT             },
   { "viewport.playfield.MAIN.width",           ARG_DEFAULT             },
   { "viewport.playfield.MAIN.height",          ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.min_width",       ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.min_height",      ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.max_width",       ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.max_height",      ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.margin_left",     ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.margin_right",    ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.margin_top",      ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.margin_bottom",   ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.border_left",     ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.border_right",    ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.border_top",      ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.border_bottom",   ARG_DEFAULT             },
   { "viewport.playfield.MAIN.border_size",     ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.align_size",      ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.align",           ARG_DEFAULT             },
+  { "viewport.playfield.MAIN.valign",          ARG_DEFAULT             },
   { "viewport.playfield.SCORES.x",             ARG_DEFAULT             },
   { "viewport.playfield.SCORES.y",             ARG_DEFAULT             },
   { "viewport.playfield.SCORES.width",         ARG_DEFAULT             },
   { "viewport.playfield.SCORES.height",                ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.min_width",     ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.min_height",    ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.max_width",     ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.max_height",    ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.margin_left",   ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.margin_right",  ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.margin_top",    ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.margin_bottom", ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.border_left",   ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.border_right",  ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.border_top",    ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.border_bottom", ARG_DEFAULT             },
   { "viewport.playfield.SCORES.border_size",   ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.align_size",    ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.align",         ARG_DEFAULT             },
+  { "viewport.playfield.SCORES.valign",                ARG_DEFAULT             },
   { "viewport.playfield.EDITOR.x",             ARG_DEFAULT             },
   { "viewport.playfield.EDITOR.y",             ARG_DEFAULT             },
   { "viewport.playfield.EDITOR.width",         ARG_DEFAULT             },
   { "viewport.playfield.EDITOR.height",                ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.min_width",     ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.min_height",    ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.max_width",     ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.max_height",    ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.margin_left",   ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.margin_right",  ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.margin_top",    ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.margin_bottom", ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.border_left",   ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.border_right",  ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.border_top",    ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.border_bottom", ARG_DEFAULT             },
   { "viewport.playfield.EDITOR.border_size",   ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.align_size",    ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.align",         ARG_DEFAULT             },
+  { "viewport.playfield.EDITOR.valign",                ARG_DEFAULT             },
   { "viewport.playfield.PLAYING.x",            ARG_DEFAULT             },
   { "viewport.playfield.PLAYING.y",            ARG_DEFAULT             },
   { "viewport.playfield.PLAYING.width",                ARG_DEFAULT             },
   { "viewport.playfield.PLAYING.height",       ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.min_width",    ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.min_height",   ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.max_width",    ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.max_height",   ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.margin_left",  ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.margin_right", ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.margin_top",   ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.margin_bottom",        ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.border_left",  ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.border_right", ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.border_top",   ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.border_bottom",        ARG_DEFAULT             },
   { "viewport.playfield.PLAYING.border_size",  ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.align_size",   ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.align",                ARG_DEFAULT             },
+  { "viewport.playfield.PLAYING.valign",       ARG_DEFAULT             },
 
   { "viewport.door_1.x",                       "566"                   },
   { "viewport.door_1.y",                       "60"                    },
   { "viewport.door_1.width",                   "100"                   },
   { "viewport.door_1.height",                  "280"                   },
   { "viewport.door_1.border_size",             "4"                     },
+  { "viewport.door_1.align",                   "left"                  },
+  { "viewport.door_1.valign",                  "top"                   },
   { "viewport.door_1.MAIN.x",                  ARG_DEFAULT             },
   { "viewport.door_1.MAIN.y",                  ARG_DEFAULT             },
   { "viewport.door_1.MAIN.width",              ARG_DEFAULT             },
   { "viewport.door_1.MAIN.height",             ARG_DEFAULT             },
   { "viewport.door_1.MAIN.border_size",                ARG_DEFAULT             },
+  { "viewport.door_1.MAIN.align",              ARG_DEFAULT             },
+  { "viewport.door_1.MAIN.valign",             ARG_DEFAULT             },
   { "viewport.door_1.SCORES.x",                        ARG_DEFAULT             },
   { "viewport.door_1.SCORES.y",                        ARG_DEFAULT             },
   { "viewport.door_1.SCORES.width",            ARG_DEFAULT             },
   { "viewport.door_1.SCORES.height",           ARG_DEFAULT             },
   { "viewport.door_1.SCORES.border_size",      ARG_DEFAULT             },
+  { "viewport.door_1.SCORES.align",            ARG_DEFAULT             },
+  { "viewport.door_1.SCORES.valign",           ARG_DEFAULT             },
   { "viewport.door_1.EDITOR.x",                        ARG_DEFAULT             },
   { "viewport.door_1.EDITOR.y",                        ARG_DEFAULT             },
   { "viewport.door_1.EDITOR.width",            ARG_DEFAULT             },
   { "viewport.door_1.EDITOR.height",           ARG_DEFAULT             },
   { "viewport.door_1.EDITOR.border_size",      ARG_DEFAULT             },
+  { "viewport.door_1.EDITOR.align",            ARG_DEFAULT             },
+  { "viewport.door_1.EDITOR.valign",           ARG_DEFAULT             },
   { "viewport.door_1.PLAYING.x",               ARG_DEFAULT             },
   { "viewport.door_1.PLAYING.y",               ARG_DEFAULT             },
   { "viewport.door_1.PLAYING.width",           ARG_DEFAULT             },
   { "viewport.door_1.PLAYING.height",          ARG_DEFAULT             },
   { "viewport.door_1.PLAYING.border_size",     ARG_DEFAULT             },
+  { "viewport.door_1.PLAYING.align",           ARG_DEFAULT             },
+  { "viewport.door_1.PLAYING.valign",          ARG_DEFAULT             },
 
   { "viewport.door_2.x",                       "566"                   },
   { "viewport.door_2.y",                       "400"                   },
   { "viewport.door_2.width",                   "100"                   },
   { "viewport.door_2.height",                  "100"                   },
   { "viewport.door_2.border_size",             "4"                     },
+  { "viewport.door_2.align",                   "left"                  },
+  { "viewport.door_2.valign",                  "top"                   },
   { "viewport.door_2.MAIN.x",                  ARG_DEFAULT             },
   { "viewport.door_2.MAIN.y",                  ARG_DEFAULT             },
   { "viewport.door_2.MAIN.width",              ARG_DEFAULT             },
   { "viewport.door_2.MAIN.height",             ARG_DEFAULT             },
   { "viewport.door_2.MAIN.border_size",                ARG_DEFAULT             },
+  { "viewport.door_2.MAIN.align",              ARG_DEFAULT             },
+  { "viewport.door_2.MAIN.valign",             ARG_DEFAULT             },
   { "viewport.door_2.SCORES.x",                        ARG_DEFAULT             },
   { "viewport.door_2.SCORES.y",                        ARG_DEFAULT             },
   { "viewport.door_2.SCORES.width",            ARG_DEFAULT             },
   { "viewport.door_2.SCORES.height",           ARG_DEFAULT             },
   { "viewport.door_2.SCORES.border_size",      ARG_DEFAULT             },
+  { "viewport.door_2.SCORES.align",            ARG_DEFAULT             },
+  { "viewport.door_2.SCORES.valign",           ARG_DEFAULT             },
   { "viewport.door_2.EDITOR.x",                        "566"                   },
   { "viewport.door_2.EDITOR.y",                        "356"                   },
   { "viewport.door_2.EDITOR.width",            "100"                   },
   { "viewport.door_2.EDITOR.height",           "144"                   },
   { "viewport.door_2.EDITOR.border_size",      "4"                     },
+  { "viewport.door_2.EDITOR.align",            "left"                  },
+  { "viewport.door_2.EDITOR.valign",           "top"                   },
   { "viewport.door_2.PLAYING.x",               ARG_DEFAULT             },
   { "viewport.door_2.PLAYING.y",               ARG_DEFAULT             },
   { "viewport.door_2.PLAYING.width",           ARG_DEFAULT             },
   { "viewport.door_2.PLAYING.height",          ARG_DEFAULT             },
   { "viewport.door_2.PLAYING.border_size",     ARG_DEFAULT             },
+  { "viewport.door_2.PLAYING.align",           ARG_DEFAULT             },
+  { "viewport.door_2.PLAYING.valign",          ARG_DEFAULT             },
 
   { NULL,                                      NULL                    }
 };