added default (empty) "style" to game panel definitions
[rocksndiamonds.git] / src / conf_gfx.c
index 20bb68308b27546d698cea883a529cc82c1d4c85..bfcc94fd35f0215c66347371a12dc87c7c301345 100644 (file)
@@ -4,7 +4,7 @@
 // (c) 1995-2014 by Artsoft Entertainment
 //                         Holger Schemel
 //                 info@artsoft.org
-//                 http://www.artsoft.org/
+//                 https://www.artsoft.org/
 // ----------------------------------------------------------------------------
 // conf_gfx.c
 // ============================================================================
@@ -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[] =
 {
@@ -56,10 +56,13 @@ struct ConfigTypeInfo image_config_suffix[] =
   { ".draw_order",                     ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".init_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".init_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".init_delay_action",              ARG_UNDEFINED,  TYPE_STRING     },
   { ".anim_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".anim_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".anim_delay_action",              ARG_UNDEFINED,  TYPE_STRING     },
   { ".post_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".post_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".post_delay_action",              ARG_UNDEFINED,  TYPE_STRING     },
   { ".init_event",                     ARG_UNDEFINED,  TYPE_STRING     },
   { ".init_event_action",              ARG_UNDEFINED,  TYPE_STRING     },
   { ".anim_event",                     ARG_UNDEFINED,  TYPE_STRING     },
@@ -72,6 +75,7 @@ struct ConfigTypeInfo image_config_suffix[] =
   { ".fade_delay",                     ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".post_delay",                     ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".auto_delay",                     ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".auto_delay_unit",                        ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".align",                          ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".valign",                         ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".sort_priority",                  ARG_UNDEFINED,  TYPE_INTEGER    },
@@ -91,7 +95,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"                    },
@@ -293,7 +297,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"                     },
@@ -831,15 +835,12 @@ 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"                     },
   { "sokoban_object.ypos",                     "7"                     },
   { "sokoban_object.frames",                   "1"                     },
-  { "sokoban_object.EDITOR",                   "RocksElements.png"     },
-  { "sokoban_object.EDITOR.xpos",              "2"                     },
-  { "sokoban_object.EDITOR.ypos",              "14"                    },
 
   { "sokoban_field_empty",                     "RocksElements.png"     },
   { "sokoban_field_empty.xpos",                        "10"                    },
@@ -855,11 +856,8 @@ struct ConfigInfo image_config[] =
   { "sokoban_field_player.xpos",               "0"                     },
   { "sokoban_field_player.ypos",               "15"                    },
   { "sokoban_field_player.frames",             "1"                     },
-  { "sokoban_field_player.EDITOR",             "RocksHeroes.png"       },
-  { "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"                     },
@@ -1029,18 +1027,12 @@ struct ConfigInfo image_config[] =
   { "dynamite.xpos",                           "0"                     },
   { "dynamite.ypos",                           "3"                     },
   { "dynamite.frames",                         "1"                     },
-  { "dynamite.EDITOR",                         "RocksElements.png"     },
-  { "dynamite.EDITOR.xpos",                    "0"                     },
-  { "dynamite.EDITOR.ypos",                    "14"                    },
   { "dynamite.active",                         "RocksElements.png"     },
   { "dynamite.active.xpos",                    "1"                     },
   { "dynamite.active.ypos",                    "3"                     },
   { "dynamite.active.frames",                  "7"                     },
   { "dynamite.active.delay",                   "12"                    },
   { "dynamite.active.anim_mode",               "linear"                },
-  { "dynamite.active.EDITOR",                  "RocksElements.png"     },
-  { "dynamite.active.EDITOR.xpos",             "1"                     },
-  { "dynamite.active.EDITOR.ypos",             "14"                    },
 
   { "em_dynamite",                             "RocksEMC.png"          },
   { "em_dynamite.xpos",                                "0"                     },
@@ -1724,7 +1716,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"                    },
@@ -1772,6 +1764,11 @@ struct ConfigInfo image_config[] =
   { "spring.ypos",                             "13"                    },
   { "spring.frames",                           "1"                     },
 
+  { "spring.left",                             UNDEFINED_FILENAME      },
+  { "spring.left.clone_from",                  "spring"                },
+  { "spring.right",                            UNDEFINED_FILENAME      },
+  { "spring.right.clone_from",                 "spring"                },
+
   { "emc_steelwall_1",                         "RocksDC.png"           },
   { "emc_steelwall_1.xpos",                    "14"                    },
   { "emc_steelwall_1.ypos",                    "0"                     },
@@ -1822,7 +1819,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"                     },
@@ -2461,7 +2458,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"                     },
@@ -2537,36 +2534,24 @@ 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"                     },
   { "key_1.ypos",                              "1"                     },
   { "key_1.frames",                            "1"                     },
-  { "key_1.EDITOR",                            "RocksElements.png"     },
-  { "key_1.EDITOR.xpos",                       "4"                     },
-  { "key_1.EDITOR.ypos",                       "14"                    },
   { "key_2",                                   "RocksElements.png"     },
   { "key_2.xpos",                              "5"                     },
   { "key_2.ypos",                              "1"                     },
   { "key_2.frames",                            "1"                     },
-  { "key_2.EDITOR",                            "RocksElements.png"     },
-  { "key_2.EDITOR.xpos",                       "5"                     },
-  { "key_2.EDITOR.ypos",                       "14"                    },
   { "key_3",                                   "RocksElements.png"     },
   { "key_3.xpos",                              "6"                     },
   { "key_3.ypos",                              "1"                     },
   { "key_3.frames",                            "1"                     },
-  { "key_3.EDITOR",                            "RocksElements.png"     },
-  { "key_3.EDITOR.xpos",                       "6"                     },
-  { "key_3.EDITOR.ypos",                       "14"                    },
   { "key_4",                                   "RocksElements.png"     },
   { "key_4.xpos",                              "7"                     },
   { "key_4.ypos",                              "1"                     },
   { "key_4.frames",                            "1"                     },
-  { "key_4.EDITOR",                            "RocksElements.png"     },
-  { "key_4.EDITOR.xpos",                       "7"                     },
-  { "key_4.EDITOR.ypos",                       "14"                    },
 
   { "gate_1",                                  "RocksElements.png"     },
   { "gate_1.xpos",                             "4"                     },
@@ -2688,9 +2673,6 @@ struct ConfigInfo image_config[] =
   { "lamp.xpos",                               "0"                     },
   { "lamp.ypos",                               "7"                     },
   { "lamp.frames",                             "1"                     },
-  { "lamp.EDITOR",                             "RocksElements.png"     },
-  { "lamp.EDITOR.xpos",                                "2"                     },
-  { "lamp.EDITOR.ypos",                                "14"                    },
   { "lamp.active",                             "RocksElements.png"     },
   { "lamp.active.xpos",                                "1"                     },
   { "lamp.active.ypos",                                "7"                     },
@@ -3133,9 +3115,6 @@ struct ConfigInfo image_config[] =
   { "penguin.xpos",                            "8"                     },
   { "penguin.ypos",                            "6"                     },
   { "penguin.frames",                          "1"                     },
-  { "penguin.EDITOR",                          "RocksElements.png"     },
-  { "penguin.EDITOR.xpos",                     "12"                    },
-  { "penguin.EDITOR.ypos",                     "14"                    },
   { "penguin.down",                            "RocksHeroes.png"       },
   { "penguin.down.xpos",                       "8"                     },
   { "penguin.down.ypos",                       "6"                     },
@@ -3249,15 +3228,12 @@ 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"                     },
   { "player_1.ypos",                           "0"                     },
   { "player_1.frames",                         "1"                     },
-  { "player_1.EDITOR",                         "RocksElements.png"     },
-  { "player_1.EDITOR.xpos",                    "4"                     },
-  { "player_1.EDITOR.ypos",                    "7"                     },
   { "player_1.down",                           "RocksHeroes.png"       },
   { "player_1.down.xpos",                      "0"                     },
   { "player_1.down.ypos",                      "0"                     },
@@ -3387,9 +3363,6 @@ struct ConfigInfo image_config[] =
   { "player_2.xpos",                           "0"                     },
   { "player_2.ypos",                           "3"                     },
   { "player_2.frames",                         "1"                     },
-  { "player_2.EDITOR",                         "RocksElements.png"     },
-  { "player_2.EDITOR.xpos",                    "5"                     },
-  { "player_2.EDITOR.ypos",                    "7"                     },
   { "player_2.down",                           "RocksHeroes.png"       },
   { "player_2.down.xpos",                      "0"                     },
   { "player_2.down.ypos",                      "3"                     },
@@ -3519,9 +3492,6 @@ struct ConfigInfo image_config[] =
   { "player_3.xpos",                           "0"                     },
   { "player_3.ypos",                           "6"                     },
   { "player_3.frames",                         "1"                     },
-  { "player_3.EDITOR",                         "RocksElements.png"     },
-  { "player_3.EDITOR.xpos",                    "6"                     },
-  { "player_3.EDITOR.ypos",                    "7"                     },
   { "player_3.down",                           "RocksHeroes.png"       },
   { "player_3.down.xpos",                      "0"                     },
   { "player_3.down.ypos",                      "6"                     },
@@ -3651,9 +3621,6 @@ struct ConfigInfo image_config[] =
   { "player_4.xpos",                           "0"                     },
   { "player_4.ypos",                           "9"                     },
   { "player_4.frames",                         "1"                     },
-  { "player_4.EDITOR",                         "RocksElements.png"     },
-  { "player_4.EDITOR.xpos",                    "7"                     },
-  { "player_4.EDITOR.ypos",                    "7"                     },
   { "player_4.down",                           "RocksHeroes.png"       },
   { "player_4.down.xpos",                      "0"                     },
   { "player_4.down.ypos",                      "9"                     },
@@ -5671,7 +5638,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      },
@@ -5681,32 +5648,16 @@ 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! */
-
-#if 1
-  /* !!! TEMPORARILY STORED HERE -- PROBABLY TO BE CHANGED !!! */
-
-  /* (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") */
-  { "emc_sprite",                              "RocksEMC.png"          },
-#if 0
-  { "emc_sprite.scale_up_factor",              "2"                     },
-#endif
-#endif
+  // keyword to stop parser: "NO_MORE_ELEMENT_IMAGES" <-- do not change!
 
   { "sp_frame_horizontal",                     "RocksSP.png"           },
   { "sp_frame_horizontal.xpos",                        "7"                     },
@@ -6093,6 +6044,34 @@ struct ConfigInfo image_config[] =
   { "menu.button_play_solution",               UNDEFINED_FILENAME      },
   { "menu.button_play_solution.active",                UNDEFINED_FILENAME      },
 
+  { "menu.button_switch_ecs_aga",              UNDEFINED_FILENAME      },
+  { "menu.button_switch_ecs_aga.active",       UNDEFINED_FILENAME      },
+
+  { "menu.button_touch_back",                  "RocksTouch.png"        },
+  { "menu.button_touch_back.x",                        "210"                   },
+  { "menu.button_touch_back.y",                        "180"                   },
+  { "menu.button_touch_back.width",            "60"                    },
+  { "menu.button_touch_back.height",           "60"                    },
+  { "menu.button_touch_back.pressed_xoffset",  "-200"                  },
+  { "menu.button_touch_next",                  "RocksTouch.png"        },
+  { "menu.button_touch_next.x",                        "330"                   },
+  { "menu.button_touch_next.y",                        "180"                   },
+  { "menu.button_touch_next.width",            "60"                    },
+  { "menu.button_touch_next.height",           "60"                    },
+  { "menu.button_touch_next.pressed_xoffset",  "-200"                  },
+  { "menu.button_touch_back2",                 "RocksTouch.png"        },
+  { "menu.button_touch_back2.x",               "210"                   },
+  { "menu.button_touch_back2.y",               "180"                   },
+  { "menu.button_touch_back2.width",           "60"                    },
+  { "menu.button_touch_back2.height",          "60"                    },
+  { "menu.button_touch_back2.pressed_xoffset", "-200"                  },
+  { "menu.button_touch_next2",                 "RocksTouch.png"        },
+  { "menu.button_touch_next2.x",               "330"                   },
+  { "menu.button_touch_next2.y",               "180"                   },
+  { "menu.button_touch_next2.width",           "60"                    },
+  { "menu.button_touch_next2.height",          "60"                    },
+  { "menu.button_touch_next2.pressed_xoffset", "-200"                  },
+
   { "menu.scrollbar",                          "RocksDC.png"           },
   { "menu.scrollbar.xpos",                     "8"                     },
   { "menu.scrollbar.ypos",                     "10"                    },
