added optional button to restart game (door, panel and touch variants)
[rocksndiamonds.git] / src / conf_gfx.c
index 3b39306a53007f4df03272fb227bd04cddd41765..62bdab0e6b827bcab7f6064e5c66f425adb41425 100644 (file)
@@ -41,6 +41,7 @@ struct ConfigTypeInfo image_config_suffix[] =
   { ".delay",                          "1",            TYPE_INTEGER    },
   { ".anim_mode",                      ARG_UNDEFINED,  TYPE_STRING     },
   { ".global_sync",                    "false",        TYPE_BOOLEAN    },
+  { ".global_anim_sync",               "false",        TYPE_BOOLEAN    },
   { ".crumbled_like",                  ARG_UNDEFINED,  TYPE_ELEMENT    },
   { ".diggable_like",                  ARG_UNDEFINED,  TYPE_ELEMENT    },
   { ".border_size",                    ARG_UNDEFINED,  TYPE_INTEGER    },
@@ -81,10 +82,15 @@ struct ConfigTypeInfo image_config_suffix[] =
   { ".sort_priority",                  ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".class",                          ARG_UNDEFINED,  TYPE_STRING     },
   { ".style",                          ARG_UNDEFINED,  TYPE_STRING     },
+  { ".alpha",                          ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".active_xoffset",                 "0",            TYPE_INTEGER    },
   { ".active_yoffset",                 "0",            TYPE_INTEGER    },
   { ".pressed_xoffset",                        "0",            TYPE_INTEGER    },
   { ".pressed_yoffset",                        "0",            TYPE_INTEGER    },
+  { ".stacked_xfactor",                        "1",            TYPE_INTEGER    },
+  { ".stacked_yfactor",                        "1",            TYPE_INTEGER    },
+  { ".stacked_xoffset",                        "0",            TYPE_INTEGER    },
+  { ".stacked_yoffset",                        "0",            TYPE_INTEGER    },
 
   { NULL,                              NULL,           0               }
 };
@@ -5036,20 +5042,26 @@ struct ConfigInfo image_config[] =
   { "mm_teleporter_blue_16.frames",            "1"                     },
 
   { "mm_kettle",                               "RocksMM.png"           },
-  { "mm_kettle.xpos",                          "12"                    },
-  { "mm_kettle.ypos",                          "1"                     },
+  { "mm_kettle.xpos",                          "9"                     },
+  { "mm_kettle.ypos",                          "8"                     },
   { "mm_kettle.frames",                                "1"                     },
   { "mm_kettle.exploding",                     "RocksMM.png"           },
-  { "mm_kettle.exploding.xpos",                        "13"                    },
-  { "mm_kettle.exploding.ypos",                        "1"                     },
-  { "mm_kettle.exploding.frames",              "3"                     },
-  { "mm_kettle.exploding.delay",               "4"                     },
+  { "mm_kettle.exploding.xpos",                        "10"                    },
+  { "mm_kettle.exploding.ypos",                        "8"                     },
+  { "mm_kettle.exploding.frames",              "6"                     },
+  { "mm_kettle.exploding.delay",               "2"                     },
   { "mm_kettle.exploding.anim_mode",           "linear"                },
 
   { "mm_bomb",                                 "RocksMM.png"           },
   { "mm_bomb.xpos",                            "5"                     },
   { "mm_bomb.ypos",                            "2"                     },
   { "mm_bomb.frames",                          "1"                     },
+  { "mm_bomb.active",                          "RocksMM.png"           },
+  { "mm_bomb.active.xpos",                     "12"                    },
+  { "mm_bomb.active.ypos",                     "1"                     },
+  { "mm_bomb.active.frames",                   "3"                     },
+  { "mm_bomb.active.delay",                    "6"                     },
+  { "mm_bomb.active.anim_mode",                        "pingpong"              },
 
   { "mm_prism",                                        "RocksMM.png"           },
   { "mm_prism.xpos",                           "0"                     },
@@ -5069,11 +5081,23 @@ struct ConfigInfo image_config[] =
   { "mm_steel_lock.xpos",                      "8"                     },
   { "mm_steel_lock.ypos",                      "2"                     },
   { "mm_steel_lock.frames",                    "1"                     },
