added optional button to restart game (door, panel and touch variants)
[rocksndiamonds.git] / src / conf_gfx.c
index 69564a388890d826db10b9e46a9d726f7eb25a5d..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               }
 };
@@ -153,6 +159,11 @@ struct ConfigInfo image_config[] =
   { "bd_diamond.falling.ypos",                 "10"                    },
   { "bd_diamond.falling.frames",               "2"                     },
   { "bd_diamond.falling.delay",                        "4"                     },
+  { "bd_diamond.collecting",                   "RocksCollect.png"      },
+  { "bd_diamond.collecting.xpos",              "0"                     },
+  { "bd_diamond.collecting.ypos",              "8"                     },
+  { "bd_diamond.collecting.frames",            "7"                     },
+  { "bd_diamond.collecting.anim_mode",         "linear"                },
 
   { "bd_magic_wall",                           "RocksElements.png"     },
   { "bd_magic_wall.xpos",                      "12"                    },
@@ -195,8 +206,7 @@ struct ConfigInfo image_config[] =
   { "bd_amoeba.xpos",                          "8"                     },
   { "bd_amoeba.ypos",                          "6"                     },
   { "bd_amoeba.frames",                                "4"                     },
-  { "bd_amoeba.delay",                         "1000000"               },
-  { "bd_amoeba.anim_mode",                     "random"                },
+  { "bd_amoeba.anim_mode",                     "random_static"         },
   { "bd_amoeba.EDITOR",                                "RocksElements.png"     },
   { "bd_amoeba.EDITOR.xpos",                   "8"                     },
   { "bd_amoeba.EDITOR.ypos",                   "7"                     },
@@ -979,11 +989,10 @@ struct ConfigInfo image_config[] =
   { "emerald.falling.ypos",                    "0"                     },
   { "emerald.falling.frames",                  "2"                     },
   { "emerald.falling.delay",                   "4"                     },
-  { "emerald.collecting",                      "RocksMore.png"         },
-  { "emerald.collecting.xpos",                 "3"                     },
-  { "emerald.collecting.ypos",                 "2"                     },
-  { "emerald.collecting.frames",               "3"                     },
-  { "emerald.collecting.delay",                        "2"                     },
+  { "emerald.collecting",                      "RocksCollect.png"      },
+  { "emerald.collecting.xpos",                 "0"                     },
+  { "emerald.collecting.ypos",                 "0"                     },
+  { "emerald.collecting.frames",               "7"                     },
   { "emerald.collecting.anim_mode",            "linear"                },
 
   { "diamond",                                 "RocksElements.png"     },
@@ -1000,11 +1009,10 @@ struct ConfigInfo image_config[] =
   { "diamond.falling.ypos",                    "0"                     },
   { "diamond.falling.frames",                  "2"                     },
   { "diamond.falling.delay",                   "4"                     },
-  { "diamond.collecting",                      "RocksMore.png"         },
-  { "diamond.collecting.xpos",                 "7"                     },
-  { "diamond.collecting.ypos",                 "2"                     },
-  { "diamond.collecting.frames",               "3"                     },
-  { "diamond.collecting.delay",                        "2"                     },
+  { "diamond.collecting",                      "RocksCollect.png"      },
+  { "diamond.collecting.xpos",                 "0"                     },
+  { "diamond.collecting.ypos",                 "1"                     },
+  { "diamond.collecting.frames",               "7"                     },
   { "diamond.collecting.anim_mode",            "linear"                },
 
   { "bomb",                                    "RocksElements.png"     },
@@ -1033,6 +1041,11 @@ struct ConfigInfo image_config[] =
   { "dynamite.active.frames",                  "7"                     },
   { "dynamite.active.delay",                   "12"                    },
   { "dynamite.active.anim_mode",               "linear"                },
+  { "dynamite.collecting",                     "RocksCollect.png"      },
+  { "dynamite.collecting.xpos",                        "0"                     },
+  { "dynamite.collecting.ypos",                        "7"                     },
+  { "dynamite.collecting.frames",              "7"                     },
+  { "dynamite.collecting.anim_mode",           "linear"                },
 
   { "em_dynamite",                             "RocksEMC.png"          },
   { "em_dynamite.xpos",                                "0"                     },
@@ -1047,6 +1060,11 @@ struct ConfigInfo image_config[] =
   { "em_dynamite.active.EDITOR",               "RocksEMC.png"          },
   { "em_dynamite.active.EDITOR.xpos",          "2"                     },
   { "em_dynamite.active.EDITOR.ypos",          "15"                    },
+  { "em_dynamite.collecting",                  "RocksCollect.png"      },
+  { "em_dynamite.collecting.xpos",             "0"                     },
+  { "em_dynamite.collecting.ypos",             "15"                    },
+  { "em_dynamite.collecting.frames",           "7"                     },
+  { "em_dynamite.collecting.anim_mode",                "linear"                },
 
   { "wall_emerald",                            "RocksElements.png"     },
   { "wall_emerald.xpos",                       "4"                     },
