increased maximum number of global animations (and parts) from 8 to 32
[rocksndiamonds.git] / src / conf_gfx.c
index 860f53d4468fcff86bb3ffd3670b94314053b830..745a464e02944e3e82f8b51c0e59a4d95f772264 100644 (file)
@@ -52,11 +52,16 @@ struct ConfigTypeInfo image_config_suffix[] =
   { ".position",                       ARG_UNDEFINED,  TYPE_STRING     },
   { ".draw_xoffset",                   "0",            TYPE_INTEGER    },
   { ".draw_yoffset",                   "0",            TYPE_INTEGER    },
-  { ".draw_masked",                    "false",        TYPE_BOOLEAN    },
+  { ".draw_masked",                    ARG_UNDEFINED,  TYPE_BOOLEAN    },
+  { ".draw_order",                     ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".init_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".init_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".anim_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".anim_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".post_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".post_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".init_event",                     ARG_UNDEFINED,  TYPE_STRING     },
+  { ".anim_event",                     ARG_UNDEFINED,  TYPE_STRING     },
   { ".name",                           ARG_UNDEFINED,  TYPE_STRING     },
   { ".scale_up_factor",                        ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".tile_size",                      ARG_UNDEFINED,  TYPE_INTEGER    },
@@ -4590,6 +4595,39 @@ struct ConfigInfo image_config[] =
   { "toon_20.direction",                       "down"                  },
   { "toon_20.position",                                "any"                   },
 
