rnd-20030304-1-src
[rocksndiamonds.git] / src / conf_gfx.c
index c26ed0fdf608397b281d5ffb18165df246b36092..b20c77841b938510499d9e32fa4c6407ff58b8d6 100644 (file)
 
 struct ConfigInfo image_config_suffix[] =
 {
-  { ".xpos",                           "0",            TYPE_INTEGER },
-  { ".ypos",                           "0",            TYPE_INTEGER },
-  { ".offset",                         "32",           TYPE_INTEGER },
+  { ".x",                              ARG_UNDEFINED,  TYPE_INTEGER },
+  { ".y",                              ARG_UNDEFINED,  TYPE_INTEGER },
+  { ".xpos",                           ARG_UNDEFINED,  TYPE_INTEGER },
+  { ".ypos",                           ARG_UNDEFINED,  TYPE_INTEGER },
+  { ".width",                          ARG_UNDEFINED,  TYPE_INTEGER },
+  { ".height",                         ARG_UNDEFINED,  TYPE_INTEGER },
+  { ".offset",                         ARG_UNDEFINED,  TYPE_INTEGER },
   { ".vertical",                       "false",        TYPE_BOOLEAN },
   { ".xoffset",                                ARG_UNDEFINED,  TYPE_INTEGER },
   { ".yoffset",                                ARG_UNDEFINED,  TYPE_INTEGER },
   { ".frames",                         ARG_UNDEFINED,  TYPE_INTEGER },
+  { ".frames_per_line",                        ARG_UNDEFINED,  TYPE_INTEGER },
   { ".start_frame",                    ARG_UNDEFINED,  TYPE_INTEGER },
   { ".delay",                          "1",            TYPE_INTEGER },
-  { ".mode_loop",                      "false",        TYPE_BOOLEAN },
-  { ".mode_linear",                    "false",        TYPE_BOOLEAN },
-  { ".mode_pingpong",                  "false",        TYPE_BOOLEAN },
-  { ".mode_pingpong2",                 "false",        TYPE_BOOLEAN },
-  { ".mode_random",                    "false",        TYPE_BOOLEAN },
-  { ".mode_reverse",                   "false",        TYPE_BOOLEAN },
+  { ".anim_mode",                      ARG_UNDEFINED,  TYPE_STRING  },
   { ".global_sync",                    "false",        TYPE_BOOLEAN },
+  { ".step_offset",                    "4",            TYPE_INTEGER },
+  { ".step_delay",                     "1",            TYPE_INTEGER },
+  { ".direction",                      ARG_UNDEFINED,  TYPE_STRING  },
+  { ".position",                       ARG_UNDEFINED,  TYPE_STRING  },
+  { ".draw_xoffset",                   "0",            TYPE_INTEGER },
+  { ".draw_yoffset",                   "0",            TYPE_INTEGER },
+  { ".format",                         ARG_UNDEFINED,  TYPE_STRING  },
   { ".name",                           ARG_UNDEFINED,  TYPE_STRING  },
 
   { NULL,                              NULL,           0            }
@@ -50,11 +57,17 @@ struct ConfigInfo image_config[] =
   { "bd_wall.xpos",                            "12"                    },
   { "bd_wall.ypos",                            "9"                     },
   { "bd_wall.frames",                          "1"                     },
+  { "bd_wall.EDITOR",                          "RocksDC.pcx"           },
+  { "bd_wall.EDITOR.xpos",                     "14"                    },
+  { "bd_wall.EDITOR.ypos",                     "13"                    },
 
   { "bd_rock",                                 "RocksDC.pcx"           },
   { "bd_rock.xpos",                            "12"                    },
   { "bd_rock.ypos",                            "10"                    },
   { "bd_rock.frames",                          "1"                     },
+  { "bd_rock.EDITOR",                          "RocksDC.pcx"           },
+  { "bd_rock.EDITOR.xpos",                     "14"                    },
+  { "bd_rock.EDITOR.ypos",                     "14"                    },
   { "bd_rock.falling",                         "RocksDC.pcx"           },
   { "bd_rock.falling.xpos",                    "12"                    },
   { "bd_rock.falling.ypos",                    "10"                    },
@@ -64,7 +77,7 @@ struct ConfigInfo image_config[] =
   { "bd_rock.moving.left.ypos",                        "10"                    },
   { "bd_rock.moving.left.frames",              "4"                     },
   { "bd_rock.moving.left.delay",               "2"                     },
-  { "bd_rock.moving.left.mode_reverse",                "true"                  },
+  { "bd_rock.moving.left.anim_mode",           "reverse"               },
   { "bd_rock.moving.right",                    "RocksDC.pcx"           },
   { "bd_rock.moving.right.xpos",               "12"                    },
   { "bd_rock.moving.right.ypos",               "10"                    },
@@ -77,7 +90,7 @@ struct ConfigInfo image_config[] =
   { "bd_diamond.ypos",                         "10"                    },
   { "bd_diamond.frames",                       "4"                     },
   { "bd_diamond.delay",                                "4"                     },
-  { "bd_diamond.mode_reverse",                 "true"                  },
+  { "bd_diamond.anim_mode",                    "reverse"               },
   { "bd_diamond.moving",                       "RocksElements.pcx"     },
   { "bd_diamond.moving.xpos",                  "3"                     },
   { "bd_diamond.moving.ypos",                  "10"                    },
@@ -97,28 +110,28 @@ struct ConfigInfo image_config[] =
   { "bd_magic_wall.active.xpos",               "12"                    },
   { "bd_magic_wall.active.ypos",               "10"                    },
   { "bd_magic_wall.active.frames",             "4"                     },
-  { "bd_magic_wall.active.mode_reverse",       "true"                  },
+  { "bd_magic_wall.active.anim_mode",          "reverse"               },
   { "bd_magic_wall.active.delay",              "4"                     },
   { "bd_magic_wall.active.global_sync",                "true"                  },
   { "bd_magic_wall_filling",                   "RocksElements.pcx"     },
   { "bd_magic_wall_filling.xpos",              "12"                    },
   { "bd_magic_wall_filling.ypos",              "10"                    },
   { "bd_magic_wall_filling.frames",            "4"                     },
-  { "bd_magic_wall_filling.mode_reverse",      "true"                  },
+  { "bd_magic_wall_filling.anim_mode",         "reverse"               },
   { "bd_magic_wall_filling.delay",             "4"                     },
   { "bd_magic_wall_filling.global_sync",       "true"                  },
   { "bd_magic_wall_full",                      "RocksElements.pcx"     },
   { "bd_magic_wall_full.xpos",                 "12"                    },
   { "bd_magic_wall_full.ypos",                 "10"                    },
   { "bd_magic_wall_full.frames",               "4"                     },
-  { "bd_magic_wall_full.mode_reverse",         "true"                  },
+  { "bd_magic_wall_full.anim_mode",            "reverse"               },
   { "bd_magic_wall_full.delay",                        "4"                     },
   { "bd_magic_wall_full.global_sync",          "true"                  },
   { "bd_magic_wall_emptying",                  "RocksElements.pcx"     },
   { "bd_magic_wall_emptying.xpos",             "12"                    },
   { "bd_magic_wall_emptying.ypos",             "10"                    },
   { "bd_magic_wall_emptying.frames",           "4"                     },
-  { "bd_magic_wall_emptying.mode_reverse",     "true"                  },
+  { "bd_magic_wall_emptying.anim_mode",                "reverse"               },
   { "bd_magic_wall_emptying.delay",            "4"                     },
   { "bd_magic_wall_emptying.global_sync",      "true"                  },
   { "bd_magic_wall_dead",                      "RocksElements.pcx"     },
@@ -128,30 +141,19 @@ struct ConfigInfo image_config[] =
 
   { "bd_amoeba",                               "RocksElements.pcx"     },
   { "bd_amoeba.xpos",                          "8"                     },
-  { "bd_amoeba.ypos",                          "7"                     },
-  { "bd_amoeba.frames",                                "1"                     },
-  { "bd_amoeba_part1",                         "RocksElements.pcx"     },
-  { "bd_amoeba_part1.xpos",                    "8"                     },
-  { "bd_amoeba_part1.ypos",                    "6"                     },
-  { "bd_amoeba_part1.frames",                  "1"                     },
-  { "bd_amoeba_part2",                         "RocksElements.pcx"     },
-  { "bd_amoeba_part2.xpos",                    "9"                     },
-  { "bd_amoeba_part2.ypos",                    "6"                     },
-  { "bd_amoeba_part2.frames",                  "1"                     },
-  { "bd_amoeba_part3",                         "RocksElements.pcx"     },
-  { "bd_amoeba_part3.xpos",                    "10"                    },
-  { "bd_amoeba_part3.ypos",                    "6"                     },
-  { "bd_amoeba_part3.frames",                  "1"                     },
-  { "bd_amoeba_part4",                         "RocksElements.pcx"     },
-  { "bd_amoeba_part4.xpos",                    "11"                    },
-  { "bd_amoeba_part4.ypos",                    "6"                     },
-  { "bd_amoeba_part4.frames",                  "1"                     },
+  { "bd_amoeba.ypos",                          "6"                     },
+  { "bd_amoeba.frames",                                "4"                     },
+  { "bd_amoeba.delay",                         "1000000"               },
+  { "bd_amoeba.anim_mode",                     "random"                },
+  { "bd_amoeba.EDITOR",                                "RocksElements.pcx"     },
+  { "bd_amoeba.EDITOR.xpos",                   "8"                     },
+  { "bd_amoeba.EDITOR.ypos",                   "7"                     },
 
   { "bd_butterfly",                            "RocksElements.pcx"     },
   { "bd_butterfly.xpos",                       "4"                     },
   { "bd_butterfly.ypos",                       "12"                    },
   { "bd_butterfly.frames",                     "2"                     },
-  { "bd_butterfly.mode_pingpong",              "true"                  },
+  { "bd_butterfly.anim_mode",                  "pingpong"              },
   { "bd_butterfly.delay",                      "4"                     },
   { "bd_butterfly.right",                      "RocksElements.pcx"     },
   { "bd_butterfly.right.xpos",                 "8"                     },
@@ -173,14 +175,14 @@ struct ConfigInfo image_config[] =
   { "bd_butterfly.moving.xpos",                        "4"                     },
   { "bd_butterfly.moving.ypos",                        "12"                    },
   { "bd_butterfly.moving.frames",              "2"                     },
-  { "bd_butterfly.moving.mode_pingpong",       "true"                  },
+  { "bd_butterfly.moving.anim_mode",           "pingpong"              },
   { "bd_butterfly.moving.delay",               "4"                     },
 
   { "bd_firefly",                              "RocksElements.pcx"     },
   { "bd_firefly.xpos",                         "6"                     },
   { "bd_firefly.ypos",                         "12"                    },
   { "bd_firefly.frames",                       "2"                     },
-  { "bd_firefly.mode_pingpong",                        "true"                  },
+  { "bd_firefly.anim_mode",                    "pingpong"              },
   { "bd_firefly.delay",                                "4"                     },
   { "bd_firefly.right",                                "RocksElements.pcx"     },
   { "bd_firefly.right.xpos",                   "12"                    },
@@ -202,7 +204,7 @@ struct ConfigInfo image_config[] =
   { "bd_firefly.moving.xpos",                  "6"                     },
   { "bd_firefly.moving.ypos",                  "12"                    },
   { "bd_firefly.moving.frames",                        "2"                     },
-  { "bd_firefly.moving.mode_pingpong",         "true"                  },
+  { "bd_firefly.moving.anim_mode",             "pingpong"              },
   { "bd_firefly.moving.delay",                 "4"                     },
 
   /* images for Supaplex style elements and actions */
@@ -225,7 +227,7 @@ struct ConfigInfo image_config[] =
   { "sp_zonk.moving.left.ypos",                        "6"                     },
   { "sp_zonk.moving.left.frames",              "4"                     },
   { "sp_zonk.moving.left.delay",               "2"                     },
-  { "sp_zonk.moving.left.mode_reverse",                "true"                  },
+  { "sp_zonk.moving.left.anim_mode",           "reverse"               },
   { "sp_zonk.moving.right",                    "RocksSP.pcx"           },
   { "sp_zonk.moving.right.xpos",               "0"                     },
   { "sp_zonk.moving.right.ypos",               "6"                     },
@@ -242,45 +244,29 @@ struct ConfigInfo image_config[] =
   { "sp_murphy.xpos",                          "3"                     },
   { "sp_murphy.ypos",                          "0"                     },
   { "sp_murphy.frames",                                "1"                     },
-  { "sp_murphy.left",                          "RocksSP.pcx"           },
-  { "sp_murphy.left.xpos",                     "8"                     },
-  { "sp_murphy.left.ypos",                     "0"                     },
-  { "sp_murphy.left.frames",                   "1"                     },
-  { "sp_murphy.right",                         "RocksSP.pcx"           },
-  { "sp_murphy.right.xpos",                    "11"                    },
-  { "sp_murphy.right.ypos",                    "0"                     },
-  { "sp_murphy.right.frames",                  "1"                     },
-  { "sp_murphy.up",                            "RocksSP.pcx"           },
-  { "sp_murphy.up.xpos",                       "14"                    },
-  { "sp_murphy.up.ypos",                       "0"                     },
-  { "sp_murphy.up.frames",                     "1"                     },
-  { "sp_murphy.down",                          "RocksSP.pcx"           },
-  { "sp_murphy.down.xpos",                     "15"                    },
-  { "sp_murphy.down.ypos",                     "0"                     },
-  { "sp_murphy.down.frames",                   "1"                     },
   { "sp_murphy.moving.left",                   "RocksSP.pcx"           },
   { "sp_murphy.moving.left.xpos",              "8"                     },
   { "sp_murphy.moving.left.ypos",              "0"                     },
   { "sp_murphy.moving.left.frames",            "3"                     },
-  { "sp_murphy.moving.left.mode_pingpong",     "true"                  },
+  { "sp_murphy.moving.left.anim_mode",         "pingpong"              },
   { "sp_murphy.moving.left.delay",             "2"                     },
   { "sp_murphy.moving.right",                  "RocksSP.pcx"           },
   { "sp_murphy.moving.right.xpos",             "11"                    },
   { "sp_murphy.moving.right.ypos",             "0"                     },
   { "sp_murphy.moving.right.frames",           "3"                     },
-  { "sp_murphy.moving.right.mode_pingpong",    "true"                  },
+  { "sp_murphy.moving.right.anim_mode",                "pingpong"              },
   { "sp_murphy.moving.right.delay",            "2"                     },
   { "sp_murphy.digging.left",                  "RocksSP.pcx"           },
   { "sp_murphy.digging.left.xpos",             "8"                     },
   { "sp_murphy.digging.left.ypos",             "0"                     },
   { "sp_murphy.digging.left.frames",           "3"                     },
-  { "sp_murphy.digging.left.mode_pingpong",    "true"                  },
+  { "sp_murphy.digging.left.anim_mode",                "pingpong"              },
   { "sp_murphy.digging.left.delay",            "2"                     },
   { "sp_murphy.digging.right",                 "RocksSP.pcx"           },
   { "sp_murphy.digging.right.xpos",            "11"                    },
   { "sp_murphy.digging.right.ypos",            "0"                     },
   { "sp_murphy.digging.right.frames",          "3"                     },
-  { "sp_murphy.digging.right.mode_pingpong",   "true"                  },
+  { "sp_murphy.digging.right.anim_mode",       "pingpong"              },
   { "sp_murphy.digging.right.delay",           "2"                     },
   { "sp_murphy.pushing.left",                  "RocksSP.pcx"           },
   { "sp_murphy.pushing.left.xpos",             "11"                    },
@@ -316,6 +302,9 @@ struct ConfigInfo image_config[] =
   { "sp_infotron.xpos",                                "4"                     },
   { "sp_infotron.ypos",                                "0"                     },
   { "sp_infotron.frames",                      "1"                     },
+  { "sp_infotron.EDITOR",                      "RocksSP.pcx"           },
+  { "sp_infotron.EDITOR.xpos",                 "8"                     },
+  { "sp_infotron.EDITOR.ypos",                 "11"                    },
   { "sp_infotron.falling",                     "RocksSP.pcx"           },
   { "sp_infotron.falling.xpos",                        "4"                     },
   { "sp_infotron.falling.ypos",                        "0"                     },
@@ -402,6 +391,10 @@ struct ConfigInfo image_config[] =
   { "sp_disk_red.collecting.xpos",             "8"                     },
   { "sp_disk_red.collecting.ypos",             "5"                     },
   { "sp_disk_red.collecting.frames",           "8"                     },
+  { "sp_disk_red.active",                      "RocksSP.pcx"           },
+  { "sp_disk_red.active.xpos",                 "4"                     },
+  { "sp_disk_red.active.ypos",                 "2"                     },
+  { "sp_disk_red.active.frames",               "1"                     },
 
   { "sp_port1_right",                          "RocksSP.pcx"           },
   { "sp_port1_right.xpos",                     "1"                     },
@@ -456,34 +449,40 @@ struct ConfigInfo image_config[] =
   { "sp_sniksnak.left.xpos",                   "8"                     },
   { "sp_sniksnak.left.ypos",                   "8"                     },
   { "sp_sniksnak.left.frames",                 "4"                     },
-  { "sp_sniksnak.left.mode_pingpong2",         "true"                  },
+  { "sp_sniksnak.left.anim_mode",              "pingpong2"             },
   { "sp_sniksnak.right",                       "RocksSP.pcx"           },
   { "sp_sniksnak.right.xpos",                  "12"                    },
   { "sp_sniksnak.right.ypos",                  "8"                     },
   { "sp_sniksnak.right.frames",                        "4"                     },
-  { "sp_sniksnak.right.mode_pingpong2",                "true"                  },
+  { "sp_sniksnak.right.anim_mode",             "pingpong2"             },
   { "sp_sniksnak.up",                          "RocksSP.pcx"           },
   { "sp_sniksnak.up.xpos",                     "8"                     },
   { "sp_sniksnak.up.ypos",                     "9"                     },
   { "sp_sniksnak.up.frames",                   "4"                     },
-  { "sp_sniksnak.up.mode_pingpong2",           "true"                  },
+  { "sp_sniksnak.up.anim_mode",                        "pingpong2"             },
   { "sp_sniksnak.down",                                "RocksSP.pcx"           },
   { "sp_sniksnak.down.xpos",                   "12"                    },
   { "sp_sniksnak.down.ypos",                   "9"                     },
   { "sp_sniksnak.down.frames",                 "4"                     },
-  { "sp_sniksnak.down.mode_pingpong2",         "true"                  },
+  { "sp_sniksnak.down.anim_mode",              "pingpong2"                     },
 
   { "sp_electron",                             "RocksSP.pcx"           },
   { "sp_electron.xpos",                                "8"                     },
   { "sp_electron.ypos",                                "10"                    },
   { "sp_electron.frames",                      "8"                     },
   { "sp_electron.delay",                       "2"                     },
+  { "sp_electron.EDITOR",                      "RocksSP.pcx"           },
+  { "sp_electron.EDITOR.xpos",                 "10"                    },
+  { "sp_electron.EDITOR.ypos",                 "11"                    },
 
   { "sp_terminal",                             "RocksSP.pcx"           },
   { "sp_terminal.xpos",                                "0"                     },
   { "sp_terminal.ypos",                                "10"                    },
   { "sp_terminal.frames",                      "7"                     },
   { "sp_terminal.delay",                       "12"                    },
+  { "sp_terminal.EDITOR",                      "RocksSP.pcx"           },
+  { "sp_terminal.EDITOR.xpos",                 "9"                     },
+  { "sp_terminal.EDITOR.ypos",                 "11"                    },
   { "sp_terminal.active",                      "RocksSP.pcx"           },
   { "sp_terminal.active.xpos",                 "0"                     },
   { "sp_terminal.active.ypos",                 "11"                    },
@@ -502,7 +501,7 @@ struct ConfigInfo image_config[] =
   { "sp_buggy_base.active.xpos",               "8"                     },
   { "sp_buggy_base.active.ypos",               "6"                     },
   { "sp_buggy_base.active.frames",             "4"                     },
-  { "sp_buggy_base.active.mode_random",                "true"                  },
+  { "sp_buggy_base.active.anim_mode",          "random"                },
 
   { "sp_hard_base1",                           "RocksSP.pcx"           },
   { "sp_hard_base1.xpos",                      "4"                     },
@@ -534,13 +533,13 @@ struct ConfigInfo image_config[] =
   { "sp_explosion.ypos",                       "3"                     },
   { "sp_explosion.frames",                     "8"                     },
   { "sp_explosion.delay",                      "3"                     },
-  { "sp_explosion.mode_linear",                        "true"                  },
+  { "sp_explosion.anim_mode",                  "linear"                },
   { "sp_explosion_infotron",                   "RocksSP.pcx"           },
   { "sp_explosion_infotron.xpos",              "8"                     },
   { "sp_explosion_infotron.ypos",              "4"                     },
   { "sp_explosion_infotron.frames",            "8"                     },
   { "sp_explosion.delay",                      "3"                     },
-  { "sp_explosion.mode_linear",                        "true"                  },
+  { "sp_explosion.anim_mode",                  "linear"                },
 
   /* images for Sokoban style elements and actions */
 
@@ -548,6 +547,9 @@ struct ConfigInfo image_config[] =
   { "sokoban_object.xpos",                     "9"                     },
   { "sokoban_object.ypos",                     "7"                     },
   { "sokoban_object.frames",                   "1"                     },
+  { "sokoban_object.EDITOR",                   "RocksElements.pcx"     },
+  { "sokoban_object.EDITOR.xpos",              "2"                     },
+  { "sokoban_object.EDITOR.ypos",              "14"                    },
 
   { "sokoban_field_empty",                     "RocksElements.pcx"     },
   { "sokoban_field_empty.xpos",                        "10"                    },
@@ -602,7 +604,7 @@ struct ConfigInfo image_config[] =
   { "rock.moving.left.ypos",                   "0"                     },
   { "rock.moving.left.frames",                 "4"                     },
   { "rock.moving.left.delay",                  "2"                     },
-  { "rock.moving.left.mode_reverse",           "true"                  },
+  { "rock.moving.left.anim_mode",              "reverse"               },
   { "rock.moving.right",                       "RocksElements.pcx"     },
   { "rock.moving.right.xpos",                  "12"                    },
   { "rock.moving.right.ypos",                  "0"                     },
@@ -666,18 +668,24 @@ struct ConfigInfo image_config[] =
   { "nut.cracking.ypos",                       "1"                     },
   { "nut.cracking.frames",                     "3"                     },
   { "nut.cracking.delay",                      "2"                     },
-  { "nut.cracking.mode_linear",                        "true"                  },
+  { "nut.cracking.anim_mode",                  "linear"                },
 
   { "dynamite",                                        "RocksElements.pcx"     },
   { "dynamite.xpos",                           "0"                     },
   { "dynamite.ypos",                           "3"                     },
   { "dynamite.frames",                         "1"                     },
+  { "dynamite.EDITOR",                         "RocksElements.pcx"     },
+  { "dynamite.EDITOR.xpos",                    "0"                     },
+  { "dynamite.EDITOR.ypos",                    "14"                    },
   { "dynamite.active",                         "RocksElements.pcx"     },
   { "dynamite.active.xpos",                    "1"                     },
   { "dynamite.active.ypos",                    "3"                     },
   { "dynamite.active.frames",                  "7"                     },
   { "dynamite.active.delay",                   "12"                    },
-  { "dynamite.active.mode_linear",             "true"                  },
+  { "dynamite.active.anim_mode",               "linear"                },
+  { "dynamite.active.EDITOR",                  "RocksElements.pcx"     },
+  { "dynamite.active.EDITOR.xpos",             "1"                     },
+  { "dynamite.active.EDITOR.ypos",             "14"                    },
 
   { "wall_emerald",                            "RocksElements.pcx"     },
   { "wall_emerald.xpos",                       "4"                     },
@@ -743,7 +751,7 @@ struct ConfigInfo image_config[] =
   { "yamyam.xpos",                             "0"                     },
   { "yamyam.ypos",                             "5"                     },
   { "yamyam.frames",                           "4"                     },
-  { "yamyam.mode_pingpong2",                   "true"                  },
+  { "yamyam.anim_mode",                                "pingpong2"             },
   { "yamyam.moving",                           "RocksElements.pcx"     },
   { "yamyam.moving.xpos",                      "0"                     },
   { "yamyam.moving.ypos",                      "5"                     },
@@ -753,7 +761,7 @@ struct ConfigInfo image_config[] =
   { "robot.xpos",                              "4"                     },
   { "robot.ypos",                              "5"                     },
   { "robot.frames",                            "4"                     },
-  { "robot.mode_pingpong2",                    "true"                  },
+  { "robot.anim_mode",                         "pingpong2"             },
   { "robot.moving",                            "RocksElements.pcx"     },
   { "robot.moving.xpos",                       "4"                     },
   { "robot.moving.ypos",                       "5"                     },
@@ -776,28 +784,28 @@ struct ConfigInfo image_config[] =
   { "magic_wall.active.xpos",                  "0"                     },
   { "magic_wall.active.ypos",                  "8"                     },
   { "magic_wall.active.frames",                        "4"                     },
-  { "magic_wall.active.mode_reverse",          "true"                  },
+  { "magic_wall.active.anim_mode",             "reverse"               },
   { "magic_wall.active.delay",                 "4"                     },
   { "magic_wall.active.global_sync",           "true"                  },
   { "magic_wall_filling",                      "RocksElements.pcx"     },
   { "magic_wall_filling.xpos",                 "0"                     },
   { "magic_wall_filling.ypos",                 "8"                     },
   { "magic_wall_filling.frames",               "4"                     },
-  { "magic_wall_filling.mode_reverse",         "true"                  },
+  { "magic_wall_filling.anim_mode",            "reverse"               },
   { "magic_wall_filling.delay",                        "4"                     },
   { "magic_wall_filling.global_sync",          "true"                  },
   { "magic_wall_full",                         "RocksElements.pcx"     },
   { "magic_wall_full.xpos",                    "0"                     },
   { "magic_wall_full.ypos",                    "8"                     },
   { "magic_wall_full.frames",                  "4"                     },
-  { "magic_wall_full.mode_reverse",            "true"                  },
+  { "magic_wall_full.anim_mode",               "reverse"               },
   { "magic_wall_full.delay",                   "4"                     },
   { "magic_wall_full.global_sync",             "true"                  },
   { "magic_wall_emptying",                     "RocksElements.pcx"     },
   { "magic_wall_emptying.xpos",                        "0"                     },
   { "magic_wall_emptying.ypos",                        "8"                     },
   { "magic_wall_emptying.frames",              "4"                     },
-  { "magic_wall_emptying.mode_reverse",                "true"                  },
+  { "magic_wall_emptying.anim_mode",           "reverse"               },
   { "magic_wall_emptying.delay",               "4"                     },
   { "magic_wall_emptying.global_sync",         "true"                  },
   { "magic_wall_dead",                         "RocksElements.pcx"     },
@@ -817,6 +825,9 @@ struct ConfigInfo image_config[] =
   { "quicksand_full.xpos",                     "3"                     },
   { "quicksand_full.ypos",                     "0"                     },
   { "quicksand_full.frames",                   "1"                     },
+  { "quicksand_full.EDITOR",                   "RocksElements.pcx"     },
+  { "quicksand_full.EDITOR.xpos",              "3"                     },
+  { "quicksand_full.EDITOR.ypos",              "14"                    },
   { "quicksand_emptying",                      "RocksElements.pcx"     },
   { "quicksand_emptying.xpos",                 "3"                     },
   { "quicksand_emptying.ypos",                 "0"                     },
@@ -854,13 +865,13 @@ struct ConfigInfo image_config[] =
   { "acid_splash.left.ypos",                   "10"                    },
   { "acid_splash.left.frames",                 "4"                     },
   { "acid_splash.left.delay",                  "2"                     },
-  { "acid_splash.left.mode_linear",            "true"                  },
+  { "acid_splash.left.anim_mode",              "linear"                },
   { "acid_splash.right",                       "RocksHeroes.pcx"       },
   { "acid_splash.right.xpos",                  "12"                    },
   { "acid_splash.right.ypos",                  "10"                    },
   { "acid_splash.right.frames",                        "4"                     },
   { "acid_splash.right.delay",                 "2"                     },
-  { "acid_splash.right.mode_linear",           "true"                  },
+  { "acid_splash.right.anim_mode",             "linear"                },
 
   { "amoeba_drop",                             "RocksElements.pcx"     },
   { "amoeba_drop.xpos",                                "5"                     },
@@ -871,102 +882,52 @@ struct ConfigInfo image_config[] =
   { "amoeba_creating.ypos",                    "6"                     },
   { "amoeba_creating.frames",                  "3"                     },
   { "amoeba_creating.delay",                   "2"                     },
-  { "amoeba_creating.mode_linear",             "true"                  },
+  { "amoeba_creating.anim_mode",               "linear"                },
   { "amoeba.shrinking",                                "RocksElements.pcx"     },
   { "amoeba.shrinking.xpos",                   "5"                     },
   { "amoeba.shrinking.ypos",                   "6"                     },
   { "amoeba.shrinking.frames",                 "3"                     },
   { "amoeba.shrinking.delay",                  "2"                     },
-  { "amoeba.shrinking.mode_linear",            "true"                  },
-  { "amoeba.shrinking.mode_reverse",           "true"                  },
+  { "amoeba.shrinking.anim_mode",              "loop,linear,reverse"   },
   { "amoeba_wet",                              "RocksElements.pcx"     },
   { "amoeba_wet.xpos",                         "8"                     },
   { "amoeba_wet.ypos",                         "6"                     },
-  { "amoeba_wet.frames",                       "1"                     },
+  { "amoeba_wet.frames",                       "4"                     },
+  { "amoeba_wet.delay",                                "1000000"               },
+  { "amoeba_wet.anim_mode",                    "random"                },
   { "amoeba_wet.EDITOR",                       "RocksElements.pcx"     },
   { "amoeba_wet.EDITOR.xpos",                  "4"                     },
   { "amoeba_wet.EDITOR.ypos",                  "6"                     },
-  { "amoeba_wet.EDITOR.frames",                        "1"                     },
-  { "amoeba_wet_part1",                                "RocksElements.pcx"     },
-  { "amoeba_wet_part1.xpos",                   "8"                     },
-  { "amoeba_wet_part1.ypos",                   "6"                     },
-  { "amoeba_wet_part1.frames",                 "1"                     },
-  { "amoeba_wet_part2",                                "RocksElements.pcx"     },
-  { "amoeba_wet_part2.xpos",                   "9"                     },
-  { "amoeba_wet_part2.ypos",                   "6"                     },
-  { "amoeba_wet_part2.frames",                 "1"                     },
-  { "amoeba_wet_part3",                                "RocksElements.pcx"     },
-  { "amoeba_wet_part3.xpos",                   "10"                    },
-  { "amoeba_wet_part3.ypos",                   "6"                     },
-  { "amoeba_wet_part3.frames",                 "1"                     },
-  { "amoeba_wet_part4",                                "RocksElements.pcx"     },
-  { "amoeba_wet_part4.xpos",                   "11"                    },
-  { "amoeba_wet_part4.ypos",                   "6"                     },
-  { "amoeba_wet_part4.frames",                 "1"                     },
+  { "amoeba_dripping",                         "RocksElements.pcx"     },
+  { "amoeba_dripping.xpos",                    "8"                     },
+  { "amoeba_dripping.ypos",                    "6"                     },
+  { "amoeba_dripping.frames",                  "4"                     },
+  { "amoeba_dripping.delay",                   "1000000"               },
+  { "amoeba_dripping.anim_mode",               "random"                },
   { "amoeba_dry",                              "RocksElements.pcx"     },
   { "amoeba_dry.xpos",                         "8"                     },
   { "amoeba_dry.ypos",                         "6"                     },
-  { "amoeba_dry.frames",                       "1"                     },
-  { "amoeba_dry_part1",                                "RocksElements.pcx"     },
-  { "amoeba_dry_part1.xpos",                   "8"                     },
-  { "amoeba_dry_part1.ypos",                   "6"                     },
-  { "amoeba_dry_part1.frames",                 "1"                     },
-  { "amoeba_dry_part2",                                "RocksElements.pcx"     },
-  { "amoeba_dry_part2.xpos",                   "9"                     },
-  { "amoeba_dry_part2.ypos",                   "6"                     },
-  { "amoeba_dry_part2.frames",                 "1"                     },
-  { "amoeba_dry_part3",                                "RocksElements.pcx"     },
-  { "amoeba_dry_part3.xpos",                   "10"                    },
-  { "amoeba_dry_part3.ypos",                   "6"                     },
-  { "amoeba_dry_part3.frames",                 "1"                     },
-  { "amoeba_dry_part4",                                "RocksElements.pcx"     },
-  { "amoeba_dry_part4.xpos",                   "11"                    },
-  { "amoeba_dry_part4.ypos",                   "6"                     },
-  { "amoeba_dry_part4.frames",                 "1"                     },
+  { "amoeba_dry.frames",                       "4"                     },
+  { "amoeba_dry.delay",                                "1000000"               },
+  { "amoeba_dry.anim_mode",                    "random"                },
   { "amoeba_full",                             "RocksElements.pcx"     },
   { "amoeba_full.xpos",                                "8"                     },
   { "amoeba_full.ypos",                                "6"                     },
-  { "amoeba_full.frames",                      "1"                     },
+  { "amoeba_full.frames",                      "4"                     },
+  { "amoeba_full.delay",                       "1000000"               },
+  { "amoeba_full.anim_mode",                   "random"                },
   { "amoeba_full.EDITOR",                      "RocksElements.pcx"     },
   { "amoeba_full.EDITOR.xpos",                 "8"                     },
   { "amoeba_full.EDITOR.ypos",                 "7"                     },
-  { "amoeba_full.EDITOR.frames",               "1"                     },
-  { "amoeba_full_part1",                       "RocksElements.pcx"     },
-  { "amoeba_full_part1.xpos",                  "8"                     },
-  { "amoeba_full_part1.ypos",                  "6"                     },
-  { "amoeba_full_part1.frames",                        "1"                     },
-  { "amoeba_full_part2",                       "RocksElements.pcx"     },
-  { "amoeba_full_part2.xpos",                  "9"                     },
-  { "amoeba_full_part2.ypos",                  "6"                     },
-  { "amoeba_full_part2.frames",                        "1"                     },
-  { "amoeba_full_part3",                       "RocksElements.pcx"     },
-  { "amoeba_full_part3.xpos",                  "10"                    },
-  { "amoeba_full_part3.ypos",                  "6"                     },
-  { "amoeba_full_part3.frames",                        "1"                     },
-  { "amoeba_full_part4",                       "RocksElements.pcx"     },
-  { "amoeba_full_part4.xpos",                  "11"                    },
-  { "amoeba_full_part4.ypos",                  "6"                     },
-  { "amoeba_full_part4.frames",                        "1"                     },
   { "amoeba_dead",                             "RocksElements.pcx"     },
   { "amoeba_dead.xpos",                                "12"                    },
   { "amoeba_dead.ypos",                                "6"                     },
-  { "amoeba_dead.frames",                      "1"                     },
-  { "amoeba_dead_part1",                       "RocksElements.pcx"     },
-  { "amoeba_dead_part1.xpos",                  "12"                    },
-  { "amoeba_dead_part1.ypos",                  "6"                     },
-  { "amoeba_dead_part1.frames",                        "1"                     },
-  { "amoeba_dead_part2",                       "RocksElements.pcx"     },
-  { "amoeba_dead_part2.xpos",                  "13"                    },
-  { "amoeba_dead_part2.ypos",                  "6"                     },
-  { "amoeba_dead_part2.frames",                        "1"                     },
-  { "amoeba_dead_part3",                       "RocksElements.pcx"     },
-  { "amoeba_dead_part3.xpos",                  "14"                    },
-  { "amoeba_dead_part3.ypos",                  "6"                     },
-  { "amoeba_dead_part3.frames",                        "1"                     },
-  { "amoeba_dead_part4",                       "RocksElements.pcx"     },
-  { "amoeba_dead_part4.xpos",                  "15"                    },
-  { "amoeba_dead_part4.ypos",                  "6"                     },
-  { "amoeba_dead_part4.frames",                        "1"                     },
+  { "amoeba_dead.frames",                      "4"                     },
+  { "amoeba_dead.delay",                       "1000000"               },
+  { "amoeba_dead.anim_mode",                   "random"                },
+  { "amoeba_dead.EDITOR",                      "RocksElements.pcx"     },
+  { "amoeba_dead.EDITOR.xpos",                 "12"                    },
+  { "amoeba_dead.EDITOR.ypos",                 "6"                     },
 
   { "em_key1",                                 "RocksSP.pcx"           },
   { "em_key1.xpos",                            "4"                     },
@@ -1005,18 +966,30 @@ struct ConfigInfo image_config[] =
   { "em_gate1_gray.xpos",                      "4"                     },
   { "em_gate1_gray.ypos",                      "7"                     },
   { "em_gate1_gray.frames",                    "1"                     },
+  { "em_gate1_gray.EDITOR",                    "RocksSP.pcx"           },
+  { "em_gate1_gray.EDITOR.xpos",               "12"                    },
+  { "em_gate1_gray.EDITOR.ypos",               "11"                    },
   { "em_gate2_gray",                           "RocksSP.pcx"           },
   { "em_gate2_gray.xpos",                      "5"                     },
   { "em_gate2_gray.ypos",                      "7"                     },
   { "em_gate2_gray.frames",                    "1"                     },
+  { "em_gate2_gray.EDITOR",                    "RocksSP.pcx"           },
+  { "em_gate2_gray.EDITOR.xpos",               "13"                    },
+  { "em_gate2_gray.EDITOR.ypos",               "11"                    },
   { "em_gate3_gray",                           "RocksSP.pcx"           },
   { "em_gate3_gray.xpos",                      "6"                     },
   { "em_gate3_gray.ypos",                      "7"                     },
   { "em_gate3_gray.frames",                    "1"                     },
+  { "em_gate3_gray.EDITOR",                    "RocksSP.pcx"           },
+  { "em_gate3_gray.EDITOR.xpos",               "14"                    },
+  { "em_gate3_gray.EDITOR.ypos",               "11"                    },
   { "em_gate4_gray",                           "RocksSP.pcx"           },
   { "em_gate4_gray.xpos",                      "7"                     },
   { "em_gate4_gray.ypos",                      "7"                     },
   { "em_gate4_gray.frames",                    "1"                     },
+  { "em_gate4_gray.EDITOR",                    "RocksSP.pcx"           },
+  { "em_gate4_gray.EDITOR.xpos",               "15"                    },
+  { "em_gate4_gray.EDITOR.ypos",               "11"                    },
 
   { "exit_closed",                             "RocksElements.pcx"     },
   { "exit_closed.xpos",                                "0"                     },
@@ -1027,13 +1000,13 @@ struct ConfigInfo image_config[] =
   { "exit.opening.ypos",                       "11"                    },
   { "exit.opening.frames",                     "5"                     },
   { "exit.opening.delay",                      "6"                     },
-  { "exit.opening.mode_linear",                        "true"                  },
+  { "exit.opening.anim_mode",                  "linear"                },
   { "exit_open",                               "RocksElements.pcx"     },
   { "exit_open.xpos",                          "4"                     },
   { "exit_open.ypos",                          "11"                    },
   { "exit_open.frames",                                "4"                     },
   { "exit_open.delay",                         "4"                     },
-  { "exit_open.mode_pingpong",                 "true"                  },
+  { "exit_open.anim_mode",                     "pingpong"              },
 
   /* images for Emerald Mine Club style elements and actions */
 
@@ -1045,7 +1018,7 @@ struct ConfigInfo image_config[] =
   { "balloon.moving.xpos",                     "12"                    },
   { "balloon.moving.ypos",                     "7"                     },
   { "balloon.moving.frames",                   "4"                     },
-  { "balloon.moving.mode_pingpong",            "true"                  },
+  { "balloon.moving.anim_mode",                        "pingpong"              },
   { "balloon.moving.delay",                    "2"                     },
 
   { "balloon_send.left",                       "RocksDC.pcx"           },
@@ -1135,6 +1108,9 @@ struct ConfigInfo image_config[] =
   { "invisible_steelwall.xpos",                        "3"                     },
   { "invisible_steelwall.ypos",                        "5"                     },
   { "invisible_steelwall.frames",              "1"                     },
+  { "invisible_steelwall.EDITOR",              "RocksSP.pcx"           },
+  { "invisible_steelwall.EDITOR.xpos",         "1"                     },
+  { "invisible_steelwall.EDITOR.ypos",         "5"                     },
   { "invisible_steelwall.active",              "RocksSP.pcx"           },
   { "invisible_steelwall.active.xpos",         "1"                     },
   { "invisible_steelwall.active.ypos",         "5"                     },
@@ -1144,6 +1120,9 @@ struct ConfigInfo image_config[] =
   { "invisible_wall.xpos",                     "7"                     },
   { "invisible_wall.ypos",                     "5"                     },
   { "invisible_wall.frames",                   "1"                     },
+  { "invisible_wall.EDITOR",                   "RocksSP.pcx"           },
+  { "invisible_wall.EDITOR.xpos",              "5"                     },
+  { "invisible_wall.EDITOR.ypos",              "5"                     },
   { "invisible_wall.active",                   "RocksSP.pcx"           },
   { "invisible_wall.active.xpos",              "5"                     },
   { "invisible_wall.active.ypos",              "5"                     },
@@ -1153,6 +1132,9 @@ struct ConfigInfo image_config[] =
   { "invisible_sand.xpos",                     "6"                     },
   { "invisible_sand.ypos",                     "5"                     },
   { "invisible_sand.frames",                   "1"                     },
+  { "invisible_sand.EDITOR",                   "RocksSP.pcx"           },
+  { "invisible_sand.EDITOR.xpos",              "2"                     },
+  { "invisible_sand.EDITOR.ypos",              "5"                     },
   { "invisible_sand.active",                   "RocksSP.pcx"           },
   { "invisible_sand.active.xpos",              "2"                     },
   { "invisible_sand.active.ypos",              "5"                     },
@@ -1386,7 +1368,7 @@ struct ConfigInfo image_config[] =
   { "shield_normal.active.ypos",               "13"                    },
   { "shield_normal.active.frames",             "3"                     },
   { "shield_normal.active.delay",              "8"                     },
-  { "shield_normal.active.mode_pingpong",      "true"                  },
+  { "shield_normal.active.anim_mode",          "pingpong"              },
 
   { "shield_deadly",                           "RocksDC.pcx"           },
   { "shield_deadly.xpos",                      "8"                     },
@@ -1398,7 +1380,7 @@ struct ConfigInfo image_config[] =
   { "shield_deadly.active.ypos",               "13"                    },
   { "shield_deadly.active.frames",             "3"                     },
   { "shield_deadly.active.delay",              "8"                     },
-  { "shield_deadly.active.mode_pingpong",      "true"                  },
+  { "shield_deadly.active.anim_mode",          "pingpong"              },
 
   { "switchgate_closed",                       "RocksDC.pcx"           },
   { "switchgate_closed.xpos",                  "8"                     },
@@ -1418,7 +1400,7 @@ struct ConfigInfo image_config[] =
   { "switchgate.closing.ypos",                 "5"                     },
   { "switchgate.closing.frames",               "5"                     },
   { "switchgate.closing.delay",                        "6"                     },
-  { "switchgate.closing.mode_reverse",         "true"                  },
+  { "switchgate.closing.anim_mode",            "reverse"               },
 
   { "timegate_closed",                         "RocksDC.pcx"           },
   { "timegate_closed.xpos",                    "8"                     },
@@ -1438,7 +1420,7 @@ struct ConfigInfo image_config[] =
   { "timegate.closing.ypos",                   "6"                     },
   { "timegate.closing.frames",                 "5"                     },
   { "timegate.closing.delay",                  "6"                     },
-  { "timegate.closing.mode_reverse",           "true"                  },
+  { "timegate.closing.anim_mode",              "reverse"               },
 
   { "pearl",                                   "RocksDC.pcx"           },
   { "pearl.xpos",                              "8"                     },
@@ -1449,7 +1431,7 @@ struct ConfigInfo image_config[] =
   { "pearl.breaking.ypos",                     "12"                    },
   { "pearl.breaking.frames",                   "4"                     },
   { "pearl.breaking.delay",                    "2"                     },
-  { "pearl.breaking.mode_linear",              "4"                     },
+  { "pearl.breaking.anim_mode",                        "linear"                },
 
   { "crystal",                                 "RocksDC.pcx"           },
   { "crystal.xpos",                            "9"                     },
@@ -1532,7 +1514,7 @@ struct ConfigInfo image_config[] =
   { "trap.active.ypos",                                "8"                     },
   { "trap.active.frames",                      "4"                     },
   { "trap.active.delay",                       "4"                     },
-  { "trap.active.mode_pingpong2",              "true"                  },
+  { "trap.active.anim_mode",                   "pingpong2"             },
 
   { "dx_supabomb",                             "RocksDC.pcx"           },
   { "dx_supabomb.xpos",                                "15"                    },
@@ -1545,18 +1527,30 @@ struct ConfigInfo image_config[] =
   { "key1.xpos",                               "4"                     },
   { "key1.ypos",                               "1"                     },
   { "key1.frames",                             "1"                     },
+  { "key1.EDITOR",                             "RocksElements.pcx"     },
+  { "key1.EDITOR.xpos",                                "4"                     },
+  { "key1.EDITOR.ypos",                                "14"                    },
   { "key2",                                    "RocksElements.pcx"     },
   { "key2.xpos",                               "5"                     },
   { "key2.ypos",                               "1"                     },
   { "key2.frames",                             "1"                     },
+  { "key2.EDITOR",                             "RocksElements.pcx"     },
+  { "key2.EDITOR.xpos",                                "5"                     },
+  { "key2.EDITOR.ypos",                                "14"                    },
   { "key3",                                    "RocksElements.pcx"     },
   { "key3.xpos",                               "6"                     },
   { "key3.ypos",                               "1"                     },
   { "key3.frames",                             "1"                     },
+  { "key3.EDITOR",                             "RocksElements.pcx"     },
+  { "key3.EDITOR.xpos",                                "6"                     },
+  { "key3.EDITOR.ypos",                                "14"                    },
   { "key4",                                    "RocksElements.pcx"     },
   { "key4.xpos",                               "7"                     },
   { "key4.ypos",                               "1"                     },
   { "key4.frames",                             "1"                     },
+  { "key4.EDITOR",                             "RocksElements.pcx"     },
+  { "key4.EDITOR.xpos",                                "7"                     },
+  { "key4.EDITOR.ypos",                                "14"                    },
 
   { "gate1",                                   "RocksElements.pcx"     },
   { "gate1.xpos",                              "4"                     },
@@ -1578,18 +1572,30 @@ struct ConfigInfo image_config[] =
   { "gate1_gray.xpos",                         "8"                     },
   { "gate1_gray.ypos",                         "2"                     },
   { "gate1_gray.frames",                       "1"                     },
+  { "gate1_gray.EDITOR",                       "RocksElements.pcx"     },
+  { "gate1_gray.EDITOR.xpos",                  "8"                     },
+  { "gate1_gray.EDITOR.ypos",                  "14"                    },
   { "gate2_gray",                              "RocksElements.pcx"     },
   { "gate2_gray.xpos",                         "9"                     },
   { "gate2_gray.ypos",                         "2"                     },
   { "gate2_gray.frames",                       "1"                     },
+  { "gate2_gray.EDITOR",                       "RocksElements.pcx"     },
+  { "gate2_gray.EDITOR.xpos",                  "9"                     },
+  { "gate2_gray.EDITOR.ypos",                  "14"                    },
   { "gate3_gray",                              "RocksElements.pcx"     },
   { "gate3_gray.xpos",                         "10"                    },
   { "gate3_gray.ypos",                         "2"                     },
   { "gate3_gray.frames",                       "1"                     },
+  { "gate3_gray.EDITOR",                       "RocksElements.pcx"     },
+  { "gate3_gray.EDITOR.xpos",                  "10"                    },
+  { "gate3_gray.EDITOR.ypos",                  "14"                    },
   { "gate4_gray",                              "RocksElements.pcx"     },
   { "gate4_gray.xpos",                         "11"                    },
   { "gate4_gray.ypos",                         "2"                     },
   { "gate4_gray.frames",                       "1"                     },
+  { "gate4_gray.EDITOR",                       "RocksElements.pcx"     },
+  { "gate4_gray.EDITOR.xpos",                  "11"                    },
+  { "gate4_gray.EDITOR.ypos",                  "14"                    },
 
   { "gameoflife",                              "RocksElements.pcx"     },
   { "gameoflife.xpos",                         "8"                     },
@@ -1605,28 +1611,28 @@ struct ConfigInfo image_config[] =
   { "pacman.right.xpos",                       "8"                     },
   { "pacman.right.ypos",                       "5"                     },
   { "pacman.right.frames",                     "2"                     },
-  { "pacman.right.mode_reverse",               "true"                  },
+  { "pacman.right.anim_mode",                  "reverse"               },
   { "pacman.right.delay",                      "4"                     },
   { "pacman.right.offset",                     "128"                   },
   { "pacman.up",                               "RocksElements.pcx"     },
   { "pacman.up.xpos",                          "9"                     },
   { "pacman.up.ypos",                          "5"                     },
   { "pacman.up.frames",                                "2"                     },
-  { "pacman.up.mode_reverse",                  "true"                  },
+  { "pacman.up.anim_mode",                     "reverse"               },
   { "pacman.up.delay",                         "4"                     },
   { "pacman.up.offset",                                "128"                   },
   { "pacman.left",                             "RocksElements.pcx"     },
   { "pacman.left.xpos",                                "10"                    },
   { "pacman.left.ypos",                                "5"                     },
   { "pacman.left.frames",                      "2"                     },
-  { "pacman.left.mode_reverse",                        "true"                  },
+  { "pacman.left.anim_mode",                   "reverse"               },
   { "pacman.left.delay",                       "4"                     },
   { "pacman.left.offset",                      "128"                   },
   { "pacman.down",                             "RocksElements.pcx"     },
   { "pacman.down.xpos",                                "11"                    },
   { "pacman.down.ypos",                                "5"                     },
   { "pacman.down.frames",                      "2"                     },
-  { "pacman.down.mode_reverse",                        "true"                  },
+  { "pacman.down.anim_mode",                   "reverse"               },
   { "pacman.down.delay",                       "4"                     },
   { "pacman.down.offset",                      "128"                   },
 
@@ -1634,6 +1640,9 @@ struct ConfigInfo image_config[] =
   { "lamp.xpos",                               "0"                     },
   { "lamp.ypos",                               "7"                     },
   { "lamp.frames",                             "1"                     },
+  { "lamp.EDITOR",                             "RocksElements.pcx"     },
+  { "lamp.EDITOR.xpos",                                "2"                     },
+  { "lamp.EDITOR.ypos",                                "14"                    },
   { "lamp.active",                             "RocksElements.pcx"     },
   { "lamp.active.xpos",                                "1"                     },
   { "lamp.active.ypos",                                "7"                     },
@@ -1716,39 +1725,48 @@ struct ConfigInfo image_config[] =
   { "wall_growing_xy.xpos",                    "4"                     },
   { "wall_growing_xy.ypos",                    "9"                     },
   { "wall_growing_xy.frames",                  "1"                     },
+  { "wall_growing_xy.EDITOR",                  "RocksElements.pcx"     },
+  { "wall_growing_xy.EDITOR.xpos",             "12"                    },
+  { "wall_growing_xy.EDITOR.ypos",             "13"                    },
   { "wall_growing_x",                          "RocksElements.pcx"     },
   { "wall_growing_x.xpos",                     "5"                     },
   { "wall_growing_x.ypos",                     "9"                     },
   { "wall_growing_x.frames",                   "1"                     },
+  { "wall_growing_x.EDITOR",                   "RocksElements.pcx"     },
+  { "wall_growing_x.EDITOR.xpos",              "13"                    },
+  { "wall_growing_x.EDITOR.ypos",              "13"                    },
   { "wall_growing_y",                          "RocksElements.pcx"     },
   { "wall_growing_y.xpos",                     "6"                     },
   { "wall_growing_y.ypos",                     "9"                     },
   { "wall_growing_y.frames",                   "1"                     },
+  { "wall_growing_y.EDITOR",                   "RocksElements.pcx"     },
+  { "wall_growing_y.EDITOR.xpos",              "14"                    },
+  { "wall_growing_y.EDITOR.ypos",              "13"                    },
 
   { "wall_growing.active.left",                        "RocksElements.pcx"     },
   { "wall_growing.active.left.xpos",           "8"                     },
   { "wall_growing.active.left.ypos",           "10"                    },
   { "wall_growing.active.left.frames",         "3"                     },
   { "wall_growing.active.left.delay",          "6"                     },
-  { "wall_growing.active.left.mode_linear",    "true"                  },
+  { "wall_growing.active.left.anim_mode",      "linear"                },
   { "wall_growing.active.right",               "RocksElements.pcx"     },
   { "wall_growing.active.right.xpos",          "5"                     },
   { "wall_growing.active.right.ypos",          "10"                    },
   { "wall_growing.active.right.frames",                "3"                     },
   { "wall_growing.active.right.delay",         "6"                     },
-  { "wall_growing.active.right.mode_linear",   "true"                  },
+  { "wall_growing.active.right.anim_mode",     "linear"                },
   { "wall_growing.active.up",                  "RocksHeroes.pcx"       },
   { "wall_growing.active.up.xpos",             "3"                     },
   { "wall_growing.active.up.ypos",             "12"                    },
   { "wall_growing.active.up.frames",           "3"                     },
   { "wall_growing.active.up.delay",            "6"                     },
-  { "wall_growing.active.up.mode_linear",      "true"                  },
+  { "wall_growing.active.up.anim_mode",                "linear"                },
   { "wall_growing.active.down",                        "RocksHeroes.pcx"       },
   { "wall_growing.active.down.xpos",           "0"                     },
   { "wall_growing.active.down.ypos",           "12"                    },
   { "wall_growing.active.down.frames",         "3"                     },
   { "wall_growing.active.down.delay",          "6"                     },
-  { "wall_growing.active.down.mode_linear",    "true"                  },
+  { "wall_growing.active.down.anim_mode",      "linear"                },
 
   { "black_orb",                               "RocksElements.pcx"     },
   { "black_orb.xpos",                          "13"                    },
@@ -1764,38 +1782,38 @@ struct ConfigInfo image_config[] =
   { "dark_yamyam.xpos",                                "8"                     },
   { "dark_yamyam.ypos",                                "11"                    },
   { "dark_yamyam.frames",                      "4"                     },
-  { "dark_yamyam.mode_pingpong2",              "true"                  },
+  { "dark_yamyam.anim_mode",                   "pingpong2"             },
 
   { "dynabomb.active",                         "RocksElements.pcx"     },
   { "dynabomb.active.xpos",                    "12"                    },
   { "dynabomb.active.ypos",                    "11"                    },
   { "dynabomb.active.frames",                  "4"                     },
   { "dynabomb.active.delay",                   "6"                     },
-  { "dynabomb.active.mode_pingpong",           "true"                  },
+  { "dynabomb.active.anim_mode",               "pingpong"              },
   { "dynabomb_player1.active",                 "RocksElements.pcx"     },
   { "dynabomb_player1.active.xpos",            "12"                    },
   { "dynabomb_player1.active.ypos",            "11"                    },
   { "dynabomb_player1.active.frames",          "4"                     },
   { "dynabomb_player1.active.delay",           "6"                     },
-  { "dynabomb_player1.active.mode_pingpong",   "true"                  },
+  { "dynabomb_player1.active.anim_mode",       "pingpong"              },
   { "dynabomb_player2.active",                 "RocksElements.pcx"     },
   { "dynabomb_player2.active.xpos",            "12"                    },
   { "dynabomb_player2.active.ypos",            "11"                    },
   { "dynabomb_player2.active.frames",          "4"                     },
   { "dynabomb_player2.active.delay",           "6"                     },
-  { "dynabomb_player2.active.mode_pingpong",   "true"                  },
+  { "dynabomb_player2.active.anim_mode",       "pingpong"              },
   { "dynabomb_player3.active",                 "RocksElements.pcx"     },
   { "dynabomb_player3.active.xpos",            "12"                    },
   { "dynabomb_player3.active.ypos",            "11"                    },
   { "dynabomb_player3.active.frames",          "4"                     },
   { "dynabomb_player3.active.delay",           "6"                     },
-  { "dynabomb_player3.active.mode_pingpong",   "true"                  },
+  { "dynabomb_player3.active.anim_mode",       "pingpong"              },
   { "dynabomb_player4.active",                 "RocksElements.pcx"     },
   { "dynabomb_player4.active.xpos",            "12"                    },
   { "dynabomb_player4.active.ypos",            "11"                    },
   { "dynabomb_player4.active.frames",          "4"                     },
   { "dynabomb_player4.active.delay",           "6"                     },
-  { "dynabomb_player4.active.mode_pingpong",   "true"                  },
+  { "dynabomb_player4.active.anim_mode",       "pingpong"              },
   { "dynabomb_nr",                             "RocksElements.pcx"     },
   { "dynabomb_nr.xpos",                                "12"                    },
   { "dynabomb_nr.ypos",                                "11"                    },
@@ -1992,6 +2010,9 @@ struct ConfigInfo image_config[] =
   { "penguin.xpos",                            "8"                     },
   { "penguin.ypos",                            "6"                     },
   { "penguin.frames",                          "1"                     },
+  { "penguin.EDITOR",                          "RocksElements.pcx"     },
+  { "penguin.EDITOR.xpos",                     "12"                    },
+  { "penguin.EDITOR.ypos",                     "14"                    },
   { "penguin.down",                            "RocksHeroes.pcx"       },
   { "penguin.down.xpos",                       "8"                     },
   { "penguin.down.ypos",                       "6"                     },
@@ -2116,6 +2137,9 @@ struct ConfigInfo image_config[] =
   { "player1.xpos",                            "0"                     },
   { "player1.ypos",                            "0"                     },
   { "player1.frames",                          "1"                     },
+  { "player1.EDITOR",                          "RocksElements.pcx"     },
+  { "player1.EDITOR.xpos",                     "4"                     },
+  { "player1.EDITOR.ypos",                     "7"                     },
   { "player1.down",                            "RocksHeroes.pcx"       },
   { "player1.down.xpos",                       "0"                     },
   { "player1.down.ypos",                       "0"                     },
@@ -2154,44 +2178,52 @@ struct ConfigInfo image_config[] =
   { "player1.moving.right.xpos",               "4"                     },
   { "player1.moving.right.ypos",               "1"                     },
   { "player1.moving.right.frames",             "4"                     },
-  { "player1.moving.right.delay",              "4"                     },
   { "player1.moving.right.start_frame",                "1"                     },
+  { "player1.moving.right.delay",              "4"                     },
   { "player1.digging.down",                    "RocksHeroes.pcx"       },
   { "player1.digging.down.xpos",               "0"                     },
   { "player1.digging.down.ypos",               "0"                     },
   { "player1.digging.down.frames",             "4"                     },
+  { "player1.digging.down.start_frame",                "1"                     },
+  { "player1.digging.down.delay",              "4"                     },
   { "player1.digging.up",                      "RocksHeroes.pcx"       },
   { "player1.digging.up.xpos",                 "4"                     },
   { "player1.digging.up.ypos",                 "0"                     },
   { "player1.digging.up.frames",               "4"                     },
+  { "player1.digging.up.start_frame",          "1"                     },
+  { "player1.digging.up.delay",                        "4"                     },
   { "player1.digging.left",                    "RocksHeroes.pcx"       },
   { "player1.digging.left.xpos",               "0"                     },
   { "player1.digging.left.ypos",               "1"                     },
   { "player1.digging.left.frames",             "4"                     },
+  { "player1.digging.left.start_frame",                "1"                     },
+  { "player1.digging.left.delay",              "4"                     },
   { "player1.digging.right",                   "RocksHeroes.pcx"       },
   { "player1.digging.right.xpos",              "4"                     },
   { "player1.digging.right.ypos",              "1"                     },
   { "player1.digging.right.frames",            "4"                     },
+  { "player1.digging.right.start_frame",       "1"                     },
+  { "player1.digging.right.delay",             "4"                     },
   { "player1.pushing.down",                    "RocksHeroes.pcx"       },
   { "player1.pushing.down.xpos",               "0"                     },
   { "player1.pushing.down.ypos",               "0"                     },
   { "player1.pushing.down.frames",             "4"                     },
-  { "player1.pushing.down.delay",              "2"                     },
+  { "player1.pushing.down.delay",              "4"                     },
   { "player1.pushing.up",                      "RocksHeroes.pcx"       },
   { "player1.pushing.up.xpos",                 "4"                     },
   { "player1.pushing.up.ypos",                 "0"                     },
   { "player1.pushing.up.frames",               "4"                     },
-  { "player1.pushing.up.delay",                        "2"                     },
+  { "player1.pushing.up.delay",                        "4"                     },
   { "player1.pushing.left",                    "RocksHeroes.pcx"       },
   { "player1.pushing.left.xpos",               "4"                     },
   { "player1.pushing.left.ypos",               "2"                     },
   { "player1.pushing.left.frames",             "4"                     },
-  { "player1.pushing.left.delay",              "2"                     },
+  { "player1.pushing.left.delay",              "4"                     },
   { "player1.pushing.right",                   "RocksHeroes.pcx"       },
   { "player1.pushing.right.xpos",              "0"                     },
   { "player1.pushing.right.ypos",              "2"                     },
   { "player1.pushing.right.frames",            "4"                     },
-  { "player1.pushing.right.delay",             "2"                     },
+  { "player1.pushing.right.delay",             "4"                     },
   { "player1.snapping.down",                   "RocksHeroes.pcx"       },
   { "player1.snapping.down.xpos",              "0"                     },
   { "player1.snapping.down.ypos",              "0"                     },
@@ -2213,6 +2245,9 @@ struct ConfigInfo image_config[] =
   { "player2.xpos",                            "0"                     },
   { "player2.ypos",                            "3"                     },
   { "player2.frames",                          "1"                     },
+  { "player2.EDITOR",                          "RocksElements.pcx"     },
+  { "player2.EDITOR.xpos",                     "5"                     },
+  { "player2.EDITOR.ypos",                     "7"                     },
   { "player2.down",                            "RocksHeroes.pcx"       },
   { "player2.down.xpos",                       "0"                     },
   { "player2.down.ypos",                       "3"                     },
@@ -2265,18 +2300,22 @@ struct ConfigInfo image_config[] =
   { "player2.pushing.down.xpos",               "0"                     },
   { "player2.pushing.down.ypos",               "3"                     },
   { "player2.pushing.down.frames",             "4"                     },
+  { "player2.pushing.down.delay",              "4"                     },
   { "player2.pushing.up",                      "RocksHeroes.pcx"       },
   { "player2.pushing.up.xpos",                 "4"                     },
   { "player2.pushing.up.ypos",                 "3"                     },
   { "player2.pushing.up.frames",               "4"                     },
+  { "player2.pushing.up.delay",                        "4"                     },
   { "player2.pushing.left",                    "RocksHeroes.pcx"       },
   { "player2.pushing.left.xpos",               "4"                     },
   { "player2.pushing.left.ypos",               "5"                     },
   { "player2.pushing.left.frames",             "4"                     },
+  { "player2.pushing.left.delay",              "4"                     },
   { "player2.pushing.right",                   "RocksHeroes.pcx"       },
   { "player2.pushing.right.xpos",              "0"                     },
   { "player2.pushing.right.ypos",              "5"                     },
   { "player2.pushing.right.frames",            "4"                     },
+  { "player2.pushing.right.delay",             "4"                     },
   { "player2.snapping.down",                   "RocksHeroes.pcx"       },
   { "player2.snapping.down.xpos",              "0"                     },
   { "player2.snapping.down.ypos",              "3"                     },
@@ -2298,6 +2337,9 @@ struct ConfigInfo image_config[] =
   { "player3.xpos",                            "0"                     },
   { "player3.ypos",                            "6"                     },
   { "player3.frames",                          "1"                     },
+  { "player3.EDITOR",                          "RocksElements.pcx"     },
+  { "player3.EDITOR.xpos",                     "6"                     },
+  { "player3.EDITOR.ypos",                     "7"                     },
   { "player3.down",                            "RocksHeroes.pcx"       },
   { "player3.down.xpos",                       "0"                     },
   { "player3.down.ypos",                       "6"                     },
@@ -2350,18 +2392,22 @@ struct ConfigInfo image_config[] =
   { "player3.pushing.down.xpos",               "0"                     },
   { "player3.pushing.down.ypos",               "6"                     },
   { "player3.pushing.down.frames",             "4"                     },
+  { "player3.pushing.down.delay",              "4"                     },
   { "player3.pushing.up",                      "RocksHeroes.pcx"       },
   { "player3.pushing.up.xpos",                 "4"                     },
   { "player3.pushing.up.ypos",                 "6"                     },
   { "player3.pushing.up.frames",               "4"                     },
+  { "player3.pushing.up.delay",                        "4"                     },
   { "player3.pushing.left",                    "RocksHeroes.pcx"       },
   { "player3.pushing.left.xpos",               "4"                     },
   { "player3.pushing.left.ypos",               "8"                     },
   { "player3.pushing.left.frames",             "4"                     },
+  { "player3.pushing.left.delay",              "4"                     },
   { "player3.pushing.right",                   "RocksHeroes.pcx"       },
   { "player3.pushing.right.xpos",              "0"                     },
   { "player3.pushing.right.ypos",              "8"                     },
   { "player3.pushing.right.frames",            "4"                     },
+  { "player3.pushing.right.delay",             "4"                     },
   { "player3.snapping.down",                   "RocksHeroes.pcx"       },
   { "player3.snapping.down.xpos",              "0"                     },
   { "player3.snapping.down.ypos",              "6"                     },
@@ -2383,6 +2429,9 @@ struct ConfigInfo image_config[] =
   { "player4.xpos",                            "0"                     },
   { "player4.ypos",                            "9"                     },
   { "player4.frames",                          "1"                     },
+  { "player4.EDITOR",                          "RocksElements.pcx"     },
+  { "player4.EDITOR.xpos",                     "7"                     },
+  { "player4.EDITOR.ypos",                     "7"                     },
   { "player4.down",                            "RocksHeroes.pcx"       },
   { "player4.down.xpos",                       "0"                     },
   { "player4.down.ypos",                       "9"                     },
@@ -2435,18 +2484,22 @@ struct ConfigInfo image_config[] =
   { "player4.pushing.down.xpos",               "0"                     },
   { "player4.pushing.down.ypos",               "9"                     },
   { "player4.pushing.down.frames",             "4"                     },
+  { "player4.pushing.down.delay",              "4"                     },
   { "player4.pushing.up",                      "RocksHeroes.pcx"       },
   { "player4.pushing.up.xpos",                 "4"                     },
   { "player4.pushing.up.ypos",                 "9"                     },
   { "player4.pushing.up.frames",               "4"                     },
+  { "player4.pushing.up.delay",                        "4"                     },
   { "player4.pushing.left",                    "RocksHeroes.pcx"       },
   { "player4.pushing.left.xpos",               "4"                     },
   { "player4.pushing.left.ypos",               "11"                    },
   { "player4.pushing.left.frames",             "4"                     },
+  { "player4.pushing.left.delay",              "4"                     },
   { "player4.pushing.right",                   "RocksHeroes.pcx"       },
   { "player4.pushing.right.xpos",              "0"                     },
   { "player4.pushing.right.ypos",              "11"                    },
   { "player4.pushing.right.frames",            "4"                     },
+  { "player4.pushing.right.delay",             "4"                     },
   { "player4.snapping.down",                   "RocksHeroes.pcx"       },
   { "player4.snapping.down.xpos",              "0"                     },
   { "player4.snapping.down.ypos",              "9"                     },
@@ -2469,21 +2522,21 @@ struct ConfigInfo image_config[] =
   { "explosion.ypos",                          "4"                     },
   { "explosion.frames",                                "8"                     },
   { "explosion.delay",                         "2"                     },
-  { "explosion.mode_linear",                   "true"                  },
+  { "explosion.anim_mode",                     "linear"                },
 
   { "twinkle_blue",                            "RocksHeroes.pcx"       },
   { "twinkle_blue.xpos",                       "9"                     },
   { "twinkle_blue.ypos",                       "11"                    },
   { "twinkle_blue.frames",                     "3"                     },
   { "twinkle_blue.delay",                      "2"                     },
-  { "twinkle_blue.mode_pingpong",              "true"                  },
+  { "twinkle_blue.anim_mode",                  "pingpong"              },
   { "twinkle_blue.global_sync",                        "false"                 },
   { "twinkle_white",                           "RocksHeroes.pcx"       },
   { "twinkle_white.xpos",                      "13"                    },
   { "twinkle_white.ypos",                      "11"                    },
   { "twinkle_white.frames",                    "3"                     },
   { "twinkle_white.delay",                     "2"                     },
-  { "twinkle_white.mode_pingpong",             "true"                  },
+  { "twinkle_white.anim_mode",                 "pingpong"              },
   { "twinkle_white.global_sync",               "false"                 },
 
   { "steelwall_topleft",                       "RocksElements.pcx"     },
@@ -2514,27 +2567,21 @@ struct ConfigInfo image_config[] =
   { "steelwall_topleft.EDITOR",                        "RocksElements.pcx"     },
   { "steelwall_topleft.EDITOR.xpos",           "0"                     },
   { "steelwall_topleft.EDITOR.ypos",           "13"                    },
-  { "steelwall_topleft.EDITOR.frames",         "1"                     },
   { "steelwall_topright.EDITOR",               "RocksElements.pcx"     },
   { "steelwall_topright.EDITOR.xpos",          "1"                     },
   { "steelwall_topright.EDITOR.ypos",          "13"                    },
-  { "steelwall_topright.EDITOR.frames",                "1"                     },
   { "steelwall_bottomleft.EDITOR",             "RocksElements.pcx"     },
   { "steelwall_bottomleft.EDITOR.xpos",                "2"                     },
   { "steelwall_bottomleft.EDITOR.ypos",                "13"                    },
-  { "steelwall_bottomleft.EDITOR.frames",      "1"                     },
   { "steelwall_bottomright.EDITOR",            "RocksElements.pcx"     },
   { "steelwall_bottomright.EDITOR.xpos",       "3"                     },
   { "steelwall_bottomright.EDITOR.ypos",       "13"                    },
-  { "steelwall_bottomright.EDITOR.frames",     "1"                     },
   { "steelwall_horizontal.EDITOR",             "RocksElements.pcx"     },
   { "steelwall_horizontal.EDITOR.xpos",                "4"                     },
   { "steelwall_horizontal.EDITOR.ypos",                "13"                    },
-  { "steelwall_horizontal.EDITOR.frames",      "1"                     },
   { "steelwall_vertical.EDITOR",               "RocksElements.pcx"     },
   { "steelwall_vertical.EDITOR.xpos",          "5"                     },
   { "steelwall_vertical.EDITOR.ypos",          "13"                    },
-  { "steelwall_vertical.EDITOR.frames",                "1"                     },
 
   { "invisible_steelwall_topleft",             "RocksSP.pcx"           },
   { "invisible_steelwall_topleft.xpos",                "0"                     },
@@ -2564,95 +2611,38 @@ struct ConfigInfo image_config[] =
   { "invisible_steelwall_topleft.EDITOR",      "RocksElements.pcx"     },
   { "invisible_steelwall_topleft.EDITOR.xpos", "6"                     },
   { "invisible_steelwall_topleft.EDITOR.ypos", "13"                    },
-  { "invisible_steelwall_topleft.EDITOR.frames","1"                    },
   { "invisible_steelwall_topright.EDITOR",     "RocksElements.pcx"     },
   { "invisible_steelwall_topright.EDITOR.xpos",        "7"                     },
   { "invisible_steelwall_topright.EDITOR.ypos",        "13"                    },
-  { "invisible_steelwall_topright.EDITOR.frames","1"                   },
   { "invisible_steelwall_bottomleft.EDITOR",   "RocksElements.pcx"     },
   { "invisible_steelwall_bottomleft.EDITOR.xpos","8"                   },
   { "invisible_steelwall_bottomleft.EDITOR.ypos","13"                  },
-  { "invisible_steelwall_bottomleft.EDITOR.frames","1"                 },
   { "invisible_steelwall_bottomright.EDITOR",  "RocksElements.pcx"     },
   { "invisible_steelwall_bottomright.EDITOR.xpos","9"                  },
   { "invisible_steelwall_bottomright.EDITOR.ypos","13"                 },
-  { "invisible_steelwall_bottomright.EDITOR.frames","1"                        },
   { "invisible_steelwall_horizontal.EDITOR",   "RocksElements.pcx"     },
   { "invisible_steelwall_horizontal.EDITOR.xpos","10"                  },
   { "invisible_steelwall_horizontal.EDITOR.ypos","13"                  },
-  { "invisible_steelwall_horizontal.EDITOR.frames","1"                 },
   { "invisible_steelwall_vertical.EDITOR",     "RocksElements.pcx"     },
   { "invisible_steelwall_vertical.EDITOR.xpos",        "11"                    },
   { "invisible_steelwall_vertical.EDITOR.ypos",        "13"                    },
-  { "invisible_steelwall_vertical.EDITOR.frames","1"                   },
-
-  { "arrow_blue.left",                         "RocksDC.pcx"           },
-  { "arrow_blue.left.xpos",                    "8"                     },
-  { "arrow_blue.left.ypos",                    "8"                     },
-  { "arrow_blue.left.frames",                  "1"                     },
-  { "arrow_blue.right",                                "RocksDC.pcx"           },
-  { "arrow_blue.right.xpos",                   "9"                     },
-  { "arrow_blue.right.ypos",                   "8"                     },
-  { "arrow_blue.right.frames",                 "1"                     },
-  { "arrow_blue.up",                           "RocksDC.pcx"           },
-  { "arrow_blue.up.xpos",                      "10"                    },
-  { "arrow_blue.up.ypos",                      "8"                     },
-  { "arrow_blue.up.frames",                    "1"                     },
-  { "arrow_blue.down",                         "RocksDC.pcx"           },
-  { "arrow_blue.down.xpos",                    "11"                    },
-  { "arrow_blue.down.ypos",                    "8"                     },
-  { "arrow_blue.down.frames",                  "1"                     },
-
-  { "arrow_red.left",                          "RocksDC.pcx"           },
-  { "arrow_red.left.xpos",                     "8"                     },
-  { "arrow_red.left.ypos",                     "9"                     },
-  { "arrow_red.left.frames",                   "1"                     },
-  { "arrow_red.right",                         "RocksDC.pcx"           },
-  { "arrow_red.right.xpos",                    "9"                     },
-  { "arrow_red.right.ypos",                    "9"                     },
-  { "arrow_red.right.frames",                  "1"                     },
-  { "arrow_red.up",                            "RocksDC.pcx"           },
-  { "arrow_red.up.xpos",                       "10"                    },
-  { "arrow_red.up.ypos",                       "9"                     },
-  { "arrow_red.up.frames",                     "1"                     },
-  { "arrow_red.down",                          "RocksDC.pcx"           },
-  { "arrow_red.down.xpos",                     "11"                    },
-  { "arrow_red.down.ypos",                     "9"                     },
-  { "arrow_red.down.frames",                   "1"                     },
-
-  { "ball_red",                                        "RocksElements.pcx"     },
-  { "ball_red.xpos",                           "12"                    },
-  { "ball_red.ypos",                           "8"                     },
-  { "ball_red.frames",                         "1"                     },
-  { "ball_blue",                               "RocksElements.pcx"     },
-  { "ball_blue.xpos",                          "13"                    },
-  { "ball_blue.ypos",                          "8"                     },
-  { "ball_blue.frames",                                "1"                     },
-  { "ball_yellow",                             "RocksElements.pcx"     },
-  { "ball_yellow.xpos",                                "14"                    },
-  { "ball_yellow.ypos",                                "8"                     },
-  { "ball_yellow.frames",                      "1"                     },
-  { "ball_gray",                               "RocksElements.pcx"     },
-  { "ball_gray.xpos",                          "15"                    },
-  { "ball_gray.ypos",                          "8"                     },
-  { "ball_gray.frames",                                "1"                     },
-
-  { "scrollbar_blue",                          "RocksDC.pcx"           },
-  { "scrollbar_blue.xpos",                     "8"                     },
-  { "scrollbar_blue.ypos",                     "10"                    },
-  { "scrollbar_blue.frames",                   "1"                     },
-  { "scrollbar_red",                           "RocksDC.pcx"           },
-  { "scrollbar_red.xpos",                      "9"                     },
-  { "scrollbar_red.ypos",                      "10"                    },
-  { "scrollbar_red.frames",                    "1"                     },
-  { "scrollbar_green",                         "RocksDC.pcx"           },
-  { "scrollbar_green.xpos",                    "10"                    },
-  { "scrollbar_green.ypos",                    "10"                    },
-  { "scrollbar_green.frames",                  "1"                     },
-  { "scrollbar_yellow",                                "RocksDC.pcx"           },
-  { "scrollbar_yellow.xpos",                   "11"                    },
-  { "scrollbar_yellow.ypos",                   "10"                    },
-  { "scrollbar_yellow.frames",                 "1"                     },
+
+  { "arrow_left",                              "RocksDC.pcx"           },
+  { "arrow_left.xpos",                         "8"                     },
+  { "arrow_left.ypos",                         "8"                     },
+  { "arrow_left.frames",                       "1"                     },
+  { "arrow_right",                             "RocksDC.pcx"           },
+  { "arrow_right.xpos",                                "9"                     },
+  { "arrow_right.ypos",                                "8"                     },
+  { "arrow_right.frames",                      "1"                     },
+  { "arrow_up",                                        "RocksDC.pcx"           },
+  { "arrow_up.xpos",                           "10"                    },
+  { "arrow_up.ypos",                           "8"                     },
+  { "arrow_up.frames",                         "1"                     },
+  { "arrow_down",                              "RocksDC.pcx"           },
+  { "arrow_down.xpos",                         "11"                    },
+  { "arrow_down.ypos",                         "8"                     },
+  { "arrow_down.frames",                       "1"                     },
 
 #include "conf_chr.c"  /* include auto-generated data structure definitions */
 #include "conf_cus.c"  /* include auto-generated data structure definitions */
@@ -2660,24 +2650,456 @@ struct ConfigInfo image_config[] =
   /* images not associated to game elements (used for menu screens etc.) */
   /* keyword to stop parser: "NO_MORE_ELEMENT_IMAGES" <-- do not change! */
 
+  { "toon_1",                                  "RocksToons.pcx"        },
+  { "toon_1.x",                                        "2"                     },
+  { "toon_1.y",                                        "72"                    },
+  { "toon_1.width",                            "40"                    },
+  { "toon_1.height",                           "48"                    },
+  { "toon_1.frames",                           "8"                     },
+  { "toon_1.delay",                            "1"                     },
+  { "toon_1.step_offset",                      "4"                     },
+  { "toon_1.step_delay",                       "5"                     },
+  { "toon_1.direction",                                "right"                 },
+  { "toon_1.position",                         "bottom"                },
+
+  { "toon_2",                                  "RocksToons.pcx"        },
+  { "toon_2.x",                                        "2"                     },
+  { "toon_2.y",                                        "186"                   },
+  { "toon_2.width",                            "40"                    },
+  { "toon_2.height",                           "48"                    },
+  { "toon_2.frames",                           "8"                     },
+  { "toon_2.delay",                            "1"                     },
+  { "toon_2.step_offset",                      "4"                     },
+  { "toon_2.step_delay",                       "5"                     },
+  { "toon_2.direction",                                "left"                  },
+  { "toon_2.position",                         "bottom"                },
+
+  { "toon_3",                                  "RocksToons.pcx"        },
+  { "toon_3.x",                                        "2"                     },
+  { "toon_3.y",                                        "125"                   },
+  { "toon_3.width",                            "48"                    },
+  { "toon_3.height",                           "56"                    },
+  { "toon_3.frames",                           "8"                     },
+  { "toon_3.delay",                            "1"                     },
+  { "toon_3.step_offset",                      "4"                     },
+  { "toon_3.step_delay",                       "5"                     },
+  { "toon_3.direction",                                "right"                 },
+  { "toon_3.position",                         "bottom"                },
+
+  { "toon_4",                                  "RocksToons.pcx"        },
+  { "toon_4.x",                                        "327"                   },
+  { "toon_4.y",                                        "10"                    },
+  { "toon_4.width",                            "80"                    },
+  { "toon_4.height",                           "110"                   },
+  { "toon_4.frames",                           "1"                     },
+  { "toon_4.delay",                            "1"                     },
+  { "toon_4.step_offset",                      "1"                     },
+  { "toon_4.step_delay",                       "1"                     },
+  { "toon_4.direction",                                "up"                    },
+  { "toon_4.position",                         "any"                   },
+
+  { "toon_5",                                  "RocksToons.pcx"        },
+  { "toon_5.x",                                        "2"                     },
+  { "toon_5.y",                                        "2"                     },
+  { "toon_5.width",                            "32"                    },
+  { "toon_5.height",                           "30"                    },
+  { "toon_5.frames",                           "8"                     },
+  { "toon_5.delay",                            "2"                     },
+  { "toon_5.anim_mode",                                "pingpong2"             },
+  { "toon_5.step_offset",                      "2"                     },
+  { "toon_5.step_delay",                       "1"                     },
+  { "toon_5.direction",                                "right"                 },
+  { "toon_5.position",                         "upper"                 },
+
+  { "toon_6",                                  "RocksToons.pcx"        },
+  { "toon_6.x",                                        "2"                     },
+  { "toon_6.y",                                        "37"                    },
+  { "toon_6.width",                            "32"                    },
+  { "toon_6.height",                           "30"                    },
+  { "toon_6.frames",                           "8"                     },
+  { "toon_6.delay",                            "2"                     },
+  { "toon_6.anim_mode",                                "pingpong2"             },
+  { "toon_6.step_offset",                      "2"                     },
+  { "toon_6.step_delay",                       "1"                     },
+  { "toon_6.direction",                                "left"                  },
+  { "toon_6.position",                         "upper"                 },
+
+  { "toon_7",                                  "RocksHeroes.pcx"       },
+  { "toon_7.xpos",                             "0"                     },
+  { "toon_7.ypos",                             "1"                     },
+  { "toon_7.frames",                           "4"                     },
+  { "toon_7.delay",                            "4"                     },
+  { "toon_7.direction",                                "left"                  },
+  { "toon_7.position",                         "bottom"                },
+
+  { "toon_8",                                  "RocksHeroes.pcx"       },
+  { "toon_8.xpos",                             "4"                     },
+  { "toon_8.ypos",                             "1"                     },
+  { "toon_8.frames",                           "4"                     },
+  { "toon_8.delay",                            "4"                     },
+  { "toon_8.direction",                                "right"                 },
+  { "toon_8.position",                         "bottom"                },
+
+  { "toon_9",                                  "RocksHeroes.pcx"       },
+  { "toon_9.xpos",                             "8"                     },
+  { "toon_9.ypos",                             "7"                     },
+  { "toon_9.frames",                           "4"                     },
+  { "toon_9.delay",                            "2"                     },
+  { "toon_9.direction",                                "left"                  },
+  { "toon_9.position",                         "bottom"                },
+
+  { "toon_10",                                 "RocksHeroes.pcx"       },
+  { "toon_10.xpos",                            "12"                    },
+  { "toon_10.ypos",                            "7"                     },
+  { "toon_10.frames",                          "4"                     },
+  { "toon_10.delay",                           "2"                     },
+  { "toon_10.direction",                       "right"                 },
+  { "toon_10.position",                                "bottom"                },
+
+  { "toon_11",                                 "RocksHeroes.pcx"       },
+  { "toon_11.xpos",                            "8"                     },
+  { "toon_11.ypos",                            "5"                     },
+  { "toon_11.frames",                          "4"                     },
+  { "toon_11.delay",                           "2"                     },
+  { "toon_11.direction",                       "left"                  },
+  { "toon_11.position",                                "bottom"                },
+
+  { "toon_12",                                 "RocksHeroes.pcx"       },
+  { "toon_12.xpos",                            "12"                    },
+  { "toon_12.ypos",                            "5"                     },
+  { "toon_12.frames",                          "4"                     },
+  { "toon_12.delay",                           "2"                     },
+  { "toon_12.direction",                       "right"                 },
+  { "toon_12.position",                                "bottom"                },
+
+  { "toon_13",                                 "RocksHeroes.pcx"       },
+  { "toon_13.xpos",                            "8"                     },
+  { "toon_13.ypos",                            "1"                     },
+  { "toon_13.frames",                          "4"                     },
+  { "toon_13.delay",                           "2"                     },
+  { "toon_13.direction",                       "left"                  },
+  { "toon_13.position",                                "bottom"                },
+
+  { "toon_14",                                 "RocksHeroes.pcx"       },
+  { "toon_14.xpos",                            "12"                    },
+  { "toon_14.ypos",                            "1"                     },
+  { "toon_14.frames",                          "4"                     },
+  { "toon_14.delay",                           "2"                     },
+  { "toon_14.direction",                       "right"                 },
+  { "toon_14.position",                                "bottom"                },
+
+  { "toon_15",                                 "RocksHeroes.pcx"       },
+  { "toon_15.xpos",                            "8"                     },
+  { "toon_15.ypos",                            "3"                     },
+  { "toon_15.frames",                          "4"                     },
+  { "toon_15.delay",                           "2"                     },
+  { "toon_15.direction",                       "left"                  },
+  { "toon_15.position",                                "bottom"                },
+
+  { "toon_16",                                 "RocksHeroes.pcx"       },
+  { "toon_16.xpos",                            "12"                    },
+  { "toon_16.ypos",                            "3"                     },
+  { "toon_16.frames",                          "4"                     },
+  { "toon_16.delay",                           "2"                     },
+  { "toon_16.direction",                       "right"                 },
+  { "toon_16.position",                                "bottom"                },
+
+  { "toon_17",                                 "RocksHeroes.pcx"       },
+  { "toon_17.xpos",                            "8"                     },
+  { "toon_17.ypos",                            "9"                     },
+  { "toon_17.frames",                          "8"                     },
+  { "toon_17.delay",                           "2"                     },
+  { "toon_17.direction",                       "left"                  },
+  { "toon_17.position",                                "any"                   },
+
+  { "toon_18",                                 "RocksHeroes.pcx"       },
+  { "toon_18.xpos",                            "8"                     },
+  { "toon_18.ypos",                            "9"                     },
+  { "toon_18.frames",                          "8"                     },
+  { "toon_18.delay",                           "2"                     },
+  { "toon_18.direction",                       "right"                 },
+  { "toon_18.position",                                "any"                   },
+
+  { "toon_19",                                 "RocksElements.pcx"     },
+  { "toon_19.xpos",                            "8"                     },
+  { "toon_19.ypos",                            "0"                     },
+  { "toon_19.frames",                          "2"                     },
+  { "toon_19.delay",                           "4"                     },
+  { "toon_19.direction",                       "down"                  },
+  { "toon_19.position",                                "any"                   },
+
+  { "toon_20",                                 "RocksElements.pcx"     },
+  { "toon_20.xpos",                            "10"                    },
+  { "toon_20.ypos",                            "0"                     },
+  { "toon_20.frames",                          "2"                     },
+  { "toon_20.delay",                           "4"                     },
+  { "toon_20.direction",                       "down"                  },
+  { "toon_20.position",                                "any"                   },
+
+  { "menu.calibrate_red",                      "RocksElements.pcx"     },
+  { "menu.calibrate_red.xpos",                 "12"                    },
+  { "menu.calibrate_red.ypos",                 "8"                     },
+  { "menu.calibrate_red.frames",               "1"                     },
+  { "menu.calibrate_blue",                     "RocksElements.pcx"     },
+  { "menu.calibrate_blue.xpos",                        "13"                    },
+  { "menu.calibrate_blue.ypos",                        "8"                     },
+  { "menu.calibrate_blue.frames",              "1"                     },
+  { "menu.calibrate_yellow",                   "RocksElements.pcx"     },
+  { "menu.calibrate_yellow.xpos",              "14"                    },
+  { "menu.calibrate_yellow.ypos",              "8"                     },
+  { "menu.calibrate_yellow.frames",            "1"                     },
+
+  { "menu.button",                             "RocksElements.pcx"     },
+  { "menu.button.xpos",                                "13"                    },
+  { "menu.button.ypos",                                "8"                     },
+  { "menu.button.frames",                      "1"                     },
+  { "menu.button.active",                      "RocksElements.pcx"     },
+  { "menu.button.active.xpos",                 "12"                    },
+  { "menu.button.active.ypos",                 "8"                     },
+  { "menu.button.active.frames",               "1"                     },
+
+  { "menu.button_left",                                "RocksDC.pcx"           },
+  { "menu.button_left.xpos",                   "8"                     },
+  { "menu.button_left.ypos",                   "8"                     },
+  { "menu.button_left.frames",                 "1"                     },
+  { "menu.button_right",                       "RocksDC.pcx"           },
+  { "menu.button_right.xpos",                  "9"                     },
+  { "menu.button_right.ypos",                  "8"                     },
+  { "menu.button_right.frames",                        "1"                     },
+  { "menu.button_up",                          "RocksDC.pcx"           },
+  { "menu.button_up.xpos",                     "10"                    },
+  { "menu.button_up.ypos",                     "8"                     },
+  { "menu.button_up.frames",                   "1"                     },
+  { "menu.button_down",                                "RocksDC.pcx"           },
+  { "menu.button_down.xpos",                   "11"                    },
+  { "menu.button_down.ypos",                   "8"                     },
+  { "menu.button_down.frames",                 "1"                     },
+  { "menu.button_left.active",                 "RocksDC.pcx"           },
+  { "menu.button_left.active.xpos",            "8"                     },
+  { "menu.button_left.active.ypos",            "9"                     },
+  { "menu.button_left.active.frames",          "1"                     },
+  { "menu.button_right.active",                        "RocksDC.pcx"           },
+  { "menu.button_right.active.xpos",           "9"                     },
+  { "menu.button_right.active.ypos",           "9"                     },
+  { "menu.button_right.active.frames",         "1"                     },
+  { "menu.button_up.active",                   "RocksDC.pcx"           },
+  { "menu.button_up.active.xpos",              "10"                    },
+  { "menu.button_up.active.ypos",              "9"                     },
+  { "menu.button_up.active.frames",            "1"                     },
+  { "menu.button_down.active",                 "RocksDC.pcx"           },
+  { "menu.button_down.active.xpos",            "11"                    },
+  { "menu.button_down.active.ypos",            "9"                     },
+  { "menu.button_down.active.frames",          "1"                     },
+
+  { "menu.scrollbar",                          "RocksDC.pcx"           },
+  { "menu.scrollbar.xpos",                     "8"                     },
+  { "menu.scrollbar.ypos",                     "10"                    },
+  { "menu.scrollbar.frames",                   "1"                     },
+  { "menu.scrollbar.active",                   "RocksDC.pcx"           },
+  { "menu.scrollbar.active.xpos",              "9"                     },
+  { "menu.scrollbar.active.ypos",              "10"                    },
+  { "menu.scrollbar.active.frames",            "1"                     },
+
+  { "font.initial_1",                          "RocksFontSmall.pcx"    },
+  { "font.initial_1.x",                                "0"                     },
+  { "font.initial_1.y",                                "0"                     },
+  { "font.initial_1.width",                    "14"                    },
+  { "font.initial_1.height",                   "14"                    },
+  { "font.initial_2",                          "RocksFontSmall.pcx"    },
+  { "font.initial_2.x",                                "0"                     },
+  { "font.initial_2.y",                                "56"                    },
+  { "font.initial_2.width",                    "14"                    },
+  { "font.initial_2.height",                   "14"                    },
+  { "font.initial_3",                          "RocksFontSmall.pcx"    },
+  { "font.initial_3.x",                                "0"                     },
+  { "font.initial_3.y",                                "112"                   },
+  { "font.initial_3.width",                    "14"                    },
+  { "font.initial_3.height",                   "14"                    },
+  { "font.initial_4",                          "RocksFontSmall.pcx"    },
+  { "font.initial_4.x",                                "0"                     },
+  { "font.initial_4.y",                                "168"                   },
+  { "font.initial_4.width",                    "14"                    },
+  { "font.initial_4.height",                   "14"                    },
+
+  { "font.title_1",                            "RocksFontBig.pcx"      },
+  { "font.title_1.x",                          "0"                     },
+  { "font.title_1.y",                          "384"                   },
+  { "font.title_1.width",                      "32"                    },
+  { "font.title_1.height",                     "32"                    },
+  { "font.title_1.LEVELS",                     "RocksFontBig.pcx"      },
+  { "font.title_1.LEVELS.x",                   "0"                     },
+  { "font.title_1.LEVELS.y",                   "256"                   },
+  { "font.title_1.LEVELS.width",               "32"                    },
+  { "font.title_1.LEVELS.height",              "32"                    },
+  { "font.title_2",                            "RocksFontSmall.pcx"    },
+  { "font.title_2.x",                          "0"                     },
+  { "font.title_2.y",                          "0"                     },
+  { "font.title_2.width",                      "14"                    },
+  { "font.title_2.height",                     "14"                    },
+
+  { "font.menu_1",                             "RocksFontBig.pcx"      },
+  { "font.menu_1.x",                           "0"                     },
+  { "font.menu_1.y",                           "256"                   },
+  { "font.menu_1.width",                       "32"                    },
+  { "font.menu_1.height",                      "32"                    },
+  { "font.menu_2",                             "RocksFontMedium.pcx"   },
+  { "font.menu_2.x",                           "0"                     },
+  { "font.menu_2.y",                           "256"                   },
+  { "font.menu_2.width",                       "16"                    },
+  { "font.menu_2.height",                      "32"                    },
+
+  { "font.text_1",                             "RocksFontSmall.pcx"    },
+  { "font.text_1.x",                           "0"                     },
+  { "font.text_1.y",                           "112"                   },
+  { "font.text_1.width",                       "14"                    },
+  { "font.text_1.height",                      "14"                    },
+  { "font.text_1.LEVELS",                      "RocksFontMedium.pcx"   },
+  { "font.text_1.LEVELS.x",                    "0"                     },
+  { "font.text_1.LEVELS.y",                    "0"                     },
+  { "font.text_1.LEVELS.width",                        "16"                    },
+  { "font.text_1.LEVELS.height",               "32"                    },
+  { "font.text_1.SCORES",                      "RocksFontBig.pcx"      },
+  { "font.text_1.SCORES.x",                    "0"                     },
+  { "font.text_1.SCORES.y",                    "256"                   },
+  { "font.text_1.SCORES.width",                        "32"                    },
+  { "font.text_1.SCORES.height",               "32"                    },
+  { "font.text_1.PREVIEW",                     "RocksFontEM.pcx"       },
+  { "font.text_1.PREVIEW.x",                   "0"                     },
+  { "font.text_1.PREVIEW.y",                   "160"                   },
+  { "font.text_1.PREVIEW.width",               "16"                    },
+  { "font.text_1.PREVIEW.height",              "16"                    },
+  { "font.text_2",                             "RocksFontSmall.pcx"    },
+  { "font.text_2.x",                           "0"                     },
+  { "font.text_2.y",                           "168"                   },
+  { "font.text_2.width",                       "14"                    },
+  { "font.text_2.height",                      "14"                    },
+  { "font.text_2.LEVELS",                      "RocksFontMedium.pcx"   },
+  { "font.text_2.LEVELS.x",                    "0"                     },
+  { "font.text_2.LEVELS.y",                    "128"                   },
+  { "font.text_2.LEVELS.width",                        "16"                    },
+  { "font.text_2.LEVELS.height",               "32"                    },
+  { "font.text_2.SCORES",                      "RocksFontMedium.pcx"   },
+  { "font.text_2.SCORES.x",                    "0"                     },
+  { "font.text_2.SCORES.y",                    "384"                   },
+  { "font.text_2.SCORES.width",                        "16"                    },
+  { "font.text_2.SCORES.height",               "32"                    },
+  { "font.text_2.PREVIEW",                     "RocksFontEM.pcx"       },
+  { "font.text_2.PREVIEW.x",                   "0"                     },
+  { "font.text_2.PREVIEW.y",                   "160"                   },
+  { "font.text_2.PREVIEW.width",               "16"                    },
+  { "font.text_2.PREVIEW.height",              "16"                    },
+  { "font.text_3",                             "RocksFontSmall.pcx"    },
+  { "font.text_3.x",                           "0"                     },
+  { "font.text_3.y",                           "0"                     },
+  { "font.text_3.width",                       "14"                    },
+  { "font.text_3.height",                      "14"                    },
+  { "font.text_3.LEVELS",                      "RocksFontMedium.pcx"   },
+  { "font.text_3.LEVELS.x",                    "0"                     },
+  { "font.text_3.LEVELS.y",                    "256"                   },
+  { "font.text_3.LEVELS.width",                        "16"                    },
+  { "font.text_3.LEVELS.height",               "32"                    },
+  { "font.text_3.SCORES",                      "RocksFontBig.pcx"      },
+  { "font.text_3.SCORES.x",                    "0"                     },
+  { "font.text_3.SCORES.y",                    "0"                     },
+  { "font.text_3.SCORES.width",                        "32"                    },
+  { "font.text_3.SCORES.height",               "32"                    },
+  { "font.text_3.PREVIEW",                     "RocksFontEM.pcx"       },
+  { "font.text_3.PREVIEW.x",                   "0"                     },
+  { "font.text_3.PREVIEW.y",                   "160"                   },
+  { "font.text_3.PREVIEW.width",               "16"                    },
+  { "font.text_3.PREVIEW.height",              "16"                    },
+  { "font.text_4",                             "RocksFontSmall.pcx"    },
+  { "font.text_4.x",                           "0"                     },
+  { "font.text_4.y",                           "56"                    },
+  { "font.text_4.width",                       "14"                    },
+  { "font.text_4.height",                      "14"                    },
+  { "font.text_4.LEVELS",                      "RocksFontMedium.pcx"   },
+  { "font.text_4.LEVELS.x",                    "0"                     },
+  { "font.text_4.LEVELS.y",                    "384"                   },
+  { "font.text_4.LEVELS.width",                        "16"                    },
+  { "font.text_4.LEVELS.height",               "32"                    },
+  { "font.text_4.SCORES",                      "RocksFontMedium.pcx"   },
+  { "font.text_4.SCORES.x",                    "0"                     },
+  { "font.text_4.SCORES.y",                    "0"                     },
+  { "font.text_4.SCORES.width",                        "16"                    },
+  { "font.text_4.SCORES.height",               "32"                    },
+
+  { "font.input",                              "RocksFontSmall.pcx"    },
+  { "font.input.x",                            "0"                     },
+  { "font.input.y",                            "168"                   },
+  { "font.input.width",                                "14"                    },
+  { "font.input.height",                       "14"                    },
+  { "font.input.MAIN",                         "RocksFontBig.pcx"      },
+  { "font.input.MAIN.x",                       "0"                     },
+  { "font.input.MAIN.y",                       "0"                     },
+  { "font.input.MAIN.width",                   "32"                    },
+  { "font.input.MAIN.height",                  "32"                    },
+  { "font.input.active",                       "RocksFontSmall.pcx"    },
+  { "font.input.active.x",                     "0"                     },
+  { "font.input.active.y",                     "0"                     },
+  { "font.input.active.width",                 "14"                    },
+  { "font.input.active.height",                        "14"                    },
+  { "font.input.active.MAIN",                  "RocksFontBig.pcx"      },
+  { "font.input.active.MAIN.x",                        "0"                     },
+  { "font.input.active.MAIN.y",                        "384"                   },
+  { "font.input.active.MAIN.width",            "32"                    },
+  { "font.input.active.MAIN.height",           "32"                    },
+  { "font.input.active.SETUP",                 "RocksFontBig.pcx"      },
+  { "font.input.active.SETUP.x",               "0"                     },
+  { "font.input.active.SETUP.y",               "0"                     },
+  { "font.input.active.SETUP.width",           "32"                    },
+  { "font.input.active.SETUP.height",          "32"                    },
+
+  { "font.option_off",                         "RocksFontBig.pcx"      },
+  { "font.option_off.x",                       "0"                     },
+  { "font.option_off.y",                       "128"                   },
+  { "font.option_off.width",                   "32"                    },
+  { "font.option_off.height",                  "32"                    },
+  { "font.option_on",                          "RocksFontBig.pcx"      },
+  { "font.option_on.x",                                "0"                     },
+  { "font.option_on.y",                                "384"                   },
+  { "font.option_on.width",                    "32"                    },
+  { "font.option_on.height",                   "32"                    },
+
+  { "font.value_1",                            "RocksFontBig.pcx"      },
+  { "font.value_1.x",                          "0"                     },
+  { "font.value_1.y",                          "384"                   },
+  { "font.value_1.width",                      "32"                    },
+  { "font.value_1.height",                     "32"                    },
+  { "font.value_2",                            "RocksFontMedium.pcx"   },
+  { "font.value_2.x",                          "0"                     },
+  { "font.value_2.y",                          "384"                   },
+  { "font.value_2.width",                      "16"                    },
+  { "font.value_2.height",                     "32"                    },
+  { "font.value_old",                          "RocksFontBig.pcx"      },
+  { "font.value_old.x",                                "0"                     },
+  { "font.value_old.y",                                "128"                   },
+  { "font.value_old.width",                    "32"                    },
+  { "font.value_old.height",                   "32"                    },
+
+  { "font.level_number",                       "RocksFontSmall.pcx"    },
+  { "font.level_number.x",                     "0"                     },
+  { "font.level_number.y",                     "280"                   },
+  { "font.level_number.width",                 "10"                    },
+  { "font.level_number.height",                        "14"                    },
+
+  { "font.tape_recorder",                      "RocksFontSmall.pcx"    },
+  { "font.tape_recorder.x",                    "0"                     },
+  { "font.tape_recorder.y",                    "224"                   },
+  { "font.tape_recorder.width",                        "11"                    },
+  { "font.tape_recorder.height",               "14"                    },
+
   { "global.border",                           "RocksScreen.pcx"       },
   { "global.door",                             "RocksDoor.pcx"         },
-  { "global.toons",                            "RocksToons.pcx"        },
-
-  { "font.big",                                        "RocksFontBig.pcx"      },
-  { "font.medium",                             "RocksFontMedium.pcx"   },
-  { "font.small",                              "RocksFontSmall.pcx"    },
-  { "font.em",                                 "RocksFontEM.pcx"       },
-
-  { "background.default",                      UNDEFINED_FILENAME      },
-  { "background.door",                         UNDEFINED_FILENAME      },
-  { "background.main",                         UNDEFINED_FILENAME      },
-  { "background.level_series",                 UNDEFINED_FILENAME      },
-  { "background.hall_of_fame",                 UNDEFINED_FILENAME      },
-  { "background.editor_settings_level",                UNDEFINED_FILENAME      },
-  { "background.editor_settings_element",      UNDEFINED_FILENAME      },
-  { "background.info",                         UNDEFINED_FILENAME      },
-  { "background.setup",                                UNDEFINED_FILENAME      },
+
+  { "background",                              UNDEFINED_FILENAME      },
+  { "background.MAIN",                         UNDEFINED_FILENAME      },
+  { "background.LEVELS",                       UNDEFINED_FILENAME      },
+  { "background.SCORES",                       UNDEFINED_FILENAME      },
+  { "background.EDITOR",                       UNDEFINED_FILENAME      },
+  { "background.INFO",                         UNDEFINED_FILENAME      },
+  { "background.SETUP",                                UNDEFINED_FILENAME      },
+  { "background.DOOR",                         UNDEFINED_FILENAME      },
 
   { "info.font_em_1",                          "RocksFontEM.pcx"       },
   { "info.font_em_1.xpos",                     "0"                     },
@@ -2705,5 +3127,12 @@ struct ConfigInfo image_config[] =
   { "info.font_em_5.frames",                   "4"                     },
   { "info.font_em_5.delay",                    "10"                    },
 
+  /* the following directives are not associated with an image,
+     but make sense to be defined in "graphicsinfo.conf", too */
+
+  { "global.num_toons",                                "20"                    },
+
+  { "menu.main.hide_static_text",              "false"                 },
+
   { NULL,                                      NULL                    }
 };