@@ -1482,8 +1500,7 @@ struct ConfigInfo image_config[] =
   { "amoeba_wet.xpos",                         "8"                     },
   { "amoeba_wet.ypos",                         "6"                     },
   { "amoeba_wet.frames",                       "4"                     },
-  { "amoeba_wet.delay",                                "1000000"               },
-  { "amoeba_wet.anim_mode",                    "random"                },
+  { "amoeba_wet.anim_mode",                    "random_static"         },
   { "amoeba_wet.EDITOR",                       "RocksElements.png"     },
   { "amoeba_wet.EDITOR.xpos",                  "4"                     },
   { "amoeba_wet.EDITOR.ypos",                  "6"                     },
@@ -1491,20 +1508,17 @@ struct ConfigInfo image_config[] =
   { "amoeba.dropping.xpos",                    "8"                     },
   { "amoeba.dropping.ypos",                    "6"                     },
   { "amoeba.dropping.frames",                  "4"                     },
-  { "amoeba.dropping.delay",                   "1000000"               },
-  { "amoeba.dropping.anim_mode",               "random"                },
+  { "amoeba.dropping.anim_mode",               "random_static"         },
   { "amoeba_dry",                              "RocksElements.png"     },
   { "amoeba_dry.xpos",                         "8"                     },
   { "amoeba_dry.ypos",                         "6"                     },
   { "amoeba_dry.frames",                       "4"                     },
-  { "amoeba_dry.delay",                                "1000000"               },
-  { "amoeba_dry.anim_mode",                    "random"                },
+  { "amoeba_dry.anim_mode",                    "random_static"         },
   { "amoeba_full",                             "RocksElements.png"     },
   { "amoeba_full.xpos",                                "8"                     },
   { "amoeba_full.ypos",                                "6"                     },
   { "amoeba_full.frames",                      "4"                     },
-  { "amoeba_full.delay",                       "1000000"               },
-  { "amoeba_full.anim_mode",                   "random"                },
+  { "amoeba_full.anim_mode",                   "random_static"         },
   { "amoeba_full.EDITOR",                      "RocksElements.png"     },
   { "amoeba_full.EDITOR.xpos",                 "8"                     },
   { "amoeba_full.EDITOR.ypos",                 "7"                     },
@@ -1512,8 +1526,7 @@ struct ConfigInfo image_config[] =
   { "amoeba_dead.xpos",                                "12"                    },
   { "amoeba_dead.ypos",                                "6"                     },
   { "amoeba_dead.frames",                      "4"                     },
-  { "amoeba_dead.delay",                       "1000000"               },
-  { "amoeba_dead.anim_mode",                   "random"                },
+  { "amoeba_dead.anim_mode",                   "random_static"         },
   { "amoeba_dead.EDITOR",                      "RocksElements.png"     },
   { "amoeba_dead.EDITOR.xpos",                 "12"                    },
   { "amoeba_dead.EDITOR.ypos",                 "6"                     },
@@ -1522,23 +1535,48 @@ struct ConfigInfo image_config[] =
   { "em_key_1.xpos",                           "4"                     },
   { "em_key_1.ypos",                           "6"                     },
   { "em_key_1.frames",                         "1"                     },
+  { "em_key_1.collecting",                     "RocksCollect.png"      },
+  { "em_key_1.collecting.xpos",                        "7"                     },
+  { "em_key_1.collecting.ypos",                        "4"                     },
+  { "em_key_1.collecting.frames",              "7"                     },
+  { "em_key_1.collecting.anim_mode",           "linear"                },
   { "em_key_2",                                        "RocksSP.png"           },
   { "em_key_2.xpos",                           "5"                     },
   { "em_key_2.ypos",                           "6"                     },
   { "em_key_2.frames",                         "1"                     },
+  { "em_key_2.collecting",                     "RocksCollect.png"      },
+  { "em_key_2.collecting.xpos",                        "7"                     },
+  { "em_key_2.collecting.ypos",                        "5"                     },
+  { "em_key_2.collecting.frames",              "7"                     },
+  { "em_key_2.collecting.anim_mode",           "linear"                },
   { "em_key_3",                                        "RocksSP.png"           },
   { "em_key_3.xpos",                           "6"                     },
   { "em_key_3.ypos",                           "6"                     },
   { "em_key_3.frames",                         "1"                     },
+  { "em_key_3.collecting",                     "RocksCollect.png"      },
+  { "em_key_3.collecting.xpos",                        "7"                     },
+  { "em_key_3.collecting.ypos",                        "6"                     },
+  { "em_key_3.collecting.frames",              "7"                     },
+  { "em_key_3.collecting.anim_mode",           "linear"                },
   { "em_key_4",                                        "RocksSP.png"           },
   { "em_key_4.xpos",                           "7"                     },
   { "em_key_4.ypos",                           "6"                     },
   { "em_key_4.frames",                         "1"                     },
+  { "em_key_4.collecting",                     "RocksCollect.png"      },
+  { "em_key_4.collecting.xpos",                        "7"                     },
+  { "em_key_4.collecting.ypos",                        "7"                     },
+  { "em_key_4.collecting.frames",              "7"                     },
+  { "em_key_4.collecting.anim_mode",           "linear"                },
 
   { "dc_key_white",                            "RocksSP.png"           },
   { "dc_key_white.xpos",                       "13"                    },
   { "dc_key_white.ypos",                       "1"                     },
   { "dc_key_white.frames",                     "1"                     },