+  { "mm_steel_lock.exploding",                 "RocksMM.png"           },
+  { "mm_steel_lock.exploding.xpos",            "4"                     },
+  { "mm_steel_lock.exploding.ypos",            "8"                     },
+  { "mm_steel_lock.exploding.frames",          "5"                     },
+  { "mm_steel_lock.exploding.delay",           "2"                     },
+  { "mm_steel_lock.exploding.anim_mode",       "linear"                },
 
   { "mm_wooden_lock",                          "RocksMM.png"           },
   { "mm_wooden_lock.xpos",                     "9"                     },
   { "mm_wooden_lock.ypos",                     "6"                     },
   { "mm_wooden_lock.frames",                   "1"                     },
+  { "mm_wooden_lock.exploding",                        "RocksMM.png"           },
+  { "mm_wooden_lock.exploding.xpos",           "4"                     },
+  { "mm_wooden_lock.exploding.ypos",           "8"                     },
+  { "mm_wooden_lock.exploding.frames",         "5"                     },
+  { "mm_wooden_lock.exploding.delay",          "2"                     },
+  { "mm_wooden_lock.exploding.anim_mode",      "linear"                },
 
   { "mm_steel_block",                          "RocksMM.png"           },
   { "mm_steel_block.xpos",                     "8"                     },
@@ -5121,6 +5145,16 @@ struct ConfigInfo image_config[] =
   { "mm_gray_ball.xpos",                       "15"                    },
   { "mm_gray_ball.ypos",                       "2"                     },
   { "mm_gray_ball.frames",                     "1"                     },
+  { "mm_gray_ball.active",                     "RocksMM.png"           },
+  { "mm_gray_ball.active.xpos",                        "15"                    },
+  { "mm_gray_ball.active.ypos",                        "1"                     },
+  { "mm_gray_ball.active.frames",              "2"                     },
+  { "mm_gray_ball.active.delay",               "20"                    },
+  { "mm_gray_ball.active.vertical",            "true"                  },
+  { "mm_gray_ball.EDITOR",                     "RocksMM.png"           },
+  { "mm_gray_ball.EDITOR.xpos",                        "15"                    },
+  { "mm_gray_ball.EDITOR.ypos",                        "1"                     },
+  { "mm_gray_ball.EDITOR.frames",              "1"                     },
 
   { "mm_fuel_full",                            "RocksMM.png"           },
   { "mm_fuel_full.xpos",                       "10"                    },
@@ -5200,53 +5234,26 @@ struct ConfigInfo image_config[] =
   { "mm_pacman.eating.down.ypos",              "4"                     },
   { "mm_pacman.eating.down.frames",            "1"                     },
 