+  { "gfx.global.anim_1",                       UNDEFINED_FILENAME      },
+  { "gfx.global.anim_2",                       UNDEFINED_FILENAME      },
+  { "gfx.global.anim_3",                       UNDEFINED_FILENAME      },
+  { "gfx.global.anim_4",                       UNDEFINED_FILENAME      },
+  { "gfx.global.anim_5",                       UNDEFINED_FILENAME      },
+  { "gfx.global.anim_6",                       UNDEFINED_FILENAME      },
+  { "gfx.global.anim_7",                       UNDEFINED_FILENAME      },
+  { "gfx.global.anim_8",                       UNDEFINED_FILENAME      },
+  { "gfx.global.anim_9",                       UNDEFINED_FILENAME      },
+  { "gfx.global.anim_10",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_11",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_12",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_13",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_14",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_15",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_16",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_17",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_18",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_19",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_20",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_21",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_22",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_23",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_24",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_25",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_26",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_27",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_28",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_29",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_30",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_31",                      UNDEFINED_FILENAME      },
+  { "gfx.global.anim_32",                      UNDEFINED_FILENAME      },
+
   { "global.anim_1",                           UNDEFINED_FILENAME      },
   { "global.anim_2",                           UNDEFINED_FILENAME      },
   { "global.anim_3",                           UNDEFINED_FILENAME      },
@@ -4598,6 +4636,35 @@ struct ConfigInfo image_config[] =
   { "global.anim_6",                           UNDEFINED_FILENAME      },
   { "global.anim_7",                           UNDEFINED_FILENAME      },
   { "global.anim_8",                           UNDEFINED_FILENAME      },
+  { "global.anim_9",                           UNDEFINED_FILENAME      },
+  { "global.anim_10",                          UNDEFINED_FILENAME      },
+  { "global.anim_11",                          UNDEFINED_FILENAME      },
+  { "global.anim_12",                          UNDEFINED_FILENAME      },
+  { "global.anim_13",                          UNDEFINED_FILENAME      },
+  { "global.anim_14",                          UNDEFINED_FILENAME      },
+  { "global.anim_15",                          UNDEFINED_FILENAME      },
+  { "global.anim_16",                          UNDEFINED_FILENAME      },
+  { "global.anim_17",                          UNDEFINED_FILENAME      },
+  { "global.anim_18",                          UNDEFINED_FILENAME      },
+  { "global.anim_19",                          UNDEFINED_FILENAME      },
+  { "global.anim_20",                          UNDEFINED_FILENAME      },
+  { "global.anim_21",                          UNDEFINED_FILENAME      },
+  { "global.anim_22",                          UNDEFINED_FILENAME      },
+  { "global.anim_23",                          UNDEFINED_FILENAME      },
+  { "global.anim_24",                          UNDEFINED_FILENAME      },
+  { "global.anim_25",                          UNDEFINED_FILENAME      },
+  { "global.anim_26",                          UNDEFINED_FILENAME      },
+  { "global.anim_27",                          UNDEFINED_FILENAME      },
+  { "global.anim_28",                          UNDEFINED_FILENAME      },
+  { "global.anim_29",                          UNDEFINED_FILENAME      },
+  { "global.anim_30",                          UNDEFINED_FILENAME      },
+  { "global.anim_31",                          UNDEFINED_FILENAME      },
+  { "global.anim_32",                          UNDEFINED_FILENAME      },
+
+  { "internal.global.toon_default",            UNDEFINED_FILENAME      },
+  { "internal.global.toon_default.anim_mode",  "random"                },
+
+  { "internal.global.anim_default",            UNDEFINED_FILENAME      },
 
   { "menu.calibrate_red",                      "RocksElements.png"     },
   { "menu.calibrate_red.xpos",                 "12"                    },
@@ -4714,240 +4781,240 @@ struct ConfigInfo image_config[] =
   { "menu.scrollbar.active.ypos",              "10"                    },
   { "menu.scrollbar.active.frames",            "1"                     },
 
-  { "game.button.gfx.stop",                    "RocksDoor.png"         },
-  { "game.button.gfx.stop.x",                  "305"                   },
-  { "game.button.gfx.stop.y",                  "185"                   },
-  { "game.button.gfx.stop.width",              "30"                    },
-  { "game.button.gfx.stop.height",             "30"                    },
-  { "game.button.gfx.stop.pressed_xoffset",    "-100"                  },
-  { "game.button.gfx.pause",                   "RocksDoor.png"         },
-  { "game.button.gfx.pause.x",                 "335"                   },
-  { "game.button.gfx.pause.y",                 "185"                   },
-  { "game.button.gfx.pause.width",             "30"                    },
-  { "game.button.gfx.pause.height",            "30"                    },
-  { "game.button.gfx.pause.pressed_xoffset",   "-100"                  },
-  { "game.button.gfx.play",                    "RocksDoor.png"         },
-  { "game.button.gfx.play.x",                  "365"                   },
-  { "game.button.gfx.play.y",                  "185"                   },
-  { "game.button.gfx.play.width",              "30"                    },
-  { "game.button.gfx.play.height",             "30"                    },
-  { "game.button.gfx.play.pressed_xoffset",    "-100"                  },
-
-  { "game.button.gfx.undo",                    "RocksDoor2.png"        },
-  { "game.button.gfx.undo.x",                  "105"                   },
-  { "game.button.gfx.undo.y",                  "20"                    },
-  { "game.button.gfx.undo.width",              "30"                    },
-  { "game.button.gfx.undo.height",             "30"                    },
-  { "game.button.gfx.undo.pressed_xoffset",    "-100"                  },
-  { "game.button.gfx.redo",                    "RocksDoor2.png"        },
-  { "game.button.gfx.redo.x",                  "165"                   },
-  { "game.button.gfx.redo.y",                  "20"                    },
-  { "game.button.gfx.redo.width",              "30"                    },
-  { "game.button.gfx.redo.height",             "30"                    },
-  { "game.button.gfx.redo.pressed_xoffset",    "-100"                  },
-
-  { "game.button.gfx.save",                    "RocksDoor2.png"        },
-  { "game.button.gfx.save.x",                  "105"                   },
-  { "game.button.gfx.save.y",                  "50"                    },
-  { "game.button.gfx.save.width",              "30"                    },
-  { "game.button.gfx.save.height",             "30"                    },
-  { "game.button.gfx.save.pressed_xoffset",    "-100"                  },
-  { "game.button.gfx.pause2",                  "RocksDoor2.png"        },
-  { "game.button.gfx.pause2.x",                        "135"                   },
-  { "game.button.gfx.pause2.y",                        "50"                    },
-  { "game.button.gfx.pause2.width",            "30"                    },
-  { "game.button.gfx.pause2.height",           "30"                    },
-  { "game.button.gfx.pause2.pressed_xoffset",  "-100"                  },
-  { "game.button.gfx.pause2.active_yoffset",   "-30"                   },
-  { "game.button.gfx.load",                    "RocksDoor2.png"        },
-  { "game.button.gfx.load.x",                  "165"                   },
-  { "game.button.gfx.load.y",                  "50"                    },
-  { "game.button.gfx.load.width",              "30"                    },
-  { "game.button.gfx.load.height",             "30"                    },
-  { "game.button.gfx.load.pressed_xoffset",    "-100"                  },
-
-  { "game.button.gfx.sound_music",             "RocksDoor.png"         },
-  { "game.button.gfx.sound_music.x",           "305"                   },
-  { "game.button.gfx.sound_music.y",           "245"                   },
-  { "game.button.gfx.sound_music.width",       "30"                    },
-  { "game.button.gfx.sound_music.height",      "30"                    },
-  { "game.button.gfx.sound_music.pressed_xoffset", "-100"              },
-  { "game.button.gfx.sound_music.active_yoffset", "-30"                        },
-  { "game.button.gfx.sound_loops",             "RocksDoor.png"         },
-  { "game.button.gfx.sound_loops.x",           "335"                   },
-  { "game.button.gfx.sound_loops.y",           "245"                   },
-  { "game.button.gfx.sound_loops.width",       "30"                    },
-  { "game.button.gfx.sound_loops.height",      "30"                    },
-  { "game.button.gfx.sound_loops.pressed_xoffset", "-100"              },
-  { "game.button.gfx.sound_loops.active_yoffset", "-30"                        },
-  { "game.button.gfx.sound_simple",            "RocksDoor.png"         },
-  { "game.button.gfx.sound_simple.x",          "365"                   },
-  { "game.button.gfx.sound_simple.y",          "245"                   },
-  { "game.button.gfx.sound_simple.width",      "30"                    },
-  { "game.button.gfx.sound_simple.height",     "30"                    },
-  { "game.button.gfx.sound_simple.pressed_xoffset", "-100"             },
-  { "game.button.gfx.sound_simple.active_yoffset", "-30"               },
-
-  { "tape.button.gfx.eject",                   "RocksDoor.png"         },
-  { "tape.button.gfx.eject.x",                 "305"                   },
-  { "tape.button.gfx.eject.y",                 "357"                   },
-  { "tape.button.gfx.eject.width",             "18"                    },
-  { "tape.button.gfx.eject.height",            "18"                    },
-  { "tape.button.gfx.eject.pressed_xoffset",   "-100"                  },
-  { "tape.button.gfx.extra",                   "RocksDoor.png"         },
-  { "tape.button.gfx.extra.x",                 "505"                   },
-  { "tape.button.gfx.extra.y",                 "357"                   },
-  { "tape.button.gfx.extra.width",             "18"                    },
-  { "tape.button.gfx.extra.height",            "18"                    },
-  { "tape.button.gfx.extra.pressed_xoffset",   "-100"                  },
-  { "tape.button.gfx.stop",                    "RocksDoor.png"         },
-  { "tape.button.gfx.stop.x",                  "323"                   },
-  { "tape.button.gfx.stop.y",                  "357"                   },
-  { "tape.button.gfx.stop.width",              "18"                    },
-  { "tape.button.gfx.stop.height",             "18"                    },
-  { "tape.button.gfx.stop.pressed_xoffset",    "-100"                  },
-  { "tape.button.gfx.pause",                   "RocksDoor.png"         },
-  { "tape.button.gfx.pause.x",                 "341"                   },
-  { "tape.button.gfx.pause.y",                 "357"                   },
-  { "tape.button.gfx.pause.width",             "18"                    },
-  { "tape.button.gfx.pause.height",            "18"                    },
-  { "tape.button.gfx.pause.pressed_xoffset",   "-100"                  },
-  { "tape.button.gfx.record",                  "RocksDoor.png"         },
-  { "tape.button.gfx.record.x",                        "359"                   },
-  { "tape.button.gfx.record.y",                        "357"                   },
-  { "tape.button.gfx.record.width",            "18"                    },
-  { "tape.button.gfx.record.height",           "18"                    },
-  { "tape.button.gfx.record.pressed_xoffset",  "-100"                  },
-  { "tape.button.gfx.play",                    "RocksDoor.png"         },
-  { "tape.button.gfx.play.x",                  "377"                   },
-  { "tape.button.gfx.play.y",                  "357"                   },
-  { "tape.button.gfx.play.width",              "18"                    },
-  { "tape.button.gfx.play.height",             "18"                    },
-  { "tape.button.gfx.play.pressed_xoffset",    "-100"                  },
-
-  { "tape.symbol.gfx.eject",                   UNDEFINED_FILENAME      },
-  { "tape.symbol.gfx.stop",                    UNDEFINED_FILENAME      },
-  { "tape.symbol.gfx.pause",                   "RocksDoor.png"         },
-  { "tape.symbol.gfx.pause.x",                 "340"                   },
-  { "tape.symbol.gfx.pause.y",                 "321"                   },
-  { "tape.symbol.gfx.pause.width",             "17"                    },
-  { "tape.symbol.gfx.pause.height",            "13"                    },
-  { "tape.symbol.gfx.record",                  "RocksDoor.png"         },
-  { "tape.symbol.gfx.record.x",                        "325"                   },
-  { "tape.symbol.gfx.record.y",                        "321"                   },
-  { "tape.symbol.gfx.record.width",            "16"                    },
-  { "tape.symbol.gfx.record.height",           "16"                    },
-  { "tape.symbol.gfx.play",                    "RocksDoor.png"         },
-  { "tape.symbol.gfx.play.x",                  "357"                   },
-  { "tape.symbol.gfx.play.y",                  "321"                   },
-  { "tape.symbol.gfx.play.width",              "11"                    },
-  { "tape.symbol.gfx.play.height",             "13"                    },
-  { "tape.symbol.gfx.fast_forward",            "RocksDoor.png"         },
-  { "tape.symbol.gfx.fast_forward.x",          "539"                   },
-  { "tape.symbol.gfx.fast_forward.y",          "193"                   },
-  { "tape.symbol.gfx.fast_forward.width",      "27"                    },
-  { "tape.symbol.gfx.fast_forward.height",     "13"                    },
-  { "tape.symbol.gfx.warp_forward",            "RocksDoor.png"         },
-  { "tape.symbol.gfx.warp_forward.x",          "539"                   },
-  { "tape.symbol.gfx.warp_forward.y",          "152"                   },
-  { "tape.symbol.gfx.warp_forward.width",      "27"                    },
-  { "tape.symbol.gfx.warp_forward.height",     "13"                    },
-  { "tape.symbol.gfx.warp_forward_blind",      "RocksDoor.png"         },
-  { "tape.symbol.gfx.warp_forward_blind.x",    "539"                   },
-  { "tape.symbol.gfx.warp_forward_blind.y",    "165"                   },
-  { "tape.symbol.gfx.warp_forward_blind.width",        "27"                    },
-  { "tape.symbol.gfx.warp_forward_blind.height","13"                   },
-  { "tape.symbol.gfx.pause_before_end",                "RocksDoor.png"         },
-  { "tape.symbol.gfx.pause_before_end.x",      "539"                   },
-  { "tape.symbol.gfx.pause_before_end.y",      "221"                   },
-  { "tape.symbol.gfx.pause_before_end.width",  "27"                    },
-  { "tape.symbol.gfx.pause_before_end.height", "13"                    },
-  { "tape.symbol.gfx.single_step",             UNDEFINED_FILENAME      },
-
-  { "tape.label.gfx.eject",                    UNDEFINED_FILENAME      },
-  { "tape.label.gfx.stop",                     UNDEFINED_FILENAME      },
-  { "tape.label.gfx.pause",                    "RocksDoor.png"         },
-  { "tape.label.gfx.pause.x",                  "305"                   },
-  { "tape.label.gfx.pause.y",                  "341"                   },
-  { "tape.label.gfx.pause.width",              "35"                    },
-  { "tape.label.gfx.pause.height",             "8"                     },
-  { "tape.label.gfx.record",                   "RocksDoor.png"         },
-  { "tape.label.gfx.record.x",                 "305"                   },
-  { "tape.label.gfx.record.y",                 "321"                   },
-  { "tape.label.gfx.record.width",             "20"                    },
-  { "tape.label.gfx.record.height",            "12"                    },
-  { "tape.label.gfx.play",                     "RocksDoor.png"         },
-  { "tape.label.gfx.play.x",                   "370"                   },
-  { "tape.label.gfx.play.y",                   "321"                   },
-  { "tape.label.gfx.play.width",               "22"                    },
-  { "tape.label.gfx.play.height",              "12"                    },
-  { "tape.label.gfx.fast_forward",             "RocksDoor.png"         },
-  { "tape.label.gfx.fast_forward.x",           "505"                   },
-  { "tape.label.gfx.fast_forward.y",           "193"                   },
-  { "tape.label.gfx.fast_forward.width",       "40"                    },
-  { "tape.label.gfx.fast_forward.height",      "28"                    },
-  { "tape.label.gfx.warp_forward",             "RocksDoor.png"         },
-  { "tape.label.gfx.warp_forward.x",           "505"                   },
-  { "tape.label.gfx.warp_forward.y",           "165"                   },
-  { "tape.label.gfx.warp_forward.width",       "40"                    },
-  { "tape.label.gfx.warp_forward.height",      "28"                    },
-  { "tape.label.gfx.warp_forward_blind",       "RocksDoor.png"         },
-  { "tape.label.gfx.warp_forward_blind.x",     "505"                   },
-  { "tape.label.gfx.warp_forward_blind.y",     "165"                   },
-  { "tape.label.gfx.warp_forward_blind.width", "40"                    },
-  { "tape.label.gfx.warp_forward_blind.height",        "28"                    },
-  { "tape.label.gfx.pause_before_end",         "RocksDoor.png"         },
-  { "tape.label.gfx.pause_before_end.x",       "505"                   },
-  { "tape.label.gfx.pause_before_end.y",       "221"                   },
-  { "tape.label.gfx.pause_before_end.width",   "40"                    },
-  { "tape.label.gfx.pause_before_end.height",  "28"                    },
-  { "tape.label.gfx.single_step",              "RocksDoor.png"         },
-  { "tape.label.gfx.single_step.x",            "557"                   },
-  { "tape.label.gfx.single_step.y",            "139"                   },
-  { "tape.label.gfx.single_step.width",                "38"                    },
-  { "tape.label.gfx.single_step.height",       "13"                    },
-
-  { "tape.label.gfx.date",                     "RocksDoor.png"         },
-  { "tape.label.gfx.date.x",                   "305"                   },
-  { "tape.label.gfx.date.y",                   "285"                   },
-  { "tape.label.gfx.date.width",               "90"                    },
-  { "tape.label.gfx.date.height",              "31"                    },
-  { "tape.label.gfx.time",                     "RocksDoor.png"         },
-  { "tape.label.gfx.time.x",                   "346"                   },
-  { "tape.label.gfx.time.y",                   "335"                   },
-  { "tape.label.gfx.time.width",               "45"                    },
-  { "tape.label.gfx.time.height",              "13"                    },
-
-  { "request.button.gfx.yes",                  "RocksDoor.png"         },
-  { "request.button.gfx.yes.x",                        "302"                   },
-  { "request.button.gfx.yes.y",                        "0"                     },
-  { "request.button.gfx.yes.width",            "46"                    },
-  { "request.button.gfx.yes.height",           "28"                    },
-  { "request.button.gfx.yes.pressed_xoffset",  "-100"                  },
-  { "request.button.gfx.no",                   "RocksDoor.png"         },
-  { "request.button.gfx.no.x",                 "352"                   },
-  { "request.button.gfx.no.y",                 "0"                     },
-  { "request.button.gfx.no.width",             "46"                    },
-  { "request.button.gfx.no.height",            "28"                    },
-  { "request.button.gfx.no.pressed_xoffset",   "-100"                  },
-  { "request.button.gfx.confirm",              "RocksDoor.png"         },
-  { "request.button.gfx.confirm.x",            "302"                   },
-  { "request.button.gfx.confirm.y",            "30"                    },
-  { "request.button.gfx.confirm.width",                "96"                    },
-  { "request.button.gfx.confirm.height",       "28"                    },
-  { "request.button.gfx.confirm.pressed_xoffset", "-100"               },
-  { "request.button.gfx.player_1",             "RocksDoor.png"         },
-  { "request.button.gfx.player_1.x",           "305"                   },
-  { "request.button.gfx.player_1.y",           "185"                   },
-  { "request.button.gfx.player_1.width",       "30"                    },
-  { "request.button.gfx.player_1.height",      "30"                    },
-  { "request.button.gfx.player_1.pressed_xoffset", "-100"              },
-  { "request.button.gfx.player_2",             UNDEFINED_FILENAME      },
-  { "request.button.gfx.player_2.clone_from",  "request.button.gfx.player_1" },
-  { "request.button.gfx.player_3",             UNDEFINED_FILENAME      },
-  { "request.button.gfx.player_3.clone_from",  "request.button.gfx.player_1" },
-  { "request.button.gfx.player_4",             UNDEFINED_FILENAME      },
-  { "request.button.gfx.player_4.clone_from",  "request.button.gfx.player_1" },
+  { "gfx.game.button.stop",                    "RocksDoor.png"         },
+  { "gfx.game.button.stop.x",                  "305"                   },
+  { "gfx.game.button.stop.y",                  "185"                   },
+  { "gfx.game.button.stop.width",              "30"                    },
+  { "gfx.game.button.stop.height",             "30"                    },
+  { "gfx.game.button.stop.pressed_xoffset",    "-100"                  },
+  { "gfx.game.button.pause",                   "RocksDoor.png"         },
+  { "gfx.game.button.pause.x",                 "335"                   },
+  { "gfx.game.button.pause.y",                 "185"                   },
+  { "gfx.game.button.pause.width",             "30"                    },
+  { "gfx.game.button.pause.height",            "30"                    },
+  { "gfx.game.button.pause.pressed_xoffset",   "-100"                  },
+  { "gfx.game.button.play",                    "RocksDoor.png"         },
+  { "gfx.game.button.play.x",                  "365"                   },
+  { "gfx.game.button.play.y",                  "185"                   },
+  { "gfx.game.button.play.width",              "30"                    },
+  { "gfx.game.button.play.height",             "30"                    },
+  { "gfx.game.button.play.pressed_xoffset",    "-100"                  },
+
+  { "gfx.game.button.undo",                    "RocksDoor2.png"        },
+  { "gfx.game.button.undo.x",                  "105"                   },
+  { "gfx.game.button.undo.y",                  "20"                    },
+  { "gfx.game.button.undo.width",              "30"                    },
+  { "gfx.game.button.undo.height",             "30"                    },
+  { "gfx.game.button.undo.pressed_xoffset",    "-100"                  },
+  { "gfx.game.button.redo",                    "RocksDoor2.png"        },
+  { "gfx.game.button.redo.x",                  "165"                   },
+  { "gfx.game.button.redo.y",                  "20"                    },
+  { "gfx.game.button.redo.width",              "30"                    },
+  { "gfx.game.button.redo.height",             "30"                    },
+  { "gfx.game.button.redo.pressed_xoffset",    "-100"                  },
+
+  { "gfx.game.button.save",                    "RocksDoor2.png"        },
+  { "gfx.game.button.save.x",                  "105"                   },
+  { "gfx.game.button.save.y",                  "50"                    },
+  { "gfx.game.button.save.width",              "30"                    },
+  { "gfx.game.button.save.height",             "30"                    },
+  { "gfx.game.button.save.pressed_xoffset",    "-100"                  },
+  { "gfx.game.button.pause2",                  "RocksDoor2.png"        },
+  { "gfx.game.button.pause2.x",                        "135"                   },
+  { "gfx.game.button.pause2.y",                        "50"                    },
+  { "gfx.game.button.pause2.width",            "30"                    },
+  { "gfx.game.button.pause2.height",           "30"                    },
+  { "gfx.game.button.pause2.pressed_xoffset",  "-100"                  },
+  { "gfx.game.button.pause2.active_yoffset",   "-30"                   },
+  { "gfx.game.button.load",                    "RocksDoor2.png"        },
+  { "gfx.game.button.load.x",                  "165"                   },
+  { "gfx.game.button.load.y",                  "50"                    },
+  { "gfx.game.button.load.width",              "30"                    },
+  { "gfx.game.button.load.height",             "30"                    },
+  { "gfx.game.button.load.pressed_xoffset",    "-100"                  },
+
+  { "gfx.game.button.sound_music",             "RocksDoor.png"         },
+  { "gfx.game.button.sound_music.x",           "305"                   },
+  { "gfx.game.button.sound_music.y",           "245"                   },
+  { "gfx.game.button.sound_music.width",       "30"                    },
+  { "gfx.game.button.sound_music.height",      "30"                    },
+  { "gfx.game.button.sound_music.pressed_xoffset", "-100"              },
+  { "gfx.game.button.sound_music.active_yoffset", "-30"                        },
+  { "gfx.game.button.sound_loops",             "RocksDoor.png"         },
+  { "gfx.game.button.sound_loops.x",           "335"                   },
+  { "gfx.game.button.sound_loops.y",           "245"                   },
+  { "gfx.game.button.sound_loops.width",       "30"                    },
+  { "gfx.game.button.sound_loops.height",      "30"                    },
+  { "gfx.game.button.sound_loops.pressed_xoffset", "-100"              },
+  { "gfx.game.button.sound_loops.active_yoffset", "-30"                        },
+  { "gfx.game.button.sound_simple",            "RocksDoor.png"         },
+  { "gfx.game.button.sound_simple.x",          "365"                   },
+  { "gfx.game.button.sound_simple.y",          "245"                   },
+  { "gfx.game.button.sound_simple.width",      "30"                    },
+  { "gfx.game.button.sound_simple.height",     "30"                    },
+  { "gfx.game.button.sound_simple.pressed_xoffset", "-100"             },
+  { "gfx.game.button.sound_simple.active_yoffset", "-30"               },
+
+  { "gfx.tape.button.eject",                   "RocksDoor.png"         },
+  { "gfx.tape.button.eject.x",                 "305"                   },
+  { "gfx.tape.button.eject.y",                 "357"                   },
+  { "gfx.tape.button.eject.width",             "18"                    },
+  { "gfx.tape.button.eject.height",            "18"                    },
+  { "gfx.tape.button.eject.pressed_xoffset",   "-100"                  },
+  { "gfx.tape.button.extra",                   "RocksDoor.png"         },
+  { "gfx.tape.button.extra.x",                 "505"                   },
+  { "gfx.tape.button.extra.y",                 "357"                   },
+  { "gfx.tape.button.extra.width",             "18"                    },
+  { "gfx.tape.button.extra.height",            "18"                    },
+  { "gfx.tape.button.extra.pressed_xoffset",   "-100"                  },
+  { "gfx.tape.button.stop",                    "RocksDoor.png"         },
+  { "gfx.tape.button.stop.x",                  "323"                   },
+  { "gfx.tape.button.stop.y",                  "357"                   },
+  { "gfx.tape.button.stop.width",              "18"                    },
+  { "gfx.tape.button.stop.height",             "18"                    },
+  { "gfx.tape.button.stop.pressed_xoffset",    "-100"                  },
+  { "gfx.tape.button.pause",                   "RocksDoor.png"         },
+  { "gfx.tape.button.pause.x",                 "341"                   },
+  { "gfx.tape.button.pause.y",                 "357"                   },
+  { "gfx.tape.button.pause.width",             "18"                    },
+  { "gfx.tape.button.pause.height",            "18"                    },
+  { "gfx.tape.button.pause.pressed_xoffset",   "-100"                  },
+  { "gfx.tape.button.record",                  "RocksDoor.png"         },
+  { "gfx.tape.button.record.x",                        "359"                   },
+  { "gfx.tape.button.record.y",                        "357"                   },
+  { "gfx.tape.button.record.width",            "18"                    },
+  { "gfx.tape.button.record.height",           "18"                    },
+  { "gfx.tape.button.record.pressed_xoffset",  "-100"                  },
+  { "gfx.tape.button.play",                    "RocksDoor.png"         },
+  { "gfx.tape.button.play.x",                  "377"                   },
+  { "gfx.tape.button.play.y",                  "357"                   },
+  { "gfx.tape.button.play.width",              "18"                    },
+  { "gfx.tape.button.play.height",             "18"                    },
+  { "gfx.tape.button.play.pressed_xoffset",    "-100"                  },
+
+  { "gfx.tape.symbol.eject",                   UNDEFINED_FILENAME      },
+  { "gfx.tape.symbol.stop",                    UNDEFINED_FILENAME      },
+  { "gfx.tape.symbol.pause",                   "RocksDoor.png"         },
+  { "gfx.tape.symbol.pause.x",                 "340"                   },
+  { "gfx.tape.symbol.pause.y",                 "321"                   },
+  { "gfx.tape.symbol.pause.width",             "17"                    },
+  { "gfx.tape.symbol.pause.height",            "13"                    },
+  { "gfx.tape.symbol.record",                  "RocksDoor.png"         },
+  { "gfx.tape.symbol.record.x",                        "325"                   },
+  { "gfx.tape.symbol.record.y",                        "321"                   },
+  { "gfx.tape.symbol.record.width",            "16"                    },
+  { "gfx.tape.symbol.record.height",           "16"                    },
+  { "gfx.tape.symbol.play",                    "RocksDoor.png"         },
+  { "gfx.tape.symbol.play.x",                  "357"                   },
+  { "gfx.tape.symbol.play.y",                  "321"                   },
+  { "gfx.tape.symbol.play.width",              "11"                    },
+  { "gfx.tape.symbol.play.height",             "13"                    },
+  { "gfx.tape.symbol.fast_forward",            "RocksDoor.png"         },
+  { "gfx.tape.symbol.fast_forward.x",          "539"                   },
+  { "gfx.tape.symbol.fast_forward.y",          "193"                   },
+  { "gfx.tape.symbol.fast_forward.width",      "27"                    },
+  { "gfx.tape.symbol.fast_forward.height",     "13"                    },
+  { "gfx.tape.symbol.warp_forward",            "RocksDoor.png"         },
+  { "gfx.tape.symbol.warp_forward.x",          "539"                   },
+  { "gfx.tape.symbol.warp_forward.y",          "152"                   },
+  { "gfx.tape.symbol.warp_forward.width",      "27"                    },
+  { "gfx.tape.symbol.warp_forward.height",     "13"                    },
+  { "gfx.tape.symbol.warp_forward_blind",      "RocksDoor.png"         },
+  { "gfx.tape.symbol.warp_forward_blind.x",    "539"                   },
+  { "gfx.tape.symbol.warp_forward_blind.y",    "165"                   },
+  { "gfx.tape.symbol.warp_forward_blind.width",        "27"                    },
+  { "gfx.tape.symbol.warp_forward_blind.height","13"                   },
+  { "gfx.tape.symbol.pause_before_end",                "RocksDoor.png"         },
+  { "gfx.tape.symbol.pause_before_end.x",      "539"                   },
+  { "gfx.tape.symbol.pause_before_end.y",      "221"                   },
+  { "gfx.tape.symbol.pause_before_end.width",  "27"                    },
+  { "gfx.tape.symbol.pause_before_end.height", "13"                    },
+  { "gfx.tape.symbol.single_step",             UNDEFINED_FILENAME      },
+
+  { "gfx.tape.label.eject",                    UNDEFINED_FILENAME      },
+  { "gfx.tape.label.stop",                     UNDEFINED_FILENAME      },
+  { "gfx.tape.label.pause",                    "RocksDoor.png"         },
+  { "gfx.tape.label.pause.x",                  "305"                   },
+  { "gfx.tape.label.pause.y",                  "341"                   },
+  { "gfx.tape.label.pause.width",              "35"                    },
+  { "gfx.tape.label.pause.height",             "8"                     },
+  { "gfx.tape.label.record",                   "RocksDoor.png"         },
+  { "gfx.tape.label.record.x",                 "305"                   },
+  { "gfx.tape.label.record.y",                 "321"                   },
+  { "gfx.tape.label.record.width",             "20"                    },
+  { "gfx.tape.label.record.height",            "12"                    },
+  { "gfx.tape.label.play",                     "RocksDoor.png"         },
+  { "gfx.tape.label.play.x",                   "370"                   },
+  { "gfx.tape.label.play.y",                   "321"                   },
+  { "gfx.tape.label.play.width",               "22"                    },
+  { "gfx.tape.label.play.height",              "12"                    },
+  { "gfx.tape.label.fast_forward",             "RocksDoor.png"         },
+  { "gfx.tape.label.fast_forward.x",           "505"                   },
+  { "gfx.tape.label.fast_forward.y",           "193"                   },
+  { "gfx.tape.label.fast_forward.width",       "40"                    },
+  { "gfx.tape.label.fast_forward.height",      "28"                    },
+  { "gfx.tape.label.warp_forward",             "RocksDoor.png"         },
+  { "gfx.tape.label.warp_forward.x",           "505"                   },
+  { "gfx.tape.label.warp_forward.y",           "165"                   },
+  { "gfx.tape.label.warp_forward.width",       "40"                    },
+  { "gfx.tape.label.warp_forward.height",      "28"                    },
+  { "gfx.tape.label.warp_forward_blind",       "RocksDoor.png"         },
+  { "gfx.tape.label.warp_forward_blind.x",     "505"                   },
+  { "gfx.tape.label.warp_forward_blind.y",     "165"                   },
+  { "gfx.tape.label.warp_forward_blind.width", "40"                    },
+  { "gfx.tape.label.warp_forward_blind.height",        "28"                    },
+  { "gfx.tape.label.pause_before_end",         "RocksDoor.png"         },
+  { "gfx.tape.label.pause_before_end.x",       "505"                   },
+  { "gfx.tape.label.pause_before_end.y",       "221"                   },
+  { "gfx.tape.label.pause_before_end.width",   "40"                    },
+  { "gfx.tape.label.pause_before_end.height",  "28"                    },
+  { "gfx.tape.label.single_step",              "RocksDoor.png"         },
+  { "gfx.tape.label.single_step.x",            "557"                   },
+  { "gfx.tape.label.single_step.y",            "139"                   },
+  { "gfx.tape.label.single_step.width",                "38"                    },
+  { "gfx.tape.label.single_step.height",       "13"                    },
+
+  { "gfx.tape.label.date",                     "RocksDoor.png"         },
+  { "gfx.tape.label.date.x",                   "305"                   },
+  { "gfx.tape.label.date.y",                   "285"                   },
+  { "gfx.tape.label.date.width",               "90"                    },
+  { "gfx.tape.label.date.height",              "31"                    },
+  { "gfx.tape.label.time",                     "RocksDoor.png"         },
+  { "gfx.tape.label.time.x",                   "346"                   },
+  { "gfx.tape.label.time.y",                   "335"                   },
+  { "gfx.tape.label.time.width",               "45"                    },
+  { "gfx.tape.label.time.height",              "13"                    },
+
+  { "gfx.request.button.yes",                  "RocksDoor.png"         },
+  { "gfx.request.button.yes.x",                        "302"                   },
+  { "gfx.request.button.yes.y",                        "0"                     },
+  { "gfx.request.button.yes.width",            "46"                    },
+  { "gfx.request.button.yes.height",           "28"                    },
+  { "gfx.request.button.yes.pressed_xoffset",  "-100"                  },
+  { "gfx.request.button.no",                   "RocksDoor.png"         },
+  { "gfx.request.button.no.x",                 "352"                   },
+  { "gfx.request.button.no.y",                 "0"                     },
+  { "gfx.request.button.no.width",             "46"                    },
+  { "gfx.request.button.no.height",            "28"                    },
+  { "gfx.request.button.no.pressed_xoffset",   "-100"                  },
+  { "gfx.request.button.confirm",              "RocksDoor.png"         },
+  { "gfx.request.button.confirm.x",            "302"                   },
+  { "gfx.request.button.confirm.y",            "30"                    },
+  { "gfx.request.button.confirm.width",                "96"                    },
+  { "gfx.request.button.confirm.height",       "28"                    },
+  { "gfx.request.button.confirm.pressed_xoffset", "-100"               },
+  { "gfx.request.button.player_1",             "RocksDoor.png"         },
+  { "gfx.request.button.player_1.x",           "305"                   },
+  { "gfx.request.button.player_1.y",           "185"                   },
+  { "gfx.request.button.player_1.width",       "30"                    },
+  { "gfx.request.button.player_1.height",      "30"                    },
+  { "gfx.request.button.player_1.pressed_xoffset", "-100"              },
+  { "gfx.request.button.player_2",             UNDEFINED_FILENAME      },
+  { "gfx.request.button.player_2.clone_from",  "gfx.request.button.player_1" },
+  { "gfx.request.button.player_3",             UNDEFINED_FILENAME      },
+  { "gfx.request.button.player_3.clone_from",  "gfx.request.button.player_1" },
+  { "gfx.request.button.player_4",             UNDEFINED_FILENAME      },
+  { "gfx.request.button.player_4.clone_from",  "gfx.request.button.player_1" },
 
   { "font.initial_1",                          "RocksFontSmall.png"    },
   { "font.initial_1.x",                                "0"                     },
@@ -5194,11 +5261,15 @@ struct ConfigInfo image_config[] =
   { "font.option_off.y",                       "160"                   },
   { "font.option_off.width",                   "32"                    },
   { "font.option_off.height",                  "32"                    },
+  { "font.option_off_narrow",                  UNDEFINED_FILENAME      },
+  { "font.option_off_narrow.clone_from",       "font.text_2.LEVELS"    },
   { "font.option_on",                          "RocksFontBig.png"      },
   { "font.option_on.x",                                "0"                     },
   { "font.option_on.y",                                "480"                   },
   { "font.option_on.width",                    "32"                    },
   { "font.option_on.height",                   "32"                    },
+  { "font.option_on_narrow",                   UNDEFINED_FILENAME      },
+  { "font.option_on_narrow.clone_from",                "font.text_4.LEVELS"    },
 
   { "font.value_1",                            "RocksFontBig.png"      },
   { "font.value_1.x",                          "0"                     },
@@ -5215,6 +5286,8 @@ struct ConfigInfo image_config[] =
   { "font.value_old.y",                                "160"                   },
   { "font.value_old.width",                    "32"                    },
   { "font.value_old.height",                   "32"                    },
+  { "font.value_narrow",                       UNDEFINED_FILENAME      },
+  { "font.value_narrow.clone_from",            "font.text_4.LEVELS"    },
 
   { "font.level_number",                       "RocksFontSmall.png"    },
   { "font.level_number.x",                     "0"                     },
@@ -5417,26 +5490,49 @@ struct ConfigInfo image_config[] =
   { "editor.playfield.scrollbar.pressed_xoffset", "-16"                        },
   { "editor.playfield.scrollbar.border_size",  "3"                     },
 
-  { "editor.button.gfx.prev_level",            "RocksDoor.png"         },
-  { "editor.button.gfx.prev_level.x",          "724"                   },
-  { "editor.button.gfx.prev_level.y",          "32"                    },
-  { "editor.button.gfx.prev_level.width",      "16"                    },
-  { "editor.button.gfx.prev_level.height",     "16"                    },
-  { "editor.button.gfx.prev_level.pressed_xoffset", "-16"              },
-
-  { "editor.button.gfx.next_level",            "RocksDoor.png"         },
-  { "editor.button.gfx.next_level.x",          "724"                   },
-  { "editor.button.gfx.next_level.y",          "48"                    },
-  { "editor.button.gfx.next_level.width",      "16"                    },
-  { "editor.button.gfx.next_level.height",     "16"                    },
-  { "editor.button.gfx.next_level.pressed_xoffset", "-16"              },
-
-  { "editor.button.gfx.properties",            "RocksDoor2.png"        },
-  { "editor.button.gfx.properties.x",          "105"                   },
-  { "editor.button.gfx.properties.y",          "0"                     },
-  { "editor.button.gfx.properties.width",      "90"                    },
-  { "editor.button.gfx.properties.height",     "20"                    },
-  { "editor.button.gfx.properties.pressed_xoffset", "-100"             },
+  { "gfx.editor.button.prev_level",            "RocksDoor.png"         },
+  { "gfx.editor.button.prev_level.x",          "724"                   },
+  { "gfx.editor.button.prev_level.y",          "32"                    },
+  { "gfx.editor.button.prev_level.width",      "16"                    },
+  { "gfx.editor.button.prev_level.height",     "16"                    },
+  { "gfx.editor.button.prev_level.pressed_xoffset", "-16"              },
+
+  { "gfx.editor.button.next_level",            "RocksDoor.png"         },
+  { "gfx.editor.button.next_level.x",          "724"                   },
+  { "gfx.editor.button.next_level.y",          "48"                    },
+  { "gfx.editor.button.next_level.width",      "16"                    },
+  { "gfx.editor.button.next_level.height",     "16"                    },
+  { "gfx.editor.button.next_level.pressed_xoffset", "-16"              },
+
+  { "gfx.editor.button.properties",            "RocksDoor2.png"        },
+  { "gfx.editor.button.properties.x",          "105"                   },
+  { "gfx.editor.button.properties.y",          "0"                     },
+  { "gfx.editor.button.properties.width",      "90"                    },
+  { "gfx.editor.button.properties.height",     "20"                    },
+  { "gfx.editor.button.properties.pressed_xoffset", "-100"             },
+
+  { "gfx.editor.button.element_left",          "RocksDoor2.png"        },
+  { "gfx.editor.button.element_left.x",                "368"                   },
+  { "gfx.editor.button.element_left.y",                "48"                    },
+  { "gfx.editor.button.element_left.width",    "16"                    },
+  { "gfx.editor.button.element_left.height",   "16"                    },
+  { "gfx.editor.button.element_left.pressed_xoffset", "0"              },
+
+  { "gfx.editor.button.element_middle",                "RocksDoor2.png"        },
+  { "gfx.editor.button.element_middle.x",      "368"                   },
+  { "gfx.editor.button.element_middle.y",      "48"                    },
+  { "gfx.editor.button.element_middle.width",  "16"                    },
+  { "gfx.editor.button.element_middle.height", "16"                    },
+  { "gfx.editor.button.element_middle.pressed_xoffset", "0"            },
+
+  { "gfx.editor.button.element_right",         "RocksDoor2.png"        },
+  { "gfx.editor.button.element_right.x",       "368"                   },
+  { "gfx.editor.button.element_right.y",       "48"                    },
+  { "gfx.editor.button.element_right.width",   "16"                    },
+  { "gfx.editor.button.element_right.height",  "16"                    },
+  { "gfx.editor.button.element_right.pressed_xoffset", "0"             },
+
+  { "gfx.editor.button.palette",               UNDEFINED_FILENAME      },
 
   { "editor.no_toolbox_button",                        "RocksDoor.png"         },
   { "editor.no_toolbox_button.x",              "506"                   },
@@ -5444,234 +5540,234 @@ struct ConfigInfo image_config[] =
   { "editor.no_toolbox_button.width",          "22"                    },
   { "editor.no_toolbox_button.height",         "22"                    },
 
-  { "editor.button.gfx.draw_single",           "RocksDoor.png"         },
-  { "editor.button.gfx.draw_single.x",         "706"                   },
-  { "editor.button.gfx.draw_single.y",         "242"                   },
-  { "editor.button.gfx.draw_single.width",     "22"                    },
-  { "editor.button.gfx.draw_single.height",    "22"                    },
-  { "editor.button.gfx.draw_single.pressed_xoffset", "-100"            },
-  { "editor.button.gfx.draw_single.active_yoffset",  "-94"             },
-
-  { "editor.button.gfx.draw_connected",                "RocksDoor.png"         },
-  { "editor.button.gfx.draw_connected.x",      "728"                   },
-  { "editor.button.gfx.draw_connected.y",      "242"                   },
-  { "editor.button.gfx.draw_connected.width",  "22"                    },
-  { "editor.button.gfx.draw_connected.height", "22"                    },
-  { "editor.button.gfx.draw_connected.pressed_xoffset", "-100"         },
-  { "editor.button.gfx.draw_connected.active_yoffset",  "-94"          },
-
-  { "editor.button.gfx.draw_line",             "RocksDoor.png"         },
-  { "editor.button.gfx.draw_line.x",           "750"                   },
-  { "editor.button.gfx.draw_line.y",           "242"                   },
-  { "editor.button.gfx.draw_line.width",       "22"                    },
-  { "editor.button.gfx.draw_line.height",      "22"                    },
-  { "editor.button.gfx.draw_line.pressed_xoffset", "-100"              },
-  { "editor.button.gfx.draw_line.active_yoffset",  "-94"               },
-
-  { "editor.button.gfx.draw_arc",              "RocksDoor.png"         },
-  { "editor.button.gfx.draw_arc.x",            "772"                   },
-  { "editor.button.gfx.draw_arc.y",            "242"                   },
-  { "editor.button.gfx.draw_arc.width",                "22"                    },
-  { "editor.button.gfx.draw_arc.height",       "22"                    },
-  { "editor.button.gfx.draw_arc.pressed_xoffset", "-100"               },
-  { "editor.button.gfx.draw_arc.active_yoffset",  "-94"                        },
-
-  { "editor.button.gfx.draw_rectangle",                "RocksDoor.png"         },
-  { "editor.button.gfx.draw_rectangle.x",      "706"                   },
-  { "editor.button.gfx.draw_rectangle.y",      "264"                   },
-  { "editor.button.gfx.draw_rectangle.width",  "22"                    },
-  { "editor.button.gfx.draw_rectangle.height", "22"                    },
-  { "editor.button.gfx.draw_rectangle.pressed_xoffset", "-100"         },
-  { "editor.button.gfx.draw_rectangle.active_yoffset",  "-94"          },
-
-  { "editor.button.gfx.draw_filled_box",       "RocksDoor.png"         },
-  { "editor.button.gfx.draw_filled_box.x",     "728"                   },
-  { "editor.button.gfx.draw_filled_box.y",     "264"                   },
-  { "editor.button.gfx.draw_filled_box.width", "22"                    },
-  { "editor.button.gfx.draw_filled_box.height",        "22"                    },
-  { "editor.button.gfx.draw_filled_box.pressed_xoffset", "-100"                },
-  { "editor.button.gfx.draw_filled_box.active_yoffset",  "-94"         },
-
-  { "editor.button.gfx.rotate_up",             "RocksDoor.png"         },
-  { "editor.button.gfx.rotate_up.x",           "750"                   },
-  { "editor.button.gfx.rotate_up.y",           "264"                   },
-  { "editor.button.gfx.rotate_up.width",       "22"                    },
-  { "editor.button.gfx.rotate_up.height",      "22"                    },
-  { "editor.button.gfx.rotate_up.pressed_xoffset", "-100"              },
-  { "editor.button.gfx.rotate_up.active_yoffset",  "-94"               },
-
-  { "editor.button.gfx.draw_text",             "RocksDoor.png"         },
-  { "editor.button.gfx.draw_text.x",           "772"                   },
-  { "editor.button.gfx.draw_text.y",           "264"                   },
-  { "editor.button.gfx.draw_text.width",       "22"                    },
-  { "editor.button.gfx.draw_text.height",      "22"                    },
-  { "editor.button.gfx.draw_text.pressed_xoffset", "-100"              },
-  { "editor.button.gfx.draw_text.active_yoffset",  "-94"               },
-
-  { "editor.button.gfx.flood_fill",            "RocksDoor.png"         },
-  { "editor.button.gfx.flood_fill.x",          "706"                   },
-  { "editor.button.gfx.flood_fill.y",          "286"                   },
-  { "editor.button.gfx.flood_fill.width",      "22"                    },
-  { "editor.button.gfx.flood_fill.height",     "22"                    },
-  { "editor.button.gfx.flood_fill.pressed_xoffset", "-100"             },
-  { "editor.button.gfx.flood_fill.active_yoffset",  "-94"              },
-
-  { "editor.button.gfx.rotate_left",           "RocksDoor.png"         },
-  { "editor.button.gfx.rotate_left.x",         "728"                   },
-  { "editor.button.gfx.rotate_left.y",         "286"                   },
-  { "editor.button.gfx.rotate_left.width",     "22"                    },
-  { "editor.button.gfx.rotate_left.height",    "22"                    },
-  { "editor.button.gfx.rotate_left.pressed_xoffset", "-100"            },
-  { "editor.button.gfx.rotate_left.active_yoffset",  "-94"             },
-
-  { "editor.button.gfx.zoom_level",            "RocksDoor2.png"        },
-  { "editor.button.gfx.zoom_level.x",          "350"                   },
-  { "editor.button.gfx.zoom_level.y",          "22"                    },
-  { "editor.button.gfx.zoom_level.width",      "22"                    },
-  { "editor.button.gfx.zoom_level.height",     "22"                    },
-  { "editor.button.gfx.zoom_level.pressed_xoffset", "-100"             },
-  { "editor.button.gfx.zoom_level.active_yoffset",  "-22"              },
-
-  { "editor.button.gfx.rotate_right",          "RocksDoor.png"         },
-  { "editor.button.gfx.rotate_right.x",                "772"                   },
-  { "editor.button.gfx.rotate_right.y",                "286"                   },
-  { "editor.button.gfx.rotate_right.width",    "22"                    },
-  { "editor.button.gfx.rotate_right.height",   "22"                    },
-  { "editor.button.gfx.rotate_right.pressed_xoffset", "-100"           },
-  { "editor.button.gfx.rotate_right.active_yoffset",  "-94"            },
-
-  { "editor.button.gfx.draw_random",           "RocksDoor.png"         },
-  { "editor.button.gfx.draw_random.x",         "706"                   },
-  { "editor.button.gfx.draw_random.y",         "308"                   },
-  { "editor.button.gfx.draw_random.width",     "22"                    },
-  { "editor.button.gfx.draw_random.height",    "22"                    },
-  { "editor.button.gfx.draw_random.pressed_xoffset", "-100"            },
-  { "editor.button.gfx.draw_random.active_yoffset",  "-94"             },
-
-  { "editor.button.gfx.grab_brush",            "RocksDoor.png"         },
-  { "editor.button.gfx.grab_brush.x",          "728"                   },
-  { "editor.button.gfx.grab_brush.y",          "308"                   },
-  { "editor.button.gfx.grab_brush.width",      "22"                    },
-  { "editor.button.gfx.grab_brush.height",     "22"                    },
-  { "editor.button.gfx.grab_brush.pressed_xoffset", "-100"             },
-  { "editor.button.gfx.grab_brush.active_yoffset",  "-94"              },
-
-  { "editor.button.gfx.rotate_down",           "RocksDoor.png"         },
-  { "editor.button.gfx.rotate_down.x",         "750"                   },
-  { "editor.button.gfx.rotate_down.y",         "308"                   },
-  { "editor.button.gfx.rotate_down.width",     "22"                    },
-  { "editor.button.gfx.rotate_down.height",    "22"                    },
-  { "editor.button.gfx.rotate_down.pressed_xoffset", "-100"            },
-  { "editor.button.gfx.rotate_down.active_yoffset",  "-94"             },
-
-  { "editor.button.gfx.pick_element",          "RocksDoor.png"         },
-  { "editor.button.gfx.pick_element.x",                "772"                   },
-  { "editor.button.gfx.pick_element.y",                "308"                   },
-  { "editor.button.gfx.pick_element.width",    "22"                    },
-  { "editor.button.gfx.pick_element.height",   "22"                    },
-  { "editor.button.gfx.pick_element.pressed_xoffset", "-100"           },
-  { "editor.button.gfx.pick_element.active_yoffset",  "-94"            },
-
-  { "editor.button.gfx.ce_copy_from",          "RocksDoor.png"         },
-  { "editor.button.gfx.ce_copy_from.x",                "528"                   },
-  { "editor.button.gfx.ce_copy_from.y",                "330"                   },
-  { "editor.button.gfx.ce_copy_from.width",    "22"                    },
-  { "editor.button.gfx.ce_copy_from.height",   "22"                    },
-  { "editor.button.gfx.ce_copy_from.pressed_xoffset", "-100"           },
-  { "editor.button.gfx.ce_copy_from.active_yoffset",  "-22"            },
-
-  { "editor.button.gfx.ce_copy_to",            "RocksDoor.png"         },
-  { "editor.button.gfx.ce_copy_to.x",          "550"                   },
-  { "editor.button.gfx.ce_copy_to.y",          "330"                   },
-  { "editor.button.gfx.ce_copy_to.width",      "22"                    },
-  { "editor.button.gfx.ce_copy_to.height",     "22"                    },
-  { "editor.button.gfx.ce_copy_to.pressed_xoffset", "-100"             },
-  { "editor.button.gfx.ce_copy_to.active_yoffset",  "-22"              },
-
-  { "editor.button.gfx.ce_swap",               "RocksDoor.png"         },
-  { "editor.button.gfx.ce_swap.x",             "572"                   },
-  { "editor.button.gfx.ce_swap.y",             "330"                   },
-  { "editor.button.gfx.ce_swap.width",         "22"                    },
-  { "editor.button.gfx.ce_swap.height",                "22"                    },
-  { "editor.button.gfx.ce_swap.pressed_xoffset", "-100"                        },
-  { "editor.button.gfx.ce_swap.active_yoffset",  "-22"                 },
-
-  { "editor.button.gfx.ce_copy",               "RocksDoor.png"         },
-  { "editor.button.gfx.ce_copy.x",             "550"                   },
-  { "editor.button.gfx.ce_copy.y",             "286"                   },
-  { "editor.button.gfx.ce_copy.width",         "22"                    },
-  { "editor.button.gfx.ce_copy.height",                "22"                    },
-  { "editor.button.gfx.ce_copy.pressed_xoffset", "-100"                        },
-
-  { "editor.button.gfx.ce_paste",              "RocksDoor.png"         },
-  { "editor.button.gfx.ce_paste.x",            "572"                   },
-  { "editor.button.gfx.ce_paste.y",            "286"                   },
-  { "editor.button.gfx.ce_paste.width",                "22"                    },
-  { "editor.button.gfx.ce_paste.height",       "22"                    },
-  { "editor.button.gfx.ce_paste.pressed_xoffset", "-100"               },
-
-  { "editor.button.gfx.cp_copy",               "RocksDoor.png"         },
-  { "editor.button.gfx.cp_copy.x",             "525"                   },
-  { "editor.button.gfx.cp_copy.y",             "50"                    },
-  { "editor.button.gfx.cp_copy.width",         "20"                    },
-  { "editor.button.gfx.cp_copy.height",                "20"                    },
-  { "editor.button.gfx.cp_copy.pressed_xoffset", "-20"                 },
-
-  { "editor.button.gfx.cp_paste",              "RocksDoor.png"         },
-  { "editor.button.gfx.cp_paste.x",            "525"                   },
-  { "editor.button.gfx.cp_paste.y",            "70"                    },
-  { "editor.button.gfx.cp_paste.width",                "20"                    },
-  { "editor.button.gfx.cp_paste.height",       "20"                    },
-  { "editor.button.gfx.cp_paste.pressed_xoffset", "-20"                        },
-
-  { "editor.button.gfx.undo",                  "RocksDoor.png"         },
-  { "editor.button.gfx.undo.x",                        "705"                   },
-  { "editor.button.gfx.undo.y",                        "335"                   },
-  { "editor.button.gfx.undo.width",            "30"                    },
-  { "editor.button.gfx.undo.height",           "20"                    },
-  { "editor.button.gfx.undo.pressed_xoffset",  "-100"                  },
-
-  { "editor.button.gfx.conf",                  "RocksDoor.png"         },
-  { "editor.button.gfx.conf.x",                        "735"                   },
-  { "editor.button.gfx.conf.y",                        "335"                   },
-  { "editor.button.gfx.conf.width",            "30"                    },
-  { "editor.button.gfx.conf.height",           "20"                    },
-  { "editor.button.gfx.conf.pressed_xoffset",  "-100"                  },
-
-  { "editor.button.gfx.save",                  "RocksDoor.png"         },
-  { "editor.button.gfx.save.x",                        "765"                   },
-  { "editor.button.gfx.save.y",                        "335"                   },
-  { "editor.button.gfx.save.width",            "30"                    },
-  { "editor.button.gfx.save.height",           "20"                    },
-  { "editor.button.gfx.save.pressed_xoffset",  "-100"                  },
-
-  { "editor.button.gfx.clear",                 "RocksDoor.png"         },
-  { "editor.button.gfx.clear.x",               "705"                   },
-  { "editor.button.gfx.clear.y",               "355"                   },
-  { "editor.button.gfx.clear.width",           "30"                    },
-  { "editor.button.gfx.clear.height",          "20"                    },
-  { "editor.button.gfx.clear.pressed_xoffset", "-100"                  },
-
-  { "editor.button.gfx.test",                  "RocksDoor.png"         },
-  { "editor.button.gfx.test.x",                        "735"                   },
-  { "editor.button.gfx.test.y",                        "355"                   },
-  { "editor.button.gfx.test.width",            "30"                    },
-  { "editor.button.gfx.test.height",           "20"                    },
-  { "editor.button.gfx.test.pressed_xoffset",  "-100"                  },
-
-  { "editor.button.gfx.exit",                  "RocksDoor.png"         },
-  { "editor.button.gfx.exit.x",                        "765"                   },
-  { "editor.button.gfx.exit.y",                        "355"                   },
-  { "editor.button.gfx.exit.width",            "30"                    },
-  { "editor.button.gfx.exit.height",           "20"                    },
-  { "editor.button.gfx.exit.pressed_xoffset",  "-100"                  },
-
-  { "editor.input.gfx.level_number",           "RocksDoor.png"         },
-  { "editor.input.gfx.level_number.x",         "529"                   },
-  { "editor.input.gfx.level_number.y",         "5"                     },
-  { "editor.input.gfx.level_number.width",     "42"                    },
-  { "editor.input.gfx.level_number.height",    "16"                    },
-  { "editor.input.gfx.level_number.border_size","1"                    },
+  { "gfx.editor.button.draw_single",           "RocksDoor.png"         },
+  { "gfx.editor.button.draw_single.x",         "706"                   },
+  { "gfx.editor.button.draw_single.y",         "242"                   },
+  { "gfx.editor.button.draw_single.width",     "22"                    },
+  { "gfx.editor.button.draw_single.height",    "22"                    },
+  { "gfx.editor.button.draw_single.pressed_xoffset", "-100"            },
+  { "gfx.editor.button.draw_single.active_yoffset",  "-94"             },
+
+  { "gfx.editor.button.draw_connected",                "RocksDoor.png"         },
+  { "gfx.editor.button.draw_connected.x",      "728"                   },
+  { "gfx.editor.button.draw_connected.y",      "242"                   },
+  { "gfx.editor.button.draw_connected.width",  "22"                    },
+  { "gfx.editor.button.draw_connected.height", "22"                    },
+  { "gfx.editor.button.draw_connected.pressed_xoffset", "-100"         },
+  { "gfx.editor.button.draw_connected.active_yoffset",  "-94"          },
+
+  { "gfx.editor.button.draw_line",             "RocksDoor.png"         },
+  { "gfx.editor.button.draw_line.x",           "750"                   },
+  { "gfx.editor.button.draw_line.y",           "242"                   },
+  { "gfx.editor.button.draw_line.width",       "22"                    },
+  { "gfx.editor.button.draw_line.height",      "22"                    },
+  { "gfx.editor.button.draw_line.pressed_xoffset", "-100"              },
+  { "gfx.editor.button.draw_line.active_yoffset",  "-94"               },
+
+  { "gfx.editor.button.draw_arc",              "RocksDoor.png"         },
+  { "gfx.editor.button.draw_arc.x",            "772"                   },
+  { "gfx.editor.button.draw_arc.y",            "242"                   },
+  { "gfx.editor.button.draw_arc.width",                "22"                    },
+  { "gfx.editor.button.draw_arc.height",       "22"                    },
+  { "gfx.editor.button.draw_arc.pressed_xoffset", "-100"               },
+  { "gfx.editor.button.draw_arc.active_yoffset",  "-94"                        },
+
+  { "gfx.editor.button.draw_rectangle",                "RocksDoor.png"         },
+  { "gfx.editor.button.draw_rectangle.x",      "706"                   },
+  { "gfx.editor.button.draw_rectangle.y",      "264"                   },
+  { "gfx.editor.button.draw_rectangle.width",  "22"                    },
+  { "gfx.editor.button.draw_rectangle.height", "22"                    },
+  { "gfx.editor.button.draw_rectangle.pressed_xoffset", "-100"         },
+  { "gfx.editor.button.draw_rectangle.active_yoffset",  "-94"          },
+
+  { "gfx.editor.button.draw_filled_box",       "RocksDoor.png"         },
+  { "gfx.editor.button.draw_filled_box.x",     "728"                   },
+  { "gfx.editor.button.draw_filled_box.y",     "264"                   },
+  { "gfx.editor.button.draw_filled_box.width", "22"                    },
+  { "gfx.editor.button.draw_filled_box.height",        "22"                    },
+  { "gfx.editor.button.draw_filled_box.pressed_xoffset", "-100"                },
+  { "gfx.editor.button.draw_filled_box.active_yoffset",  "-94"         },
+
+  { "gfx.editor.button.rotate_up",             "RocksDoor.png"         },
+  { "gfx.editor.button.rotate_up.x",           "750"                   },
+  { "gfx.editor.button.rotate_up.y",           "264"                   },
+  { "gfx.editor.button.rotate_up.width",       "22"                    },
+  { "gfx.editor.button.rotate_up.height",      "22"                    },
+  { "gfx.editor.button.rotate_up.pressed_xoffset", "-100"              },
+  { "gfx.editor.button.rotate_up.active_yoffset",  "-94"               },
+
+  { "gfx.editor.button.draw_text",             "RocksDoor.png"         },
+  { "gfx.editor.button.draw_text.x",           "772"                   },
+  { "gfx.editor.button.draw_text.y",           "264"                   },
+  { "gfx.editor.button.draw_text.width",       "22"                    },
+  { "gfx.editor.button.draw_text.height",      "22"                    },
+  { "gfx.editor.button.draw_text.pressed_xoffset", "-100"              },
+  { "gfx.editor.button.draw_text.active_yoffset",  "-94"               },
+
+  { "gfx.editor.button.flood_fill",            "RocksDoor.png"         },
+  { "gfx.editor.button.flood_fill.x",          "706"                   },
+  { "gfx.editor.button.flood_fill.y",          "286"                   },
+  { "gfx.editor.button.flood_fill.width",      "22"                    },
+  { "gfx.editor.button.flood_fill.height",     "22"                    },
+  { "gfx.editor.button.flood_fill.pressed_xoffset", "-100"             },
+  { "gfx.editor.button.flood_fill.active_yoffset",  "-94"              },
+
+  { "gfx.editor.button.rotate_left",           "RocksDoor.png"         },
+  { "gfx.editor.button.rotate_left.x",         "728"                   },
+  { "gfx.editor.button.rotate_left.y",         "286"                   },
+  { "gfx.editor.button.rotate_left.width",     "22"                    },
+  { "gfx.editor.button.rotate_left.height",    "22"                    },
+  { "gfx.editor.button.rotate_left.pressed_xoffset", "-100"            },
+  { "gfx.editor.button.rotate_left.active_yoffset",  "-94"             },
+
+  { "gfx.editor.button.zoom_level",            "RocksDoor2.png"        },
+  { "gfx.editor.button.zoom_level.x",          "350"                   },
+  { "gfx.editor.button.zoom_level.y",          "22"                    },
+  { "gfx.editor.button.zoom_level.width",      "22"                    },
+  { "gfx.editor.button.zoom_level.height",     "22"                    },
+  { "gfx.editor.button.zoom_level.pressed_xoffset", "-100"             },
+  { "gfx.editor.button.zoom_level.active_yoffset",  "-22"              },
+
+  { "gfx.editor.button.rotate_right",          "RocksDoor.png"         },
+  { "gfx.editor.button.rotate_right.x",                "772"                   },
+  { "gfx.editor.button.rotate_right.y",                "286"                   },
+  { "gfx.editor.button.rotate_right.width",    "22"                    },
+  { "gfx.editor.button.rotate_right.height",   "22"                    },
+  { "gfx.editor.button.rotate_right.pressed_xoffset", "-100"           },
+  { "gfx.editor.button.rotate_right.active_yoffset",  "-94"            },
+
+  { "gfx.editor.button.draw_random",           "RocksDoor.png"         },
+  { "gfx.editor.button.draw_random.x",         "706"                   },
+  { "gfx.editor.button.draw_random.y",         "308"                   },
+  { "gfx.editor.button.draw_random.width",     "22"                    },
+  { "gfx.editor.button.draw_random.height",    "22"                    },
+  { "gfx.editor.button.draw_random.pressed_xoffset", "-100"            },
+  { "gfx.editor.button.draw_random.active_yoffset",  "-94"             },
+
+  { "gfx.editor.button.grab_brush",            "RocksDoor.png"         },
+  { "gfx.editor.button.grab_brush.x",          "728"                   },
+  { "gfx.editor.button.grab_brush.y",          "308"                   },
+  { "gfx.editor.button.grab_brush.width",      "22"                    },
+  { "gfx.editor.button.grab_brush.height",     "22"                    },
+  { "gfx.editor.button.grab_brush.pressed_xoffset", "-100"             },
+  { "gfx.editor.button.grab_brush.active_yoffset",  "-94"              },
+
+  { "gfx.editor.button.rotate_down",           "RocksDoor.png"         },
+  { "gfx.editor.button.rotate_down.x",         "750"                   },
+  { "gfx.editor.button.rotate_down.y",         "308"                   },
+  { "gfx.editor.button.rotate_down.width",     "22"                    },
+  { "gfx.editor.button.rotate_down.height",    "22"                    },
+  { "gfx.editor.button.rotate_down.pressed_xoffset", "-100"            },
+  { "gfx.editor.button.rotate_down.active_yoffset",  "-94"             },
+
+  { "gfx.editor.button.pick_element",          "RocksDoor.png"         },
+  { "gfx.editor.button.pick_element.x",                "772"                   },
+  { "gfx.editor.button.pick_element.y",                "308"                   },
+  { "gfx.editor.button.pick_element.width",    "22"                    },
+  { "gfx.editor.button.pick_element.height",   "22"                    },
+  { "gfx.editor.button.pick_element.pressed_xoffset", "-100"           },
+  { "gfx.editor.button.pick_element.active_yoffset",  "-94"            },
+
+  { "gfx.editor.button.ce_copy_from",          "RocksDoor.png"         },
+  { "gfx.editor.button.ce_copy_from.x",                "528"                   },
+  { "gfx.editor.button.ce_copy_from.y",                "330"                   },
+  { "gfx.editor.button.ce_copy_from.width",    "22"                    },
+  { "gfx.editor.button.ce_copy_from.height",   "22"                    },
+  { "gfx.editor.button.ce_copy_from.pressed_xoffset", "-100"           },
+  { "gfx.editor.button.ce_copy_from.active_yoffset",  "-22"            },
+
+  { "gfx.editor.button.ce_copy_to",            "RocksDoor.png"         },
+  { "gfx.editor.button.ce_copy_to.x",          "550"                   },
+  { "gfx.editor.button.ce_copy_to.y",          "330"                   },
+  { "gfx.editor.button.ce_copy_to.width",      "22"                    },
+  { "gfx.editor.button.ce_copy_to.height",     "22"                    },
+  { "gfx.editor.button.ce_copy_to.pressed_xoffset", "-100"             },
+  { "gfx.editor.button.ce_copy_to.active_yoffset",  "-22"              },
+
+  { "gfx.editor.button.ce_swap",               "RocksDoor.png"         },
+  { "gfx.editor.button.ce_swap.x",             "572"                   },
+  { "gfx.editor.button.ce_swap.y",             "330"                   },
+  { "gfx.editor.button.ce_swap.width",         "22"                    },
+  { "gfx.editor.button.ce_swap.height",                "22"                    },
+  { "gfx.editor.button.ce_swap.pressed_xoffset", "-100"                        },
+  { "gfx.editor.button.ce_swap.active_yoffset",  "-22"                 },
+
+  { "gfx.editor.button.ce_copy",               "RocksDoor.png"         },
+  { "gfx.editor.button.ce_copy.x",             "550"                   },
+  { "gfx.editor.button.ce_copy.y",             "286"                   },
+  { "gfx.editor.button.ce_copy.width",         "22"                    },
+  { "gfx.editor.button.ce_copy.height",                "22"                    },
+  { "gfx.editor.button.ce_copy.pressed_xoffset", "-100"                        },
+
+  { "gfx.editor.button.ce_paste",              "RocksDoor.png"         },
+  { "gfx.editor.button.ce_paste.x",            "572"                   },
+  { "gfx.editor.button.ce_paste.y",            "286"                   },
+  { "gfx.editor.button.ce_paste.width",                "22"                    },
+  { "gfx.editor.button.ce_paste.height",       "22"                    },
+  { "gfx.editor.button.ce_paste.pressed_xoffset", "-100"               },
+
+  { "gfx.editor.button.cp_copy",               "RocksDoor.png"         },
+  { "gfx.editor.button.cp_copy.x",             "525"                   },
+  { "gfx.editor.button.cp_copy.y",             "50"                    },
+  { "gfx.editor.button.cp_copy.width",         "20"                    },
+  { "gfx.editor.button.cp_copy.height",                "20"                    },
+  { "gfx.editor.button.cp_copy.pressed_xoffset", "-20"                 },
+
+  { "gfx.editor.button.cp_paste",              "RocksDoor.png"         },
+  { "gfx.editor.button.cp_paste.x",            "525"                   },
+  { "gfx.editor.button.cp_paste.y",            "70"                    },
+  { "gfx.editor.button.cp_paste.width",                "20"                    },
+  { "gfx.editor.button.cp_paste.height",       "20"                    },
+  { "gfx.editor.button.cp_paste.pressed_xoffset", "-20"                        },
+
+  { "gfx.editor.button.undo",                  "RocksDoor.png"         },
+  { "gfx.editor.button.undo.x",                        "705"                   },
+  { "gfx.editor.button.undo.y",                        "335"                   },
+  { "gfx.editor.button.undo.width",            "30"                    },
+  { "gfx.editor.button.undo.height",           "20"                    },
+  { "gfx.editor.button.undo.pressed_xoffset",  "-100"                  },
+
+  { "gfx.editor.button.conf",                  "RocksDoor.png"         },
+  { "gfx.editor.button.conf.x",                        "735"                   },
+  { "gfx.editor.button.conf.y",                        "335"                   },
+  { "gfx.editor.button.conf.width",            "30"                    },
+  { "gfx.editor.button.conf.height",           "20"                    },
+  { "gfx.editor.button.conf.pressed_xoffset",  "-100"                  },
+
+  { "gfx.editor.button.save",                  "RocksDoor.png"         },
+  { "gfx.editor.button.save.x",                        "765"                   },
+  { "gfx.editor.button.save.y",                        "335"                   },
+  { "gfx.editor.button.save.width",            "30"                    },
+  { "gfx.editor.button.save.height",           "20"                    },
+  { "gfx.editor.button.save.pressed_xoffset",  "-100"                  },
+
+  { "gfx.editor.button.clear",                 "RocksDoor.png"         },
+  { "gfx.editor.button.clear.x",               "705"                   },
+  { "gfx.editor.button.clear.y",               "355"                   },
+  { "gfx.editor.button.clear.width",           "30"                    },
+  { "gfx.editor.button.clear.height",          "20"                    },
+  { "gfx.editor.button.clear.pressed_xoffset", "-100"                  },
+
+  { "gfx.editor.button.test",                  "RocksDoor.png"         },
+  { "gfx.editor.button.test.x",                        "735"                   },
+  { "gfx.editor.button.test.y",                        "355"                   },
+  { "gfx.editor.button.test.width",            "30"                    },
+  { "gfx.editor.button.test.height",           "20"                    },
+  { "gfx.editor.button.test.pressed_xoffset",  "-100"                  },
+
+  { "gfx.editor.button.exit",                  "RocksDoor.png"         },
+  { "gfx.editor.button.exit.x",                        "765"                   },
+  { "gfx.editor.button.exit.y",                        "355"                   },
+  { "gfx.editor.button.exit.width",            "30"                    },
+  { "gfx.editor.button.exit.height",           "20"                    },
+  { "gfx.editor.button.exit.pressed_xoffset",  "-100"                  },
+
+  { "gfx.editor.input.level_number",           "RocksDoor.png"         },
+  { "gfx.editor.input.level_number.x",         "529"                   },
+  { "gfx.editor.input.level_number.y",         "5"                     },
+  { "gfx.editor.input.level_number.width",     "42"                    },
+  { "gfx.editor.input.level_number.height",    "16"                    },
+  { "gfx.editor.input.level_number.border_size","1"                    },
 
   { "global.border",                           "RocksScreen.png"       },
   { "global.border.MAIN",                      UNDEFINED_FILENAME      },
@@ -5798,83 +5894,83 @@ struct ConfigInfo image_config[] =
   { "titlescreen_4",                           UNDEFINED_FILENAME      },
   { "titlescreen_5",                           UNDEFINED_FILENAME      },
 
-  { "door_1.gfx.part_1",                       "RocksDoor.png"         },
-  { "door_1.gfx.part_1.x",                     "0"                     },
-  { "door_1.gfx.part_1.y",                     "0"                     },
-  { "door_1.gfx.part_1.width",                 "100"                   },
-  { "door_1.gfx.part_1.height",                        "77"                    },
-  { "door_1.gfx.part_1.frames",                        "1"                     },
-  { "door_1.gfx.part_2",                       "RocksDoor.png"         },
-  { "door_1.gfx.part_2.x",                     "0"                     },
-  { "door_1.gfx.part_2.y",                     "77"                    },
-  { "door_1.gfx.part_2.width",                 "100"                   },
-  { "door_1.gfx.part_2.height",                        "63"                    },
-  { "door_1.gfx.part_2.frames",                        "1"                     },
-  { "door_1.gfx.part_3",                       "RocksDoor.png"         },
-  { "door_1.gfx.part_3.x",                     "0"                     },
-  { "door_1.gfx.part_3.y",                     "140"                   },
-  { "door_1.gfx.part_3.width",                 "100"                   },
-  { "door_1.gfx.part_3.height",                        "63"                    },
-  { "door_1.gfx.part_3.frames",                        "1"                     },
-  { "door_1.gfx.part_4",                       "RocksDoor.png"         },
-  { "door_1.gfx.part_4.x",                     "0"                     },
-  { "door_1.gfx.part_4.y",                     "203"                   },
-  { "door_1.gfx.part_4.width",                 "100"                   },
-  { "door_1.gfx.part_4.height",                        "77"                    },
-  { "door_1.gfx.part_4.frames",                        "1"                     },
-  { "door_1.gfx.part_5",                       "RocksDoor.png"         },
-  { "door_1.gfx.part_5.x",                     "100"                   },
-  { "door_1.gfx.part_5.y",                     "0"                     },
-  { "door_1.gfx.part_5.width",                 "100"                   },
-  { "door_1.gfx.part_5.height",                        "77"                    },
-  { "door_1.gfx.part_5.frames",                        "1"                     },
-  { "door_1.gfx.part_6",                       "RocksDoor.png"         },
-  { "door_1.gfx.part_6.x",                     "100"                   },
-  { "door_1.gfx.part_6.y",                     "77"                    },
-  { "door_1.gfx.part_6.width",                 "100"                   },
-  { "door_1.gfx.part_6.height",                        "63"                    },
-  { "door_1.gfx.part_6.frames",                        "1"                     },
-  { "door_1.gfx.part_7",                       "RocksDoor.png"         },
-  { "door_1.gfx.part_7.x",                     "100"                   },
-  { "door_1.gfx.part_7.y",                     "140"                   },
-  { "door_1.gfx.part_7.width",                 "100"                   },
-  { "door_1.gfx.part_7.height",                        "63"                    },
-  { "door_1.gfx.part_7.frames",                        "1"                     },
-  { "door_1.gfx.part_8",                       "RocksDoor.png"         },
-  { "door_1.gfx.part_8.x",                     "100"                   },
-  { "door_1.gfx.part_8.y",                     "203"                   },
-  { "door_1.gfx.part_8.width",                 "100"                   },
-  { "door_1.gfx.part_8.height",                        "77"                    },
-  { "door_1.gfx.part_8.frames",                        "1"                     },
-
-  { "door_2.gfx.part_1",                       "RocksDoor.png"         },
-  { "door_2.gfx.part_1.x",                     "0"                     },
-  { "door_2.gfx.part_1.y",                     "280"                   },
-  { "door_2.gfx.part_1.width",                 "100"                   },
-  { "door_2.gfx.part_1.height",                        "50"                    },
-  { "door_2.gfx.part_1.frames",                        "1"                     },
-  { "door_2.gfx.part_2",                       "RocksDoor.png"         },
-  { "door_2.gfx.part_2.x",                     "0"                     },
-  { "door_2.gfx.part_2.y",                     "330"                   },
-  { "door_2.gfx.part_2.width",                 "100"                   },
-  { "door_2.gfx.part_2.height",                        "50"                    },
-  { "door_2.gfx.part_2.frames",                        "1"                     },
-  { "door_2.gfx.part_3",                       "RocksDoor.png"         },
-  { "door_2.gfx.part_3.x",                     "100"                   },
-  { "door_2.gfx.part_3.y",                     "280"                   },
-  { "door_2.gfx.part_3.width",                 "100"                   },
-  { "door_2.gfx.part_3.height",                        "50"                    },
-  { "door_2.gfx.part_3.frames",                        "1"                     },
-  { "door_2.gfx.part_4",                       "RocksDoor.png"         },
-  { "door_2.gfx.part_4.x",                     "100"                   },
-  { "door_2.gfx.part_4.y",                     "330"                   },
-  { "door_2.gfx.part_4.width",                 "100"                   },
-  { "door_2.gfx.part_4.height",                        "50"                    },
-  { "door_2.gfx.part_4.frames",                        "1"                     },
-  { "door_2.gfx.part_5",                       UNDEFINED_FILENAME      },
-  { "door_2.gfx.part_6",                       UNDEFINED_FILENAME      },
-  { "door_2.gfx.part_7",                       UNDEFINED_FILENAME      },
-  { "door_2.gfx.part_8",                       UNDEFINED_FILENAME      },
+  { "gfx.door_1.part_1",                       "RocksDoor.png"         },
+  { "gfx.door_1.part_1.x",                     "0"                     },
+  { "gfx.door_1.part_1.y",                     "0"                     },
+  { "gfx.door_1.part_1.width",                 "100"                   },
+  { "gfx.door_1.part_1.height",                        "77"                    },
+  { "gfx.door_1.part_1.frames",                        "1"                     },
+  { "gfx.door_1.part_2",                       "RocksDoor.png"         },
+  { "gfx.door_1.part_2.x",                     "0"                     },
+  { "gfx.door_1.part_2.y",                     "77"                    },
+  { "gfx.door_1.part_2.width",                 "100"                   },
+  { "gfx.door_1.part_2.height",                        "63"                    },
+  { "gfx.door_1.part_2.frames",                        "1"                     },
+  { "gfx.door_1.part_3",                       "RocksDoor.png"         },
+  { "gfx.door_1.part_3.x",                     "0"                     },
+  { "gfx.door_1.part_3.y",                     "140"                   },
+  { "gfx.door_1.part_3.width",                 "100"                   },
+  { "gfx.door_1.part_3.height",                        "63"                    },
+  { "gfx.door_1.part_3.frames",                        "1"                     },
+  { "gfx.door_1.part_4",                       "RocksDoor.png"         },
+  { "gfx.door_1.part_4.x",                     "0"                     },
+  { "gfx.door_1.part_4.y",                     "203"                   },
+  { "gfx.door_1.part_4.width",                 "100"                   },
+  { "gfx.door_1.part_4.height",                        "77"                    },
+  { "gfx.door_1.part_4.frames",                        "1"                     },
+  { "gfx.door_1.part_5",                       "RocksDoor.png"         },
+  { "gfx.door_1.part_5.x",                     "100"                   },
+  { "gfx.door_1.part_5.y",                     "0"                     },
+  { "gfx.door_1.part_5.width",                 "100"                   },
+  { "gfx.door_1.part_5.height",                        "77"                    },
+  { "gfx.door_1.part_5.frames",                        "1"                     },
+  { "gfx.door_1.part_6",                       "RocksDoor.png"         },
+  { "gfx.door_1.part_6.x",                     "100"                   },
+  { "gfx.door_1.part_6.y",                     "77"                    },
+  { "gfx.door_1.part_6.width",                 "100"                   },
+  { "gfx.door_1.part_6.height",                        "63"                    },
+  { "gfx.door_1.part_6.frames",                        "1"                     },
+  { "gfx.door_1.part_7",                       "RocksDoor.png"         },
+  { "gfx.door_1.part_7.x",                     "100"                   },
+  { "gfx.door_1.part_7.y",                     "140"                   },
+  { "gfx.door_1.part_7.width",                 "100"                   },
+  { "gfx.door_1.part_7.height",                        "63"                    },
+  { "gfx.door_1.part_7.frames",                        "1"                     },
+  { "gfx.door_1.part_8",                       "RocksDoor.png"         },
+  { "gfx.door_1.part_8.x",                     "100"                   },
+  { "gfx.door_1.part_8.y",                     "203"                   },
+  { "gfx.door_1.part_8.width",                 "100"                   },
+  { "gfx.door_1.part_8.height",                        "77"                    },
+  { "gfx.door_1.part_8.frames",                        "1"                     },
+
+  { "gfx.door_2.part_1",                       "RocksDoor.png"         },
+  { "gfx.door_2.part_1.x",                     "0"                     },
+  { "gfx.door_2.part_1.y",                     "280"                   },
+  { "gfx.door_2.part_1.width",                 "100"                   },
+  { "gfx.door_2.part_1.height",                        "50"                    },
+  { "gfx.door_2.part_1.frames",                        "1"                     },
+  { "gfx.door_2.part_2",                       "RocksDoor.png"         },
+  { "gfx.door_2.part_2.x",                     "0"                     },
+  { "gfx.door_2.part_2.y",                     "330"                   },
+  { "gfx.door_2.part_2.width",                 "100"                   },
+  { "gfx.door_2.part_2.height",                        "50"                    },
+  { "gfx.door_2.part_2.frames",                        "1"                     },
+  { "gfx.door_2.part_3",                       "RocksDoor.png"         },
+  { "gfx.door_2.part_3.x",                     "100"                   },
+  { "gfx.door_2.part_3.y",                     "280"                   },
+  { "gfx.door_2.part_3.width",                 "100"                   },
+  { "gfx.door_2.part_3.height",                        "50"                    },
+  { "gfx.door_2.part_3.frames",                        "1"                     },
+  { "gfx.door_2.part_4",                       "RocksDoor.png"         },
+  { "gfx.door_2.part_4.x",                     "100"                   },
+  { "gfx.door_2.part_4.y",                     "330"                   },
+  { "gfx.door_2.part_4.width",                 "100"                   },
+  { "gfx.door_2.part_4.height",                        "50"                    },
+  { "gfx.door_2.part_4.frames",                        "1"                     },
+  { "gfx.door_2.part_5",                       UNDEFINED_FILENAME      },
+  { "gfx.door_2.part_6",                       UNDEFINED_FILENAME      },
+  { "gfx.door_2.part_7",                       UNDEFINED_FILENAME      },
+  { "gfx.door_2.part_8",                       UNDEFINED_FILENAME      },
 
   { "door_2.top_border_correction",            "RocksDoor.png"         },
   { "door_2.top_border_correction.x",          "600"                   },
@@ -7516,8 +7612,8 @@ struct ConfigInfo image_config[] =
   { "tape.symbol.warp_forward.y",              "42"                    },
   { "tape.symbol.warp_forward_blind.x",                "39"                    },
   { "tape.symbol.warp_forward_blind.y",                "42"                    },
-  { "tape.symbol.pause_before_end.x",          "39"                    },
-  { "tape.symbol.pause_before_end.y",          "42"                    },
+  { "tape.symbol.pause_before_end.x",          "-1"                    },
+  { "tape.symbol.pause_before_end.y",          "-1"                    },
   { "tape.symbol.single_step.x",               "-1"                    },
   { "tape.symbol.single_step.y",               "-1"                    },
 
@@ -7533,8 +7629,8 @@ struct ConfigInfo image_config[] =
   { "tape.label.play.y",                       "41"                    },
   { "tape.label.fast_forward.x",               "5"                     },
   { "tape.label.fast_forward.y",               "42"                    },
-  { "tape.label.warp_forward.x",               "-1"                    },
-  { "tape.label.warp_forward.y",               "-1"                    },
+  { "tape.label.warp_forward.x",               "5"                     },
+  { "tape.label.warp_forward.y",               "42"                    },
   { "tape.label.warp_forward_blind.x",         "5"                     },
   { "tape.label.warp_forward_blind.y",         "42"                    },
   { "tape.label.pause_before_end.x",           "5"                     },
@@ -7642,6 +7738,19 @@ struct ConfigInfo image_config[] =
   { "editor.button.properties.x",              "5"                     },
   { "editor.button.properties.y",              "230"                   },
 
+  { "editor.button.element_left.x",            "-1"                    },
+  { "editor.button.element_left.y",            "-1"                    },
+  { "editor.button.element_left.tile_size",    "-1"                    },
+  { "editor.button.element_middle.x",          "-1"                    },
+  { "editor.button.element_middle.y",          "-1"                    },
+  { "editor.button.element_middle.tile_size",  "-1"                    },
+  { "editor.button.element_right.x",           "-1"                    },
+  { "editor.button.element_right.y",           "-1"                    },
+  { "editor.button.element_right.tile_size",   "-1"                    },
+
+  { "editor.button.palette.x",                 "-1"                    },
+  { "editor.button.palette.y",                 "-1"                    },
+
   { "editor.button.draw_single.x",             "6"                     },
   { "editor.button.draw_single.y",             "6"                     },
   { "editor.button.draw_connected.x",          "28"                    },
@@ -7707,6 +7816,8 @@ struct ConfigInfo image_config[] =
   { "editor.palette.cols",                     "4"                     },
   { "editor.palette.rows",                     "10"                    },
   { "editor.palette.tile_size",                        "16"                    },
+  { "editor.palette.show_as_separate_screen",  "false"                 },
+  { "editor.palette.show_on_element_buttons",  "false"                 },
 
   { "editor.palette.element_left.x",           "6"                     },
   { "editor.palette.element_left.y",           "258"                   },