+  { "dc_key_white.collecting",                 "RocksCollect.png"      },
+  { "dc_key_white.collecting.xpos",            "7"                     },
+  { "dc_key_white.collecting.ypos",            "0"                     },
+  { "dc_key_white.collecting.frames",          "7"                     },
+  { "dc_key_white.collecting.anim_mode",       "linear"                },
 
   { "em_gate_1",                               "RocksSP.png"           },
   { "em_gate_1.xpos",                          "0"                     },
@@ -2118,41 +2156,37 @@ struct ConfigInfo image_config[] =
   { "envelope_1.xpos",                         "0"                     },
   { "envelope_1.ypos",                         "4"                     },
   { "envelope_1.frames",                       "1"                     },
-  { "envelope_1.collecting",                   "RocksMore.png"         },
-  { "envelope_1.collecting.xpos",              "5"                     },
-  { "envelope_1.collecting.ypos",              "4"                     },
-  { "envelope_1.collecting.frames",            "3"                     },
-  { "envelope_1.collecting.delay",             "2"                     },
+  { "envelope_1.collecting",                   "RocksCollect.png"      },
+  { "envelope_1.collecting.xpos",              "7"                     },
+  { "envelope_1.collecting.ypos",              "8"                     },
+  { "envelope_1.collecting.frames",            "7"                     },
   { "envelope_1.collecting.anim_mode",         "linear"                },
   { "envelope_2",                              "RocksMore.png"         },
   { "envelope_2.xpos",                         "1"                     },
   { "envelope_2.ypos",                         "4"                     },
   { "envelope_2.frames",                       "1"                     },
-  { "envelope_2.collecting",                   "RocksMore.png"         },
-  { "envelope_2.collecting.xpos",              "5"                     },
-  { "envelope_2.collecting.ypos",              "4"                     },
-  { "envelope_2.collecting.frames",            "3"                     },
-  { "envelope_2.collecting.delay",             "2"                     },
+  { "envelope_2.collecting",                   "RocksCollect.png"      },
+  { "envelope_2.collecting.xpos",              "7"                     },
+  { "envelope_2.collecting.ypos",              "9"                     },
+  { "envelope_2.collecting.frames",            "7"                     },
   { "envelope_2.collecting.anim_mode",         "linear"                },
   { "envelope_3",                              "RocksMore.png"         },
   { "envelope_3.xpos",                         "2"                     },
   { "envelope_3.ypos",                         "4"                     },
   { "envelope_3.frames",                       "1"                     },
-  { "envelope_3.collecting",                   "RocksMore.png"         },
-  { "envelope_3.collecting.xpos",              "5"                     },
-  { "envelope_3.collecting.ypos",              "4"                     },
-  { "envelope_3.collecting.frames",            "3"                     },
-  { "envelope_3.collecting.delay",             "2"                     },
+  { "envelope_3.collecting",                   "RocksCollect.png"      },
+  { "envelope_3.collecting.xpos",              "7"                     },
+  { "envelope_3.collecting.ypos",              "10"                    },
+  { "envelope_3.collecting.frames",            "7"                     },
   { "envelope_3.collecting.anim_mode",         "linear"                },
   { "envelope_4",                              "RocksMore.png"         },
   { "envelope_4.xpos",                         "3"                     },
   { "envelope_4.ypos",                         "4"                     },
   { "envelope_4.frames",                       "1"                     },
-  { "envelope_4.collecting",                   "RocksMore.png"         },
-  { "envelope_4.collecting.xpos",              "5"                     },
-  { "envelope_4.collecting.ypos",              "4"                     },
-  { "envelope_4.collecting.frames",            "3"                     },
-  { "envelope_4.collecting.delay",             "2"                     },
+  { "envelope_4.collecting",                   "RocksCollect.png"      },
+  { "envelope_4.collecting.xpos",              "7"                     },
+  { "envelope_4.collecting.ypos",              "11"                    },
+  { "envelope_4.collecting.frames",            "7"                     },
   { "envelope_4.collecting.anim_mode",         "linear"                },
 
   { "sign_radioactivity",                      "RocksDC.png"           },
@@ -2277,6 +2311,11 @@ struct ConfigInfo image_config[] =
   { "extra_time.ypos",                         "0"                     },
   { "extra_time.frames",                       "6"                     },
   { "extra_time.delay",                                "4"                     },
+  { "extra_time.collecting",                   "RocksCollect.png"      },
+  { "extra_time.collecting.xpos",              "7"                     },
+  { "extra_time.collecting.ypos",              "2"                     },
+  { "extra_time.collecting.frames",            "7"                     },
+  { "extra_time.collecting.anim_mode",         "linear"                },
 
   { "shield_normal",                           "RocksDC.png"           },
   { "shield_normal.xpos",                      "8"                     },