@@ -6210,6 +6189,20 @@ struct ConfigInfo image_config[] =
   { "gfx.game.button.panel_sound_loops",       UNDEFINED_FILENAME      },
   { "gfx.game.button.panel_sound_simple",      UNDEFINED_FILENAME      },
 
+  { "gfx.game.button.touch_stop",              "RocksTouch.png"        },
+  { "gfx.game.button.touch_stop.x",            "210"                   },
+  { "gfx.game.button.touch_stop.y",            "120"                   },
+  { "gfx.game.button.touch_stop.width",                "60"                    },
+  { "gfx.game.button.touch_stop.height",       "60"                    },
+  { "gfx.game.button.touch_stop.pressed_xoffset", "-200"               },
+  { "gfx.game.button.touch_pause",             "RocksTouch.png"        },
+  { "gfx.game.button.touch_pause.x",           "270"                   },
+  { "gfx.game.button.touch_pause.y",           "120"                   },
+  { "gfx.game.button.touch_pause.width",       "60"                    },
+  { "gfx.game.button.touch_pause.height",      "60"                    },
+  { "gfx.game.button.touch_pause.pressed_xoffset", "-200"              },
+  { "gfx.game.button.touch_pause.active_yoffset", "60"                 },
+
   { "gfx.tape.button.eject",                   "RocksDoor.png"         },
   { "gfx.tape.button.eject.x",                 "305"                   },
   { "gfx.tape.button.eject.y",                 "357"                   },
@@ -6374,6 +6367,25 @@ struct ConfigInfo image_config[] =
   { "gfx.request.button.player_4",             UNDEFINED_FILENAME      },
   { "gfx.request.button.player_4.clone_from",  "gfx.request.button.player_1" },
 
+  { "gfx.request.button.touch_yes",            "RocksTouch.png"        },
+  { "gfx.request.button.touch_yes.x",          "204"                   },
+  { "gfx.request.button.touch_yes.y",          "0"                     },
+  { "gfx.request.button.touch_yes.width",      "92"                    },
+  { "gfx.request.button.touch_yes.height",     "56"                    },
+  { "gfx.request.button.touch_yes.pressed_xoffset", "-200"             },
+  { "gfx.request.button.touch_no",             "RocksTouch.png"        },
+  { "gfx.request.button.touch_no.x",           "304"                   },
+  { "gfx.request.button.touch_no.y",           "0"                     },
+  { "gfx.request.button.touch_no.width",       "92"                    },
+  { "gfx.request.button.touch_no.height",      "56"                    },
+  { "gfx.request.button.touch_no.pressed_xoffset", "-200"              },
+  { "gfx.request.button.touch_confirm",                "RocksTouch.png"        },
+  { "gfx.request.button.touch_confirm.x",      "204"                   },
+  { "gfx.request.button.touch_confirm.y",      "60"                    },
+  { "gfx.request.button.touch_confirm.width",  "192"                   },
+  { "gfx.request.button.touch_confirm.height", "56"                    },
+  { "gfx.request.button.touch_confirm.pressed_xoffset", "-200"         },
+
   { "font.initial_1",                          "RocksFontSmall.png"    },
   { "font.initial_1.x",                                "0"                     },
   { "font.initial_1.y",                                "0"                     },
@@ -6445,6 +6457,8 @@ struct ConfigInfo image_config[] =
   { "font.text_1.LEVELNR.clone_from",          "font.text_1.LEVELS"    },
   { "font.text_1.SETUP",                       UNDEFINED_FILENAME      },
   { "font.text_1.SETUP.clone_from",            "font.text_1.LEVELS"    },
+  { "font.text_1.NAMES",                       UNDEFINED_FILENAME      },
+  { "font.text_1.NAMES.clone_from",            "font.input_1.MAIN"     },
   { "font.text_1.PREVIEW",                     "RocksFontEM.png"       },
   { "font.text_1.PREVIEW.x",                   "0"                     },
   { "font.text_1.PREVIEW.y",                   "160"                   },
@@ -6480,6 +6494,8 @@ struct ConfigInfo image_config[] =
   { "font.text_2.LEVELNR.clone_from",          "font.text_2.LEVELS"    },
   { "font.text_2.SETUP",                       UNDEFINED_FILENAME      },
   { "font.text_2.SETUP.clone_from",            "font.text_2.LEVELS"    },
+  { "font.text_2.NAMES",                       UNDEFINED_FILENAME      },
+  { "font.text_2.NAMES.clone_from",            "font.option_off"       },
   { "font.text_2.PREVIEW",                     "RocksFontEM.png"       },
   { "font.text_2.PREVIEW.x",                   "0"                     },
   { "font.text_2.PREVIEW.y",                   "160"                   },
@@ -6509,6 +6525,8 @@ struct ConfigInfo image_config[] =
   { "font.text_3.LEVELNR.clone_from",          "font.text_3.LEVELS"    },
   { "font.text_3.SETUP",                       UNDEFINED_FILENAME      },
   { "font.text_3.SETUP.clone_from",            "font.text_3.LEVELS"    },
+  { "font.text_3.NAMES",                       UNDEFINED_FILENAME      },
+  { "font.text_3.NAMES.clone_from",            "font.menu_1"           },
   { "font.text_3.PREVIEW",                     "RocksFontEM.png"       },
   { "font.text_3.PREVIEW.x",                   "0"                     },
   { "font.text_3.PREVIEW.y",                   "160"                   },
@@ -6540,6 +6558,8 @@ struct ConfigInfo image_config[] =
   { "font.text_4.LEVELNR.clone_from",          "font.text_4.LEVELS"    },
   { "font.text_4.SETUP",                       UNDEFINED_FILENAME      },
   { "font.text_4.SETUP.clone_from",            "font.text_4.LEVELS"    },
+  { "font.text_4.NAMES",                       UNDEFINED_FILENAME      },
+  { "font.text_4.NAMES.clone_from",            "font.menu_1.active"    },
   { "font.text_4.SCORES",                      "RocksFontMedium.png"   },
   { "font.text_4.SCORES.x",                    "0"                     },
   { "font.text_4.SCORES.y",                    "480"                   },
@@ -6588,6 +6608,8 @@ struct ConfigInfo image_config[] =
   { "font.input_1.MAIN.y",                     "0"                     },
   { "font.input_1.MAIN.width",                 "32"                    },
   { "font.input_1.MAIN.height",                        "32"                    },
+  { "font.input_1.NAMES",                      UNDEFINED_FILENAME      },
+  { "font.input_1.NAMES.clone_from",           "font.input_1.MAIN"     },
   { "font.input_1.active",                     "RocksFontSmall.png"    },
   { "font.input_1.active.x",                   "0"                     },
   { "font.input_1.active.y",                   "210"                   },
@@ -6598,6 +6620,8 @@ struct ConfigInfo image_config[] =
   { "font.input_1.active.MAIN.y",              "480"                   },
   { "font.input_1.active.MAIN.width",          "32"                    },
   { "font.input_1.active.MAIN.height",         "32"                    },
+  { "font.input_1.active.NAMES",               UNDEFINED_FILENAME      },
+  { "font.input_1.active.NAMES.clone_from",    "font.input_1.active.MAIN" },
   { "font.input_1.active.SETUP",               "RocksFontBig.png"      },
   { "font.input_1.active.SETUP.x",             "0"                     },
   { "font.input_1.active.SETUP.y",             "0"                     },
@@ -6674,6 +6698,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"                     },
@@ -7129,6 +7156,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      },
@@ -7155,6 +7190,7 @@ struct ConfigInfo image_config[] =
   { "background.TITLE_INITIAL",                        UNDEFINED_FILENAME      },
   { "background.TITLE",                                UNDEFINED_FILENAME      },
   { "background.MAIN",                         UNDEFINED_FILENAME      },
+  { "background.NAMES",                                UNDEFINED_FILENAME      },
   { "background.LEVELS",                       UNDEFINED_FILENAME      },
   { "background.LEVELNR",                      UNDEFINED_FILENAME      },
   { "background.SCORES",                       UNDEFINED_FILENAME      },
@@ -7343,8 +7379,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      },
 
 
@@ -7352,81 +7388,95 @@ 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"                   },
   { "[title_initial].post_delay",              "250"                   },
   { "[title_initial].auto_delay",              "-1"                    },
+  { "[title_initial].auto_delay_unit",         "ms"                    },
   { "[title].fade_mode",                       "fade"                  },
   { "[title].fade_delay",                      "500"                   },
   { "[title].post_delay",                      "250"                   },
   { "[title].auto_delay",                      "-1"                    },
+  { "[title].auto_delay_unit",                 "ms"                    },
 
   { "[titlescreen_initial].sort_priority",     "0"                     },
   { "[titlescreen_initial].fade_mode",         ARG_DEFAULT             },
   { "[titlescreen_initial].fade_delay",                ARG_DEFAULT             },
   { "[titlescreen_initial].post_delay",                ARG_DEFAULT             },
   { "[titlescreen_initial].auto_delay",                ARG_DEFAULT             },
+  { "[titlescreen_initial].auto_delay_unit",   ARG_DEFAULT             },
   { "[titlescreen].sort_priority",             "0"                     },
   { "[titlescreen].fade_mode",                 ARG_DEFAULT             },
   { "[titlescreen].fade_delay",                        ARG_DEFAULT             },
   { "[titlescreen].post_delay",                        ARG_DEFAULT             },
   { "[titlescreen].auto_delay",                        ARG_DEFAULT             },
+  { "[titlescreen].auto_delay_unit",           ARG_DEFAULT             },
 
   { "titlescreen_initial_1.sort_priority",     ARG_DEFAULT             },
   { "titlescreen_initial_1.fade_mode",         ARG_DEFAULT             },
   { "titlescreen_initial_1.fade_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_1.post_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_1.auto_delay",                ARG_DEFAULT             },
+  { "titlescreen_initial_1.auto_delay_unit",   ARG_DEFAULT             },
   { "titlescreen_initial_2.sort_priority",     ARG_DEFAULT             },
   { "titlescreen_initial_2.fade_mode",         ARG_DEFAULT             },
   { "titlescreen_initial_2.fade_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_2.post_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_2.auto_delay",                ARG_DEFAULT             },
+  { "titlescreen_initial_2.auto_delay_unit",   ARG_DEFAULT             },
   { "titlescreen_initial_3.sort_priority",     ARG_DEFAULT             },
   { "titlescreen_initial_3.fade_mode",         ARG_DEFAULT             },
   { "titlescreen_initial_3.fade_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_3.post_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_3.auto_delay",                ARG_DEFAULT             },
+  { "titlescreen_initial_3.auto_delay_unit",   ARG_DEFAULT             },
   { "titlescreen_initial_4.sort_priority",     ARG_DEFAULT             },
   { "titlescreen_initial_4.fade_mode",         ARG_DEFAULT             },
   { "titlescreen_initial_4.fade_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_4.post_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_4.auto_delay",                ARG_DEFAULT             },