-  { "mm_mask_mcduffin.right",                  "RocksMM.png"           },
-  { "mm_mask_mcduffin.right.xpos",             "8"                     },
-  { "mm_mask_mcduffin.right.ypos",             "8"                     },
-  { "mm_mask_mcduffin.right.frames",           "1"                     },
-  { "mm_mask_mcduffin.up",                     "RocksMM.png"           },
-  { "mm_mask_mcduffin.up.xpos",                        "9"                     },
-  { "mm_mask_mcduffin.up.ypos",                        "8"                     },
-  { "mm_mask_mcduffin.up.frames",              "1"                     },
-  { "mm_mask_mcduffin.left",                   "RocksMM.png"           },
-  { "mm_mask_mcduffin.left.xpos",              "10"                    },
-  { "mm_mask_mcduffin.left.ypos",              "8"                     },
-  { "mm_mask_mcduffin.left.frames",            "1"                     },
-  { "mm_mask_mcduffin.down",                   "RocksMM.png"           },
-  { "mm_mask_mcduffin.down.xpos",              "11"                    },
-  { "mm_mask_mcduffin.down.ypos",              "8"                     },
-  { "mm_mask_mcduffin.down.frames",            "1"                     },
-
-  { "mm_mask_grid_1",                          "RocksMM.png"           },
-  { "mm_mask_grid_1.xpos",                     "4"                     },
-  { "mm_mask_grid_1.ypos",                     "8"                     },
-  { "mm_mask_grid_1.frames",                   "1"                     },
-  { "mm_mask_grid_2",                          "RocksMM.png"           },
-  { "mm_mask_grid_2.xpos",                     "5"                     },
-  { "mm_mask_grid_2.ypos",                     "8"                     },
-  { "mm_mask_grid_2.frames",                   "1"                     },
-  { "mm_mask_grid_3",                          "RocksMM.png"           },
-  { "mm_mask_grid_3.xpos",                     "6"                     },
-  { "mm_mask_grid_3.ypos",                     "8"                     },
-  { "mm_mask_grid_3.frames",                   "1"                     },
-  { "mm_mask_grid_4",                          "RocksMM.png"           },
-  { "mm_mask_grid_4.xpos",                     "7"                     },
-  { "mm_mask_grid_4.ypos",                     "8"                     },
-  { "mm_mask_grid_4.frames",                   "1"                     },
-
-  { "mm_mask_rectangle",                       "RocksMM.png"           },
-  { "mm_mask_rectangle.xpos",                  "1"                     },
-  { "mm_mask_rectangle.ypos",                  "8"                     },
-  { "mm_mask_rectangle.frames",                        "1"                     },
-
-  { "mm_mask_circle",                          "RocksMM.png"           },
-  { "mm_mask_circle.xpos",                     "0"                     },
-  { "mm_mask_circle.ypos",                     "8"                     },
-  { "mm_mask_circle.frames",                   "1"                     },
+  { "mm_envelope_1",                           UNDEFINED_FILENAME      },
+  { "mm_envelope_1.clone_from",                        "envelope_1"            },
+  { "mm_envelope_1.collecting",                        UNDEFINED_FILENAME      },
+  { "mm_envelope_1.collecting.clone_from",     "envelope_1.collecting" },
+  { "mm_envelope_2",                           UNDEFINED_FILENAME      },
+  { "mm_envelope_2.clone_from",                        "envelope_2"            },
+  { "mm_envelope_2.collecting",                        UNDEFINED_FILENAME      },
+  { "mm_envelope_2.collecting.clone_from",     "envelope_2.collecting" },
+  { "mm_envelope_3",                           UNDEFINED_FILENAME      },
+  { "mm_envelope_3.clone_from",                        "envelope_3"            },
+  { "mm_envelope_3.collecting",                        UNDEFINED_FILENAME      },
+  { "mm_envelope_3.collecting.clone_from",     "envelope_3.collecting" },
+  { "mm_envelope_4",                           UNDEFINED_FILENAME      },
+  { "mm_envelope_4.clone_from",                        "envelope_4"            },
+  { "mm_envelope_4.collecting",                        UNDEFINED_FILENAME      },
+  { "mm_envelope_4.collecting.clone_from",     "envelope_4.collecting" },
 
   { "[mm_default].exploding",                  "RocksMM.png"           },
-  { "[mm_default].exploding.xpos",             "8"                     },
-  { "[mm_default].exploding.ypos",             "4"                     },
+  { "[mm_default].exploding.xpos",             "0"                     },
+  { "[mm_default].exploding.ypos",             "8"                     },
   { "[mm_default].exploding.frames",           "8"                     },
   { "[mm_default].exploding.delay",            "2"                     },
   { "[mm_default].exploding.anim_mode",                "linear"                },
@@ -5774,6 +5781,94 @@ struct ConfigInfo image_config[] =
   { "df_mine.xpos",                            "4"                     },
   { "df_mine.ypos",                            "8"                     },
   { "df_mine.frames",                          "1"                     },