@@ -2289,6 +2328,11 @@ struct ConfigInfo image_config[] =
   { "shield_normal.active.frames",             "3"                     },
   { "shield_normal.active.delay",              "8"                     },
   { "shield_normal.active.anim_mode",          "pingpong"              },
+  { "shield_normal.collecting",                        "RocksCollect.png"      },
+  { "shield_normal.collecting.xpos",           "7"                     },
+  { "shield_normal.collecting.ypos",           "1"                     },
+  { "shield_normal.collecting.frames",         "7"                     },
+  { "shield_normal.collecting.anim_mode",      "linear"                },
 
   { "shield_deadly",                           "RocksDC.png"           },
   { "shield_deadly.xpos",                      "8"                     },
@@ -2301,6 +2345,11 @@ struct ConfigInfo image_config[] =
   { "shield_deadly.active.frames",             "3"                     },
   { "shield_deadly.active.delay",              "8"                     },
   { "shield_deadly.active.anim_mode",          "pingpong"              },
+  { "shield_deadly.collecting",                        "RocksCollect.png"      },
+  { "shield_deadly.collecting.xpos",           "7"                     },
+  { "shield_deadly.collecting.ypos",           "3"                     },
+  { "shield_deadly.collecting.frames",         "7"                     },
+  { "shield_deadly.collecting.anim_mode",      "linear"                },
 
   { "switchgate_closed",                       "RocksDC.png"           },
   { "switchgate_closed.xpos",                  "8"                     },
@@ -2352,11 +2401,21 @@ struct ConfigInfo image_config[] =
   { "pearl.breaking.frames",                   "4"                     },
   { "pearl.breaking.delay",                    "2"                     },
   { "pearl.breaking.anim_mode",                        "linear"                },
+  { "pearl.collecting",                                "RocksCollect.png"      },
+  { "pearl.collecting.xpos",                   "0"                     },
+  { "pearl.collecting.ypos",                   "16"                    },
+  { "pearl.collecting.frames",                 "7"                     },
+  { "pearl.collecting.anim_mode",              "linear"                },
 
   { "crystal",                                 "RocksDC.png"           },
   { "crystal.xpos",                            "9"                     },
   { "crystal.ypos",                            "11"                    },
   { "crystal.frames",                          "1"                     },
+  { "crystal.collecting",                      "RocksCollect.png"      },
+  { "crystal.collecting.xpos",                 "0"                     },
+  { "crystal.collecting.ypos",                 "17"                    },
+  { "crystal.collecting.frames",               "7"                     },
+  { "crystal.collecting.anim_mode",            "linear"                },
 
   { "wall_pearl",                              "RocksDC.png"           },
   { "wall_pearl.xpos",                         "10"                    },
@@ -2540,18 +2599,38 @@ struct ConfigInfo image_config[] =
   { "key_1.xpos",                              "4"                     },
   { "key_1.ypos",                              "1"                     },
   { "key_1.frames",                            "1"                     },
+  { "key_1.collecting",                                "RocksCollect.png"      },
+  { "key_1.collecting.xpos",                   "0"                     },
+  { "key_1.collecting.ypos",                   "3"                     },
+  { "key_1.collecting.frames",                 "7"                     },
+  { "key_1.collecting.anim_mode",              "linear"                },
   { "key_2",                                   "RocksElements.png"     },
   { "key_2.xpos",                              "5"                     },
   { "key_2.ypos",                              "1"                     },
   { "key_2.frames",                            "1"                     },
+  { "key_2.collecting",                                "RocksCollect.png"      },
+  { "key_2.collecting.xpos",                   "0"                     },
+  { "key_2.collecting.ypos",                   "4"                     },
+  { "key_2.collecting.frames",                 "7"                     },
+  { "key_2.collecting.anim_mode",              "linear"                },
   { "key_3",                                   "RocksElements.png"     },
   { "key_3.xpos",                              "6"                     },
   { "key_3.ypos",                              "1"                     },
   { "key_3.frames",                            "1"                     },
+  { "key_3.collecting",                                "RocksCollect.png"      },
+  { "key_3.collecting.xpos",                   "0"                     },
+  { "key_3.collecting.ypos",                   "5"                     },
+  { "key_3.collecting.frames",                 "7"                     },
+  { "key_3.collecting.anim_mode",              "linear"                },
   { "key_4",                                   "RocksElements.png"     },
   { "key_4.xpos",                              "7"                     },
   { "key_4.ypos",                              "1"                     },
   { "key_4.frames",                            "1"                     },
+  { "key_4.collecting",                                "RocksCollect.png"      },
+  { "key_4.collecting.xpos",                   "0"                     },
+  { "key_4.collecting.ypos",                   "6"                     },
+  { "key_4.collecting.frames",                 "7"                     },
+  { "key_4.collecting.anim_mode",              "linear"                },
 
   { "gate_1",                                  "RocksElements.png"     },
   { "gate_1.xpos",                             "4"                     },
@@ -2701,6 +2780,11 @@ struct ConfigInfo image_config[] =
   { "emerald_yellow.falling.ypos",             "8"                     },
   { "emerald_yellow.falling.frames",           "2"                     },
   { "emerald_yellow.falling.delay",            "4"                     },
