rnd-20051209-1-src
[rocksndiamonds.git] / src / conf_gfx.c
index 5e5e998c845256443718becc8759e2b1dd569dc5..44bccba5b511600f40fc9e5ab49f7233a796ddf2 100644 (file)
@@ -27,10 +27,16 @@ struct ConfigTypeInfo image_config_suffix[] =
   { ".ypos",                           ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".width",                          ARG_UNDEFINED,  TYPE_INTEGER    },
   { ".height",                         ARG_UNDEFINED,  TYPE_INTEGER    },
-  { ".offset",                         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    },
@@ -52,6 +58,8 @@ struct ConfigTypeInfo image_config_suffix[] =
   { ".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               }
 };
@@ -171,15 +179,43 @@ struct ConfigInfo image_config[] =
   { "bd_butterfly.anim_mode",                  "pingpong"              },
   { "bd_butterfly.delay",                      "4"                     },
   { "bd_butterfly.global_sync",                        "true"                  },
+  { "bd_butterfly.right",                      "RocksElements.pcx"     },
+  { "bd_butterfly.right.xpos",                 "4"                     },
+  { "bd_butterfly.right.ypos",                 "12"                    },
+  { "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",                    "4"                     },
+  { "bd_butterfly.up.ypos",                    "12"                    },
+  { "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",                  "4"                     },
+  { "bd_butterfly.left.ypos",                  "12"                    },
+  { "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",                  "4"                     },
+  { "bd_butterfly.down.ypos",                  "12"                    },
+  { "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"                    },
@@ -191,15 +227,43 @@ struct ConfigInfo image_config[] =
   { "bd_firefly.anim_mode",                    "pingpong"              },
   { "bd_firefly.delay",                                "4"                     },
   { "bd_firefly.global_sync",                  "true"                  },
+  { "bd_firefly.right",                                "RocksElements.pcx"     },
+  { "bd_firefly.right.xpos",                   "6"                     },
+  { "bd_firefly.right.ypos",                   "12"                    },
+  { "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",                      "6"                     },
+  { "bd_firefly.up.ypos",                      "12"                    },
+  { "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",                    "6"                     },
+  { "bd_firefly.left.ypos",                    "12"                    },
+  { "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",                    "6"                     },
+  { "bd_firefly.down.ypos",                    "12"                    },
+  { "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"                    },
@@ -1388,6 +1452,10 @@ struct ConfigInfo image_config[] =
   { "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"                     },
@@ -1398,17 +1466,17 @@ struct ConfigInfo image_config[] =
   { "emc_steelwall_1.xpos",                    "14"                    },
   { "emc_steelwall_1.ypos",                    "0"                     },
   { "emc_steelwall_1.frames",                  "1"                     },
-  { "emc_steelwall_2",                         "RocksDC.pcx"           },
-  { "emc_steelwall_2.xpos",                    "14"                    },
-  { "emc_steelwall_2.ypos",                    "0"                     },
+  { "emc_steelwall_2",                         "RocksEMC.pcx"          },
+  { "emc_steelwall_2.xpos",                    "9"                     },
+  { "emc_steelwall_2.ypos",                    "8"                     },
   { "emc_steelwall_2.frames",                  "1"                     },
-  { "emc_steelwall_3",                         "RocksDC.pcx"           },
-  { "emc_steelwall_3.xpos",                    "14"                    },
-  { "emc_steelwall_3.ypos",                    "0"                     },
+  { "emc_steelwall_3",                         "RocksEMC.pcx"          },
+  { "emc_steelwall_3.xpos",                    "9"                     },
+  { "emc_steelwall_3.ypos",                    "9"                     },
   { "emc_steelwall_3.frames",                  "1"                     },
-  { "emc_steelwall_4",                         "RocksDC.pcx"           },
-  { "emc_steelwall_4.xpos",                    "14"                    },
-  { "emc_steelwall_4.ypos",                    "0"                     },
+  { "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"           },
@@ -1439,9 +1507,9 @@ struct ConfigInfo image_config[] =
   { "emc_wall_7.xpos",                         "15"                    },
   { "emc_wall_7.ypos",                         "2"                     },
   { "emc_wall_7.frames",                       "1"                     },