+  { "titlescreen_initial_4.auto_delay_unit",   ARG_DEFAULT             },
   { "titlescreen_initial_5.sort_priority",     ARG_DEFAULT             },
   { "titlescreen_initial_5.fade_mode",         ARG_DEFAULT             },
   { "titlescreen_initial_5.fade_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_5.post_delay",                ARG_DEFAULT             },
   { "titlescreen_initial_5.auto_delay",                ARG_DEFAULT             },
+  { "titlescreen_initial_5.auto_delay_unit",   ARG_DEFAULT             },
   { "titlescreen_1.sort_priority",             ARG_DEFAULT             },
   { "titlescreen_1.fade_mode",                 ARG_DEFAULT             },
   { "titlescreen_1.fade_delay",                        ARG_DEFAULT             },
   { "titlescreen_1.post_delay",                        ARG_DEFAULT             },
   { "titlescreen_1.auto_delay",                        ARG_DEFAULT             },
+  { "titlescreen_1.auto_delay_unit",           ARG_DEFAULT             },
   { "titlescreen_2.sort_priority",             ARG_DEFAULT             },
   { "titlescreen_2.fade_mode",                 ARG_DEFAULT             },
   { "titlescreen_2.fade_delay",                        ARG_DEFAULT             },
   { "titlescreen_2.post_delay",                        ARG_DEFAULT             },
   { "titlescreen_2.auto_delay",                        ARG_DEFAULT             },
+  { "titlescreen_2.auto_delay_unit",           ARG_DEFAULT             },
   { "titlescreen_3.sort_priority",             ARG_DEFAULT             },
   { "titlescreen_3.fade_mode",                 ARG_DEFAULT             },
   { "titlescreen_3.fade_delay",                        ARG_DEFAULT             },
   { "titlescreen_3.post_delay",                        ARG_DEFAULT             },
   { "titlescreen_3.auto_delay",                        ARG_DEFAULT             },
+  { "titlescreen_3.auto_delay_unit",           ARG_DEFAULT             },
   { "titlescreen_4.sort_priority",             ARG_DEFAULT             },
   { "titlescreen_4.fade_mode",                 ARG_DEFAULT             },
   { "titlescreen_4.fade_delay",                        ARG_DEFAULT             },
   { "titlescreen_4.post_delay",                        ARG_DEFAULT             },
   { "titlescreen_4.auto_delay",                        ARG_DEFAULT             },
+  { "titlescreen_4.auto_delay_unit",           ARG_DEFAULT             },
   { "titlescreen_5.sort_priority",             ARG_DEFAULT             },
   { "titlescreen_5.fade_mode",                 ARG_DEFAULT             },
   { "titlescreen_5.fade_delay",                        ARG_DEFAULT             },
   { "titlescreen_5.post_delay",                        ARG_DEFAULT             },
   { "titlescreen_5.auto_delay",                        ARG_DEFAULT             },
+  { "titlescreen_5.auto_delay_unit",           ARG_DEFAULT             },
 
   { "[titlemessage_initial].x",                        "-1"                    },
   { "[titlemessage_initial].y",                        "-1"                    },
@@ -7445,6 +7495,7 @@ struct ConfigInfo image_config[] =
   { "[titlemessage_initial].fade_delay",       ARG_DEFAULT             },
   { "[titlemessage_initial].post_delay",       ARG_DEFAULT             },
   { "[titlemessage_initial].auto_delay",       ARG_DEFAULT             },
+  { "[titlemessage_initial].auto_delay_unit",  ARG_DEFAULT             },
   { "[titlemessage].x",                                "-1"                    },
   { "[titlemessage].y",                                "-1"                    },
   { "[titlemessage].width",                    "-1"                    },
@@ -7462,6 +7513,7 @@ struct ConfigInfo image_config[] =
   { "[titlemessage].fade_delay",               ARG_DEFAULT             },
   { "[titlemessage].post_delay",               ARG_DEFAULT             },
   { "[titlemessage].auto_delay",               ARG_DEFAULT             },
+  { "[titlemessage].auto_delay_unit",          ARG_DEFAULT             },
 
   { "titlemessage_initial_1.x",                        ARG_DEFAULT             },
   { "titlemessage_initial_1.y",                        ARG_DEFAULT             },
@@ -7480,6 +7532,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_initial_1.fade_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_1.post_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_1.auto_delay",       ARG_DEFAULT             },
+  { "titlemessage_initial_1.auto_delay_unit",  ARG_DEFAULT             },
   { "titlemessage_initial_2.x",                        ARG_DEFAULT             },
   { "titlemessage_initial_2.y",                        ARG_DEFAULT             },
   { "titlemessage_initial_2.width",            ARG_DEFAULT             },
@@ -7497,6 +7550,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_initial_2.fade_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_2.post_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_2.auto_delay",       ARG_DEFAULT             },
+  { "titlemessage_initial_2.auto_delay_unit",  ARG_DEFAULT             },
   { "titlemessage_initial_3.x",                        ARG_DEFAULT             },
   { "titlemessage_initial_3.y",                        ARG_DEFAULT             },
   { "titlemessage_initial_3.width",            ARG_DEFAULT             },
@@ -7514,6 +7568,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_initial_3.fade_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_3.post_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_3.auto_delay",       ARG_DEFAULT             },
+  { "titlemessage_initial_3.auto_delay_unit",  ARG_DEFAULT             },
   { "titlemessage_initial_4.x",                        ARG_DEFAULT             },
   { "titlemessage_initial_4.y",                        ARG_DEFAULT             },
   { "titlemessage_initial_4.width",            ARG_DEFAULT             },
@@ -7531,6 +7586,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_initial_4.fade_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_4.post_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_4.auto_delay",       ARG_DEFAULT             },
+  { "titlemessage_initial_4.auto_delay_unit",  ARG_DEFAULT             },
   { "titlemessage_initial_5.x",                        ARG_DEFAULT             },
   { "titlemessage_initial_5.y",                        ARG_DEFAULT             },
   { "titlemessage_initial_5.width",            ARG_DEFAULT             },
@@ -7548,6 +7604,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_initial_5.fade_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_5.post_delay",       ARG_DEFAULT             },
   { "titlemessage_initial_5.auto_delay",       ARG_DEFAULT             },
+  { "titlemessage_initial_5.auto_delay_unit",  ARG_DEFAULT             },
   { "titlemessage_1.x",                                ARG_DEFAULT             },
   { "titlemessage_1.y",                                ARG_DEFAULT             },
   { "titlemessage_1.width",                    ARG_DEFAULT             },
@@ -7565,6 +7622,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_1.fade_delay",               ARG_DEFAULT             },
   { "titlemessage_1.post_delay",               ARG_DEFAULT             },
   { "titlemessage_1.auto_delay",               ARG_DEFAULT             },
+  { "titlemessage_1.auto_delay_unit",          ARG_DEFAULT             },
   { "titlemessage_2.x",                                ARG_DEFAULT             },
   { "titlemessage_2.y",                                ARG_DEFAULT             },
   { "titlemessage_2.width",                    ARG_DEFAULT             },
@@ -7582,6 +7640,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_2.fade_delay",               ARG_DEFAULT             },
   { "titlemessage_2.post_delay",               ARG_DEFAULT             },
   { "titlemessage_2.auto_delay",               ARG_DEFAULT             },
+  { "titlemessage_2.auto_delay_unit",          ARG_DEFAULT             },
   { "titlemessage_3.x",                                ARG_DEFAULT             },
   { "titlemessage_3.y",                                ARG_DEFAULT             },
   { "titlemessage_3.width",                    ARG_DEFAULT             },
@@ -7599,6 +7658,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_3.fade_delay",               ARG_DEFAULT             },
   { "titlemessage_3.post_delay",               ARG_DEFAULT             },
   { "titlemessage_3.auto_delay",               ARG_DEFAULT             },
+  { "titlemessage_3.auto_delay_unit",          ARG_DEFAULT             },
   { "titlemessage_4.x",                                ARG_DEFAULT             },
   { "titlemessage_4.y",                                ARG_DEFAULT             },
   { "titlemessage_4.width",                    ARG_DEFAULT             },
@@ -7616,6 +7676,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_4.fade_delay",               ARG_DEFAULT             },
   { "titlemessage_4.post_delay",               ARG_DEFAULT             },
   { "titlemessage_4.auto_delay",               ARG_DEFAULT             },
+  { "titlemessage_4.auto_delay_unit",          ARG_DEFAULT             },
   { "titlemessage_5.x",                                ARG_DEFAULT             },
   { "titlemessage_5.y",                                ARG_DEFAULT             },
   { "titlemessage_5.width",                    ARG_DEFAULT             },
@@ -7633,6 +7694,7 @@ struct ConfigInfo image_config[] =
   { "titlemessage_5.fade_delay",               ARG_DEFAULT             },
   { "titlemessage_5.post_delay",               ARG_DEFAULT             },
   { "titlemessage_5.auto_delay",               ARG_DEFAULT             },
+  { "titlemessage_5.auto_delay_unit",          ARG_DEFAULT             },
 
   { "readme.x",                                        "-1"                    },
   { "readme.y",                                        "-1"                    },
@@ -7652,6 +7714,7 @@ struct ConfigInfo image_config[] =
 
   { "border.draw_masked.TITLE",                        "false"                 },
   { "border.draw_masked.MAIN",                 "false"                 },
+  { "border.draw_masked.NAMES",                        "false"                 },
   { "border.draw_masked.LEVELS",               "false"                 },
   { "border.draw_masked.LEVELNR",              "false"                 },
   { "border.draw_masked.SCORES",               "false"                 },
@@ -7687,6 +7750,7 @@ struct ConfigInfo image_config[] =
   { "menu.enter_screen.TITLE.fade_delay",      "500"                   },
   { "menu.enter_screen.TITLE.post_delay",      "250"                   },
   { "menu.enter_screen.TITLE.auto_delay",      "-1"                    },
+  { "menu.enter_screen.TITLE.auto_delay_unit", "-1"                    },
   { "menu.enter_screen.SCORES.fade_mode",      ARG_DEFAULT             },
   { "menu.enter_screen.SCORES.fade_delay",     ARG_DEFAULT             },
   { "menu.enter_screen.SCORES.post_delay",     ARG_DEFAULT             },
@@ -7703,6 +7767,7 @@ struct ConfigInfo image_config[] =
   { "menu.leave_screen.TITLE.fade_delay",      "500"                   },
   { "menu.leave_screen.TITLE.post_delay",      "250"                   },
   { "menu.leave_screen.TITLE.auto_delay",      "-1"                    },
+  { "menu.leave_screen.TITLE.auto_delay_unit", "-1"                    },
   { "menu.leave_screen.SCORES.fade_mode",      ARG_DEFAULT             },
   { "menu.leave_screen.SCORES.fade_delay",     ARG_DEFAULT             },
   { "menu.leave_screen.SCORES.post_delay",     ARG_DEFAULT             },
@@ -7719,6 +7784,7 @@ struct ConfigInfo image_config[] =
   { "menu.next_screen.TITLE.fade_delay",       "500"                   },
   { "menu.next_screen.TITLE.post_delay",       "250"                   },
   { "menu.next_screen.TITLE.auto_delay",       "-1"                    },
+  { "menu.next_screen.TITLE.auto_delay_unit",  "-1"                    },
   { "menu.next_screen.INFO.fade_mode",         ARG_DEFAULT             },
   { "menu.next_screen.INFO.fade_delay",                ARG_DEFAULT             },
   { "menu.next_screen.INFO.post_delay",                ARG_DEFAULT             },
@@ -7727,6 +7793,8 @@ struct ConfigInfo image_config[] =
   { "menu.draw_yoffset",                       "0"                     },
   { "menu.draw_xoffset.MAIN",                  "0"                     },
   { "menu.draw_yoffset.MAIN",                  "0"                     },