+  { "df_mine.active",                          "RocksDF.png"           },
+  { "df_mine.active.xpos",                     "3"                     },
+  { "df_mine.active.ypos",                     "8"                     },
+  { "df_mine.active.frames",                   "3"                     },
+  { "df_mine.active.delay",                    "6"                     },
+  { "df_mine.active.anim_mode",                        "pingpong"              },
+
+  { "df_mirror_fixed_1",                       "RocksDF.png"           },
+  { "df_mirror_fixed_1.xpos",                  "0"                     },
+  { "df_mirror_fixed_1.ypos",                  "10"                    },
+  { "df_mirror_fixed_1.frames",                        "1"                     },
+  { "df_mirror_fixed_2",                       "RocksDF.png"           },
+  { "df_mirror_fixed_2.xpos",                  "1"                     },
+  { "df_mirror_fixed_2.ypos",                  "10"                    },
+  { "df_mirror_fixed_2.frames",                        "1"                     },
+  { "df_mirror_fixed_3",                       "RocksDF.png"           },
+  { "df_mirror_fixed_3.xpos",                  "2"                     },
+  { "df_mirror_fixed_3.ypos",                  "10"                    },
+  { "df_mirror_fixed_3.frames",                        "1"                     },
+  { "df_mirror_fixed_4",                       "RocksDF.png"           },
+  { "df_mirror_fixed_4.xpos",                  "3"                     },
+  { "df_mirror_fixed_4.ypos",                  "10"                    },
+  { "df_mirror_fixed_4.frames",                        "1"                     },
+  { "df_mirror_fixed_5",                       "RocksDF.png"           },
+  { "df_mirror_fixed_5.xpos",                  "4"                     },
+  { "df_mirror_fixed_5.ypos",                  "10"                    },
+  { "df_mirror_fixed_5.frames",                        "1"                     },
+  { "df_mirror_fixed_6",                       "RocksDF.png"           },
+  { "df_mirror_fixed_6.xpos",                  "5"                     },
+  { "df_mirror_fixed_6.ypos",                  "10"                    },
+  { "df_mirror_fixed_6.frames",                        "1"                     },
+  { "df_mirror_fixed_7",                       "RocksDF.png"           },
+  { "df_mirror_fixed_7.xpos",                  "6"                     },
+  { "df_mirror_fixed_7.ypos",                  "10"                    },
+  { "df_mirror_fixed_7.frames",                        "1"                     },
+  { "df_mirror_fixed_8",                       "RocksDF.png"           },
+  { "df_mirror_fixed_8.xpos",                  "7"                     },
+  { "df_mirror_fixed_8.ypos",                  "10"                    },
+  { "df_mirror_fixed_8.frames",                        "1"                     },
+  { "df_mirror_fixed_9",                       "RocksDF.png"           },
+  { "df_mirror_fixed_9.xpos",                  "8"                     },
+  { "df_mirror_fixed_9.ypos",                  "10"                    },
+  { "df_mirror_fixed_9.frames",                        "1"                     },
+  { "df_mirror_fixed_10",                      "RocksDF.png"           },
+  { "df_mirror_fixed_10.xpos",                 "9"                     },
+  { "df_mirror_fixed_10.ypos",                 "10"                    },
+  { "df_mirror_fixed_10.frames",               "1"                     },
+  { "df_mirror_fixed_11",                      "RocksDF.png"           },
+  { "df_mirror_fixed_11.xpos",                 "10"                    },
+  { "df_mirror_fixed_11.ypos",                 "10"                    },
+  { "df_mirror_fixed_11.frames",               "1"                     },
+  { "df_mirror_fixed_12",                      "RocksDF.png"           },
+  { "df_mirror_fixed_12.xpos",                 "11"                    },
+  { "df_mirror_fixed_12.ypos",                 "10"                    },
+  { "df_mirror_fixed_12.frames",               "1"                     },
+  { "df_mirror_fixed_13",                      "RocksDF.png"           },
+  { "df_mirror_fixed_13.xpos",                 "12"                    },
+  { "df_mirror_fixed_13.ypos",                 "10"                    },
+  { "df_mirror_fixed_13.frames",               "1"                     },
+  { "df_mirror_fixed_14",                      "RocksDF.png"           },
+  { "df_mirror_fixed_14.xpos",                 "13"                    },
+  { "df_mirror_fixed_14.ypos",                 "10"                    },
+  { "df_mirror_fixed_14.frames",               "1"                     },
+  { "df_mirror_fixed_15",                      "RocksDF.png"           },
+  { "df_mirror_fixed_15.xpos",                 "14"                    },
+  { "df_mirror_fixed_15.ypos",                 "10"                    },
+  { "df_mirror_fixed_15.frames",               "1"                     },
+  { "df_mirror_fixed_16",                      "RocksDF.png"           },
+  { "df_mirror_fixed_16.xpos",                 "15"                    },
+  { "df_mirror_fixed_16.ypos",                 "10"                    },
+  { "df_mirror_fixed_16.frames",               "1"                     },
+
+  { "df_slope_1",                              "RocksDF.png"           },
+  { "df_slope_1.xpos",                         "0"                     },
+  { "df_slope_1.ypos",                         "11"                    },
+  { "df_slope_1.frames",                       "1"                     },
+  { "df_slope_2",                              "RocksDF.png"           },
+  { "df_slope_2.xpos",                         "1"                     },
+  { "df_slope_2.ypos",                         "11"                    },
+  { "df_slope_2.frames",                       "1"                     },
+  { "df_slope_3",                              "RocksDF.png"           },
+  { "df_slope_3.xpos",                         "2"                     },
+  { "df_slope_3.ypos",                         "11"                    },
+  { "df_slope_3.frames",                       "1"                     },
+  { "df_slope_4",                              "RocksDF.png"           },
+  { "df_slope_4.xpos",                         "3"                     },
+  { "df_slope_4.ypos",                         "11"                    },
+  { "df_slope_4.frames",                       "1"                     },
 
   // (these are only defined as elements to support ".PANEL" definitions)
   { "graphic_1",                               UNDEFINED_FILENAME      },
