rnd-20060128-1-src
[rocksndiamonds.git] / src / conf_gfx.c
index afa0ffba4ad8dd928c80fb89eb53b15eb3164265..7967bac637b556c77ea75ae5bdefc5b2b8c996ea 100644 (file)
    reliable default values. If that value is GFX_ARG_UNDEFINED, it will
    be dynamically determined, using some of the other list values. */
 
-struct ConfigInfo image_config_suffix[] =
+struct ConfigTypeInfo image_config_suffix[] =
 {
-  { ".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 },
-  { ".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            }
+  { ".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    },
+  { ".vertical",                       "false",        TYPE_BOOLEAN    },
+  { ".offset",                         ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".xoffset",                                ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".yoffset",                                ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".2nd_movement_tile",              "false",        TYPE_BOOLEAN    },
+  { ".2nd_vertical",                   ARG_UNDEFINED,  TYPE_BOOLEAN    },
+  { ".2nd_offset",                     ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".2nd_xoffset",                    ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".2nd_yoffset",                    ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".2nd_swap_tiles",                 ARG_UNDEFINED,  TYPE_BOOLEAN    },
+  { ".frames",                         ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".frames_per_line",                        ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".start_frame",                    ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".delay",                          "1",            TYPE_INTEGER    },
+  { ".anim_mode",                      ARG_UNDEFINED,  TYPE_STRING     },
+  { ".global_sync",                    "false",        TYPE_BOOLEAN    },
+  { ".crumbled_like",                  ARG_UNDEFINED,  TYPE_TOKEN      },
+  { ".diggable_like",                  ARG_UNDEFINED,  TYPE_TOKEN      },
+  { ".border_size",                    ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".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    },
+  { ".draw_masked",                    "false",        TYPE_BOOLEAN    },
+  { ".anim_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".anim_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".post_delay_fixed",               ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".post_delay_random",              ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".name",                           ARG_UNDEFINED,  TYPE_STRING     },
+  { ".scale_up_factor",                        ARG_UNDEFINED,  TYPE_INTEGER    },
+  { ".clone_from",                     ARG_UNDEFINED,  TYPE_TOKEN      },
+
+  { NULL,                              NULL,           0               }
 };
 
 struct ConfigInfo image_config[] =
@@ -68,10 +83,6 @@ struct ConfigInfo image_config[] =
   { "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"                    },
-  { "bd_rock.falling.frames",                  "1"                     },
   { "bd_rock.moving.left",                     "RocksDC.pcx"           },
   { "bd_rock.moving.left.xpos",                        "12"                    },
   { "bd_rock.moving.left.ypos",                        "10"                    },
@@ -84,6 +95,18 @@ struct ConfigInfo image_config[] =
   { "bd_rock.moving.right.frames",             "4"                     },
   { "bd_rock.moving.right.start_frame",                "1"                     },
   { "bd_rock.moving.right.delay",              "2"                     },
+  { "bd_rock.pushing.left",                    "RocksDC.pcx"           },
+  { "bd_rock.pushing.left.xpos",               "12"                    },
+  { "bd_rock.pushing.left.ypos",               "10"                    },
+  { "bd_rock.pushing.left.frames",             "4"                     },
+  { "bd_rock.pushing.left.delay",              "2"                     },
+  { "bd_rock.pushing.left.anim_mode",          "reverse"               },
+  { "bd_rock.pushing.right",                   "RocksDC.pcx"           },
+  { "bd_rock.pushing.right.xpos",              "12"                    },
+  { "bd_rock.pushing.right.ypos",              "10"                    },
+  { "bd_rock.pushing.right.frames",            "4"                     },
+  { "bd_rock.pushing.right.start_frame",       "1"                     },
+  { "bd_rock.pushing.right.delay",             "2"                     },
 
   { "bd_diamond",                              "RocksElements.pcx"     },
   { "bd_diamond.xpos",                         "0"                     },
@@ -113,13 +136,13 @@ struct ConfigInfo image_config[] =
   { "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.anim_mode",         "reverse"               },
-  { "bd_magic_wall_filling.delay",             "4"                     },
-  { "bd_magic_wall_filling.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.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"                    },
@@ -127,13 +150,13 @@ struct ConfigInfo image_config[] =
   { "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.anim_mode",                "reverse"               },
-  { "bd_magic_wall_emptying.delay",            "4"                     },
-  { "bd_magic_wall_emptying.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.anim_mode",                "reverse"               },
+  { "bd_magic_wall.emptying.delay",            "4"                     },
+  { "bd_magic_wall.emptying.global_sync",      "true"                  },
   { "bd_magic_wall_dead",                      "RocksElements.pcx"     },
   { "bd_magic_wall_dead.xpos",                 "12"                    },
   { "bd_magic_wall_dead.ypos",                 "10"                    },
@@ -155,28 +178,47 @@ struct ConfigInfo image_config[] =
   { "bd_butterfly.frames",                     "2"                     },
   { "bd_butterfly.anim_mode",                  "pingpong"              },
   { "bd_butterfly.delay",                      "4"                     },
+  { "bd_butterfly.global_sync",                        "true"                  },
   { "bd_butterfly.right",                      "RocksElements.pcx"     },
-  { "bd_butterfly.right.xpos",                 "8"                     },
+  { "bd_butterfly.right.xpos",                 "4"                     },
   { "bd_butterfly.right.ypos",                 "12"                    },
-  { "bd_butterfly.right.frames",               "1"                     },
+  { "bd_butterfly.right.frames",               "2"                     },
+  { "bd_butterfly.right.anim_mode",            "pingpong"              },
+  { "bd_butterfly.right.delay",                        "4"                     },
+  { "bd_butterfly.right.global_sync",          "true"                  },
+  { "bd_butterfly.right.EDITOR",               "RocksElements.pcx"     },
+  { "bd_butterfly.right.EDITOR.xpos",          "8"                     },
+  { "bd_butterfly.right.EDITOR.ypos",          "12"                    },
   { "bd_butterfly.up",                         "RocksElements.pcx"     },
-  { "bd_butterfly.up.xpos",                    "9"                     },
+  { "bd_butterfly.up.xpos",                    "4"                     },
   { "bd_butterfly.up.ypos",                    "12"                    },
-  { "bd_butterfly.up.frames",                  "1"                     },
+  { "bd_butterfly.up.frames",                  "2"                     },
+  { "bd_butterfly.up.anim_mode",               "pingpong"              },
+  { "bd_butterfly.up.delay",                   "4"                     },
+  { "bd_butterfly.up.global_sync",             "true"                  },
+  { "bd_butterfly.up.EDITOR",                  "RocksElements.pcx"     },
+  { "bd_butterfly.up.EDITOR.xpos",             "9"                     },
+  { "bd_butterfly.up.EDITOR.ypos",             "12"                    },
   { "bd_butterfly.left",                       "RocksElements.pcx"     },
-  { "bd_butterfly.left.xpos",                  "10"                    },
+  { "bd_butterfly.left.xpos",                  "4"                     },
   { "bd_butterfly.left.ypos",                  "12"                    },
-  { "bd_butterfly.left.frames",                        "1"                     },
+  { "bd_butterfly.left.frames",                        "2"                     },
+  { "bd_butterfly.left.anim_mode",             "pingpong"              },
+  { "bd_butterfly.left.delay",                 "4"                     },
+  { "bd_butterfly.left.global_sync",           "true"                  },
+  { "bd_butterfly.left.EDITOR",                        "RocksElements.pcx"     },
+  { "bd_butterfly.left.EDITOR.xpos",           "10"                    },
+  { "bd_butterfly.left.EDITOR.ypos",           "12"                    },
   { "bd_butterfly.down",                       "RocksElements.pcx"     },
-  { "bd_butterfly.down.xpos",                  "11"                    },
+  { "bd_butterfly.down.xpos",                  "4"                     },
   { "bd_butterfly.down.ypos",                  "12"                    },
-  { "bd_butterfly.down.frames",                        "1"                     },
-  { "bd_butterfly.moving",                     "RocksElements.pcx"     },
-  { "bd_butterfly.moving.xpos",                        "4"                     },
-  { "bd_butterfly.moving.ypos",                        "12"                    },
-  { "bd_butterfly.moving.frames",              "2"                     },
-  { "bd_butterfly.moving.anim_mode",           "pingpong"              },
-  { "bd_butterfly.moving.delay",               "4"                     },
+  { "bd_butterfly.down.frames",                        "2"                     },
+  { "bd_butterfly.down.anim_mode",             "pingpong"              },
+  { "bd_butterfly.down.delay",                 "4"                     },
+  { "bd_butterfly.down.global_sync",           "true"                  },
+  { "bd_butterfly.down.EDITOR",                        "RocksElements.pcx"     },
+  { "bd_butterfly.down.EDITOR.xpos",           "11"                    },
+  { "bd_butterfly.down.EDITOR.ypos",           "12"                    },
 
   { "bd_firefly",                              "RocksElements.pcx"     },
   { "bd_firefly.xpos",                         "6"                     },
@@ -184,44 +226,61 @@ struct ConfigInfo image_config[] =
   { "bd_firefly.frames",                       "2"                     },
   { "bd_firefly.anim_mode",                    "pingpong"              },
   { "bd_firefly.delay",                                "4"                     },
+  { "bd_firefly.global_sync",                  "true"                  },
   { "bd_firefly.right",                                "RocksElements.pcx"     },
-  { "bd_firefly.right.xpos",                   "12"                    },
+  { "bd_firefly.right.xpos",                   "6"                     },
   { "bd_firefly.right.ypos",                   "12"                    },
-  { "bd_firefly.right.frames",                 "1"                     },
+  { "bd_firefly.right.frames",                 "2"                     },
+  { "bd_firefly.right.anim_mode",              "pingpong"              },
+  { "bd_firefly.right.delay",                  "4"                     },
+  { "bd_firefly.right.global_sync",            "true"                  },
+  { "bd_firefly.right.EDITOR",                 "RocksElements.pcx"     },
+  { "bd_firefly.right.EDITOR.xpos",            "12"                    },
+  { "bd_firefly.right.EDITOR.ypos",            "12"                    },
   { "bd_firefly.up",                           "RocksElements.pcx"     },
-  { "bd_firefly.up.xpos",                      "13"                    },
+  { "bd_firefly.up.xpos",                      "6"                     },
   { "bd_firefly.up.ypos",                      "12"                    },
-  { "bd_firefly.up.frames",                    "1"                     },
+  { "bd_firefly.up.frames",                    "2"                     },
+  { "bd_firefly.up.anim_mode",                 "pingpong"              },
+  { "bd_firefly.up.delay",                     "4"                     },
+  { "bd_firefly.up.global_sync",               "true"                  },
+  { "bd_firefly.up.EDITOR",                    "RocksElements.pcx"     },
+  { "bd_firefly.up.EDITOR.xpos",               "13"                    },
+  { "bd_firefly.up.EDITOR.ypos",               "12"                    },
   { "bd_firefly.left",                         "RocksElements.pcx"     },
-  { "bd_firefly.left.xpos",                    "14"                    },
+  { "bd_firefly.left.xpos",                    "6"                     },
   { "bd_firefly.left.ypos",                    "12"                    },
-  { "bd_firefly.left.frames",                  "1"                     },
+  { "bd_firefly.left.frames",                  "2"                     },
+  { "bd_firefly.left.anim_mode",               "pingpong"              },
+  { "bd_firefly.left.delay",                   "4"                     },
+  { "bd_firefly.left.global_sync",             "true"                  },
+  { "bd_firefly.left.EDITOR",                  "RocksElements.pcx"     },
+  { "bd_firefly.left.EDITOR.xpos",             "14"                    },
+  { "bd_firefly.left.EDITOR.ypos",             "12"                    },
   { "bd_firefly.down",                         "RocksElements.pcx"     },
-  { "bd_firefly.down.xpos",                    "15"                    },
+  { "bd_firefly.down.xpos",                    "6"                     },
   { "bd_firefly.down.ypos",                    "12"                    },
-  { "bd_firefly.down.frames",                  "1"                     },
-  { "bd_firefly.moving",                       "RocksElements.pcx"     },
-  { "bd_firefly.moving.xpos",                  "6"                     },
-  { "bd_firefly.moving.ypos",                  "12"                    },
-  { "bd_firefly.moving.frames",                        "2"                     },
-  { "bd_firefly.moving.anim_mode",             "pingpong"              },
-  { "bd_firefly.moving.delay",                 "4"                     },
+  { "bd_firefly.down.frames",                  "2"                     },
+  { "bd_firefly.down.anim_mode",               "pingpong"              },
+  { "bd_firefly.down.delay",                   "4"                     },
+  { "bd_firefly.down.global_sync",             "true"                  },
+  { "bd_firefly.down.EDITOR",                  "RocksElements.pcx"     },
+  { "bd_firefly.down.EDITOR.xpos",             "15"                    },
+  { "bd_firefly.down.EDITOR.ypos",             "12"                    },
 
   /* images for Supaplex style elements and actions */
 
-  { "sp_empty_space",                          "RocksSP.pcx"           },
-  { "sp_empty_space.xpos",                     "0"                     },
-  { "sp_empty_space.ypos",                     "0"                     },
-  { "sp_empty_space.frames",                   "1"                     },
+  { "[sp_default].exploding",                  "RocksSP.pcx"           },
+  { "[sp_default].exploding.xpos",             "8"                     },
+  { "[sp_default].exploding.ypos",             "3"                     },
+  { "[sp_default].exploding.frames",           "8"                     },
+  { "[sp_default].exploding.delay",            "3"                     },
+  { "[sp_default].exploding.anim_mode",                "linear"                },
 
   { "sp_zonk",                                 "RocksSP.pcx"           },
   { "sp_zonk.xpos",                            "1"                     },
   { "sp_zonk.ypos",                            "0"                     },
   { "sp_zonk.frames",                          "1"                     },
-  { "sp_zonk.falling",                         "RocksSP.pcx"           },
-  { "sp_zonk.falling.xpos",                    "1"                     },
-  { "sp_zonk.falling.ypos",                    "0"                     },
-  { "sp_zonk.falling.frames",                  "1"                     },
   { "sp_zonk.moving.left",                     "RocksSP.pcx"           },
   { "sp_zonk.moving.left.xpos",                        "0"                     },
   { "sp_zonk.moving.left.ypos",                        "6"                     },
@@ -234,6 +293,18 @@ struct ConfigInfo image_config[] =
   { "sp_zonk.moving.right.frames",             "4"                     },
   { "sp_zonk.moving.right.start_frame",                "1"                     },
   { "sp_zonk.moving.right.delay",              "2"                     },
+  { "sp_zonk.pushing.left",                    "RocksSP.pcx"           },
+  { "sp_zonk.pushing.left.xpos",               "0"                     },
+  { "sp_zonk.pushing.left.ypos",               "6"                     },
+  { "sp_zonk.pushing.left.frames",             "4"                     },
+  { "sp_zonk.pushing.left.delay",              "2"                     },
+  { "sp_zonk.pushing.left.anim_mode",          "reverse"               },
+  { "sp_zonk.pushing.right",                   "RocksSP.pcx"           },
+  { "sp_zonk.pushing.right.xpos",              "0"                     },
+  { "sp_zonk.pushing.right.ypos",              "6"                     },
+  { "sp_zonk.pushing.right.frames",            "4"                     },
+  { "sp_zonk.pushing.right.start_frame",       "1"                     },
+  { "sp_zonk.pushing.right.delay",             "2"                     },
 
   { "sp_base",                                 "RocksSP.pcx"           },
   { "sp_base.xpos",                            "2"                     },
@@ -268,6 +339,18 @@ struct ConfigInfo image_config[] =
   { "sp_murphy.digging.right.frames",          "3"                     },
   { "sp_murphy.digging.right.anim_mode",       "pingpong"              },
   { "sp_murphy.digging.right.delay",           "2"                     },
+  { "sp_murphy.collecting.left",               "RocksSP.pcx"           },
+  { "sp_murphy.collecting.left.xpos",          "8"                     },
+  { "sp_murphy.collecting.left.ypos",          "0"                     },
+  { "sp_murphy.collecting.left.frames",                "3"                     },
+  { "sp_murphy.collecting.left.anim_mode",     "pingpong"              },
+  { "sp_murphy.collecting.left.delay",         "2"                     },
+  { "sp_murphy.collecting.right",              "RocksSP.pcx"           },
+  { "sp_murphy.collecting.right.xpos",         "11"                    },
+  { "sp_murphy.collecting.right.ypos",         "0"                     },
+  { "sp_murphy.collecting.right.frames",       "3"                     },
+  { "sp_murphy.collecting.right.anim_mode",    "pingpong"              },
+  { "sp_murphy.collecting.right.delay",                "2"                     },
   { "sp_murphy.pushing.left",                  "RocksSP.pcx"           },
   { "sp_murphy.pushing.left.xpos",             "11"                    },
   { "sp_murphy.pushing.left.ypos",             "1"                     },
@@ -305,10 +388,6 @@ struct ConfigInfo image_config[] =
   { "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"                     },
-  { "sp_infotron.falling.frames",              "1"                     },
 
   { "sp_chip_single",                          "RocksSP.pcx"           },
   { "sp_chip_single.xpos",                     "5"                     },
@@ -322,66 +401,62 @@ struct ConfigInfo image_config[] =
   { "sp_chip_right.xpos",                      "3"                     },
   { "sp_chip_right.ypos",                      "3"                     },
   { "sp_chip_right.frames",                    "1"                     },
-  { "sp_chip_upper",                           "RocksSP.pcx"           },
-  { "sp_chip_upper.xpos",                      "6"                     },
-  { "sp_chip_upper.ypos",                      "4"                     },
-  { "sp_chip_upper.frames",                    "1"                     },
-  { "sp_chip_lower",                           "RocksSP.pcx"           },
-  { "sp_chip_lower.xpos",                      "7"                     },
-  { "sp_chip_lower.ypos",                      "4"                     },
-  { "sp_chip_lower.frames",                    "1"                     },
-
-  { "sp_hard_gray",                            "RocksSP.pcx"           },
-  { "sp_hard_gray.xpos",                       "6"                     },
-  { "sp_hard_gray.ypos",                       "0"                     },
-  { "sp_hard_gray.frames",                     "1"                     },
-  { "sp_hard_green",                           "RocksSP.pcx"           },
-  { "sp_hard_green.xpos",                      "5"                     },
-  { "sp_hard_green.ypos",                      "3"                     },
-  { "sp_hard_green.frames",                    "1"                     },
-  { "sp_hard_blue",                            "RocksSP.pcx"           },
-  { "sp_hard_blue.xpos",                       "6"                     },
-  { "sp_hard_blue.ypos",                       "3"                     },
-  { "sp_hard_blue.frames",                     "1"                     },
-  { "sp_hard_red",                             "RocksSP.pcx"           },
-  { "sp_hard_red.xpos",                                "7"                     },
-  { "sp_hard_red.ypos",                                "3"                     },
-  { "sp_hard_red.frames",                      "1"                     },
-  { "sp_hard_yellow",                          "RocksSP.pcx"           },
-  { "sp_hard_yellow.xpos",                     "0"                     },
-  { "sp_hard_yellow.ypos",                     "4"                     },
-  { "sp_hard_yellow.frames",                   "1"                     },
+  { "sp_chip_top",                             "RocksSP.pcx"           },
+  { "sp_chip_top.xpos",                                "6"                     },
+  { "sp_chip_top.ypos",                                "4"                     },
+  { "sp_chip_top.frames",                      "1"                     },
+  { "sp_chip_bottom",                          "RocksSP.pcx"           },
+  { "sp_chip_bottom.xpos",                     "7"                     },
+  { "sp_chip_bottom.ypos",                     "4"                     },
+  { "sp_chip_bottom.frames",                   "1"                     },
+
+  { "sp_hardware_gray",                                "RocksSP.pcx"           },
+  { "sp_hardware_gray.xpos",                   "6"                     },
+  { "sp_hardware_gray.ypos",                   "0"                     },
+  { "sp_hardware_gray.frames",                 "1"                     },
+  { "sp_hardware_green",                       "RocksSP.pcx"           },
+  { "sp_hardware_green.xpos",                  "5"                     },
+  { "sp_hardware_green.ypos",                  "3"                     },
+  { "sp_hardware_green.frames",                        "1"                     },
+  { "sp_hardware_blue",                                "RocksSP.pcx"           },
+  { "sp_hardware_blue.xpos",                   "6"                     },
+  { "sp_hardware_blue.ypos",                   "3"                     },
+  { "sp_hardware_blue.frames",                 "1"                     },
+  { "sp_hardware_red",                         "RocksSP.pcx"           },
+  { "sp_hardware_red.xpos",                    "7"                     },
+  { "sp_hardware_red.ypos",                    "3"                     },
+  { "sp_hardware_red.frames",                  "1"                     },
+  { "sp_hardware_yellow",                      "RocksSP.pcx"           },
+  { "sp_hardware_yellow.xpos",                 "0"                     },
+  { "sp_hardware_yellow.ypos",                 "4"                     },
+  { "sp_hardware_yellow.frames",               "1"                     },
 
   { "sp_exit_closed",                          "RocksSP.pcx"           },
   { "sp_exit_closed.xpos",                     "7"                     },
   { "sp_exit_closed.ypos",                     "0"                     },
   { "sp_exit_closed.frames",                   "1"                     },
+  { "sp_exit.opening",                         "RocksSP.pcx"           },
+  { "sp_exit.opening.xpos",                    "7"                     },
+  { "sp_exit.opening.ypos",                    "0"                     },
+  { "sp_exit.opening.frames",                  "1"                     },
   { "sp_exit_open",                            "RocksSP.pcx"           },
   { "sp_exit_open.xpos",                       "7"                     },
   { "sp_exit_open.ypos",                       "0"                     },
   { "sp_exit_open.frames",                     "1"                     },
+  { "sp_exit.closing",                         "RocksSP.pcx"           },
+  { "sp_exit.closing.xpos",                    "7"                     },
+  { "sp_exit.closing.ypos",                    "0"                     },
+  { "sp_exit.closing.frames",                  "1"                     },
 
   { "sp_disk_orange",                          "RocksSP.pcx"           },
   { "sp_disk_orange.xpos",                     "0"                     },
   { "sp_disk_orange.ypos",                     "1"                     },
   { "sp_disk_orange.frames",                   "1"                     },
-  { "sp_disk_orange.falling",                  "RocksSP.pcx"           },
-  { "sp_disk_orange.falling.xpos",             "0"                     },
-  { "sp_disk_orange.falling.ypos",             "1"                     },
-  { "sp_disk_orange.falling.frames",           "1"                     },
-  { "sp_disk_orange.pushing",                  "RocksSP.pcx"           },
-  { "sp_disk_orange.pushing.xpos",             "0"                     },
-  { "sp_disk_orange.pushing.ypos",             "1"                     },
-  { "sp_disk_orange.pushing.frames",           "1"                     },
 
   { "sp_disk_yellow",                          "RocksSP.pcx"           },
   { "sp_disk_yellow.xpos",                     "2"                     },
   { "sp_disk_yellow.ypos",                     "2"                     },
   { "sp_disk_yellow.frames",                   "1"                     },
-  { "sp_disk_yellow.pushing",                  "RocksSP.pcx"           },
-  { "sp_disk_yellow.pushing.xpos",             "2"                     },
-  { "sp_disk_yellow.pushing.ypos",             "2"                     },
-  { "sp_disk_yellow.pushing.frames",           "1"                     },
 
   { "sp_disk_red",                             "RocksSP.pcx"           },
   { "sp_disk_red.xpos",                                "4"                     },
@@ -396,50 +471,118 @@ struct ConfigInfo image_config[] =
   { "sp_disk_red.active.ypos",                 "2"                     },
   { "sp_disk_red.active.frames",               "1"                     },
 
-  { "sp_port1_right",                          "RocksSP.pcx"           },
-  { "sp_port1_right.xpos",                     "1"                     },
-  { "sp_port1_right.ypos",                     "1"                     },
-  { "sp_port1_right.frames",                   "1"                     },
-  { "sp_port1_down",                           "RocksSP.pcx"           },
-  { "sp_port1_down.xpos",                      "2"                     },
-  { "sp_port1_down.ypos",                      "1"                     },
-  { "sp_port1_down.frames",                    "1"                     },
-  { "sp_port1_left",                           "RocksSP.pcx"           },
-  { "sp_port1_left.xpos",                      "3"                     },
-  { "sp_port1_left.ypos",                      "1"                     },
-  { "sp_port1_left.frames",                    "1"                     },
-  { "sp_port1_up",                             "RocksSP.pcx"           },
-  { "sp_port1_up.xpos",                                "4"                     },
-  { "sp_port1_up.ypos",                                "1"                     },
-  { "sp_port1_up.frames",                      "1"                     },
-  { "sp_port2_right",                          "RocksSP.pcx"           },
-  { "sp_port2_right.xpos",                     "5"                     },
-  { "sp_port2_right.ypos",                     "1"                     },
-  { "sp_port2_right.frames",                   "1"                     },
-  { "sp_port2_down",                           "RocksSP.pcx"           },
-  { "sp_port2_down.xpos",                      "6"                     },
-  { "sp_port2_down.ypos",                      "1"                     },
-  { "sp_port2_down.frames",                    "1"                     },
-  { "sp_port2_left",                           "RocksSP.pcx"           },
-  { "sp_port2_left.xpos",                      "7"                     },
-  { "sp_port2_left.ypos",                      "1"                     },
-  { "sp_port2_left.frames",                    "1"                     },
-  { "sp_port2_up",                             "RocksSP.pcx"           },
-  { "sp_port2_up.xpos",                                "0"                     },
-  { "sp_port2_up.ypos",                                "2"                     },
-  { "sp_port2_up.frames",                      "1"                     },
-  { "sp_port_x",                               "RocksSP.pcx"           },
-  { "sp_port_x.xpos",                          "6"                     },
-  { "sp_port_x.ypos",                          "2"                     },
-  { "sp_port_x.frames",                                "1"                     },
-  { "sp_port_y",                               "RocksSP.pcx"           },
-  { "sp_port_y.xpos",                          "5"                     },
-  { "sp_port_y.ypos",                          "2"                     },
-  { "sp_port_y.frames",                                "1"                     },
-  { "sp_port_xy",                              "RocksSP.pcx"           },
-  { "sp_port_xy.xpos",                         "7"                     },
-  { "sp_port_xy.ypos",                         "2"                     },
-  { "sp_port_xy.frames",                       "1"                     },
+  { "sp_port_right",                           "RocksSP.pcx"           },
+  { "sp_port_right.xpos",                      "1"                     },
+  { "sp_port_right.ypos",                      "1"                     },
+  { "sp_port_right.frames",                    "1"                     },
+  { "sp_port_down",                            "RocksSP.pcx"           },
+  { "sp_port_down.xpos",                       "2"                     },
+  { "sp_port_down.ypos",                       "1"                     },
+  { "sp_port_down.frames",                     "1"                     },
+  { "sp_port_left",                            "RocksSP.pcx"           },
+  { "sp_port_left.xpos",                       "3"                     },
+  { "sp_port_left.ypos",                       "1"                     },
+  { "sp_port_left.frames",                     "1"                     },
+  { "sp_port_up",                              "RocksSP.pcx"           },
+  { "sp_port_up.xpos",                         "4"                     },
+  { "sp_port_up.ypos",                         "1"                     },
+  { "sp_port_up.frames",                       "1"                     },
+  { "sp_port_horizontal",                      "RocksSP.pcx"           },
+  { "sp_port_horizontal.xpos",                 "6"                     },
+  { "sp_port_horizontal.ypos",                 "2"                     },
+  { "sp_port_horizontal.frames",               "1"                     },
+  { "sp_port_vertical",                                "RocksSP.pcx"           },
+  { "sp_port_vertical.xpos",                   "5"                     },
+  { "sp_port_vertical.ypos",                   "2"                     },
+  { "sp_port_vertical.frames",                 "1"                     },
+  { "sp_port_any",                             "RocksSP.pcx"           },
+  { "sp_port_any.xpos",                                "7"                     },
+  { "sp_port_any.ypos",                                "2"                     },
+  { "sp_port_any.frames",                      "1"                     },
+  { "sp_gravity_port_right",                   "RocksSP.pcx"           },
+  { "sp_gravity_port_right.xpos",              "1"                     },
+  { "sp_gravity_port_right.ypos",              "1"                     },
+  { "sp_gravity_port_right.frames",            "1"                     },
+  { "sp_gravity_port_right.EDITOR",            "RocksSP.pcx"           },
+  { "sp_gravity_port_right.EDITOR.xpos",       "5"                     },
+  { "sp_gravity_port_right.EDITOR.ypos",       "1"                     },
+  { "sp_gravity_port_down",                    "RocksSP.pcx"           },
+  { "sp_gravity_port_down.xpos",               "2"                     },
+  { "sp_gravity_port_down.ypos",               "1"                     },
+  { "sp_gravity_port_down.frames",             "1"                     },
+  { "sp_gravity_port_down.EDITOR",             "RocksSP.pcx"           },
+  { "sp_gravity_port_down.EDITOR.xpos",                "6"                     },
+  { "sp_gravity_port_down.EDITOR.ypos",                "1"                     },
+  { "sp_gravity_port_left",                    "RocksSP.pcx"           },
+  { "sp_gravity_port_left.xpos",               "3"                     },
+  { "sp_gravity_port_left.ypos",               "1"                     },
+  { "sp_gravity_port_left.frames",             "1"                     },
+  { "sp_gravity_port_left.EDITOR",             "RocksSP.pcx"           },
+  { "sp_gravity_port_left.EDITOR.xpos",                "7"                     },
+  { "sp_gravity_port_left.EDITOR.ypos",                "1"                     },
+  { "sp_gravity_port_up",                      "RocksSP.pcx"           },
+  { "sp_gravity_port_up.xpos",                 "4"                     },
+  { "sp_gravity_port_up.ypos",                 "1"                     },
+  { "sp_gravity_port_up.frames",               "1"                     },
+  { "sp_gravity_port_up.EDITOR",               "RocksSP.pcx"           },
+  { "sp_gravity_port_up.EDITOR.xpos",          "0"                     },
+  { "sp_gravity_port_up.EDITOR.ypos",          "2"                     },
+  { "sp_gravity_on_port_right",                        "RocksSP.pcx"           },
+  { "sp_gravity_on_port_right.xpos",           "1"                     },
+  { "sp_gravity_on_port_right.ypos",           "1"                     },
+  { "sp_gravity_on_port_right.frames",         "1"                     },
+  { "sp_gravity_on_port_right.EDITOR",         "RocksSP.pcx"           },
+  { "sp_gravity_on_port_right.EDITOR.xpos",    "5"                     },
+  { "sp_gravity_on_port_right.EDITOR.ypos",    "1"                     },
+  { "sp_gravity_on_port_down",                 "RocksSP.pcx"           },
+  { "sp_gravity_on_port_down.xpos",            "2"                     },
+  { "sp_gravity_on_port_down.ypos",            "1"                     },
+  { "sp_gravity_on_port_down.frames",          "1"                     },
+  { "sp_gravity_on_port_down.EDITOR",          "RocksSP.pcx"           },
+  { "sp_gravity_on_port_down.EDITOR.xpos",     "6"                     },
+  { "sp_gravity_on_port_down.EDITOR.ypos",     "1"                     },
+  { "sp_gravity_on_port_left",                 "RocksSP.pcx"           },
+  { "sp_gravity_on_port_left.xpos",            "3"                     },
+  { "sp_gravity_on_port_left.ypos",            "1"                     },
+  { "sp_gravity_on_port_left.frames",          "1"                     },
+  { "sp_gravity_on_port_left.EDITOR",          "RocksSP.pcx"           },
+  { "sp_gravity_on_port_left.EDITOR.xpos",     "7"                     },
+  { "sp_gravity_on_port_left.EDITOR.ypos",     "1"                     },
+  { "sp_gravity_on_port_up",                   "RocksSP.pcx"           },
+  { "sp_gravity_on_port_up.xpos",              "4"                     },
+  { "sp_gravity_on_port_up.ypos",              "1"                     },
+  { "sp_gravity_on_port_up.frames",            "1"                     },
+  { "sp_gravity_on_port_up.EDITOR",            "RocksSP.pcx"           },
+  { "sp_gravity_on_port_up.EDITOR.xpos",       "0"                     },
+  { "sp_gravity_on_port_up.EDITOR.ypos",       "2"                     },
+  { "sp_gravity_off_port_right",               "RocksSP.pcx"           },
+  { "sp_gravity_off_port_right.xpos",          "1"                     },
+  { "sp_gravity_off_port_right.ypos",          "1"                     },
+  { "sp_gravity_off_port_right.frames",                "1"                     },
+  { "sp_gravity_off_port_right.EDITOR",                "RocksSP.pcx"           },
+  { "sp_gravity_off_port_right.EDITOR.xpos",   "5"                     },
+  { "sp_gravity_off_port_right.EDITOR.ypos",   "1"                     },
+  { "sp_gravity_off_port_down",                        "RocksSP.pcx"           },
+  { "sp_gravity_off_port_down.xpos",           "2"                     },
+  { "sp_gravity_off_port_down.ypos",           "1"                     },
+  { "sp_gravity_off_port_down.frames",         "1"                     },
+  { "sp_gravity_off_port_down.EDITOR",         "RocksSP.pcx"           },
+  { "sp_gravity_off_port_down.EDITOR.xpos",    "6"                     },
+  { "sp_gravity_off_port_down.EDITOR.ypos",    "1"                     },
+  { "sp_gravity_off_port_left",                        "RocksSP.pcx"           },
+  { "sp_gravity_off_port_left.xpos",           "3"                     },
+  { "sp_gravity_off_port_left.ypos",           "1"                     },
+  { "sp_gravity_off_port_left.frames",         "1"                     },
+  { "sp_gravity_off_port_left.EDITOR",         "RocksSP.pcx"           },
+  { "sp_gravity_off_port_left.EDITOR.xpos",    "7"                     },
+  { "sp_gravity_off_port_left.EDITOR.ypos",    "1"                     },
+  { "sp_gravity_off_port_up",                  "RocksSP.pcx"           },
+  { "sp_gravity_off_port_up.xpos",             "4"                     },
+  { "sp_gravity_off_port_up.ypos",             "1"                     },
+  { "sp_gravity_off_port_up.frames",           "1"                     },
+  { "sp_gravity_off_port_up.EDITOR",           "RocksSP.pcx"           },
+  { "sp_gravity_off_port_up.EDITOR.xpos",      "0"                     },
+  { "sp_gravity_off_port_up.EDITOR.ypos",      "2"                     },
 
   { "sp_sniksnak",                             "RocksSP.pcx"           },
   { "sp_sniksnak.xpos",                                "1"                     },
@@ -464,16 +607,79 @@ struct ConfigInfo image_config[] =
   { "sp_sniksnak.down.xpos",                   "12"                    },
   { "sp_sniksnak.down.ypos",                   "9"                     },
   { "sp_sniksnak.down.frames",                 "4"                     },
-  { "sp_sniksnak.down.anim_mode",              "pingpong2"                     },
+  { "sp_sniksnak.down.anim_mode",              "pingpong2"             },
+  { "sp_sniksnak.turning_from_left.up",                "RocksSP.pcx"           },
+  { "sp_sniksnak.turning_from_left.up.xpos",   "12"                    },
+  { "sp_sniksnak.turning_from_left.up.ypos",   "6"                     },
+  { "sp_sniksnak.turning_from_left.up.frames", "2"                     },
+  { "sp_sniksnak.turning_from_left.up.delay",  "4"                     },
+  { "sp_sniksnak.turning_from_left.up.offset", "1408"                  },
+  { "sp_sniksnak.turning_from_left.up.anim_mode","linear"              },
+  { "sp_sniksnak.turning_from_left.down",      "RocksSP.pcx"           },
+  { "sp_sniksnak.turning_from_left.down.xpos", "13"                    },
+  { "sp_sniksnak.turning_from_left.down.ypos", "6"                     },
+  { "sp_sniksnak.turning_from_left.down.frames","2"                    },
+  { "sp_sniksnak.turning_from_left.down.delay",        "4"                     },
+  { "sp_sniksnak.turning_from_left.down.offset","1504"                 },
+  { "sp_sniksnak.turning_from_left.down.anim_mode","linear"            },
+  { "sp_sniksnak.turning_from_right.up",       "RocksSP.pcx"           },
+  { "sp_sniksnak.turning_from_right.up.xpos",  "15"                    },
+  { "sp_sniksnak.turning_from_right.up.ypos",  "6"                     },
+  { "sp_sniksnak.turning_from_right.up.frames",        "2"                     },
+  { "sp_sniksnak.turning_from_right.up.delay", "4"                     },
+  { "sp_sniksnak.turning_from_right.up.offset",        "1312"                  },
+  { "sp_sniksnak.turning_from_right.up.anim_mode","linear"             },
+  { "sp_sniksnak.turning_from_right.down",     "RocksSP.pcx"           },
+  { "sp_sniksnak.turning_from_right.down.xpos",        "14"                    },
+  { "sp_sniksnak.turning_from_right.down.ypos",        "6"                     },
+  { "sp_sniksnak.turning_from_right.down.frames","2"                   },
+  { "sp_sniksnak.turning_from_right.down.delay","4"                    },
+  { "sp_sniksnak.turning_from_right.down.offset","1472"                        },
+  { "sp_sniksnak.turning_from_right.down.anim_mode","linear"           },
+  { "sp_sniksnak.turning_from_up.left",                "RocksSP.pcx"           },
+  { "sp_sniksnak.turning_from_up.left.xpos",   "12"                    },
+  { "sp_sniksnak.turning_from_up.left.ypos",   "6"                     },
+  { "sp_sniksnak.turning_from_up.left.frames", "2"                     },
+  { "sp_sniksnak.turning_from_up.left.delay",  "4"                     },
+  { "sp_sniksnak.turning_from_up.left.offset", "896"                   },
+  { "sp_sniksnak.turning_from_up.left.anim_mode","linear"              },
+  { "sp_sniksnak.turning_from_up.right",       "RocksSP.pcx"           },
+  { "sp_sniksnak.turning_from_up.right.xpos",  "15"                    },
+  { "sp_sniksnak.turning_from_up.right.ypos",  "6"                     },
+  { "sp_sniksnak.turning_from_up.right.frames",        "2"                     },
+  { "sp_sniksnak.turning_from_up.right.delay", "4"                     },
+  { "sp_sniksnak.turning_from_up.right.offset",        "928"                   },
+  { "sp_sniksnak.turning_from_up.right.anim_mode","linear"             },
+  { "sp_sniksnak.turning_from_down.left",      "RocksSP.pcx"           },
+  { "sp_sniksnak.turning_from_down.left.xpos", "13"                    },
+  { "sp_sniksnak.turning_from_down.left.ypos", "6"                     },
+  { "sp_sniksnak.turning_from_down.left.frames","2"                    },
+  { "sp_sniksnak.turning_from_down.left.delay",        "4"                     },
+  { "sp_sniksnak.turning_from_down.left.offset","864"                  },
+  { "sp_sniksnak.turning_from_down.left.anim_mode","linear"            },
+  { "sp_sniksnak.turning_from_down.right",     "RocksSP.pcx"           },
+  { "sp_sniksnak.turning_from_down.right.xpos",        "14"                    },
+  { "sp_sniksnak.turning_from_down.right.ypos",        "6"                     },
+  { "sp_sniksnak.turning_from_down.right.frames","2"                   },
+  { "sp_sniksnak.turning_from_down.right.delay","4"                    },
+  { "sp_sniksnak.turning_from_down.right.offset","960"                 },
+  { "sp_sniksnak.turning_from_down.right.anim_mode","linear"           },
 
   { "sp_electron",                             "RocksSP.pcx"           },
   { "sp_electron.xpos",                                "8"                     },
   { "sp_electron.ypos",                                "10"                    },
   { "sp_electron.frames",                      "8"                     },
-  { "sp_electron.delay",                       "2"                     },
+  { "sp_electron.delay",                       "4"                     },
+  { "sp_electron.global_sync",                 "true"                  },
   { "sp_electron.EDITOR",                      "RocksSP.pcx"           },
   { "sp_electron.EDITOR.xpos",                 "10"                    },
   { "sp_electron.EDITOR.ypos",                 "11"                    },
+  { "sp_electron.exploding",                   "RocksSP.pcx"           },
+  { "sp_electron.exploding.xpos",              "8"                     },
+  { "sp_electron.exploding.ypos",              "4"                     },
+  { "sp_electron.exploding.frames",            "8"                     },
+  { "sp_electron.exploding.delay",             "3"                     },
+  { "sp_electron.exploding.anim_mode",         "linear"                },
 
   { "sp_terminal",                             "RocksSP.pcx"           },
   { "sp_terminal.xpos",                                "0"                     },
@@ -493,6 +699,9 @@ struct ConfigInfo image_config[] =
   { "sp_buggy_base.xpos",                      "1"                     },
   { "sp_buggy_base.ypos",                      "3"                     },
   { "sp_buggy_base.frames",                    "1"                     },
+  { "sp_buggy_base.EDITOR",                    "RocksSP.pcx"           },
+  { "sp_buggy_base.EDITOR.xpos",               "9"                     },
+  { "sp_buggy_base.EDITOR.ypos",               "6"                     },
   { "sp_buggy_base.activating",                        "RocksSP.pcx"           },
   { "sp_buggy_base.activating.xpos",           "15"                    },
   { "sp_buggy_base.activating.ypos",           "2"                     },
@@ -503,43 +712,30 @@ struct ConfigInfo image_config[] =
   { "sp_buggy_base.active.frames",             "4"                     },
   { "sp_buggy_base.active.anim_mode",          "random"                },
 
-  { "sp_hard_base1",                           "RocksSP.pcx"           },
-  { "sp_hard_base1.xpos",                      "4"                     },
-  { "sp_hard_base1.ypos",                      "3"                     },
-  { "sp_hard_base1.frames",                    "1"                     },
-  { "sp_hard_base2",                           "RocksSP.pcx"           },
-  { "sp_hard_base2.xpos",                      "1"                     },
-  { "sp_hard_base2.ypos",                      "4"                     },
-  { "sp_hard_base2.frames",                    "1"                     },
-  { "sp_hard_base3",                           "RocksSP.pcx"           },
-  { "sp_hard_base3.xpos",                      "2"                     },
-  { "sp_hard_base3.ypos",                      "4"                     },
-  { "sp_hard_base3.frames",                    "1"                     },
-  { "sp_hard_base4",                           "RocksSP.pcx"           },
-  { "sp_hard_base4.xpos",                      "3"                     },
-  { "sp_hard_base4.ypos",                      "4"                     },
-  { "sp_hard_base4.frames",                    "1"                     },
-  { "sp_hard_base5",                           "RocksSP.pcx"           },
-  { "sp_hard_base5.xpos",                      "4"                     },
-  { "sp_hard_base5.ypos",                      "4"                     },
-  { "sp_hard_base5.frames",                    "1"                     },
-  { "sp_hard_base6",                           "RocksSP.pcx"           },
-  { "sp_hard_base6.xpos",                      "5"                     },
-  { "sp_hard_base6.ypos",                      "4"                     },
-  { "sp_hard_base6.frames",                    "1"                     },
-
-  { "sp_explosion",                            "RocksSP.pcx"           },
-  { "sp_explosion.xpos",                       "8"                     },
-  { "sp_explosion.ypos",                       "3"                     },
-  { "sp_explosion.frames",                     "8"                     },
-  { "sp_explosion.delay",                      "3"                     },
-  { "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.anim_mode",                  "linear"                },
+  { "sp_hardware_base_1",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_1.xpos",                 "4"                     },
+  { "sp_hardware_base_1.ypos",                 "3"                     },
+  { "sp_hardware_base_1.frames",               "1"                     },
+  { "sp_hardware_base_2",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_2.xpos",                 "1"                     },
+  { "sp_hardware_base_2.ypos",                 "4"                     },
+  { "sp_hardware_base_2.frames",               "1"                     },
+  { "sp_hardware_base_3",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_3.xpos",                 "2"                     },
+  { "sp_hardware_base_3.ypos",                 "4"                     },
+  { "sp_hardware_base_3.frames",               "1"                     },
+  { "sp_hardware_base_4",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_4.xpos",                 "3"                     },
+  { "sp_hardware_base_4.ypos",                 "4"                     },
+  { "sp_hardware_base_4.frames",               "1"                     },
+  { "sp_hardware_base_5",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_5.xpos",                 "4"                     },
+  { "sp_hardware_base_5.ypos",                 "4"                     },
+  { "sp_hardware_base_5.frames",               "1"                     },
+  { "sp_hardware_base_6",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_6.xpos",                 "5"                     },
+  { "sp_hardware_base_6.ypos",                 "4"                     },
+  { "sp_hardware_base_6.frames",               "1"                     },
 
   /* images for Sokoban style elements and actions */
 
@@ -561,6 +757,14 @@ struct ConfigInfo image_config[] =
   { "sokoban_field_full.ypos",                 "7"                     },
   { "sokoban_field_full.frames",               "1"                     },
 
+  { "sokoban_field_player",                    "RocksHeroes.pcx"       },
+  { "sokoban_field_player.xpos",               "0"                     },
+  { "sokoban_field_player.ypos",               "15"                    },
+  { "sokoban_field_player.frames",             "1"                     },
+  { "sokoban_field_player.EDITOR",             "RocksHeroes.pcx"       },
+  { "sokoban_field_player.EDITOR.xpos",                "1"                     },
+  { "sokoban_field_player.EDITOR.ypos",                "15"                    },
+
   /* images for Emerald Mine style elements and actions */
 
   { "empty_space",                             "RocksSP.pcx"           },
@@ -572,19 +776,68 @@ struct ConfigInfo image_config[] =
   { "sand.xpos",                               "0"                     },
   { "sand.ypos",                               "0"                     },
   { "sand.frames",                             "1"                     },
-  { "sand_crumbled",                           "RocksElements.pcx"     },
-  { "sand_crumbled.xpos",                      "1"                     },
-  { "sand_crumbled.ypos",                      "0"                     },
-  { "sand_crumbled.frames",                    "1"                     },
+  { "sand.CRUMBLED",                           "RocksElements.pcx"     },
+  { "sand.CRUMBLED.xpos",                      "1"                     },
+  { "sand.CRUMBLED.ypos",                      "0"                     },
+  { "sand.CRUMBLED.frames",                    "1"                     },
+  { "sand.digging.left",                       "RocksMore.pcx"         },
+  { "sand.digging.left.xpos",                  "6"                     },
+  { "sand.digging.left.ypos",                  "3"                     },
+  { "sand.digging.left.frames",                        "3"                     },
+  { "sand.digging.left.delay",                 "2"                     },
+  { "sand.digging.left.anim_mode",             "linear"                },
+  { "sand.digging.right",                      "RocksMore.pcx"         },
+  { "sand.digging.right.xpos",                 "9"                     },
+  { "sand.digging.right.ypos",                 "3"                     },
+  { "sand.digging.right.frames",               "3"                     },
+  { "sand.digging.right.delay",                        "2"                     },
+  { "sand.digging.right.anim_mode",            "linear"                },
+  { "sand.digging.up",                         "RocksMore.pcx"         },
+  { "sand.digging.up.xpos",                    "0"                     },
+  { "sand.digging.up.ypos",                    "3"                     },
+  { "sand.digging.up.frames",                  "3"                     },
+  { "sand.digging.up.delay",                   "2"                     },
+  { "sand.digging.up.anim_mode",               "linear"                },
+  { "sand.digging.down",                       "RocksMore.pcx"         },
+  { "sand.digging.down.xpos",                  "3"                     },
+  { "sand.digging.down.ypos",                  "3"                     },
+  { "sand.digging.down.frames",                        "3"                     },
+  { "sand.digging.down.delay",                 "2"                     },
+  { "sand.digging.down.anim_mode",             "linear"                },
+  { "sand.digging.left.CRUMBLED",              "RocksMore.pcx"         },
+  { "sand.digging.left.CRUMBLED.xpos",         "6"                     },
+  { "sand.digging.left.CRUMBLED.ypos",         "0"                     },
+  { "sand.digging.left.CRUMBLED.frames",       "3"                     },
+  { "sand.digging.left.CRUMBLED.delay",                "2"                     },
+  { "sand.digging.left.CRUMBLED.anim_mode",    "linear"                },
+  { "sand.digging.right.CRUMBLED",             "RocksMore.pcx"         },
+  { "sand.digging.right.CRUMBLED.xpos",                "9"                     },
+  { "sand.digging.right.CRUMBLED.ypos",                "0"                     },
+  { "sand.digging.right.CRUMBLED.frames",      "3"                     },
+  { "sand.digging.right.CRUMBLED.delay",       "2"                     },
+  { "sand.digging.right.CRUMBLED.anim_mode",   "linear"                },
+  { "sand.digging.up.CRUMBLED",                        "RocksMore.pcx"         },
+  { "sand.digging.up.CRUMBLED.xpos",           "0"                     },
+  { "sand.digging.up.CRUMBLED.ypos",           "0"                     },
+  { "sand.digging.up.CRUMBLED.frames",         "3"                     },
+  { "sand.digging.up.CRUMBLED.delay",          "2"                     },
+  { "sand.digging.up.CRUMBLED.anim_mode",      "linear"                },
+  { "sand.digging.down.CRUMBLED",              "RocksMore.pcx"         },
+  { "sand.digging.down.CRUMBLED.xpos",         "3"                     },
+  { "sand.digging.down.CRUMBLED.ypos",         "0"                     },
+  { "sand.digging.down.CRUMBLED.frames",       "3"                     },
+  { "sand.digging.down.CRUMBLED.delay",                "2"                     },
+  { "sand.digging.down.CRUMBLED.anim_mode",    "linear"                },
 
   { "wall",                                    "RocksElements.pcx"     },
   { "wall.xpos",                               "5"                     },
   { "wall.ypos",                               "0"                     },
   { "wall.frames",                             "1"                     },
-  { "wall_crumbled",                           "RocksElements.pcx"     },
-  { "wall_crumbled.xpos",                      "6"                     },
-  { "wall_crumbled.ypos",                      "0"                     },
-  { "wall_crumbled.frames",                    "1"                     },
+
+  { "wall_slippery",                           "RocksElements.pcx"     },
+  { "wall_slippery.xpos",                      "6"                     },
+  { "wall_slippery.ypos",                      "0"                     },
+  { "wall_slippery.frames",                    "1"                     },
 
   { "steelwall",                               "RocksElements.pcx"     },
   { "steelwall.xpos",                          "4"                     },
@@ -595,10 +848,6 @@ struct ConfigInfo image_config[] =
   { "rock.xpos",                               "12"                    },
   { "rock.ypos",                               "0"                     },
   { "rock.frames",                             "1"                     },
-  { "rock.falling",                            "RocksElements.pcx"     },
-  { "rock.falling.xpos",                       "12"                    },
-  { "rock.falling.ypos",                       "0"                     },
-  { "rock.falling.frames",                     "1"                     },
   { "rock.moving.left",                                "RocksElements.pcx"     },
   { "rock.moving.left.xpos",                   "12"                    },
   { "rock.moving.left.ypos",                   "0"                     },
@@ -611,6 +860,18 @@ struct ConfigInfo image_config[] =
   { "rock.moving.right.frames",                        "4"                     },
   { "rock.moving.right.start_frame",           "1"                     },
   { "rock.moving.right.delay",                 "2"                     },
+  { "rock.pushing.left",                       "RocksElements.pcx"     },
+  { "rock.pushing.left.xpos",                  "12"                    },
+  { "rock.pushing.left.ypos",                  "0"                     },
+  { "rock.pushing.left.frames",                        "4"                     },
+  { "rock.pushing.left.delay",                 "2"                     },
+  { "rock.pushing.left.anim_mode",             "reverse"               },
+  { "rock.pushing.right",                      "RocksElements.pcx"     },
+  { "rock.pushing.right.xpos",                 "12"                    },
+  { "rock.pushing.right.ypos",                 "0"                     },
+  { "rock.pushing.right.frames",               "4"                     },
+  { "rock.pushing.right.start_frame",          "1"                     },
+  { "rock.pushing.right.delay",                        "2"                     },
 
   { "emerald",                                 "RocksElements.pcx"     },
   { "emerald.xpos",                            "8"                     },
@@ -626,6 +887,12 @@ struct ConfigInfo image_config[] =
   { "emerald.falling.ypos",                    "0"                     },
   { "emerald.falling.frames",                  "2"                     },
   { "emerald.falling.delay",                   "4"                     },
+  { "emerald.collecting",                      "RocksMore.pcx"         },
+  { "emerald.collecting.xpos",                 "3"                     },
+  { "emerald.collecting.ypos",                 "2"                     },
+  { "emerald.collecting.frames",               "3"                     },
+  { "emerald.collecting.delay",                        "2"                     },
+  { "emerald.collecting.anim_mode",            "linear"                },
 
   { "diamond",                                 "RocksElements.pcx"     },
   { "diamond.xpos",                            "10"                    },
@@ -641,6 +908,12 @@ struct ConfigInfo image_config[] =
   { "diamond.falling.ypos",                    "0"                     },
   { "diamond.falling.frames",                  "2"                     },
   { "diamond.falling.delay",                   "4"                     },
+  { "diamond.collecting",                      "RocksMore.pcx"         },
+  { "diamond.collecting.xpos",                 "7"                     },
+  { "diamond.collecting.ypos",                 "2"                     },
+  { "diamond.collecting.frames",               "3"                     },
+  { "diamond.collecting.delay",                        "2"                     },
+  { "diamond.collecting.anim_mode",            "linear"                },
 
   { "bomb",                                    "RocksElements.pcx"     },
   { "bomb.xpos",                               "11"                    },
@@ -651,24 +924,12 @@ struct ConfigInfo image_config[] =
   { "nut.xpos",                                        "12"                    },
   { "nut.ypos",                                        "1"                     },
   { "nut.frames",                              "1"                     },
-  { "nut.falling",                             "RocksElements.pcx"     },
-  { "nut.falling.xpos",                                "12"                    },
-  { "nut.falling.ypos",                                "1"                     },
-  { "nut.falling.frames",                      "1"                     },
-  { "nut.moving.left",                         "RocksElements.pcx"     },
-  { "nut.moving.left.xpos",                    "12"                    },
-  { "nut.moving.left.ypos",                    "1"                     },
-  { "nut.moving.left.frames",                  "1"                     },
-  { "nut.moving.right",                                "RocksElements.pcx"     },
-  { "nut.moving.right.xpos",                   "12"                    },
-  { "nut.moving.right.ypos",                   "1"                     },
-  { "nut.moving.right.frames",                 "1"                     },
-  { "nut.cracking",                            "RocksElements.pcx"     },
-  { "nut.cracking.xpos",                       "13"                    },
-  { "nut.cracking.ypos",                       "1"                     },
-  { "nut.cracking.frames",                     "3"                     },
-  { "nut.cracking.delay",                      "2"                     },
-  { "nut.cracking.anim_mode",                  "linear"                },
+  { "nut.breaking",                            "RocksElements.pcx"     },
+  { "nut.breaking.xpos",                       "13"                    },
+  { "nut.breaking.ypos",                       "1"                     },
+  { "nut.breaking.frames",                     "3"                     },
+  { "nut.breaking.delay",                      "2"                     },
+  { "nut.breaking.anim_mode",                  "linear"                },
 
   { "dynamite",                                        "RocksElements.pcx"     },
   { "dynamite.xpos",                           "0"                     },
@@ -697,55 +958,193 @@ struct ConfigInfo image_config[] =
   { "wall_diamond.ypos",                       "8"                     },
   { "wall_diamond.frames",                     "1"                     },
 
+  { "bug",                                     "RocksElements.pcx"     },
+  { "bug.xpos",                                        "8"                     },
+  { "bug.ypos",                                        "4"                     },
+  { "bug.frames",                              "4"                     },
+  { "bug.delay",                               "8"                     },
   { "bug.right",                               "RocksElements.pcx"     },
   { "bug.right.xpos",                          "8"                     },
   { "bug.right.ypos",                          "4"                     },
-  { "bug.right.frames",                                "2"                     },
-  { "bug.right.delay",                         "4"                     },
-  { "bug.right.offset",                                "128"                   },
+  { "bug.right.frames",                                "1"                     },
   { "bug.up",                                  "RocksElements.pcx"     },
   { "bug.up.xpos",                             "9"                     },
   { "bug.up.ypos",                             "4"                     },
-  { "bug.up.frames",                           "2"                     },
-  { "bug.up.delay",                            "4"                     },
-  { "bug.up.offset",                           "128"                   },
+  { "bug.up.frames",                           "1"                     },
   { "bug.left",                                        "RocksElements.pcx"     },
   { "bug.left.xpos",                           "10"                    },
   { "bug.left.ypos",                           "4"                     },
-  { "bug.left.frames",                         "2"                     },
-  { "bug.left.delay",                          "4"                     },
-  { "bug.left.offset",                         "128"                   },
+  { "bug.left.frames",                         "1"                     },
   { "bug.down",                                        "RocksElements.pcx"     },
   { "bug.down.xpos",                           "11"                    },
   { "bug.down.ypos",                           "4"                     },
-  { "bug.down.frames",                         "2"                     },
-  { "bug.down.delay",                          "4"                     },
-  { "bug.down.offset",                         "128"                   },
-
+  { "bug.down.frames",                         "1"                     },
+  { "bug.moving.right",                                "RocksElements.pcx"     },
+  { "bug.moving.right.xpos",                   "8"                     },
+  { "bug.moving.right.ypos",                   "4"                     },
+  { "bug.moving.right.frames",                 "2"                     },
+  { "bug.moving.right.delay",                  "4"                     },
+  { "bug.moving.right.offset",                 "128"                   },
+  { "bug.moving.up",                           "RocksElements.pcx"     },
+  { "bug.moving.up.xpos",                      "9"                     },
+  { "bug.moving.up.ypos",                      "4"                     },
+  { "bug.moving.up.frames",                    "2"                     },
+  { "bug.moving.up.delay",                     "4"                     },
+  { "bug.moving.up.offset",                    "128"                   },
+  { "bug.moving.left",                         "RocksElements.pcx"     },
+  { "bug.moving.left.xpos",                    "10"                    },
+  { "bug.moving.left.ypos",                    "4"                     },
+  { "bug.moving.left.frames",                  "2"                     },
+  { "bug.moving.left.delay",                   "4"                     },
+  { "bug.moving.left.offset",                  "128"                   },
+  { "bug.moving.down",                         "RocksElements.pcx"     },
+  { "bug.moving.down.xpos",                    "11"                    },
+  { "bug.moving.down.ypos",                    "4"                     },
+  { "bug.moving.down.frames",                  "2"                     },
+  { "bug.moving.down.delay",                   "4"                     },
+  { "bug.moving.down.offset",                  "128"                   },
+  { "bug.turning_from_right.up",               "RocksMore.pcx"         },
+  { "bug.turning_from_right.up.xpos",          "0"                     },
+  { "bug.turning_from_right.up.ypos",          "6"                     },
+  { "bug.turning_from_right.up.frames",                "4"                     },
+  { "bug.turning_from_right.up.delay",         "2"                     },
+  { "bug.turning_from_right.up.anim_mode",     "linear,reverse"        },
+  { "bug.turning_from_up.left",                        "RocksMore.pcx"         },
+  { "bug.turning_from_up.left.xpos",           "12"                    },
+  { "bug.turning_from_up.left.ypos",           "6"                     },
+  { "bug.turning_from_up.left.frames",         "4"                     },
+  { "bug.turning_from_up.left.delay",          "2"                     },
+  { "bug.turning_from_up.left.anim_mode",      "linear,reverse"        },
+  { "bug.turning_from_left.down",              "RocksMore.pcx"         },
+  { "bug.turning_from_left.down.xpos",         "8"                     },
+  { "bug.turning_from_left.down.ypos",         "6"                     },
+  { "bug.turning_from_left.down.frames",       "4"                     },
+  { "bug.turning_from_left.down.delay",                "2"                     },
+  { "bug.turning_from_left.down.anim_mode",    "linear,reverse"        },
+  { "bug.turning_from_down.right",             "RocksMore.pcx"         },
+  { "bug.turning_from_down.right.xpos",                "4"                     },
+  { "bug.turning_from_down.right.ypos",                "6"                     },
+  { "bug.turning_from_down.right.frames",      "4"                     },
+  { "bug.turning_from_down.right.delay",       "2"                     },
+  { "bug.turning_from_down.right.anim_mode",   "linear,reverse"        },
+  { "bug.turning_from_right.down",             "RocksMore.pcx"         },
+  { "bug.turning_from_right.down.xpos",                "5"                     },
+  { "bug.turning_from_right.down.ypos",                "6"                     },
+  { "bug.turning_from_right.down.frames",      "4"                     },
+  { "bug.turning_from_right.down.delay",       "2"                     },
+  { "bug.turning_from_right.down.anim_mode",   "linear"                },
+  { "bug.turning_from_up.right",               "RocksMore.pcx"         },
+  { "bug.turning_from_up.right.xpos",          "1"                     },
+  { "bug.turning_from_up.right.ypos",          "6"                     },
+  { "bug.turning_from_up.right.frames",                "4"                     },
+  { "bug.turning_from_up.right.delay",         "2"                     },
+  { "bug.turning_from_up.right.anim_mode",     "linear"                },
+  { "bug.turning_from_left.up",                        "RocksMore.pcx"         },
+  { "bug.turning_from_left.up.xpos",           "13"                    },
+  { "bug.turning_from_left.up.ypos",           "6"                     },
+  { "bug.turning_from_left.up.frames",         "4"                     },
+  { "bug.turning_from_left.up.delay",          "2"                     },
+  { "bug.turning_from_left.up.anim_mode",      "linear"                },
+  { "bug.turning_from_down.left",              "RocksMore.pcx"         },
+  { "bug.turning_from_down.left.xpos",         "9"                     },
+  { "bug.turning_from_down.left.ypos",         "6"                     },
+  { "bug.turning_from_down.left.frames",       "4"                     },
+  { "bug.turning_from_down.left.delay",                "2"                     },
+  { "bug.turning_from_down.left.anim_mode",    "linear"                },
+
+  { "spaceship",                               "RocksElements.pcx"     },
+  { "spaceship.xpos",                          "8"                     },
+  { "spaceship.ypos",                          "3"                     },
+  { "spaceship.frames",                                "4"                     },
+  { "spaceship.delay",                         "8"                     },
   { "spaceship.right",                         "RocksElements.pcx"     },
   { "spaceship.right.xpos",                    "8"                     },
   { "spaceship.right.ypos",                    "3"                     },
-  { "spaceship.right.frames",                  "2"                     },
-  { "spaceship.right.delay",                   "4"                     },
-  { "spaceship.right.offset",                  "128"                   },
+  { "spaceship.right.frames",                  "1"                     },
   { "spaceship.up",                            "RocksElements.pcx"     },
   { "spaceship.up.xpos",                       "9"                     },
   { "spaceship.up.ypos",                       "3"                     },
-  { "spaceship.up.frames",                     "2"                     },
-  { "spaceship.up.delay",                      "4"                     },
-  { "spaceship.up.offset",                     "128"                   },
+  { "spaceship.up.frames",                     "1"                     },
   { "spaceship.left",                          "RocksElements.pcx"     },
   { "spaceship.left.xpos",                     "10"                    },
   { "spaceship.left.ypos",                     "3"                     },
-  { "spaceship.left.frames",                   "2"                     },
-  { "spaceship.left.delay",                    "4"                     },
-  { "spaceship.left.offset",                   "128"                   },
+  { "spaceship.left.frames",                   "1"                     },
   { "spaceship.down",                          "RocksElements.pcx"     },
   { "spaceship.down.xpos",                     "11"                    },
   { "spaceship.down.ypos",                     "3"                     },
-  { "spaceship.down.frames",                   "2"                     },
-  { "spaceship.down.delay",                    "4"                     },
-  { "spaceship.down.offset",                   "128"                   },
+  { "spaceship.down.frames",                   "1"                     },
+  { "spaceship.moving.right",                  "RocksElements.pcx"     },
+  { "spaceship.moving.right.xpos",             "8"                     },
+  { "spaceship.moving.right.ypos",             "3"                     },
+  { "spaceship.moving.right.frames",           "2"                     },
+  { "spaceship.moving.right.delay",            "4"                     },
+  { "spaceship.moving.right.offset",           "128"                   },
+  { "spaceship.moving.up",                     "RocksElements.pcx"     },
+  { "spaceship.moving.up.xpos",                        "9"                     },
+  { "spaceship.moving.up.ypos",                        "3"                     },
+  { "spaceship.moving.up.frames",              "2"                     },
+  { "spaceship.moving.up.delay",               "4"                     },
+  { "spaceship.moving.up.offset",              "128"                   },
+  { "spaceship.moving.left",                   "RocksElements.pcx"     },
+  { "spaceship.moving.left.xpos",              "10"                    },
+  { "spaceship.moving.left.ypos",              "3"                     },
+  { "spaceship.moving.left.frames",            "2"                     },
+  { "spaceship.moving.left.delay",             "4"                     },
+  { "spaceship.moving.left.offset",            "128"                   },
+  { "spaceship.moving.down",                   "RocksElements.pcx"     },
+  { "spaceship.moving.down.xpos",              "11"                    },
+  { "spaceship.moving.down.ypos",              "3"                     },
+  { "spaceship.moving.down.frames",            "2"                     },
+  { "spaceship.moving.down.delay",             "4"                     },
+  { "spaceship.moving.down.offset",            "128"                   },
+  { "spaceship.turning_from_right.up",         "RocksMore.pcx"         },
+  { "spaceship.turning_from_right.up.xpos",    "0"                     },
+  { "spaceship.turning_from_right.up.ypos",    "5"                     },
+  { "spaceship.turning_from_right.up.frames",  "4"                     },
+  { "spaceship.turning_from_right.up.delay",   "2"                     },
+  { "spaceship.turning_from_right.up.anim_mode","linear,reverse"       },
+  { "spaceship.turning_from_up.left",          "RocksMore.pcx"         },
+  { "spaceship.turning_from_up.left.xpos",     "12"                    },
+  { "spaceship.turning_from_up.left.ypos",     "5"                     },
+  { "spaceship.turning_from_up.left.frames",   "4"                     },
+  { "spaceship.turning_from_up.left.delay",    "2"                     },
+  { "spaceship.turning_from_up.left.anim_mode",        "linear,reverse"        },
+  { "spaceship.turning_from_left.down",                "RocksMore.pcx"         },
+  { "spaceship.turning_from_left.down.xpos",   "8"                     },
+  { "spaceship.turning_from_left.down.ypos",   "5"                     },
+  { "spaceship.turning_from_left.down.frames", "4"                     },
+  { "spaceship.turning_from_left.down.delay",  "2"                     },
+  { "spaceship.turning_from_left.down.anim_mode","linear,reverse"      },
+  { "spaceship.turning_from_down.right",       "RocksMore.pcx"         },
+  { "spaceship.turning_from_down.right.xpos",  "4"                     },
+  { "spaceship.turning_from_down.right.ypos",  "5"                     },
+  { "spaceship.turning_from_down.right.frames",        "4"                     },
+  { "spaceship.turning_from_down.right.delay", "2"                     },
+  { "spaceship.turning_from_down.right.anim_mode","linear,reverse"     },
+  { "spaceship.turning_from_right.down",       "RocksMore.pcx"         },
+  { "spaceship.turning_from_right.down.xpos",  "5"                     },
+  { "spaceship.turning_from_right.down.ypos",  "5"                     },
+  { "spaceship.turning_from_right.down.frames",        "4"                     },
+  { "spaceship.turning_from_right.down.delay", "2"                     },
+  { "spaceship.turning_from_right.down.anim_mode","linear"             },
+  { "spaceship.turning_from_up.right",         "RocksMore.pcx"         },
+  { "spaceship.turning_from_up.right.xpos",    "1"                     },
+  { "spaceship.turning_from_up.right.ypos",    "5"                     },
+  { "spaceship.turning_from_up.right.frames",  "4"                     },
+  { "spaceship.turning_from_up.right.delay",   "2"                     },
+  { "spaceship.turning_from_up.right.anim_mode","linear"               },
+  { "spaceship.turning_from_left.up",          "RocksMore.pcx"         },
+  { "spaceship.turning_from_left.up.xpos",     "13"                    },
+  { "spaceship.turning_from_left.up.ypos",     "5"                     },
+  { "spaceship.turning_from_left.up.frames",   "4"                     },
+  { "spaceship.turning_from_left.up.delay",    "2"                     },
+  { "spaceship.turning_from_left.up.anim_mode",        "linear"                },
+  { "spaceship.turning_from_down.left",                "RocksMore.pcx"         },
+  { "spaceship.turning_from_down.left.xpos",   "9"                     },
+  { "spaceship.turning_from_down.left.ypos",   "5"                     },
+  { "spaceship.turning_from_down.left.frames", "4"                     },
+  { "spaceship.turning_from_down.left.delay",  "2"                     },
+  { "spaceship.turning_from_down.left.anim_mode","linear"              },
 
   { "yamyam",                                  "RocksElements.pcx"     },
   { "yamyam.xpos",                             "0"                     },
@@ -787,13 +1186,13 @@ struct ConfigInfo image_config[] =
   { "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.anim_mode",            "reverse"               },
-  { "magic_wall_filling.delay",                        "4"                     },
-  { "magic_wall_filling.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.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"                     },
@@ -801,13 +1200,13 @@ struct ConfigInfo image_config[] =
   { "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.anim_mode",           "reverse"               },
-  { "magic_wall_emptying.delay",               "4"                     },
-  { "magic_wall_emptying.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.anim_mode",           "reverse"               },
+  { "magic_wall.emptying.delay",               "4"                     },
+  { "magic_wall.emptying.global_sync",         "true"                  },
   { "magic_wall_dead",                         "RocksElements.pcx"     },
   { "magic_wall_dead.xpos",                    "0"                     },
   { "magic_wall_dead.ypos",                    "8"                     },
@@ -817,10 +1216,10 @@ struct ConfigInfo image_config[] =
   { "quicksand_empty.xpos",                    "2"                     },
   { "quicksand_empty.ypos",                    "0"                     },
   { "quicksand_empty.frames",                  "1"                     },
-  { "quicksand_filling",                       "RocksElements.pcx"     },
-  { "quicksand_filling.xpos",                  "3"                     },
-  { "quicksand_filling.ypos",                  "0"                     },
-  { "quicksand_filling.frames",                        "1"                     },
+  { "quicksand.filling",                       "RocksElements.pcx"     },
+  { "quicksand.filling.xpos",                  "3"                     },
+  { "quicksand.filling.ypos",                  "0"                     },
+  { "quicksand.filling.frames",                        "1"                     },
   { "quicksand_full",                          "RocksElements.pcx"     },
   { "quicksand_full.xpos",                     "3"                     },
   { "quicksand_full.ypos",                     "0"                     },
@@ -828,67 +1227,68 @@ struct ConfigInfo image_config[] =
   { "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"                     },
-  { "quicksand_emptying.frames",               "1"                     },
-
-  { "acidpool_topleft",                                "RocksElements.pcx"     },
-  { "acidpool_topleft.xpos",                   "0"                     },
-  { "acidpool_topleft.ypos",                   "1"                     },
-  { "acidpool_topleft.frames",                 "1"                     },
-  { "acidpool_topright",                       "RocksElements.pcx"     },
-  { "acidpool_topright.xpos",                  "2"                     },
-  { "acidpool_topright.ypos",                  "1"                     },
-  { "acidpool_topright.frames",                        "1"                     },
-  { "acidpool_bottomleft",                     "RocksElements.pcx"     },
-  { "acidpool_bottomleft.xpos",                        "0"                     },
-  { "acidpool_bottomleft.ypos",                        "2"                     },
-  { "acidpool_bottomleft.frames",              "1"                     },
-  { "acidpool_bottom",                         "RocksElements.pcx"     },
-  { "acidpool_bottom.xpos",                    "1"                     },
-  { "acidpool_bottom.ypos",                    "2"                     },
-  { "acidpool_bottom.frames",                  "1"                     },
-  { "acidpool_bottomright",                    "RocksElements.pcx"     },
-  { "acidpool_bottomright.xpos",               "2"                     },
-  { "acidpool_bottomright.ypos",               "2"                     },
-  { "acidpool_bottomright.frames",             "1"                     },
+  { "quicksand.emptying",                      "RocksElements.pcx"     },
+  { "quicksand.emptying.xpos",                 "3"                     },
+  { "quicksand.emptying.ypos",                 "0"                     },
+  { "quicksand.emptying.frames",               "1"                     },
+
+  { "acid_pool_topleft",                       "RocksElements.pcx"     },
+  { "acid_pool_topleft.xpos",                  "0"                     },
+  { "acid_pool_topleft.ypos",                  "1"                     },
+  { "acid_pool_topleft.frames",                        "1"                     },
+  { "acid_pool_topright",                      "RocksElements.pcx"     },
+  { "acid_pool_topright.xpos",                 "2"                     },
+  { "acid_pool_topright.ypos",                 "1"                     },
+  { "acid_pool_topright.frames",               "1"                     },
+  { "acid_pool_bottomleft",                    "RocksElements.pcx"     },
+  { "acid_pool_bottomleft.xpos",               "0"                     },
+  { "acid_pool_bottomleft.ypos",               "2"                     },
+  { "acid_pool_bottomleft.frames",             "1"                     },
+  { "acid_pool_bottom",                                "RocksElements.pcx"     },
+  { "acid_pool_bottom.xpos",                   "1"                     },
+  { "acid_pool_bottom.ypos",                   "2"                     },
+  { "acid_pool_bottom.frames",                 "1"                     },
+  { "acid_pool_bottomright",                   "RocksElements.pcx"     },
+  { "acid_pool_bottomright.xpos",              "2"                     },
+  { "acid_pool_bottomright.ypos",              "2"                     },
+  { "acid_pool_bottomright.frames",            "1"                     },
 
   { "acid",                                    "RocksElements.pcx"     },
   { "acid.xpos",                               "12"                    },
   { "acid.ypos",                               "7"                     },
   { "acid.frames",                             "4"                     },
   { "acid.delay",                              "10"                    },
-
-  { "acid_splash.left",                                "RocksHeroes.pcx"       },
-  { "acid_splash.left.xpos",                   "8"                     },
-  { "acid_splash.left.ypos",                   "10"                    },
-  { "acid_splash.left.frames",                 "4"                     },
-  { "acid_splash.left.delay",                  "2"                     },
-  { "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.anim_mode",             "linear"                },
+  { "acid.global_sync",                                "true"                  },
+
+  { "acid_splash_left",                                "RocksHeroes.pcx"       },
+  { "acid_splash_left.xpos",                   "8"                     },
+  { "acid_splash_left.ypos",                   "10"                    },
+  { "acid_splash_left.frames",                 "4"                     },
+  { "acid_splash_left.delay",                  "2"                     },
+  { "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.anim_mode",             "linear"                },
 
   { "amoeba_drop",                             "RocksElements.pcx"     },
   { "amoeba_drop.xpos",                                "5"                     },
   { "amoeba_drop.ypos",                                "6"                     },
   { "amoeba_drop.frames",                      "1"                     },
-  { "amoeba_creating",                         "RocksElements.pcx"     },
-  { "amoeba_creating.xpos",                    "5"                     },
-  { "amoeba_creating.ypos",                    "6"                     },
-  { "amoeba_creating.frames",                  "3"                     },
-  { "amoeba_creating.delay",                   "2"                     },
-  { "amoeba_creating.anim_mode",               "linear"                },
+  { "amoeba.growing",                          "RocksElements.pcx"     },
+  { "amoeba.growing.xpos",                     "5"                     },
+  { "amoeba.growing.ypos",                     "6"                     },
+  { "amoeba.growing.frames",                   "3"                     },
+  { "amoeba.growing.delay",                    "2"                     },
+  { "amoeba.growing.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.anim_mode",              "loop,linear,reverse"   },
+  { "amoeba.shrinking.anim_mode",              "linear,reverse"        },
   { "amoeba_wet",                              "RocksElements.pcx"     },
   { "amoeba_wet.xpos",                         "8"                     },
   { "amoeba_wet.ypos",                         "6"                     },
@@ -898,12 +1298,12 @@ struct ConfigInfo image_config[] =
   { "amoeba_wet.EDITOR",                       "RocksElements.pcx"     },
   { "amoeba_wet.EDITOR.xpos",                  "4"                     },
   { "amoeba_wet.EDITOR.ypos",                  "6"                     },
-  { "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.dropping",                         "RocksElements.pcx"     },
+  { "amoeba.dropping.xpos",                    "8"                     },
+  { "amoeba.dropping.ypos",                    "6"                     },
+  { "amoeba.dropping.frames",                  "4"                     },
+  { "amoeba.dropping.delay",                   "1000000"               },
+  { "amoeba.dropping.anim_mode",               "random"                },
   { "amoeba_dry",                              "RocksElements.pcx"     },
   { "amoeba_dry.xpos",                         "8"                     },
   { "amoeba_dry.ypos",                         "6"                     },
@@ -929,67 +1329,83 @@ struct ConfigInfo image_config[] =
   { "amoeba_dead.EDITOR.xpos",                 "12"                    },
   { "amoeba_dead.EDITOR.ypos",                 "6"                     },
 
-  { "em_key1",                                 "RocksSP.pcx"           },
-  { "em_key1.xpos",                            "4"                     },
-  { "em_key1.ypos",                            "6"                     },
-  { "em_key1.frames",                          "1"                     },
-  { "em_key2",                                 "RocksSP.pcx"           },
-  { "em_key2.xpos",                            "5"                     },
-  { "em_key2.ypos",                            "6"                     },
-  { "em_key2.frames",                          "1"                     },
-  { "em_key3",                                 "RocksSP.pcx"           },
-  { "em_key3.xpos",                            "6"                     },
-  { "em_key3.ypos",                            "6"                     },
-  { "em_key3.frames",                          "1"                     },
-  { "em_key4",                                 "RocksSP.pcx"           },
-  { "em_key4.xpos",                            "7"                     },
-  { "em_key4.ypos",                            "6"                     },
-  { "em_key4.frames",                          "1"                     },
-
-  { "em_gate1",                                        "RocksSP.pcx"           },
-  { "em_gate1.xpos",                           "0"                     },
-  { "em_gate1.ypos",                           "7"                     },
-  { "em_gate1.frames",                         "1"                     },
-  { "em_gate2",                                        "RocksSP.pcx"           },
-  { "em_gate2.xpos",                           "1"                     },
-  { "em_gate2.ypos",                           "7"                     },
-  { "em_gate2.frames",                         "1"                     },
-  { "em_gate3",                                        "RocksSP.pcx"           },
-  { "em_gate3.xpos",                           "2"                     },
-  { "em_gate3.ypos",                           "7"                     },
-  { "em_gate3.frames",                         "1"                     },
-  { "em_gate4",                                        "RocksSP.pcx"           },
-  { "em_gate4.xpos",                           "3"                     },
-  { "em_gate4.ypos",                           "7"                     },
-  { "em_gate4.frames",                         "1"                     },
-  { "em_gate1_gray",                           "RocksSP.pcx"           },
-  { "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"                    },
+  { "em_key_1",                                        "RocksSP.pcx"           },
+  { "em_key_1.xpos",                           "4"                     },
+  { "em_key_1.ypos",                           "6"                     },
+  { "em_key_1.frames",                         "1"                     },
+  { "em_key_2",                                        "RocksSP.pcx"           },
+  { "em_key_2.xpos",                           "5"                     },
+  { "em_key_2.ypos",                           "6"                     },
+  { "em_key_2.frames",                         "1"                     },
+  { "em_key_3",                                        "RocksSP.pcx"           },
+  { "em_key_3.xpos",                           "6"                     },
+  { "em_key_3.ypos",                           "6"                     },
+  { "em_key_3.frames",                         "1"                     },
+  { "em_key_4",                                        "RocksSP.pcx"           },
+  { "em_key_4.xpos",                           "7"                     },
+  { "em_key_4.ypos",                           "6"                     },
+  { "em_key_4.frames",                         "1"                     },
+
+  { "em_gate_1",                               "RocksSP.pcx"           },
+  { "em_gate_1.xpos",                          "0"                     },
+  { "em_gate_1.ypos",                          "7"                     },
+  { "em_gate_1.frames",                                "1"                     },
+  { "em_gate_2",                               "RocksSP.pcx"           },
+  { "em_gate_2.xpos",                          "1"                     },
+  { "em_gate_2.ypos",                          "7"                     },
+  { "em_gate_2.frames",                                "1"                     },
+  { "em_gate_3",                               "RocksSP.pcx"           },
+  { "em_gate_3.xpos",                          "2"                     },
+  { "em_gate_3.ypos",                          "7"                     },
+  { "em_gate_3.frames",                                "1"                     },
+  { "em_gate_4",                               "RocksSP.pcx"           },
+  { "em_gate_4.xpos",                          "3"                     },
+  { "em_gate_4.ypos",                          "7"                     },
+  { "em_gate_4.frames",                                "1"                     },
+  { "em_gate_1_gray",                          "RocksSP.pcx"           },
+  { "em_gate_1_gray.xpos",                     "4"                     },
+  { "em_gate_1_gray.ypos",                     "7"                     },
+  { "em_gate_1_gray.frames",                   "1"                     },
+  { "em_gate_1_gray.EDITOR",                   "RocksSP.pcx"           },
+  { "em_gate_1_gray.EDITOR.xpos",              "12"                    },
+  { "em_gate_1_gray.EDITOR.ypos",              "11"                    },
+  { "em_gate_1_gray.active",                   "RocksSP.pcx"           },
+  { "em_gate_1_gray.active.xpos",              "0"                     },
+  { "em_gate_1_gray.active.ypos",              "7"                     },
+  { "em_gate_1_gray.active.frames",            "1"                     },
+  { "em_gate_2_gray",                          "RocksSP.pcx"           },
+  { "em_gate_2_gray.xpos",                     "5"                     },
+  { "em_gate_2_gray.ypos",                     "7"                     },
+  { "em_gate_2_gray.frames",                   "1"                     },
+  { "em_gate_2_gray.EDITOR",                   "RocksSP.pcx"           },
+  { "em_gate_2_gray.EDITOR.xpos",              "13"                    },
+  { "em_gate_2_gray.EDITOR.ypos",              "11"                    },
+  { "em_gate_2_gray.active",                   "RocksSP.pcx"           },
+  { "em_gate_2_gray.active.xpos",              "1"                     },
+  { "em_gate_2_gray.active.ypos",              "7"                     },
+  { "em_gate_2_gray.active.frames",            "1"                     },
+  { "em_gate_3_gray",                          "RocksSP.pcx"           },
+  { "em_gate_3_gray.xpos",                     "6"                     },
+  { "em_gate_3_gray.ypos",                     "7"                     },
+  { "em_gate_3_gray.frames",                   "1"                     },
+  { "em_gate_3_gray.EDITOR",                   "RocksSP.pcx"           },
+  { "em_gate_3_gray.EDITOR.xpos",              "14"                    },
+  { "em_gate_3_gray.EDITOR.ypos",              "11"                    },
+  { "em_gate_3_gray.active",                   "RocksSP.pcx"           },
+  { "em_gate_3_gray.active.xpos",              "2"                     },
+  { "em_gate_3_gray.active.ypos",              "7"                     },
+  { "em_gate_3_gray.active.frames",            "1"                     },
+  { "em_gate_4_gray",                          "RocksSP.pcx"           },
+  { "em_gate_4_gray.xpos",                     "7"                     },
+  { "em_gate_4_gray.ypos",                     "7"                     },
+  { "em_gate_4_gray.frames",                   "1"                     },
+  { "em_gate_4_gray.EDITOR",                   "RocksSP.pcx"           },
+  { "em_gate_4_gray.EDITOR.xpos",              "15"                    },
+  { "em_gate_4_gray.EDITOR.ypos",              "11"                    },
+  { "em_gate_4_gray.active",                   "RocksSP.pcx"           },
+  { "em_gate_4_gray.active.xpos",              "3"                     },
+  { "em_gate_4_gray.active.ypos",              "7"                     },
+  { "em_gate_4_gray.active.frames",            "1"                     },
 
   { "exit_closed",                             "RocksElements.pcx"     },
   { "exit_closed.xpos",                                "0"                     },
@@ -1007,6 +1423,12 @@ struct ConfigInfo image_config[] =
   { "exit_open.frames",                                "4"                     },
   { "exit_open.delay",                         "4"                     },
   { "exit_open.anim_mode",                     "pingpong"              },
+  { "exit.closing",                            "RocksElements.pcx"     },
+  { "exit.closing.xpos",                       "0"                     },
+  { "exit.closing.ypos",                       "11"                    },
+  { "exit.closing.frames",                     "5"                     },
+  { "exit.closing.delay",                      "6"                     },
+  { "exit.closing.anim_mode",                  "linear,reverse"        },
 
   /* images for Emerald Mine Club style elements and actions */
 
@@ -1020,87 +1442,91 @@ struct ConfigInfo image_config[] =
   { "balloon.moving.frames",                   "4"                     },
   { "balloon.moving.anim_mode",                        "pingpong"              },
   { "balloon.moving.delay",                    "2"                     },
-
-  { "balloon_send.left",                       "RocksDC.pcx"           },
-  { "balloon_send.left.xpos",                  "8"                     },
-  { "balloon_send.left.ypos",                  "7"                     },
-  { "balloon_send.left.frames",                        "1"                     },
-  { "balloon_send.right",                      "RocksDC.pcx"           },
-  { "balloon_send.right.xpos",                 "9"                     },
-  { "balloon_send.right.ypos",                 "7"                     },
-  { "balloon_send.right.frames",               "1"                     },
-  { "balloon_send.up",                         "RocksDC.pcx"           },
-  { "balloon_send.up.xpos",                    "10"                    },
-  { "balloon_send.up.ypos",                    "7"                     },
-  { "balloon_send.up.frames",                  "1"                     },
-  { "balloon_send.down",                       "RocksDC.pcx"           },
-  { "balloon_send.down.xpos",                  "11"                    },
-  { "balloon_send.down.ypos",                  "7"                     },
-  { "balloon_send.down.frames",                        "1"                     },
-  { "balloon_send_any_direction",              "RocksDC.pcx"           },
-  { "balloon_send_any_direction.xpos",         "15"                    },
-  { "balloon_send_any_direction.ypos",         "0"                     },
-  { "balloon_send_any_direction.frames",       "1"                     },
+  { "balloon.pushing",                         "RocksDC.pcx"           },
+  { "balloon.pushing.xpos",                    "12"                    },
+  { "balloon.pushing.ypos",                    "7"                     },
+  { "balloon.pushing.frames",                  "4"                     },
+  { "balloon.pushing.anim_mode",               "pingpong"              },
+  { "balloon.pushing.delay",                   "2"                     },
+  { "balloon_switch_left",                     "RocksDC.pcx"           },
+  { "balloon_switch_left.xpos",                        "8"                     },
+  { "balloon_switch_left.ypos",                        "7"                     },
+  { "balloon_switch_left.frames",              "1"                     },
+  { "balloon_switch_right",                    "RocksDC.pcx"           },
+  { "balloon_switch_right.xpos",               "9"                     },
+  { "balloon_switch_right.ypos",               "7"                     },
+  { "balloon_switch_right.frames",             "1"                     },
+  { "balloon_switch_up",                       "RocksDC.pcx"           },
+  { "balloon_switch_up.xpos",                  "10"                    },
+  { "balloon_switch_up.ypos",                  "7"                     },
+  { "balloon_switch_up.frames",                        "1"                     },
+  { "balloon_switch_down",                     "RocksDC.pcx"           },
+  { "balloon_switch_down.xpos",                        "11"                    },
+  { "balloon_switch_down.ypos",                        "7"                     },
+  { "balloon_switch_down.frames",              "1"                     },
+  { "balloon_switch_any",                      "RocksDC.pcx"           },
+  { "balloon_switch_any.xpos",                 "15"                    },
+  { "balloon_switch_any.ypos",                 "0"                     },
+  { "balloon_switch_any.frames",               "1"                     },
+  { "balloon_switch_none",                     "RocksDC.pcx"           },
+  { "balloon_switch_none.xpos",                        "13"                    },
+  { "balloon_switch_none.ypos",                        "5"                     },
+  { "balloon_switch_none.frames",              "1"                     },
 
   { "spring",                                  "RocksDC.pcx"           },
   { "spring.xpos",                             "8"                     },
   { "spring.ypos",                             "13"                    },
   { "spring.frames",                           "1"                     },
-  { "spring.moving",                           "RocksDC.pcx"           },
-  { "spring.moving.xpos",                      "8"                     },
-  { "spring.moving.ypos",                      "13"                    },
-  { "spring.moving.frames",                    "1"                     },
-
-  { "emc_steelwall1",                          "RocksDC.pcx"           },
-  { "emc_steelwall1.xpos",                     "14"                    },
-  { "emc_steelwall1.ypos",                     "0"                     },
-  { "emc_steelwall1.frames",                   "1"                     },
-  { "emc_steelwall2",                          "RocksDC.pcx"           },
-  { "emc_steelwall2.xpos",                     "14"                    },
-  { "emc_steelwall2.ypos",                     "0"                     },
-  { "emc_steelwall2.frames",                   "1"                     },
-  { "emc_steelwall3",                          "RocksDC.pcx"           },
-  { "emc_steelwall3.xpos",                     "14"                    },
-  { "emc_steelwall3.ypos",                     "0"                     },
-  { "emc_steelwall3.frames",                   "1"                     },
-  { "emc_steelwall4",                          "RocksDC.pcx"           },
-  { "emc_steelwall4.xpos",                     "14"                    },
-  { "emc_steelwall4.ypos",                     "0"                     },
-  { "emc_steelwall4.frames",                   "1"                     },
-
-  { "emc_wall_pillar_upper",                   "RocksDC.pcx"           },
-  { "emc_wall_pillar_upper.xpos",              "13"                    },
-  { "emc_wall_pillar_upper.ypos",              "6"                     },
-  { "emc_wall_pillar_upper.frames",            "1"                     },
-  { "emc_wall_pillar_middle",                  "RocksDC.pcx"           },
-  { "emc_wall_pillar_middle.xpos",             "14"                    },
-  { "emc_wall_pillar_middle.ypos",             "6"                     },
-  { "emc_wall_pillar_middle.frames",           "1"                     },
-  { "emc_wall_pillar_lower",                   "RocksDC.pcx"           },
-  { "emc_wall_pillar_lower.xpos",              "15"                    },
-  { "emc_wall_pillar_lower.ypos",              "6"                     },
-  { "emc_wall_pillar_lower.frames",            "1"                     },
-
-  { "emc_wall4",                               "RocksDC.pcx"           },
-  { "emc_wall4.xpos",                          "14"                    },
-  { "emc_wall4.ypos",                          "1"                     },
-  { "emc_wall4.frames",                                "1"                     },
-  { "emc_wall5",                               "RocksDC.pcx"           },
-  { "emc_wall5.xpos",                          "15"                    },
-  { "emc_wall5.ypos",                          "1"                     },
-  { "emc_wall5.frames",                                "1"                     },
-  { "emc_wall6",                               "RocksDC.pcx"           },
-  { "emc_wall6.xpos",                          "14"                    },
-  { "emc_wall6.ypos",                          "2"                     },
-  { "emc_wall6.frames",                                "1"                     },
-  { "emc_wall7",                               "RocksDC.pcx"           },
-  { "emc_wall7.xpos",                          "15"                    },
-  { "emc_wall7.ypos",                          "2"                     },
-  { "emc_wall7.frames",                                "1"                     },
-  { "emc_wall8",                               "RocksDC.pcx"           },
-  { "emc_wall8.xpos",                          "14"                    },
-  { "emc_wall8.ypos",                          "1"                     },
-  { "emc_wall8.frames",                                "1"                     },
+
+  { "emc_steelwall_1",                         "RocksDC.pcx"           },
+  { "emc_steelwall_1.xpos",                    "14"                    },
+  { "emc_steelwall_1.ypos",                    "0"                     },
+  { "emc_steelwall_1.frames",                  "1"                     },
+  { "emc_steelwall_2",                         "RocksEMC.pcx"          },
+  { "emc_steelwall_2.xpos",                    "9"                     },
+  { "emc_steelwall_2.ypos",                    "8"                     },
+  { "emc_steelwall_2.frames",                  "1"                     },
+  { "emc_steelwall_3",                         "RocksEMC.pcx"          },
+  { "emc_steelwall_3.xpos",                    "9"                     },
+  { "emc_steelwall_3.ypos",                    "9"                     },
+  { "emc_steelwall_3.frames",                  "1"                     },
+  { "emc_steelwall_4",                         "RocksEMC.pcx"          },
+  { "emc_steelwall_4.xpos",                    "9"                     },
+  { "emc_steelwall_4.ypos",                    "10"                    },
+  { "emc_steelwall_4.frames",                  "1"                     },
+
+  { "emc_wall_1",                              "RocksDC.pcx"           },
+  { "emc_wall_1.xpos",                         "13"                    },
+  { "emc_wall_1.ypos",                         "6"                     },
+  { "emc_wall_1.frames",                       "1"                     },
+  { "emc_wall_2",                              "RocksDC.pcx"           },
+  { "emc_wall_2.xpos",                         "14"                    },
+  { "emc_wall_2.ypos",                         "6"                     },
+  { "emc_wall_2.frames",                       "1"                     },
+  { "emc_wall_3",                              "RocksDC.pcx"           },
+  { "emc_wall_3.xpos",                         "15"                    },
+  { "emc_wall_3.ypos",                         "6"                     },
+  { "emc_wall_3.frames",                       "1"                     },
+  { "emc_wall_4",                              "RocksDC.pcx"           },
+  { "emc_wall_4.xpos",                         "14"                    },
+  { "emc_wall_4.ypos",                         "1"                     },
+  { "emc_wall_4.frames",                       "1"                     },
+  { "emc_wall_5",                              "RocksDC.pcx"           },
+  { "emc_wall_5.xpos",                         "15"                    },
+  { "emc_wall_5.ypos",                         "1"                     },
+  { "emc_wall_5.frames",                       "1"                     },
+  { "emc_wall_6",                              "RocksDC.pcx"           },
+  { "emc_wall_6.xpos",                         "14"                    },
+  { "emc_wall_6.ypos",                         "2"                     },
+  { "emc_wall_6.frames",                       "1"                     },
+  { "emc_wall_7",                              "RocksDC.pcx"           },
+  { "emc_wall_7.xpos",                         "15"                    },
+  { "emc_wall_7.ypos",                         "2"                     },
+  { "emc_wall_7.frames",                       "1"                     },
+  { "emc_wall_8",                              "RocksEMC.pcx"          },
+  { "emc_wall_8.xpos",                         "8"                     },
+  { "emc_wall_8.ypos",                         "7"                     },
+  { "emc_wall_8.frames",                       "1"                     },
 
   /* images for Diamond Caves style elements and actions */
 
@@ -1129,176 +1555,228 @@ struct ConfigInfo image_config[] =
   { "invisible_wall.active.frames",            "1"                     },
 
   { "invisible_sand",                          "RocksSP.pcx"           },
-  { "invisible_sand.xpos",                     "6"                     },
-  { "invisible_sand.ypos",                     "5"                     },
+  { "invisible_sand.xpos",                     "0"                     },
+  { "invisible_sand.ypos",                     "0"                     },
   { "invisible_sand.frames",                   "1"                     },
-  { "invisible_sand.EDITOR",                   "RocksSP.pcx"           },
+  { "invisible_sand.EDITOR",                   "RocksEMC.pcx"          },
   { "invisible_sand.EDITOR.xpos",              "2"                     },
-  { "invisible_sand.EDITOR.ypos",              "5"                     },
-  { "invisible_sand.active",                   "RocksSP.pcx"           },
+  { "invisible_sand.EDITOR.ypos",              "4"                     },
+  { "invisible_sand.active",                   "RocksEMC.pcx"          },
   { "invisible_sand.active.xpos",              "2"                     },
-  { "invisible_sand.active.ypos",              "5"                     },
+  { "invisible_sand.active.ypos",              "4"                     },
   { "invisible_sand.active.frames",            "1"                     },
-
-  { "conveyor_belt1_middle",                   "RocksDC.pcx"           },
-  { "conveyor_belt1_middle.xpos",              "0"                     },
-  { "conveyor_belt1_middle.ypos",              "0"                     },
-  { "conveyor_belt1_middle.frames",            "1"                     },
-  { "conveyor_belt1_middle.active",            "RocksDC.pcx"           },
-  { "conveyor_belt1_middle.active.xpos",       "0"                     },
-  { "conveyor_belt1_middle.active.ypos",       "0"                     },
-  { "conveyor_belt1_middle.active.frames",     "8"                     },
-  { "conveyor_belt1_middle.active.delay",      "2"                     },
-  { "conveyor_belt1_left",                     "RocksDC.pcx"           },
-  { "conveyor_belt1_left.xpos",                        "0"                     },
-  { "conveyor_belt1_left.ypos",                        "1"                     },
-  { "conveyor_belt1_left.frames",              "1"                     },
-  { "conveyor_belt1_left.active",              "RocksDC.pcx"           },
-  { "conveyor_belt1_left.active.xpos",         "0"                     },
-  { "conveyor_belt1_left.active.ypos",         "1"                     },
-  { "conveyor_belt1_left.active.frames",       "8"                     },
-  { "conveyor_belt1_left.active.delay",                "2"                     },
-  { "conveyor_belt1_right",                    "RocksDC.pcx"           },
-  { "conveyor_belt1_right.xpos",               "0"                     },
-  { "conveyor_belt1_right.ypos",               "2"                     },
-  { "conveyor_belt1_right.frames",             "1"                     },
-  { "conveyor_belt1_right.active",             "RocksDC.pcx"           },
-  { "conveyor_belt1_right.active.xpos",                "0"                     },
-  { "conveyor_belt1_right.active.ypos",                "2"                     },
-  { "conveyor_belt1_right.active.frames",      "8"                     },
-  { "conveyor_belt1_right.active.delay",       "2"                     },
-  { "conveyor_belt1_switch_left",              "RocksDC.pcx"           },
-  { "conveyor_belt1_switch_left.xpos",         "0"                     },
-  { "conveyor_belt1_switch_left.ypos",         "12"                    },
-  { "conveyor_belt1_switch_left.frames",       "1"                     },
-  { "conveyor_belt1_switch_middle",            "RocksDC.pcx"           },
-  { "conveyor_belt1_switch_middle.xpos",       "0"                     },
-  { "conveyor_belt1_switch_middle.ypos",       "13"                    },
-  { "conveyor_belt1_switch_middle.frames",     "1"                     },
-  { "conveyor_belt1_switch_right",             "RocksDC.pcx"           },
-  { "conveyor_belt1_switch_right.xpos",                "0"                     },
-  { "conveyor_belt1_switch_right.ypos",                "14"                    },
-  { "conveyor_belt1_switch_right.frames",      "1"                     },
-
-  { "conveyor_belt2_middle",                   "RocksDC.pcx"           },
-  { "conveyor_belt2_middle.xpos",              "0"                     },
-  { "conveyor_belt2_middle.ypos",              "3"                     },
-  { "conveyor_belt2_middle.frames",            "1"                     },
-  { "conveyor_belt2_middle.active",            "RocksDC.pcx"           },
-  { "conveyor_belt2_middle.active.xpos",       "0"                     },
-  { "conveyor_belt2_middle.active.ypos",       "3"                     },
-  { "conveyor_belt2_middle.active.frames",     "8"                     },
-  { "conveyor_belt2_middle.active.delay",      "2"                     },
-  { "conveyor_belt2_left",                     "RocksDC.pcx"           },
-  { "conveyor_belt2_left.xpos",                        "0"                     },
-  { "conveyor_belt2_left.ypos",                        "4"                     },
-  { "conveyor_belt2_left.frames",              "1"                     },
-  { "conveyor_belt2_left.active",              "RocksDC.pcx"           },
-  { "conveyor_belt2_left.active.xpos",         "0"                     },
-  { "conveyor_belt2_left.active.ypos",         "4"                     },
-  { "conveyor_belt2_left.active.frames",       "8"                     },
-  { "conveyor_belt2_left.active.delay",                "2"                     },
-  { "conveyor_belt2_right",                    "RocksDC.pcx"           },
-  { "conveyor_belt2_right.xpos",               "0"                     },
-  { "conveyor_belt2_right.ypos",               "5"                     },
-  { "conveyor_belt2_right.frames",             "1"                     },
-  { "conveyor_belt2_right.active",             "RocksDC.pcx"           },
-  { "conveyor_belt2_right.active.xpos",                "0"                     },
-  { "conveyor_belt2_right.active.ypos",                "5"                     },
-  { "conveyor_belt2_right.active.frames",      "8"                     },
-  { "conveyor_belt2_right.active.delay",       "2"                     },
-  { "conveyor_belt2_switch_left",              "RocksDC.pcx"           },
-  { "conveyor_belt2_switch_left.xpos",         "1"                     },
-  { "conveyor_belt2_switch_left.ypos",         "12"                    },
-  { "conveyor_belt2_switch_left.frames",       "1"                     },
-  { "conveyor_belt2_switch_middle",            "RocksDC.pcx"           },
-  { "conveyor_belt2_switch_middle.xpos",       "1"                     },
-  { "conveyor_belt2_switch_middle.ypos",       "13"                    },
-  { "conveyor_belt2_switch_middle.frames",     "1"                     },
-  { "conveyor_belt2_switch_right",             "RocksDC.pcx"           },
-  { "conveyor_belt2_switch_right.xpos",                "1"                     },
-  { "conveyor_belt2_switch_right.ypos",                "14"                    },
-  { "conveyor_belt2_switch_right.frames",      "1"                     },
-
-  { "conveyor_belt3_middle",                   "RocksDC.pcx"           },
-  { "conveyor_belt3_middle.xpos",              "0"                     },
-  { "conveyor_belt3_middle.ypos",              "6"                     },
-  { "conveyor_belt3_middle.frames",            "1"                     },
-  { "conveyor_belt3_middle.active",            "RocksDC.pcx"           },
-  { "conveyor_belt3_middle.active.xpos",       "0"                     },
-  { "conveyor_belt3_middle.active.ypos",       "6"                     },
-  { "conveyor_belt3_middle.active.frames",     "8"                     },
-  { "conveyor_belt3_middle.active.delay",      "2"                     },
-  { "conveyor_belt3_left",                     "RocksDC.pcx"           },
-  { "conveyor_belt3_left.xpos",                        "0"                     },
-  { "conveyor_belt3_left.ypos",                        "7"                     },
-  { "conveyor_belt3_left.frames",              "1"                     },
-  { "conveyor_belt3_left.active",              "RocksDC.pcx"           },
-  { "conveyor_belt3_left.active.xpos",         "0"                     },
-  { "conveyor_belt3_left.active.ypos",         "7"                     },
-  { "conveyor_belt3_left.active.frames",       "8"                     },
-  { "conveyor_belt3_left.active.delay",                "2"                     },
-  { "conveyor_belt3_right",                    "RocksDC.pcx"           },
-  { "conveyor_belt3_right.xpos",               "0"                     },
-  { "conveyor_belt3_right.ypos",               "8"                     },
-  { "conveyor_belt3_right.frames",             "1"                     },
-  { "conveyor_belt3_right.active",             "RocksDC.pcx"           },
-  { "conveyor_belt3_right.active.xpos",                "0"                     },
-  { "conveyor_belt3_right.active.ypos",                "8"                     },
-  { "conveyor_belt3_right.active.frames",      "8"                     },
-  { "conveyor_belt3_right.active.delay",       "2"                     },
-  { "conveyor_belt3_switch_left",              "RocksDC.pcx"           },
-  { "conveyor_belt3_switch_left.xpos",         "2"                     },
-  { "conveyor_belt3_switch_left.ypos",         "12"                    },
-  { "conveyor_belt3_switch_left.frames",       "1"                     },
-  { "conveyor_belt3_switch_middle",            "RocksDC.pcx"           },
-  { "conveyor_belt3_switch_middle.xpos",       "2"                     },
-  { "conveyor_belt3_switch_middle.ypos",       "13"                    },
-  { "conveyor_belt3_switch_middle.frames",     "1"                     },
-  { "conveyor_belt3_switch_right",             "RocksDC.pcx"           },
-  { "conveyor_belt3_switch_right.xpos",                "2"                     },
-  { "conveyor_belt3_switch_right.ypos",                "14"                    },
-  { "conveyor_belt3_switch_right.frames",      "1"                     },
-
-  { "conveyor_belt4_middle",                   "RocksDC.pcx"           },
-  { "conveyor_belt4_middle.xpos",              "0"                     },
-  { "conveyor_belt4_middle.ypos",              "9"                     },
-  { "conveyor_belt4_middle.frames",            "1"                     },
-  { "conveyor_belt4_middle.active",            "RocksDC.pcx"           },
-  { "conveyor_belt4_middle.active.xpos",       "0"                     },
-  { "conveyor_belt4_middle.active.ypos",       "9"                     },
-  { "conveyor_belt4_middle.active.frames",     "8"                     },
-  { "conveyor_belt4_middle.active.delay",      "2"                     },
-  { "conveyor_belt4_left",                     "RocksDC.pcx"           },
-  { "conveyor_belt4_left.xpos",                        "0"                     },
-  { "conveyor_belt4_left.ypos",                        "10"                    },
-  { "conveyor_belt4_left.frames",              "1"                     },
-  { "conveyor_belt4_left.active",              "RocksDC.pcx"           },
-  { "conveyor_belt4_left.active.xpos",         "0"                     },
-  { "conveyor_belt4_left.active.ypos",         "10"                    },
-  { "conveyor_belt4_left.active.frames",       "8"                     },
-  { "conveyor_belt4_left.active.delay",                "2"                     },
-  { "conveyor_belt4_right",                    "RocksDC.pcx"           },
-  { "conveyor_belt4_right.xpos",               "0"                     },
-  { "conveyor_belt4_right.ypos",               "11"                    },
-  { "conveyor_belt4_right.frames",             "1"                     },
-  { "conveyor_belt4_right.active",             "RocksDC.pcx"           },
-  { "conveyor_belt4_right.active.xpos",                "0"                     },
-  { "conveyor_belt4_right.active.ypos",                "11"                    },
-  { "conveyor_belt4_right.active.frames",      "8"                     },
-  { "conveyor_belt4_right.active.delay",       "2"                     },
-  { "conveyor_belt4_switch_left",              "RocksDC.pcx"           },
-  { "conveyor_belt4_switch_left.xpos",         "3"                     },
-  { "conveyor_belt4_switch_left.ypos",         "12"                    },
-  { "conveyor_belt4_switch_left.frames",       "1"                     },
-  { "conveyor_belt4_switch_middle",            "RocksDC.pcx"           },
-  { "conveyor_belt4_switch_middle.xpos",       "3"                     },
-  { "conveyor_belt4_switch_middle.ypos",       "13"                    },
-  { "conveyor_belt4_switch_middle.frames",     "1"                     },
-  { "conveyor_belt4_switch_right",             "RocksDC.pcx"           },
-  { "conveyor_belt4_switch_right.xpos",                "3"                     },
-  { "conveyor_belt4_switch_right.ypos",                "14"                    },
-  { "conveyor_belt4_switch_right.frames",      "1"                     },
+  { "invisible_sand.active.CRUMBLED",          "RocksEMC.pcx"          },
+  { "invisible_sand.active.CRUMBLED.xpos",     "3"                     },
+  { "invisible_sand.active.CRUMBLED.ypos",     "4"                     },
+  { "invisible_sand.active.CRUMBLED.frames",   "1"                     },
+  { "invisible_sand.active.digging.left",      "RocksEMC.pcx"          },
+  { "invisible_sand.active.digging.left.xpos", "6"                     },
+  { "invisible_sand.active.digging.left.ypos", "2"                     },
+  { "invisible_sand.active.digging.left.frames","3"                    },
+  { "invisible_sand.active.digging.left.delay",        "2"                     },
+  { "invisible_sand.active.digging.left.anim_mode","linear"            },
+  { "invisible_sand.active.digging.right",     "RocksEMC.pcx"          },
+  { "invisible_sand.active.digging.right.xpos",        "9"                     },
+  { "invisible_sand.active.digging.right.ypos",        "2"                     },
+  { "invisible_sand.active.digging.right.frames","3"                   },
+  { "invisible_sand.active.digging.right.delay","2"                    },
+  { "invisible_sand.active.digging.right.anim_mode","linear"           },
+  { "invisible_sand.active.digging.up",                "RocksEMC.pcx"          },
+  { "invisible_sand.active.digging.up.xpos",   "0"                     },
+  { "invisible_sand.active.digging.up.ypos",   "2"                     },
+  { "invisible_sand.active.digging.up.frames", "3"                     },
+  { "invisible_sand.active.digging.up.delay",  "2"                     },
+  { "invisible_sand.active.digging.up.anim_mode","linear"              },
+  { "invisible_sand.active.digging.down",      "RocksEMC.pcx"          },
+  { "invisible_sand.active.digging.down.xpos", "3"                     },
+  { "invisible_sand.active.digging.down.ypos", "2"                     },
+  { "invisible_sand.active.digging.down.frames","3"                    },
+  { "invisible_sand.active.digging.down.delay",        "2"                     },
+  { "invisible_sand.active.digging.down.anim_mode","linear"            },
+  { "invisible_sand.active.digging.left.CRUMBLED",     "RocksEMC.pcx"  },
+  { "invisible_sand.active.digging.left.CRUMBLED.xpos",        "6"             },
+  { "invisible_sand.active.digging.left.CRUMBLED.ypos",        "3"             },
+  { "invisible_sand.active.digging.left.CRUMBLED.frames","3"           },
+  { "invisible_sand.active.digging.left.CRUMBLED.delay","2"            },
+  { "invisible_sand.active.digging.left.CRUMBLED.anim_mode","linear"   },
+  { "invisible_sand.active.digging.right.CRUMBLED",    "RocksEMC.pcx"  },
+  { "invisible_sand.active.digging.right.CRUMBLED.xpos","9"            },
+  { "invisible_sand.active.digging.right.CRUMBLED.ypos","3"            },
+  { "invisible_sand.active.digging.right.CRUMBLED.frames","3"          },
+  { "invisible_sand.active.digging.right.CRUMBLED.delay","2"           },
+  { "invisible_sand.active.digging.right.CRUMBLED.anim_mode","linear"  },
+  { "invisible_sand.active.digging.up.CRUMBLED",       "RocksEMC.pcx"  },
+  { "invisible_sand.active.digging.up.CRUMBLED.xpos",  "0"             },
+  { "invisible_sand.active.digging.up.CRUMBLED.ypos",  "3"             },
+  { "invisible_sand.active.digging.up.CRUMBLED.frames",        "3"             },
+  { "invisible_sand.active.digging.up.CRUMBLED.delay", "2"             },
+  { "invisible_sand.active.digging.up.CRUMBLED.anim_mode","linear"     },
+  { "invisible_sand.active.digging.down.CRUMBLED",     "RocksEMC.pcx"  },
+  { "invisible_sand.active.digging.down.CRUMBLED.xpos",        "3"             },
+  { "invisible_sand.active.digging.down.CRUMBLED.ypos",        "3"             },
+  { "invisible_sand.active.digging.down.CRUMBLED.frames","3"           },
+  { "invisible_sand.active.digging.down.CRUMBLED.delay","2"            },
+  { "invisible_sand.active.digging.down.CRUMBLED.anim_mode","linear"   },
+
+  { "conveyor_belt_1_middle",                  "RocksDC.pcx"           },
+  { "conveyor_belt_1_middle.xpos",             "0"                     },
+  { "conveyor_belt_1_middle.ypos",             "0"                     },
+  { "conveyor_belt_1_middle.frames",           "1"                     },
+  { "conveyor_belt_1_middle.active",           "RocksDC.pcx"           },
+  { "conveyor_belt_1_middle.active.xpos",      "0"                     },
+  { "conveyor_belt_1_middle.active.ypos",      "0"                     },
+  { "conveyor_belt_1_middle.active.frames",    "8"                     },
+  { "conveyor_belt_1_middle.active.delay",     "2"                     },
+  { "conveyor_belt_1_left",                    "RocksDC.pcx"           },
+  { "conveyor_belt_1_left.xpos",               "0"                     },
+  { "conveyor_belt_1_left.ypos",               "1"                     },
+  { "conveyor_belt_1_left.frames",             "1"                     },
+  { "conveyor_belt_1_left.active",             "RocksDC.pcx"           },
+  { "conveyor_belt_1_left.active.xpos",                "0"                     },
+  { "conveyor_belt_1_left.active.ypos",                "1"                     },
+  { "conveyor_belt_1_left.active.frames",      "8"                     },
+  { "conveyor_belt_1_left.active.delay",       "2"                     },
+  { "conveyor_belt_1_right",                   "RocksDC.pcx"           },
+  { "conveyor_belt_1_right.xpos",              "0"                     },
+  { "conveyor_belt_1_right.ypos",              "2"                     },
+  { "conveyor_belt_1_right.frames",            "1"                     },
+  { "conveyor_belt_1_right.active",            "RocksDC.pcx"           },
+  { "conveyor_belt_1_right.active.xpos",       "0"                     },
+  { "conveyor_belt_1_right.active.ypos",       "2"                     },
+  { "conveyor_belt_1_right.active.frames",     "8"                     },
+  { "conveyor_belt_1_right.active.delay",      "2"                     },
+  { "conveyor_belt_1_switch_left",             "RocksDC.pcx"           },
+  { "conveyor_belt_1_switch_left.xpos",                "0"                     },
+  { "conveyor_belt_1_switch_left.ypos",                "12"                    },
+  { "conveyor_belt_1_switch_left.frames",      "1"                     },
+  { "conveyor_belt_1_switch_middle",           "RocksDC.pcx"           },
+  { "conveyor_belt_1_switch_middle.xpos",      "0"                     },
+  { "conveyor_belt_1_switch_middle.ypos",      "13"                    },
+  { "conveyor_belt_1_switch_middle.frames",    "1"                     },
+  { "conveyor_belt_1_switch_right",            "RocksDC.pcx"           },
+  { "conveyor_belt_1_switch_right.xpos",       "0"                     },
+  { "conveyor_belt_1_switch_right.ypos",       "14"                    },
+  { "conveyor_belt_1_switch_right.frames",     "1"                     },
+
+  { "conveyor_belt_2_middle",                  "RocksDC.pcx"           },
+  { "conveyor_belt_2_middle.xpos",             "0"                     },
+  { "conveyor_belt_2_middle.ypos",             "3"                     },
+  { "conveyor_belt_2_middle.frames",           "1"                     },
+  { "conveyor_belt_2_middle.active",           "RocksDC.pcx"           },
+  { "conveyor_belt_2_middle.active.xpos",      "0"                     },
+  { "conveyor_belt_2_middle.active.ypos",      "3"                     },
+  { "conveyor_belt_2_middle.active.frames",    "8"                     },
+  { "conveyor_belt_2_middle.active.delay",     "2"                     },
+  { "conveyor_belt_2_left",                    "RocksDC.pcx"           },
+  { "conveyor_belt_2_left.xpos",               "0"                     },
+  { "conveyor_belt_2_left.ypos",               "4"                     },
+  { "conveyor_belt_2_left.frames",             "1"                     },
+  { "conveyor_belt_2_left.active",             "RocksDC.pcx"           },
+  { "conveyor_belt_2_left.active.xpos",                "0"                     },
+  { "conveyor_belt_2_left.active.ypos",                "4"                     },
+  { "conveyor_belt_2_left.active.frames",      "8"                     },
+  { "conveyor_belt_2_left.active.delay",       "2"                     },
+  { "conveyor_belt_2_right",                   "RocksDC.pcx"           },
+  { "conveyor_belt_2_right.xpos",              "0"                     },
+  { "conveyor_belt_2_right.ypos",              "5"                     },
+  { "conveyor_belt_2_right.frames",            "1"                     },
+  { "conveyor_belt_2_right.active",            "RocksDC.pcx"           },
+  { "conveyor_belt_2_right.active.xpos",       "0"                     },
+  { "conveyor_belt_2_right.active.ypos",       "5"                     },
+  { "conveyor_belt_2_right.active.frames",     "8"                     },
+  { "conveyor_belt_2_right.active.delay",      "2"                     },
+  { "conveyor_belt_2_switch_left",             "RocksDC.pcx"           },
+  { "conveyor_belt_2_switch_left.xpos",                "1"                     },
+  { "conveyor_belt_2_switch_left.ypos",                "12"                    },
+  { "conveyor_belt_2_switch_left.frames",      "1"                     },
+  { "conveyor_belt_2_switch_middle",           "RocksDC.pcx"           },
+  { "conveyor_belt_2_switch_middle.xpos",      "1"                     },
+  { "conveyor_belt_2_switch_middle.ypos",      "13"                    },
+  { "conveyor_belt_2_switch_middle.frames",    "1"                     },
+  { "conveyor_belt_2_switch_right",            "RocksDC.pcx"           },
+  { "conveyor_belt_2_switch_right.xpos",       "1"                     },
+  { "conveyor_belt_2_switch_right.ypos",       "14"                    },
+  { "conveyor_belt_2_switch_right.frames",     "1"                     },
+
+  { "conveyor_belt_3_middle",                  "RocksDC.pcx"           },
+  { "conveyor_belt_3_middle.xpos",             "0"                     },
+  { "conveyor_belt_3_middle.ypos",             "6"                     },
+  { "conveyor_belt_3_middle.frames",           "1"                     },
+  { "conveyor_belt_3_middle.active",           "RocksDC.pcx"           },
+  { "conveyor_belt_3_middle.active.xpos",      "0"                     },
+  { "conveyor_belt_3_middle.active.ypos",      "6"                     },
+  { "conveyor_belt_3_middle.active.frames",    "8"                     },
+  { "conveyor_belt_3_middle.active.delay",     "2"                     },
+  { "conveyor_belt_3_left",                    "RocksDC.pcx"           },
+  { "conveyor_belt_3_left.xpos",               "0"                     },
+  { "conveyor_belt_3_left.ypos",               "7"                     },
+  { "conveyor_belt_3_left.frames",             "1"                     },
+  { "conveyor_belt_3_left.active",             "RocksDC.pcx"           },
+  { "conveyor_belt_3_left.active.xpos",                "0"                     },
+  { "conveyor_belt_3_left.active.ypos",                "7"                     },
+  { "conveyor_belt_3_left.active.frames",      "8"                     },
+  { "conveyor_belt_3_left.active.delay",       "2"                     },
+  { "conveyor_belt_3_right",                   "RocksDC.pcx"           },
+  { "conveyor_belt_3_right.xpos",              "0"                     },
+  { "conveyor_belt_3_right.ypos",              "8"                     },
+  { "conveyor_belt_3_right.frames",            "1"                     },
+  { "conveyor_belt_3_right.active",            "RocksDC.pcx"           },
+  { "conveyor_belt_3_right.active.xpos",       "0"                     },
+  { "conveyor_belt_3_right.active.ypos",       "8"                     },
+  { "conveyor_belt_3_right.active.frames",     "8"                     },
+  { "conveyor_belt_3_right.active.delay",      "2"                     },
+  { "conveyor_belt_3_switch_left",             "RocksDC.pcx"           },
+  { "conveyor_belt_3_switch_left.xpos",                "2"                     },
+  { "conveyor_belt_3_switch_left.ypos",                "12"                    },
+  { "conveyor_belt_3_switch_left.frames",      "1"                     },
+  { "conveyor_belt_3_switch_middle",           "RocksDC.pcx"           },
+  { "conveyor_belt_3_switch_middle.xpos",      "2"                     },
+  { "conveyor_belt_3_switch_middle.ypos",      "13"                    },
+  { "conveyor_belt_3_switch_middle.frames",    "1"                     },
+  { "conveyor_belt_3_switch_right",            "RocksDC.pcx"           },
+  { "conveyor_belt_3_switch_right.xpos",       "2"                     },
+  { "conveyor_belt_3_switch_right.ypos",       "14"                    },
+  { "conveyor_belt_3_switch_right.frames",     "1"                     },
+
+  { "conveyor_belt_4_middle",                  "RocksDC.pcx"           },
+  { "conveyor_belt_4_middle.xpos",             "0"                     },
+  { "conveyor_belt_4_middle.ypos",             "9"                     },
+  { "conveyor_belt_4_middle.frames",           "1"                     },
+  { "conveyor_belt_4_middle.active",           "RocksDC.pcx"           },
+  { "conveyor_belt_4_middle.active.xpos",      "0"                     },
+  { "conveyor_belt_4_middle.active.ypos",      "9"                     },
+  { "conveyor_belt_4_middle.active.frames",    "8"                     },
+  { "conveyor_belt_4_middle.active.delay",     "2"                     },
+  { "conveyor_belt_4_left",                    "RocksDC.pcx"           },
+  { "conveyor_belt_4_left.xpos",               "0"                     },
+  { "conveyor_belt_4_left.ypos",               "10"                    },
+  { "conveyor_belt_4_left.frames",             "1"                     },
+  { "conveyor_belt_4_left.active",             "RocksDC.pcx"           },
+  { "conveyor_belt_4_left.active.xpos",                "0"                     },
+  { "conveyor_belt_4_left.active.ypos",                "10"                    },
+  { "conveyor_belt_4_left.active.frames",      "8"                     },
+  { "conveyor_belt_4_left.active.delay",       "2"                     },
+  { "conveyor_belt_4_right",                   "RocksDC.pcx"           },
+  { "conveyor_belt_4_right.xpos",              "0"                     },
+  { "conveyor_belt_4_right.ypos",              "11"                    },
+  { "conveyor_belt_4_right.frames",            "1"                     },
+  { "conveyor_belt_4_right.active",            "RocksDC.pcx"           },
+  { "conveyor_belt_4_right.active.xpos",       "0"                     },
+  { "conveyor_belt_4_right.active.ypos",       "11"                    },
+  { "conveyor_belt_4_right.active.frames",     "8"                     },
+  { "conveyor_belt_4_right.active.delay",      "2"                     },
+  { "conveyor_belt_4_switch_left",             "RocksDC.pcx"           },
+  { "conveyor_belt_4_switch_left.xpos",                "3"                     },
+  { "conveyor_belt_4_switch_left.ypos",                "12"                    },
+  { "conveyor_belt_4_switch_left.frames",      "1"                     },
+  { "conveyor_belt_4_switch_middle",           "RocksDC.pcx"           },
+  { "conveyor_belt_4_switch_middle.xpos",      "3"                     },
+  { "conveyor_belt_4_switch_middle.ypos",      "13"                    },
+  { "conveyor_belt_4_switch_middle.frames",    "1"                     },
+  { "conveyor_belt_4_switch_right",            "RocksDC.pcx"           },
+  { "conveyor_belt_4_switch_right.xpos",       "3"                     },
+  { "conveyor_belt_4_switch_right.ypos",       "14"                    },
+  { "conveyor_belt_4_switch_right.frames",     "1"                     },
 
   { "switchgate_switch_up",                    "RocksDC.pcx"           },
   { "switchgate_switch_up.xpos",               "4"                     },
@@ -1327,10 +1805,46 @@ struct ConfigInfo image_config[] =
   { "timegate_switch.active.ypos",             "15"                    },
   { "timegate_switch.active.frames",           "4"                     },
 
-  { "envelope",                                        "RocksDC.pcx"           },
-  { "envelope.xpos",                           "4"                     },
-  { "envelope.ypos",                           "14"                    },
-  { "envelope.frames",                         "1"                     },
+  { "envelope_1",                              "RocksMore.pcx"         },
+  { "envelope_1.xpos",                         "0"                     },
+  { "envelope_1.ypos",                         "4"                     },
+  { "envelope_1.frames",                       "1"                     },
+  { "envelope_1.collecting",                   "RocksMore.pcx"         },
+  { "envelope_1.collecting.xpos",              "5"                     },
+  { "envelope_1.collecting.ypos",              "4"                     },
+  { "envelope_1.collecting.frames",            "3"                     },
+  { "envelope_1.collecting.delay",             "2"                     },
+  { "envelope_1.collecting.anim_mode",         "linear"                },
+  { "envelope_2",                              "RocksMore.pcx"         },
+  { "envelope_2.xpos",                         "1"                     },
+  { "envelope_2.ypos",                         "4"                     },
+  { "envelope_2.frames",                       "1"                     },
+  { "envelope_2.collecting",                   "RocksMore.pcx"         },
+  { "envelope_2.collecting.xpos",              "5"                     },
+  { "envelope_2.collecting.ypos",              "4"                     },
+  { "envelope_2.collecting.frames",            "3"                     },
+  { "envelope_2.collecting.delay",             "2"                     },
+  { "envelope_2.collecting.anim_mode",         "linear"                },
+  { "envelope_3",                              "RocksMore.pcx"         },
+  { "envelope_3.xpos",                         "2"                     },
+  { "envelope_3.ypos",                         "4"                     },
+  { "envelope_3.frames",                       "1"                     },
+  { "envelope_3.collecting",                   "RocksMore.pcx"         },
+  { "envelope_3.collecting.xpos",              "5"                     },
+  { "envelope_3.collecting.ypos",              "4"                     },
+  { "envelope_3.collecting.frames",            "3"                     },
+  { "envelope_3.collecting.delay",             "2"                     },
+  { "envelope_3.collecting.anim_mode",         "linear"                },
+  { "envelope_4",                              "RocksMore.pcx"         },
+  { "envelope_4.xpos",                         "3"                     },
+  { "envelope_4.ypos",                         "4"                     },
+  { "envelope_4.frames",                       "1"                     },
+  { "envelope_4.collecting",                   "RocksMore.pcx"         },
+  { "envelope_4.collecting.xpos",              "5"                     },
+  { "envelope_4.collecting.ypos",              "4"                     },
+  { "envelope_4.collecting.frames",            "3"                     },
+  { "envelope_4.collecting.delay",             "2"                     },
+  { "envelope_4.collecting.anim_mode",         "linear"                },
 
   { "sign_exclamation",                                "RocksDC.pcx"           },
   { "sign_exclamation.xpos",                   "5"                     },
@@ -1346,11 +1860,12 @@ struct ConfigInfo image_config[] =
   { "landmine.xpos",                           "7"                     },
   { "landmine.ypos",                           "14"                    },
   { "landmine.frames",                         "1"                     },
+  { "landmine.crumbled_like",                  "sand"                  },
 
-  { "steelwall_slanted",                       "RocksDC.pcx"           },
-  { "steelwall_slanted.xpos",                  "5"                     },
-  { "steelwall_slanted.ypos",                  "15"                    },
-  { "steelwall_slanted.frames",                        "1"                     },
+  { "steelwall_slippery",                      "RocksDC.pcx"           },
+  { "steelwall_slippery.xpos",                 "5"                     },
+  { "steelwall_slippery.ypos",                 "15"                    },
+  { "steelwall_slippery.frames",               "1"                     },
 
   { "extra_time",                              "RocksDC.pcx"           },
   { "extra_time.xpos",                         "8"                     },
@@ -1475,10 +1990,10 @@ struct ConfigInfo image_config[] =
   { "tube_vertical_right.ypos",                        "14"                    },
   { "tube_vertical_right.frames",              "1"                     },
 
-  { "tube_all",                                        "RocksDC.pcx"           },
-  { "tube_all.xpos",                           "10"                    },
-  { "tube_all.ypos",                           "14"                    },
-  { "tube_all.frames",                         "1"                     },
+  { "tube_any",                                        "RocksDC.pcx"           },
+  { "tube_any.xpos",                           "10"                    },
+  { "tube_any.ypos",                           "14"                    },
+  { "tube_any.frames",                         "1"                     },
 
   { "tube_vertical_left",                      "RocksDC.pcx"           },
   { "tube_vertical_left.xpos",                 "11"                    },
@@ -1509,12 +2024,15 @@ struct ConfigInfo image_config[] =
   { "trap.xpos",                               "12"                    },
   { "trap.ypos",                               "8"                     },
   { "trap.frames",                             "1"                     },
+  { "trap.crumbled_like",                      "sand"                  },
+  { "trap.diggable_like",                      "sand"                  },
   { "trap.active",                             "RocksDC.pcx"           },
   { "trap.active.xpos",                                "12"                    },
   { "trap.active.ypos",                                "8"                     },
   { "trap.active.frames",                      "4"                     },
   { "trap.active.delay",                       "4"                     },
   { "trap.active.anim_mode",                   "pingpong2"             },
+  { "trap.active.crumbled_like",               "sand"                  },
 
   { "dx_supabomb",                             "RocksDC.pcx"           },
   { "dx_supabomb.xpos",                                "15"                    },
@@ -1523,118 +2041,150 @@ struct ConfigInfo image_config[] =
 
   /* images for Rocks'n'Diamonds style elements and actions */
 
-  { "key1",                                    "RocksElements.pcx"     },
-  { "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"                     },
-  { "gate1.ypos",                              "2"                     },
-  { "gate1.frames",                            "1"                     },
-  { "gate2",                                   "RocksElements.pcx"     },
-  { "gate2.xpos",                              "5"                     },
-  { "gate2.ypos",                              "2"                     },
-  { "gate2.frames",                            "1"                     },
-  { "gate3",                                   "RocksElements.pcx"     },
-  { "gate3.xpos",                              "6"                     },
-  { "gate3.ypos",                              "2"                     },
-  { "gate3.frames",                            "1"                     },
-  { "gate4",                                   "RocksElements.pcx"     },
-  { "gate4.xpos",                              "7"                     },
-  { "gate4.ypos",                              "2"                     },
-  { "gate4.frames",                            "1"                     },
-  { "gate1_gray",                              "RocksElements.pcx"     },
-  { "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"                     },
-  { "gameoflife.ypos",                         "1"                     },
-  { "gameoflife.frames",                       "1"                     },
+  { "key_1",                                   "RocksElements.pcx"     },
+  { "key_1.xpos",                              "4"                     },
+  { "key_1.ypos",                              "1"                     },
+  { "key_1.frames",                            "1"                     },
+  { "key_1.EDITOR",                            "RocksElements.pcx"     },
+  { "key_1.EDITOR.xpos",                       "4"                     },
+  { "key_1.EDITOR.ypos",                       "14"                    },
+  { "key_2",                                   "RocksElements.pcx"     },
+  { "key_2.xpos",                              "5"                     },
+  { "key_2.ypos",                              "1"                     },
+  { "key_2.frames",                            "1"                     },
+  { "key_2.EDITOR",                            "RocksElements.pcx"     },
+  { "key_2.EDITOR.xpos",                       "5"                     },
+  { "key_2.EDITOR.ypos",                       "14"                    },
+  { "key_3",                                   "RocksElements.pcx"     },
+  { "key_3.xpos",                              "6"                     },
+  { "key_3.ypos",                              "1"                     },
+  { "key_3.frames",                            "1"                     },
+  { "key_3.EDITOR",                            "RocksElements.pcx"     },
+  { "key_3.EDITOR.xpos",                       "6"                     },
+  { "key_3.EDITOR.ypos",                       "14"                    },
+  { "key_4",                                   "RocksElements.pcx"     },
+  { "key_4.xpos",                              "7"                     },
+  { "key_4.ypos",                              "1"                     },
+  { "key_4.frames",                            "1"                     },
+  { "key_4.EDITOR",                            "RocksElements.pcx"     },
+  { "key_4.EDITOR.xpos",                       "7"                     },
+  { "key_4.EDITOR.ypos",                       "14"                    },
+
+  { "gate_1",                                  "RocksElements.pcx"     },
+  { "gate_1.xpos",                             "4"                     },
+  { "gate_1.ypos",                             "2"                     },
+  { "gate_1.frames",                           "1"                     },
+  { "gate_2",                                  "RocksElements.pcx"     },
+  { "gate_2.xpos",                             "5"                     },
+  { "gate_2.ypos",                             "2"                     },
+  { "gate_2.frames",                           "1"                     },
+  { "gate_3",                                  "RocksElements.pcx"     },
+  { "gate_3.xpos",                             "6"                     },
+  { "gate_3.ypos",                             "2"                     },
+  { "gate_3.frames",                           "1"                     },
+  { "gate_4",                                  "RocksElements.pcx"     },
+  { "gate_4.xpos",                             "7"                     },
+  { "gate_4.ypos",                             "2"                     },
+  { "gate_4.frames",                           "1"                     },
+  { "gate_1_gray",                             "RocksElements.pcx"     },
+  { "gate_1_gray.xpos",                                "8"                     },
+  { "gate_1_gray.ypos",                                "2"                     },
+  { "gate_1_gray.frames",                      "1"                     },
+  { "gate_1_gray.EDITOR",                      "RocksElements.pcx"     },
+  { "gate_1_gray.EDITOR.xpos",                 "8"                     },
+  { "gate_1_gray.EDITOR.ypos",                 "14"                    },
+  { "gate_1_gray.active",                      "RocksElements.pcx"     },
+  { "gate_1_gray.active.xpos",                 "4"                     },
+  { "gate_1_gray.active.ypos",                 "2"                     },
+  { "gate_1_gray.active.frames",               "1"                     },
+  { "gate_2_gray",                             "RocksElements.pcx"     },
+  { "gate_2_gray.xpos",                                "9"                     },
+  { "gate_2_gray.ypos",                                "2"                     },
+  { "gate_2_gray.frames",                      "1"                     },
+  { "gate_2_gray.EDITOR",                      "RocksElements.pcx"     },
+  { "gate_2_gray.EDITOR.xpos",                 "9"                     },
+  { "gate_2_gray.EDITOR.ypos",                 "14"                    },
+  { "gate_2_gray.active",                      "RocksElements.pcx"     },
+  { "gate_2_gray.active.xpos",                 "5"                     },
+  { "gate_2_gray.active.ypos",                 "2"                     },
+  { "gate_2_gray.active.frames",               "1"                     },
+  { "gate_3_gray",                             "RocksElements.pcx"     },
+  { "gate_3_gray.xpos",                                "10"                    },
+  { "gate_3_gray.ypos",                                "2"                     },
+  { "gate_3_gray.frames",                      "1"                     },
+  { "gate_3_gray.EDITOR",                      "RocksElements.pcx"     },
+  { "gate_3_gray.EDITOR.xpos",                 "10"                    },
+  { "gate_3_gray.EDITOR.ypos",                 "14"                    },
+  { "gate_3_gray.active",                      "RocksElements.pcx"     },
+  { "gate_3_gray.active.xpos",                 "6"                     },
+  { "gate_3_gray.active.ypos",                 "2"                     },
+  { "gate_3_gray.active.frames",               "1"                     },
+  { "gate_4_gray",                             "RocksElements.pcx"     },
+  { "gate_4_gray.xpos",                                "11"                    },
+  { "gate_4_gray.ypos",                                "2"                     },
+  { "gate_4_gray.frames",                      "1"                     },
+  { "gate_4_gray.EDITOR",                      "RocksElements.pcx"     },
+  { "gate_4_gray.EDITOR.xpos",                 "11"                    },
+  { "gate_4_gray.EDITOR.ypos",                 "14"                    },
+  { "gate_4_gray.active",                      "RocksElements.pcx"     },
+  { "gate_4_gray.active.xpos",                 "7"                     },
+  { "gate_4_gray.active.ypos",                 "2"                     },
+  { "gate_4_gray.active.frames",               "1"                     },
+
+  { "game_of_life",                            "RocksElements.pcx"     },
+  { "game_of_life.xpos",                       "8"                     },
+  { "game_of_life.ypos",                       "1"                     },
+  { "game_of_life.frames",                     "1"                     },
 
   { "biomaze",                                 "RocksElements.pcx"     },
   { "biomaze.xpos",                            "9"                     },
   { "biomaze.ypos",                            "1"                     },
   { "biomaze.frames",                          "1"                     },
 
+  { "pacman",                                  "RocksElements.pcx"     },
+  { "pacman.xpos",                             "8"                     },
+  { "pacman.ypos",                             "5"                     },
+  { "pacman.frames",                           "1"                     },
   { "pacman.right",                            "RocksElements.pcx"     },
   { "pacman.right.xpos",                       "8"                     },
   { "pacman.right.ypos",                       "5"                     },
   { "pacman.right.frames",                     "2"                     },
-  { "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.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.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.anim_mode",                   "reverse"               },
   { "pacman.down.delay",                       "4"                     },
   { "pacman.down.offset",                      "128"                   },
+  { "pacman.turning_from_right",               "RocksElements.pcx"     },
+  { "pacman.turning_from_right.xpos",          "12"                    },
+  { "pacman.turning_from_right.ypos",          "5"                     },
+  { "pacman.turning_from_right.frames",                "1"                     },
+  { "pacman.turning_from_up",                  "RocksElements.pcx"     },
+  { "pacman.turning_from_up.xpos",             "13"                    },
+  { "pacman.turning_from_up.ypos",             "5"                     },
+  { "pacman.turning_from_up.frames",           "1"                     },
+  { "pacman.turning_from_left",                        "RocksElements.pcx"     },
+  { "pacman.turning_from_left.xpos",           "14"                    },
+  { "pacman.turning_from_left.ypos",           "5"                     },
+  { "pacman.turning_from_left.frames",         "1"                     },
+  { "pacman.turning_from_down",                        "RocksElements.pcx"     },
+  { "pacman.turning_from_down.xpos",           "15"                    },
+  { "pacman.turning_from_down.ypos",           "5"                     },
+  { "pacman.turning_from_down.frames",         "1"                     },
 
   { "lamp",                                    "RocksElements.pcx"     },
   { "lamp.xpos",                               "0"                     },
@@ -1717,56 +2267,56 @@ struct ConfigInfo image_config[] =
   { "wall_bd_diamond.ypos",                    "8"                     },
   { "wall_bd_diamond.frames",                  "1"                     },
 
-  { "wall_growing",                            "RocksElements.pcx"     },
-  { "wall_growing.xpos",                       "11"                    },
-  { "wall_growing.ypos",                       "10"                    },
-  { "wall_growing.frames",                     "1"                     },
-  { "wall_growing_xy",                         "RocksElements.pcx"     },
-  { "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.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.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.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.anim_mode",      "linear"                },
+  { "expandable_wall",                         "RocksElements.pcx"     },
+  { "expandable_wall.xpos",                    "11"                    },
+  { "expandable_wall.ypos",                    "10"                    },
+  { "expandable_wall.frames",                  "1"                     },
+  { "expandable_wall_horizontal",              "RocksElements.pcx"     },
+  { "expandable_wall_horizontal.xpos",         "5"                     },
+  { "expandable_wall_horizontal.ypos",         "9"                     },
+  { "expandable_wall_horizontal.frames",       "1"                     },
+  { "expandable_wall_horizontal.EDITOR",       "RocksElements.pcx"     },
+  { "expandable_wall_horizontal.EDITOR.xpos",  "13"                    },
+  { "expandable_wall_horizontal.EDITOR.ypos",  "13"                    },
+  { "expandable_wall_vertical",                        "RocksElements.pcx"     },
+  { "expandable_wall_vertical.xpos",           "6"                     },
+  { "expandable_wall_vertical.ypos",           "9"                     },
+  { "expandable_wall_vertical.frames",         "1"                     },
+  { "expandable_wall_vertical.EDITOR",         "RocksElements.pcx"     },
+  { "expandable_wall_vertical.EDITOR.xpos",    "14"                    },
+  { "expandable_wall_vertical.EDITOR.ypos",    "13"                    },
+  { "expandable_wall_any",                     "RocksElements.pcx"     },
+  { "expandable_wall_any.xpos",                        "4"                     },
+  { "expandable_wall_any.ypos",                        "9"                     },
+  { "expandable_wall_any.frames",              "1"                     },
+  { "expandable_wall_any.EDITOR",              "RocksElements.pcx"     },
+  { "expandable_wall_any.EDITOR.xpos",         "12"                    },
+  { "expandable_wall_any.EDITOR.ypos",         "13"                    },
+
+  { "expandable_wall.growing.left",            "RocksElements.pcx"     },
+  { "expandable_wall.growing.left.xpos",       "8"                     },
+  { "expandable_wall.growing.left.ypos",       "10"                    },
+  { "expandable_wall.growing.left.frames",     "3"                     },
+  { "expandable_wall.growing.left.delay",      "6"                     },
+  { "expandable_wall.growing.left.anim_mode",  "linear"                },
+  { "expandable_wall.growing.right",           "RocksElements.pcx"     },
+  { "expandable_wall.growing.right.xpos",      "5"                     },
+  { "expandable_wall.growing.right.ypos",      "10"                    },
+  { "expandable_wall.growing.right.frames",    "3"                     },
+  { "expandable_wall.growing.right.delay",     "6"                     },
+  { "expandable_wall.growing.right.anim_mode", "linear"                },
+  { "expandable_wall.growing.up",              "RocksHeroes.pcx"       },
+  { "expandable_wall.growing.up.xpos",         "3"                     },
+  { "expandable_wall.growing.up.ypos",         "12"                    },
+  { "expandable_wall.growing.up.frames",       "3"                     },
+  { "expandable_wall.growing.up.delay",                "6"                     },
+  { "expandable_wall.growing.up.anim_mode",    "linear"                },
+  { "expandable_wall.growing.down",            "RocksHeroes.pcx"       },
+  { "expandable_wall.growing.down.xpos",       "0"                     },
+  { "expandable_wall.growing.down.ypos",       "12"                    },
+  { "expandable_wall.growing.down.frames",     "3"                     },
+  { "expandable_wall.growing.down.delay",      "6"                     },
+  { "expandable_wall.growing.down.anim_mode",  "linear"                },
 
   { "black_orb",                               "RocksElements.pcx"     },
   { "black_orb.xpos",                          "13"                    },
@@ -1784,48 +2334,68 @@ struct ConfigInfo image_config[] =
   { "dark_yamyam.frames",                      "4"                     },
   { "dark_yamyam.anim_mode",                   "pingpong2"             },
 
+  { "dynabomb",                                        "RocksElements.pcx"     },
+  { "dynabomb.xpos",                           "12"                    },
+  { "dynabomb.ypos",                           "11"                    },
+  { "dynabomb.frames",                         "1"                     },
   { "dynabomb.active",                         "RocksElements.pcx"     },
   { "dynabomb.active.xpos",                    "12"                    },
   { "dynabomb.active.ypos",                    "11"                    },
   { "dynabomb.active.frames",                  "4"                     },
   { "dynabomb.active.delay",                   "6"                     },
   { "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.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.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.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.anim_mode",       "pingpong"              },
-  { "dynabomb_nr",                             "RocksElements.pcx"     },
-  { "dynabomb_nr.xpos",                                "12"                    },
-  { "dynabomb_nr.ypos",                                "11"                    },
-  { "dynabomb_nr.frames",                      "1"                     },
-  { "dynabomb_sz",                             "RocksElements.pcx"     },
-  { "dynabomb_sz.xpos",                                "15"                    },
-  { "dynabomb_sz.ypos",                                "11"                    },
-  { "dynabomb_sz.frames",                      "1"                     },
-  { "dynabomb_xl",                             "RocksElements.pcx"     },
-  { "dynabomb_xl.xpos",                                "12"                    },
-  { "dynabomb_xl.ypos",                                "9"                     },
-  { "dynabomb_xl.frames",                      "1"                     },
+  { "dynabomb_player_1",                       "RocksElements.pcx"     },
+  { "dynabomb_player_1.xpos",                  "12"                    },
+  { "dynabomb_player_1.ypos",                  "11"                    },
+  { "dynabomb_player_1.frames",                        "1"                     },
+  { "dynabomb_player_1.active",                        "RocksElements.pcx"     },
+  { "dynabomb_player_1.active.xpos",           "12"                    },
+  { "dynabomb_player_1.active.ypos",           "11"                    },
+  { "dynabomb_player_1.active.frames",         "4"                     },
+  { "dynabomb_player_1.active.delay",          "6"                     },
+  { "dynabomb_player_1.active.anim_mode",      "pingpong"              },
+  { "dynabomb_player_2",                       "RocksElements.pcx"     },
+  { "dynabomb_player_2.xpos",                  "12"                    },
+  { "dynabomb_player_2.ypos",                  "11"                    },
+  { "dynabomb_player_2.frames",                        "1"                     },
+  { "dynabomb_player_2.active",                        "RocksElements.pcx"     },
+  { "dynabomb_player_2.active.xpos",           "12"                    },
+  { "dynabomb_player_2.active.ypos",           "11"                    },
+  { "dynabomb_player_2.active.frames",         "4"                     },
+  { "dynabomb_player_2.active.delay",          "6"                     },
+  { "dynabomb_player_2.active.anim_mode",      "pingpong"              },
+  { "dynabomb_player_3",                       "RocksElements.pcx"     },
+  { "dynabomb_player_3.xpos",                  "12"                    },
+  { "dynabomb_player_3.ypos",                  "11"                    },
+  { "dynabomb_player_3.frames",                        "1"                     },
+  { "dynabomb_player_3.active",                        "RocksElements.pcx"     },
+  { "dynabomb_player_3.active.xpos",           "12"                    },
+  { "dynabomb_player_3.active.ypos",           "11"                    },
+  { "dynabomb_player_3.active.frames",         "4"                     },
+  { "dynabomb_player_3.active.delay",          "6"                     },
+  { "dynabomb_player_3.active.anim_mode",      "pingpong"              },
+  { "dynabomb_player_4",                       "RocksElements.pcx"     },
+  { "dynabomb_player_4.xpos",                  "12"                    },
+  { "dynabomb_player_4.ypos",                  "11"                    },
+  { "dynabomb_player_4.frames",                        "1"                     },
+  { "dynabomb_player_4.active",                        "RocksElements.pcx"     },
+  { "dynabomb_player_4.active.xpos",           "12"                    },
+  { "dynabomb_player_4.active.ypos",           "11"                    },
+  { "dynabomb_player_4.active.frames",         "4"                     },
+  { "dynabomb_player_4.active.delay",          "6"                     },
+  { "dynabomb_player_4.active.anim_mode",      "pingpong"              },
+  { "dynabomb_increase_number",                        "RocksElements.pcx"     },
+  { "dynabomb_increase_number.xpos",           "12"                    },
+  { "dynabomb_increase_number.ypos",           "11"                    },
+  { "dynabomb_increase_number.frames",         "1"                     },
+  { "dynabomb_increase_size",                  "RocksElements.pcx"     },
+  { "dynabomb_increase_size.xpos",             "15"                    },
+  { "dynabomb_increase_size.ypos",             "11"                    },
+  { "dynabomb_increase_size.frames",           "1"                     },
+  { "dynabomb_increase_power",                 "RocksElements.pcx"     },
+  { "dynabomb_increase_power.xpos",            "12"                    },
+  { "dynabomb_increase_power.ypos",            "9"                     },
+  { "dynabomb_increase_power.frames",          "1"                     },
 
   { "pig",                                     "RocksHeroes.pcx"       },
   { "pig.xpos",                                        "8"                     },
@@ -1867,26 +2437,26 @@ struct ConfigInfo image_config[] =
   { "pig.moving.right.ypos",                   "1"                     },
   { "pig.moving.right.frames",                 "4"                     },
   { "pig.moving.right.delay",                  "2"                     },
-  { "pig.eating.down",                         "RocksHeroes.pcx"       },
-  { "pig.eating.down.xpos",                    "8"                     },
-  { "pig.eating.down.ypos",                    "0"                     },
-  { "pig.eating.down.frames",                  "4"                     },
-  { "pig.eating.down.delay",                   "2"                     },
-  { "pig.eating.up",                           "RocksHeroes.pcx"       },
-  { "pig.eating.up.xpos",                      "12"                    },
-  { "pig.eating.up.ypos",                      "0"                     },
-  { "pig.eating.up.frames",                    "4"                     },
-  { "pig.eating.up.delay",                     "2"                     },
-  { "pig.eating.left",                         "RocksHeroes.pcx"       },
-  { "pig.eating.left.xpos",                    "8"                     },
-  { "pig.eating.left.ypos",                    "1"                     },
-  { "pig.eating.left.frames",                  "4"                     },
-  { "pig.eating.left.delay",                   "2"                     },
-  { "pig.eating.right",                                "RocksHeroes.pcx"       },
-  { "pig.eating.right.xpos",                   "12"                    },
-  { "pig.eating.right.ypos",                   "1"                     },
-  { "pig.eating.right.frames",                 "4"                     },
-  { "pig.eating.right.delay",                  "2"                     },
+  { "pig.digging.down",                                "RocksHeroes.pcx"       },
+  { "pig.digging.down.xpos",                   "8"                     },
+  { "pig.digging.down.ypos",                   "0"                     },
+  { "pig.digging.down.frames",                 "4"                     },
+  { "pig.digging.down.delay",                  "2"                     },
+  { "pig.digging.up",                          "RocksHeroes.pcx"       },
+  { "pig.digging.up.xpos",                     "12"                    },
+  { "pig.digging.up.ypos",                     "0"                     },
+  { "pig.digging.up.frames",                   "4"                     },
+  { "pig.digging.up.delay",                    "2"                     },
+  { "pig.digging.left",                                "RocksHeroes.pcx"       },
+  { "pig.digging.left.xpos",                   "8"                     },
+  { "pig.digging.left.ypos",                   "1"                     },
+  { "pig.digging.left.frames",                 "4"                     },
+  { "pig.digging.left.delay",                  "2"                     },
+  { "pig.digging.right",                       "RocksHeroes.pcx"       },
+  { "pig.digging.right.xpos",                  "12"                    },
+  { "pig.digging.right.ypos",                  "1"                     },
+  { "pig.digging.right.frames",                        "4"                     },
+  { "pig.digging.right.delay",                 "2"                     },
 
   { "dragon",                                  "RocksHeroes.pcx"       },
   { "dragon.xpos",                             "8"                     },
@@ -2054,77 +2624,72 @@ struct ConfigInfo image_config[] =
   { "satellite.xpos",                          "8"                     },
   { "satellite.ypos",                          "9"                     },
   { "satellite.frames",                                "8"                     },
-  { "satellite.moving.delay",                  "2"                     },
-  { "satellite.moving",                                "RocksHeroes.pcx"       },
-  { "satellite.moving.xpos",                   "8"                     },
-  { "satellite.moving.ypos",                   "9"                     },
-  { "satellite.moving.frames",                 "8"                     },
-  { "satellite.moving.delay",                  "2"                     },
-  { "satellite.moving.global_sync",            "true"                  },
-
-  { "flames1.left",                            "RocksHeroes.pcx"       },
-  { "flames1.left.xpos",                       "8"                     },
-  { "flames1.left.ypos",                       "12"                    },
-  { "flames1.left.frames",                     "2"                     },
-  { "flames1.left.offset",                     "96"                    },
-  { "flames2.left",                            "RocksHeroes.pcx"       },
-  { "flames2.left.xpos",                       "9"                     },
-  { "flames2.left.ypos",                       "12"                    },
-  { "flames2.left.frames",                     "2"                     },
-  { "flames2.left.offset",                     "96"                    },
-  { "flames3.left",                            "RocksHeroes.pcx"       },
-  { "flames3.left.xpos",                       "10"                    },
-  { "flames3.left.ypos",                       "12"                    },
-  { "flames3.left.frames",                     "2"                     },
-  { "flames3.left.offset",                     "96"                    },
-
-  { "flames1.right",                           "RocksHeroes.pcx"       },
-  { "flames1.right.xpos",                      "8"                     },
-  { "flames1.right.ypos",                      "13"                    },
-  { "flames1.right.frames",                    "2"                     },
-  { "flames1.right.offset",                    "96"                    },
-  { "flames2.right",                           "RocksHeroes.pcx"       },
-  { "flames2.right.xpos",                      "9"                     },
-  { "flames2.right.ypos",                      "13"                    },
-  { "flames2.right.frames",                    "2"                     },
-  { "flames2.right.offset",                    "96"                    },
-  { "flames3.right",                           "RocksHeroes.pcx"       },
-  { "flames3.right.xpos",                      "10"                    },
-  { "flames3.right.ypos",                      "13"                    },
-  { "flames3.right.frames",                    "2"                     },
-  { "flames3.right.offset",                    "96"                    },
-
-  { "flames1.up",                              "RocksHeroes.pcx"       },
-  { "flames1.up.xpos",                         "8"                     },
-  { "flames1.up.ypos",                         "14"                    },
-  { "flames1.up.frames",                       "2"                     },
-  { "flames1.up.offset",                       "96"                    },
-  { "flames2.up",                              "RocksHeroes.pcx"       },
-  { "flames2.up.xpos",                         "9"                     },
-  { "flames2.up.ypos",                         "14"                    },
-  { "flames2.up.frames",                       "2"                     },
-  { "flames2.up.offset",                       "96"                    },
-  { "flames3.up",                              "RocksHeroes.pcx"       },
-  { "flames3.up.xpos",                         "10"                    },
-  { "flames3.up.ypos",                         "14"                    },
-  { "flames3.up.frames",                       "2"                     },
-  { "flames3.up.offset",                       "96"                    },
-
-  { "flames1.down",                            "RocksHeroes.pcx"       },
-  { "flames1.down.xpos",                       "8"                     },
-  { "flames1.down.ypos",                       "15"                    },
-  { "flames1.down.frames",                     "2"                     },
-  { "flames1.down.offset",                     "96"                    },
-  { "flames2.down",                            "RocksHeroes.pcx"       },
-  { "flames2.down.xpos",                       "9"                     },
-  { "flames2.down.ypos",                       "15"                    },
-  { "flames2.down.frames",                     "2"                     },
-  { "flames2.down.offset",                     "96"                    },
-  { "flames3.down",                            "RocksHeroes.pcx"       },
-  { "flames3.down.xpos",                       "10"                    },
-  { "flames3.down.ypos",                       "15"                    },
-  { "flames3.down.frames",                     "2"                     },
-  { "flames3.down.offset",                     "96"                    },
+  { "satellite.delay",                         "2"                     },
+  { "satellite.global_sync",                   "true"                  },
+
+  { "flames_1_left",                           "RocksHeroes.pcx"       },
+  { "flames_1_left.xpos",                      "8"                     },
+  { "flames_1_left.ypos",                      "12"                    },
+  { "flames_1_left.frames",                    "2"                     },
+  { "flames_1_left.offset",                    "96"                    },
+  { "flames_2_left",                           "RocksHeroes.pcx"       },
+  { "flames_2_left.xpos",                      "9"                     },
+  { "flames_2_left.ypos",                      "12"                    },
+  { "flames_2_left.frames",                    "2"                     },
+  { "flames_2_left.offset",                    "96"                    },
+  { "flames_3_left",                           "RocksHeroes.pcx"       },
+  { "flames_3_left.xpos",                      "10"                    },
+  { "flames_3_left.ypos",                      "12"                    },
+  { "flames_3_left.frames",                    "2"                     },
+  { "flames_3_left.offset",                    "96"                    },
+
+  { "flames_1_right",                          "RocksHeroes.pcx"       },
+  { "flames_1_right.xpos",                     "8"                     },
+  { "flames_1_right.ypos",                     "13"                    },
+  { "flames_1_right.frames",                   "2"                     },
+  { "flames_1_right.offset",                   "96"                    },
+  { "flames_2_right",                          "RocksHeroes.pcx"       },
+  { "flames_2_right.xpos",                     "9"                     },
+  { "flames_2_right.ypos",                     "13"                    },
+  { "flames_2_right.frames",                   "2"                     },
+  { "flames_2_right.offset",                   "96"                    },
+  { "flames_3_right",                          "RocksHeroes.pcx"       },
+  { "flames_3_right.xpos",                     "10"                    },
+  { "flames_3_right.ypos",                     "13"                    },
+  { "flames_3_right.frames",                   "2"                     },
+  { "flames_3_right.offset",                   "96"                    },
+
+  { "flames_1_up",                             "RocksHeroes.pcx"       },
+  { "flames_1_up.xpos",                                "8"                     },
+  { "flames_1_up.ypos",                                "14"                    },
+  { "flames_1_up.frames",                      "2"                     },
+  { "flames_1_up.offset",                      "96"                    },
+  { "flames_2_up",                             "RocksHeroes.pcx"       },
+  { "flames_2_up.xpos",                                "9"                     },
+  { "flames_2_up.ypos",                                "14"                    },
+  { "flames_2_up.frames",                      "2"                     },
+  { "flames_2_up.offset",                      "96"                    },
+  { "flames_3_up",                             "RocksHeroes.pcx"       },
+  { "flames_3_up.xpos",                                "10"                    },
+  { "flames_3_up.ypos",                                "14"                    },
+  { "flames_3_up.frames",                      "2"                     },
+  { "flames_3_up.offset",                      "96"                    },
+
+  { "flames_1_down",                           "RocksHeroes.pcx"       },
+  { "flames_1_down.xpos",                      "8"                     },
+  { "flames_1_down.ypos",                      "15"                    },
+  { "flames_1_down.frames",                    "2"                     },
+  { "flames_1_down.offset",                    "96"                    },
+  { "flames_2_down",                           "RocksHeroes.pcx"       },
+  { "flames_2_down.xpos",                      "9"                     },
+  { "flames_2_down.ypos",                      "15"                    },
+  { "flames_2_down.frames",                    "2"                     },
+  { "flames_2_down.offset",                    "96"                    },
+  { "flames_3_down",                           "RocksHeroes.pcx"       },
+  { "flames_3_down.xpos",                      "10"                    },
+  { "flames_3_down.ypos",                      "15"                    },
+  { "flames_3_down.frames",                    "2"                     },
+  { "flames_3_down.offset",                    "96"                    },
 
   { "stoneblock",                              "RocksElements.pcx"     },
   { "stoneblock.xpos",                         "10"                    },
@@ -2133,396 +2698,540 @@ struct ConfigInfo image_config[] =
 
   /* images for other elements and actions */
 
-  { "player1",                                 "RocksHeroes.pcx"       },
-  { "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"                     },
-  { "player1.down.frames",                     "1"                     },
-  { "player1.up",                              "RocksHeroes.pcx"       },
-  { "player1.up.xpos",                         "4"                     },
-  { "player1.up.ypos",                         "0"                     },
-  { "player1.up.frames",                       "1"                     },
-  { "player1.left",                            "RocksHeroes.pcx"       },
-  { "player1.left.xpos",                       "0"                     },
-  { "player1.left.ypos",                       "1"                     },
-  { "player1.left.frames",                     "1"                     },
-  { "player1.right",                           "RocksHeroes.pcx"       },
-  { "player1.right.xpos",                      "4"                     },
-  { "player1.right.ypos",                      "1"                     },
-  { "player1.right.frames",                    "1"                     },
-  { "player1.moving.down",                     "RocksHeroes.pcx"       },
-  { "player1.moving.down.xpos",                        "0"                     },
-  { "player1.moving.down.ypos",                        "0"                     },
-  { "player1.moving.down.frames",              "4"                     },
-  { "player1.moving.down.start_frame",         "1"                     },
-  { "player1.moving.down.delay",               "4"                     },
-  { "player1.moving.up",                       "RocksHeroes.pcx"       },
-  { "player1.moving.up.xpos",                  "4"                     },
-  { "player1.moving.up.ypos",                  "0"                     },
-  { "player1.moving.up.frames",                        "4"                     },
-  { "player1.moving.up.start_frame",           "1"                     },
-  { "player1.moving.up.delay",                 "4"                     },
-  { "player1.moving.left",                     "RocksHeroes.pcx"       },
-  { "player1.moving.left.xpos",                        "0"                     },
-  { "player1.moving.left.ypos",                        "1"                     },
-  { "player1.moving.left.frames",              "4"                     },
-  { "player1.moving.left.start_frame",         "1"                     },
-  { "player1.moving.left.delay",               "4"                     },
-  { "player1.moving.right",                    "RocksHeroes.pcx"       },
-  { "player1.moving.right.xpos",               "4"                     },
-  { "player1.moving.right.ypos",               "1"                     },
-  { "player1.moving.right.frames",             "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",              "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",                        "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",              "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",             "4"                     },
-  { "player1.snapping.down",                   "RocksHeroes.pcx"       },
-  { "player1.snapping.down.xpos",              "0"                     },
-  { "player1.snapping.down.ypos",              "0"                     },
-  { "player1.snapping.down.frames",            "1"                     },
-  { "player1.snapping.up",                     "RocksHeroes.pcx"       },
-  { "player1.snapping.up.xpos",                        "4"                     },
-  { "player1.snapping.up.ypos",                        "0"                     },
-  { "player1.snapping.up.frames",              "1"                     },
-  { "player1.snapping.left",                   "RocksHeroes.pcx"       },
-  { "player1.snapping.left.xpos",              "0"                     },
-  { "player1.snapping.left.ypos",              "1"                     },
-  { "player1.snapping.left.frames",            "1"                     },
-  { "player1.snapping.right",                  "RocksHeroes.pcx"       },
-  { "player1.snapping.right.xpos",             "4"                     },
-  { "player1.snapping.right.ypos",             "1"                     },
-  { "player1.snapping.right.frames",           "1"                     },
-
-  { "player2",                                 "RocksHeroes.pcx"       },
-  { "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"                     },
-  { "player2.down.frames",                     "1"                     },
-  { "player2.up",                              "RocksHeroes.pcx"       },
-  { "player2.up.xpos",                         "4"                     },
-  { "player2.up.ypos",                         "3"                     },
-  { "player2.up.frames",                       "1"                     },
-  { "player2.left",                            "RocksHeroes.pcx"       },
-  { "player2.left.xpos",                       "0"                     },
-  { "player2.left.ypos",                       "4"                     },
-  { "player2.left.frames",                     "1"                     },
-  { "player2.right",                           "RocksHeroes.pcx"       },
-  { "player2.right.xpos",                      "4"                     },
-  { "player2.right.ypos",                      "4"                     },
-  { "player2.right.frames",                    "1"                     },
-  { "player2.moving.down",                     "RocksHeroes.pcx"       },
-  { "player2.moving.down.xpos",                        "0"                     },
-  { "player2.moving.down.ypos",                        "3"                     },
-  { "player2.moving.down.frames",              "4"                     },
-  { "player2.moving.up",                       "RocksHeroes.pcx"       },
-  { "player2.moving.up.xpos",                  "4"                     },
-  { "player2.moving.up.ypos",                  "3"                     },
-  { "player2.moving.up.frames",                        "4"                     },
-  { "player2.moving.left",                     "RocksHeroes.pcx"       },
-  { "player2.moving.left.xpos",                        "0"                     },
-  { "player2.moving.left.ypos",                        "4"                     },
-  { "player2.moving.left.frames",              "4"                     },
-  { "player2.moving.right",                    "RocksHeroes.pcx"       },
-  { "player2.moving.right.xpos",               "4"                     },
-  { "player2.moving.right.ypos",               "4"                     },
-  { "player2.moving.right.frames",             "4"                     },
-  { "player2.digging.down",                    "RocksHeroes.pcx"       },
-  { "player2.digging.down.xpos",               "0"                     },
-  { "player2.digging.down.ypos",               "3"                     },
-  { "player2.digging.down.frames",             "4"                     },
-  { "player2.digging.up",                      "RocksHeroes.pcx"       },
-  { "player2.digging.up.xpos",                 "4"                     },
-  { "player2.digging.up.ypos",                 "3"                     },
-  { "player2.digging.up.frames",               "4"                     },
-  { "player2.digging.left",                    "RocksHeroes.pcx"       },
-  { "player2.digging.left.xpos",               "0"                     },
-  { "player2.digging.left.ypos",               "4"                     },
-  { "player2.digging.left.frames",             "4"                     },
-  { "player2.digging.right",                   "RocksHeroes.pcx"       },
-  { "player2.digging.right.xpos",              "4"                     },
-  { "player2.digging.right.ypos",              "4"                     },
-  { "player2.digging.right.frames",            "4"                     },
-  { "player2.pushing.down",                    "RocksHeroes.pcx"       },
-  { "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"                     },
-  { "player2.snapping.down.frames",            "1"                     },
-  { "player2.snapping.up",                     "RocksHeroes.pcx"       },
-  { "player2.snapping.up.xpos",                        "4"                     },
-  { "player2.snapping.up.ypos",                        "3"                     },
-  { "player2.snapping.up.frames",              "1"                     },
-  { "player2.snapping.left",                   "RocksHeroes.pcx"       },
-  { "player2.snapping.left.xpos",              "0"                     },
-  { "player2.snapping.left.ypos",              "4"                     },
-  { "player2.snapping.left.frames",            "1"                     },
-  { "player2.snapping.right",                  "RocksHeroes.pcx"       },
-  { "player2.snapping.right.xpos",             "4"                     },
-  { "player2.snapping.right.ypos",             "4"                     },
-  { "player2.snapping.right.frames",           "1"                     },
-
-  { "player3",                                 "RocksHeroes.pcx"       },
-  { "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"                     },
-  { "player3.down.frames",                     "1"                     },
-  { "player3.up",                              "RocksHeroes.pcx"       },
-  { "player3.up.xpos",                         "4"                     },
-  { "player3.up.ypos",                         "6"                     },
-  { "player3.up.frames",                       "1"                     },
-  { "player3.left",                            "RocksHeroes.pcx"       },
-  { "player3.left.xpos",                       "0"                     },
-  { "player3.left.ypos",                       "7"                     },
-  { "player3.left.frames",                     "1"                     },
-  { "player3.right",                           "RocksHeroes.pcx"       },
-  { "player3.right.xpos",                      "4"                     },
-  { "player3.right.ypos",                      "7"                     },
-  { "player3.right.frames",                    "1"                     },
-  { "player3.moving.down",                     "RocksHeroes.pcx"       },
-  { "player3.moving.down.xpos",                        "0"                     },
-  { "player3.moving.down.ypos",                        "6"                     },
-  { "player3.moving.down.frames",              "4"                     },
-  { "player3.moving.up",                       "RocksHeroes.pcx"       },
-  { "player3.moving.up.xpos",                  "4"                     },
-  { "player3.moving.up.ypos",                  "6"                     },
-  { "player3.moving.up.frames",                        "4"                     },
-  { "player3.moving.left",                     "RocksHeroes.pcx"       },
-  { "player3.moving.left.xpos",                        "0"                     },
-  { "player3.moving.left.ypos",                        "7"                     },
-  { "player3.moving.left.frames",              "4"                     },
-  { "player3.moving.right",                    "RocksHeroes.pcx"       },
-  { "player3.moving.right.xpos",               "4"                     },
-  { "player3.moving.right.ypos",               "7"                     },
-  { "player3.moving.right.frames",             "4"                     },
-  { "player3.digging.down",                    "RocksHeroes.pcx"       },
-  { "player3.digging.down.xpos",               "0"                     },
-  { "player3.digging.down.ypos",               "6"                     },
-  { "player3.digging.down.frames",             "4"                     },
-  { "player3.digging.up",                      "RocksHeroes.pcx"       },
-  { "player3.digging.up.xpos",                 "4"                     },
-  { "player3.digging.up.ypos",                 "6"                     },
-  { "player3.digging.up.frames",               "4"                     },
-  { "player3.digging.left",                    "RocksHeroes.pcx"       },
-  { "player3.digging.left.xpos",               "0"                     },
-  { "player3.digging.left.ypos",               "7"                     },
-  { "player3.digging.left.frames",             "4"                     },
-  { "player3.digging.right",                   "RocksHeroes.pcx"       },
-  { "player3.digging.right.xpos",              "4"                     },
-  { "player3.digging.right.ypos",              "7"                     },
-  { "player3.digging.right.frames",            "4"                     },
-  { "player3.pushing.down",                    "RocksHeroes.pcx"       },
-  { "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"                     },
-  { "player3.snapping.down.frames",            "1"                     },
-  { "player3.snapping.up",                     "RocksHeroes.pcx"       },
-  { "player3.snapping.up.xpos",                        "4"                     },
-  { "player3.snapping.up.ypos",                        "6"                     },
-  { "player3.snapping.up.frames",              "1"                     },
-  { "player3.snapping.left",                   "RocksHeroes.pcx"       },
-  { "player3.snapping.left.xpos",              "0"                     },
-  { "player3.snapping.left.ypos",              "7"                     },
-  { "player3.snapping.left.frames",            "1"                     },
-  { "player3.snapping.right",                  "RocksHeroes.pcx"       },
-  { "player3.snapping.right.xpos",             "4"                     },
-  { "player3.snapping.right.ypos",             "7"                     },
-  { "player3.snapping.right.frames",           "1"                     },
-
-  { "player4",                                 "RocksHeroes.pcx"       },
-  { "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"                     },
-  { "player4.down.frames",                     "1"                     },
-  { "player4.up",                              "RocksHeroes.pcx"       },
-  { "player4.up.xpos",                         "4"                     },
-  { "player4.up.ypos",                         "9"                     },
-  { "player4.up.frames",                       "1"                     },
-  { "player4.left",                            "RocksHeroes.pcx"       },
-  { "player4.left.xpos",                       "0"                     },
-  { "player4.left.ypos",                       "10"                    },
-  { "player4.left.frames",                     "1"                     },
-  { "player4.right",                           "RocksHeroes.pcx"       },
-  { "player4.right.xpos",                      "4"                     },
-  { "player4.right.ypos",                      "10"                    },
-  { "player4.right.frames",                    "1"                     },
-  { "player4.moving.down",                     "RocksHeroes.pcx"       },
-  { "player4.moving.down.xpos",                        "0"                     },
-  { "player4.moving.down.ypos",                        "9"                     },
-  { "player4.moving.down.frames",              "4"                     },
-  { "player4.moving.up",                       "RocksHeroes.pcx"       },
-  { "player4.moving.up.xpos",                  "4"                     },
-  { "player4.moving.up.ypos",                  "9"                     },
-  { "player4.moving.up.frames",                        "4"                     },
-  { "player4.moving.left",                     "RocksHeroes.pcx"       },
-  { "player4.moving.left.xpos",                        "0"                     },
-  { "player4.moving.left.ypos",                        "10"                    },
-  { "player4.moving.left.frames",              "4"                     },
-  { "player4.moving.right",                    "RocksHeroes.pcx"       },
-  { "player4.moving.right.xpos",               "4"                     },
-  { "player4.moving.right.ypos",               "10"                    },
-  { "player4.moving.right.frames",             "4"                     },
-  { "player4.digging.down",                    "RocksHeroes.pcx"       },
-  { "player4.digging.down.xpos",               "0"                     },
-  { "player4.digging.down.ypos",               "9"                     },
-  { "player4.digging.down.frames",             "4"                     },
-  { "player4.digging.up",                      "RocksHeroes.pcx"       },
-  { "player4.digging.up.xpos",                 "4"                     },
-  { "player4.digging.up.ypos",                 "9"                     },
-  { "player4.digging.up.frames",               "4"                     },
-  { "player4.digging.left",                    "RocksHeroes.pcx"       },
-  { "player4.digging.left.xpos",               "0"                     },
-  { "player4.digging.left.ypos",               "10"                    },
-  { "player4.digging.left.frames",             "4"                     },
-  { "player4.digging.right",                   "RocksHeroes.pcx"       },
-  { "player4.digging.right.xpos",              "4"                     },
-  { "player4.digging.right.ypos",              "10"                    },
-  { "player4.digging.right.frames",            "4"                     },
-  { "player4.pushing.down",                    "RocksHeroes.pcx"       },
-  { "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"                     },
-  { "player4.snapping.down.frames",            "1"                     },
-  { "player4.snapping.up",                     "RocksHeroes.pcx"       },
-  { "player4.snapping.up.xpos",                        "4"                     },
-  { "player4.snapping.up.ypos",                        "9"                     },
-  { "player4.snapping.up.frames",              "1"                     },
-  { "player4.snapping.left",                   "RocksHeroes.pcx"       },
-  { "player4.snapping.left.xpos",              "0"                     },
-  { "player4.snapping.left.ypos",              "10"                    },
-  { "player4.snapping.left.frames",            "1"                     },
-  { "player4.snapping.right",                  "RocksHeroes.pcx"       },
-  { "player4.snapping.right.xpos",             "4"                     },
-  { "player4.snapping.right.ypos",             "10"                    },
-  { "player4.snapping.right.frames",           "1"                     },
-
-  { "explosion",                               "RocksElements.pcx"     },
-  { "explosion.xpos",                          "0"                     },
-  { "explosion.ypos",                          "4"                     },
-  { "explosion.frames",                                "8"                     },
-  { "explosion.delay",                         "2"                     },
-  { "explosion.anim_mode",                     "linear"                },
+  { "player_1",                                        "RocksHeroes.pcx"       },
+  { "player_1.xpos",                           "0"                     },
+  { "player_1.ypos",                           "0"                     },
+  { "player_1.frames",                         "1"                     },
+  { "player_1.EDITOR",                         "RocksElements.pcx"     },
+  { "player_1.EDITOR.xpos",                    "4"                     },
+  { "player_1.EDITOR.ypos",                    "7"                     },
+  { "player_1.down",                           "RocksHeroes.pcx"       },
+  { "player_1.down.xpos",                      "0"                     },
+  { "player_1.down.ypos",                      "0"                     },
+  { "player_1.down.frames",                    "1"                     },
+  { "player_1.up",                             "RocksHeroes.pcx"       },
+  { "player_1.up.xpos",                                "4"                     },
+  { "player_1.up.ypos",                                "0"                     },
+  { "player_1.up.frames",                      "1"                     },
+  { "player_1.left",                           "RocksHeroes.pcx"       },
+  { "player_1.left.xpos",                      "0"                     },
+  { "player_1.left.ypos",                      "1"                     },
+  { "player_1.left.frames",                    "1"                     },
+  { "player_1.right",                          "RocksHeroes.pcx"       },
+  { "player_1.right.xpos",                     "4"                     },
+  { "player_1.right.ypos",                     "1"                     },
+  { "player_1.right.frames",                   "1"                     },
+  { "player_1.moving.down",                    "RocksHeroes.pcx"       },
+  { "player_1.moving.down.xpos",               "0"                     },
+  { "player_1.moving.down.ypos",               "0"                     },
+  { "player_1.moving.down.frames",             "4"                     },
+  { "player_1.moving.down.start_frame",                "1"                     },
+  { "player_1.moving.down.delay",              "4"                     },
+  { "player_1.moving.up",                      "RocksHeroes.pcx"       },
+  { "player_1.moving.up.xpos",                 "4"                     },
+  { "player_1.moving.up.ypos",                 "0"                     },
+  { "player_1.moving.up.frames",               "4"                     },
+  { "player_1.moving.up.start_frame",          "1"                     },
+  { "player_1.moving.up.delay",                        "4"                     },
+  { "player_1.moving.left",                    "RocksHeroes.pcx"       },
+  { "player_1.moving.left.xpos",               "0"                     },
+  { "player_1.moving.left.ypos",               "1"                     },
+  { "player_1.moving.left.frames",             "4"                     },
+  { "player_1.moving.left.start_frame",                "1"                     },
+  { "player_1.moving.left.delay",              "4"                     },
+  { "player_1.moving.right",                   "RocksHeroes.pcx"       },
+  { "player_1.moving.right.xpos",              "4"                     },
+  { "player_1.moving.right.ypos",              "1"                     },
+  { "player_1.moving.right.frames",            "4"                     },
+  { "player_1.moving.right.start_frame",       "1"                     },
+  { "player_1.moving.right.delay",             "4"                     },
+  { "player_1.digging.down",                   "RocksHeroes.pcx"       },
+  { "player_1.digging.down.xpos",              "0"                     },
+  { "player_1.digging.down.ypos",              "0"                     },
+  { "player_1.digging.down.frames",            "4"                     },
+  { "player_1.digging.down.start_frame",       "1"                     },
+  { "player_1.digging.down.delay",             "4"                     },
+  { "player_1.digging.up",                     "RocksHeroes.pcx"       },
+  { "player_1.digging.up.xpos",                        "4"                     },
+  { "player_1.digging.up.ypos",                        "0"                     },
+  { "player_1.digging.up.frames",              "4"                     },
+  { "player_1.digging.up.start_frame",         "1"                     },
+  { "player_1.digging.up.delay",               "4"                     },
+  { "player_1.digging.left",                   "RocksHeroes.pcx"       },
+  { "player_1.digging.left.xpos",              "0"                     },
+  { "player_1.digging.left.ypos",              "1"                     },
+  { "player_1.digging.left.frames",            "4"                     },
+  { "player_1.digging.left.start_frame",       "1"                     },
+  { "player_1.digging.left.delay",             "4"                     },
+  { "player_1.digging.right",                  "RocksHeroes.pcx"       },
+  { "player_1.digging.right.xpos",             "4"                     },
+  { "player_1.digging.right.ypos",             "1"                     },
+  { "player_1.digging.right.frames",           "4"                     },
+  { "player_1.digging.right.start_frame",      "1"                     },
+  { "player_1.digging.right.delay",            "4"                     },
+  { "player_1.collecting.down",                        "RocksHeroes.pcx"       },
+  { "player_1.collecting.down.xpos",           "0"                     },
+  { "player_1.collecting.down.ypos",           "0"                     },
+  { "player_1.collecting.down.frames",         "4"                     },
+  { "player_1.collecting.down.start_frame",    "1"                     },
+  { "player_1.collecting.down.delay",          "4"                     },
+  { "player_1.collecting.up",                  "RocksHeroes.pcx"       },
+  { "player_1.collecting.up.xpos",             "4"                     },
+  { "player_1.collecting.up.ypos",             "0"                     },
+  { "player_1.collecting.up.frames",           "4"                     },
+  { "player_1.collecting.up.start_frame",      "1"                     },
+  { "player_1.collecting.up.delay",            "4"                     },
+  { "player_1.collecting.left",                        "RocksHeroes.pcx"       },
+  { "player_1.collecting.left.xpos",           "0"                     },
+  { "player_1.collecting.left.ypos",           "1"                     },
+  { "player_1.collecting.left.frames",         "4"                     },
+  { "player_1.collecting.left.start_frame",    "1"                     },
+  { "player_1.collecting.left.delay",          "4"                     },
+  { "player_1.collecting.right",               "RocksHeroes.pcx"       },
+  { "player_1.collecting.right.xpos",          "4"                     },
+  { "player_1.collecting.right.ypos",          "1"                     },
+  { "player_1.collecting.right.frames",                "4"                     },
+  { "player_1.collecting.right.start_frame",   "1"                     },
+  { "player_1.collecting.right.delay",         "4"                     },
+  { "player_1.pushing.down",                   "RocksHeroes.pcx"       },
+  { "player_1.pushing.down.xpos",              "0"                     },
+  { "player_1.pushing.down.ypos",              "0"                     },
+  { "player_1.pushing.down.frames",            "4"                     },
+  { "player_1.pushing.down.delay",             "4"                     },
+  { "player_1.pushing.up",                     "RocksHeroes.pcx"       },
+  { "player_1.pushing.up.xpos",                        "4"                     },
+  { "player_1.pushing.up.ypos",                        "0"                     },
+  { "player_1.pushing.up.frames",              "4"                     },
+  { "player_1.pushing.up.delay",               "4"                     },
+  { "player_1.pushing.left",                   "RocksHeroes.pcx"       },
+  { "player_1.pushing.left.xpos",              "4"                     },
+  { "player_1.pushing.left.ypos",              "2"                     },
+  { "player_1.pushing.left.frames",            "4"                     },
+  { "player_1.pushing.left.delay",             "4"                     },
+  { "player_1.pushing.right",                  "RocksHeroes.pcx"       },
+  { "player_1.pushing.right.xpos",             "0"                     },
+  { "player_1.pushing.right.ypos",             "2"                     },
+  { "player_1.pushing.right.frames",           "4"                     },
+  { "player_1.pushing.right.delay",            "4"                     },
+  { "player_1.snapping.down",                  "RocksHeroes.pcx"       },
+  { "player_1.snapping.down.xpos",             "0"                     },
+  { "player_1.snapping.down.ypos",             "0"                     },
+  { "player_1.snapping.down.frames",           "1"                     },
+  { "player_1.snapping.up",                    "RocksHeroes.pcx"       },
+  { "player_1.snapping.up.xpos",               "4"                     },
+  { "player_1.snapping.up.ypos",               "0"                     },
+  { "player_1.snapping.up.frames",             "1"                     },
+  { "player_1.snapping.left",                  "RocksHeroes.pcx"       },
+  { "player_1.snapping.left.xpos",             "0"                     },
+  { "player_1.snapping.left.ypos",             "1"                     },
+  { "player_1.snapping.left.frames",           "1"                     },
+  { "player_1.snapping.right",                 "RocksHeroes.pcx"       },
+  { "player_1.snapping.right.xpos",            "4"                     },
+  { "player_1.snapping.right.ypos",            "1"                     },
+  { "player_1.snapping.right.frames",          "1"                     },
+
+  { "player_2",                                        "RocksHeroes.pcx"       },
+  { "player_2.xpos",                           "0"                     },
+  { "player_2.ypos",                           "3"                     },
+  { "player_2.frames",                         "1"                     },
+  { "player_2.EDITOR",                         "RocksElements.pcx"     },
+  { "player_2.EDITOR.xpos",                    "5"                     },
+  { "player_2.EDITOR.ypos",                    "7"                     },
+  { "player_2.down",                           "RocksHeroes.pcx"       },
+  { "player_2.down.xpos",                      "0"                     },
+  { "player_2.down.ypos",                      "3"                     },
+  { "player_2.down.frames",                    "1"                     },
+  { "player_2.up",                             "RocksHeroes.pcx"       },
+  { "player_2.up.xpos",                                "4"                     },
+  { "player_2.up.ypos",                                "3"                     },
+  { "player_2.up.frames",                      "1"                     },
+  { "player_2.left",                           "RocksHeroes.pcx"       },
+  { "player_2.left.xpos",                      "0"                     },
+  { "player_2.left.ypos",                      "4"                     },
+  { "player_2.left.frames",                    "1"                     },
+  { "player_2.right",                          "RocksHeroes.pcx"       },
+  { "player_2.right.xpos",                     "4"                     },
+  { "player_2.right.ypos",                     "4"                     },
+  { "player_2.right.frames",                   "1"                     },
+  { "player_2.moving.down",                    "RocksHeroes.pcx"       },
+  { "player_2.moving.down.xpos",               "0"                     },
+  { "player_2.moving.down.ypos",               "3"                     },
+  { "player_2.moving.down.frames",             "4"                     },
+  { "player_2.moving.down.start_frame",                "1"                     },
+  { "player_2.moving.down.delay",              "4"                     },
+  { "player_2.moving.up",                      "RocksHeroes.pcx"       },
+  { "player_2.moving.up.xpos",                 "4"                     },
+  { "player_2.moving.up.ypos",                 "3"                     },
+  { "player_2.moving.up.frames",               "4"                     },
+  { "player_2.moving.up.start_frame",          "1"                     },
+  { "player_2.moving.up.delay",                        "4"                     },
+  { "player_2.moving.left",                    "RocksHeroes.pcx"       },
+  { "player_2.moving.left.xpos",               "0"                     },
+  { "player_2.moving.left.ypos",               "4"                     },
+  { "player_2.moving.left.frames",             "4"                     },
+  { "player_2.moving.left.start_frame",                "1"                     },
+  { "player_2.moving.left.delay",              "4"                     },
+  { "player_2.moving.right",                   "RocksHeroes.pcx"       },
+  { "player_2.moving.right.xpos",              "4"                     },
+  { "player_2.moving.right.ypos",              "4"                     },
+  { "player_2.moving.right.frames",            "4"                     },
+  { "player_2.moving.right.start_frame",       "1"                     },
+  { "player_2.moving.right.delay",             "4"                     },
+  { "player_2.digging.down",                   "RocksHeroes.pcx"       },
+  { "player_2.digging.down.xpos",              "0"                     },
+  { "player_2.digging.down.ypos",              "3"                     },
+  { "player_2.digging.down.frames",            "4"                     },
+  { "player_2.digging.down.start_frame",       "1"                     },
+  { "player_2.digging.down.delay",             "4"                     },
+  { "player_2.digging.up",                     "RocksHeroes.pcx"       },
+  { "player_2.digging.up.xpos",                        "4"                     },
+  { "player_2.digging.up.ypos",                        "3"                     },
+  { "player_2.digging.up.frames",              "4"                     },
+  { "player_2.digging.up.start_frame",         "1"                     },
+  { "player_2.digging.up.delay",               "4"                     },
+  { "player_2.digging.left",                   "RocksHeroes.pcx"       },
+  { "player_2.digging.left.xpos",              "0"                     },
+  { "player_2.digging.left.ypos",              "4"                     },
+  { "player_2.digging.left.frames",            "4"                     },
+  { "player_2.digging.left.start_frame",       "1"                     },
+  { "player_2.digging.left.delay",             "4"                     },
+  { "player_2.digging.right",                  "RocksHeroes.pcx"       },
+  { "player_2.digging.right.xpos",             "4"                     },
+  { "player_2.digging.right.ypos",             "4"                     },
+  { "player_2.digging.right.frames",           "4"                     },
+  { "player_2.digging.right.start_frame",      "1"                     },
+  { "player_2.digging.right.delay",            "4"                     },
+  { "player_2.collecting.down",                        "RocksHeroes.pcx"       },
+  { "player_2.collecting.down.xpos",           "0"                     },
+  { "player_2.collecting.down.ypos",           "3"                     },
+  { "player_2.collecting.down.frames",         "4"                     },
+  { "player_2.collecting.down.start_frame",    "1"                     },
+  { "player_2.collecting.down.delay",          "4"                     },
+  { "player_2.collecting.up",                  "RocksHeroes.pcx"       },
+  { "player_2.collecting.up.xpos",             "4"                     },
+  { "player_2.collecting.up.ypos",             "3"                     },
+  { "player_2.collecting.up.frames",           "4"                     },
+  { "player_2.collecting.up.start_frame",      "1"                     },
+  { "player_2.collecting.up.delay",            "4"                     },
+  { "player_2.collecting.left",                        "RocksHeroes.pcx"       },
+  { "player_2.collecting.left.xpos",           "0"                     },
+  { "player_2.collecting.left.ypos",           "4"                     },
+  { "player_2.collecting.left.frames",         "4"                     },
+  { "player_2.collecting.left.start_frame",    "1"                     },
+  { "player_2.collecting.left.delay",          "4"                     },
+  { "player_2.collecting.right",               "RocksHeroes.pcx"       },
+  { "player_2.collecting.right.xpos",          "4"                     },
+  { "player_2.collecting.right.ypos",          "4"                     },
+  { "player_2.collecting.right.frames",                "4"                     },
+  { "player_2.collecting.right.start_frame",   "1"                     },
+  { "player_2.collecting.right.delay",         "4"                     },
+  { "player_2.pushing.down",                   "RocksHeroes.pcx"       },
+  { "player_2.pushing.down.xpos",              "0"                     },
+  { "player_2.pushing.down.ypos",              "3"                     },
+  { "player_2.pushing.down.frames",            "4"                     },
+  { "player_2.pushing.down.delay",             "4"                     },
+  { "player_2.pushing.up",                     "RocksHeroes.pcx"       },
+  { "player_2.pushing.up.xpos",                        "4"                     },
+  { "player_2.pushing.up.ypos",                        "3"                     },
+  { "player_2.pushing.up.frames",              "4"                     },
+  { "player_2.pushing.up.delay",               "4"                     },
+  { "player_2.pushing.left",                   "RocksHeroes.pcx"       },
+  { "player_2.pushing.left.xpos",              "4"                     },
+  { "player_2.pushing.left.ypos",              "5"                     },
+  { "player_2.pushing.left.frames",            "4"                     },
+  { "player_2.pushing.left.delay",             "4"                     },
+  { "player_2.pushing.right",                  "RocksHeroes.pcx"       },
+  { "player_2.pushing.right.xpos",             "0"                     },
+  { "player_2.pushing.right.ypos",             "5"                     },
+  { "player_2.pushing.right.frames",           "4"                     },
+  { "player_2.pushing.right.delay",            "4"                     },
+  { "player_2.snapping.down",                  "RocksHeroes.pcx"       },
+  { "player_2.snapping.down.xpos",             "0"                     },
+  { "player_2.snapping.down.ypos",             "3"                     },
+  { "player_2.snapping.down.frames",           "1"                     },
+  { "player_2.snapping.up",                    "RocksHeroes.pcx"       },
+  { "player_2.snapping.up.xpos",               "4"                     },
+  { "player_2.snapping.up.ypos",               "3"                     },
+  { "player_2.snapping.up.frames",             "1"                     },
+  { "player_2.snapping.left",                  "RocksHeroes.pcx"       },
+  { "player_2.snapping.left.xpos",             "0"                     },
+  { "player_2.snapping.left.ypos",             "4"                     },
+  { "player_2.snapping.left.frames",           "1"                     },
+  { "player_2.snapping.right",                 "RocksHeroes.pcx"       },
+  { "player_2.snapping.right.xpos",            "4"                     },
+  { "player_2.snapping.right.ypos",            "4"                     },
+  { "player_2.snapping.right.frames",          "1"                     },
+
+  { "player_3",                                        "RocksHeroes.pcx"       },
+  { "player_3.xpos",                           "0"                     },
+  { "player_3.ypos",                           "6"                     },
+  { "player_3.frames",                         "1"                     },
+  { "player_3.EDITOR",                         "RocksElements.pcx"     },
+  { "player_3.EDITOR.xpos",                    "6"                     },
+  { "player_3.EDITOR.ypos",                    "7"                     },
+  { "player_3.down",                           "RocksHeroes.pcx"       },
+  { "player_3.down.xpos",                      "0"                     },
+  { "player_3.down.ypos",                      "6"                     },
+  { "player_3.down.frames",                    "1"                     },
+  { "player_3.up",                             "RocksHeroes.pcx"       },
+  { "player_3.up.xpos",                                "4"                     },
+  { "player_3.up.ypos",                                "6"                     },
+  { "player_3.up.frames",                      "1"                     },
+  { "player_3.left",                           "RocksHeroes.pcx"       },
+  { "player_3.left.xpos",                      "0"                     },
+  { "player_3.left.ypos",                      "7"                     },
+  { "player_3.left.frames",                    "1"                     },
+  { "player_3.right",                          "RocksHeroes.pcx"       },
+  { "player_3.right.xpos",                     "4"                     },
+  { "player_3.right.ypos",                     "7"                     },
+  { "player_3.right.frames",                   "1"                     },
+  { "player_3.moving.down",                    "RocksHeroes.pcx"       },
+  { "player_3.moving.down.xpos",               "0"                     },
+  { "player_3.moving.down.ypos",               "6"                     },
+  { "player_3.moving.down.frames",             "4"                     },
+  { "player_3.moving.down.start_frame",                "1"                     },
+  { "player_3.moving.down.delay",              "4"                     },
+  { "player_3.moving.up",                      "RocksHeroes.pcx"       },
+  { "player_3.moving.up.xpos",                 "4"                     },
+  { "player_3.moving.up.ypos",                 "6"                     },
+  { "player_3.moving.up.frames",               "4"                     },
+  { "player_3.moving.up.start_frame",          "1"                     },
+  { "player_3.moving.up.delay",                        "4"                     },
+  { "player_3.moving.left",                    "RocksHeroes.pcx"       },
+  { "player_3.moving.left.xpos",               "0"                     },
+  { "player_3.moving.left.ypos",               "7"                     },
+  { "player_3.moving.left.frames",             "4"                     },
+  { "player_3.moving.left.start_frame",                "1"                     },
+  { "player_3.moving.left.delay",              "4"                     },
+  { "player_3.moving.right",                   "RocksHeroes.pcx"       },
+  { "player_3.moving.right.xpos",              "4"                     },
+  { "player_3.moving.right.ypos",              "7"                     },
+  { "player_3.moving.right.frames",            "4"                     },
+  { "player_3.moving.right.start_frame",       "1"                     },
+  { "player_3.moving.right.delay",             "4"                     },
+  { "player_3.digging.down",                   "RocksHeroes.pcx"       },
+  { "player_3.digging.down.xpos",              "0"                     },
+  { "player_3.digging.down.ypos",              "6"                     },
+  { "player_3.digging.down.frames",            "4"                     },
+  { "player_3.digging.down.start_frame",       "1"                     },
+  { "player_3.digging.down.delay",             "4"                     },
+  { "player_3.digging.up",                     "RocksHeroes.pcx"       },
+  { "player_3.digging.up.xpos",                        "4"                     },
+  { "player_3.digging.up.ypos",                        "6"                     },
+  { "player_3.digging.up.frames",              "4"                     },
+  { "player_3.digging.up.start_frame",         "1"                     },
+  { "player_3.digging.up.delay",               "4"                     },
+  { "player_3.digging.left",                   "RocksHeroes.pcx"       },
+  { "player_3.digging.left.xpos",              "0"                     },
+  { "player_3.digging.left.ypos",              "7"                     },
+  { "player_3.digging.left.frames",            "4"                     },
+  { "player_3.digging.left.start_frame",       "1"                     },
+  { "player_3.digging.left.delay",             "4"                     },
+  { "player_3.digging.right",                  "RocksHeroes.pcx"       },
+  { "player_3.digging.right.xpos",             "4"                     },
+  { "player_3.digging.right.ypos",             "7"                     },
+  { "player_3.digging.right.frames",           "4"                     },
+  { "player_3.digging.right.start_frame",      "1"                     },
+  { "player_3.digging.right.delay",            "4"                     },
+  { "player_3.collecting.down",                        "RocksHeroes.pcx"       },
+  { "player_3.collecting.down.xpos",           "0"                     },
+  { "player_3.collecting.down.ypos",           "6"                     },
+  { "player_3.collecting.down.frames",         "4"                     },
+  { "player_3.collecting.down.start_frame",    "1"                     },
+  { "player_3.collecting.down.delay",          "4"                     },
+  { "player_3.collecting.up",                  "RocksHeroes.pcx"       },
+  { "player_3.collecting.up.xpos",             "4"                     },
+  { "player_3.collecting.up.ypos",             "6"                     },
+  { "player_3.collecting.up.frames",           "4"                     },
+  { "player_3.collecting.up.start_frame",      "1"                     },
+  { "player_3.collecting.up.delay",            "4"                     },
+  { "player_3.collecting.left",                        "RocksHeroes.pcx"       },
+  { "player_3.collecting.left.xpos",           "0"                     },
+  { "player_3.collecting.left.ypos",           "7"                     },
+  { "player_3.collecting.left.frames",         "4"                     },
+  { "player_3.collecting.left.start_frame",    "1"                     },
+  { "player_3.collecting.left.delay",          "4"                     },
+  { "player_3.collecting.right",               "RocksHeroes.pcx"       },
+  { "player_3.collecting.right.xpos",          "4"                     },
+  { "player_3.collecting.right.ypos",          "7"                     },
+  { "player_3.collecting.right.frames",                "4"                     },
+  { "player_3.collecting.right.start_frame",   "1"                     },
+  { "player_3.collecting.right.delay",         "4"                     },
+  { "player_3.pushing.down",                   "RocksHeroes.pcx"       },
+  { "player_3.pushing.down.xpos",              "0"                     },
+  { "player_3.pushing.down.ypos",              "6"                     },
+  { "player_3.pushing.down.frames",            "4"                     },
+  { "player_3.pushing.down.delay",             "4"                     },
+  { "player_3.pushing.up",                     "RocksHeroes.pcx"       },
+  { "player_3.pushing.up.xpos",                        "4"                     },
+  { "player_3.pushing.up.ypos",                        "6"                     },
+  { "player_3.pushing.up.frames",              "4"                     },
+  { "player_3.pushing.up.delay",               "4"                     },
+  { "player_3.pushing.left",                   "RocksHeroes.pcx"       },
+  { "player_3.pushing.left.xpos",              "4"                     },
+  { "player_3.pushing.left.ypos",              "8"                     },
+  { "player_3.pushing.left.frames",            "4"                     },
+  { "player_3.pushing.left.delay",             "4"                     },
+  { "player_3.pushing.right",                  "RocksHeroes.pcx"       },
+  { "player_3.pushing.right.xpos",             "0"                     },
+  { "player_3.pushing.right.ypos",             "8"                     },
+  { "player_3.pushing.right.frames",           "4"                     },
+  { "player_3.pushing.right.delay",            "4"                     },
+  { "player_3.snapping.down",                  "RocksHeroes.pcx"       },
+  { "player_3.snapping.down.xpos",             "0"                     },
+  { "player_3.snapping.down.ypos",             "6"                     },
+  { "player_3.snapping.down.frames",           "1"                     },
+  { "player_3.snapping.up",                    "RocksHeroes.pcx"       },
+  { "player_3.snapping.up.xpos",               "4"                     },
+  { "player_3.snapping.up.ypos",               "6"                     },
+  { "player_3.snapping.up.frames",             "1"                     },
+  { "player_3.snapping.left",                  "RocksHeroes.pcx"       },
+  { "player_3.snapping.left.xpos",             "0"                     },
+  { "player_3.snapping.left.ypos",             "7"                     },
+  { "player_3.snapping.left.frames",           "1"                     },
+  { "player_3.snapping.right",                 "RocksHeroes.pcx"       },
+  { "player_3.snapping.right.xpos",            "4"                     },
+  { "player_3.snapping.right.ypos",            "7"                     },
+  { "player_3.snapping.right.frames",          "1"                     },
+
+  { "player_4",                                        "RocksHeroes.pcx"       },
+  { "player_4.xpos",                           "0"                     },
+  { "player_4.ypos",                           "9"                     },
+  { "player_4.frames",                         "1"                     },
+  { "player_4.EDITOR",                         "RocksElements.pcx"     },
+  { "player_4.EDITOR.xpos",                    "7"                     },
+  { "player_4.EDITOR.ypos",                    "7"                     },
+  { "player_4.down",                           "RocksHeroes.pcx"       },
+  { "player_4.down.xpos",                      "0"                     },
+  { "player_4.down.ypos",                      "9"                     },
+  { "player_4.down.frames",                    "1"                     },
+  { "player_4.up",                             "RocksHeroes.pcx"       },
+  { "player_4.up.xpos",                                "4"                     },
+  { "player_4.up.ypos",                                "9"                     },
+  { "player_4.up.frames",                      "1"                     },
+  { "player_4.left",                           "RocksHeroes.pcx"       },
+  { "player_4.left.xpos",                      "0"                     },
+  { "player_4.left.ypos",                      "10"                    },
+  { "player_4.left.frames",                    "1"                     },
+  { "player_4.right",                          "RocksHeroes.pcx"       },
+  { "player_4.right.xpos",                     "4"                     },
+  { "player_4.right.ypos",                     "10"                    },
+  { "player_4.right.frames",                   "1"                     },
+  { "player_4.moving.down",                    "RocksHeroes.pcx"       },
+  { "player_4.moving.down.xpos",               "0"                     },
+  { "player_4.moving.down.ypos",               "9"                     },
+  { "player_4.moving.down.frames",             "4"                     },
+  { "player_4.moving.down.start_frame",                "1"                     },
+  { "player_4.moving.down.delay",              "4"                     },
+  { "player_4.moving.up",                      "RocksHeroes.pcx"       },
+  { "player_4.moving.up.xpos",                 "4"                     },
+  { "player_4.moving.up.ypos",                 "9"                     },
+  { "player_4.moving.up.frames",               "4"                     },
+  { "player_4.moving.up.start_frame",          "1"                     },
+  { "player_4.moving.up.delay",                        "4"                     },
+  { "player_4.moving.left",                    "RocksHeroes.pcx"       },
+  { "player_4.moving.left.xpos",               "0"                     },
+  { "player_4.moving.left.ypos",               "10"                    },
+  { "player_4.moving.left.frames",             "4"                     },
+  { "player_4.moving.left.start_frame",                "1"                     },
+  { "player_4.moving.left.delay",              "4"                     },
+  { "player_4.moving.right",                   "RocksHeroes.pcx"       },
+  { "player_4.moving.right.xpos",              "4"                     },
+  { "player_4.moving.right.ypos",              "10"                    },
+  { "player_4.moving.right.frames",            "4"                     },
+  { "player_4.moving.right.start_frame",       "1"                     },
+  { "player_4.moving.right.delay",             "4"                     },
+  { "player_4.digging.down",                   "RocksHeroes.pcx"       },
+  { "player_4.digging.down.xpos",              "0"                     },
+  { "player_4.digging.down.ypos",              "9"                     },
+  { "player_4.digging.down.frames",            "4"                     },
+  { "player_4.digging.down.start_frame",       "1"                     },
+  { "player_4.digging.down.delay",             "4"                     },
+  { "player_4.digging.up",                     "RocksHeroes.pcx"       },
+  { "player_4.digging.up.xpos",                        "4"                     },
+  { "player_4.digging.up.ypos",                        "9"                     },
+  { "player_4.digging.up.frames",              "4"                     },
+  { "player_4.digging.up.start_frame",         "1"                     },
+  { "player_4.digging.up.delay",               "4"                     },
+  { "player_4.digging.left",                   "RocksHeroes.pcx"       },
+  { "player_4.digging.left.xpos",              "0"                     },
+  { "player_4.digging.left.ypos",              "10"                    },
+  { "player_4.digging.left.frames",            "4"                     },
+  { "player_4.digging.left.start_frame",       "1"                     },
+  { "player_4.digging.left.delay",             "4"                     },
+  { "player_4.digging.right",                  "RocksHeroes.pcx"       },
+  { "player_4.digging.right.xpos",             "4"                     },
+  { "player_4.digging.right.ypos",             "10"                    },
+  { "player_4.digging.right.frames",           "4"                     },
+  { "player_4.digging.right.start_frame",      "1"                     },
+  { "player_4.digging.right.delay",            "4"                     },
+  { "player_4.collecting.down",                        "RocksHeroes.pcx"       },
+  { "player_4.collecting.down.xpos",           "0"                     },
+  { "player_4.collecting.down.ypos",           "9"                     },
+  { "player_4.collecting.down.frames",         "4"                     },
+  { "player_4.collecting.down.start_frame",    "1"                     },
+  { "player_4.collecting.down.delay",          "4"                     },
+  { "player_4.collecting.up",                  "RocksHeroes.pcx"       },
+  { "player_4.collecting.up.xpos",             "4"                     },
+  { "player_4.collecting.up.ypos",             "9"                     },
+  { "player_4.collecting.up.frames",           "4"                     },
+  { "player_4.collecting.up.start_frame",      "1"                     },
+  { "player_4.collecting.up.delay",            "4"                     },
+  { "player_4.collecting.left",                        "RocksHeroes.pcx"       },
+  { "player_4.collecting.left.xpos",           "0"                     },
+  { "player_4.collecting.left.ypos",           "10"                    },
+  { "player_4.collecting.left.frames",         "4"                     },
+  { "player_4.collecting.left.start_frame",    "1"                     },
+  { "player_4.collecting.left.delay",          "4"                     },
+  { "player_4.collecting.right",               "RocksHeroes.pcx"       },
+  { "player_4.collecting.right.xpos",          "4"                     },
+  { "player_4.collecting.right.ypos",          "10"                    },
+  { "player_4.collecting.right.frames",                "4"                     },
+  { "player_4.collecting.right.start_frame",   "1"                     },
+  { "player_4.collecting.right.delay",         "4"                     },
+  { "player_4.pushing.down",                   "RocksHeroes.pcx"       },
+  { "player_4.pushing.down.xpos",              "0"                     },
+  { "player_4.pushing.down.ypos",              "9"                     },
+  { "player_4.pushing.down.frames",            "4"                     },
+  { "player_4.pushing.down.delay",             "4"                     },
+  { "player_4.pushing.up",                     "RocksHeroes.pcx"       },
+  { "player_4.pushing.up.xpos",                        "4"                     },
+  { "player_4.pushing.up.ypos",                        "9"                     },
+  { "player_4.pushing.up.frames",              "4"                     },
+  { "player_4.pushing.up.delay",               "4"                     },
+  { "player_4.pushing.left",                   "RocksHeroes.pcx"       },
+  { "player_4.pushing.left.xpos",              "4"                     },
+  { "player_4.pushing.left.ypos",              "11"                    },
+  { "player_4.pushing.left.frames",            "4"                     },
+  { "player_4.pushing.left.delay",             "4"                     },
+  { "player_4.pushing.right",                  "RocksHeroes.pcx"       },
+  { "player_4.pushing.right.xpos",             "0"                     },
+  { "player_4.pushing.right.ypos",             "11"                    },
+  { "player_4.pushing.right.frames",           "4"                     },
+  { "player_4.pushing.right.delay",            "4"                     },
+  { "player_4.snapping.down",                  "RocksHeroes.pcx"       },
+  { "player_4.snapping.down.xpos",             "0"                     },
+  { "player_4.snapping.down.ypos",             "9"                     },
+  { "player_4.snapping.down.frames",           "1"                     },
+  { "player_4.snapping.up",                    "RocksHeroes.pcx"       },
+  { "player_4.snapping.up.xpos",               "4"                     },
+  { "player_4.snapping.up.ypos",               "9"                     },
+  { "player_4.snapping.up.frames",             "1"                     },
+  { "player_4.snapping.left",                  "RocksHeroes.pcx"       },
+  { "player_4.snapping.left.xpos",             "0"                     },
+  { "player_4.snapping.left.ypos",             "10"                    },
+  { "player_4.snapping.left.frames",           "1"                     },
+  { "player_4.snapping.right",                 "RocksHeroes.pcx"       },
+  { "player_4.snapping.right.xpos",            "4"                     },
+  { "player_4.snapping.right.ypos",            "10"                    },
+  { "player_4.snapping.right.frames",          "1"                     },
+
+  { "[default].exploding",                     "RocksElements.pcx"     },
+  { "[default].exploding.xpos",                        "0"                     },
+  { "[default].exploding.ypos",                        "4"                     },
+  { "[default].exploding.frames",              "8"                     },
+  { "[default].exploding.delay",               "2"                     },
+  { "[default].exploding.anim_mode",           "linear"                },
 
   { "twinkle_blue",                            "RocksHeroes.pcx"       },
   { "twinkle_blue.xpos",                       "9"                     },
@@ -2644,12 +3353,325 @@ struct ConfigInfo image_config[] =
   { "arrow_down.ypos",                         "8"                     },
   { "arrow_down.frames",                       "1"                     },
 
+  { "unknown",                                 "RocksFontEM.pcx"       },
+  { "unknown.xpos",                            "15"                    },
+  { "unknown.ypos",                            "1"                     },
+  { "unknown.frames",                          "1"                     },
+
+  { "trigger_element",                         "RocksDC.pcx"           },
+  { "trigger_element.xpos",                    "15"                    },
+  { "trigger_element.ypos",                    "14"                    },
+  { "trigger_element.frames",                  "1"                     },
+
+  { "trigger_player",                          "RocksDC.pcx"           },
+  { "trigger_player.xpos",                     "15"                    },
+  { "trigger_player.ypos",                     "13"                    },
+  { "trigger_player.frames",                   "1"                     },
+
+  { "emc_key_5",                               "RocksEMC.pcx"          },
+  { "emc_key_5.xpos",                          "0"                     },
+  { "emc_key_5.ypos",                          "5"                     },
+  { "emc_key_5.frames",                                "1"                     },
+  { "emc_key_6",                               "RocksEMC.pcx"          },
+  { "emc_key_6.xpos",                          "1"                     },
+  { "emc_key_6.ypos",                          "5"                     },
+  { "emc_key_6.frames",                                "1"                     },
+  { "emc_key_7",                               "RocksEMC.pcx"          },
+  { "emc_key_7.xpos",                          "2"                     },
+  { "emc_key_7.ypos",                          "5"                     },
+  { "emc_key_7.frames",                                "1"                     },
+  { "emc_key_8",                               "RocksEMC.pcx"          },
+  { "emc_key_8.xpos",                          "3"                     },
+  { "emc_key_8.ypos",                          "5"                     },
+  { "emc_key_8.frames",                                "1"                     },
+
+  { "emc_gate_5",                              "RocksEMC.pcx"          },
+  { "emc_gate_5.xpos",                         "0"                     },
+  { "emc_gate_5.ypos",                         "6"                     },
+  { "emc_gate_5.frames",                       "1"                     },
+  { "emc_gate_6",                              "RocksEMC.pcx"          },
+  { "emc_gate_6.xpos",                         "1"                     },
+  { "emc_gate_6.ypos",                         "6"                     },
+  { "emc_gate_6.frames",                       "1"                     },
+  { "emc_gate_7",                              "RocksEMC.pcx"          },
+  { "emc_gate_7.xpos",                         "2"                     },
+  { "emc_gate_7.ypos",                         "6"                     },
+  { "emc_gate_7.frames",                       "1"                     },
+  { "emc_gate_8",                              "RocksEMC.pcx"          },
+  { "emc_gate_8.xpos",                         "3"                     },
+  { "emc_gate_8.ypos",                         "6"                     },
+  { "emc_gate_8.frames",                       "1"                     },
+  { "emc_gate_5_gray",                         "RocksEMC.pcx"          },
+  { "emc_gate_5_gray.xpos",                    "4"                     },
+  { "emc_gate_5_gray.ypos",                    "7"                     },
+  { "emc_gate_5_gray.frames",                  "1"                     },
+  { "emc_gate_5_gray.EDITOR",                  "RocksEMC.pcx"          },
+  { "emc_gate_5_gray.EDITOR.xpos",             "0"                     },
+  { "emc_gate_5_gray.EDITOR.ypos",             "7"                     },
+  { "emc_gate_5_gray.active",                  "RocksEMC.pcx"          },
+  { "emc_gate_5_gray.active.xpos",             "0"                     },
+  { "emc_gate_5_gray.active.ypos",             "6"                     },
+  { "emc_gate_5_gray.active.frames",           "1"                     },
+  { "emc_gate_6_gray",                         "RocksEMC.pcx"          },
+  { "emc_gate_6_gray.xpos",                    "4"                     },
+  { "emc_gate_6_gray.ypos",                    "7"                     },
+  { "emc_gate_6_gray.frames",                  "1"                     },
+  { "emc_gate_6_gray.EDITOR",                  "RocksEMC.pcx"          },
+  { "emc_gate_6_gray.EDITOR.xpos",             "1"                     },
+  { "emc_gate_6_gray.EDITOR.ypos",             "7"                     },
+  { "emc_gate_6_gray.active",                  "RocksEMC.pcx"          },
+  { "emc_gate_6_gray.active.xpos",             "1"                     },
+  { "emc_gate_6_gray.active.ypos",             "6"                     },
+  { "emc_gate_6_gray.active.frames",           "1"                     },
+  { "emc_gate_7_gray",                         "RocksEMC.pcx"          },
+  { "emc_gate_7_gray.xpos",                    "4"                     },
+  { "emc_gate_7_gray.ypos",                    "7"                     },
+  { "emc_gate_7_gray.frames",                  "1"                     },
+  { "emc_gate_7_gray.EDITOR",                  "RocksEMC.pcx"          },
+  { "emc_gate_7_gray.EDITOR.xpos",             "2"                     },
+  { "emc_gate_7_gray.EDITOR.ypos",             "7"                     },
+  { "emc_gate_7_gray.active",                  "RocksEMC.pcx"          },
+  { "emc_gate_7_gray.active.xpos",             "2"                     },
+  { "emc_gate_7_gray.active.ypos",             "6"                     },
+  { "emc_gate_7_gray.active.frames",           "1"                     },
+  { "emc_gate_8_gray",                         "RocksEMC.pcx"          },
+  { "emc_gate_8_gray.xpos",                    "4"                     },
+  { "emc_gate_8_gray.ypos",                    "7"                     },
+  { "emc_gate_8_gray.frames",                  "1"                     },
+  { "emc_gate_8_gray.EDITOR",                  "RocksEMC.pcx"          },
+  { "emc_gate_8_gray.EDITOR.xpos",             "3"                     },
+  { "emc_gate_8_gray.EDITOR.ypos",             "7"                     },
+  { "emc_gate_8_gray.active",                  "RocksEMC.pcx"          },
+  { "emc_gate_8_gray.active.xpos",             "3"                     },
+  { "emc_gate_8_gray.active.ypos",             "6"                     },
+  { "emc_gate_8_gray.active.frames",           "1"                     },
+
+  { "emc_android",                             "RocksEMC.pcx"          },
+  { "emc_android.xpos",                                "0"                     },
+  { "emc_android.ypos",                                "8"                     },
+  { "emc_android.frames",                      "8"                     },
+  { "emc_android.delay",                       "2"                     },
+
+  { "emc_grass",                               "RocksEMC.pcx"          },
+  { "emc_grass.xpos",                          "0"                     },
+  { "emc_grass.ypos",                          "4"                     },
+  { "emc_grass.frames",                                "1"                     },
+  { "emc_grass.CRUMBLED",                      "RocksEMC.pcx"          },
+  { "emc_grass.CRUMBLED.xpos",                 "1"                     },
+  { "emc_grass.CRUMBLED.ypos",                 "4"                     },
+  { "emc_grass.CRUMBLED.frames",               "1"                     },
+  { "emc_grass.digging.left",                  "RocksEMC.pcx"          },
+  { "emc_grass.digging.left.xpos",             "6"                     },
+  { "emc_grass.digging.left.ypos",             "0"                     },
+  { "emc_grass.digging.left.frames",           "3"                     },
+  { "emc_grass.digging.left.delay",            "2"                     },
+  { "emc_grass.digging.left.anim_mode",                "linear"                },
+  { "emc_grass.digging.right",                 "RocksEMC.pcx"          },
+  { "emc_grass.digging.right.xpos",            "9"                     },
+  { "emc_grass.digging.right.ypos",            "0"                     },
+  { "emc_grass.digging.right.frames",          "3"                     },
+  { "emc_grass.digging.right.delay",           "2"                     },
+  { "emc_grass.digging.right.anim_mode",       "linear"                },
+  { "emc_grass.digging.up",                    "RocksEMC.pcx"          },
+  { "emc_grass.digging.up.xpos",               "0"                     },
+  { "emc_grass.digging.up.ypos",               "0"                     },
+  { "emc_grass.digging.up.frames",             "3"                     },
+  { "emc_grass.digging.up.delay",              "2"                     },
+  { "emc_grass.digging.up.anim_mode",          "linear"                },
+  { "emc_grass.digging.down",                  "RocksEMC.pcx"          },
+  { "emc_grass.digging.down.xpos",             "3"                     },
+  { "emc_grass.digging.down.ypos",             "0"                     },
+  { "emc_grass.digging.down.frames",           "3"                     },
+  { "emc_grass.digging.down.delay",            "2"                     },
+  { "emc_grass.digging.down.anim_mode",                "linear"                },
+  { "emc_grass.digging.left.CRUMBLED",         "RocksEMC.pcx"          },
+  { "emc_grass.digging.left.CRUMBLED.xpos",    "6"                     },
+  { "emc_grass.digging.left.CRUMBLED.ypos",    "1"                     },
+  { "emc_grass.digging.left.CRUMBLED.frames",  "3"                     },
+  { "emc_grass.digging.left.CRUMBLED.delay",   "2"                     },
+  { "emc_grass.digging.left.CRUMBLED.anim_mode","linear"               },
+  { "emc_grass.digging.right.CRUMBLED",                "RocksEMC.pcx"          },
+  { "emc_grass.digging.right.CRUMBLED.xpos",   "9"                     },
+  { "emc_grass.digging.right.CRUMBLED.ypos",   "1"                     },
+  { "emc_grass.digging.right.CRUMBLED.frames", "3"                     },
+  { "emc_grass.digging.right.CRUMBLED.delay",  "2"                     },
+  { "emc_grass.digging.right.CRUMBLED.anim_mode","linear"              },
+  { "emc_grass.digging.up.CRUMBLED",           "RocksEMC.pcx"          },
+  { "emc_grass.digging.up.CRUMBLED.xpos",      "0"                     },
+  { "emc_grass.digging.up.CRUMBLED.ypos",      "1"                     },
+  { "emc_grass.digging.up.CRUMBLED.frames",    "3"                     },
+  { "emc_grass.digging.up.CRUMBLED.delay",     "2"                     },
+  { "emc_grass.digging.up.CRUMBLED.anim_mode", "linear"                },
+  { "emc_grass.digging.down.CRUMBLED",         "RocksEMC.pcx"          },
+  { "emc_grass.digging.down.CRUMBLED.xpos",    "3"                     },
+  { "emc_grass.digging.down.CRUMBLED.ypos",    "1"                     },
+  { "emc_grass.digging.down.CRUMBLED.frames",  "3"                     },
+  { "emc_grass.digging.down.CRUMBLED.delay",   "2"                     },
+  { "emc_grass.digging.down.CRUMBLED.anim_mode","linear"               },
+
+  { "emc_magic_ball",                          "RocksEMC.pcx"          },
+  { "emc_magic_ball.xpos",                     "0"                     },
+  { "emc_magic_ball.ypos",                     "9"                     },
+  { "emc_magic_ball.frames",                   "1"                     },
+  { "emc_magic_ball.active",                   "RocksEMC.pcx"          },
+  { "emc_magic_ball.active.xpos",              "0"                     },
+  { "emc_magic_ball.active.ypos",              "9"                     },
+  { "emc_magic_ball.active.frames",            "16"                    },
+  { "emc_magic_ball.active.frames_per_line",   "8"                     },
+  { "emc_magic_ball.dropping",                 "RocksElements.pcx"     },
+  { "emc_magic_ball.dropping.xpos",            "0"                     },
+  { "emc_magic_ball.dropping.ypos",            "4"                     },
+  { "emc_magic_ball.dropping.frames",          "8"                     },
+  { "emc_magic_ball.dropping.anim_mode",       "linear"                },
+
+  { "emc_magic_ball_switch",                   "RocksEMC.pcx"          },
+  { "emc_magic_ball_switch.xpos",              "8"                     },
+  { "emc_magic_ball_switch.ypos",              "10"                    },
+  { "emc_magic_ball_switch.frames",            "1"                     },
+  { "emc_magic_ball_switch.active",            "RocksEMC.pcx"          },
+  { "emc_magic_ball_switch.active.xpos",       "8"                     },
+  { "emc_magic_ball_switch.active.ypos",       "9"                     },
+  { "emc_magic_ball_switch.active.frames",     "1"                     },
+
+  { "emc_spring_bumper",                       "RocksEMC.pcx"          },
+  { "emc_spring_bumper.xpos",                  "8"                     },
+  { "emc_spring_bumper.ypos",                  "4"                     },
+  { "emc_spring_bumper.frames",                        "1"                     },
+
+  { "emc_spring_bumper.active",                        "RocksEMC.pcx"          },
+  { "emc_spring_bumper.active.xpos",           "8"                     },
+  { "emc_spring_bumper.active.ypos",           "4"                     },
+  { "emc_spring_bumper.active.frames",         "4"                     },
+  { "emc_spring_bumper.active.anim_mode",      "pingpong2"             },
+
+  { "emc_plant",                               "RocksEMC.pcx"          },
+  { "emc_plant.xpos",                          "4"                     },
+  { "emc_plant.ypos",                          "4"                     },
+  { "emc_plant.frames",                                "1"                     },
+  { "emc_plant.CRUMBLED",                      "RocksEMC.pcx"          },
+  { "emc_plant.CRUMBLED.xpos",                 "5"                     },
+  { "emc_plant.CRUMBLED.ypos",                 "4"                     },
+  { "emc_plant.CRUMBLED.frames",               "1"                     },
+
+  { "emc_lenses",                              "RocksEMC.pcx"          },
+  { "emc_lenses.xpos",                         "6"                     },
+  { "emc_lenses.ypos",                         "4"                     },
+  { "emc_lenses.frames",                       "1"                     },
+
+  { "emc_magnifier",                           "RocksEMC.pcx"          },
+  { "emc_magnifier.xpos",                      "7"                     },
+  { "emc_magnifier.ypos",                      "4"                     },
+  { "emc_magnifier.frames",                    "1"                     },
+
+  { "emc_wall_9",                              "RocksEMC.pcx"          },
+  { "emc_wall_9.xpos",                         "10"                    },
+  { "emc_wall_9.ypos",                         "5"                     },
+  { "emc_wall_9.frames",                       "1"                     },
+  { "emc_wall_10",                             "RocksEMC.pcx"          },
+  { "emc_wall_10.xpos",                                "10"                    },
+  { "emc_wall_10.ypos",                                "6"                     },
+  { "emc_wall_10.frames",                      "1"                     },
+  { "emc_wall_11",                             "RocksEMC.pcx"          },
+  { "emc_wall_11.xpos",                                "11"                    },
+  { "emc_wall_11.ypos",                                "5"                     },
+  { "emc_wall_11.frames",                      "1"                     },
+  { "emc_wall_12",                             "RocksEMC.pcx"          },
+  { "emc_wall_12.xpos",                                "11"                    },
+  { "emc_wall_12.ypos",                                "6"                     },
+  { "emc_wall_12.frames",                      "1"                     },
+  { "emc_wall_13",                             "RocksEMC.pcx"          },
+  { "emc_wall_13.xpos",                                "10"                    },
+  { "emc_wall_13.ypos",                                "7"                     },
+  { "emc_wall_13.frames",                      "1"                     },
+  { "emc_wall_14",                             "RocksEMC.pcx"          },
+  { "emc_wall_14.xpos",                                "10"                    },
+  { "emc_wall_14.ypos",                                "8"                     },
+  { "emc_wall_14.frames",                      "1"                     },
+  { "emc_wall_15",                             "RocksEMC.pcx"          },
+  { "emc_wall_15.xpos",                                "10"                    },
+  { "emc_wall_15.ypos",                                "9"                     },
+  { "emc_wall_15.frames",                      "1"                     },
+  { "emc_wall_16",                             "RocksEMC.pcx"          },
+  { "emc_wall_16.xpos",                                "10"                    },
+  { "emc_wall_16.ypos",                                "10"                    },
+  { "emc_wall_16.frames",                      "1"                     },
+
+  { "emc_wall_slippery_1",                     "RocksEMC.pcx"          },
+  { "emc_wall_slippery_1.xpos",                        "11"                    },
+  { "emc_wall_slippery_1.ypos",                        "7"                     },
+  { "emc_wall_slippery_1.frames",              "1"                     },
+  { "emc_wall_slippery_2",                     "RocksEMC.pcx"          },
+  { "emc_wall_slippery_2.xpos",                        "11"                    },
+  { "emc_wall_slippery_2.ypos",                        "8"                     },
+  { "emc_wall_slippery_2.frames",              "1"                     },
+  { "emc_wall_slippery_3",                     "RocksEMC.pcx"          },
+  { "emc_wall_slippery_3.xpos",                        "11"                    },
+  { "emc_wall_slippery_3.ypos",                        "9"                     },
+  { "emc_wall_slippery_3.frames",              "1"                     },
+  { "emc_wall_slippery_4",                     "RocksEMC.pcx"          },
+  { "emc_wall_slippery_4.xpos",                        "11"                    },
+  { "emc_wall_slippery_4.ypos",                        "10"                    },
+  { "emc_wall_slippery_4.frames",              "1"                     },
+
+  { "emc_fake_grass",                          "RocksEMC.pcx"          },
+  { "emc_fake_grass.xpos",                     "0"                     },
+  { "emc_fake_grass.ypos",                     "4"                     },
+  { "emc_fake_grass.frames",                   "1"                     },
+  { "emc_fake_grass.CRUMBLED",                 "RocksEMC.pcx"          },
+  { "emc_fake_grass.CRUMBLED.xpos",            "1"                     },
+  { "emc_fake_grass.CRUMBLED.ypos",            "4"                     },
+  { "emc_fake_grass.CRUMBLED.frames",          "1"                     },
+  { "emc_fake_grass.active",                   "RocksEMC.pcx"          },
+  { "emc_fake_grass.active.xpos",              "2"                     },
+  { "emc_fake_grass.active.ypos",              "4"                     },
+  { "emc_fake_grass.active.frames",            "1"                     },
+  { "emc_fake_grass.active.CRUMBLED",          "RocksEMC.pcx"          },
+  { "emc_fake_grass.active.CRUMBLED.xpos",     "3"                     },
+  { "emc_fake_grass.active.CRUMBLED.ypos",     "4"                     },
+  { "emc_fake_grass.active.CRUMBLED.frames",   "1"                     },
+
+  { "emc_fake_acid",                           "RocksElements.pcx"     },
+  { "emc_fake_acid.xpos",                      "12"                    },
+  { "emc_fake_acid.ypos",                      "7"                     },
+  { "emc_fake_acid.frames",                    "4"                     },
+  { "emc_fake_acid.delay",                     "10"                    },
+  { "emc_fake_acid.global_sync",               "true"                  },
+
+  { "emc_dripper",                             "RocksSP.pcx"           },
+  { "emc_dripper.xpos",                                "0"                     },
+  { "emc_dripper.ypos",                                "0"                     },
+  { "emc_dripper.frames",                      "1"                     },
+  { "emc_dripper.EDITOR",                      "RocksEMC.pcx"          },
+  { "emc_dripper.EDITOR.xpos",                 "8"                     },
+  { "emc_dripper.EDITOR.ypos",                 "8"                     },
+  { "emc_dripper.active",                      "RocksEMC.pcx"          },
+  { "emc_dripper.active.xpos",                 "8"                     },
+  { "emc_dripper.active.ypos",                 "8"                     },
+  { "emc_dripper.active.frames",               "1"                     },
+
 #include "conf_chr.c"  /* include auto-generated data structure definitions */
 #include "conf_cus.c"  /* include auto-generated data structure definitions */
+#include "conf_grp.c"  /* include auto-generated data structure definitions */
 
   /* images not associated to game elements (used for menu screens etc.) */
   /* keyword to stop parser: "NO_MORE_ELEMENT_IMAGES" <-- do not change! */
 
+#if 1
+  /* !!! TEMPORARILY STORED HERE -- PROBABLY TO BE CHANGED !!! */
+
+  /* (for testing, change filename back to "emc_object dot pcx") */
+  { "emc_object",                              "emc_object.pcx"        },
+#if 0
+  { "emc_object.scale_up_factor",              "2"                     },
+#endif
+
+  /* (for testing, change filename back to "emc_sprite dot pcx") */
+  { "emc_sprite",                              "emc_sprite.pcx"        },
+#if 0
+  { "emc_sprite.scale_up_factor",              "2"                     },
+#endif
+#endif
+
   { "toon_1",                                  "RocksToons.pcx"        },
   { "toon_1.x",                                        "2"                     },
   { "toon_1.y",                                        "72"                    },
@@ -2724,13 +3746,13 @@ struct ConfigInfo image_config[] =
   { "toon_6.direction",                                "left"                  },
   { "toon_6.position",                         "upper"                 },
 
-  { "toon_7",                                  "RocksHeroes.pcx"       },
+  { "toon_7",                                  "RocksMore.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_7.ypos",                             "6"                     },
+  { "toon_7.frames",                           "16"                    },
+  { "toon_7.delay",                            "2"                     },
+  { "toon_7.direction",                                "down"                  },
+  { "toon_7.position",                         "any"                   },
 
   { "toon_8",                                  "RocksHeroes.pcx"       },
   { "toon_8.xpos",                             "4"                     },
@@ -2862,35 +3884,44 @@ struct ConfigInfo image_config[] =
   { "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",                       "RocksDC.pcx"           },
+  { "menu.button_right.xpos",                  "9"                     },
+  { "menu.button_right.ypos",                  "8"                     },
+  { "menu.button_right.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",                          "RocksDC.pcx"           },
+  { "menu.button_up.xpos",                     "10"                    },
+  { "menu.button_up.ypos",                     "8"                     },
+  { "menu.button_up.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",                                "RocksDC.pcx"           },
+  { "menu.button_down.xpos",                   "11"                    },
+  { "menu.button_down.ypos",                   "8"                     },
+  { "menu.button_down.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.button_enter_menu",                  "RocksDC.pcx"           },
+  { "menu.button_enter_menu.clone_from",       "menu.button_right"     },
+  { "menu.button_enter_menu.active",           "RocksDC.pcx"           },
+  { "menu.button_enter_menu.active.clone_from",        "menu.button_right.active" },
+  { "menu.button_leave_menu",                  "RocksDC.pcx"           },
+  { "menu.button_leave_menu.clone_from",       "menu.button_left"      },
+  { "menu.button_leave_menu.active",           "RocksDC.pcx"           },
+  { "menu.button_leave_menu.active.clone_from",        "menu.button_left.active" },
+
   { "menu.scrollbar",                          "RocksDC.pcx"           },
   { "menu.scrollbar.xpos",                     "8"                     },
   { "menu.scrollbar.ypos",                     "10"                    },
@@ -2907,30 +3938,25 @@ struct ConfigInfo image_config[] =
   { "font.initial_1.height",                   "14"                    },
   { "font.initial_2",                          "RocksFontSmall.pcx"    },
   { "font.initial_2.x",                                "0"                     },
-  { "font.initial_2.y",                                "56"                    },
+  { "font.initial_2.y",                                "70"                    },
   { "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.y",                                "140"                   },
   { "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.y",                                "210"                   },
   { "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.y",                          "480"                   },
   { "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"                     },
@@ -2939,18 +3965,18 @@ struct ConfigInfo image_config[] =
 
   { "font.menu_1",                             "RocksFontBig.pcx"      },
   { "font.menu_1.x",                           "0"                     },
-  { "font.menu_1.y",                           "256"                   },
+  { "font.menu_1.y",                           "320"                   },
   { "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.y",                           "320"                   },
   { "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.y",                           "140"                   },
   { "font.text_1.width",                       "14"                    },
   { "font.text_1.height",                      "14"                    },
   { "font.text_1.LEVELS",                      "RocksFontMedium.pcx"   },
@@ -2958,36 +3984,46 @@ struct ConfigInfo image_config[] =
   { "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_1.SCORES",                      "RocksFontMedium.pcx"   },
+  { "font.text_1.SCORES.x",                    "0"                     },
+  { "font.text_1.SCORES.y",                    "480"                   },
+  { "font.text_1.SCORES.width",                        "16"                    },
+  { "font.text_1.SCORES.height",               "32"                    },
+  { "font.text_1.active.SCORES",               "RocksFontMedium.pcx"   },
+  { "font.text_1.active.SCORES.x",             "0"                     },
+  { "font.text_1.active.SCORES.y",             "0"                     },
+  { "font.text_1.active.SCORES.width",         "16"                    },
+  { "font.text_1.active.SCORES.height",                "32"                    },
   { "font.text_2",                             "RocksFontSmall.pcx"    },
   { "font.text_2.x",                           "0"                     },
-  { "font.text_2.y",                           "168"                   },
+  { "font.text_2.y",                           "210"                   },
   { "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.y",                    "160"                   },
   { "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_2.SCORES",                      "RocksFontBig.pcx"      },
+  { "font.text_2.SCORES.x",                    "0"                     },
+  { "font.text_2.SCORES.y",                    "320"                   },
+  { "font.text_2.SCORES.width",                        "32"                    },
+  { "font.text_2.SCORES.height",               "32"                    },
+  { "font.text_2.active.SCORES",               "RocksFontBig.pcx"      },
+  { "font.text_2.active.SCORES.x",             "0"                     },
+  { "font.text_2.active.SCORES.y",             "0"                     },
+  { "font.text_2.active.SCORES.width",         "32"                    },
+  { "font.text_2.active.SCORES.height",                "32"                    },
   { "font.text_3",                             "RocksFontSmall.pcx"    },
   { "font.text_3.x",                           "0"                     },
   { "font.text_3.y",                           "0"                     },
@@ -2995,100 +4031,146 @@ struct ConfigInfo image_config[] =
   { "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.y",                    "320"                   },
   { "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_3.SCORES",                      "RocksFontMedium.pcx"   },
+  { "font.text_3.SCORES.x",                    "0"                     },
+  { "font.text_3.SCORES.y",                    "480"                   },
+  { "font.text_3.SCORES.width",                        "16"                    },
+  { "font.text_3.SCORES.height",               "32"                    },
+  { "font.text_3.active.SCORES",               "RocksFontMedium.pcx"   },
+  { "font.text_3.active.SCORES.x",             "0"                     },
+  { "font.text_3.active.SCORES.y",             "0"                     },
+  { "font.text_3.active.SCORES.width",         "16"                    },
+  { "font.text_3.active.SCORES.height",                "32"                    },
   { "font.text_4",                             "RocksFontSmall.pcx"    },
   { "font.text_4.x",                           "0"                     },
-  { "font.text_4.y",                           "56"                    },
+  { "font.text_4.y",                           "70"                    },
   { "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.y",                    "480"                   },
   { "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.y",                    "480"                   },
   { "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.text_4.active.SCORES",               "RocksFontMedium.pcx"   },
+  { "font.text_4.active.SCORES.x",             "0"                     },
+  { "font.text_4.active.SCORES.y",             "0"                     },
+  { "font.text_4.active.SCORES.width",         "16"                    },
+  { "font.text_4.active.SCORES.height",                "32"                    },
+
+  { "font.envelope_1",                         "RocksFontEM.pcx"       },
+  { "font.envelope_1.x",                       "0"                     },
+  { "font.envelope_1.y",                       "160"                   },
+  { "font.envelope_1.width",                   "16"                    },
+  { "font.envelope_1.height",                  "16"                    },
+  { "font.envelope_2",                         "RocksFontEM.pcx"       },
+  { "font.envelope_2.x",                       "0"                     },
+  { "font.envelope_2.y",                       "160"                   },
+  { "font.envelope_2.width",                   "16"                    },
+  { "font.envelope_2.height",                  "16"                    },
+  { "font.envelope_3",                         "RocksFontEM.pcx"       },
+  { "font.envelope_3.x",                       "0"                     },
+  { "font.envelope_3.y",                       "160"                   },
+  { "font.envelope_3.width",                   "16"                    },
+  { "font.envelope_3.height",                  "16"                    },
+  { "font.envelope_4",                         "RocksFontEM.pcx"       },
+  { "font.envelope_4.x",                       "0"                     },
+  { "font.envelope_4.y",                       "160"                   },
+  { "font.envelope_4.width",                   "16"                    },
+  { "font.envelope_4.height",                  "16"                    },
+
+  { "font.input_1",                            "RocksFontSmall.pcx"    },
+  { "font.input_1.x",                          "0"                     },
+  { "font.input_1.y",                          "210"                   },
+  { "font.input_1.width",                      "14"                    },
+  { "font.input_1.height",                     "14"                    },
+  { "font.input_1.MAIN",                       "RocksFontBig.pcx"      },
+  { "font.input_1.MAIN.x",                     "0"                     },
+  { "font.input_1.MAIN.y",                     "0"                     },
+  { "font.input_1.MAIN.width",                 "32"                    },
+  { "font.input_1.MAIN.height",                        "32"                    },
+  { "font.input_1.active",                     "RocksFontSmall.pcx"    },
+  { "font.input_1.active.x",                   "0"                     },
+  { "font.input_1.active.y",                   "210"                   },
+  { "font.input_1.active.width",               "14"                    },
+  { "font.input_1.active.height",              "14"                    },
+  { "font.input_1.active.MAIN",                        "RocksFontBig.pcx"      },
+  { "font.input_1.active.MAIN.x",              "0"                     },
+  { "font.input_1.active.MAIN.y",              "480"                   },
+  { "font.input_1.active.MAIN.width",          "32"                    },
+  { "font.input_1.active.MAIN.height",         "32"                    },
+  { "font.input_1.active.SETUP",               "RocksFontBig.pcx"      },
+  { "font.input_1.active.SETUP.x",             "0"                     },
+  { "font.input_1.active.SETUP.y",             "0"                     },
+  { "font.input_1.active.SETUP.width",         "32"                    },
+  { "font.input_1.active.SETUP.height",                "32"                    },
+  { "font.input_2",                            "RocksFontSmall.pcx"    },
+  { "font.input_2.x",                          "0"                     },
+  { "font.input_2.y",                          "210"                   },
+  { "font.input_2.width",                      "14"                    },
+  { "font.input_2.height",                     "14"                    },
+  { "font.input_2.active",                     "RocksFontSmall.pcx"    },
+  { "font.input_2.active.x",                   "0"                     },
+  { "font.input_2.active.y",                   "210"                   },
+  { "font.input_2.active.width",               "14"                    },
+  { "font.input_2.active.height",              "14"                    },
 
   { "font.option_off",                         "RocksFontBig.pcx"      },
   { "font.option_off.x",                       "0"                     },
-  { "font.option_off.y",                       "128"                   },
+  { "font.option_off.y",                       "160"                   },
   { "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.y",                                "480"                   },
   { "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.y",                          "480"                   },
   { "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.y",                          "480"                   },
   { "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.y",                                "160"                   },
   { "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.y",                     "350"                   },
   { "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.y",                    "280"                   },
   { "font.tape_recorder.width",                        "11"                    },
   { "font.tape_recorder.height",               "14"                    },
 
+  { "font.game_info",                          "RocksFontEM.pcx"       },
+  { "font.game_info.xpos",                     "0"                     },
+  { "font.game_info.ypos",                     "0"                     },
+  { "font.game_info.delay",                    "10"                    },
+
   { "global.border",                           "RocksScreen.pcx"       },
   { "global.door",                             "RocksDoor.pcx"         },
 
@@ -3096,45 +4178,105 @@ struct ConfigInfo image_config[] =
   { "editor.element_border.xpos",              "0"                     },
   { "editor.element_border.ypos",              "0"                     },
 
+  { "editor.element_border_input",             "RocksElements.pcx"     },
+  { "editor.element_border_input.xpos",                "0"                     },
+  { "editor.element_border_input.ypos",                "0"                     },
+
+  { "editor.cascade_list",                     "RocksDoor.pcx"         },
+  { "editor.cascade_list.x",                   "708"                   },
+  { "editor.cascade_list.y",                   "80"                    },
+  { "editor.cascade_list.frames",              "1"                     },
+  { "editor.cascade_list.active",              "RocksDoor.pcx"         },
+  { "editor.cascade_list.active.x",            "740"                   },
+  { "editor.cascade_list.active.y",            "80"                    },
+  { "editor.cascade_list.active.frames",       "1"                     },
+
+  { "background.envelope_1",                   "RocksScreen.pcx"       },
+  { "background.envelope_1.x",                 "0"                     },
+  { "background.envelope_1.y",                 "0"                     },
+  { "background.envelope_1.width",             "560"                   },
+  { "background.envelope_1.height",            "560"                   },
+  { "background.envelope_1.anim_mode",         "default"               },
+  { "background.envelope_1.draw_masked",       "false"                 },
+  { "background.envelope_2",                   "RocksScreen.pcx"       },
+  { "background.envelope_2.x",                 "0"                     },
+  { "background.envelope_2.y",                 "0"                     },
+  { "background.envelope_2.width",             "560"                   },
+  { "background.envelope_2.height",            "560"                   },
+  { "background.envelope_2.anim_mode",         "default"               },
+  { "background.envelope_2.draw_masked",       "false"                 },
+  { "background.envelope_3",                   "RocksScreen.pcx"       },
+  { "background.envelope_3.x",                 "0"                     },
+  { "background.envelope_3.y",                 "0"                     },
+  { "background.envelope_3.width",             "560"                   },
+  { "background.envelope_3.height",            "560"                   },
+  { "background.envelope_3.anim_mode",         "default"               },
+  { "background.envelope_3.draw_masked",       "false"                 },
+  { "background.envelope_4",                   "RocksScreen.pcx"       },
+  { "background.envelope_4.x",                 "0"                     },
+  { "background.envelope_4.y",                 "0"                     },
+  { "background.envelope_4.width",             "560"                   },
+  { "background.envelope_4.height",            "560"                   },
+  { "background.envelope_4.anim_mode",         "default"               },
+  { "background.envelope_4.draw_masked",       "false"                 },
+
   { "background",                              UNDEFINED_FILENAME      },
   { "background.MAIN",                         UNDEFINED_FILENAME      },
   { "background.LEVELS",                       UNDEFINED_FILENAME      },
   { "background.SCORES",                       UNDEFINED_FILENAME      },
   { "background.EDITOR",                       UNDEFINED_FILENAME      },
   { "background.INFO",                         UNDEFINED_FILENAME      },
+  { "background.INFO[ELEMENTS]",               UNDEFINED_FILENAME      },
+  { "background.INFO[MUSIC]",                  UNDEFINED_FILENAME      },
+  { "background.INFO[CREDITS]",                        UNDEFINED_FILENAME      },
+  { "background.INFO[PROGRAM]",                        UNDEFINED_FILENAME      },
+  { "background.INFO[LEVELSET]",               UNDEFINED_FILENAME      },
   { "background.SETUP",                                UNDEFINED_FILENAME      },
   { "background.DOOR",                         UNDEFINED_FILENAME      },
 
-  { "info.font_em_1",                          "RocksFontEM.pcx"       },
-  { "info.font_em_1.xpos",                     "0"                     },
-  { "info.font_em_1.ypos",                     "0"                     },
-  { "info.font_em_1.frames",                   "16"                    },
-  { "info.font_em_1.delay",                    "10"                    },
-  { "info.font_em_2",                          "RocksFontEM.pcx"       },
-  { "info.font_em_2.xpos",                     "0"                     },
-  { "info.font_em_2.ypos",                     "1"                     },
-  { "info.font_em_2.frames",                   "16"                    },
-  { "info.font_em_2.delay",                    "10"                    },
-  { "info.font_em_3",                          "RocksFontEM.pcx"       },
-  { "info.font_em_3.xpos",                     "0"                     },
-  { "info.font_em_3.ypos",                     "2"                     },
-  { "info.font_em_3.frames",                   "16"                    },
-  { "info.font_em_3.delay",                    "10"                    },
-  { "info.font_em_4",                          "RocksFontEM.pcx"       },
-  { "info.font_em_4.xpos",                     "0"                     },
-  { "info.font_em_4.ypos",                     "3"                     },
-  { "info.font_em_4.frames",                   "16"                    },
-  { "info.font_em_4.delay",                    "10"                    },
-  { "info.font_em_5",                          "RocksFontEM.pcx"       },
-  { "info.font_em_5.xpos",                     "0"                     },
-  { "info.font_em_5.ypos",                     "4"                     },
-  { "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 */
+  /* the following directives are not associated with an image, but
+     probably make sense to be defined in "graphicsinfo.conf", too */
 
   { "global.num_toons",                                "20"                    },
 
+  { "menu.draw_xoffset",                       "0"                     },
+  { "menu.draw_yoffset",                       "0"                     },
+  { "menu.draw_xoffset.MAIN",                  "0"                     },
+  { "menu.draw_yoffset.MAIN",                  "0"                     },
+  { "menu.draw_xoffset.LEVELS",                        "0"                     },
+  { "menu.draw_yoffset.LEVELS",                        "0"                     },
+  { "menu.draw_xoffset.SCORES",                        "0"                     },
+  { "menu.draw_yoffset.SCORES",                        "0"                     },
+  { "menu.draw_xoffset.EDITOR",                        "0"                     },
+  { "menu.draw_yoffset.EDITOR",                        "0"                     },
+  { "menu.draw_xoffset.INFO",                  "0"                     },
+  { "menu.draw_yoffset.INFO",                  "0"                     },
+  { "menu.draw_xoffset.SETUP",                 "0"                     },
+  { "menu.draw_yoffset.SETUP",                 "0"                     },
+
+  { "menu.scrollbar_xoffset",                  "0"                     },
+
+  { "menu.list_size",                          "-1"                    },
+  { "menu.list_size.LEVELS",                   "-1"                    },
+  { "menu.list_size.SCORES",                   "-1"                    },
+  { "menu.list_size.INFO",                     "-1"                    },
+
+  { "door_1.width",                            "-1"                    },
+  { "door_1.height",                           "-1"                    },
+  { "door_1.step_offset",                      "2"                     },
+  { "door_1.step_delay",                       "10"                    },
+  { "door_1.anim_mode",                                "default"               },
+
+  { "door_2.width",                            "-1"                    },
+  { "door_2.height",                           "-1"                    },
+  { "door_2.step_offset",                      "2"                     },
+  { "door_2.step_delay",                       "10"                    },
+  { "door_2.anim_mode",                                "default"               },
+
+  { "[player].boring_delay_fixed",             "-1"                    },
+  { "[player].boring_delay_random",            "-1"                    },
+  { "[player].sleeping_delay_fixed",           "-1"                    },
+  { "[player].sleeping_delay_random",          "-1"                    },
+
   { NULL,                                      NULL                    }
 };