+  { "menu.draw_xoffset.NAMES",                 "0"                     },
+  { "menu.draw_yoffset.NAMES",                 "0"                     },
   { "menu.draw_xoffset.LEVELS",                        "0"                     },
   { "menu.draw_yoffset.LEVELS",                        "0"                     },
   { "menu.draw_xoffset.LEVELNR",               "0"                     },
@@ -7755,6 +7823,8 @@ struct ConfigInfo image_config[] =
   { "menu.draw_yoffset.SETUP",                 "0"                     },
   { "menu.draw_xoffset.SETUP[GAME]",           "0"                     },
   { "menu.draw_yoffset.SETUP[GAME]",           "0"                     },
+  { "menu.draw_xoffset.SETUP[ENGINES]",                "0"                     },
+  { "menu.draw_yoffset.SETUP[ENGINES]",                "0"                     },
   { "menu.draw_xoffset.SETUP[EDITOR]",         "0"                     },
   { "menu.draw_yoffset.SETUP[EDITOR]",         "0"                     },
   { "menu.draw_xoffset.SETUP[GRAPHICS]",       "0"                     },
@@ -7786,7 +7856,11 @@ struct ConfigInfo image_config[] =
 
   { "menu.scrollbar_xoffset",                  "0"                     },
 
+  { "menu.list.SETUP[CHOOSE_OTHER].align",     "left"                  },
+  { "menu.list.SETUP[CHOOSE_OTHER].valign",    "top"                   },
+
   { "menu.list_size",                          "-1"                    },
+  { "menu.list_size.NAMES",                    "-1"                    },
   { "menu.list_size.LEVELS",                   "-1"                    },
   { "menu.list_size.LEVELNR",                  "-1"                    },
   { "menu.list_size.SCORES",                   "-1"                    },
@@ -7840,7 +7914,7 @@ struct ConfigInfo image_config[] =
   { "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[VERSION]",    "-2"                    },
   { "menu.paragraph_spacing.INFO[LEVELSET]",   "-3"                    },
   { "menu.paragraph_spacing.SETUP[INPUT]",     "-1"                    },
 
@@ -7918,6 +7992,9 @@ struct ConfigInfo image_config[] =
   { "main.button.play_solution.x",             "-1"                    },
   { "main.button.play_solution.y",             "-1"                    },
 
+  { "main.button.switch_ecs_aga.x",            "-1"                    },
+  { "main.button.switch_ecs_aga.y",            "-1"                    },
+
   { "main.text.name.x",                                "-1"                    },
   { "main.text.name.y",                                "-1"                    },
   { "main.text.name.width",                    "-1"                    },
@@ -8064,6 +8141,38 @@ 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"                    },
+
+  { "setup.button.prev_player.x",              "320"                   },
+  { "setup.button.prev_player.y",              "64"                    },
+  { "setup.button.next_player.x",              "384"                   },
+  { "setup.button.next_player.y",              "64"                    },
+
+  { "setup.button.touch_back.x",               "0"                     },
+  { "setup.button.touch_back.y",               "0"                     },
+  { "setup.button.touch_next.x",               "-60"                   },
+  { "setup.button.touch_next.y",               "0"                     },
+  { "setup.button.touch_back2.x",              "0"                     },
+  { "setup.button.touch_back2.y",              "-60"                   },
+  { "setup.button.touch_next2.x",              "-60"                   },
+  { "setup.button.touch_next2.y",              "-60"                   },
+
   { "preview.x",                               "272"                   },
   { "preview.y",                               "380"                   },
   { "preview.align",                           "center"                },
@@ -8284,6 +8393,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.level_number.font_narrow",     "font.text_1"           },
   { "game.panel.level_number.draw_masked",     "true"                  },
   { "game.panel.level_number.draw_order",      "0"                     },
+  { "game.panel.level_number.class",           "none"                  },
+  { "game.panel.level_number.style",           "none"                  },
 
   { "game.panel.gems.x",                       "50"                    },
   { "game.panel.gems.y",                       "54"                    },
@@ -8293,6 +8404,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.gems.font",                    "font.text_2"           },
   { "game.panel.gems.draw_masked",             "true"                  },
   { "game.panel.gems.draw_order",              "0"                     },
+  { "game.panel.gems.class",                   "none"                  },
+  { "game.panel.gems.style",                   "none"                  },
 
   { "game.panel.inventory_count.x",            "50"                    },
   { "game.panel.inventory_count.y",            "89"                    },
@@ -8302,134 +8415,186 @@ struct ConfigInfo image_config[] =
   { "game.panel.inventory_count.font",         "font.text_2"           },
   { "game.panel.inventory_count.draw_masked",  "true"                  },
   { "game.panel.inventory_count.draw_order",   "0"                     },
+  { "game.panel.inventory_count.class",                "none"                  },
+  { "game.panel.inventory_count.style",                "none"                  },
 
   { "game.panel.inventory_first_1.x",          "-1"                    },
   { "game.panel.inventory_first_1.y",          "-1"                    },
   { "game.panel.inventory_first_1.tile_size",  "16"                    },
   { "game.panel.inventory_first_1.draw_masked",        "false"                 },
   { "game.panel.inventory_first_1.draw_order", "0"                     },
+  { "game.panel.inventory_first_1.class",      "none"                  },
+  { "game.panel.inventory_first_1.style",      "none"                  },
   { "game.panel.inventory_first_2.x",          "-1"                    },
   { "game.panel.inventory_first_2.y",          "-1"                    },
   { "game.panel.inventory_first_2.tile_size",  "16"                    },
   { "game.panel.inventory_first_2.draw_masked",        "false"                 },
   { "game.panel.inventory_first_2.draw_order", "0"                     },
+  { "game.panel.inventory_first_2.class",      "none"                  },
+  { "game.panel.inventory_first_2.style",      "none"                  },
   { "game.panel.inventory_first_3.x",          "-1"                    },
   { "game.panel.inventory_first_3.y",          "-1"                    },
   { "game.panel.inventory_first_3.tile_size",  "16"                    },
   { "game.panel.inventory_first_3.draw_masked",        "false"                 },
   { "game.panel.inventory_first_3.draw_order", "0"                     },
+  { "game.panel.inventory_first_3.class",      "none"                  },
+  { "game.panel.inventory_first_3.style",      "none"                  },
   { "game.panel.inventory_first_4.x",          "-1"                    },
   { "game.panel.inventory_first_4.y",          "-1"                    },
   { "game.panel.inventory_first_4.tile_size",  "16"                    },
   { "game.panel.inventory_first_4.draw_masked",        "false"                 },
   { "game.panel.inventory_first_4.draw_order", "0"                     },
+  { "game.panel.inventory_first_4.class",      "none"                  },
+  { "game.panel.inventory_first_4.style",      "none"                  },
   { "game.panel.inventory_first_5.x",          "-1"                    },
   { "game.panel.inventory_first_5.y",          "-1"                    },
   { "game.panel.inventory_first_5.tile_size",  "16"                    },
   { "game.panel.inventory_first_5.draw_masked",        "false"                 },
   { "game.panel.inventory_first_5.draw_order", "0"                     },
+  { "game.panel.inventory_first_5.class",      "none"                  },
+  { "game.panel.inventory_first_5.style",      "none"                  },
   { "game.panel.inventory_first_6.x",          "-1"                    },
   { "game.panel.inventory_first_6.y",          "-1"                    },
   { "game.panel.inventory_first_6.tile_size",  "16"                    },
   { "game.panel.inventory_first_6.draw_masked",        "false"                 },
   { "game.panel.inventory_first_6.draw_order", "0"                     },
+  { "game.panel.inventory_first_6.class",      "none"                  },
+  { "game.panel.inventory_first_6.style",      "none"                  },
   { "game.panel.inventory_first_7.x",          "-1"                    },
   { "game.panel.inventory_first_7.y",          "-1"                    },
   { "game.panel.inventory_first_7.tile_size",  "16"                    },
   { "game.panel.inventory_first_7.draw_masked",        "false"                 },
   { "game.panel.inventory_first_7.draw_order", "0"                     },
+  { "game.panel.inventory_first_7.class",      "none"                  },
+  { "game.panel.inventory_first_7.style",      "none"                  },
   { "game.panel.inventory_first_8.x",          "-1"                    },
   { "game.panel.inventory_first_8.y",          "-1"                    },
   { "game.panel.inventory_first_8.tile_size",  "16"                    },
   { "game.panel.inventory_first_8.draw_masked",        "false"                 },
   { "game.panel.inventory_first_8.draw_order", "0"                     },
+  { "game.panel.inventory_first_8.class",      "none"                  },
+  { "game.panel.inventory_first_8.style",      "none"                  },
 
   { "game.panel.inventory_last_1.x",           "-1"                    },
   { "game.panel.inventory_last_1.y",           "-1"                    },
   { "game.panel.inventory_last_1.tile_size",   "16"                    },
   { "game.panel.inventory_last_1.draw_masked", "false"                 },
   { "game.panel.inventory_last_1.draw_order",  "0"                     },
+  { "game.panel.inventory_last_1.class",       "none"                  },
+  { "game.panel.inventory_last_1.style",       "none"                  },
   { "game.panel.inventory_last_2.x",           "-1"                    },
   { "game.panel.inventory_last_2.y",           "-1"                    },
   { "game.panel.inventory_last_2.tile_size",   "16"                    },
   { "game.panel.inventory_last_2.draw_masked", "false"                 },
   { "game.panel.inventory_last_2.draw_order",  "0"                     },
+  { "game.panel.inventory_last_2.class",       "none"                  },
+  { "game.panel.inventory_last_2.style",       "none"                  },
   { "game.panel.inventory_last_3.x",           "-1"                    },
   { "game.panel.inventory_last_3.y",           "-1"                    },
   { "game.panel.inventory_last_3.tile_size",   "16"                    },
   { "game.panel.inventory_last_3.draw_masked", "false"                 },
   { "game.panel.inventory_last_3.draw_order",  "0"                     },
+  { "game.panel.inventory_last_3.class",       "none"                  },
+  { "game.panel.inventory_last_3.style",       "none"                  },
   { "game.panel.inventory_last_4.x",           "-1"                    },
   { "game.panel.inventory_last_4.y",           "-1"                    },
   { "game.panel.inventory_last_4.tile_size",   "16"                    },
   { "game.panel.inventory_last_4.draw_masked", "false"                 },
   { "game.panel.inventory_last_4.draw_order",  "0"                     },
+  { "game.panel.inventory_last_4.class",       "none"                  },
+  { "game.panel.inventory_last_4.style",       "none"                  },
   { "game.panel.inventory_last_5.x",           "-1"                    },
   { "game.panel.inventory_last_5.y",           "-1"                    },
   { "game.panel.inventory_last_5.tile_size",   "16"                    },
   { "game.panel.inventory_last_5.draw_masked", "false"                 },
   { "game.panel.inventory_last_5.draw_order",  "0"                     },
+  { "game.panel.inventory_last_5.class",       "none"                  },
+  { "game.panel.inventory_last_5.style",       "none"                  },
   { "game.panel.inventory_last_6.x",           "-1"                    },
   { "game.panel.inventory_last_6.y",           "-1"                    },
   { "game.panel.inventory_last_6.tile_size",   "16"                    },
   { "game.panel.inventory_last_6.draw_masked", "false"                 },
   { "game.panel.inventory_last_6.draw_order",  "0"                     },
+  { "game.panel.inventory_last_6.class",       "none"                  },
+  { "game.panel.inventory_last_6.style",       "none"                  },
   { "game.panel.inventory_last_7.x",           "-1"                    },
   { "game.panel.inventory_last_7.y",           "-1"                    },
   { "game.panel.inventory_last_7.tile_size",   "16"                    },
   { "game.panel.inventory_last_7.draw_masked", "false"                 },
   { "game.panel.inventory_last_7.draw_order",  "0"                     },