@@ -6155,6 +6250,9 @@ struct ConfigInfo image_config[] =
   { "menu.button_prev_score.active",           UNDEFINED_FILENAME      },
   { "menu.button_prev_score.active.clone_from",        "menu.button_up.active" },
 
+  { "menu.button_play_tape",                   UNDEFINED_FILENAME      },
+  { "menu.button_play_tape.clone_from",                "gfx.tape.button.play"  },
+
   { "menu.button_name",                                UNDEFINED_FILENAME      },
   { "menu.button_name.clone_from",             "menu.button"           },
   { "menu.button_name.active",                 UNDEFINED_FILENAME      },
@@ -6200,6 +6298,13 @@ struct ConfigInfo image_config[] =
   { "menu.button_play_solution",               UNDEFINED_FILENAME      },
   { "menu.button_play_solution.active",                UNDEFINED_FILENAME      },
 
+  { "menu.button_levelset_info",               UNDEFINED_FILENAME      },
+  { "menu.button_levelset_info.clone_from",    "envelope_1"            },
+  { "menu.button_levelset_info.pressed",       UNDEFINED_FILENAME      },
+  { "menu.button_levelset_info.pressed.clone_from", "envelope_1.collecting" },
+  { "menu.button_levelset_info.active",                UNDEFINED_FILENAME      },
+  { "menu.button_levelset_info.active.clone_from", "envelope_1"                },
+
   { "menu.button_switch_ecs_aga",              UNDEFINED_FILENAME      },
   { "menu.button_switch_ecs_aga.active",       UNDEFINED_FILENAME      },
 
@@ -6315,6 +6420,13 @@ struct ConfigInfo image_config[] =
   { "gfx.game.button.load.height",             "30"                    },
   { "gfx.game.button.load.pressed_xoffset",    "-100"                  },
 
+  { "gfx.game.button.restart",                 "RocksDoor2.png"        },
+  { "gfx.game.button.restart.x",               "200"                   },
+  { "gfx.game.button.restart.y",               "50"                    },
+  { "gfx.game.button.restart.width",           "30"                    },
+  { "gfx.game.button.restart.height",          "30"                    },
+  { "gfx.game.button.restart.pressed_xoffset", "30"                    },
+
   { "gfx.game.button.sound_music",             "RocksDoor.png"         },
   { "gfx.game.button.sound_music.x",           "305"                   },
   { "gfx.game.button.sound_music.y",           "245"                   },
@@ -6340,6 +6452,7 @@ struct ConfigInfo image_config[] =
   { "gfx.game.button.panel_stop",              UNDEFINED_FILENAME      },
   { "gfx.game.button.panel_pause",             UNDEFINED_FILENAME      },
   { "gfx.game.button.panel_play",              UNDEFINED_FILENAME      },