-  { "emc_wall_8",                              "RocksDC.pcx"           },
-  { "emc_wall_8.xpos",                         "14"                    },
-  { "emc_wall_8.ypos",                         "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 */
@@ -1471,16 +1539,68 @@ 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"                     },
+  { "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"                     },
@@ -3216,6 +3336,267 @@ struct ConfigInfo image_config[] =
   { "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_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_6",                              "RocksEMC.pcx"          },
+  { "emc_gate_6.xpos",                         "1"                     },
+  { "emc_gate_6.ypos",                         "6"                     },
+  { "emc_gate_6.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_7",                              "RocksEMC.pcx"          },
+  { "emc_gate_7.xpos",                         "2"                     },
+  { "emc_gate_7.ypos",                         "6"                     },
+  { "emc_gate_7.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_8",                              "RocksEMC.pcx"          },
+  { "emc_gate_8.xpos",                         "3"                     },
+  { "emc_gate_8.ypos",                         "6"                     },
+  { "emc_gate_8.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_android",                             "RocksEMC.pcx"          },
+  { "emc_android.xpos",                                "0"                     },
+  { "emc_android.ypos",                                "8"                     },
+  { "emc_android.frames",                      "8"                     },
+
+  { "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_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 */
@@ -3223,6 +3604,22 @@ struct ConfigInfo image_config[] =
   /* images not associated to game elements (used for menu screens etc.) */
   /* keyword to stop parser: "NO_MORE_ELEMENT_IMAGES" <-- do not change! */
 
+#if 1
+  /* !!! TEMPORARILY STORED HERE -- PROBABLY TO BE CHANGED !!! */
+
+  /* (for testing, change filename back to "emc_object dot pcx") */
+  { "emc_object",                              "RocksEMC.pcx"          },
+#if 0
+  { "emc_object.scale_up_factor",              "2"                     },
+#endif
+
+  /* (for testing, change filename back to "emc_sprite dot pcx") */
+  { "emc_sprite",                              "RocksEMC.pcx"          },
+#if 0
+  { "emc_sprite.scale_up_factor",              "2"                     },
+#endif
+#endif
+
   { "toon_1",                                  "RocksToons.pcx"        },
   { "toon_1.x",                                        "2"                     },
   { "toon_1.y",                                        "72"                    },
@@ -3435,35 +3832,57 @@ 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_menu2",                 "RocksDC.pcx"           },
+  { "menu.button_enter_menu2.xpos",            "9"                     },
+  { "menu.button_enter_menu2.ypos",            "8"                     },
+  { "menu.button_enter_menu2.frames",          "1"                     },
+  { "menu.button_enter_menu2.active",          "RocksDC.pcx"           },
+  { "menu.button_enter_menu2.active.xpos",     "9"                     },
+  { "menu.button_enter_menu2.active.ypos",     "9"                     },
+  { "menu.button_enter_menu2.active.frames",   "1"                     },
+  { "menu.button_leave_menu",                  "RocksDC.pcx"           },
+  { "menu.button_leave_menu.xpos",             "8"                     },
+  { "menu.button_leave_menu.ypos",             "8"                     },
+  { "menu.button_leave_menu.frames",           "1"                     },
+  { "menu.button_leave_menu.active",           "RocksDC.pcx"           },
+  { "menu.button_leave_menu.active.xpos",      "8"                     },
+  { "menu.button_leave_menu.active.ypos",      "9"                     },
+  { "menu.button_leave_menu.active.frames",    "1"                     },
+
+  { "menu.button_enter_menu",                  UNDEFINED_FILENAME      },
+  { "menu.button_enter_menu.clone_from",       "menu.button_right"     },
+  { "menu.button_enter_menu.active",           UNDEFINED_FILENAME      },
+  { "menu.button_enter_menu.active.clone_from",        "menu.button_right.active"},
+
   { "menu.scrollbar",                          "RocksDC.pcx"           },
   { "menu.scrollbar.xpos",                     "8"                     },
   { "menu.scrollbar.ypos",                     "10"                    },
@@ -3765,6 +4184,10 @@ struct ConfigInfo image_config[] =
   { "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      },