+  { "emerald_yellow.collecting",               "RocksCollect.png"      },
+  { "emerald_yellow.collecting.xpos",          "0"                     },
+  { "emerald_yellow.collecting.ypos",          "9"                     },
+  { "emerald_yellow.collecting.frames",                "7"                     },
+  { "emerald_yellow.collecting.anim_mode",     "linear"                },
   { "emerald_red",                             "RocksElements.png"     },
   { "emerald_red.xpos",                                "8"                     },
   { "emerald_red.ypos",                                "9"                     },
@@ -2715,6 +2799,11 @@ struct ConfigInfo image_config[] =
   { "emerald_red.falling.ypos",                        "9"                     },
   { "emerald_red.falling.frames",              "2"                     },
   { "emerald_red.falling.delay",               "4"                     },
+  { "emerald_red.collecting",                  "RocksCollect.png"      },
+  { "emerald_red.collecting.xpos",             "0"                     },
+  { "emerald_red.collecting.ypos",             "13"                    },
+  { "emerald_red.collecting.frames",           "7"                     },
+  { "emerald_red.collecting.anim_mode",                "linear"                },
   { "emerald_purple",                          "RocksElements.png"     },
   { "emerald_purple.xpos",                     "10"                    },
   { "emerald_purple.ypos",                     "9"                     },
@@ -2729,6 +2818,11 @@ struct ConfigInfo image_config[] =
   { "emerald_purple.falling.ypos",             "9"                     },
   { "emerald_purple.falling.frames",           "2"                     },
   { "emerald_purple.falling.delay",            "4"                     },
+  { "emerald_purple.collecting",               "RocksCollect.png"      },
+  { "emerald_purple.collecting.xpos",          "0"                     },
+  { "emerald_purple.collecting.ypos",          "14"                    },
+  { "emerald_purple.collecting.frames",                "7"                     },
+  { "emerald_purple.collecting.anim_mode",     "linear"                },
 
   { "wall_emerald_yellow",                     "RocksElements.png"     },
   { "wall_emerald_yellow.xpos",                        "8"                     },
@@ -2862,6 +2956,11 @@ struct ConfigInfo image_config[] =
   { "speed_pill.xpos",                         "14"                    },
   { "speed_pill.ypos",                         "9"                     },
   { "speed_pill.frames",                       "1"                     },
+  { "speed_pill.collecting",                   "RocksCollect.png"      },
+  { "speed_pill.collecting.xpos",              "0"                     },
+  { "speed_pill.collecting.ypos",              "2"                     },
+  { "speed_pill.collecting.frames",            "7"                     },
+  { "speed_pill.collecting.anim_mode",         "linear"                },
 
   { "dark_yamyam",                             "RocksElements.png"     },
   { "dark_yamyam.xpos",                                "8"                     },
@@ -2923,14 +3022,29 @@ struct ConfigInfo image_config[] =
   { "dynabomb_increase_number.xpos",           "12"                    },
   { "dynabomb_increase_number.ypos",           "11"                    },
   { "dynabomb_increase_number.frames",         "1"                     },
+  { "dynabomb_increase_number.collecting",     "RocksCollect.png"      },
+  { "dynabomb_increase_number.collecting.xpos",        "0"                     },
+  { "dynabomb_increase_number.collecting.ypos",        "10"                    },
+  { "dynabomb_increase_number.collecting.frames", "7"                  },
+  { "dynabomb_increase_number.collecting.anim_mode", "linear"          },
   { "dynabomb_increase_size",                  "RocksElements.png"     },
   { "dynabomb_increase_size.xpos",             "15"                    },
   { "dynabomb_increase_size.ypos",             "11"                    },
   { "dynabomb_increase_size.frames",           "1"                     },
+  { "dynabomb_increase_size.collecting",       "RocksCollect.png"      },
+  { "dynabomb_increase_size.collecting.xpos",  "0"                     },
+  { "dynabomb_increase_size.collecting.ypos",  "11"                    },
+  { "dynabomb_increase_size.collecting.frames",        "7"                     },
+  { "dynabomb_increase_size.collecting.anim_mode", "linear"            },
   { "dynabomb_increase_power",                 "RocksElements.png"     },
   { "dynabomb_increase_power.xpos",            "12"                    },
   { "dynabomb_increase_power.ypos",            "9"                     },
   { "dynabomb_increase_power.frames",          "1"                     },
+  { "dynabomb_increase_power.collecting",      "RocksCollect.png"      },
+  { "dynabomb_increase_power.collecting.xpos", "0"                     },
+  { "dynabomb_increase_power.collecting.ypos", "12"                    },
+  { "dynabomb_increase_power.collecting.frames", "7"                   },
+  { "dynabomb_increase_power.collecting.anim_mode", "linear"           },
 
   { "pig",                                     "RocksHeroes.png"       },
   { "pig.xpos",                                        "8"                     },
@@ -4002,18 +4116,38 @@ struct ConfigInfo image_config[] =
   { "emc_key_5.xpos",                          "0"                     },
   { "emc_key_5.ypos",                          "5"                     },
   { "emc_key_5.frames",                                "1"                     },