+  { "gfx.game.button.panel_restart",           UNDEFINED_FILENAME      },
 
   { "gfx.game.button.panel_sound_music",       UNDEFINED_FILENAME      },
   { "gfx.game.button.panel_sound_loops",       UNDEFINED_FILENAME      },
@@ -6359,6 +6472,13 @@ struct ConfigInfo image_config[] =
   { "gfx.game.button.touch_pause.pressed_xoffset", "-200"              },
   { "gfx.game.button.touch_pause.active_yoffset", "60"                 },
 
+  { "gfx.game.button.touch_restart",           "RocksTouch.png"        },
+  { "gfx.game.button.touch_restart.x",         "210"                   },
+  { "gfx.game.button.touch_restart.y",         "240"                   },
+  { "gfx.game.button.touch_restart.width",     "60"                    },
+  { "gfx.game.button.touch_restart.height",    "60"                    },
+  { "gfx.game.button.touch_restart.pressed_xoffset", "-200"            },
+
   { "gfx.tape.button.eject",                   "RocksDoor.png"         },
   { "gfx.tape.button.eject.x",                 "305"                   },
   { "gfx.tape.button.eject.y",                 "357"                   },
@@ -6753,6 +6873,8 @@ struct ConfigInfo image_config[] =
   { "font.request.y",                          "210"                   },
   { "font.request.width",                      "14"                    },
   { "font.request.height",                     "14"                    },
+  { "font.request_narrow",                     UNDEFINED_FILENAME      },
+  { "font.request_narrow.clone_from",          "font.text_1.DOOR"      },
 
   { "font.input_1",                            "RocksFontSmall.png"    },
   { "font.input_1.x",                          "0"                     },
@@ -7328,6 +7450,14 @@ struct ConfigInfo image_config[] =
 
   { "global.door",                             "RocksDoor.png"         },
 
+  { "global.busy_initial",                     "RocksBusy.png"         },
+  { "global.busy_initial.x",                   "0"                     },
+  { "global.busy_initial.y",                   "0"                     },
+  { "global.busy_initial.width",               "32"                    },
+  { "global.busy_initial.height",              "32"                    },
+  { "global.busy_initial.frames",              "28"                    },
+  { "global.busy_initial.frames_per_line",     "7"                     },
+  { "global.busy_initial.delay",               "2"                     },
   { "global.busy",                             "RocksBusy.png"         },
   { "global.busy.x",                           "0"                     },
   { "global.busy.y",                           "0"                     },
@@ -7336,6 +7466,14 @@ struct ConfigInfo image_config[] =
   { "global.busy.frames",                      "28"                    },
   { "global.busy.frames_per_line",             "7"                     },
   { "global.busy.delay",                       "2"                     },
+  { "global.busy_playfield",                   "RocksBusy.png"         },
+  { "global.busy_playfield.x",                 "0"                     },
+  { "global.busy_playfield.y",                 "0"                     },
+  { "global.busy_playfield.width",             "32"                    },
+  { "global.busy_playfield.height",            "32"                    },
+  { "global.busy_playfield.frames",            "28"                    },
+  { "global.busy_playfield.frames_per_line",   "7"                     },
+  { "global.busy_playfield.delay",             "2"                     },
 
   { "global.tile_cursor",                      "RocksMore.png"         },
   { "global.tile_cursor.xpos",                 "10"                    },
@@ -7343,6 +7481,7 @@ struct ConfigInfo image_config[] =
   { "global.tile_cursor.frames",               "1"                     },
 
   { "background",                              UNDEFINED_FILENAME      },
+  { "background.LOADING_INITIAL",              UNDEFINED_FILENAME      },
   { "background.LOADING",                      UNDEFINED_FILENAME      },
   { "background.TITLE_INITIAL",                        UNDEFINED_FILENAME      },
   { "background.TITLE",                                UNDEFINED_FILENAME      },
@@ -7885,10 +8024,18 @@ struct ConfigInfo image_config[] =
 
   { "border.draw_masked_when_fading",          "true"                  },
 