+  { "game.panel.inventory_last_7.class",       "none"                  },
+  { "game.panel.inventory_last_7.style",       "none"                  },
   { "game.panel.inventory_last_8.x",           "-1"                    },
   { "game.panel.inventory_last_8.y",           "-1"                    },
   { "game.panel.inventory_last_8.tile_size",   "16"                    },
   { "game.panel.inventory_last_8.draw_masked", "false"                 },
   { "game.panel.inventory_last_8.draw_order",  "0"                     },
+  { "game.panel.inventory_last_8.class",       "none"                  },
+  { "game.panel.inventory_last_8.style",       "none"                  },
 
   { "game.panel.key_1.x",                      "18"                    },
   { "game.panel.key_1.y",                      "123"                   },
   { "game.panel.key_1.tile_size",              "16"                    },
   { "game.panel.key_1.draw_masked",            "false"                 },
   { "game.panel.key_1.draw_order",             "0"                     },
+  { "game.panel.key_1.class",                  "none"                  },
+  { "game.panel.key_1.style",                  "none"                  },
   { "game.panel.key_2.x",                      "34"                    },
   { "game.panel.key_2.y",                      "123"                   },
   { "game.panel.key_2.tile_size",              "16"                    },
   { "game.panel.key_2.draw_masked",            "false"                 },
   { "game.panel.key_2.draw_order",             "0"                     },
+  { "game.panel.key_2.class",                  "none"                  },
+  { "game.panel.key_2.style",                  "none"                  },
   { "game.panel.key_3.x",                      "50"                    },
   { "game.panel.key_3.y",                      "123"                   },
   { "game.panel.key_3.tile_size",              "16"                    },
   { "game.panel.key_3.draw_masked",            "false"                 },
   { "game.panel.key_3.draw_order",             "0"                     },
+  { "game.panel.key_3.class",                  "none"                  },
+  { "game.panel.key_3.style",                  "none"                  },
   { "game.panel.key_4.x",                      "66"                    },
   { "game.panel.key_4.y",                      "123"                   },
   { "game.panel.key_4.tile_size",              "16"                    },
   { "game.panel.key_4.draw_masked",            "false"                 },
   { "game.panel.key_4.draw_order",             "0"                     },
+  { "game.panel.key_4.class",                  "none"                  },
+  { "game.panel.key_4.style",                  "none"                  },
   { "game.panel.key_5.x",                      "-1"                    },
   { "game.panel.key_5.y",                      "-1"                    },
   { "game.panel.key_5.tile_size",              "16"                    },
   { "game.panel.key_5.draw_masked",            "false"                 },
   { "game.panel.key_5.draw_order",             "0"                     },
+  { "game.panel.key_5.class",                  "none"                  },
+  { "game.panel.key_5.style",                  "none"                  },
   { "game.panel.key_6.x",                      "-1"                    },
   { "game.panel.key_6.y",                      "-1"                    },
   { "game.panel.key_6.tile_size",              "16"                    },
   { "game.panel.key_6.draw_masked",            "false"                 },
   { "game.panel.key_6.draw_order",             "0"                     },
+  { "game.panel.key_6.class",                  "none"                  },
+  { "game.panel.key_6.style",                  "none"                  },
   { "game.panel.key_7.x",                      "-1"                    },
   { "game.panel.key_7.y",                      "-1"                    },
   { "game.panel.key_7.tile_size",              "16"                    },
   { "game.panel.key_7.draw_masked",            "false"                 },
   { "game.panel.key_7.draw_order",             "0"                     },
+  { "game.panel.key_7.class",                  "none"                  },
+  { "game.panel.key_7.style",                  "none"                  },
   { "game.panel.key_8.x",                      "-1"                    },
   { "game.panel.key_8.y",                      "-1"                    },
   { "game.panel.key_8.tile_size",              "16"                    },
   { "game.panel.key_8.draw_masked",            "false"                 },
   { "game.panel.key_8.draw_order",             "0"                     },
+  { "game.panel.key_8.class",                  "none"                  },
+  { "game.panel.key_8.style",                  "none"                  },
   { "game.panel.key_white.x",                  "-1"                    },
   { "game.panel.key_white.y",                  "-1"                    },
   { "game.panel.key_white.tile_size",          "16"                    },
   { "game.panel.key_white.draw_masked",                "false"                 },
   { "game.panel.key_white.draw_order",         "0"                     },
+  { "game.panel.key_white.class",              "none"                  },
+  { "game.panel.key_white.style",              "none"                  },
   { "game.panel.key_white_count.x",            "-1"                    },
   { "game.panel.key_white_count.y",            "-1"                    },
   { "game.panel.key_white_count.align",                "left"                  },
@@ -8438,6 +8603,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.key_white_count.font",         "font.text_2"           },
   { "game.panel.key_white_count.draw_masked",  "true"                  },
   { "game.panel.key_white_count.draw_order",   "0"                     },
+  { "game.panel.key_white_count.class",                "none"                  },
+  { "game.panel.key_white_count.style",                "none"                  },
 
   { "game.panel.score.x",                      "50"                    },
   { "game.panel.score.y",                      "159"                   },
@@ -8447,6 +8614,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.score.font",                   "font.text_2"           },
   { "game.panel.score.draw_masked",            "true"                  },
   { "game.panel.score.draw_order",             "0"                     },
+  { "game.panel.score.class",                  "none"                  },
+  { "game.panel.score.style",                  "none"                  },
 
   { "game.panel.highscore.x",                  "-1"                    },
   { "game.panel.highscore.y",                  "-1"                    },
@@ -8456,6 +8625,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.highscore.font",               "font.text_2"           },
   { "game.panel.highscore.draw_masked",                "true"                  },
   { "game.panel.highscore.draw_order",         "0"                     },
+  { "game.panel.highscore.class",              "none"                  },
+  { "game.panel.highscore.style",              "none"                  },
 
   { "game.panel.time.x",                       "50"                    },
   { "game.panel.time.y",                       "194"                   },
@@ -8466,6 +8637,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.time.font_narrow",             "font.text_1"           },
   { "game.panel.time.draw_masked",             "true"                  },
   { "game.panel.time.draw_order",              "0"                     },
+  { "game.panel.time.class",                   "none"                  },
+  { "game.panel.time.style",                   "none"                  },
 
   { "game.panel.time_hh.x",                    "-1"                    },
   { "game.panel.time_hh.y",                    "-1"                    },
@@ -8475,6 +8648,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.time_hh.font",                 "font.text_2"           },
   { "game.panel.time_hh.draw_masked",          "true"                  },
   { "game.panel.time_hh.draw_order",           "0"                     },
+  { "game.panel.time_hh.class",                        "none"                  },
+  { "game.panel.time_hh.style",                        "none"                  },
   { "game.panel.time_mm.x",                    "-1"                    },
   { "game.panel.time_mm.y",                    "-1"                    },
   { "game.panel.time_mm.align",                        "left"                  },
@@ -8483,6 +8658,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.time_mm.font",                 "font.text_2"           },
   { "game.panel.time_mm.draw_masked",          "true"                  },
   { "game.panel.time_mm.draw_order",           "0"                     },
+  { "game.panel.time_mm.class",                        "none"                  },
+  { "game.panel.time_mm.style",                        "none"                  },
   { "game.panel.time_ss.x",                    "-1"                    },
   { "game.panel.time_ss.y",                    "-1"                    },
   { "game.panel.time_ss.align",                        "left"                  },
@@ -8491,11 +8668,14 @@ struct ConfigInfo image_config[] =
   { "game.panel.time_ss.font",                 "font.text_2"           },
   { "game.panel.time_ss.draw_masked",          "true"                  },
   { "game.panel.time_ss.draw_order",           "0"                     },
+  { "game.panel.time_ss.class",                        "none"                  },
+  { "game.panel.time_ss.style",                        "none"                  },
 
   { "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.time_anim.style",              "none"                  },
 
   { "game.panel.health.x",                     "-1"                    },
   { "game.panel.health.y",                     "-1"                    },
@@ -8506,6 +8686,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.health.font_narrow",           "font.text_1"           },
   { "game.panel.health.draw_masked",           "true"                  },
   { "game.panel.health.draw_order",            "0"                     },
+  { "game.panel.health.class",                 "none"                  },
+  { "game.panel.health.style",                 "none"                  },
 
   { "game.panel.health_anim.x",                        "5"                     },
   { "game.panel.health_anim.y",                        "107"                   },
@@ -8521,6 +8703,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.frame.font",                   "font.text_2"           },
   { "game.panel.frame.draw_masked",            "true"                  },
   { "game.panel.frame.draw_order",             "0"                     },
+  { "game.panel.frame.class",                  "none"                  },
+  { "game.panel.frame.style",                  "none"                  },
 
   { "game.panel.shield_normal.x",              "-1"                    },
   { "game.panel.shield_normal.y",              "-1"                    },
@@ -8535,6 +8719,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.shield_normal_time.font",      "font.text_2"           },
   { "game.panel.shield_normal_time.draw_masked", "true"                        },
   { "game.panel.shield_normal_time.draw_order",        "0"                     },
+  { "game.panel.shield_normal_time.class",     "none"                  },
+  { "game.panel.shield_normal_time.style",     "none"                  },
   { "game.panel.shield_deadly.x",              "-1"                    },
   { "game.panel.shield_deadly.y",              "-1"                    },
   { "game.panel.shield_deadly.tile_size",      "16"                    },
@@ -8548,12 +8734,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.shield_deadly_time.font",      "font.text_2"           },
   { "game.panel.shield_deadly_time.draw_masked","true"                 },
   { "game.panel.shield_deadly_time.draw_order",        "0"                     },
+  { "game.panel.shield_deadly_time.class",     "none"                  },
+  { "game.panel.shield_deadly_time.style",     "none"                  },
 
   { "game.panel.exit.x",                       "-1"                    },
   { "game.panel.exit.y",                       "-1"                    },
   { "game.panel.exit.tile_size",               "16"                    },
   { "game.panel.exit.draw_masked",             "false"                 },
   { "game.panel.exit.draw_order",              "0"                     },
+  { "game.panel.exit.class",                   "none"                  },
+  { "game.panel.exit.style",                   "none"                  },
 
   { "game.panel.emc_magic_ball.x",             "-1"                    },
   { "game.panel.emc_magic_ball.y",             "-1"                    },
@@ -8565,6 +8755,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.emc_magic_ball_switch.tile_size", "16"                 },
   { "game.panel.emc_magic_ball_switch.draw_masked", "true"             },
   { "game.panel.emc_magic_ball_switch.draw_order", "0"                 },
+  { "game.panel.emc_magic_ball_switch.class",  "none"                  },
+  { "game.panel.emc_magic_ball_switch.style",  "none"                  },
 
   { "game.panel.light_switch.x",               "-1"                    },
   { "game.panel.light_switch.y",               "-1"                    },
@@ -8579,6 +8771,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.light_switch_time.font",       "font.text_2"           },
   { "game.panel.light_switch_time.draw_masked",        "true"                  },
   { "game.panel.light_switch_time.draw_order", "0"                     },
+  { "game.panel.light_switch_time.class",      "none"                  },
+  { "game.panel.light_switch_time.style",      "none"                  },
 
   { "game.panel.timegate_switch.x",            "-1"                    },
   { "game.panel.timegate_switch.y",            "-1"                    },
@@ -8593,18 +8787,24 @@ struct ConfigInfo image_config[] =
   { "game.panel.timegate_switch_time.font",    "font.text_2"           },
   { "game.panel.timegate_switch_time.draw_masked", "true"              },
   { "game.panel.timegate_switch_time.draw_order", "0"                  },