+  { "emc_key_5.collecting",                    "RocksCollect.png"      },
+  { "emc_key_5.collecting.xpos",               "7"                     },
+  { "emc_key_5.collecting.ypos",               "12"                    },
+  { "emc_key_5.collecting.frames",             "7"                     },
+  { "emc_key_5.collecting.anim_mode",          "linear"                },
   { "emc_key_6",                               "RocksEMC.png"          },
   { "emc_key_6.xpos",                          "1"                     },
   { "emc_key_6.ypos",                          "5"                     },
   { "emc_key_6.frames",                                "1"                     },
+  { "emc_key_6.collecting",                    "RocksCollect.png"      },
+  { "emc_key_6.collecting.xpos",               "7"                     },
+  { "emc_key_6.collecting.ypos",               "13"                    },
+  { "emc_key_6.collecting.frames",             "7"                     },
+  { "emc_key_6.collecting.anim_mode",          "linear"                },
   { "emc_key_7",                               "RocksEMC.png"          },
   { "emc_key_7.xpos",                          "2"                     },
   { "emc_key_7.ypos",                          "5"                     },
   { "emc_key_7.frames",                                "1"                     },
+  { "emc_key_7.collecting",                    "RocksCollect.png"      },
+  { "emc_key_7.collecting.xpos",               "7"                     },
+  { "emc_key_7.collecting.ypos",               "14"                    },
+  { "emc_key_7.collecting.frames",             "7"                     },
+  { "emc_key_7.collecting.anim_mode",          "linear"                },
   { "emc_key_8",                               "RocksEMC.png"          },
   { "emc_key_8.xpos",                          "3"                     },
   { "emc_key_8.ypos",                          "5"                     },
   { "emc_key_8.frames",                                "1"                     },
+  { "emc_key_8.collecting",                    "RocksCollect.png"      },
+  { "emc_key_8.collecting.xpos",               "7"                     },
+  { "emc_key_8.collecting.ypos",               "15"                    },
+  { "emc_key_8.collecting.frames",             "7"                     },
+  { "emc_key_8.collecting.anim_mode",          "linear"                },
 
   { "emc_gate_5",                              "RocksEMC.png"          },
   { "emc_gate_5.xpos",                         "0"                     },
@@ -4235,11 +4369,21 @@ struct ConfigInfo image_config[] =
   { "emc_lenses.xpos",                         "6"                     },
   { "emc_lenses.ypos",                         "4"                     },
   { "emc_lenses.frames",                       "1"                     },
+  { "emc_lenses.collecting",                   "RocksCollect.png"      },
+  { "emc_lenses.collecting.xpos",              "7"                     },
+  { "emc_lenses.collecting.ypos",              "16"                    },
+  { "emc_lenses.collecting.frames",            "7"                     },
+  { "emc_lenses.collecting.anim_mode",         "linear"                },
 
   { "emc_magnifier",                           "RocksEMC.png"          },
   { "emc_magnifier.xpos",                      "7"                     },
   { "emc_magnifier.ypos",                      "4"                     },
   { "emc_magnifier.frames",                    "1"                     },
+  { "emc_magnifier.collecting",                        "RocksCollect.png"      },
+  { "emc_magnifier.collecting.xpos",           "7"                     },
+  { "emc_magnifier.collecting.ypos",           "17"                    },
+  { "emc_magnifier.collecting.frames",         "7"                     },
+  { "emc_magnifier.collecting.anim_mode",      "linear"                },
 
   { "emc_wall_9",                              "RocksEMC.png"          },
   { "emc_wall_9.xpos",                         "10"                    },
@@ -4898,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"                     },
@@ -4931,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"                     },
@@ -4965,8 +5127,7 @@ struct ConfigInfo image_config[] =
   { "mm_lightball.xpos",                       "12"                    },
   { "mm_lightball.ypos",                       "2"                     },
   { "mm_lightball.frames",                     "3"                     },
-  { "mm_lightball.delay",                      "1000000"               },
-  { "mm_lightball.anim_mode",                  "random"                },
+  { "mm_lightball.anim_mode",                  "random_static"         },
   { "mm_lightball_red",                                "RocksMM.png"           },
   { "mm_lightball_red.xpos",                   "12"                    },
   { "mm_lightball_red.ypos",                   "2"                     },
@@ -4984,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"                    },
@@ -5063,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"                },
@@ -5637,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      },
@@ -5651,6 +5883,7 @@ struct ConfigInfo image_config[] =
 #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_emp.c"  // include auto-generated data structure definitions
 
 
   // ==========================================================================
@@ -5999,6 +6232,27 @@ struct ConfigInfo image_config[] =
   { "menu.button_prev_level.active",           UNDEFINED_FILENAME      },
   { "menu.button_prev_level.active.clone_from",        "menu.button_left.active" },
 