+  { "init.busy_initial.x",                     "-1"                    },
+  { "init.busy_initial.y",                     "-1"                    },
+  { "init.busy_initial.align",                 "center"                },
+  { "init.busy_initial.valign",                        "middle"                },
   { "init.busy.x",                             "-1"                    },
   { "init.busy.y",                             "-1"                    },
   { "init.busy.align",                         "center"                },
   { "init.busy.valign",                                "middle"                },
+  { "init.busy_playfield.x",                   "-1"                    },
+  { "init.busy_playfield.y",                   "-1"                    },
+  { "init.busy_playfield.align",               "center"                },
+  { "init.busy_playfield.valign",              "middle"                },
 
   { "menu.enter_menu.fade_mode",               "none"                  },
   { "menu.enter_menu.fade_delay",              "250"                   },
@@ -7913,6 +8060,9 @@ struct ConfigInfo image_config[] =
   { "menu.enter_screen.SCORES.fade_mode",      ARG_DEFAULT             },
   { "menu.enter_screen.SCORES.fade_delay",     ARG_DEFAULT             },
   { "menu.enter_screen.SCORES.post_delay",     ARG_DEFAULT             },
+  { "menu.enter_screen.SCOREINFO.fade_mode",   ARG_DEFAULT             },
+  { "menu.enter_screen.SCOREINFO.fade_delay",  ARG_DEFAULT             },
+  { "menu.enter_screen.SCOREINFO.post_delay",  ARG_DEFAULT             },
   { "menu.enter_screen.EDITOR.fade_mode",      ARG_DEFAULT             },
   { "menu.enter_screen.EDITOR.fade_delay",     ARG_DEFAULT             },
   { "menu.enter_screen.EDITOR.post_delay",     ARG_DEFAULT             },
@@ -7930,6 +8080,9 @@ struct ConfigInfo image_config[] =
   { "menu.leave_screen.SCORES.fade_mode",      ARG_DEFAULT             },
   { "menu.leave_screen.SCORES.fade_delay",     ARG_DEFAULT             },
   { "menu.leave_screen.SCORES.post_delay",     ARG_DEFAULT             },
+  { "menu.leave_screen.SCOREINFO.fade_mode",   ARG_DEFAULT             },
+  { "menu.leave_screen.SCOREINFO.fade_delay",  ARG_DEFAULT             },
+  { "menu.leave_screen.SCOREINFO.post_delay",  ARG_DEFAULT             },
   { "menu.leave_screen.EDITOR.fade_mode",      ARG_DEFAULT             },
   { "menu.leave_screen.EDITOR.fade_delay",     ARG_DEFAULT             },
   { "menu.leave_screen.EDITOR.post_delay",     ARG_DEFAULT             },
@@ -8029,6 +8182,10 @@ struct ConfigInfo image_config[] =
   { "menu.list_size.INFO[ELEMENTS]",           "-1"                    },
   { "menu.list_size.SETUP",                    "-1"                    },
 
+  { "menu.list_entry_size.INFO[ELEMENTS]",     "-1"                    },
+
+  { "menu.tile_size.INFO[ELEMENTS]",           "-1"                    },
+
   { "menu.left_spacing.SCOREINFO",             "16"                    },
   { "menu.left_spacing.INFO",                  "16"                    },
   { "menu.left_spacing.INFO[TITLE]",           "16"                    },
@@ -8040,6 +8197,8 @@ struct ConfigInfo image_config[] =
   { "menu.left_spacing.INFO[LEVELSET]",                "16"                    },
   { "menu.left_spacing.SETUP[INPUT]",          "16"                    },
 
+  { "menu.middle_spacing.INFO[ELEMENTS]",      "16"                    },
+
   { "menu.right_spacing.SCOREINFO",            "16"                    },
   { "menu.right_spacing.INFO",                 "16"                    },
   { "menu.right_spacing.INFO[TITLE]",          "16"                    },
@@ -8120,7 +8279,7 @@ struct ConfigInfo image_config[] =
   { "menu.extra_spacing.SCOREINFO",            "2"                     },
   { "menu.extra_spacing.INFO",                 "2"                     },
   { "menu.extra_spacing.INFO[TITLE]",          "2"                     },