+  { "game.panel.timegate_switch_time.class",   "none"                  },
+  { "game.panel.timegate_switch_time.style",   "none"                  },
 
   { "game.panel.switchgate_switch.x",          "-1"                    },
   { "game.panel.switchgate_switch.y",          "-1"                    },
   { "game.panel.switchgate_switch.tile_size",  "16"                    },
   { "game.panel.switchgate_switch.draw_masked",        "false"                 },
   { "game.panel.switchgate_switch.draw_order", "0"                     },
+  { "game.panel.switchgate_switch.class",      "none"                  },
+  { "game.panel.switchgate_switch.style",      "none"                  },
 
   { "game.panel.emc_lenses.x",                 "-1"                    },
   { "game.panel.emc_lenses.y",                 "-1"                    },
   { "game.panel.emc_lenses.tile_size",         "16"                    },
   { "game.panel.emc_lenses.draw_masked",       "false"                 },
   { "game.panel.emc_lenses.draw_order",                "0"                     },
+  { "game.panel.emc_lenses.class",             "none"                  },
+  { "game.panel.emc_lenses.style",             "none"                  },
   { "game.panel.emc_lenses_time.x",            "-1"                    },
   { "game.panel.emc_lenses_time.y",            "-1"                    },
   { "game.panel.emc_lenses_time.align",                "left"                  },
@@ -8613,12 +8813,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.emc_lenses_time.font",         "font.text_2"           },
   { "game.panel.emc_lenses_time.draw_masked",  "true"                  },
   { "game.panel.emc_lenses_time.draw_order",   "0"                     },
+  { "game.panel.emc_lenses_time.class",                "none"                  },
+  { "game.panel.emc_lenses_time.style",                "none"                  },
 
   { "game.panel.emc_magnifier.x",              "-1"                    },
   { "game.panel.emc_magnifier.y",              "-1"                    },
   { "game.panel.emc_magnifier.tile_size",      "16"                    },
   { "game.panel.emc_magnifier.draw_masked",    "false"                 },
   { "game.panel.emc_magnifier.draw_order",     "0"                     },
+  { "game.panel.emc_magnifier.class",          "none"                  },
+  { "game.panel.emc_magnifier.style",          "none"                  },
   { "game.panel.emc_magnifier_time.x",         "-1"                    },
   { "game.panel.emc_magnifier_time.y",         "-1"                    },
   { "game.panel.emc_magnifier_time.align",     "left"                  },
@@ -8627,12 +8831,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.emc_magnifier_time.font",      "font.text_2"           },
   { "game.panel.emc_magnifier_time.draw_masked","true"                 },
   { "game.panel.emc_magnifier_time.draw_order",        "0"                     },
+  { "game.panel.emc_magnifier_time.class",     "none"                  },
+  { "game.panel.emc_magnifier_time.style",     "none"                  },
 
   { "game.panel.balloon_switch.x",             "-1"                    },
   { "game.panel.balloon_switch.y",             "-1"                    },
   { "game.panel.balloon_switch.tile_size",     "16"                    },
   { "game.panel.balloon_switch.draw_masked",   "false"                 },
   { "game.panel.balloon_switch.draw_order",    "0"                     },
+  { "game.panel.balloon_switch.class",         "none"                  },
+  { "game.panel.balloon_switch.style",         "none"                  },
 
   { "game.panel.dynabomb_number.x",            "-1"                    },
   { "game.panel.dynabomb_number.y",            "-1"                    },
@@ -8642,6 +8850,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.dynabomb_number.font",         "font.text_2"           },
   { "game.panel.dynabomb_number.draw_masked",  "true"                  },
   { "game.panel.dynabomb_number.draw_order",   "0"                     },
+  { "game.panel.dynabomb_number.class",                "none"                  },
+  { "game.panel.dynabomb_number.style",                "none"                  },
   { "game.panel.dynabomb_size.x",              "-1"                    },
   { "game.panel.dynabomb_size.y",              "-1"                    },
   { "game.panel.dynabomb_size.align",          "left"                  },
@@ -8650,11 +8860,15 @@ struct ConfigInfo image_config[] =
   { "game.panel.dynabomb_size.font",           "font.text_2"           },
   { "game.panel.dynabomb_size.draw_masked",    "true"                  },
   { "game.panel.dynabomb_size.draw_order",     "0"                     },
+  { "game.panel.dynabomb_size.class",          "none"                  },
+  { "game.panel.dynabomb_size.style",          "none"                  },
   { "game.panel.dynabomb_power.x",             "-1"                    },
   { "game.panel.dynabomb_power.y",             "-1"                    },
   { "game.panel.dynabomb_power.tile_size",     "16"                    },
   { "game.panel.dynabomb_power.draw_masked",   "false"                 },
   { "game.panel.dynabomb_power.draw_order",    "0"                     },
+  { "game.panel.dynabomb_power.class",         "none"                  },
+  { "game.panel.dynabomb_power.style",         "none"                  },
 
   { "game.panel.penguins.x",                   "-1"                    },
   { "game.panel.penguins.y",                   "-1"                    },
@@ -8664,6 +8878,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.penguins.font",                        "font.text_2"           },
   { "game.panel.penguins.draw_masked",         "true"                  },
   { "game.panel.penguins.draw_order",          "0"                     },
+  { "game.panel.penguins.class",               "none"                  },
+  { "game.panel.penguins.style",               "none"                  },
 
   { "game.panel.sokoban_objects.x",            "-1"                    },
   { "game.panel.sokoban_objects.y",            "-1"                    },
@@ -8673,6 +8889,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.sokoban_objects.font",         "font.text_2"           },
   { "game.panel.sokoban_objects.draw_masked",  "true"                  },
   { "game.panel.sokoban_objects.draw_order",   "0"                     },
+  { "game.panel.sokoban_objects.class",                "none"                  },
+  { "game.panel.sokoban_objects.style",                "none"                  },
   { "game.panel.sokoban_fields.x",             "-1"                    },
   { "game.panel.sokoban_fields.y",             "-1"                    },
   { "game.panel.sokoban_fields.align",         "left"                  },
@@ -8681,59 +8899,81 @@ struct ConfigInfo image_config[] =
   { "game.panel.sokoban_fields.font",          "font.text_2"           },
   { "game.panel.sokoban_fields.draw_masked",   "true"                  },
   { "game.panel.sokoban_fields.draw_order",    "0"                     },
+  { "game.panel.sokoban_fields.class",         "none"                  },
+  { "game.panel.sokoban_fields.style",         "none"                  },
 
   { "game.panel.robot_wheel.x",                        "-1"                    },
   { "game.panel.robot_wheel.y",                        "-1"                    },
   { "game.panel.robot_wheel.tile_size",                "16"                    },
   { "game.panel.robot_wheel.draw_masked",      "false"                 },
   { "game.panel.robot_wheel.draw_order",       "0"                     },
+  { "game.panel.robot_wheel.class",            "none"                  },
+  { "game.panel.robot_wheel.style",            "none"                  },
 
   { "game.panel.conveyor_belt_1.x",            "-1"                    },
   { "game.panel.conveyor_belt_1.y",            "-1"                    },
   { "game.panel.conveyor_belt_1.tile_size",    "16"                    },
   { "game.panel.conveyor_belt_1.draw_masked",  "false"                 },
   { "game.panel.conveyor_belt_1.draw_order",   "0"                     },
+  { "game.panel.conveyor_belt_1.class",                "none"                  },
+  { "game.panel.conveyor_belt_1.style",                "none"                  },
   { "game.panel.conveyor_belt_1_switch.x",     "-1"                    },
   { "game.panel.conveyor_belt_1_switch.y",     "-1"                    },
   { "game.panel.conveyor_belt_1_switch.tile_size", "16"                        },
   { "game.panel.conveyor_belt_1_switch.draw_masked", "false"           },
   { "game.panel.conveyor_belt_1_switch.draw_order", "0"                        },
+  { "game.panel.conveyor_belt_1_switch.class", "none"                  },
+  { "game.panel.conveyor_belt_1_switch.style", "none"                  },
   { "game.panel.conveyor_belt_2.x",            "-1"                    },
   { "game.panel.conveyor_belt_2.y",            "-1"                    },
   { "game.panel.conveyor_belt_2.tile_size",    "16"                    },
   { "game.panel.conveyor_belt_2.draw_masked",  "false"                 },
   { "game.panel.conveyor_belt_2.draw_order",   "0"                     },
+  { "game.panel.conveyor_belt_2.class",                "none"                  },
+  { "game.panel.conveyor_belt_2.style",                "none"                  },
   { "game.panel.conveyor_belt_2_switch.x",     "-1"                    },
   { "game.panel.conveyor_belt_2_switch.y",     "-1"                    },
   { "game.panel.conveyor_belt_2_switch.tile_size", "16"                        },
   { "game.panel.conveyor_belt_2_switch.draw_masked", "false"           },
   { "game.panel.conveyor_belt_2_switch.draw_order", "0"                        },
+  { "game.panel.conveyor_belt_2_switch.class", "none"                  },
+  { "game.panel.conveyor_belt_2_switch.style", "none"                  },
   { "game.panel.conveyor_belt_3.x",            "-1"                    },
   { "game.panel.conveyor_belt_3.y",            "-1"                    },
   { "game.panel.conveyor_belt_3.tile_size",    "16"                    },
   { "game.panel.conveyor_belt_3.draw_masked",  "false"                 },
   { "game.panel.conveyor_belt_3.draw_order",   "0"                     },
+  { "game.panel.conveyor_belt_3.class",                "none"                  },
+  { "game.panel.conveyor_belt_3.style",                "none"                  },
   { "game.panel.conveyor_belt_3_switch.x",     "-1"                    },
   { "game.panel.conveyor_belt_3_switch.y",     "-1"                    },
   { "game.panel.conveyor_belt_3_switch.tile_size", "16"                        },
   { "game.panel.conveyor_belt_3_switch.draw_masked", "false"           },
   { "game.panel.conveyor_belt_3_switch.draw_order", "0"                        },
+  { "game.panel.conveyor_belt_3_switch.class", "none"                  },
+  { "game.panel.conveyor_belt_3_switch.style", "none"                  },
   { "game.panel.conveyor_belt_4.x",            "-1"                    },
   { "game.panel.conveyor_belt_4.y",            "-1"                    },
   { "game.panel.conveyor_belt_4.tile_size",    "16"                    },
   { "game.panel.conveyor_belt_4.draw_masked",  "false"                 },
   { "game.panel.conveyor_belt_4.draw_order",   "0"                     },
+  { "game.panel.conveyor_belt_4.class",                "none"                  },
+  { "game.panel.conveyor_belt_4.style",                "none"                  },
   { "game.panel.conveyor_belt_4_switch.x",     "-1"                    },
   { "game.panel.conveyor_belt_4_switch.y",     "-1"                    },
   { "game.panel.conveyor_belt_4_switch.tile_size", "16"                        },
   { "game.panel.conveyor_belt_4_switch.draw_masked", "false"           },
   { "game.panel.conveyor_belt_4_switch.draw_order", "0"                        },
+  { "game.panel.conveyor_belt_4_switch.class", "none"                  },
+  { "game.panel.conveyor_belt_4_switch.style", "none"                  },
 
   { "game.panel.magic_wall.x",                 "-1"                    },
   { "game.panel.magic_wall.y",                 "-1"                    },
   { "game.panel.magic_wall.tile_size",         "16"                    },
   { "game.panel.magic_wall.draw_masked",       "false"                 },
   { "game.panel.magic_wall.draw_order",                "0"                     },
+  { "game.panel.magic_wall.class",             "none"                  },
+  { "game.panel.magic_wall.style",             "none"                  },
   { "game.panel.magic_wall_time.x",            "-1"                    },
   { "game.panel.magic_wall_time.y",            "-1"                    },
   { "game.panel.magic_wall_time.align",                "left"                  },