+  { "menu.button_next_level2",                 UNDEFINED_FILENAME      },
+  { "menu.button_next_level2.clone_from",      "menu.button_right"     },
+  { "menu.button_next_level2.active",          UNDEFINED_FILENAME      },
+  { "menu.button_next_level2.active.clone_from", "menu.button_right.active" },
+  { "menu.button_prev_level2",                 UNDEFINED_FILENAME      },
+  { "menu.button_prev_level2.clone_from",      "menu.button_left"      },
+  { "menu.button_prev_level2.active",          UNDEFINED_FILENAME      },
+  { "menu.button_prev_level2.active.clone_from", "menu.button_left.active" },
+
+  { "menu.button_next_score",                  UNDEFINED_FILENAME      },
+  { "menu.button_next_score.clone_from",       "menu.button_down"      },
+  { "menu.button_next_score.active",           UNDEFINED_FILENAME      },
+  { "menu.button_next_score.active.clone_from",        "menu.button_down.active" },
+  { "menu.button_prev_score",                  UNDEFINED_FILENAME      },
+  { "menu.button_prev_score.clone_from",       "menu.button_up"        },
+  { "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      },
@@ -6044,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      },
 
@@ -6159,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"                   },
@@ -6184,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      },
@@ -6203,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"                   },
@@ -6597,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"                     },
@@ -7172,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"                     },
@@ -7180,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"                    },
@@ -7187,6 +7481,8 @@ 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      },
   { "background.MAIN",                         UNDEFINED_FILENAME      },
@@ -7194,6 +7490,7 @@ struct ConfigInfo image_config[] =
   { "background.LEVELS",                       UNDEFINED_FILENAME      },
   { "background.LEVELNR",                      UNDEFINED_FILENAME      },
   { "background.SCORES",                       UNDEFINED_FILENAME      },
+  { "background.SCOREINFO",                    UNDEFINED_FILENAME      },
   { "background.EDITOR",                       UNDEFINED_FILENAME      },
   { "background.INFO",                         UNDEFINED_FILENAME      },
   { "background.INFO[ELEMENTS]",               UNDEFINED_FILENAME      },
@@ -7718,6 +8015,7 @@ struct ConfigInfo image_config[] =
   { "border.draw_masked.LEVELS",               "false"                 },
   { "border.draw_masked.LEVELNR",              "false"                 },
   { "border.draw_masked.SCORES",               "false"                 },
+  { "border.draw_masked.SCOREINFO",            "false"                 },
   { "border.draw_masked.EDITOR",               "false"                 },
   { "border.draw_masked.INFO",                 "false"                 },
   { "border.draw_masked.SETUP",                        "false"                 },
@@ -7726,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"                   },
@@ -7754,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             },
@@ -7771,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             },
@@ -7801,6 +8113,8 @@ struct ConfigInfo image_config[] =
   { "menu.draw_yoffset.LEVELNR",               "0"                     },
   { "menu.draw_xoffset.SCORES",                        "0"                     },
   { "menu.draw_yoffset.SCORES",                        "0"                     },
+  { "menu.draw_xoffset.SCOREINFO",             "0"                     },
+  { "menu.draw_yoffset.SCOREINFO",             "0"                     },
   { "menu.draw_xoffset.EDITOR",                        "0"                     },
   { "menu.draw_yoffset.EDITOR",                        "0"                     },
   { "menu.draw_xoffset.INFO",                  "0"                     },
@@ -7868,6 +8182,11 @@ 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"                    },
   { "menu.left_spacing.INFO[ELEMENTS]",                "16"                    },
@@ -7878,6 +8197,9 @@ 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"                    },
   { "menu.right_spacing.INFO[ELEMENTS]",       "16"                    },
@@ -7888,6 +8210,7 @@ struct ConfigInfo image_config[] =
   { "menu.right_spacing.INFO[LEVELSET]",       "16"                    },
   { "menu.right_spacing.SETUP[INPUT]",         "16"                    },
 
+  { "menu.top_spacing.SCOREINFO",              "100"                   },
   { "menu.top_spacing.INFO",                   "100"                   },
   { "menu.top_spacing.INFO[TITLE]",            "100"                   },
   { "menu.top_spacing.INFO[ELEMENTS]",         "100"                   },
@@ -7898,6 +8221,7 @@ struct ConfigInfo image_config[] =
   { "menu.top_spacing.INFO[LEVELSET]",         "100"                   },
   { "menu.top_spacing.SETUP[INPUT]",           "100"                   },
 
+  { "menu.bottom_spacing.SCOREINFO",           "20"                    },
   { "menu.bottom_spacing.INFO",                        "20"                    },
   { "menu.bottom_spacing.INFO[TITLE]",         "20"                    },
   { "menu.bottom_spacing.INFO[ELEMENTS]",      "20"                    },
@@ -7908,6 +8232,7 @@ struct ConfigInfo image_config[] =
   { "menu.bottom_spacing.INFO[LEVELSET]",      "20"                    },
   { "menu.bottom_spacing.SETUP[INPUT]",                "20"                    },
 
+  { "menu.paragraph_spacing.SCOREINFO",                "-2"                    },
   { "menu.paragraph_spacing.INFO",             "-3"                    },
   { "menu.paragraph_spacing.INFO[TITLE]",      "-3"                    },
   { "menu.paragraph_spacing.INFO[ELEMENTS]",   "-3"                    },