-  { "menu.extra_spacing.INFO[ELEMENTS]",       "2"                     },
+  { "menu.extra_spacing.INFO[ELEMENTS]",       "4"                     },
   { "menu.extra_spacing.INFO[MUSIC]",          "2"                     },
   { "menu.extra_spacing.INFO[CREDITS]",                "2"                     },
   { "menu.extra_spacing.INFO[PROGRAM]",                "2"                     },
@@ -8162,6 +8321,9 @@ struct ConfigInfo image_config[] =
   { "main.button.play_solution.x",             "-1"                    },
   { "main.button.play_solution.y",             "-1"                    },
 
+  { "main.button.levelset_info.x",             "-1"                    },
+  { "main.button.levelset_info.y",             "-1"                    },
+
   { "main.button.switch_ecs_aga.x",            "-1"                    },
   { "main.button.switch_ecs_aga.y",            "-1"                    },
 
@@ -8353,6 +8515,9 @@ struct ConfigInfo image_config[] =
   { "scores.button.next_score.x",              "-1"                    },
   { "scores.button.next_score.y",              "-1"                    },
 
+  { "scores.button.play_tape.x",               "-1"                    },
+  { "scores.button.play_tape.y",               "-1"                    },
+
   { "preview.x",                               "272"                   },
   { "preview.y",                               "380"                   },
   { "preview.align",                           "center"                },
@@ -9583,6 +9748,8 @@ struct ConfigInfo image_config[] =
   { "game.button.pause2.y",                    "-1"                    },
   { "game.button.load.x",                      "-1"                    },
   { "game.button.load.y",                      "-1"                    },
+  { "game.button.restart.x",                   "-1"                    },
+  { "game.button.restart.y",                   "-1"                    },
   { "game.button.sound_music.x",               "5"                     },
   { "game.button.sound_music.y",               "245"                   },
   { "game.button.sound_loops.x",               "35"                    },
@@ -9596,6 +9763,8 @@ struct ConfigInfo image_config[] =
   { "game.button.panel_pause.y",               "-1"                    },
   { "game.button.panel_play.x",                        "-1"                    },
   { "game.button.panel_play.y",                        "-1"                    },
+  { "game.button.panel_restart.x",             "-1"                    },
+  { "game.button.panel_restart.y",             "-1"                    },
   { "game.button.panel_sound_music.x",         "-1"                    },
   { "game.button.panel_sound_music.y",         "-1"                    },
   { "game.button.panel_sound_loops.x",         "-1"                    },
@@ -9607,6 +9776,8 @@ struct ConfigInfo image_config[] =
   { "game.button.touch_stop.y",                        "0"                     },
   { "game.button.touch_pause.x",               "-60"                   },
   { "game.button.touch_pause.y",               "0"                     },
+  { "game.button.touch_restart.x",             "-1"                    },
+  { "game.button.touch_restart.y",             "-1"                    },
 
   { "tape.button.eject.x",                     "5"                     },
   { "tape.button.eject.y",                     "77"                    },
@@ -9922,15 +10093,17 @@ struct ConfigInfo image_config[] =
   { "request.anim_mode",                       "default"               },
   { "request.align",                           "center"                },
   { "request.valign",                          "middle"                },
-  { "request.draw_order",                      "0"                     },
   { "request.autowrap",                                "false"                 },
   { "request.centered",                                "true"                  },
   { "request.wrap_single_words",               "true"                  },
+  { "request.draw_order",                      "-1"                    },
 
   { "global.use_envelope_request",             "false"                 },
 
   { "game.graphics_engine_version",            "-1"                    },
   { "game.forced_scroll_delay_value",          "-1"                    },
+  { "game.forced_scroll_x",                    ARG_UNDEFINED           },
+  { "game.forced_scroll_y",                    ARG_UNDEFINED           },
   { "game.use_native_emc_graphics_engine",     "false"                 },
   { "game.use_native_sp_graphics_engine",      "true"                  },
   { "game.use_masked_pushing",                 "false"                 },