@@ -8742,6 +8982,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.magic_wall_time.font",         "font.text_2"           },
   { "game.panel.magic_wall_time.draw_masked",  "true"                  },
   { "game.panel.magic_wall_time.draw_order",   "0"                     },
+  { "game.panel.magic_wall_time.class",                "none"                  },
+  { "game.panel.magic_wall_time.style",                "none"                  },
 
   { "game.panel.gravity_state.x",              "-1"                    },
   { "game.panel.gravity_state.y",              "-1"                    },
@@ -8752,39 +8994,57 @@ struct ConfigInfo image_config[] =
   { "game.panel.gravity_state.font_active",    "font.text_2"           },
   { "game.panel.gravity_state.draw_masked",    "true"                  },
   { "game.panel.gravity_state.draw_order",     "0"                     },
+  { "game.panel.gravity_state.class",          "none"                  },
+  { "game.panel.gravity_state.style",          "none"                  },
 
   { "game.panel.graphic_1.x",                  "-1"                    },
   { "game.panel.graphic_1.y",                  "-1"                    },
   { "game.panel.graphic_1.draw_masked",                "true"                  },
   { "game.panel.graphic_1.draw_order",         "0"                     },
+  { "game.panel.graphic_1.class",              "none"                  },
+  { "game.panel.graphic_1.style",              "none"                  },
   { "game.panel.graphic_2.x",                  "-1"                    },
   { "game.panel.graphic_2.y",                  "-1"                    },
   { "game.panel.graphic_2.draw_masked",                "true"                  },
   { "game.panel.graphic_2.draw_order",         "0"                     },
+  { "game.panel.graphic_2.class",              "none"                  },
+  { "game.panel.graphic_2.style",              "none"                  },
   { "game.panel.graphic_3.x",                  "-1"                    },
   { "game.panel.graphic_3.y",                  "-1"                    },
   { "game.panel.graphic_3.draw_masked",                "true"                  },
   { "game.panel.graphic_3.draw_order",         "0"                     },
+  { "game.panel.graphic_3.class",              "none"                  },
+  { "game.panel.graphic_3.style",              "none"                  },
   { "game.panel.graphic_4.x",                  "-1"                    },
   { "game.panel.graphic_4.y",                  "-1"                    },
   { "game.panel.graphic_4.draw_masked",                "true"                  },
   { "game.panel.graphic_4.draw_order",         "0"                     },
+  { "game.panel.graphic_4.class",              "none"                  },
+  { "game.panel.graphic_4.style",              "none"                  },
   { "game.panel.graphic_5.x",                  "-1"                    },
   { "game.panel.graphic_5.y",                  "-1"                    },
   { "game.panel.graphic_5.draw_masked",                "true"                  },
   { "game.panel.graphic_5.draw_order",         "0"                     },
+  { "game.panel.graphic_5.class",              "none"                  },
+  { "game.panel.graphic_5.style",              "none"                  },
   { "game.panel.graphic_6.x",                  "-1"                    },
   { "game.panel.graphic_6.y",                  "-1"                    },
   { "game.panel.graphic_6.draw_masked",                "true"                  },
   { "game.panel.graphic_6.draw_order",         "0"                     },
+  { "game.panel.graphic_6.class",              "none"                  },
+  { "game.panel.graphic_6.style",              "none"                  },
   { "game.panel.graphic_7.x",                  "-1"                    },
   { "game.panel.graphic_7.y",                  "-1"                    },
   { "game.panel.graphic_7.draw_masked",                "true"                  },
   { "game.panel.graphic_7.draw_order",         "0"                     },
+  { "game.panel.graphic_7.class",              "none"                  },
+  { "game.panel.graphic_7.style",              "none"                  },
   { "game.panel.graphic_8.x",                  "-1"                    },
   { "game.panel.graphic_8.y",                  "-1"                    },
   { "game.panel.graphic_8.draw_masked",                "true"                  },
   { "game.panel.graphic_8.draw_order",         "0"                     },
+  { "game.panel.graphic_8.class",              "none"                  },
+  { "game.panel.graphic_8.style",              "none"                  },
 
   { "game.panel.element_1.x",                  "-1"                    },
   { "game.panel.element_1.y",                  "-1"                    },
@@ -8792,6 +9052,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.element_1.element",            "empty_space"           },
   { "game.panel.element_1.draw_masked",                "false"                 },
   { "game.panel.element_1.draw_order",         "0"                     },
+  { "game.panel.element_1.class",              "none"                  },
+  { "game.panel.element_1.style",              "none"                  },
   { "game.panel.element_1_count.x",            "-1"                    },
   { "game.panel.element_1_count.y",            "-1"                    },
   { "game.panel.element_1_count.align",                "left"                  },
@@ -8801,12 +9063,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.element_1_count.element",      "empty_space"           },
   { "game.panel.element_1_count.draw_masked",  "true"                  },
   { "game.panel.element_1_count.draw_order",   "0"                     },
+  { "game.panel.element_1_count.class",                "none"                  },
+  { "game.panel.element_1_count.style",                "none"                  },
   { "game.panel.element_2.x",                  "-1"                    },
   { "game.panel.element_2.y",                  "-1"                    },
   { "game.panel.element_2.tile_size",          "16"                    },
   { "game.panel.element_2.element",            "empty_space"           },
   { "game.panel.element_2.draw_masked",                "false"                 },
   { "game.panel.element_2.draw_order",         "0"                     },
+  { "game.panel.element_2.class",              "none"                  },
+  { "game.panel.element_2.style",              "none"                  },
   { "game.panel.element_2_count.x",            "-1"                    },
   { "game.panel.element_2_count.y",            "-1"                    },
   { "game.panel.element_2_count.align",                "left"                  },
@@ -8816,12 +9082,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.element_2_count.element",      "empty_space"           },
   { "game.panel.element_2_count.draw_masked",  "true"                  },
   { "game.panel.element_2_count.draw_order",   "0"                     },
+  { "game.panel.element_2_count.class",                "none"                  },
+  { "game.panel.element_2_count.style",                "none"                  },
   { "game.panel.element_3.x",                  "-1"                    },
   { "game.panel.element_3.y",                  "-1"                    },
   { "game.panel.element_3.tile_size",          "16"                    },
   { "game.panel.element_3.element",            "empty_space"           },
   { "game.panel.element_3.draw_masked",                "false"                 },
   { "game.panel.element_3.draw_order",         "0"                     },
+  { "game.panel.element_3.class",              "none"                  },
+  { "game.panel.element_3.style",              "none"                  },
   { "game.panel.element_3_count.x",            "-1"                    },
   { "game.panel.element_3_count.y",            "-1"                    },
   { "game.panel.element_3_count.align",                "left"                  },
@@ -8831,12 +9101,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.element_3_count.element",      "empty_space"           },
   { "game.panel.element_3_count.draw_masked",  "true"                  },
   { "game.panel.element_3_count.draw_order",   "0"                     },
+  { "game.panel.element_3_count.class",                "none"                  },
+  { "game.panel.element_3_count.style",                "none"                  },
   { "game.panel.element_4.x",                  "-1"                    },
   { "game.panel.element_4.y",                  "-1"                    },
   { "game.panel.element_4.tile_size",          "16"                    },
   { "game.panel.element_4.element",            "empty_space"           },
   { "game.panel.element_4.draw_masked",                "false"                 },
   { "game.panel.element_4.draw_order",         "0"                     },
+  { "game.panel.element_4.class",              "none"                  },
+  { "game.panel.element_4.style",              "none"                  },
   { "game.panel.element_4_count.x",            "-1"                    },
   { "game.panel.element_4_count.y",            "-1"                    },
   { "game.panel.element_4_count.align",                "left"                  },
@@ -8846,12 +9120,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.element_4_count.element",      "empty_space"           },
   { "game.panel.element_4_count.draw_masked",  "true"                  },
   { "game.panel.element_4_count.draw_order",   "0"                     },
+  { "game.panel.element_4_count.class",                "none"                  },
+  { "game.panel.element_4_count.style",                "none"                  },
   { "game.panel.element_5.x",                  "-1"                    },
   { "game.panel.element_5.y",                  "-1"                    },
   { "game.panel.element_5.tile_size",          "16"                    },
   { "game.panel.element_5.element",            "empty_space"           },
   { "game.panel.element_5.draw_masked",                "false"                 },
   { "game.panel.element_5.draw_order",         "0"                     },
+  { "game.panel.element_5.class",              "none"                  },
+  { "game.panel.element_5.style",              "none"                  },
   { "game.panel.element_5_count.x",            "-1"                    },
   { "game.panel.element_5_count.y",            "-1"                    },
   { "game.panel.element_5_count.align",                "left"                  },
@@ -8861,12 +9139,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.element_5_count.element",      "empty_space"           },
   { "game.panel.element_5_count.draw_masked",  "true"                  },
   { "game.panel.element_5_count.draw_order",   "0"                     },
+  { "game.panel.element_5_count.class",                "none"                  },
+  { "game.panel.element_5_count.style",                "none"                  },
   { "game.panel.element_6.x",                  "-1"                    },
   { "game.panel.element_6.y",                  "-1"                    },
   { "game.panel.element_6.tile_size",          "16"                    },
   { "game.panel.element_6.element",            "empty_space"           },
   { "game.panel.element_6.draw_masked",                "false"                 },
   { "game.panel.element_6.draw_order",         "0"                     },
+  { "game.panel.element_6.class",              "none"                  },
+  { "game.panel.element_6.style",              "none"                  },
   { "game.panel.element_6_count.x",            "-1"                    },
   { "game.panel.element_6_count.y",            "-1"                    },
   { "game.panel.element_6_count.align",                "left"                  },
@@ -8876,12 +9158,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.element_6_count.element",      "empty_space"           },
   { "game.panel.element_6_count.draw_masked",  "true"                  },
   { "game.panel.element_6_count.draw_order",   "0"                     },
+  { "game.panel.element_6_count.class",                "none"                  },
+  { "game.panel.element_6_count.style",                "none"                  },
   { "game.panel.element_7.x",                  "-1"                    },
   { "game.panel.element_7.y",                  "-1"                    },
   { "game.panel.element_7.tile_size",          "16"                    },
   { "game.panel.element_7.element",            "empty_space"           },
   { "game.panel.element_7.draw_masked",                "false"                 },
   { "game.panel.element_7.draw_order",         "0"                     },
+  { "game.panel.element_7.class",              "none"                  },
+  { "game.panel.element_7.style",              "none"                  },
   { "game.panel.element_7_count.x",            "-1"                    },
   { "game.panel.element_7_count.y",            "-1"                    },
   { "game.panel.element_7_count.align",                "left"                  },
@@ -8891,12 +9177,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.element_7_count.element",      "empty_space"           },
   { "game.panel.element_7_count.draw_masked",  "true"                  },
   { "game.panel.element_7_count.draw_order",   "0"                     },
+  { "game.panel.element_7_count.class",                "none"                  },
+  { "game.panel.element_7_count.style",                "none"                  },
   { "game.panel.element_8.x",                  "-1"                    },
   { "game.panel.element_8.y",                  "-1"                    },
   { "game.panel.element_8.tile_size",          "16"                    },
   { "game.panel.element_8.element",            "empty_space"           },
   { "game.panel.element_8.draw_masked",                "false"                 },
   { "game.panel.element_8.draw_order",         "0"                     },
+  { "game.panel.element_8.class",              "none"                  },
+  { "game.panel.element_8.style",              "none"                  },
   { "game.panel.element_8_count.x",            "-1"                    },
   { "game.panel.element_8_count.y",            "-1"                    },
   { "game.panel.element_8_count.align",                "left"                  },
@@ -8906,6 +9196,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.element_8_count.element",      "empty_space"           },
   { "game.panel.element_8_count.draw_masked",  "true"                  },
   { "game.panel.element_8_count.draw_order",   "0"                     },