@@ -7918,6 +8243,7 @@ struct ConfigInfo image_config[] =
   { "menu.paragraph_spacing.INFO[LEVELSET]",   "-3"                    },
   { "menu.paragraph_spacing.SETUP[INPUT]",     "-1"                    },
 
+  { "menu.headline1_spacing.SCOREINFO",                "-2"                    },
   { "menu.headline1_spacing.INFO",             "-2"                    },
   { "menu.headline1_spacing.INFO[TITLE]",      "-2"                    },
   { "menu.headline1_spacing.INFO[ELEMENTS]",   "-2"                    },
@@ -7928,6 +8254,7 @@ struct ConfigInfo image_config[] =
   { "menu.headline1_spacing.INFO[LEVELSET]",   "-2"                    },
   { "menu.headline1_spacing.SETUP[INPUT]",     "-2"                    },
 
+  { "menu.headline2_spacing.SCOREINFO",                "-1"                    },
   { "menu.headline2_spacing.INFO",             "-1"                    },
   { "menu.headline2_spacing.INFO[TITLE]",      "-1"                    },
   { "menu.headline2_spacing.INFO[ELEMENTS]",   "-1"                    },
@@ -7938,6 +8265,7 @@ struct ConfigInfo image_config[] =
   { "menu.headline2_spacing.INFO[LEVELSET]",   "-1"                    },
   { "menu.headline2_spacing.SETUP[INPUT]",     "-1"                    },
 
+  { "menu.line_spacing.SCOREINFO",             "0"                     },
   { "menu.line_spacing.INFO",                  "0"                     },
   { "menu.line_spacing.INFO[TITLE]",           "0"                     },
   { "menu.line_spacing.INFO[ELEMENTS]",                "0"                     },
@@ -7948,9 +8276,10 @@ struct ConfigInfo image_config[] =
   { "menu.line_spacing.INFO[LEVELSET]",                "0"                     },
   { "menu.line_spacing.SETUP[INPUT]",          "0"                     },
 
+  { "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"                     },
@@ -7992,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"                    },
 
@@ -8173,6 +8505,19 @@ struct ConfigInfo image_config[] =
   { "setup.button.touch_next2.x",              "-60"                   },
   { "setup.button.touch_next2.y",              "-60"                   },
 
+  { "scores.button.prev_level.x",              "-1"                    },
+  { "scores.button.prev_level.y",              "-1"                    },
+  { "scores.button.next_level.x",              "-1"                    },
+  { "scores.button.next_level.y",              "-1"                    },
+
+  { "scores.button.prev_score.x",              "-1"                    },
+  { "scores.button.prev_score.y",              "-1"                    },
+  { "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"                },
@@ -8411,8 +8756,9 @@ struct ConfigInfo image_config[] =
   { "game.panel.inventory_count.y",            "89"                    },
   { "game.panel.inventory_count.align",                "center"                },
   { "game.panel.inventory_count.valign",       "top"                   },
-  { "game.panel.inventory_count.digits",       "3"                     },
+  { "game.panel.inventory_count.digits",       "-1"                    },
   { "game.panel.inventory_count.font",         "font.text_2"           },
+  { "game.panel.inventory_count.font_narrow",  "font.text_1"           },
   { "game.panel.inventory_count.draw_masked",  "true"                  },
   { "game.panel.inventory_count.draw_order",   "0"                     },
   { "game.panel.inventory_count.class",                "none"                  },
@@ -8610,8 +8956,9 @@ struct ConfigInfo image_config[] =
   { "game.panel.score.y",                      "159"                   },
   { "game.panel.score.align",                  "center"                },
   { "game.panel.score.valign",                 "top"                   },
-  { "game.panel.score.digits",                 "5"                     },
+  { "game.panel.score.digits",                 "-1"                    },
   { "game.panel.score.font",                   "font.text_2"           },
+  { "game.panel.score.font_narrow",            "font.text_1"           },
   { "game.panel.score.draw_masked",            "true"                  },
   { "game.panel.score.draw_order",             "0"                     },
   { "game.panel.score.class",                  "none"                  },
@@ -8621,8 +8968,9 @@ struct ConfigInfo image_config[] =
   { "game.panel.highscore.y",                  "-1"                    },
   { "game.panel.highscore.align",              "left"                  },
   { "game.panel.highscore.valign",             "top"                   },
-  { "game.panel.highscore.digits",             "5"                     },
+  { "game.panel.highscore.digits",             "-1"                    },
   { "game.panel.highscore.font",               "font.text_2"           },
+  { "game.panel.highscore.font_narrow",                "font.text_1"           },
   { "game.panel.highscore.draw_masked",                "true"                  },
   { "game.panel.highscore.draw_order",         "0"                     },
   { "game.panel.highscore.class",              "none"                  },
@@ -9400,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"                    },
@@ -9413,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"                    },
@@ -9424,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"                    },
@@ -9739,18 +10093,21 @@ 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"                 },
+  { "game.use_masked_elements",                        "false"                 },
   { "game.tile_size",                          "32"                    },
 
   { "[player].boring_delay_fixed",             "1000"                  },