+  { "game.panel.element_8_count.class",                "none"                  },
+  { "game.panel.element_8_count.style",                "none"                  },
 
   { "game.panel.ce_score_1.x",                 "-1"                    },
   { "game.panel.ce_score_1.y",                 "-1"                    },
@@ -8916,12 +9208,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.ce_score_1.element",           "empty_space"           },
   { "game.panel.ce_score_1.draw_masked",       "true"                  },
   { "game.panel.ce_score_1.draw_order",                "0"                     },
+  { "game.panel.ce_score_1.class",             "none"                  },
+  { "game.panel.ce_score_1.style",             "none"                  },
   { "game.panel.ce_score_1_element.x",         "-1"                    },
   { "game.panel.ce_score_1_element.y",         "-1"                    },
   { "game.panel.ce_score_1_element.tile_size", "16"                    },
   { "game.panel.ce_score_1_element.element",   "empty_space"           },
   { "game.panel.ce_score_1_element.draw_masked","false"                        },
   { "game.panel.ce_score_1_element.draw_order",        "0"                     },
+  { "game.panel.ce_score_1_element.class",     "none"                  },
+  { "game.panel.ce_score_1_element.style",     "none"                  },
   { "game.panel.ce_score_2.x",                 "-1"                    },
   { "game.panel.ce_score_2.y",                 "-1"                    },
   { "game.panel.ce_score_2.align",             "left"                  },
@@ -8931,12 +9227,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.ce_score_2.element",           "empty_space"           },
   { "game.panel.ce_score_2.draw_masked",       "true"                  },
   { "game.panel.ce_score_2.draw_order",                "0"                     },
+  { "game.panel.ce_score_2.class",             "none"                  },
+  { "game.panel.ce_score_2.style",             "none"                  },
   { "game.panel.ce_score_2_element.x",         "-1"                    },
   { "game.panel.ce_score_2_element.y",         "-1"                    },
   { "game.panel.ce_score_2_element.tile_size", "16"                    },
   { "game.panel.ce_score_2_element.element",   "empty_space"           },
   { "game.panel.ce_score_2_element.draw_masked","false"                        },
   { "game.panel.ce_score_2_element.draw_order",        "0"                     },
+  { "game.panel.ce_score_2_element.class",     "none"                  },
+  { "game.panel.ce_score_2_element.style",     "none"                  },
   { "game.panel.ce_score_3.x",                 "-1"                    },
   { "game.panel.ce_score_3.y",                 "-1"                    },
   { "game.panel.ce_score_3.align",             "left"                  },
@@ -8946,12 +9246,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.ce_score_3.element",           "empty_space"           },
   { "game.panel.ce_score_3.draw_masked",       "true"                  },
   { "game.panel.ce_score_3.draw_order",                "0"                     },
+  { "game.panel.ce_score_3.class",             "none"                  },
+  { "game.panel.ce_score_3.style",             "none"                  },
   { "game.panel.ce_score_3_element.x",         "-1"                    },
   { "game.panel.ce_score_3_element.y",         "-1"                    },
   { "game.panel.ce_score_3_element.tile_size", "16"                    },
   { "game.panel.ce_score_3_element.element",   "empty_space"           },
   { "game.panel.ce_score_3_element.draw_masked","false"                        },
   { "game.panel.ce_score_3_element.draw_order",        "0"                     },
+  { "game.panel.ce_score_3_element.class",     "none"                  },
+  { "game.panel.ce_score_3_element.style",     "none"                  },
   { "game.panel.ce_score_4.x",                 "-1"                    },
   { "game.panel.ce_score_4.y",                 "-1"                    },
   { "game.panel.ce_score_4.align",             "left"                  },
@@ -8961,12 +9265,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.ce_score_4.element",           "empty_space"           },
   { "game.panel.ce_score_4.draw_masked",       "true"                  },
   { "game.panel.ce_score_4.draw_order",                "0"                     },
+  { "game.panel.ce_score_4.class",             "none"                  },
+  { "game.panel.ce_score_4.style",             "none"                  },
   { "game.panel.ce_score_4_element.x",         "-1"                    },
   { "game.panel.ce_score_4_element.y",         "-1"                    },
   { "game.panel.ce_score_4_element.tile_size", "16"                    },
   { "game.panel.ce_score_4_element.element",   "empty_space"           },
   { "game.panel.ce_score_4_element.draw_masked","false"                        },
   { "game.panel.ce_score_4_element.draw_order",        "0"                     },
+  { "game.panel.ce_score_4_element.class",     "none"                  },
+  { "game.panel.ce_score_4_element.style",     "none"                  },
   { "game.panel.ce_score_5.x",                 "-1"                    },
   { "game.panel.ce_score_5.y",                 "-1"                    },
   { "game.panel.ce_score_5.align",             "left"                  },
@@ -8976,12 +9284,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.ce_score_5.element",           "empty_space"           },
   { "game.panel.ce_score_5.draw_masked",       "true"                  },
   { "game.panel.ce_score_5.draw_order",                "0"                     },
+  { "game.panel.ce_score_5.class",             "none"                  },
+  { "game.panel.ce_score_5.style",             "none"                  },
   { "game.panel.ce_score_5_element.x",         "-1"                    },
   { "game.panel.ce_score_5_element.y",         "-1"                    },
   { "game.panel.ce_score_5_element.tile_size", "16"                    },
   { "game.panel.ce_score_5_element.element",   "empty_space"           },
   { "game.panel.ce_score_5_element.draw_masked","false"                        },
   { "game.panel.ce_score_5_element.draw_order",        "0"                     },
+  { "game.panel.ce_score_5_element.class",     "none"                  },
+  { "game.panel.ce_score_5_element.style",     "none"                  },
   { "game.panel.ce_score_6.x",                 "-1"                    },
   { "game.panel.ce_score_6.y",                 "-1"                    },
   { "game.panel.ce_score_6.align",             "left"                  },
@@ -8991,12 +9303,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.ce_score_6.element",           "empty_space"           },
   { "game.panel.ce_score_6.draw_masked",       "true"                  },
   { "game.panel.ce_score_6.draw_order",                "0"                     },
+  { "game.panel.ce_score_6.class",             "none"                  },
+  { "game.panel.ce_score_6.style",             "none"                  },
   { "game.panel.ce_score_6_element.x",         "-1"                    },
   { "game.panel.ce_score_6_element.y",         "-1"                    },
   { "game.panel.ce_score_6_element.tile_size", "16"                    },
   { "game.panel.ce_score_6_element.element",   "empty_space"           },
   { "game.panel.ce_score_6_element.draw_masked","false"                        },
   { "game.panel.ce_score_6_element.draw_order",        "0"                     },
+  { "game.panel.ce_score_6_element.class",     "none"                  },
+  { "game.panel.ce_score_6_element.style",     "none"                  },
   { "game.panel.ce_score_7.x",                 "-1"                    },
   { "game.panel.ce_score_7.y",                 "-1"                    },
   { "game.panel.ce_score_7.align",             "left"                  },
@@ -9006,12 +9322,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.ce_score_7.element",           "empty_space"           },
   { "game.panel.ce_score_7.draw_masked",       "true"                  },
   { "game.panel.ce_score_7.draw_order",                "0"                     },
+  { "game.panel.ce_score_7.class",             "none"                  },
+  { "game.panel.ce_score_7.style",             "none"                  },
   { "game.panel.ce_score_7_element.x",         "-1"                    },
   { "game.panel.ce_score_7_element.y",         "-1"                    },
   { "game.panel.ce_score_7_element.tile_size", "16"                    },
   { "game.panel.ce_score_7_element.element",   "empty_space"           },
   { "game.panel.ce_score_7_element.draw_masked","false"                        },
   { "game.panel.ce_score_7_element.draw_order",        "0"                     },
+  { "game.panel.ce_score_7_element.class",     "none"                  },
+  { "game.panel.ce_score_7_element.style",     "none"                  },
   { "game.panel.ce_score_8.x",                 "-1"                    },
   { "game.panel.ce_score_8.y",                 "-1"                    },
   { "game.panel.ce_score_8.align",             "left"                  },
@@ -9021,12 +9341,16 @@ struct ConfigInfo image_config[] =
   { "game.panel.ce_score_8.element",           "empty_space"           },
   { "game.panel.ce_score_8.draw_masked",       "true"                  },
   { "game.panel.ce_score_8.draw_order",                "0"                     },
+  { "game.panel.ce_score_8.class",             "none"                  },
+  { "game.panel.ce_score_8.style",             "none"                  },
   { "game.panel.ce_score_8_element.x",         "-1"                    },
   { "game.panel.ce_score_8_element.y",         "-1"                    },
   { "game.panel.ce_score_8_element.tile_size", "16"                    },
   { "game.panel.ce_score_8_element.element",   "empty_space"           },
   { "game.panel.ce_score_8_element.draw_masked","false"                        },
   { "game.panel.ce_score_8_element.draw_order",        "0"                     },
+  { "game.panel.ce_score_8_element.class",     "none"                  },
+  { "game.panel.ce_score_8_element.style",     "none"                  },
 
   { "game.panel.player_name.x",                        "-1"                    },
   { "game.panel.player_name.y",                        "-1"                    },
@@ -9036,6 +9360,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.player_name.font",             "font.text_2"           },
   { "game.panel.player_name.draw_masked",      "true"                  },
   { "game.panel.player_name.draw_order",       "0"                     },
+  { "game.panel.player_name.class",            "none"                  },
+  { "game.panel.player_name.style",            "none"                  },
 
   { "game.panel.level_name.x",                 "-1"                    },
   { "game.panel.level_name.y",                 "-1"                    },
@@ -9045,6 +9371,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.level_name.font",              "font.text_2"           },
   { "game.panel.level_name.draw_masked",       "true"                  },
   { "game.panel.level_name.draw_order",                "0"                     },
+  { "game.panel.level_name.class",             "none"                  },
+  { "game.panel.level_name.style",             "none"                  },
   { "game.panel.level_author.x",               "-1"                    },
   { "game.panel.level_author.y",               "-1"                    },
   { "game.panel.level_author.align",           "left"                  },
@@ -9053,6 +9381,8 @@ struct ConfigInfo image_config[] =
   { "game.panel.level_author.font",            "font.text_2"           },
   { "game.panel.level_author.draw_masked",     "true"                  },
   { "game.panel.level_author.draw_order",      "0"                     },
+  { "game.panel.level_author.class",           "none"                  },
+  { "game.panel.level_author.style",           "none"                  },
 
   { "game.button.stop.x",                      "5"                     },
   { "game.button.stop.y",                      "215"                   },
@@ -9090,6 +9420,11 @@ struct ConfigInfo image_config[] =
   { "game.button.panel_sound_simple.x",                "-1"                    },
   { "game.button.panel_sound_simple.y",                "-1"                    },
 
+  { "game.button.touch_stop.x",                        "0"                     },
+  { "game.button.touch_stop.y",                        "0"                     },
+  { "game.button.touch_pause.x",               "-60"                   },
+  { "game.button.touch_pause.y",               "0"                     },
+
   { "tape.button.eject.x",                     "5"                     },
   { "tape.button.eject.y",                     "77"                    },
   { "tape.button.stop.x",                      "23"                    },
@@ -9369,23 +9704,30 @@ 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"                    },
 
+  { "request.button.touch_yes.x",              "0"                     },
+  { "request.button.touch_yes.y",              "-56"                   },
+  { "request.button.touch_no.x",               "-92"                   },
+  { "request.button.touch_no.y",               "-56"                   },
+  { "request.button.touch_confirm.x",          "0"                     },
+  { "request.button.touch_confirm.y",          "-56"                   },
+
   { "request.x",                               "-1"                    },
   { "request.y",                               "-1"                    },
   { "request.width",                           "120"                   },
@@ -9417,6 +9759,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             },
 
@@ -9424,79 +9770,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                    }
 };