rnd-20021123-1-src
authorHolger Schemel <info@artsoft.org>
Sat, 23 Nov 2002 13:27:09 +0000 (14:27 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:39:01 +0000 (10:39 +0200)
15 files changed:
src/Makefile
src/conf_gfx.c [new file with mode: 0644]
src/conf_gfx.h
src/conf_snd.c [new file with mode: 0644]
src/conftime.h
src/game.c
src/init.c
src/libgame/image.c
src/libgame/misc.c
src/libgame/pcx.c
src/libgame/system.c
src/main.c
src/main.h
src/tools.c
src/tools.h

index 9c22aba9ccb2852235cf071626406f93b0f8daba..7c897097c3e0d525657834d0daaf69224d575b91 100644 (file)
@@ -122,6 +122,8 @@ LDFLAGS = $(SYS_LDFLAGS) $(EXTRA_LDFLAGS) -lm
 
 
 SRCS = main.c          \
+       conf_gfx.c      \
+       conf_snd.c      \
        init.c          \
        config.c        \
        events.c        \
@@ -136,6 +138,8 @@ SRCS =      main.c          \
        netserv.c
 
 OBJS = main.o          \
+       conf_gfx.o      \
+       conf_snd.o      \
        init.o          \
        config.o        \
        events.o        \
@@ -171,6 +175,14 @@ libgame_dir:
 $(LIBGAME):
        @$(MAKE) -C $(LIBDIR)
 
+conf_gfx.h: conf_gfx.c
+       ../Scripts/create_element_defs.pl --graphics > conf_gfx.h
+       ../Scripts/create_element_defs.pl --el2gfx   > conf_e2g.c
+       ../Scripts/create_element_defs.pl --chars    > conf_chr.c
+
+conf_snd.h: conf_snd.c
+       ../Scripts/create_element_defs.pl --sounds   > conf_snd.h
+
 $(TIMESTAMP_FILE): $(SRCS) $(LIBGAME)
        @date '+"[%Y-%m-%d %H:%M]"' \
        | sed -e 's/^/#define COMPILE_DATE_STRING /' \
diff --git a/src/conf_gfx.c b/src/conf_gfx.c
new file mode 100644 (file)
index 0000000..cf20954
--- /dev/null
@@ -0,0 +1,2560 @@
+/***********************************************************
+* Rocks'n'Diamonds -- McDuffin Strikes Back!               *
+*----------------------------------------------------------*
+* (c) 1995-2002 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
+*----------------------------------------------------------*
+* conf_gfx.c                                               *
+***********************************************************/
+
+#include "libgame/libgame.h"
+
+
+struct ConfigInfo image_config_suffix[] =
+{
+  { ".xpos",                           "0"                     },
+  { ".ypos",                           "0"                     },
+  { ".offset",                         "32"                    },
+  { ".vertical",                       "0"                     },
+  { ".frames",                         "1"                     },
+  { ".start_frame",                    "-1"                    },
+  { ".delay",                          "1"                     },
+  { ".mode_loop",                      "0"                     },
+  { ".mode_linear",                    "0"                     },
+  { ".mode_pingpong",                  "0"                     },
+  { ".mode_pingpong2",                 "0"                     },
+  { ".mode_reverse",                   "0"                     },
+  { ".global_sync",                    "-1"                    },
+
+  { NULL,                              NULL                    }
+};
+
+struct ConfigInfo image_config[] =
+{
+  /* images for Boulder Dash style elements and actions */
+
+  { "bd_wall",                                 "RocksMore.pcx"         },
+  { "bd_wall.xpos",                            "4"                     },
+  { "bd_wall.ypos",                            "1"                     },
+  { "bd_wall.frames",                          "1"                     },
+
+  { "bd_rock",                                 "RocksMore.pcx"         },
+  { "bd_rock.xpos",                            "4"                     },
+  { "bd_rock.ypos",                            "2"                     },
+  { "bd_rock.frames",                          "1"                     },
+  { "bd_rock.falling",                         "RocksMore.pcx"         },
+  { "bd_rock.falling.xpos",                    "4"                     },
+  { "bd_rock.falling.ypos",                    "2"                     },
+  { "bd_rock.falling.frames",                  "1"                     },
+  { "bd_rock.moving_left",                     "RocksMore.pcx"         },
+  { "bd_rock.moving_left.xpos",                        "4"                     },
+  { "bd_rock.moving_left.ypos",                        "2"                     },
+  { "bd_rock.moving_left.frames",              "4"                     },
+  { "bd_rock.moving_left.delay",               "2"                     },
+  { "bd_rock.moving_left.mode_reverse",                "1"                     },
+  { "bd_rock.moving_right",                    "RocksMore.pcx"         },
+  { "bd_rock.moving_right.xpos",               "4"                     },
+  { "bd_rock.moving_right.ypos",               "2"                     },
+  { "bd_rock.moving_right.frames",             "4"                     },
+  { "bd_rock.moving_right.start_frame",                "1"                     },
+  { "bd_rock.moving_right.delay",              "2"                     },
+
+  { "bd_diamond",                              "RocksElements.pcx"     },
+  { "bd_diamond.xpos",                         "0"                     },
+  { "bd_diamond.ypos",                         "10"                    },
+  { "bd_diamond.frames",                       "4"                     },
+  { "bd_diamond.delay",                                "4"                     },
+  { "bd_diamond.mode_reverse",                 "1"                     },
+  { "bd_diamond.moving",                       "RocksElements.pcx"     },
+  { "bd_diamond.moving.xpos",                  "3"                     },
+  { "bd_diamond.moving.ypos",                  "10"                    },
+  { "bd_diamond.moving.frames",                        "2"                     },
+  { "bd_diamond.moving.delay",                 "4"                     },
+  { "bd_diamond.falling",                      "RocksElements.pcx"     },
+  { "bd_diamond.falling.xpos",                 "3"                     },
+  { "bd_diamond.falling.ypos",                 "10"                    },
+  { "bd_diamond.falling.frames",               "2"                     },
+  { "bd_diamond.falling.delay",                        "4"                     },
+
+  { "bd_magic_wall",                           "RocksElements.pcx"     },
+  { "bd_magic_wall.xpos",                      "12"                    },
+  { "bd_magic_wall.ypos",                      "10"                    },
+  { "bd_magic_wall.frames",                    "1"                     },
+  { "bd_magic_wall.active",                    "RocksElements.pcx"     },
+  { "bd_magic_wall.active.xpos",               "12"                    },
+  { "bd_magic_wall.active.ypos",               "10"                    },
+  { "bd_magic_wall.active.frames",             "4"                     },
+  { "bd_magic_wall.active.mode_reverse",       "1"                     },
+  { "bd_magic_wall.active.delay",              "4"                     },
+  { "bd_magic_wall.filling",                   "RocksElements.pcx"     },
+  { "bd_magic_wall.filling.xpos",              "12"                    },
+  { "bd_magic_wall.filling.ypos",              "10"                    },
+  { "bd_magic_wall.filling.frames",            "4"                     },
+  { "bd_magic_wall.filling.mode_reverse",      "1"                     },
+  { "bd_magic_wall.filling.delay",             "4"                     },
+  { "bd_magic_wall.full",                      "RocksElements.pcx"     },
+  { "bd_magic_wall.full.xpos",                 "12"                    },
+  { "bd_magic_wall.full.ypos",                 "10"                    },
+  { "bd_magic_wall.full.frames",               "4"                     },
+  { "bd_magic_wall.full.mode_reverse",         "1"                     },
+  { "bd_magic_wall.full.delay",                        "4"                     },
+  { "bd_magic_wall.emptying",                  "RocksElements.pcx"     },
+  { "bd_magic_wall.emptying.xpos",             "12"                    },
+  { "bd_magic_wall.emptying.ypos",             "10"                    },
+  { "bd_magic_wall.emptying.frames",           "4"                     },
+  { "bd_magic_wall.emptying.mode_reverse",     "1"                     },
+  { "bd_magic_wall.emptying.delay",            "4"                     },
+  { "bd_magic_wall.dead",                      "RocksElements.pcx"     },
+  { "bd_magic_wall.dead.xpos",                 "12"                    },
+  { "bd_magic_wall.dead.ypos",                 "10"                    },
+  { "bd_magic_wall.dead.frames",               "1"                     },
+
+  { "bd_amoeba",                               "RocksElements.pcx"     },
+  { "bd_amoeba.xpos",                          "8"                     },
+  { "bd_amoeba.ypos",                          "7"                     },
+  { "bd_amoeba.frames",                                "1"                     },
+  { "bd_amoeba.part1",                         "RocksElements.pcx"     },
+  { "bd_amoeba.part1.xpos",                    "8"                     },
+  { "bd_amoeba.part1.ypos",                    "6"                     },
+  { "bd_amoeba.part1.frames",                  "1"                     },
+  { "bd_amoeba.part2",                         "RocksElements.pcx"     },
+  { "bd_amoeba.part2.xpos",                    "9"                     },
+  { "bd_amoeba.part2.ypos",                    "6"                     },
+  { "bd_amoeba.part2.frames",                  "1"                     },
+  { "bd_amoeba.part3",                         "RocksElements.pcx"     },
+  { "bd_amoeba.part3.xpos",                    "10"                    },
+  { "bd_amoeba.part3.ypos",                    "6"                     },
+  { "bd_amoeba.part3.frames",                  "1"                     },
+  { "bd_amoeba.part4",                         "RocksElements.pcx"     },
+  { "bd_amoeba.part4.xpos",                    "11"                    },
+  { "bd_amoeba.part4.ypos",                    "6"                     },
+  { "bd_amoeba.part4.frames",                  "1"                     },
+
+  { "bd_butterfly",                            "RocksElements.pcx"     },
+  { "bd_butterfly.xpos",                       "4"                     },
+  { "bd_butterfly.ypos",                       "12"                    },
+  { "bd_butterfly.frames",                     "2"                     },
+  { "bd_butterfly.mode_pingpong",              "1"                     },
+  { "bd_butterfly.delay",                      "4"                     },
+  { "bd_butterfly.moving",                     "RocksElements.pcx"     },
+  { "bd_butterfly.moving.xpos",                        "4"                     },
+  { "bd_butterfly.moving.ypos",                        "12"                    },
+  { "bd_butterfly.moving.frames",              "2"                     },
+  { "bd_butterfly.moving.mode_pingpong",       "1"                     },
+  { "bd_butterfly.moving.delay",               "4"                     },
+  { "bd_butterfly_right",                      "RocksElements.pcx"     },
+  { "bd_butterfly_right.xpos",                 "8"                     },
+  { "bd_butterfly_right.ypos",                 "12"                    },
+  { "bd_butterfly_right.frames",               "1"                     },
+  { "bd_butterfly_up",                         "RocksElements.pcx"     },
+  { "bd_butterfly_up.xpos",                    "9"                     },
+  { "bd_butterfly_up.ypos",                    "12"                    },
+  { "bd_butterfly_up.frames",                  "1"                     },
+  { "bd_butterfly_left",                       "RocksElements.pcx"     },
+  { "bd_butterfly_left.xpos",                  "10"                    },
+  { "bd_butterfly_left.ypos",                  "12"                    },
+  { "bd_butterfly_left.frames",                        "1"                     },
+  { "bd_butterfly_down",                       "RocksElements.pcx"     },
+  { "bd_butterfly_down.xpos",                  "11"                    },
+  { "bd_butterfly_down.ypos",                  "12"                    },
+  { "bd_butterfly_down.frames",                        "1"                     },
+
+  { "bd_firefly",                              "RocksElements.pcx"     },
+  { "bd_firefly.xpos",                         "6"                     },
+  { "bd_firefly.ypos",                         "12"                    },
+  { "bd_firefly.frames",                       "2"                     },
+  { "bd_firefly.mode_pingpong",                        "1"                     },
+  { "bd_firefly.delay",                                "4"                     },
+  { "bd_firefly.moving",                       "RocksElements.pcx"     },
+  { "bd_firefly.moving.xpos",                  "6"                     },
+  { "bd_firefly.moving.ypos",                  "12"                    },
+  { "bd_firefly.moving.frames",                        "2"                     },
+  { "bd_firefly.moving.mode_pingpong",         "1"                     },
+  { "bd_firefly.moving.delay",                 "4"                     },
+  { "bd_firefly_right",                                "RocksElements.pcx"     },
+  { "bd_firefly_right.xpos",                   "12"                    },
+  { "bd_firefly_right.ypos",                   "12"                    },
+  { "bd_firefly_right.frames",                 "1"                     },
+  { "bd_firefly_up",                           "RocksElements.pcx"     },
+  { "bd_firefly_up.xpos",                      "13"                    },
+  { "bd_firefly_up.ypos",                      "12"                    },
+  { "bd_firefly_up.frames",                    "1"                     },
+  { "bd_firefly_left",                         "RocksElements.pcx"     },
+  { "bd_firefly_left.xpos",                    "14"                    },
+  { "bd_firefly_left.ypos",                    "12"                    },
+  { "bd_firefly_left.frames",                  "1"                     },
+  { "bd_firefly_down",                         "RocksElements.pcx"     },
+  { "bd_firefly_down.xpos",                    "15"                    },
+  { "bd_firefly_down.ypos",                    "12"                    },
+  { "bd_firefly_down.frames",                  "1"                     },
+
+  /* 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_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"                     },
+  { "sp_zonk.moving_left.frames",              "4"                     },
+  { "sp_zonk.moving_left.delay",               "2"                     },
+  { "sp_zonk.moving_left.mode_reverse",                "1"                     },
+  { "sp_zonk.moving_right",                    "RocksSP.pcx"           },
+  { "sp_zonk.moving_right.xpos",               "0"                     },
+  { "sp_zonk.moving_right.ypos",               "6"                     },
+  { "sp_zonk.moving_right.frames",             "4"                     },
+  { "sp_zonk.moving_right.start_frame",                "1"                     },
+  { "sp_zonk.moving_right.delay",              "2"                     },
+
+  { "sp_base",                                 "RocksSP.pcx"           },
+  { "sp_base.xpos",                            "2"                     },
+  { "sp_base.ypos",                            "0"                     },
+  { "sp_base.frames",                          "1"                     },
+
+  { "sp_murphy",                               "RocksSP.pcx"           },
+  { "sp_murphy.xpos",                          "3"                     },
+  { "sp_murphy.ypos",                          "0"                     },
+  { "sp_murphy.frames",                                "1"                     },
+  { "sp_murphy_left",                          "RocksSP.pcx"           },
+  { "sp_murphy_left.xpos",                     "8"                     },
+  { "sp_murphy_left.ypos",                     "0"                     },
+  { "sp_murphy_left.frames",                   "1"                     },
+  { "sp_murphy_left.moving",                   "RocksSP.pcx"           },
+  { "sp_murphy_left.moving.xpos",              "8"                     },
+  { "sp_murphy_left.moving.ypos",              "0"                     },
+  { "sp_murphy_left.moving.frames",            "3"                     },
+  { "sp_murphy_left.moving.mode_pingpong",     "1"                     },
+  { "sp_murphy_left.moving.delay",             "2"                     },
+  { "sp_murphy_left.digging",                  "RocksSP.pcx"           },
+  { "sp_murphy_left.digging.xpos",             "8"                     },
+  { "sp_murphy_left.digging.ypos",             "0"                     },
+  { "sp_murphy_left.digging.frames",           "3"                     },
+  { "sp_murphy_left.digging.mode_pingpong",    "1"                     },
+  { "sp_murphy_left.digging.delay",            "2"                     },
+  { "sp_murphy_left.pushing",                  "RocksSP.pcx"           },
+  { "sp_murphy_left.pushing.xpos",             "11"                    },
+  { "sp_murphy_left.pushing.ypos",             "1"                     },
+  { "sp_murphy_left.pushing.frames",           "1"                     },
+  { "sp_murphy_left.snapping",                 "RocksSP.pcx"           },
+  { "sp_murphy_left.snapping.xpos",            "9"                     },
+  { "sp_murphy_left.snapping.ypos",            "1"                     },
+  { "sp_murphy_left.snapping.frames",          "1"                     },
+
+  { "sp_murphy_right",                         "RocksSP.pcx"           },
+  { "sp_murphy_right.xpos",                    "11"                    },
+  { "sp_murphy_right.ypos",                    "0"                     },
+  { "sp_murphy_right.frames",                  "1"                     },
+  { "sp_murphy_right.moving",                  "RocksSP.pcx"           },
+  { "sp_murphy_right.moving.xpos",             "11"                    },
+  { "sp_murphy_right.moving.ypos",             "0"                     },
+  { "sp_murphy_right.moving.frames",           "3"                     },
+  { "sp_murphy_right.moving.mode_pingpong",    "1"                     },
+  { "sp_murphy_right.moving.delay",            "2"                     },
+  { "sp_murphy_right.digging",                 "RocksSP.pcx"           },
+  { "sp_murphy_right.digging.xpos",            "11"                    },
+  { "sp_murphy_right.digging.ypos",            "0"                     },
+  { "sp_murphy_right.digging.frames",          "3"                     },
+  { "sp_murphy_right.digging.mode_pingpong",   "1"                     },
+  { "sp_murphy_right.digging.delay",           "2"                     },
+  { "sp_murphy_right.pushing",                 "RocksSP.pcx"           },
+  { "sp_murphy_right.pushing.xpos",            "10"                    },
+  { "sp_murphy_right.pushing.ypos",            "1"                     },
+  { "sp_murphy_right.pushing.frames",          "1"                     },
+  { "sp_murphy_right.snapping",                        "RocksSP.pcx"           },
+  { "sp_murphy_right.snapping.xpos",           "8"                     },
+  { "sp_murphy_right.snapping.ypos",           "1"                     },
+  { "sp_murphy_right.snapping.frames",         "1"                     },
+
+  { "sp_murphy_up",                            "RocksSP.pcx"           },
+  { "sp_murphy_up.xpos",                       "14"                    },
+  { "sp_murphy_up.ypos",                       "0"                     },
+  { "sp_murphy_up.frames",                     "1"                     },
+  { "sp_murphy_up.snapping",                   "RocksSP.pcx"           },
+  { "sp_murphy_up.snapping.xpos",              "14"                    },
+  { "sp_murphy_up.snapping.ypos",              "0"                     },
+  { "sp_murphy_up.snapping.frames",            "1"                     },
+
+  { "sp_murphy_down",                          "RocksSP.pcx"           },
+  { "sp_murphy_down.xpos",                     "15"                    },
+  { "sp_murphy_down.ypos",                     "0"                     },
+  { "sp_murphy_down.frames",                   "1"                     },
+  { "sp_murphy_down.snapping",                 "RocksSP.pcx"           },
+  { "sp_murphy_down.snapping.xpos",            "15"                    },
+  { "sp_murphy_down.snapping.ypos",            "0"                     },
+  { "sp_murphy_down.snapping.frames",          "1"                     },
+
+  { "sp_murphy_clone",                         "RocksSP.pcx"           },
+  { "sp_murphy_clone.xpos",                    "3"                     },
+  { "sp_murphy_clone.ypos",                    "0"                     },
+  { "sp_murphy_clone.frames",                  "1"                     },
+
+  { "sp_infotron",                             "RocksSP.pcx"           },
+  { "sp_infotron.xpos",                                "4"                     },
+  { "sp_infotron.ypos",                                "0"                     },
+  { "sp_infotron.frames",                      "1"                     },
+  { "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"                     },
+  { "sp_chip_single.ypos",                     "0"                     },
+  { "sp_chip_single.frames",                   "1"                     },
+  { "sp_chip_left",                            "RocksSP.pcx"           },
+  { "sp_chip_left.xpos",                       "2"                     },
+  { "sp_chip_left.ypos",                       "3"                     },
+  { "sp_chip_left.frames",                     "1"                     },
+  { "sp_chip_right",                           "RocksSP.pcx"           },
+  { "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_exit_closed",                          "RocksSP.pcx"           },
+  { "sp_exit_closed.xpos",                     "7"                     },
+  { "sp_exit_closed.ypos",                     "0"                     },
+  { "sp_exit_closed.frames",                   "1"                     },
+  { "sp_exit_open",                            "RocksSP.pcx"           },
+  { "sp_exit_open.xpos",                       "7"                     },
+  { "sp_exit_open.ypos",                       "0"                     },
+  { "sp_exit_open.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"                     },
+  { "sp_disk_red.ypos",                                "2"                     },
+  { "sp_disk_red.frames",                      "1"                     },
+  { "sp_disk_red.collecting",                  "RocksSP.pcx"           },
+  { "sp_disk_red.collecting.xpos",             "8"                     },
+  { "sp_disk_red.collecting.ypos",             "5"                     },
+  { "sp_disk_red.collecting.frames",           "8"                     },
+
+  { "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_sniksnak",                             "RocksSP.pcx"           },
+  { "sp_sniksnak.xpos",                                "1"                     },
+  { "sp_sniksnak.ypos",                                "2"                     },
+  { "sp_sniksnak.frames",                      "1"                     },
+  { "sp_sniksnak_left",                                "RocksSP.pcx"           },
+  { "sp_sniksnak_left.xpos",                   "8"                     },
+  { "sp_sniksnak_left.ypos",                   "8"                     },
+  { "sp_sniksnak_left.frames",                 "4"                     },
+  { "sp_sniksnak_left.mode_pingpong2",         "1"                     },
+  { "sp_sniksnak_right",                       "RocksSP.pcx"           },
+  { "sp_sniksnak_right.xpos",                  "12"                    },
+  { "sp_sniksnak_right.ypos",                  "8"                     },
+  { "sp_sniksnak_right.frames",                        "4"                     },
+  { "sp_sniksnak_right.mode_pingpong2",                "1"                     },
+  { "sp_sniksnak_up",                          "RocksSP.pcx"           },
+  { "sp_sniksnak_up.xpos",                     "8"                     },
+  { "sp_sniksnak_up.ypos",                     "9"                     },
+  { "sp_sniksnak_up.frames",                   "4"                     },
+  { "sp_sniksnak_up.mode_pingpong2",           "1"                     },
+  { "sp_sniksnak_down",                                "RocksSP.pcx"           },
+  { "sp_sniksnak_down.xpos",                   "12"                    },
+  { "sp_sniksnak_down.ypos",                   "9"                     },
+  { "sp_sniksnak_down.frames",                 "4"                     },
+  { "sp_sniksnak_down.mode_pingpong2",         "1"                     },
+
+  { "sp_electron",                             "RocksSP.pcx"           },
+  { "sp_electron.xpos",                                "8"                     },
+  { "sp_electron.ypos",                                "10"                    },
+  { "sp_electron.frames",                      "8"                     },
+  { "sp_electron.delay",                       "2"                     },
+
+  { "sp_terminal",                             "RocksSP.pcx"           },
+  { "sp_terminal.xpos",                                "8"                     },
+  { "sp_terminal.ypos",                                "11"                    },
+  { "sp_terminal.frames",                      "7"                     },
+  { "sp_terminal.delay",                       "12"                    },
+  { "sp_terminal.active",                      "RocksSP.pcx"           },
+  { "sp_terminal.active.xpos",                 "8"                     },
+  { "sp_terminal.active.ypos",                 "12"                    },
+  { "sp_terminal.active.frames",               "7"                     },
+  { "sp_terminal.active.delay",                        "4"                     },
+
+  { "sp_buggy_base",                           "RocksSP.pcx"           },
+  { "sp_buggy_base.xpos",                      "1"                     },
+  { "sp_buggy_base.ypos",                      "3"                     },
+  { "sp_buggy_base.frames",                    "1"                     },
+  { "sp_buggy_base.active",                    "RocksSP.pcx"           },
+  { "sp_buggy_base.active.xpos",               "8"                     },
+  { "sp_buggy_base.active.ypos",               "6"                     },
+  { "sp_buggy_base.active.frames",             "4"                     },
+
+  { "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_infotron",                   "RocksSP.pcx"           },
+  { "sp_explosion_infotron.xpos",              "8"                     },
+  { "sp_explosion_infotron.ypos",              "4"                     },
+  { "sp_explosion_infotron.frames",            "8"                     },
+
+  /* images for Sokoban style elements and actions */
+
+  { "sokoban_object",                          "RocksElements.pcx"     },
+  { "sokoban_object.xpos",                     "9"                     },
+  { "sokoban_object.ypos",                     "7"                     },
+  { "sokoban_object.frames",                   "1"                     },
+
+  { "sokoban_field_empty",                     "RocksElements.pcx"     },
+  { "sokoban_field_empty.xpos",                        "10"                    },
+  { "sokoban_field_empty.ypos",                        "7"                     },
+  { "sokoban_field_empty.frames",              "1"                     },
+
+  { "sokoban_field_full",                      "RocksElements.pcx"     },
+  { "sokoban_field_full.xpos",                 "11"                    },
+  { "sokoban_field_full.ypos",                 "7"                     },
+  { "sokoban_field_full.frames",               "1"                     },
+
+  /* images for Emerald Mine style elements and actions */
+
+  { "empty_space",                             "RocksElements.pcx"     },
+  { "empty_space.xpos",                                "7"                     },
+  { "empty_space.ypos",                                "9"                     },
+  { "empty_space.frames",                      "1"                     },
+
+  { "sand",                                    "RocksElements.pcx"     },
+  { "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"                     },
+
+  { "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"                     },
+
+  { "steelwall",                               "RocksElements.pcx"     },
+  { "steelwall.xpos",                          "4"                     },
+  { "steelwall.ypos",                          "0"                     },
+  { "steelwall.frames",                                "1"                     },
+
+  { "rock",                                    "RocksElements.pcx"     },
+  { "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"                     },
+  { "rock.moving_left.frames",                 "4"                     },
+  { "rock.moving_left.delay",                  "2"                     },
+  { "rock.moving_left.mode_reverse",           "1"                     },
+  { "rock.moving_right",                       "RocksElements.pcx"     },
+  { "rock.moving_right.xpos",                  "12"                    },
+  { "rock.moving_right.ypos",                  "0"                     },
+  { "rock.moving_right.frames",                        "4"                     },
+  { "rock.moving_right.start_frame",           "1"                     },
+  { "rock.moving_right.delay",                 "2"                     },
+
+  { "emerald",                                 "RocksElements.pcx"     },
+  { "emerald.xpos",                            "8"                     },
+  { "emerald.ypos",                            "0"                     },
+  { "emerald.frames",                          "1"                     },
+  { "emerald.moving",                          "RocksElements.pcx"     },
+  { "emerald.moving.xpos",                     "8"                     },
+  { "emerald.moving.ypos",                     "0"                     },
+  { "emerald.moving.frames",                   "2"                     },
+  { "emerald.moving.delay",                    "4"                     },
+  { "emerald.falling",                         "RocksElements.pcx"     },
+  { "emerald.falling.xpos",                    "8"                     },
+  { "emerald.falling.ypos",                    "0"                     },
+  { "emerald.falling.frames",                  "2"                     },
+  { "emerald.falling.delay",                   "4"                     },
+
+  { "diamond",                                 "RocksElements.pcx"     },
+  { "diamond.xpos",                            "10"                    },
+  { "diamond.ypos",                            "0"                     },
+  { "diamond.frames",                          "1"                     },
+  { "diamond.moving",                          "RocksElements.pcx"     },
+  { "diamond.moving.xpos",                     "10"                    },
+  { "diamond.moving.ypos",                     "0"                     },
+  { "diamond.moving.frames",                   "2"                     },
+  { "diamond.moving.delay",                    "4"                     },
+  { "diamond.falling",                         "RocksElements.pcx"     },
+  { "diamond.falling.xpos",                    "10"                    },
+  { "diamond.falling.ypos",                    "0"                     },
+  { "diamond.falling.frames",                  "2"                     },
+  { "diamond.falling.delay",                   "4"                     },
+
+  { "bomb",                                    "RocksElements.pcx"     },
+  { "bomb.xpos",                               "11"                    },
+  { "bomb.ypos",                               "1"                     },
+  { "bomb.frames",                             "1"                     },
+
+  { "nut",                                     "RocksElements.pcx"     },
+  { "nut.xpos",                                        "12"                    },
+  { "nut.ypos",                                        "1"                     },
+  { "nut.frames",                              "1"                     },
+  { "nut.cracking",                            "RocksElements.pcx"     },
+  { "nut.cracking.xpos",                       "13"                    },
+  { "nut.cracking.ypos",                       "1"                     },
+  { "nut.cracking.frames",                     "3"                     },
+  { "nut.cracking.delay",                      "2"                     },
+  { "nut.cracking.mode_linear",                        "1"                     },
+
+  { "dynamite",                                        "RocksElements.pcx"     },
+  { "dynamite.xpos",                           "0"                     },
+  { "dynamite.ypos",                           "3"                     },
+  { "dynamite.frames",                         "1"                     },
+  { "dynamite.active",                         "RocksElements.pcx"     },
+  { "dynamite.active.xpos",                    "1"                     },
+  { "dynamite.active.ypos",                    "3"                     },
+  { "dynamite.active.frames",                  "7"                     },
+  { "dynamite.active.delay",                   "12"                    },
+  { "dynamite.active.mode_linear",             "1"                     },
+  { "dynamite.active.global_sync",             "0"                     },
+
+  { "wall_emerald",                            "RocksElements.pcx"     },
+  { "wall_emerald.xpos",                       "4"                     },
+  { "wall_emerald.ypos",                       "8"                     },
+  { "wall_emerald.frames",                     "1"                     },
+
+  { "wall_diamond",                            "RocksElements.pcx"     },
+  { "wall_diamond.xpos",                       "5"                     },
+  { "wall_diamond.ypos",                       "8"                     },
+  { "wall_diamond.frames",                     "1"                     },
+
+  { "bug_right",                               "RocksElements.pcx"     },
+  { "bug_right.xpos",                          "8"                     },
+  { "bug_right.ypos",                          "4"                     },
+  { "bug_right.frames",                                "2"                     },
+  { "bug_right.delay",                         "4"                     },
+  { "bug_up",                                  "RocksElements.pcx"     },
+  { "bug_up.xpos",                             "10"                    },
+  { "bug_up.ypos",                             "4"                     },
+  { "bug_up.frames",                           "2"                     },
+  { "bug_up.delay",                            "4"                     },
+  { "bug_left",                                        "RocksElements.pcx"     },
+  { "bug_left.xpos",                           "12"                    },
+  { "bug_left.ypos",                           "4"                     },
+  { "bug_left.frames",                         "2"                     },
+  { "bug_left.delay",                          "4"                     },
+  { "bug_down",                                        "RocksElements.pcx"     },
+  { "bug_down.xpos",                           "14"                    },
+  { "bug_down.ypos",                           "4"                     },
+  { "bug_down.frames",                         "2"                     },
+  { "bug_down.delay",                          "4"                     },
+
+  { "spaceship_right",                         "RocksElements.pcx"     },
+  { "spaceship_right.xpos",                    "8"                     },
+  { "spaceship_right.ypos",                    "3"                     },
+  { "spaceship_right.frames",                  "2"                     },
+  { "spaceship_right.delay",                   "4"                     },
+  { "spaceship_up",                            "RocksElements.pcx"     },
+  { "spaceship_up.xpos",                       "10"                    },
+  { "spaceship_up.ypos",                       "3"                     },
+  { "spaceship_up.frames",                     "2"                     },
+  { "spaceship_up.delay",                      "4"                     },
+  { "spaceship_left",                          "RocksElements.pcx"     },
+  { "spaceship_left.xpos",                     "12"                    },
+  { "spaceship_left.ypos",                     "3"                     },
+  { "spaceship_left.frames",                   "2"                     },
+  { "spaceship_left.delay",                    "4"                     },
+  { "spaceship_down",                          "RocksElements.pcx"     },
+  { "spaceship_down.xpos",                     "14"                    },
+  { "spaceship_down.ypos",                     "3"                     },
+  { "spaceship_down.frames",                   "2"                     },
+  { "spaceship_down.delay",                    "4"                     },
+
+  { "yamyam",                                  "RocksElements.pcx"     },
+  { "yamyam.xpos",                             "0"                     },
+  { "yamyam.ypos",                             "5"                     },
+  { "yamyam.frames",                           "4"                     },
+  { "yamyam.mode_pingpong2",                   "1"                     },
+  { "yamyam.moving",                           "RocksElements.pcx"     },
+  { "yamyam.moving.xpos",                      "0"                     },
+  { "yamyam.moving.ypos",                      "5"                     },
+  { "yamyam.moving.frames",                    "1"                     },
+
+  { "robot",                                   "RocksElements.pcx"     },
+  { "robot.xpos",                              "4"                     },
+  { "robot.ypos",                              "5"                     },
+  { "robot.frames",                            "4"                     },
+  { "robot.mode_pingpong2",                    "1"                     },
+  { "robot.moving",                            "RocksElements.pcx"     },
+  { "robot.moving.xpos",                       "4"                     },
+  { "robot.moving.ypos",                       "5"                     },
+  { "robot.moving.frames",                     "1"                     },
+
+  { "robot_wheel",                             "RocksElements.pcx"     },
+  { "robot_wheel.xpos",                                "0"                     },
+  { "robot_wheel.ypos",                                "6"                     },
+  { "robot_wheel.frames",                      "1"                     },
+  { "robot_wheel.active",                      "RocksElements.pcx"     },
+  { "robot_wheel.active.xpos",                 "0"                     },
+  { "robot_wheel.active.ypos",                 "6"                     },
+  { "robot_wheel.active.frames",               "4"                     },
+
+  { "magic_wall",                              "RocksElements.pcx"     },
+  { "magic_wall.xpos",                         "0"                     },
+  { "magic_wall.ypos",                         "8"                     },
+  { "magic_wall.frames",                       "1"                     },
+  { "magic_wall.active",                       "RocksElements.pcx"     },
+  { "magic_wall.active.xpos",                  "0"                     },
+  { "magic_wall.active.ypos",                  "8"                     },
+  { "magic_wall.active.frames",                        "4"                     },
+  { "magic_wall.active.mode_reverse",          "1"                     },
+  { "magic_wall.active.delay",                 "4"                     },
+  { "magic_wall.filling",                      "RocksElements.pcx"     },
+  { "magic_wall.filling.xpos",                 "0"                     },
+  { "magic_wall.filling.ypos",                 "8"                     },
+  { "magic_wall.filling.frames",               "4"                     },
+  { "magic_wall.filling.mode_reverse",         "1"                     },
+  { "magic_wall.filling.delay",                        "4"                     },
+  { "magic_wall.full",                         "RocksElements.pcx"     },
+  { "magic_wall.full.xpos",                    "0"                     },
+  { "magic_wall.full.ypos",                    "8"                     },
+  { "magic_wall.full.frames",                  "4"                     },
+  { "magic_wall.full.mode_reverse",            "1"                     },
+  { "magic_wall.full.delay",                   "4"                     },
+  { "magic_wall.emptying",                     "RocksElements.pcx"     },
+  { "magic_wall.emptying.xpos",                        "0"                     },
+  { "magic_wall.emptying.ypos",                        "8"                     },
+  { "magic_wall.emptying.frames",              "4"                     },
+  { "magic_wall.emptying.mode_reverse",                "1"                     },
+  { "magic_wall.emptying.delay",               "4"                     },
+  { "magic_wall.dead",                         "RocksElements.pcx"     },
+  { "magic_wall.dead.xpos",                    "0"                     },
+  { "magic_wall.dead.ypos",                    "8"                     },
+  { "magic_wall.dead.frames",                  "1"                     },
+
+  { "quicksand_empty",                         "RocksElements.pcx"     },
+  { "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_full",                          "RocksElements.pcx"     },
+  { "quicksand_full.xpos",                     "3"                     },
+  { "quicksand_full.ypos",                     "0"                     },
+  { "quicksand_full.frames",                   "1"                     },
+  { "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"                     },
+
+  { "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.global_sync",            "0"                     },
+  { "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.global_sync",           "0"                     },
+
+  { "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.mode_linear",             "1"                     },
+  { "amoeba.shrinking",                                "RocksElements.pcx"     },
+  { "amoeba.shrinking.xpos",                   "5"                     },
+  { "amoeba.shrinking.ypos",                   "6"                     },
+  { "amoeba.shrinking.frames",                 "3"                     },
+  { "amoeba.shrinking.delay",                  "2"                     },
+  { "amoeba.shrinking.mode_linear",            "1"                     },
+  { "amoeba.shrinking.mode_reverse",           "1"                     },
+  { "amoeba_wet",                              "RocksElements.pcx"     },
+  { "amoeba_wet.xpos",                         "8"                     },
+  { "amoeba_wet.ypos",                         "6"                     },
+  { "amoeba_wet.frames",                       "1"                     },
+  { "amoeba_wet.part1",                                "RocksElements.pcx"     },
+  { "amoeba_wet.part1.xpos",                   "8"                     },
+  { "amoeba_wet.part1.ypos",                   "6"                     },
+  { "amoeba_wet.part1.frames",                 "1"                     },
+  { "amoeba_wet.part2",                                "RocksElements.pcx"     },
+  { "amoeba_wet.part2.xpos",                   "9"                     },
+  { "amoeba_wet.part2.ypos",                   "6"                     },
+  { "amoeba_wet.part2.frames",                 "1"                     },
+  { "amoeba_wet.part3",                                "RocksElements.pcx"     },
+  { "amoeba_wet.part3.xpos",                   "10"                    },
+  { "amoeba_wet.part3.ypos",                   "6"                     },
+  { "amoeba_wet.part3.frames",                 "1"                     },
+  { "amoeba_wet.part4",                                "RocksElements.pcx"     },
+  { "amoeba_wet.part4.xpos",                   "11"                    },
+  { "amoeba_wet.part4.ypos",                   "6"                     },
+  { "amoeba_wet.part4.frames",                 "1"                     },
+  { "amoeba_dry",                              "RocksElements.pcx"     },
+  { "amoeba_dry.xpos",                         "8"                     },
+  { "amoeba_dry.ypos",                         "6"                     },
+  { "amoeba_dry.frames",                       "1"                     },
+  { "amoeba_dry.part1",                                "RocksElements.pcx"     },
+  { "amoeba_dry.part1.xpos",                   "8"                     },
+  { "amoeba_dry.part1.ypos",                   "6"                     },
+  { "amoeba_dry.part1.frames",                 "1"                     },
+  { "amoeba_dry.part2",                                "RocksElements.pcx"     },
+  { "amoeba_dry.part2.xpos",                   "9"                     },
+  { "amoeba_dry.part2.ypos",                   "6"                     },
+  { "amoeba_dry.part2.frames",                 "1"                     },
+  { "amoeba_dry.part3",                                "RocksElements.pcx"     },
+  { "amoeba_dry.part3.xpos",                   "10"                    },
+  { "amoeba_dry.part3.ypos",                   "6"                     },
+  { "amoeba_dry.part3.frames",                 "1"                     },
+  { "amoeba_dry.part4",                                "RocksElements.pcx"     },
+  { "amoeba_dry.part4.xpos",                   "11"                    },
+  { "amoeba_dry.part4.ypos",                   "6"                     },
+  { "amoeba_dry.part4.frames",                 "1"                     },
+  { "amoeba_full",                             "RocksElements.pcx"     },
+  { "amoeba_full.xpos",                                "8"                     },
+  { "amoeba_full.ypos",                                "6"                     },
+  { "amoeba_full.frames",                      "1"                     },
+  { "amoeba_full.part1",                       "RocksElements.pcx"     },
+  { "amoeba_full.part1.xpos",                  "8"                     },
+  { "amoeba_full.part1.ypos",                  "6"                     },
+  { "amoeba_full.part1.frames",                        "1"                     },
+  { "amoeba_full.part2",                       "RocksElements.pcx"     },
+  { "amoeba_full.part2.xpos",                  "9"                     },
+  { "amoeba_full.part2.ypos",                  "6"                     },
+  { "amoeba_full.part2.frames",                        "1"                     },
+  { "amoeba_full.part3",                       "RocksElements.pcx"     },
+  { "amoeba_full.part3.xpos",                  "10"                    },
+  { "amoeba_full.part3.ypos",                  "6"                     },
+  { "amoeba_full.part3.frames",                        "1"                     },
+  { "amoeba_full.part4",                       "RocksElements.pcx"     },
+  { "amoeba_full.part4.xpos",                  "11"                    },
+  { "amoeba_full.part4.ypos",                  "6"                     },
+  { "amoeba_full.part4.frames",                        "1"                     },
+  { "amoeba_dead",                             "RocksElements.pcx"     },
+  { "amoeba_dead.xpos",                                "12"                    },
+  { "amoeba_dead.ypos",                                "6"                     },
+  { "amoeba_dead.frames",                      "1"                     },
+  { "amoeba_dead.part1",                       "RocksElements.pcx"     },
+  { "amoeba_dead.part1.xpos",                  "12"                    },
+  { "amoeba_dead.part1.ypos",                  "6"                     },
+  { "amoeba_dead.part1.frames",                        "1"                     },
+  { "amoeba_dead.part2",                       "RocksElements.pcx"     },
+  { "amoeba_dead.part2.xpos",                  "13"                    },
+  { "amoeba_dead.part2.ypos",                  "6"                     },
+  { "amoeba_dead.part2.frames",                        "1"                     },
+  { "amoeba_dead.part3",                       "RocksElements.pcx"     },
+  { "amoeba_dead.part3.xpos",                  "14"                    },
+  { "amoeba_dead.part3.ypos",                  "6"                     },
+  { "amoeba_dead.part3.frames",                        "1"                     },
+  { "amoeba_dead.part4",                       "RocksElements.pcx"     },
+  { "amoeba_dead.part4.xpos",                  "15"                    },
+  { "amoeba_dead.part4.ypos",                  "6"                     },
+  { "amoeba_dead.part4.frames",                        "1"                     },
+
+  { "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_gate2_gray",                           "RocksSP.pcx"           },
+  { "em_gate2_gray.xpos",                      "5"                     },
+  { "em_gate2_gray.ypos",                      "7"                     },
+  { "em_gate2_gray.frames",                    "1"                     },
+  { "em_gate3_gray",                           "RocksSP.pcx"           },
+  { "em_gate3_gray.xpos",                      "6"                     },
+  { "em_gate3_gray.ypos",                      "7"                     },
+  { "em_gate3_gray.frames",                    "1"                     },
+  { "em_gate4_gray",                           "RocksSP.pcx"           },
+  { "em_gate4_gray.xpos",                      "7"                     },
+  { "em_gate4_gray.ypos",                      "7"                     },
+  { "em_gate4_gray.frames",                    "1"                     },
+
+  { "exit_closed",                             "RocksElements.pcx"     },
+  { "exit_closed.xpos",                                "0"                     },
+  { "exit_closed.ypos",                                "11"                    },
+  { "exit_closed.frames",                      "1"                     },
+  { "exit.opening",                            "RocksElements.pcx"     },
+  { "exit.opening.xpos",                       "0"                     },
+  { "exit.opening.ypos",                       "11"                    },
+  { "exit.opening.frames",                     "5"                     },
+  { "exit.opening.delay",                      "6"                     },
+  { "exit.opening.mode_linear",                        "1"                     },
+  { "exit_open",                               "RocksElements.pcx"     },
+  { "exit_open.xpos",                          "4"                     },
+  { "exit_open.ypos",                          "11"                    },
+  { "exit_open.frames",                                "4"                     },
+  { "exit_open.delay",                         "4"                     },
+  { "exit_open.mode_pingpong",                 "1"                     },
+
+  /* images for Emerald Mine Club style elements and actions */
+
+  { "balloon",                                 "RocksDC.pcx"           },
+  { "balloon.xpos",                            "12"                    },
+  { "balloon.ypos",                            "7"                     },
+  { "balloon.frames",                          "1"                     },
+  { "balloon.moving",                          "RocksDC.pcx"           },
+  { "balloon.moving.xpos",                     "12"                    },
+  { "balloon.moving.ypos",                     "7"                     },
+  { "balloon.moving.frames",                   "4"                     },
+  { "balloon.moving.mode_pingpong",            "1"                     },
+  { "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",         "7"                     },
+  { "balloon_send_any_direction.ypos",         "0"                     },
+  { "balloon_send_any_direction.frames",       "1"                     },
+
+  { "spring",                                  "RocksMore.pcx"         },
+  { "spring.xpos",                             "0"                     },
+  { "spring.ypos",                             "5"                     },
+  { "spring.frames",                           "1"                     },
+  { "spring.moving",                           "RocksMore.pcx"         },
+  { "spring.moving.xpos",                      "0"                     },
+  { "spring.moving.ypos",                      "5"                     },
+  { "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"                     },
+
+  /* images for Diamond Caves style elements and actions */
+
+  { "invisible_steelwall",                     "RocksSP.pcx"           },
+  { "invisible_steelwall.xpos",                        "3"                     },
+  { "invisible_steelwall.ypos",                        "5"                     },
+  { "invisible_steelwall.frames",              "1"                     },
+  { "invisible_steelwall.active",              "RocksSP.pcx"           },
+  { "invisible_steelwall.active.xpos",         "1"                     },
+  { "invisible_steelwall.active.ypos",         "5"                     },
+  { "invisible_steelwall.active.frames",       "1"                     },
+
+  { "invisible_wall",                          "RocksSP.pcx"           },
+  { "invisible_wall.xpos",                     "7"                     },
+  { "invisible_wall.ypos",                     "5"                     },
+  { "invisible_wall.frames",                   "1"                     },
+  { "invisible_wall.active",                   "RocksSP.pcx"           },
+  { "invisible_wall.active.xpos",              "5"                     },
+  { "invisible_wall.active.ypos",              "5"                     },
+  { "invisible_wall.active.frames",            "1"                     },
+
+  { "invisible_sand",                          "RocksSP.pcx"           },
+  { "invisible_sand.xpos",                     "6"                     },
+  { "invisible_sand.ypos",                     "5"                     },
+  { "invisible_sand.frames",                   "1"                     },
+  { "invisible_sand.active",                   "RocksSP.pcx"           },
+  { "invisible_sand.active.xpos",              "2"                     },
+  { "invisible_sand.active.ypos",              "5"                     },
+  { "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_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_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_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"                     },
+
+  { "switchgate_switch_up",                    "RocksDC.pcx"           },
+  { "switchgate_switch_up.xpos",               "4"                     },
+  { "switchgate_switch_up.ypos",               "12"                    },
+  { "switchgate_switch_up.frames",             "1"                     },
+  { "switchgate_switch_down",                  "RocksDC.pcx"           },
+  { "switchgate_switch_down.xpos",             "5"                     },
+  { "switchgate_switch_down.ypos",             "12"                    },
+  { "switchgate_switch_down.frames",           "1"                     },
+
+  { "light_switch",                            "RocksDC.pcx"           },
+  { "light_switch.xpos",                       "6"                     },
+  { "light_switch.ypos",                       "12"                    },
+  { "light_switch.frames",                     "1"                     },
+  { "light_switch.active",                     "RocksDC.pcx"           },
+  { "light_switch.active.xpos",                        "7"                     },
+  { "light_switch.active.ypos",                        "12"                    },
+  { "light_switch.active.frames",              "1"                     },
+
+  { "timegate_switch",                         "RocksDC.pcx"           },
+  { "timegate_switch.xpos",                    "0"                     },
+  { "timegate_switch.ypos",                    "15"                    },
+  { "timegate_switch.frames",                  "1"                     },
+  { "timegate_switch.active",                  "RocksDC.pcx"           },
+  { "timegate_switch.active.xpos",             "0"                     },
+  { "timegate_switch.active.ypos",             "15"                    },
+  { "timegate_switch.active.frames",           "4"                     },
+
+  { "envelope",                                        "RocksDC.pcx"           },
+  { "envelope.xpos",                           "4"                     },
+  { "envelope.ypos",                           "14"                    },
+  { "envelope.frames",                         "1"                     },
+
+  { "sign_exclamation",                                "RocksDC.pcx"           },
+  { "sign_exclamation.xpos",                   "5"                     },
+  { "sign_exclamation.ypos",                   "14"                    },
+  { "sign_exclamation.frames",                 "1"                     },
+
+  { "sign_stop",                               "RocksDC.pcx"           },
+  { "sign_stop.xpos",                          "6"                     },
+  { "sign_stop.ypos",                          "14"                    },
+  { "sign_stop.frames",                                "1"                     },
+
+  { "landmine",                                        "RocksDC.pcx"           },
+  { "landmine.xpos",                           "7"                     },
+  { "landmine.ypos",                           "14"                    },
+  { "landmine.frames",                         "1"                     },
+
+  { "steelwall_slanted",                       "RocksDC.pcx"           },
+  { "steelwall_slanted.xpos",                  "5"                     },
+  { "steelwall_slanted.ypos",                  "15"                    },
+  { "steelwall_slanted.frames",                        "1"                     },
+
+  { "extra_time",                              "RocksDC.pcx"           },
+  { "extra_time.xpos",                         "8"                     },
+  { "extra_time.ypos",                         "0"                     },
+  { "extra_time.frames",                       "6"                     },
+  { "extra_time.delay",                                "4"                     },
+
+  { "shield_normal",                           "RocksDC.pcx"           },
+  { "shield_normal.xpos",                      "8"                     },
+  { "shield_normal.ypos",                      "2"                     },
+  { "shield_normal.frames",                    "6"                     },
+  { "shield_normal.delay",                     "4"                     },
+
+  { "shield_deadly",                           "RocksDC.pcx"           },
+  { "shield_deadly.xpos",                      "8"                     },
+  { "shield_deadly.ypos",                      "1"                     },
+  { "shield_deadly.frames",                    "6"                     },
+  { "shield_deadly.delay",                     "4"                     },
+
+  { "shield_normal.active",                    "RocksHeroes.pcx"       },
+  { "shield_normal.active.xpos",               "1"                     },
+  { "shield_normal.active.ypos",               "13"                    },
+  { "shield_normal.active.frames",             "3"                     },
+  { "shield_normal.active.delay",              "8"                     },
+  { "shield_normal.active.mode_pingpong",      "1"                     },
+
+  { "shield_deadly.active",                    "RocksHeroes.pcx"       },
+  { "shield_deadly.active.xpos",               "5"                     },
+  { "shield_deadly.active.ypos",               "13"                    },
+  { "shield_deadly.active.frames",             "3"                     },
+  { "shield_deadly.active.delay",              "8"                     },
+  { "shield_deadly.active.mode_pingpong",      "1"                     },
+
+  { "switchgate_closed",                       "RocksDC.pcx"           },
+  { "switchgate_closed.xpos",                  "8"                     },
+  { "switchgate_closed.ypos",                  "5"                     },
+  { "switchgate_closed.frames",                        "1"                     },
+  { "switchgate.opening",                      "RocksDC.pcx"           },
+  { "switchgate.opening.xpos",                 "8"                     },
+  { "switchgate.opening.ypos",                 "5"                     },
+  { "switchgate.opening.frames",               "5"                     },
+  { "switchgate.opening.delay",                        "6"                     },
+  { "switchgate_open",                         "RocksDC.pcx"           },
+  { "switchgate_open.xpos",                    "12"                    },
+  { "switchgate_open.ypos",                    "5"                     },
+  { "switchgate_open.frames",                  "1"                     },
+  { "switchgate.closing",                      "RocksDC.pcx"           },
+  { "switchgate.closing.xpos",                 "8"                     },
+  { "switchgate.closing.ypos",                 "5"                     },
+  { "switchgate.closing.frames",               "5"                     },
+  { "switchgate.closing.delay",                        "6"                     },
+  { "switchgate.closing.mode_reverse",         "1"                     },
+
+  { "timegate_closed",                         "RocksDC.pcx"           },
+  { "timegate_closed.xpos",                    "8"                     },
+  { "timegate_closed.ypos",                    "6"                     },
+  { "timegate_closed.frames",                  "1"                     },
+  { "timegate.opening",                                "RocksDC.pcx"           },
+  { "timegate.opening.xpos",                   "8"                     },
+  { "timegate.opening.ypos",                   "6"                     },
+  { "timegate.opening.frames",                 "5"                     },
+  { "timegate.opening.delay",                  "6"                     },
+  { "timegate_open",                           "RocksDC.pcx"           },
+  { "timegate_open.xpos",                      "12"                    },
+  { "timegate_open.ypos",                      "6"                     },
+  { "timegate_open.frames",                    "1"                     },
+  { "timegate.closing",                                "RocksDC.pcx"           },
+  { "timegate.closing.xpos",                   "8"                     },
+  { "timegate.closing.ypos",                   "6"                     },
+  { "timegate.closing.frames",                 "5"                     },
+  { "timegate.closing.delay",                  "6"                     },
+  { "timegate.closing.mode_reverse",           "1"                     },
+
+  { "pearl",                                   "RocksMore.pcx"         },
+  { "pearl.xpos",                              "0"                     },
+  { "pearl.ypos",                              "3"                     },
+  { "pearl.frames",                            "1"                     },
+  { "pearl.breaking",                          "RocksMore.pcx"         },
+  { "pearl.breaking.xpos",                     "0"                     },
+  { "pearl.breaking.ypos",                     "4"                     },
+  { "pearl.breaking.frames",                   "4"                     },
+  { "pearl.breaking.delay",                    "2"                     },
+  { "pearl.breaking.mode_linear",              "4"                     },
+
+  { "crystal",                                 "RocksMore.pcx"         },
+  { "crystal.xpos",                            "1"                     },
+  { "crystal.ypos",                            "3"                     },
+  { "crystal.frames",                          "1"                     },
+
+  { "wall_pearl",                              "RocksMore.pcx"         },
+  { "wall_pearl.xpos",                         "2"                     },
+  { "wall_pearl.ypos",                         "3"                     },
+  { "wall_pearl.frames",                       "1"                     },
+
+  { "wall_crystal",                            "RocksMore.pcx"         },
+  { "wall_crystal.xpos",                       "3"                     },
+  { "wall_crystal.ypos",                       "3"                     },
+  { "wall_crystal.frames",                     "1"                     },
+
+  /* images for DX Boulderdash style elements and actions */
+
+  { "tube_right_down",                         "RocksMore.pcx"         },
+  { "tube_right_down.xpos",                    "1"                     },
+  { "tube_right_down.ypos",                    "5"                     },
+  { "tube_right_down.frames",                  "1"                     },
+
+  { "tube_horizontal_down",                    "RocksMore.pcx"         },
+  { "tube_horizontal_down.xpos",               "2"                     },
+  { "tube_horizontal_down.ypos",               "5"                     },
+  { "tube_horizontal_down.frames",             "1"                     },
+
+  { "tube_left_down",                          "RocksMore.pcx"         },
+  { "tube_left_down.xpos",                     "3"                     },
+  { "tube_left_down.ypos",                     "5"                     },
+  { "tube_left_down.frames",                   "1"                     },
+
+  { "tube_horizontal",                         "RocksMore.pcx"         },
+  { "tube_horizontal.xpos",                    "0"                     },
+  { "tube_horizontal.ypos",                    "6"                     },
+  { "tube_horizontal.frames",                  "1"                     },
+
+  { "tube_vertical_right",                     "RocksMore.pcx"         },
+  { "tube_vertical_right.xpos",                        "1"                     },
+  { "tube_vertical_right.ypos",                        "6"                     },
+  { "tube_vertical_right.frames",              "1"                     },
+
+  { "tube_all",                                        "RocksMore.pcx"         },
+  { "tube_all.xpos",                           "2"                     },
+  { "tube_all.ypos",                           "6"                     },
+  { "tube_all.frames",                         "1"                     },
+
+  { "tube_vertical_left",                      "RocksMore.pcx"         },
+  { "tube_vertical_left.xpos",                 "3"                     },
+  { "tube_vertical_left.ypos",                 "6"                     },
+  { "tube_vertical_left.frames",               "1"                     },
+
+  { "tube_vertical",                           "RocksMore.pcx"         },
+  { "tube_vertical.xpos",                      "0"                     },
+  { "tube_vertical.ypos",                      "7"                     },
+  { "tube_vertical.frames",                    "1"                     },
+
+  { "tube_right_up",                           "RocksMore.pcx"         },
+  { "tube_right_up.xpos",                      "1"                     },
+  { "tube_right_up.ypos",                      "7"                     },
+  { "tube_right_up.frames",                    "1"                     },
+
+  { "tube_horizontal_up",                      "RocksMore.pcx"         },
+  { "tube_horizontal_up.xpos",                 "2"                     },
+  { "tube_horizontal_up.ypos",                 "7"                     },
+  { "tube_horizontal_up.frames",               "1"                     },
+
+  { "tube_left_up",                            "RocksMore.pcx"         },
+  { "tube_left_up.xpos",                       "3"                     },
+  { "tube_left_up.ypos",                       "7"                     },
+  { "tube_left_up.frames",                     "1"                     },
+
+  { "trap",                                    "RocksMore.pcx"         },
+  { "trap.xpos",                               "4"                     },
+  { "trap.ypos",                               "0"                     },
+  { "trap.frames",                             "1"                     },
+  { "trap.active",                             "RocksMore.pcx"         },
+  { "trap.active.xpos",                                "4"                     },
+  { "trap.active.ypos",                                "0"                     },
+  { "trap.active.frames",                      "4"                     },
+  { "trap.active.delay",                       "4"                     },
+  { "trap.active.mode_pingpong2",              "1"                     },
+
+  { "dx_supabomb",                             "RocksMore.pcx"         },
+  { "dx_supabomb.xpos",                                "7"                     },
+  { "dx_supabomb.ypos",                                "1"                     },
+  { "dx_supabomb.frames",                      "1"                     },
+
+  /* images for Rocks'n'Diamonds style elements and actions */
+
+  { "key1",                                    "RocksElements.pcx"     },
+  { "key1.xpos",                               "4"                     },
+  { "key1.ypos",                               "1"                     },
+  { "key1.frames",                             "1"                     },
+  { "key2",                                    "RocksElements.pcx"     },
+  { "key2.xpos",                               "5"                     },
+  { "key2.ypos",                               "1"                     },
+  { "key2.frames",                             "1"                     },
+  { "key3",                                    "RocksElements.pcx"     },
+  { "key3.xpos",                               "6"                     },
+  { "key3.ypos",                               "1"                     },
+  { "key3.frames",                             "1"                     },
+  { "key4",                                    "RocksElements.pcx"     },
+  { "key4.xpos",                               "7"                     },
+  { "key4.ypos",                               "1"                     },
+  { "key4.frames",                             "1"                     },
+
+  { "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"                     },
+  { "gate2_gray",                              "RocksElements.pcx"     },
+  { "gate2_gray.xpos",                         "9"                     },
+  { "gate2_gray.ypos",                         "2"                     },
+  { "gate2_gray.frames",                       "1"                     },
+  { "gate3_gray",                              "RocksElements.pcx"     },
+  { "gate3_gray.xpos",                         "10"                    },
+  { "gate3_gray.ypos",                         "2"                     },
+  { "gate3_gray.frames",                       "1"                     },
+  { "gate4_gray",                              "RocksElements.pcx"     },
+  { "gate4_gray.xpos",                         "11"                    },
+  { "gate4_gray.ypos",                         "2"                     },
+  { "gate4_gray.frames",                       "1"                     },
+
+  { "gameoflife",                              "RocksElements.pcx"     },
+  { "gameoflife.xpos",                         "8"                     },
+  { "gameoflife.ypos",                         "1"                     },
+  { "gameoflife.frames",                       "1"                     },
+
+  { "biomaze",                                 "RocksElements.pcx"     },
+  { "biomaze.xpos",                            "9"                     },
+  { "biomaze.ypos",                            "1"                     },
+  { "biomaze.frames",                          "1"                     },
+
+  { "pacman_right",                            "RocksElements.pcx"     },
+  { "pacman_right.xpos",                       "8"                     },
+  { "pacman_right.ypos",                       "5"                     },
+  { "pacman_right.frames",                     "2"                     },
+  { "pacman_right.mode_reverse",               "1"                     },
+  { "pacman_right.delay",                      "4"                     },
+  { "pacman_up",                               "RocksElements.pcx"     },
+  { "pacman_up.xpos",                          "10"                    },
+  { "pacman_up.ypos",                          "5"                     },
+  { "pacman_up.frames",                                "2"                     },
+  { "pacman_up.mode_reverse",                  "1"                     },
+  { "pacman_up.delay",                         "4"                     },
+  { "pacman_left",                             "RocksElements.pcx"     },
+  { "pacman_left.xpos",                                "12"                    },
+  { "pacman_left.ypos",                                "5"                     },
+  { "pacman_left.frames",                      "2"                     },
+  { "pacman_left.mode_reverse",                        "1"                     },
+  { "pacman_left.delay",                       "4"                     },
+  { "pacman_down",                             "RocksElements.pcx"     },
+  { "pacman_down.xpos",                                "14"                    },
+  { "pacman_down.ypos",                                "5"                     },
+  { "pacman_down.frames",                      "2"                     },
+  { "pacman_down.mode_reverse",                        "1"                     },
+  { "pacman_down.delay",                       "4"                     },
+
+  { "lamp",                                    "RocksElements.pcx"     },
+  { "lamp.xpos",                               "0"                     },
+  { "lamp.ypos",                               "7"                     },
+  { "lamp.frames",                             "1"                     },
+  { "lamp.active",                             "RocksElements.pcx"     },
+  { "lamp.active.xpos",                                "1"                     },
+  { "lamp.active.ypos",                                "7"                     },
+  { "lamp.active.frames",                      "1"                     },
+
+  { "time_orb_full",                           "RocksElements.pcx"     },
+  { "time_orb_full.xpos",                      "2"                     },
+  { "time_orb_full.ypos",                      "7"                     },
+  { "time_orb_full.frames",                    "1"                     },
+  { "time_orb_empty",                          "RocksElements.pcx"     },
+  { "time_orb_empty.xpos",                     "3"                     },
+  { "time_orb_empty.ypos",                     "7"                     },
+  { "time_orb_empty.frames",                   "1"                     },
+
+  { "emerald_yellow",                          "RocksElements.pcx"     },
+  { "emerald_yellow.xpos",                     "10"                    },
+  { "emerald_yellow.ypos",                     "8"                     },
+  { "emerald_yellow.frames",                   "1"                     },
+  { "emerald_yellow.falling",                  "RocksElements.pcx"     },
+  { "emerald_yellow.falling.xpos",             "10"                    },
+  { "emerald_yellow.falling.ypos",             "8"                     },
+  { "emerald_yellow.falling.frames",           "2"                     },
+  { "emerald_red",                             "RocksElements.pcx"     },
+  { "emerald_red.xpos",                                "8"                     },
+  { "emerald_red.ypos",                                "9"                     },
+  { "emerald_red.frames",                      "1"                     },
+  { "emerald_red.falling",                     "RocksElements.pcx"     },
+  { "emerald_red.falling.xpos",                        "8"                     },
+  { "emerald_red.falling.ypos",                        "9"                     },
+  { "emerald_red.falling.frames",              "2"                     },
+  { "emerald_purple",                          "RocksElements.pcx"     },
+  { "emerald_purple.xpos",                     "10"                    },
+  { "emerald_purple.ypos",                     "9"                     },
+  { "emerald_purple.frames",                   "1"                     },
+  { "emerald_purple.falling",                  "RocksElements.pcx"     },
+  { "emerald_purple.falling.xpos",             "10"                    },
+  { "emerald_purple.falling.ypos",             "9"                     },
+  { "emerald_purple.falling.frames",           "2"                     },
+
+  { "wall_emerald_yellow",                     "RocksElements.pcx"     },
+  { "wall_emerald_yellow.xpos",                        "8"                     },
+  { "wall_emerald_yellow.ypos",                        "8"                     },
+  { "wall_emerald_yellow.frames",              "1"                     },
+  { "wall_emerald_red",                                "RocksElements.pcx"     },
+  { "wall_emerald_red.xpos",                   "6"                     },
+  { "wall_emerald_red.ypos",                   "8"                     },
+  { "wall_emerald_red.frames",                 "1"                     },
+  { "wall_emerald_purple",                     "RocksElements.pcx"     },
+  { "wall_emerald_purple.xpos",                        "7"                     },
+  { "wall_emerald_purple.ypos",                        "8"                     },
+  { "wall_emerald_purple.frames",              "1"                     },
+  { "wall_bd_diamond",                         "RocksElements.pcx"     },
+  { "wall_bd_diamond.xpos",                    "9"                     },
+  { "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_x",                          "RocksElements.pcx"     },
+  { "wall_growing_x.xpos",                     "5"                     },
+  { "wall_growing_x.ypos",                     "9"                     },
+  { "wall_growing_x.frames",                   "1"                     },
+  { "wall_growing_y",                          "RocksElements.pcx"     },
+  { "wall_growing_y.xpos",                     "6"                     },
+  { "wall_growing_y.ypos",                     "9"                     },
+  { "wall_growing_y.frames",                   "1"                     },
+
+  { "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.global_sync",    "0"                     },
+  { "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.global_sync",   "0"                     },
+  { "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.global_sync",      "0"                     },
+  { "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.global_sync",    "0"                     },
+
+  { "black_orb",                               "RocksElements.pcx"     },
+  { "black_orb.xpos",                          "13"                    },
+  { "black_orb.ypos",                          "9"                     },
+  { "black_orb.frames",                                "1"                     },
+
+  { "speed_pill",                              "RocksElements.pcx"     },
+  { "speed_pill.xpos",                         "14"                    },
+  { "speed_pill.ypos",                         "9"                     },
+  { "speed_pill.frames",                       "1"                     },
+
+  { "dark_yamyam",                             "RocksElements.pcx"     },
+  { "dark_yamyam.xpos",                                "8"                     },
+  { "dark_yamyam.ypos",                                "11"                    },
+  { "dark_yamyam.frames",                      "4"                     },
+  { "dark_yamyam.mode_pingpong2",              "1"                     },
+
+  { "dynabomb.active",                         "RocksElements.pcx"     },
+  { "dynabomb.active.xpos",                    "12"                    },
+  { "dynabomb.active.ypos",                    "11"                    },
+  { "dynabomb.active.frames",                  "4"                     },
+  { "dynabomb.active.delay",                   "6"                     },
+  { "dynabomb.active.mode_pingpong",           "1"                     },
+  { "dynabomb_player1.active",                 "RocksElements.pcx"     },
+  { "dynabomb_player1.active.xpos",            "12"                    },
+  { "dynabomb_player1.active.ypos",            "11"                    },
+  { "dynabomb_player1.active.frames",          "4"                     },
+  { "dynabomb_player1.active.delay",           "6"                     },
+  { "dynabomb_player1.active.mode_pingpong",   "1"                     },
+  { "dynabomb_player2.active",                 "RocksElements.pcx"     },
+  { "dynabomb_player2.active.xpos",            "12"                    },
+  { "dynabomb_player2.active.ypos",            "11"                    },
+  { "dynabomb_player2.active.frames",          "4"                     },
+  { "dynabomb_player2.active.delay",           "6"                     },
+  { "dynabomb_player2.active.mode_pingpong",   "1"                     },
+  { "dynabomb_player3.active",                 "RocksElements.pcx"     },
+  { "dynabomb_player3.active.xpos",            "12"                    },
+  { "dynabomb_player3.active.ypos",            "11"                    },
+  { "dynabomb_player3.active.frames",          "4"                     },
+  { "dynabomb_player3.active.delay",           "6"                     },
+  { "dynabomb_player3.active.mode_pingpong",   "1"                     },
+  { "dynabomb_player4.active",                 "RocksElements.pcx"     },
+  { "dynabomb_player4.active.xpos",            "12"                    },
+  { "dynabomb_player4.active.ypos",            "11"                    },
+  { "dynabomb_player4.active.frames",          "4"                     },
+  { "dynabomb_player4.active.delay",           "6"                     },
+  { "dynabomb_player4.active.mode_pingpong",   "1"                     },
+  { "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"                     },
+
+  { "pig",                                     "RocksHeroes.pcx"       },
+  { "pig.xpos",                                        "8"                     },
+  { "pig.ypos",                                        "0"                     },
+  { "pig.frames",                              "1"                     },
+  { "pig_down",                                        "RocksHeroes.pcx"       },
+  { "pig_down.xpos",                           "8"                     },
+  { "pig_down.ypos",                           "0"                     },
+  { "pig_down.frames",                         "1"                     },
+  { "pig_down.moving",                         "RocksHeroes.pcx"       },
+  { "pig_down.moving.xpos",                    "8"                     },
+  { "pig_down.moving.ypos",                    "0"                     },
+  { "pig_down.moving.frames",                  "4"                     },
+  { "pig_down.moving.delay",                   "2"                     },
+  { "pig_down.eating",                         "RocksHeroes.pcx"       },
+  { "pig_down.eating.xpos",                    "8"                     },
+  { "pig_down.eating.ypos",                    "0"                     },
+  { "pig_down.eating.frames",                  "4"                     },
+  { "pig_down.eating.delay",                   "2"                     },
+  { "pig_up",                                  "RocksHeroes.pcx"       },
+  { "pig_up.xpos",                             "12"                    },
+  { "pig_up.ypos",                             "0"                     },
+  { "pig_up.frames",                           "1"                     },
+  { "pig_up.moving",                           "RocksHeroes.pcx"       },
+  { "pig_up.moving.xpos",                      "12"                    },
+  { "pig_up.moving.ypos",                      "0"                     },
+  { "pig_up.moving.frames",                    "4"                     },
+  { "pig_up.moving.delay",                     "2"                     },
+  { "pig_up.eating",                           "RocksHeroes.pcx"       },
+  { "pig_up.eating.xpos",                      "12"                    },
+  { "pig_up.eating.ypos",                      "0"                     },
+  { "pig_up.eating.frames",                    "4"                     },
+  { "pig_up.eating.delay",                     "2"                     },
+  { "pig_left",                                        "RocksHeroes.pcx"       },
+  { "pig_left.xpos",                           "8"                     },
+  { "pig_left.ypos",                           "1"                     },
+  { "pig_left.frames",                         "1"                     },
+  { "pig_left.moving",                         "RocksHeroes.pcx"       },
+  { "pig_left.moving.xpos",                    "8"                     },
+  { "pig_left.moving.ypos",                    "1"                     },
+  { "pig_left.moving.frames",                  "4"                     },
+  { "pig_left.moving.delay",                   "2"                     },
+  { "pig_left.eating",                         "RocksHeroes.pcx"       },
+  { "pig_left.eating.xpos",                    "8"                     },
+  { "pig_left.eating.ypos",                    "1"                     },
+  { "pig_left.eating.frames",                  "4"                     },
+  { "pig_left.eating.delay",                   "2"                     },
+  { "pig_right",                               "RocksHeroes.pcx"       },
+  { "pig_right.xpos",                          "12"                    },
+  { "pig_right.ypos",                          "1"                     },
+  { "pig_right.frames",                                "1"                     },
+  { "pig_right.moving",                                "RocksHeroes.pcx"       },
+  { "pig_right.moving.xpos",                   "12"                    },
+  { "pig_right.moving.ypos",                   "1"                     },
+  { "pig_right.moving.frames",                 "4"                     },
+  { "pig_right.moving.delay",                  "2"                     },
+  { "pig_right.eating",                                "RocksHeroes.pcx"       },
+  { "pig_right.eating.xpos",                   "12"                    },
+  { "pig_right.eating.ypos",                   "1"                     },
+  { "pig_right.eating.frames",                 "4"                     },
+  { "pig_right.eating.delay",                  "2"                     },
+
+  { "dragon",                                  "RocksHeroes.pcx"       },
+  { "dragon.xpos",                             "8"                     },
+  { "dragon.ypos",                             "2"                     },
+  { "dragon.frames",                           "1"                     },
+  { "dragon_down",                             "RocksHeroes.pcx"       },
+  { "dragon_down.xpos",                                "8"                     },
+  { "dragon_down.ypos",                                "2"                     },
+  { "dragon_down.frames",                      "1"                     },
+  { "dragon_down.moving",                      "RocksHeroes.pcx"       },
+  { "dragon_down.moving.xpos",                 "8"                     },
+  { "dragon_down.moving.ypos",                 "2"                     },
+  { "dragon_down.moving.frames",               "4"                     },
+  { "dragon_down.moving.delay",                        "2"                     },
+  { "dragon_down.attacking",                   "RocksHeroes.pcx"       },
+  { "dragon_down.attacking.xpos",              "8"                     },
+  { "dragon_down.attacking.ypos",              "2"                     },
+  { "dragon_down.attacking.frames",            "1"                     },
+  { "dragon_up",                               "RocksHeroes.pcx"       },
+  { "dragon_up.xpos",                          "12"                    },
+  { "dragon_up.ypos",                          "2"                     },
+  { "dragon_up.frames",                                "1"                     },
+  { "dragon_up.moving",                                "RocksHeroes.pcx"       },
+  { "dragon_up.moving.xpos",                   "12"                    },
+  { "dragon_up.moving.ypos",                   "2"                     },
+  { "dragon_up.moving.frames",                 "4"                     },
+  { "dragon_up.moving.delay",                  "2"                     },
+  { "dragon_up.attacking",                     "RocksHeroes.pcx"       },
+  { "dragon_up.attacking.xpos",                        "12"                    },
+  { "dragon_up.attacking.ypos",                        "2"                     },
+  { "dragon_up.attacking.frames",              "1"                     },
+  { "dragon_left",                             "RocksHeroes.pcx"       },
+  { "dragon_left.xpos",                                "8"                     },
+  { "dragon_left.ypos",                                "3"                     },
+  { "dragon_left.frames",                      "1"                     },
+  { "dragon_left.moving",                      "RocksHeroes.pcx"       },
+  { "dragon_left.moving.xpos",                 "8"                     },
+  { "dragon_left.moving.ypos",                 "3"                     },
+  { "dragon_left.moving.frames",               "4"                     },
+  { "dragon_left.moving.delay",                        "2"                     },
+  { "dragon_left.attacking",                   "RocksHeroes.pcx"       },
+  { "dragon_left.attacking.xpos",              "8"                     },
+  { "dragon_left.attacking.ypos",              "3"                     },
+  { "dragon_left.attacking.frames",            "1"                     },
+  { "dragon_right",                            "RocksHeroes.pcx"       },
+  { "dragon_right.xpos",                       "12"                    },
+  { "dragon_right.ypos",                       "3"                     },
+  { "dragon_right.frames",                     "1"                     },
+  { "dragon_right.moving",                     "RocksHeroes.pcx"       },
+  { "dragon_right.moving.xpos",                        "12"                    },
+  { "dragon_right.moving.ypos",                        "3"                     },
+  { "dragon_right.moving.frames",              "4"                     },
+  { "dragon_right.moving.delay",               "2"                     },
+  { "dragon_right.attacking",                  "RocksHeroes.pcx"       },
+  { "dragon_right.attacking.xpos",             "12"                    },
+  { "dragon_right.attacking.ypos",             "3"                     },
+  { "dragon_right.attacking.frames",           "1"                     },
+
+  { "mole",                                    "RocksHeroes.pcx"       },
+  { "mole.xpos",                               "8"                     },
+  { "mole.ypos",                               "4"                     },
+  { "mole.frames",                             "1"                     },
+  { "mole_down",                               "RocksHeroes.pcx"       },
+  { "mole_down.xpos",                          "8"                     },
+  { "mole_down.ypos",                          "4"                     },
+  { "mole_down.frames",                                "1"                     },
+  { "mole_down.moving",                                "RocksHeroes.pcx"       },
+  { "mole_down.moving.xpos",                   "8"                     },
+  { "mole_down.moving.ypos",                   "4"                     },
+  { "mole_down.moving.frames",                 "4"                     },
+  { "mole_down.moving.delay",                  "2"                     },
+  { "mole_down.digging",                       "RocksHeroes.pcx"       },
+  { "mole_down.digging.xpos",                  "8"                     },
+  { "mole_down.digging.ypos",                  "4"                     },
+  { "mole_down.digging.frames",                        "4"                     },
+  { "mole_down.digging.delay",                 "2"                     },
+  { "mole_up",                                 "RocksHeroes.pcx"       },
+  { "mole_up.xpos",                            "12"                    },
+  { "mole_up.ypos",                            "4"                     },
+  { "mole_up.frames",                          "1"                     },
+  { "mole_up.moving",                          "RocksHeroes.pcx"       },
+  { "mole_up.moving.xpos",                     "12"                    },
+  { "mole_up.moving.ypos",                     "4"                     },
+  { "mole_up.moving.frames",                   "4"                     },
+  { "mole_up.moving.delay",                    "2"                     },
+  { "mole_up.digging",                         "RocksHeroes.pcx"       },
+  { "mole_up.digging.xpos",                    "12"                    },
+  { "mole_up.digging.ypos",                    "4"                     },
+  { "mole_up.digging.frames",                  "4"                     },
+  { "mole_up.digging.delay",                   "2"                     },
+  { "mole_left",                               "RocksHeroes.pcx"       },
+  { "mole_left.xpos",                          "8"                     },
+  { "mole_left.ypos",                          "5"                     },
+  { "mole_left.frames",                                "1"                     },
+  { "mole_left.moving",                                "RocksHeroes.pcx"       },
+  { "mole_left.moving.xpos",                   "8"                     },
+  { "mole_left.moving.ypos",                   "5"                     },
+  { "mole_left.moving.frames",                 "4"                     },
+  { "mole_left.moving.delay",                  "2"                     },
+  { "mole_left.digging",                       "RocksHeroes.pcx"       },
+  { "mole_left.digging.xpos",                  "8"                     },
+  { "mole_left.digging.ypos",                  "5"                     },
+  { "mole_left.digging.frames",                        "4"                     },
+  { "mole_left.digging.delay",                 "2"                     },
+  { "mole_right",                              "RocksHeroes.pcx"       },
+  { "mole_right.xpos",                         "12"                    },
+  { "mole_right.ypos",                         "5"                     },
+  { "mole_right.frames",                       "1"                     },
+  { "mole_right.moving",                       "RocksHeroes.pcx"       },
+  { "mole_right.moving.xpos",                  "12"                    },
+  { "mole_right.moving.ypos",                  "5"                     },
+  { "mole_right.moving.frames",                        "4"                     },
+  { "mole_right.moving.delay",                 "2"                     },
+  { "mole_right.digging",                      "RocksHeroes.pcx"       },
+  { "mole_right.digging.xpos",                 "12"                    },
+  { "mole_right.digging.ypos",                 "5"                     },
+  { "mole_right.digging.frames",               "4"                     },
+  { "mole_right.digging.delay",                        "2"                     },
+
+  { "penguin",                                 "RocksHeroes.pcx"       },
+  { "penguin.xpos",                            "8"                     },
+  { "penguin.ypos",                            "6"                     },
+  { "penguin.frames",                          "1"                     },
+  { "penguin_down",                            "RocksHeroes.pcx"       },
+  { "penguin_down.xpos",                       "8"                     },
+  { "penguin_down.ypos",                       "6"                     },
+  { "penguin_down.frames",                     "1"                     },
+  { "penguin_down.moving",                     "RocksHeroes.pcx"       },
+  { "penguin_down.moving.xpos",                        "8"                     },
+  { "penguin_down.moving.ypos",                        "6"                     },
+  { "penguin_down.moving.frames",              "4"                     },
+  { "penguin_down.moving.delay",               "2"                     },
+  { "penguin_up",                              "RocksHeroes.pcx"       },
+  { "penguin_up.xpos",                         "12"                    },
+  { "penguin_up.ypos",                         "6"                     },
+  { "penguin_up.frames",                       "1"                     },
+  { "penguin_up.moving",                       "RocksHeroes.pcx"       },
+  { "penguin_up.moving.xpos",                  "12"                    },
+  { "penguin_up.moving.ypos",                  "6"                     },
+  { "penguin_up.moving.frames",                        "4"                     },
+  { "penguin_up.moving.delay",                 "2"                     },
+  { "penguin_left",                            "RocksHeroes.pcx"       },
+  { "penguin_left.xpos",                       "8"                     },
+  { "penguin_left.ypos",                       "7"                     },
+  { "penguin_left.frames",                     "1"                     },
+  { "penguin_left.moving",                     "RocksHeroes.pcx"       },
+  { "penguin_left.moving.xpos",                        "8"                     },
+  { "penguin_left.moving.ypos",                        "7"                     },
+  { "penguin_left.moving.frames",              "4"                     },
+  { "penguin_left.moving.delay",               "2"                     },
+  { "penguin_right",                           "RocksHeroes.pcx"       },
+  { "penguin_right.xpos",                      "12"                    },
+  { "penguin_right.ypos",                      "7"                     },
+  { "penguin_right.frames",                    "1"                     },
+  { "penguin_right.moving",                    "RocksHeroes.pcx"       },
+  { "penguin_right.moving.xpos",               "12"                    },
+  { "penguin_right.moving.ypos",               "7"                     },
+  { "penguin_right.moving.frames",             "4"                     },
+  { "penguin_right.moving.delay",              "2"                     },
+
+  { "satellite",                               "RocksHeroes.pcx"       },
+  { "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"                     },
+
+  { "flames_left1",                            "RocksHeroes.pcx"       },
+  { "flames_left1.xpos",                       "8"                     },
+  { "flames_left1.ypos",                       "12"                    },
+  { "flames_left1.frames",                     "2"                     },
+  { "flames_left1.offset",                     "96"                    },
+  { "flames_left2",                            "RocksHeroes.pcx"       },
+  { "flames_left2.xpos",                       "9"                     },
+  { "flames_left2.ypos",                       "12"                    },
+  { "flames_left2.frames",                     "2"                     },
+  { "flames_left2.offset",                     "96"                    },
+  { "flames_left3",                            "RocksHeroes.pcx"       },
+  { "flames_left3.xpos",                       "10"                    },
+  { "flames_left3.ypos",                       "12"                    },
+  { "flames_left3.frames",                     "2"                     },
+  { "flames_left3.offset",                     "96"                    },
+
+  { "flames_right1",                           "RocksHeroes.pcx"       },
+  { "flames_right1.xpos",                      "8"                     },
+  { "flames_right1.ypos",                      "13"                    },
+  { "flames_right1.frames",                    "2"                     },
+  { "flames_right1.offset",                    "96"                    },
+  { "flames_right2",                           "RocksHeroes.pcx"       },
+  { "flames_right2.xpos",                      "9"                     },
+  { "flames_right2.ypos",                      "13"                    },
+  { "flames_right2.frames",                    "2"                     },
+  { "flames_right2.offset",                    "96"                    },
+  { "flames_right3",                           "RocksHeroes.pcx"       },
+  { "flames_right3.xpos",                      "10"                    },
+  { "flames_right3.ypos",                      "13"                    },
+  { "flames_right3.frames",                    "2"                     },
+  { "flames_right3.offset",                    "96"                    },
+
+  { "flames_up1",                              "RocksHeroes.pcx"       },
+  { "flames_up1.xpos",                         "8"                     },
+  { "flames_up1.ypos",                         "14"                    },
+  { "flames_up1.frames",                       "2"                     },
+  { "flames_up1.offset",                       "96"                    },
+  { "flames_up2",                              "RocksHeroes.pcx"       },
+  { "flames_up2.xpos",                         "9"                     },
+  { "flames_up2.ypos",                         "14"                    },
+  { "flames_up2.frames",                       "2"                     },
+  { "flames_up2.offset",                       "96"                    },
+  { "flames_up3",                              "RocksHeroes.pcx"       },
+  { "flames_up3.xpos",                         "10"                    },
+  { "flames_up3.ypos",                         "14"                    },
+  { "flames_up3.frames",                       "2"                     },
+  { "flames_up3.offset",                       "96"                    },
+
+  { "flames_down1",                            "RocksHeroes.pcx"       },
+  { "flames_down1.xpos",                       "8"                     },
+  { "flames_down1.ypos",                       "15"                    },
+  { "flames_down1.frames",                     "2"                     },
+  { "flames_down1.offset",                     "96"                    },
+  { "flames_down2",                            "RocksHeroes.pcx"       },
+  { "flames_down2.xpos",                       "9"                     },
+  { "flames_down2.ypos",                       "15"                    },
+  { "flames_down2.frames",                     "2"                     },
+  { "flames_down2.offset",                     "96"                    },
+  { "flames_down3",                            "RocksHeroes.pcx"       },
+  { "flames_down3.xpos",                       "10"                    },
+  { "flames_down3.ypos",                       "15"                    },
+  { "flames_down3.frames",                     "2"                     },
+  { "flames_down3.offset",                     "96"                    },
+
+  { "stoneblock",                              "RocksElements.pcx"     },
+  { "stoneblock.xpos",                         "10"                    },
+  { "stoneblock.ypos",                         "1"                     },
+  { "stoneblock.frames",                       "1"                     },
+
+  /* images for generic elements and actions */
+
+  { "player1",                                 "RocksHeroes.pcx"       },
+  { "player1.xpos",                            "0"                     },
+  { "player1.ypos",                            "0"                     },
+  { "player1.frames",                          "1"                     },
+  { "player1_down",                            "RocksHeroes.pcx"       },
+  { "player1_down.xpos",                       "0"                     },
+  { "player1_down.ypos",                       "0"                     },
+  { "player1_down.frames",                     "1"                     },
+  { "player1_down.moving",                     "RocksHeroes.pcx"       },
+  { "player1_down.moving.xpos",                        "0"                     },
+  { "player1_down.moving.ypos",                        "0"                     },
+  { "player1_down.moving.frames",              "4"                     },
+  { "player1_down.moving.start_frame",         "1"                     },
+  { "player1_down.moving.delay",               "4"                     },
+  { "player1_down.digging",                    "RocksHeroes.pcx"       },
+  { "player1_down.digging.xpos",               "0"                     },
+  { "player1_down.digging.ypos",               "0"                     },
+  { "player1_down.digging.frames",             "4"                     },
+  { "player1_down.pushing",                    "RocksHeroes.pcx"       },
+  { "player1_down.pushing.xpos",               "0"                     },
+  { "player1_down.pushing.ypos",               "0"                     },
+  { "player1_down.pushing.frames",             "4"                     },
+  { "player1_down.pushing.delay",              "2"                     },
+  { "player1_down.snapping",                   "RocksHeroes.pcx"       },
+  { "player1_down.snapping.xpos",              "0"                     },
+  { "player1_down.snapping.ypos",              "0"                     },
+  { "player1_down.snapping.frames",            "1"                     },
+  { "player1_up",                              "RocksHeroes.pcx"       },
+  { "player1_up.xpos",                         "4"                     },
+  { "player1_up.ypos",                         "0"                     },
+  { "player1_up.frames",                       "1"                     },
+  { "player1_up.moving",                       "RocksHeroes.pcx"       },
+  { "player1_up.moving.xpos",                  "4"                     },
+  { "player1_up.moving.ypos",                  "0"                     },
+  { "player1_up.moving.frames",                        "4"                     },
+  { "player1_up.moving.start_frame",           "1"                     },
+  { "player1_up.moving.delay",                 "4"                     },
+  { "player1_up.digging",                      "RocksHeroes.pcx"       },
+  { "player1_up.digging.xpos",                 "4"                     },
+  { "player1_up.digging.ypos",                 "0"                     },
+  { "player1_up.digging.frames",               "4"                     },
+  { "player1_up.pushing",                      "RocksHeroes.pcx"       },
+  { "player1_up.pushing.xpos",                 "4"                     },
+  { "player1_up.pushing.ypos",                 "0"                     },
+  { "player1_up.pushing.frames",               "4"                     },
+  { "player1_up.pushing.delay",                        "2"                     },
+  { "player1_up.snapping",                     "RocksHeroes.pcx"       },
+  { "player1_up.snapping.xpos",                        "4"                     },
+  { "player1_up.snapping.ypos",                        "0"                     },
+  { "player1_up.snapping.frames",              "1"                     },
+  { "player1_left",                            "RocksHeroes.pcx"       },
+  { "player1_left.xpos",                       "0"                     },
+  { "player1_left.ypos",                       "1"                     },
+  { "player1_left.frames",                     "1"                     },
+  { "player1_left.moving",                     "RocksHeroes.pcx"       },
+  { "player1_left.moving.xpos",                        "0"                     },
+  { "player1_left.moving.ypos",                        "1"                     },
+  { "player1_left.moving.frames",              "4"                     },
+  { "player1_left.moving.start_frame",         "1"                     },
+  { "player1_left.moving.delay",               "4"                     },
+  { "player1_left.digging",                    "RocksHeroes.pcx"       },
+  { "player1_left.digging.xpos",               "0"                     },
+  { "player1_left.digging.ypos",               "1"                     },
+  { "player1_left.digging.frames",             "4"                     },
+  { "player1_left.pushing",                    "RocksHeroes.pcx"       },
+  { "player1_left.pushing.xpos",               "4"                     },
+  { "player1_left.pushing.ypos",               "2"                     },
+  { "player1_left.pushing.frames",             "4"                     },
+  { "player1_left.pushing.delay",              "2"                     },
+  { "player1_left.snapping",                   "RocksHeroes.pcx"       },
+  { "player1_left.snapping.xpos",              "0"                     },
+  { "player1_left.snapping.ypos",              "1"                     },
+  { "player1_left.snapping.frames",            "1"                     },
+  { "player1_right",                           "RocksHeroes.pcx"       },
+  { "player1_right.xpos",                      "4"                     },
+  { "player1_right.ypos",                      "1"                     },
+  { "player1_right.frames",                    "1"                     },
+  { "player1_right.moving",                    "RocksHeroes.pcx"       },
+  { "player1_right.moving.xpos",               "4"                     },
+  { "player1_right.moving.ypos",               "1"                     },
+  { "player1_right.moving.frames",             "4"                     },
+  { "player1_right.moving.delay",              "4"                     },
+  { "player1_right.moving.start_frame",                "1"                     },
+  { "player1_right.digging",                   "RocksHeroes.pcx"       },
+  { "player1_right.digging.xpos",              "4"                     },
+  { "player1_right.digging.ypos",              "1"                     },
+  { "player1_right.digging.frames",            "4"                     },
+  { "player1_right.pushing",                   "RocksHeroes.pcx"       },
+  { "player1_right.pushing.xpos",              "0"                     },
+  { "player1_right.pushing.ypos",              "2"                     },
+  { "player1_right.pushing.frames",            "4"                     },
+  { "player1_right.pushing.delay",             "2"                     },
+  { "player1_right.snapping",                  "RocksHeroes.pcx"       },
+  { "player1_right.snapping.xpos",             "4"                     },
+  { "player1_right.snapping.ypos",             "1"                     },
+  { "player1_right.snapping.frames",           "1"                     },
+
+  { "player2",                                 "RocksHeroes.pcx"       },
+  { "player2.xpos",                            "0"                     },
+  { "player2.ypos",                            "3"                     },
+  { "player2.frames",                          "1"                     },
+  { "player2_down",                            "RocksHeroes.pcx"       },
+  { "player2_down.xpos",                       "0"                     },
+  { "player2_down.ypos",                       "3"                     },
+  { "player2_down.frames",                     "1"                     },
+  { "player2_down.moving",                     "RocksHeroes.pcx"       },
+  { "player2_down.moving.xpos",                        "0"                     },
+  { "player2_down.moving.ypos",                        "3"                     },
+  { "player2_down.moving.frames",              "4"                     },
+  { "player2_down.digging",                    "RocksHeroes.pcx"       },
+  { "player2_down.digging.xpos",               "0"                     },
+  { "player2_down.digging.ypos",               "3"                     },
+  { "player2_down.digging.frames",             "4"                     },
+  { "player2_down.pushing",                    "RocksHeroes.pcx"       },
+  { "player2_down.pushing.xpos",               "0"                     },
+  { "player2_down.pushing.ypos",               "3"                     },
+  { "player2_down.pushing.frames",             "4"                     },
+  { "player2_down.snapping",                   "RocksHeroes.pcx"       },
+  { "player2_down.snapping.xpos",              "0"                     },
+  { "player2_down.snapping.ypos",              "3"                     },
+  { "player2_down.snapping.frames",            "1"                     },
+  { "player2_up",                              "RocksHeroes.pcx"       },
+  { "player2_up.xpos",                         "4"                     },
+  { "player2_up.ypos",                         "3"                     },
+  { "player2_up.frames",                       "1"                     },
+  { "player2_up.moving",                       "RocksHeroes.pcx"       },
+  { "player2_up.moving.xpos",                  "4"                     },
+  { "player2_up.moving.ypos",                  "3"                     },
+  { "player2_up.moving.frames",                        "4"                     },
+  { "player2_up.digging",                      "RocksHeroes.pcx"       },
+  { "player2_up.digging.xpos",                 "4"                     },
+  { "player2_up.digging.ypos",                 "3"                     },
+  { "player2_up.digging.frames",               "4"                     },
+  { "player2_up.pushing",                      "RocksHeroes.pcx"       },
+  { "player2_up.pushing.xpos",                 "4"                     },
+  { "player2_up.pushing.ypos",                 "3"                     },
+  { "player2_up.pushing.frames",               "4"                     },
+  { "player2_up.snapping",                     "RocksHeroes.pcx"       },
+  { "player2_up.snapping.xpos",                        "4"                     },
+  { "player2_up.snapping.ypos",                        "3"                     },
+  { "player2_up.snapping.frames",              "1"                     },
+  { "player2_left",                            "RocksHeroes.pcx"       },
+  { "player2_left.xpos",                       "0"                     },
+  { "player2_left.ypos",                       "4"                     },
+  { "player2_left.frames",                     "1"                     },
+  { "player2_left.moving",                     "RocksHeroes.pcx"       },
+  { "player2_left.moving.xpos",                        "0"                     },
+  { "player2_left.moving.ypos",                        "4"                     },
+  { "player2_left.moving.frames",              "4"                     },
+  { "player2_left.digging",                    "RocksHeroes.pcx"       },
+  { "player2_left.digging.xpos",               "0"                     },
+  { "player2_left.digging.ypos",               "4"                     },
+  { "player2_left.digging.frames",             "4"                     },
+  { "player2_left.pushing",                    "RocksHeroes.pcx"       },
+  { "player2_left.pushing.xpos",               "4"                     },
+  { "player2_left.pushing.ypos",               "5"                     },
+  { "player2_left.pushing.frames",             "4"                     },
+  { "player2_left.snapping",                   "RocksHeroes.pcx"       },
+  { "player2_left.snapping.xpos",              "0"                     },
+  { "player2_left.snapping.ypos",              "4"                     },
+  { "player2_left.snapping.frames",            "1"                     },
+  { "player2_right",                           "RocksHeroes.pcx"       },
+  { "player2_right.xpos",                      "4"                     },
+  { "player2_right.ypos",                      "4"                     },
+  { "player2_right.frames",                    "1"                     },
+  { "player2_right.moving",                    "RocksHeroes.pcx"       },
+  { "player2_right.moving.xpos",               "4"                     },
+  { "player2_right.moving.ypos",               "4"                     },
+  { "player2_right.moving.frames",             "4"                     },
+  { "player2_right.digging",                   "RocksHeroes.pcx"       },
+  { "player2_right.digging.xpos",              "4"                     },
+  { "player2_right.digging.ypos",              "4"                     },
+  { "player2_right.digging.frames",            "4"                     },
+  { "player2_right.pushing",                   "RocksHeroes.pcx"       },
+  { "player2_right.pushing.xpos",              "0"                     },
+  { "player2_right.pushing.ypos",              "5"                     },
+  { "player2_right.pushing.frames",            "4"                     },
+  { "player2_right.snapping",                  "RocksHeroes.pcx"       },
+  { "player2_right.snapping.xpos",             "4"                     },
+  { "player2_right.snapping.ypos",             "4"                     },
+  { "player2_right.snapping.frames",           "1"                     },
+
+  { "player3",                                 "RocksHeroes.pcx"       },
+  { "player3.xpos",                            "0"                     },
+  { "player3.ypos",                            "6"                     },
+  { "player3.frames",                          "1"                     },
+  { "player3_down",                            "RocksHeroes.pcx"       },
+  { "player3_down.xpos",                       "0"                     },
+  { "player3_down.ypos",                       "6"                     },
+  { "player3_down.frames",                     "1"                     },
+  { "player3_down.moving",                     "RocksHeroes.pcx"       },
+  { "player3_down.moving.xpos",                        "0"                     },
+  { "player3_down.moving.ypos",                        "6"                     },
+  { "player3_down.moving.frames",              "4"                     },
+  { "player3_down.digging",                    "RocksHeroes.pcx"       },
+  { "player3_down.digging.xpos",               "0"                     },
+  { "player3_down.digging.ypos",               "6"                     },
+  { "player3_down.digging.frames",             "4"                     },
+  { "player3_down.pushing",                    "RocksHeroes.pcx"       },
+  { "player3_down.pushing.xpos",               "0"                     },
+  { "player3_down.pushing.ypos",               "6"                     },
+  { "player3_down.pushing.frames",             "4"                     },
+  { "player3_down.snapping",                   "RocksHeroes.pcx"       },
+  { "player3_down.snapping.xpos",              "0"                     },
+  { "player3_down.snapping.ypos",              "6"                     },
+  { "player3_down.snapping.frames",            "1"                     },
+  { "player3_up",                              "RocksHeroes.pcx"       },
+  { "player3_up.xpos",                         "4"                     },
+  { "player3_up.ypos",                         "6"                     },
+  { "player3_up.frames",                       "1"                     },
+  { "player3_up.moving",                       "RocksHeroes.pcx"       },
+  { "player3_up.moving.xpos",                  "4"                     },
+  { "player3_up.moving.ypos",                  "6"                     },
+  { "player3_up.moving.frames",                        "4"                     },
+  { "player3_up.digging",                      "RocksHeroes.pcx"       },
+  { "player3_up.digging.xpos",                 "4"                     },
+  { "player3_up.digging.ypos",                 "6"                     },
+  { "player3_up.digging.frames",               "4"                     },
+  { "player3_up.pushing",                      "RocksHeroes.pcx"       },
+  { "player3_up.pushing.xpos",                 "4"                     },
+  { "player3_up.pushing.ypos",                 "6"                     },
+  { "player3_up.pushing.frames",               "4"                     },
+  { "player3_up.snapping",                     "RocksHeroes.pcx"       },
+  { "player3_up.snapping.xpos",                        "4"                     },
+  { "player3_up.snapping.ypos",                        "6"                     },
+  { "player3_up.snapping.frames",              "1"                     },
+  { "player3_left",                            "RocksHeroes.pcx"       },
+  { "player3_left.xpos",                       "0"                     },
+  { "player3_left.ypos",                       "7"                     },
+  { "player3_left.frames",                     "1"                     },
+  { "player3_left.moving",                     "RocksHeroes.pcx"       },
+  { "player3_left.moving.xpos",                        "0"                     },
+  { "player3_left.moving.ypos",                        "7"                     },
+  { "player3_left.moving.frames",              "4"                     },
+  { "player3_left.digging",                    "RocksHeroes.pcx"       },
+  { "player3_left.digging.xpos",               "0"                     },
+  { "player3_left.digging.ypos",               "7"                     },
+  { "player3_left.digging.frames",             "4"                     },
+  { "player3_left.pushing",                    "RocksHeroes.pcx"       },
+  { "player3_left.pushing.xpos",               "4"                     },
+  { "player3_left.pushing.ypos",               "8"                     },
+  { "player3_left.pushing.frames",             "4"                     },
+  { "player3_left.snapping",                   "RocksHeroes.pcx"       },
+  { "player3_left.snapping.xpos",              "0"                     },
+  { "player3_left.snapping.ypos",              "7"                     },
+  { "player3_left.snapping.frames",            "1"                     },
+  { "player3_right",                           "RocksHeroes.pcx"       },
+  { "player3_right.xpos",                      "4"                     },
+  { "player3_right.ypos",                      "7"                     },
+  { "player3_right.frames",                    "1"                     },
+  { "player3_right.moving",                    "RocksHeroes.pcx"       },
+  { "player3_right.moving.xpos",               "4"                     },
+  { "player3_right.moving.ypos",               "7"                     },
+  { "player3_right.moving.frames",             "4"                     },
+  { "player3_right.digging",                   "RocksHeroes.pcx"       },
+  { "player3_right.digging.xpos",              "4"                     },
+  { "player3_right.digging.ypos",              "7"                     },
+  { "player3_right.digging.frames",            "4"                     },
+  { "player3_right.pushing",                   "RocksHeroes.pcx"       },
+  { "player3_right.pushing.xpos",              "0"                     },
+  { "player3_right.pushing.ypos",              "8"                     },
+  { "player3_right.pushing.frames",            "4"                     },
+  { "player3_right.snapping",                  "RocksHeroes.pcx"       },
+  { "player3_right.snapping.xpos",             "4"                     },
+  { "player3_right.snapping.ypos",             "7"                     },
+  { "player3_right.snapping.frames",           "1"                     },
+
+  { "player4",                                 "RocksHeroes.pcx"       },
+  { "player4.xpos",                            "0"                     },
+  { "player4.ypos",                            "9"                     },
+  { "player4.frames",                          "1"                     },
+  { "player4_down",                            "RocksHeroes.pcx"       },
+  { "player4_down.xpos",                       "0"                     },
+  { "player4_down.ypos",                       "9"                     },
+  { "player4_down.frames",                     "1"                     },
+  { "player4_down.moving",                     "RocksHeroes.pcx"       },
+  { "player4_down.moving.xpos",                        "0"                     },
+  { "player4_down.moving.ypos",                        "9"                     },
+  { "player4_down.moving.frames",              "4"                     },
+  { "player4_down.digging",                    "RocksHeroes.pcx"       },
+  { "player4_down.digging.xpos",               "0"                     },
+  { "player4_down.digging.ypos",               "9"                     },
+  { "player4_down.digging.frames",             "4"                     },
+  { "player4_down.pushing",                    "RocksHeroes.pcx"       },
+  { "player4_down.pushing.xpos",               "0"                     },
+  { "player4_down.pushing.ypos",               "9"                     },
+  { "player4_down.pushing.frames",             "4"                     },
+  { "player4_down.snapping",                   "RocksHeroes.pcx"       },
+  { "player4_down.snapping.xpos",              "0"                     },
+  { "player4_down.snapping.ypos",              "9"                     },
+  { "player4_down.snapping.frames",            "1"                     },
+  { "player4_up",                              "RocksHeroes.pcx"       },
+  { "player4_up.xpos",                         "4"                     },
+  { "player4_up.ypos",                         "9"                     },
+  { "player4_up.frames",                       "1"                     },
+  { "player4_up.moving",                       "RocksHeroes.pcx"       },
+  { "player4_up.moving.xpos",                  "4"                     },
+  { "player4_up.moving.ypos",                  "9"                     },
+  { "player4_up.moving.frames",                        "4"                     },
+  { "player4_up.digging",                      "RocksHeroes.pcx"       },
+  { "player4_up.digging.xpos",                 "4"                     },
+  { "player4_up.digging.ypos",                 "9"                     },
+  { "player4_up.digging.frames",               "4"                     },
+  { "player4_up.pushing",                      "RocksHeroes.pcx"       },
+  { "player4_up.pushing.xpos",                 "4"                     },
+  { "player4_up.pushing.ypos",                 "9"                     },
+  { "player4_up.pushing.frames",               "4"                     },
+  { "player4_up.snapping",                     "RocksHeroes.pcx"       },
+  { "player4_up.snapping.xpos",                        "4"                     },
+  { "player4_up.snapping.ypos",                        "9"                     },
+  { "player4_up.snapping.frames",              "1"                     },
+  { "player4_left",                            "RocksHeroes.pcx"       },
+  { "player4_left.xpos",                       "0"                     },
+  { "player4_left.ypos",                       "10"                    },
+  { "player4_left.frames",                     "1"                     },
+  { "player4_left.moving",                     "RocksHeroes.pcx"       },
+  { "player4_left.moving.xpos",                        "0"                     },
+  { "player4_left.moving.ypos",                        "10"                    },
+  { "player4_left.moving.frames",              "4"                     },
+  { "player4_left.digging",                    "RocksHeroes.pcx"       },
+  { "player4_left.digging.xpos",               "0"                     },
+  { "player4_left.digging.ypos",               "10"                    },
+  { "player4_left.digging.frames",             "4"                     },
+  { "player4_left.pushing",                    "RocksHeroes.pcx"       },
+  { "player4_left.pushing.xpos",               "4"                     },
+  { "player4_left.pushing.ypos",               "11"                    },
+  { "player4_left.pushing.frames",             "4"                     },
+  { "player4_left.snapping",                   "RocksHeroes.pcx"       },
+  { "player4_left.snapping.xpos",              "0"                     },
+  { "player4_left.snapping.ypos",              "10"                    },
+  { "player4_left.snapping.frames",            "1"                     },
+  { "player4_right",                           "RocksHeroes.pcx"       },
+  { "player4_right.xpos",                      "4"                     },
+  { "player4_right.ypos",                      "10"                    },
+  { "player4_right.frames",                    "1"                     },
+  { "player4_right.moving",                    "RocksHeroes.pcx"       },
+  { "player4_right.moving.xpos",               "4"                     },
+  { "player4_right.moving.ypos",               "10"                    },
+  { "player4_right.moving.frames",             "4"                     },
+  { "player4_right.digging",                   "RocksHeroes.pcx"       },
+  { "player4_right.digging.xpos",              "4"                     },
+  { "player4_right.digging.ypos",              "10"                    },
+  { "player4_right.digging.frames",            "4"                     },
+  { "player4_right.pushing",                   "RocksHeroes.pcx"       },
+  { "player4_right.pushing.xpos",              "0"                     },
+  { "player4_right.pushing.ypos",              "11"                    },
+  { "player4_right.pushing.frames",            "4"                     },
+  { "player4_right.snapping",                  "RocksHeroes.pcx"       },
+  { "player4_right.snapping.xpos",             "4"                     },
+  { "player4_right.snapping.ypos",             "10"                    },
+  { "player4_right.snapping.frames",           "1"                     },
+
+  { "explosion",                               "RocksElements.pcx"     },
+  { "explosion.xpos",                          "0"                     },
+  { "explosion.ypos",                          "4"                     },
+  { "explosion.frames",                                "8"                     },
+  { "explosion.delay",                         "2"                     },
+  { "explosion.global_sync",                   "0"                     },
+
+  { "twinkle_blue",                            "RocksHeroes.pcx"       },
+  { "twinkle_blue.xpos",                       "9"                     },
+  { "twinkle_blue.ypos",                       "11"                    },
+  { "twinkle_blue.frames",                     "3"                     },
+  { "twinkle_blue.delay",                      "2"                     },
+  { "twinkle_blue.mode_pingpong",              "1"                     },
+  { "twinkle_blue.global_sync",                        "0"                     },
+  { "twinkle_white",                           "RocksHeroes.pcx"       },
+  { "twinkle_white.xpos",                      "13"                    },
+  { "twinkle_white.ypos",                      "11"                    },
+  { "twinkle_white.frames",                    "3"                     },
+  { "twinkle_white.delay",                     "2"                     },
+  { "twinkle_white.mode_pingpong",             "1"                     },
+  { "twinkle_white.global_sync",               "0"                     },
+
+  { "steelwall_topleft",                       "RocksElements.pcx"     },
+  { "steelwall_topleft.xpos",                  "0"                     },
+  { "steelwall_topleft.ypos",                  "13"                    },
+  { "steelwall_topleft.frames",                        "1"                     },
+  { "steelwall_topright",                      "RocksElements.pcx"     },
+  { "steelwall_topright.xpos",                 "1"                     },
+  { "steelwall_topright.ypos",                 "13"                    },
+  { "steelwall_topright.frames",               "1"                     },
+  { "steelwall_bottomleft",                    "RocksElements.pcx"     },
+  { "steelwall_bottomleft.xpos",               "2"                     },
+  { "steelwall_bottomleft.ypos",               "13"                    },
+  { "steelwall_bottomleft.frames",             "1"                     },
+  { "steelwall_bottomright",                   "RocksElements.pcx"     },
+  { "steelwall_bottomright.xpos",              "3"                     },
+  { "steelwall_bottomright.ypos",              "13"                    },
+  { "steelwall_bottomright.frames",            "1"                     },
+  { "steelwall_horizontal",                    "RocksElements.pcx"     },
+  { "steelwall_horizontal.xpos",               "4"                     },
+  { "steelwall_horizontal.ypos",               "13"                    },
+  { "steelwall_horizontal.frames",             "1"                     },
+  { "steelwall_vertical",                      "RocksElements.pcx"     },
+  { "steelwall_vertical.xpos",                 "5"                     },
+  { "steelwall_vertical.ypos",                 "13"                    },
+  { "steelwall_vertical.frames",               "1"                     },
+
+  { "invisible_steelwall_topleft",             "RocksElements.pcx"     },
+  { "invisible_steelwall_topleft.xpos",                "6"                     },
+  { "invisible_steelwall_topleft.ypos",                "13"                    },
+  { "invisible_steelwall_topleft.frames",      "1"                     },
+  { "invisible_steelwall_topright",            "RocksElements.pcx"     },
+  { "invisible_steelwall_topright.xpos",       "7"                     },
+  { "invisible_steelwall_topright.ypos",       "13"                    },
+  { "invisible_steelwall_topright.frames",     "1"                     },
+  { "invisible_steelwall_bottomleft",          "RocksElements.pcx"     },
+  { "invisible_steelwall_bottomleft.xpos",     "8"                     },
+  { "invisible_steelwall_bottomleft.ypos",     "13"                    },
+  { "invisible_steelwall_bottomleft.frames",   "1"                     },
+  { "invisible_steelwall_bottomright",         "RocksElements.pcx"     },
+  { "invisible_steelwall_bottomright.xpos",    "9"                     },
+  { "invisible_steelwall_bottomright.ypos",    "13"                    },
+  { "invisible_steelwall_bottomright.frames",  "1"                     },
+  { "invisible_steelwall_horizontal",          "RocksElements.pcx"     },
+  { "invisible_steelwall_horizontal.xpos",     "10"                    },
+  { "invisible_steelwall_horizontal.ypos",     "13"                    },
+  { "invisible_steelwall_horizontal.frames",   "1"                     },
+  { "invisible_steelwall_vertical",            "RocksElements.pcx"     },
+  { "invisible_steelwall_vertical.xpos",       "11"                    },
+  { "invisible_steelwall_vertical.ypos",       "13"                    },
+  { "invisible_steelwall_vertical.frames",     "1"                     },
+
+  { "arrow_blue_left",                         "RocksMore.pcx" },
+  { "arrow_blue_left.xpos",                    "0"                     },
+  { "arrow_blue_left.ypos",                    "0"                     },
+  { "arrow_blue_left.frames",                  "1"                     },
+  { "arrow_blue_right",                                "RocksMore.pcx" },
+  { "arrow_blue_right.xpos",                   "1"                     },
+  { "arrow_blue_right.ypos",                   "0"                     },
+  { "arrow_blue_right.frames",                 "1"                     },
+  { "arrow_blue_up",                           "RocksMore.pcx" },
+  { "arrow_blue_up.xpos",                      "2"                     },
+  { "arrow_blue_up.ypos",                      "0"                     },
+  { "arrow_blue_up.frames",                    "1"                     },
+  { "arrow_blue_down",                         "RocksMore.pcx" },
+  { "arrow_blue_down.xpos",                    "3"                     },
+  { "arrow_blue_down.ypos",                    "0"                     },
+  { "arrow_blue_down.frames",                  "1"                     },
+
+  { "arrow_red_left",                          "RocksMore.pcx" },
+  { "arrow_red_left.xpos",                     "0"                     },
+  { "arrow_red_left.ypos",                     "1"                     },
+  { "arrow_red_left.frames",                   "1"                     },
+  { "arrow_red_right",                         "RocksMore.pcx" },
+  { "arrow_red_right.xpos",                    "1"                     },
+  { "arrow_red_right.ypos",                    "1"                     },
+  { "arrow_red_right.frames",                  "1"                     },
+  { "arrow_red_up",                            "RocksMore.pcx" },
+  { "arrow_red_up.xpos",                       "2"                     },
+  { "arrow_red_up.ypos",                       "1"                     },
+  { "arrow_red_up.frames",                     "1"                     },
+  { "arrow_red_down",                          "RocksMore.pcx" },
+  { "arrow_red_down.xpos",                     "3"                     },
+  { "arrow_red_down.ypos",                     "1"                     },
+  { "arrow_red_down.frames",                   "1"                     },
+
+  { "ball_red",                                        "RocksElements.pcx"     },
+  { "ball_red.xpos",                           "12"                    },
+  { "ball_red.ypos",                           "8"                     },
+  { "ball_red.frames",                         "1"                     },
+  { "ball_blue",                               "RocksElements.pcx"     },
+  { "ball_blue.xpos",                          "13"                    },
+  { "ball_blue.ypos",                          "8"                     },
+  { "ball_blue.frames",                                "1"                     },
+  { "ball_yellow",                             "RocksElements.pcx"     },
+  { "ball_yellow.xpos",                                "14"                    },
+  { "ball_yellow.ypos",                                "8"                     },
+  { "ball_yellow.frames",                      "1"                     },
+  { "ball_gray",                               "RocksElements.pcx"     },
+  { "ball_gray.xpos",                          "15"                    },
+  { "ball_gray.ypos",                          "8"                     },
+  { "ball_gray.frames",                                "1"                     },
+
+  { "scrollbar_blue",                          "RocksMore.pcx"         },
+  { "scrollbar_blue.xpos",                     "0"                     },
+  { "scrollbar_blue.ypos",                     "2"                     },
+  { "scrollbar_blue.frames",                   "1"                     },
+  { "scrollbar_red",                           "RocksMore.pcx"         },
+  { "scrollbar_red.xpos",                      "1"                     },
+  { "scrollbar_red.ypos",                      "2"                     },
+  { "scrollbar_red.frames",                    "1"                     },
+  { "scrollbar_green",                         "RocksMore.pcx"         },
+  { "scrollbar_green.xpos",                    "2"                     },
+  { "scrollbar_green.ypos",                    "2"                     },
+  { "scrollbar_green.frames",                  "1"                     },
+  { "scrollbar_yellow",                                "RocksMore.pcx"         },
+  { "scrollbar_yellow.xpos",                   "3"                     },
+  { "scrollbar_yellow.ypos",                   "2"                     },
+  { "scrollbar_yellow.frames",                 "1"                     },
+
+#include "conf_chr.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! */
+
+  { "menu.back",                               "RocksScreen.pcx"       },
+  { "menu.door",                               "RocksDoor.pcx"         },
+  { "menu.toons",                              "RocksToons.pcx"        },
+  { "menu.font_big",                           "RocksFontBig.pcx"      },
+  { "menu.font_small",                         "RocksFontSmall.pcx"    },
+  { "menu.font_medium",                                "RocksFontMedium.pcx"   },
+  { "menu.font_em",                            "RocksFontEM.pcx"       },
+
+  { "old.pix_elements",                                "RocksElements.pcx"     },
+  { "old.pix_heroes",                          "RocksHeroes.pcx"       },
+  { "old.pix_sp",                              "RocksSP.pcx"           },
+  { "old.pix_dc",                              "RocksDC.pcx"           },
+  { "old.pix_more",                            "RocksMore.pcx"         },
+  { "old.pix_font_em",                         "RocksFontEM.pcx"       },
+
+  { NULL,                                      NULL                    }
+};
index 2260a0dc32856687a0b373b6a73d3b3dc2f936ec..344f57435c8aaad37c1aa90703cf04bcde1c3306 100644 (file)
 #define IMG_CHAR_DEGREE                                599
 #define IMG_CHAR_TM                            600
 #define IMG_CHAR_CURSOR                                601
+#define IMG_MENU_BACK                          602
+#define IMG_MENU_DOOR                          603
+#define IMG_MENU_TOONS                         604
+#define IMG_MENU_FONT_BIG                      605
+#define IMG_MENU_FONT_SMALL                    606
+#define IMG_MENU_FONT_MEDIUM                   607
+#define IMG_MENU_FONT_EM                       608
+#define IMG_OLD_PIX_ELEMENTS                   609
+#define IMG_OLD_PIX_HEROES                     610
+#define IMG_OLD_PIX_SP                         611
+#define IMG_OLD_PIX_DC                         612
+#define IMG_OLD_PIX_MORE                       613
+#define IMG_OLD_PIX_FONT_EM                    614
 
-#define NUM_IMAGE_FILES                                602
+#define NUM_IMAGE_FILES                                615
 
 #endif /* CONF_GFX_H */
diff --git a/src/conf_snd.c b/src/conf_snd.c
new file mode 100644 (file)
index 0000000..642c96c
--- /dev/null
@@ -0,0 +1,242 @@
+/***********************************************************
+* Rocks'n'Diamonds -- McDuffin Strikes Back!               *
+*----------------------------------------------------------*
+* (c) 1995-2002 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
+*----------------------------------------------------------*
+* conf_snd.c                                               *
+***********************************************************/
+
+#include "libgame/libgame.h"
+
+
+struct ConfigInfo sound_config_suffix[] =
+{
+  { NULL,                              NULL                    }
+};
+
+struct ConfigInfo sound_config[] =
+{
+  /* sounds for Boulder Dash style elements and actions */
+  { "bd_empty_space.digging",          "empty.wav"             },
+  { "bd_sand.digging",                 "schlurf.wav"           },
+  { "bd_diamond.collecting",           "pong.wav"              },
+  { "bd_diamond.impact",               "pling.wav"             },
+  { "bd_rock.pushing",                 "pusch.wav"             },
+  { "bd_rock.impact",                  "klopf.wav"             },
+  { "bd_magic_wall.activating",                "quirk.wav"             },
+  { "bd_magic_wall.active",            "miep.wav"              },
+  { "bd_magic_wall.changing",          "quirk.wav"             },
+  { "bd_amoeba.waiting",               SND_FILE_UNDEFINED      },
+  { "bd_amoeba.creating",              "amoebe.wav"            },
+  { "bd_amoeba.turning_to_gem",                "pling.wav"             },
+  { "bd_amoeba.turning_to_rock",       "klopf.wav"             },
+  { "bd_butterfly.moving",             "klapper.wav"           },
+  { "bd_butterfly.waiting",            "klapper.wav"           },
+  { "bd_firefly.moving",               "roehr.wav"             },
+  { "bd_firefly.waiting",              "roehr.wav"             },
+  { "bd_exit.passing",                 "buing.wav"             },
+
+  /* sounds for Supaplex style elements and actions */
+  { "sp_empty_space.digging",          "empty.wav"             },
+  { "sp_base.digging",                 "base.wav"              },
+  { "sp_buggy_base.digging",           "base.wav"              },
+  { "sp_buggy_base.active",            "bug.wav"               },
+  { "sp_infotron.collecting",          "infotron.wav"          },
+  { "sp_infotron.impact",              "pling.wav"             },
+  { "sp_zonk.pushing",                 "zonkpush.wav"          },
+  { "sp_zonk.impact",                  "zonkdown.wav"          },
+  { "sp_disk_red.collecting",          "infotron.wav"          },
+  { "sp_disk_orange.pushing",          "zonkpush.wav"          },
+  { "sp_disk_yellow.pushing",          "pusch.wav"             },
+  { "sp_port.passing",                 "gate.wav"              },
+  { "sp_exit.passing",                 "exit.wav"              },
+  { "sp_exit.opening",                 SND_FILE_UNDEFINED      },
+  { "sp_element.exploding",            "booom.wav"             },
+  { "sp_sniksnak.moving",              SND_FILE_UNDEFINED      },
+  { "sp_sniksnak.waiting",             SND_FILE_UNDEFINED      },
+  { "sp_electron.moving",              SND_FILE_UNDEFINED      },
+  { "sp_electron.waiting",             SND_FILE_UNDEFINED      },
+  { "sp_terminal.activating",          SND_FILE_UNDEFINED      },
+  { "sp_terminal.active",              SND_FILE_UNDEFINED      },
+
+  /* sounds for Sokoban style elements and actions */
+  { "sokoban_object.pushing",          "pusch.wav"             },
+  { "sokoban_field.filling",           "deng.wav"              },
+  { "sokoban_field.emptying",          SND_FILE_UNDEFINED      },
+  { "sokoban_game.solving",            "buing.wav"             },
+
+  /* sounds for Emerald Mine style elements and actions */
+  { "empty_space.digging",             "empty.wav"             },
+  { "sand.digging",                    "schlurf.wav"           },
+  { "emerald.collecting",              "pong.wav"              },
+  { "emerald.impact",                  "pling.wav"             },
+  { "diamond.collecting",              "pong.wav"              },
+  { "diamond.impact",                  "pling.wav"             },
+  { "diamond.breaking",                        "quirk.wav"             },
+  { "rock.pushing",                    "pusch.wav"             },
+  { "rock.impact",                     "klopf.wav"             },
+  { "bomb.pushing",                    "pusch.wav"             },
+  { "nut.pushing",                     "knurk.wav"             },
+  { "nut.cracking",                    "knack.wav"             },
+  { "nut.impact",                      "klumpf.wav"            },
+  { "dynamite.collecting",             "pong.wav"              },
+  { "dynamite.dropping",               "deng.wav"              },
+  { "dynamite.active",                 "zisch.wav"             },
+  { "key.collecting",                  "pong.wav"              },
+  { "gate.passing",                    "gate.wav"              },
+  { "bug.moving",                      "klapper.wav"           },
+  { "bug.waiting",                     "klapper.wav"           },
+  { "spaceship.moving",                        "roehr.wav"             },
+  { "spaceship.waiting",               "roehr.wav"             },
+  { "yamyam.moving",                   SND_FILE_UNDEFINED      },
+  { "yamyam.waiting",                  "njam.wav"              },
+  { "yamyam.eating",                   SND_FILE_UNDEFINED      },
+  { "robot.stepping",                  "schlurf.wav"           },
+  { "robot.waiting",                   SND_FILE_UNDEFINED      },
+  { "robot_wheel.activating",          "deng.wav"              },
+  { "robot_wheel.active",              "miep.wav"              },
+  { "magic_wall.activating",           "quirk.wav"             },
+  { "magic_wall.active",               "miep.wav"              },
+  { "magic_wall.changing",             "quirk.wav"             },
+  { "amoeba.waiting",                  SND_FILE_UNDEFINED      },
+  { "amoeba.creating",                 "amoebe.wav"            },
+  { "amoeba_drop.creating",            SND_FILE_UNDEFINED      },
+  { "acid.splashing",                  "blurb.wav"             },
+  { "quicksand.filling",               SND_FILE_UNDEFINED      },
+  { "quicksand.slipping",              SND_FILE_UNDEFINED      },
+  { "quicksand.emptying",              SND_FILE_UNDEFINED      },
+  { "exit.opening",                    "oeffnen.wav"           },
+  { "exit.passing",                    "buing.wav"             },
+
+  /* sounds for Emerald Mine Club style elements and actions */
+  { "balloon.moving",                  SND_FILE_UNDEFINED      },
+  { "balloon.waiting",                 SND_FILE_UNDEFINED      },
+  { "balloon.pushing",                 "schlurf.wav"           },
+  { "balloon_switch.activating",       SND_FILE_UNDEFINED      },
+  { "spring.moving",                   SND_FILE_UNDEFINED      },
+  { "spring.pushing",                  "pusch.wav"             },
+  { "spring.impact",                   "klopf.wav"             },
+  { "wall.growing",                    SND_FILE_UNDEFINED      },
+
+  /* sounds for Diamond Caves style elements and actions */
+  { "pearl.collecting",                        "pong.wav"              },
+  { "pearl.breaking",                  "knack.wav"             },
+  { "pearl.impact",                    "pling.wav"             },
+  { "crystal.collecting",              "pong.wav"              },
+  { "crystal.impact",                  "pling.wav"             },
+  { "envelope.collecting",             "pong.wav"              },
+  { "sand_invisible.digging",          "schlurf.wav"           },
+  { "shield_normal.collecting",                "pong.wav"              },
+  { "shield_normal.active",            SND_FILE_UNDEFINED      },
+  { "shield_deadly.collecting",                "pong.wav"              },
+  { "shield_deadly.active",            SND_FILE_UNDEFINED      },
+  { "extra_time.collecting",           "gong.wav"              },
+  { "mole.moving",                     SND_FILE_UNDEFINED      },
+  { "mole.waiting",                    SND_FILE_UNDEFINED      },
+  { "mole.eating",                     "blurb.wav"             },
+  { "switchgate_switch.activating",    SND_FILE_UNDEFINED      },
+  { "switchgate.opening",              "oeffnen.wav"           },
+  { "switchgate.closing",              "oeffnen.wav"           },
+  { "switchgate.passing",              "gate.wav"              },
+  { "timegate_switch.activating",      "deng.wav"              },
+  { "timegate_switch.active",          "miep.wav"              },
+  { "timegate.opening",                        "oeffnen.wav"           },
+  { "timegate.closing",                        "oeffnen.wav"           },
+  { "timegate.passing",                        "gate.wav"              },
+  { "conveyor_belt_switch.activating", SND_FILE_UNDEFINED      },
+  { "conveyor_belt_switch.deactivating",SND_FILE_UNDEFINED     },
+  { "conveyor_belt.active",            SND_FILE_UNDEFINED      },
+  { "light_switch.activating",         SND_FILE_UNDEFINED      },
+  { "light_switch.deactivating",       SND_FILE_UNDEFINED      },
+
+  /* sounds for DX Boulderdash style elements and actions */
+  { "dx_bomb.pushing",                 "pusch.wav"             },
+  { "trap_inactive.digging",           "schlurf.wav"           },
+  { "trap.activating",                 SND_FILE_UNDEFINED      },
+  { "tube.passing",                    SND_FILE_UNDEFINED      },
+
+  /* sounds for Rocks'n'Diamonds style elements and actions */
+  { "amoeba.turning_to_gem",           "pling.wav"             },
+  { "amoeba.turning_to_rock",          "klopf.wav"             },
+  { "speed_pill.collecting",           "pong.wav"              },
+  { "dynabomb_nr.collecting",          "pong.wav"              },
+  { "dynabomb_sz.collecting",          "pong.wav"              },
+  { "dynabomb_xl.collecting",          "pong.wav"              },
+  { "dynabomb.dropping",               "deng.wav"              },
+  { "dynabomb.active",                 "zisch.wav"             },
+  { "satellite.moving",                        SND_FILE_UNDEFINED      },
+  { "satellite.waiting",               SND_FILE_UNDEFINED      },
+  { "satellite.pushing",               "pusch.wav"             },
+  { "lamp.activating",                 "deng.wav"              },
+  { "lamp.deactivating",               "deng.wav"              },
+  { "time_orb_full.collecting",                "gong.wav"              },
+  { "time_orb_full.impact",            "deng.wav"              },
+  { "time_orb_empty.pushing",          "pusch.wav"             },
+  { "time_orb_empty.impact",           "deng.wav"              },
+  { "gameoflife.waiting",              SND_FILE_UNDEFINED      },
+  { "gameoflife.creating",             "amoebe.wav"            },
+  { "biomaze.waiting",                 SND_FILE_UNDEFINED      },
+  { "biomaze.creating",                        "amoebe.wav"            },
+  { "pacman.moving",                   SND_FILE_UNDEFINED      },
+  { "pacman.waiting",                  SND_FILE_UNDEFINED      },
+  { "pacman.eating",                   SND_FILE_UNDEFINED      },
+  { "dark_yamyam.moving",              SND_FILE_UNDEFINED      },
+  { "dark_yamyam.waiting",             "njam.wav"              },
+  { "dark_yamyam.eating",              SND_FILE_UNDEFINED      },
+  { "penguin.moving",                  SND_FILE_UNDEFINED      },
+  { "penguin.waiting",                 SND_FILE_UNDEFINED      },
+  { "penguin.passing_exit",            "buing.wav"             },
+  { "pig.moving",                      SND_FILE_UNDEFINED      },
+  { "pig.waiting",                     SND_FILE_UNDEFINED      },
+  { "pig.eating",                      SND_FILE_UNDEFINED      },
+  { "dragon.moving",                   SND_FILE_UNDEFINED      },
+  { "dragon.waiting",                  SND_FILE_UNDEFINED      },
+  { "dragon.attacking",                        SND_FILE_UNDEFINED      },
+
+  /* sounds for generic elements and actions */
+  { "player.dying",                    "autsch.wav"            },
+  { "element.exploding",               "roaaar.wav"            },
+
+  /* sounds for other game actions */
+  { "game.starting",                   SND_FILE_UNDEFINED      },
+  { "game.running_out_of_time",                "gong.wav"              },
+  { "game.leveltime_bonus",            "sirr.wav"              },
+  { "game.losing",                     "lachen.wav"            },
+  { "game.winning",                    SND_FILE_UNDEFINED      },
+
+  /* sounds for other non-game actions */
+  { "menu.door_opening",               "oeffnen.wav"           },
+  { "menu.door_closing",               "oeffnen.wav"           },
+  { "menu.hall_of_fame",               "halloffame.wav"        },
+  { "menu.info_screen",                        "rhythmloop.wav"        },
+
+#if 0
+  { "[not used]",                      "antigrav.wav"          },
+  { "[not used]",                      "bong.wav"              },
+  { "[not used]",                      "fuel.wav"              },
+  { "[not used]",                      "holz.wav"              },
+  { "[not used]",                      "hui.wav"               },
+  { "[not used]",                      "kabumm.wav"            },
+  { "[not used]",                      "kink.wav"              },
+  { "[not used]",                      "kling.wav"             },
+  { "[not used]",                      "krach.wav"             },
+  { "[not used]",                      "laser.wav"             },
+  { "[not used]",                      "quiek.wav"             },
+  { "[not used]",                      "rumms.wav"             },
+  { "[not used]",                      "schlopp.wav"           },
+  { "[not used]",                      "schrff.wav"            },
+  { "[not used]",                      "schwirr.wav"           },
+  { "[not used]",                      "slurp.wav"             },
+  { "[not used]",                      "sproing.wav"           },
+  { "[not used]",                      "warnton.wav"           },
+  { "[not used]",                      "whoosh.wav"            },
+  { "[not used]",                      "boom.wav"              },
+#endif
+
+  { NULL,                              NULL                    }
+};
index 4a60f3ecd03e83b38c40a13287facaa9c08d04c8..c238250f03e90134ac875742cad856150c2b2e5d 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2002-11-18 21:55]"
+#define COMPILE_DATE_STRING "[2002-11-23 14:09]"
index 452e581ff5f6b0c46d0a11f9aeeed56b9309c49b..8db4cefb8a6c0183add60ec991e90ae445e7cf7c 100644 (file)
@@ -3915,14 +3915,15 @@ void RobotWheel(int x, int y)
        DrawGraphic(SCREENX(x), SCREENY(y), IMG_ROBOT_WHEEL_ACTIVE, frame);
       }
 
-      if (!(MovDelay[x][y]%4))
-       PlaySoundLevel(x, y, SND_ROBOT_WHEEL_ACTIVE);
+      PlaySoundLevel(x, y, SND_ROBOT_WHEEL_ACTIVE);
+
       return;
     }
   }
 
   Feld[x][y] = EL_ROBOT_WHEEL;
   DrawLevelField(x, y);
+
   if (ZX == x && ZY == y)
     ZX = ZY = -1;
 }
@@ -3944,23 +3945,20 @@ void TimegateWheel(int x, int y)
        DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_SWITCH_ACTIVE, frame);
       }
 
-      if (!(MovDelay[x][y]%4))
-       PlaySoundLevel(x, y, SND_TIMEGATE_SWITCH_ACTIVE);
+      PlaySoundLevel(x, y, SND_TIMEGATE_SWITCH_ACTIVE);
+
       return;
     }
   }
 
   Feld[x][y] = EL_TIMEGATE_SWITCH;
   DrawLevelField(x, y);
+
+  /* !!! THIS LOOKS WRONG !!! */
   if (ZX == x && ZY == y)
     ZX = ZY = -1;
 }
 
-void Blubber(int x, int y)
-{
-  DrawGraphicAnimation(x, y, IMG_ACID);
-}
-
 void NussKnacken(int x, int y)
 {
   if (!MovDelay[x][y])         /* next animation frame */
@@ -3969,20 +3967,22 @@ void NussKnacken(int x, int y)
   if (MovDelay[x][y])          /* wait some time before next frame */
   {
     MovDelay[x][y]--;
-    if (MovDelay[x][y]/2 && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+    if (MovDelay[x][y])
     {
-      int frame = getGraphicAnimationFrame(IMG_NUT_CRACKING,
-                                          6 - MovDelay[x][y]);
+      if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+      {
+       int frame = getGraphicAnimationFrame(IMG_NUT_CRACKING,
+                                            6 - MovDelay[x][y]);
 
-      DrawGraphic(SCREENX(x), SCREENY(y), IMG_NUT_CRACKING, frame);
-    }
+       DrawGraphic(SCREENX(x), SCREENY(y), IMG_NUT_CRACKING, frame);
+      }
 
-    if (!MovDelay[x][y])
-    {
-      Feld[x][y] = EL_EMERALD;
-      DrawLevelField(x, y);
+      return;
     }
   }
+
+  Feld[x][y] = EL_EMERALD;
+  DrawLevelField(x, y);
 }
 
 void BreakingPearl(int x, int y)
@@ -3993,20 +3993,22 @@ void BreakingPearl(int x, int y)
   if (MovDelay[x][y])          /* wait some time before next frame */
   {
     MovDelay[x][y]--;
-    if (MovDelay[x][y]/2 && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+    if (MovDelay[x][y])
     {
-      int frame = getGraphicAnimationFrame(IMG_PEARL_BREAKING,
-                                          8 - MovDelay[x][y]);
+      if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+      {
+       int frame = getGraphicAnimationFrame(IMG_PEARL_BREAKING,
+                                            8 - MovDelay[x][y]);
 
-      DrawGraphic(SCREENX(x), SCREENY(y), IMG_PEARL_BREAKING, frame);
-    }
+       DrawGraphic(SCREENX(x), SCREENY(y), IMG_PEARL_BREAKING, frame);
+      }
 
-    if (!MovDelay[x][y])
-    {
-      Feld[x][y] = EL_EMPTY;
-      DrawLevelField(x, y);
+      return;
     }
   }
+
+  Feld[x][y] = EL_EMPTY;
+  DrawLevelField(x, y);
 }
 
 void SiebAktivieren(int x, int y, int type)
@@ -4058,26 +4060,24 @@ void AusgangstuerOeffnen(int x, int y)
     int tuer;
 
     MovDelay[x][y]--;
-    tuer = MovDelay[x][y]/delay;
-    if (!(MovDelay[x][y]%delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+    tuer = MovDelay[x][y] / delay;
+
+    if (!(MovDelay[x][y] % delay))
     {
-      int frame = getGraphicAnimationFrame(IMG_EXIT_OPENING,
-                                          29 - MovDelay[x][y]);
+      if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+      {
+       int frame = getGraphicAnimationFrame(IMG_EXIT_OPENING,
+                                            29 - MovDelay[x][y]);
 
-      DrawGraphic(SCREENX(x), SCREENY(y), IMG_EXIT_OPENING, frame);
-    }
+       DrawGraphic(SCREENX(x), SCREENY(y), IMG_EXIT_OPENING, frame);
+      }
 
-    if (!MovDelay[x][y])
-    {
-      Feld[x][y] = EL_EXIT_OPEN;
-      DrawLevelField(x, y);
+      return;
     }
   }
-}
 
-void AusgangstuerBlinken(int x, int y)
-{
-  DrawGraphicAnimation(x, y, IMG_EXIT_OPEN);
+  Feld[x][y] = EL_EXIT_OPEN;
+  DrawLevelField(x, y);
 }
 
 void OpenSwitchgate(int x, int y)
@@ -4091,20 +4091,22 @@ void OpenSwitchgate(int x, int y)
   {
     MovDelay[x][y]--;
 
-    if (!(MovDelay[x][y] % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+    if (!(MovDelay[x][y] % delay))
     {
-      int frame = getGraphicAnimationFrame(IMG_SWITCHGATE_OPENING,
-                                          29 - MovDelay[x][y]);
+      if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+      {
+       int frame = getGraphicAnimationFrame(IMG_SWITCHGATE_OPENING,
+                                            29 - MovDelay[x][y]);
 
-      DrawGraphic(SCREENX(x), SCREENY(y), IMG_SWITCHGATE_OPENING, frame);
-    }
+       DrawGraphic(SCREENX(x), SCREENY(y), IMG_SWITCHGATE_OPENING, frame);
+      }
 
-    if (!MovDelay[x][y])
-    {
-      Feld[x][y] = EL_SWITCHGATE_OPEN;
-      DrawLevelField(x, y);
+      return;
     }
   }
+
+  Feld[x][y] = EL_SWITCHGATE_OPEN;
+  DrawLevelField(x, y);
 }
 
 void CloseSwitchgate(int x, int y)
@@ -4118,20 +4120,22 @@ void CloseSwitchgate(int x, int y)
   {
     MovDelay[x][y]--;
 
-    if (!(MovDelay[x][y] % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+    if (!(MovDelay[x][y] % delay))
     {
-      int frame = getGraphicAnimationFrame(IMG_SWITCHGATE_CLOSING,
-                                          29 - MovDelay[x][y]);
+      if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+      {
+       int frame = getGraphicAnimationFrame(IMG_SWITCHGATE_CLOSING,
+                                            29 - MovDelay[x][y]);
 
-      DrawGraphic(SCREENX(x), SCREENY(y), IMG_SWITCHGATE_CLOSING, frame);
-    }
+       DrawGraphic(SCREENX(x), SCREENY(y), IMG_SWITCHGATE_CLOSING, frame);
+      }
 
-    if (!MovDelay[x][y])
-    {
-      Feld[x][y] = EL_SWITCHGATE_CLOSED;
-      DrawLevelField(x, y);
+      return;
     }
   }
+
+  Feld[x][y] = EL_SWITCHGATE_CLOSED;
+  DrawLevelField(x, y);
 }
 
 void OpenTimegate(int x, int y)
@@ -4145,20 +4149,22 @@ void OpenTimegate(int x, int y)
   {
     MovDelay[x][y]--;
 
-    if (!(MovDelay[x][y] % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+    if (!(MovDelay[x][y] % delay))
     {
-      int frame = getGraphicAnimationFrame(IMG_TIMEGATE_OPENING,
-                                          29 - MovDelay[x][y]);
+      if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+      {
+       int frame = getGraphicAnimationFrame(IMG_TIMEGATE_OPENING,
+                                            29 - MovDelay[x][y]);
 
-      DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_OPENING, frame);
-    }
+       DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_OPENING, frame);
+      }
 
-    if (!MovDelay[x][y])
-    {
-      Feld[x][y] = EL_TIMEGATE_OPEN;
-      DrawLevelField(x, y);
+      return;
     }
   }
+
+  Feld[x][y] = EL_TIMEGATE_OPEN;
+  DrawLevelField(x, y);
 }
 
 void CloseTimegate(int x, int y)
@@ -4172,20 +4178,22 @@ void CloseTimegate(int x, int y)
   {
     MovDelay[x][y]--;
 
-    if (!(MovDelay[x][y] % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+    if (!(MovDelay[x][y] % delay))
     {
-      int frame = getGraphicAnimationFrame(IMG_TIMEGATE_CLOSING,
-                                          29 - MovDelay[x][y]);
+      if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+      {
+       int frame = getGraphicAnimationFrame(IMG_TIMEGATE_CLOSING,
+                                            29 - MovDelay[x][y]);
 
-      DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_CLOSING, frame);
-    }
+       DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_CLOSING, frame);
+      }
 
-    if (!MovDelay[x][y])
-    {
-      Feld[x][y] = EL_TIMEGATE_CLOSED;
-      DrawLevelField(x, y);
+      return;
     }
   }
+
+  Feld[x][y] = EL_TIMEGATE_CLOSED;
+  DrawLevelField(x, y);
 }
 
 static void CloseAllOpenTimegates()
@@ -4904,7 +4912,7 @@ void GameActions()
     else if (element == EL_TIMEGATE_SWITCH_ACTIVE)
       TimegateWheel(x, y);
     else if (element == EL_ACID)
-      Blubber(x, y);
+      DrawGraphicAnimation(x, y, IMG_ACID);
     else if (element == EL_ACID_SPLASH_LEFT ||
             element == EL_ACID_SPLASH_RIGHT)
       Blurb(x, y);
@@ -4919,9 +4927,9 @@ void GameActions()
     else if (element == EL_EXIT_OPENING)
       AusgangstuerOeffnen(x, y);
     else if (element == EL_EXIT_OPEN)
-      AusgangstuerBlinken(x, y);
+      DrawGraphicAnimation(x, y, IMG_EXIT_OPEN);
     else if (element == EL_SP_EXIT_OPEN)
-      ;                /* !!! ADD SOME (OPTIONAL) ANIMATIONS HERE !!! */
+      DrawGraphicAnimation(x, y, IMG_SP_EXIT_OPEN);
     else if (element == EL_WALL_GROWING_ACTIVE)
       MauerWaechst(x, y);
     else if (element == EL_WALL_GROWING ||
@@ -4938,14 +4946,7 @@ void GameActions()
     else if (element == EL_SP_TERMINAL)
       DrawGraphicAnimation(x, y, IMG_SP_TERMINAL);
     else if (element == EL_SP_TERMINAL_ACTIVE)
-    {
       DrawGraphicAnimation(x, y, IMG_SP_TERMINAL_ACTIVE);
-
-#if 0
-      if (!(FrameCounter % 4))
-       PlaySoundLevel(x, y, SND_SP_TERMINAL_ACTIVE);
-#endif
-    }
     else if (IS_BELT_ACTIVE(element))
       DrawBeltAnimation(x, y, element);
     else if (element == EL_SWITCHGATE_OPENING)
@@ -4959,24 +4960,10 @@ void GameActions()
     else if (element == EL_EXTRA_TIME)
       DrawGraphicAnimation(x, y, IMG_EXTRA_TIME);
     else if (element == EL_SHIELD_NORMAL)
-    {
       DrawGraphicAnimation(x, y, IMG_SHIELD_NORMAL);
-
-#if 0
-      if (!(FrameCounter % 4))
-       PlaySoundLevel(x, y, SND_SHIELD_PASSIVE_ACTIVATED);
-#endif
-    }
     else if (element == EL_SHIELD_DEADLY)
-    {
       DrawGraphicAnimation(x, y, IMG_SHIELD_DEADLY);
 
-#if 0
-      if (!(FrameCounter % 4))
-       PlaySoundLevel(x, y, SND_SHIELD_DEADLY_ACTIVE);
-#endif
-    }
-
     if (game.magic_wall_active)
     {
       boolean sieb = FALSE;
index 22ac7a8f96a1bda62f307262f2740ceba090d4e4..6c54ab4ba23e6395914f71aea4c1393229f685e8 100644 (file)
@@ -1079,6 +1079,9 @@ void InitElementInfo()
 static void InitGraphicInfo()
 {
   static int gfx_action[NUM_IMAGE_FILES];
+  Bitmap *src_bitmap;
+  int src_x, src_y;
+  int last_frame;
   int i;
 
   image_files = getCurrentImageList();
@@ -1189,8 +1192,43 @@ static void InitGraphicInfo()
     /* animation synchronized with global frame counter, not move position */
     new_graphic_info[i].anim_global_sync = parameter[GFX_ARG_GLOBAL_SYNC];
 #endif
+
+    /* now check if the loaded image is large enough for the animation */
+    last_frame = new_graphic_info[i].anim_frames - 1;
+
+    getGraphicSource(i, last_frame, &src_bitmap, &src_x, &src_y);
+    if (src_x + TILEX > src_bitmap->width ||
+       src_y + TILEY > src_bitmap->height)
+      Error(ERR_EXIT, "InitGraphicInfo: image bitmap '%s' too small for graphic object %d (normal size)", src_bitmap->source_filename, i);
+
+    getMiniGraphicSource(i, &src_bitmap, &src_x, &src_y);
+    if (src_x + MINI_TILEX > src_bitmap->width ||
+       src_y + MINI_TILEY > src_bitmap->height)
+      Error(ERR_EXIT, "InitGraphicInfo: image bitmap '%s' too small for graphic object %d ('mini' size)", src_bitmap->source_filename, i);
+
+    getMicroGraphicSource(i, &src_bitmap, &src_x, &src_y);
+    if (src_x + MICRO_TILEX > src_bitmap->width ||
+       src_y + MICRO_TILEY > src_bitmap->height)
+      Error(ERR_EXIT, "InitGraphicInfo: image bitmap '%s' too small for graphic object %d ('micro' size)", src_bitmap->source_filename, i);
+
+
+#if 0
+    {
+      int j;
+
+      if (i == IMG_EMERALD)
+      {
+       for (j=0; j<NUM_GFX_ARGS; j++)
+         printf("%s -> %d\n", image_config_suffix[j].token, parameter[j]);
+       printf("-> %d\n", new_graphic_info[i].anim_frames);
+       printf("\n");
+      }
+    }
+#endif
+
   }
 
+
 #if 0
   printf("D> %d\n", image_files[GFX_BD_DIAMOND].parameter[GFX_ARG_NUM_FRAMES]);
   printf("W> %d\n", image_files[GFX_ROBOT_WHEEL].parameter[GFX_ARG_NUM_FRAMES]);
index 3e89c8b196340dfd259d5e469cfb33da1d134c1c..8e69de5460a4b518d0c4fb40320abacc0bbd5078 100644 (file)
@@ -37,8 +37,8 @@ Image *newImage(unsigned int width, unsigned int height, unsigned int depth)
   depth = 8;
 #endif
 
-  image = checked_malloc(sizeof(Image));
-  image->data = checked_malloc(width * height * bytes_per_pixel);
+  image = checked_calloc(sizeof(Image));
+  image->data = checked_calloc(width * height * bytes_per_pixel);
   image->width = width;
   image->height = height;
   image->depth = depth;
index 811ef07e576484826ea0ebdc07889848cac8cbee..8caa755b23be4b1ed2c491c7c125a00a9bded114 100644 (file)
@@ -1655,6 +1655,10 @@ void ReloadCustomArtworkList(struct ArtworkListInfo *artwork_info)
       DrawInitText(file_list[i].token, 150, FC_YELLOW);
 
     LoadArtworkToList(artwork_info, file_list[i].filename, i);
+
+#if 0
+    printf("DEBUG:   loading artwork file '%s'...\n", file_list[i].filename);
+#endif
   }
 
   draw_init[artwork_info->type].do_it = FALSE;
index 7f6d7f2da42ad9407a0a6fa7b4d779aaabf9ea92..9792331422cbb919763f6d13a45eee7dc90201ed 100644 (file)
@@ -112,7 +112,7 @@ static boolean PCX_ReadBitmap(FILE *file, struct PCX_Header *pcx, Image *image)
   for (y = 0; y < height; y++)
   {
     /* decode a scan line into a temporary buffer first */
-    byte *dst_ptr = (pcx_depth == 8) ? bitmap_ptr : row_buffer;
+    byte *dst_ptr = (pcx_depth == 8 ? bitmap_ptr : row_buffer);
     byte value = 0, count = 0;
     int value_int;
     int i;
@@ -152,11 +152,11 @@ static boolean PCX_ReadBitmap(FILE *file, struct PCX_Header *pcx, Image *image)
       {
        int i, j, x = 0;
 
-       for(i = 0; i < pcx->bytes_per_line; i++)
+       for (i = 0; i < pcx->bytes_per_line; i++)
        {
          byte value = *src_ptr++;
 
-         for(j = 7; j >= 0; j--)
+         for (j = 7; j >= 0; j--)
          {
            byte bit = (value >> j) & 1;
 
@@ -170,12 +170,12 @@ static boolean PCX_ReadBitmap(FILE *file, struct PCX_Header *pcx, Image *image)
       byte *src_ptr = row_buffer;
       int plane;
 
-      for(plane = 0; plane < pcx->color_planes; plane++)
+      for (plane = 0; plane < pcx->color_planes; plane++)
       {
        int x;
 
        dst_ptr = bitmap_ptr + plane;
-       for(x = 0; x < width; x++)
+       for (x = 0; x < width; x++)
        {
          *dst_ptr = *src_ptr++;
          dst_ptr += pcx->color_planes;
index 5c0b4fbe9aeb81e1602c6bf6bed9efa6ced49d6f..3603dbe83c86563741766c702e1dab37bfc0124a 100644 (file)
@@ -721,7 +721,8 @@ void ReloadCustomImage(Bitmap *bitmap, char *basename)
   if (bitmap->width != new_bitmap->width ||
       bitmap->height != new_bitmap->height)
   {
-    Error(ERR_WARN, "ReloadCustomImage: new image has wrong dimensions");
+    Error(ERR_WARN, "ReloadCustomImage: new image '%s' has wrong dimensions",
+         filename);
     FreeBitmap(new_bitmap);
     return;
   }
index e21d19c5fb55ee28d2c07f69bb16449d65198c80..1fecbd9de3ec9402db6e99da65de77bac9be7973 100644 (file)
@@ -164,2760 +164,6 @@ int graphics_action_mapping[] =
   7            /* GFX_ACTION_OTHER             (19) */
 };
 
-struct ConfigInfo image_config_suffix[] =
-{
-  { ".xpos",                           "0"                     },
-  { ".ypos",                           "0"                     },
-  { ".offset",                         "32"                    },
-  { ".vertical",                       "0"                     },
-  { ".frames",                         "1"                     },
-  { ".start_frame",                    "-1"                    },
-  { ".delay",                          "1"                     },
-  { ".mode_loop",                      "0"                     },
-  { ".mode_linear",                    "0"                     },
-  { ".mode_pingpong",                  "0"                     },
-  { ".mode_pingpong2",                 "0"                     },
-  { ".mode_reverse",                   "0"                     },
-  { ".global_sync",                    "-1"                    },
-
-  { NULL,                              NULL                    }
-};
-
-struct ConfigInfo sound_config_suffix[] =
-{
-  { NULL,                              NULL                    }
-};
-
-struct ConfigInfo image_config[] =
-{
-  /* images for Boulder Dash style elements and actions */
-
-  { "bd_wall",                                 "RocksMore.pcx"         },
-  { "bd_wall.xpos",                            "4"                     },
-  { "bd_wall.ypos",                            "1"                     },
-  { "bd_wall.frames",                          "1"                     },
-
-  { "bd_rock",                                 "RocksMore.pcx"         },
-  { "bd_rock.xpos",                            "4"                     },
-  { "bd_rock.ypos",                            "2"                     },
-  { "bd_rock.frames",                          "1"                     },
-  { "bd_rock.falling",                         "RocksMore.pcx"         },
-  { "bd_rock.falling.xpos",                    "4"                     },
-  { "bd_rock.falling.ypos",                    "2"                     },
-  { "bd_rock.falling.frames",                  "1"                     },
-  { "bd_rock.moving_left",                     "RocksMore.pcx"         },
-  { "bd_rock.moving_left.xpos",                        "4"                     },
-  { "bd_rock.moving_left.ypos",                        "2"                     },
-  { "bd_rock.moving_left.frames",              "4"                     },
-  { "bd_rock.moving_left.delay",               "2"                     },
-  { "bd_rock.moving_left.mode_reverse",                "1"                     },
-  { "bd_rock.moving_right",                    "RocksMore.pcx"         },
-  { "bd_rock.moving_right.xpos",               "4"                     },
-  { "bd_rock.moving_right.ypos",               "2"                     },
-  { "bd_rock.moving_right.frames",             "4"                     },
-  { "bd_rock.moving_right.start_frame",                "1"                     },
-  { "bd_rock.moving_right.delay",              "2"                     },
-
-  { "bd_diamond",                              "RocksElements.pcx"     },
-  { "bd_diamond.xpos",                         "0"                     },
-  { "bd_diamond.ypos",                         "10"                    },
-  { "bd_diamond.frames",                       "4"                     },
-  { "bd_diamond.delay",                                "4"                     },
-  { "bd_diamond.mode_reverse",                 "1"                     },
-  { "bd_diamond.moving",                       "RocksElements.pcx"     },
-  { "bd_diamond.moving.xpos",                  "3"                     },
-  { "bd_diamond.moving.ypos",                  "10"                    },
-  { "bd_diamond.moving.frames",                        "2"                     },
-  { "bd_diamond.moving.delay",                 "4"                     },
-  { "bd_diamond.falling",                      "RocksElements.pcx"     },
-  { "bd_diamond.falling.xpos",                 "3"                     },
-  { "bd_diamond.falling.ypos",                 "10"                    },
-  { "bd_diamond.falling.frames",               "2"                     },
-  { "bd_diamond.falling.delay",                        "4"                     },
-
-  { "bd_magic_wall",                           "RocksElements.pcx"     },
-  { "bd_magic_wall.xpos",                      "12"                    },
-  { "bd_magic_wall.ypos",                      "10"                    },
-  { "bd_magic_wall.frames",                    "1"                     },
-  { "bd_magic_wall.active",                    "RocksElements.pcx"     },
-  { "bd_magic_wall.active.xpos",               "12"                    },
-  { "bd_magic_wall.active.ypos",               "10"                    },
-  { "bd_magic_wall.active.frames",             "4"                     },
-  { "bd_magic_wall.active.mode_reverse",       "1"                     },
-  { "bd_magic_wall.active.delay",              "4"                     },
-  { "bd_magic_wall.filling",                   "RocksElements.pcx"     },
-  { "bd_magic_wall.filling.xpos",              "12"                    },
-  { "bd_magic_wall.filling.ypos",              "10"                    },
-  { "bd_magic_wall.filling.frames",            "4"                     },
-  { "bd_magic_wall.filling.mode_reverse",      "1"                     },
-  { "bd_magic_wall.filling.delay",             "4"                     },
-  { "bd_magic_wall.full",                      "RocksElements.pcx"     },
-  { "bd_magic_wall.full.xpos",                 "12"                    },
-  { "bd_magic_wall.full.ypos",                 "10"                    },
-  { "bd_magic_wall.full.frames",               "4"                     },
-  { "bd_magic_wall.full.mode_reverse",         "1"                     },
-  { "bd_magic_wall.full.delay",                        "4"                     },
-  { "bd_magic_wall.emptying",                  "RocksElements.pcx"     },
-  { "bd_magic_wall.emptying.xpos",             "12"                    },
-  { "bd_magic_wall.emptying.ypos",             "10"                    },
-  { "bd_magic_wall.emptying.frames",           "4"                     },
-  { "bd_magic_wall.emptying.mode_reverse",     "1"                     },
-  { "bd_magic_wall.emptying.delay",            "4"                     },
-  { "bd_magic_wall.dead",                      "RocksElements.pcx"     },
-  { "bd_magic_wall.dead.xpos",                 "12"                    },
-  { "bd_magic_wall.dead.ypos",                 "10"                    },
-  { "bd_magic_wall.dead.frames",               "1"                     },
-
-  { "bd_amoeba",                               "RocksElements.pcx"     },
-  { "bd_amoeba.xpos",                          "8"                     },
-  { "bd_amoeba.ypos",                          "7"                     },
-  { "bd_amoeba.frames",                                "1"                     },
-  { "bd_amoeba.part1",                         "RocksElements.pcx"     },
-  { "bd_amoeba.part1.xpos",                    "8"                     },
-  { "bd_amoeba.part1.ypos",                    "6"                     },
-  { "bd_amoeba.part1.frames",                  "1"                     },
-  { "bd_amoeba.part2",                         "RocksElements.pcx"     },
-  { "bd_amoeba.part2.xpos",                    "9"                     },
-  { "bd_amoeba.part2.ypos",                    "6"                     },
-  { "bd_amoeba.part2.frames",                  "1"                     },
-  { "bd_amoeba.part3",                         "RocksElements.pcx"     },
-  { "bd_amoeba.part3.xpos",                    "10"                    },
-  { "bd_amoeba.part3.ypos",                    "6"                     },
-  { "bd_amoeba.part3.frames",                  "1"                     },
-  { "bd_amoeba.part4",                         "RocksElements.pcx"     },
-  { "bd_amoeba.part4.xpos",                    "11"                    },
-  { "bd_amoeba.part4.ypos",                    "6"                     },
-  { "bd_amoeba.part4.frames",                  "1"                     },
-
-  { "bd_butterfly",                            "RocksElements.pcx"     },
-  { "bd_butterfly.xpos",                       "4"                     },
-  { "bd_butterfly.ypos",                       "12"                    },
-  { "bd_butterfly.frames",                     "2"                     },
-  { "bd_butterfly.mode_pingpong",              "1"                     },
-  { "bd_butterfly.delay",                      "4"                     },
-  { "bd_butterfly.moving",                     "RocksElements.pcx"     },
-  { "bd_butterfly.moving.xpos",                        "4"                     },
-  { "bd_butterfly.moving.ypos",                        "12"                    },
-  { "bd_butterfly.moving.frames",              "2"                     },
-  { "bd_butterfly.moving.mode_pingpong",       "1"                     },
-  { "bd_butterfly.moving.delay",               "4"                     },
-  { "bd_butterfly_right",                      "RocksElements.pcx"     },
-  { "bd_butterfly_right.xpos",                 "8"                     },
-  { "bd_butterfly_right.ypos",                 "12"                    },
-  { "bd_butterfly_right.frames",               "1"                     },
-  { "bd_butterfly_up",                         "RocksElements.pcx"     },
-  { "bd_butterfly_up.xpos",                    "9"                     },
-  { "bd_butterfly_up.ypos",                    "12"                    },
-  { "bd_butterfly_up.frames",                  "1"                     },
-  { "bd_butterfly_left",                       "RocksElements.pcx"     },
-  { "bd_butterfly_left.xpos",                  "10"                    },
-  { "bd_butterfly_left.ypos",                  "12"                    },
-  { "bd_butterfly_left.frames",                        "1"                     },
-  { "bd_butterfly_down",                       "RocksElements.pcx"     },
-  { "bd_butterfly_down.xpos",                  "11"                    },
-  { "bd_butterfly_down.ypos",                  "12"                    },
-  { "bd_butterfly_down.frames",                        "1"                     },
-
-  { "bd_firefly",                              "RocksElements.pcx"     },
-  { "bd_firefly.xpos",                         "6"                     },
-  { "bd_firefly.ypos",                         "12"                    },
-  { "bd_firefly.frames",                       "2"                     },
-  { "bd_firefly.mode_pingpong",                        "1"                     },
-  { "bd_firefly.delay",                                "4"                     },
-  { "bd_firefly.moving",                       "RocksElements.pcx"     },
-  { "bd_firefly.moving.xpos",                  "6"                     },
-  { "bd_firefly.moving.ypos",                  "12"                    },
-  { "bd_firefly.moving.frames",                        "2"                     },
-  { "bd_firefly.moving.mode_pingpong",         "1"                     },
-  { "bd_firefly.moving.delay",                 "4"                     },
-  { "bd_firefly_right",                                "RocksElements.pcx"     },
-  { "bd_firefly_right.xpos",                   "12"                    },
-  { "bd_firefly_right.ypos",                   "12"                    },
-  { "bd_firefly_right.frames",                 "1"                     },
-  { "bd_firefly_up",                           "RocksElements.pcx"     },
-  { "bd_firefly_up.xpos",                      "13"                    },
-  { "bd_firefly_up.ypos",                      "12"                    },
-  { "bd_firefly_up.frames",                    "1"                     },
-  { "bd_firefly_left",                         "RocksElements.pcx"     },
-  { "bd_firefly_left.xpos",                    "14"                    },
-  { "bd_firefly_left.ypos",                    "12"                    },
-  { "bd_firefly_left.frames",                  "1"                     },
-  { "bd_firefly_down",                         "RocksElements.pcx"     },
-  { "bd_firefly_down.xpos",                    "15"                    },
-  { "bd_firefly_down.ypos",                    "12"                    },
-  { "bd_firefly_down.frames",                  "1"                     },
-
-  /* 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_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"                     },
-  { "sp_zonk.moving_left.frames",              "4"                     },
-  { "sp_zonk.moving_left.delay",               "2"                     },
-  { "sp_zonk.moving_left.mode_reverse",                "1"                     },
-  { "sp_zonk.moving_right",                    "RocksSP.pcx"           },
-  { "sp_zonk.moving_right.xpos",               "0"                     },
-  { "sp_zonk.moving_right.ypos",               "6"                     },
-  { "sp_zonk.moving_right.frames",             "4"                     },
-  { "sp_zonk.moving_right.start_frame",                "1"                     },
-  { "sp_zonk.moving_right.delay",              "2"                     },
-
-  { "sp_base",                                 "RocksSP.pcx"           },
-  { "sp_base.xpos",                            "2"                     },
-  { "sp_base.ypos",                            "0"                     },
-  { "sp_base.frames",                          "1"                     },
-
-  { "sp_murphy",                               "RocksSP.pcx"           },
-  { "sp_murphy.xpos",                          "3"                     },
-  { "sp_murphy.ypos",                          "0"                     },
-  { "sp_murphy.frames",                                "1"                     },
-  { "sp_murphy_left",                          "RocksSP.pcx"           },
-  { "sp_murphy_left.xpos",                     "8"                     },
-  { "sp_murphy_left.ypos",                     "0"                     },
-  { "sp_murphy_left.frames",                   "1"                     },
-  { "sp_murphy_left.moving",                   "RocksSP.pcx"           },
-  { "sp_murphy_left.moving.xpos",              "8"                     },
-  { "sp_murphy_left.moving.ypos",              "0"                     },
-  { "sp_murphy_left.moving.frames",            "3"                     },
-  { "sp_murphy_left.moving.mode_pingpong",     "1"                     },
-  { "sp_murphy_left.moving.delay",             "2"                     },
-  { "sp_murphy_left.digging",                  "RocksSP.pcx"           },
-  { "sp_murphy_left.digging.xpos",             "8"                     },
-  { "sp_murphy_left.digging.ypos",             "0"                     },
-  { "sp_murphy_left.digging.frames",           "3"                     },
-  { "sp_murphy_left.digging.mode_pingpong",    "1"                     },
-  { "sp_murphy_left.digging.delay",            "2"                     },
-  { "sp_murphy_left.pushing",                  "RocksSP.pcx"           },
-  { "sp_murphy_left.pushing.xpos",             "11"                    },
-  { "sp_murphy_left.pushing.ypos",             "1"                     },
-  { "sp_murphy_left.pushing.frames",           "1"                     },
-  { "sp_murphy_left.snapping",                 "RocksSP.pcx"           },
-  { "sp_murphy_left.snapping.xpos",            "9"                     },
-  { "sp_murphy_left.snapping.ypos",            "1"                     },
-  { "sp_murphy_left.snapping.frames",          "1"                     },
-
-  { "sp_murphy_right",                         "RocksSP.pcx"           },
-  { "sp_murphy_right.xpos",                    "11"                    },
-  { "sp_murphy_right.ypos",                    "0"                     },
-  { "sp_murphy_right.frames",                  "1"                     },
-  { "sp_murphy_right.moving",                  "RocksSP.pcx"           },
-  { "sp_murphy_right.moving.xpos",             "11"                    },
-  { "sp_murphy_right.moving.ypos",             "0"                     },
-  { "sp_murphy_right.moving.frames",           "3"                     },
-  { "sp_murphy_right.moving.mode_pingpong",    "1"                     },
-  { "sp_murphy_right.moving.delay",            "2"                     },
-  { "sp_murphy_right.digging",                 "RocksSP.pcx"           },
-  { "sp_murphy_right.digging.xpos",            "11"                    },
-  { "sp_murphy_right.digging.ypos",            "0"                     },
-  { "sp_murphy_right.digging.frames",          "3"                     },
-  { "sp_murphy_right.digging.mode_pingpong",   "1"                     },
-  { "sp_murphy_right.digging.delay",           "2"                     },
-  { "sp_murphy_right.pushing",                 "RocksSP.pcx"           },
-  { "sp_murphy_right.pushing.xpos",            "10"                    },
-  { "sp_murphy_right.pushing.ypos",            "1"                     },
-  { "sp_murphy_right.pushing.frames",          "1"                     },
-  { "sp_murphy_right.snapping",                        "RocksSP.pcx"           },
-  { "sp_murphy_right.snapping.xpos",           "8"                     },
-  { "sp_murphy_right.snapping.ypos",           "1"                     },
-  { "sp_murphy_right.snapping.frames",         "1"                     },
-
-  { "sp_murphy_up",                            "RocksSP.pcx"           },
-  { "sp_murphy_up.xpos",                       "14"                    },
-  { "sp_murphy_up.ypos",                       "0"                     },
-  { "sp_murphy_up.frames",                     "1"                     },
-  { "sp_murphy_up.snapping",                   "RocksSP.pcx"           },
-  { "sp_murphy_up.snapping.xpos",              "14"                    },
-  { "sp_murphy_up.snapping.ypos",              "0"                     },
-  { "sp_murphy_up.snapping.frames",            "1"                     },
-
-  { "sp_murphy_down",                          "RocksSP.pcx"           },
-  { "sp_murphy_down.xpos",                     "15"                    },
-  { "sp_murphy_down.ypos",                     "0"                     },
-  { "sp_murphy_down.frames",                   "1"                     },
-  { "sp_murphy_down.snapping",                 "RocksSP.pcx"           },
-  { "sp_murphy_down.snapping.xpos",            "15"                    },
-  { "sp_murphy_down.snapping.ypos",            "0"                     },
-  { "sp_murphy_down.snapping.frames",          "1"                     },
-
-  { "sp_murphy_clone",                         "RocksSP.pcx"           },
-  { "sp_murphy_clone.xpos",                    "3"                     },
-  { "sp_murphy_clone.ypos",                    "0"                     },
-  { "sp_murphy_clone.frames",                  "1"                     },
-
-  { "sp_infotron",                             "RocksSP.pcx"           },
-  { "sp_infotron.xpos",                                "4"                     },
-  { "sp_infotron.ypos",                                "0"                     },
-  { "sp_infotron.frames",                      "1"                     },
-  { "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"                     },
-  { "sp_chip_single.ypos",                     "0"                     },
-  { "sp_chip_single.frames",                   "1"                     },
-  { "sp_chip_left",                            "RocksSP.pcx"           },
-  { "sp_chip_left.xpos",                       "2"                     },
-  { "sp_chip_left.ypos",                       "3"                     },
-  { "sp_chip_left.frames",                     "1"                     },
-  { "sp_chip_right",                           "RocksSP.pcx"           },
-  { "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_exit_closed",                          "RocksSP.pcx"           },
-  { "sp_exit_closed.xpos",                     "7"                     },
-  { "sp_exit_closed.ypos",                     "0"                     },
-  { "sp_exit_closed.frames",                   "1"                     },
-  { "sp_exit_open",                            "RocksSP.pcx"           },
-  { "sp_exit_open.xpos",                       "7"                     },
-  { "sp_exit_open.ypos",                       "0"                     },
-  { "sp_exit_open.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"                     },
-  { "sp_disk_red.ypos",                                "2"                     },
-  { "sp_disk_red.frames",                      "1"                     },
-  { "sp_disk_red.collecting",                  "RocksSP.pcx"           },
-  { "sp_disk_red.collecting.xpos",             "8"                     },
-  { "sp_disk_red.collecting.ypos",             "5"                     },
-  { "sp_disk_red.collecting.frames",           "8"                     },
-
-  { "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_sniksnak",                             "RocksSP.pcx"           },
-  { "sp_sniksnak.xpos",                                "1"                     },
-  { "sp_sniksnak.ypos",                                "2"                     },
-  { "sp_sniksnak.frames",                      "1"                     },
-  { "sp_sniksnak_left",                                "RocksSP.pcx"           },
-  { "sp_sniksnak_left.xpos",                   "8"                     },
-  { "sp_sniksnak_left.ypos",                   "8"                     },
-  { "sp_sniksnak_left.frames",                 "4"                     },
-  { "sp_sniksnak_left.mode_pingpong2",         "1"                     },
-  { "sp_sniksnak_right",                       "RocksSP.pcx"           },
-  { "sp_sniksnak_right.xpos",                  "12"                    },
-  { "sp_sniksnak_right.ypos",                  "8"                     },
-  { "sp_sniksnak_right.frames",                        "4"                     },
-  { "sp_sniksnak_right.mode_pingpong2",                "1"                     },
-  { "sp_sniksnak_up",                          "RocksSP.pcx"           },
-  { "sp_sniksnak_up.xpos",                     "8"                     },
-  { "sp_sniksnak_up.ypos",                     "9"                     },
-  { "sp_sniksnak_up.frames",                   "4"                     },
-  { "sp_sniksnak_up.mode_pingpong2",           "1"                     },
-  { "sp_sniksnak_down",                                "RocksSP.pcx"           },
-  { "sp_sniksnak_down.xpos",                   "12"                    },
-  { "sp_sniksnak_down.ypos",                   "9"                     },
-  { "sp_sniksnak_down.frames",                 "4"                     },
-  { "sp_sniksnak_down.mode_pingpong2",         "1"                     },
-
-  { "sp_electron",                             "RocksSP.pcx"           },
-  { "sp_electron.xpos",                                "8"                     },
-  { "sp_electron.ypos",                                "10"                    },
-  { "sp_electron.frames",                      "8"                     },
-  { "sp_electron.delay",                       "2"                     },
-
-  { "sp_terminal",                             "RocksSP.pcx"           },
-  { "sp_terminal.xpos",                                "8"                     },
-  { "sp_terminal.ypos",                                "11"                    },
-  { "sp_terminal.frames",                      "7"                     },
-  { "sp_terminal.delay",                       "12"                    },
-  { "sp_terminal.active",                      "RocksSP.pcx"           },
-  { "sp_terminal.active.xpos",                 "8"                     },
-  { "sp_terminal.active.ypos",                 "12"                    },
-  { "sp_terminal.active.frames",               "7"                     },
-  { "sp_terminal.active.delay",                        "4"                     },
-
-  { "sp_buggy_base",                           "RocksSP.pcx"           },
-  { "sp_buggy_base.xpos",                      "1"                     },
-  { "sp_buggy_base.ypos",                      "3"                     },
-  { "sp_buggy_base.frames",                    "1"                     },
-  { "sp_buggy_base.active",                    "RocksSP.pcx"           },
-  { "sp_buggy_base.active.xpos",               "8"                     },
-  { "sp_buggy_base.active.ypos",               "6"                     },
-  { "sp_buggy_base.active.frames",             "4"                     },
-
-  { "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_infotron",                   "RocksSP.pcx"           },
-  { "sp_explosion_infotron.xpos",              "8"                     },
-  { "sp_explosion_infotron.ypos",              "4"                     },
-  { "sp_explosion_infotron.frames",            "8"                     },
-
-  /* images for Sokoban style elements and actions */
-
-  { "sokoban_object",                          "RocksElements.pcx"     },
-  { "sokoban_object.xpos",                     "9"                     },
-  { "sokoban_object.ypos",                     "7"                     },
-  { "sokoban_object.frames",                   "1"                     },
-
-  { "sokoban_field_empty",                     "RocksElements.pcx"     },
-  { "sokoban_field_empty.xpos",                        "10"                    },
-  { "sokoban_field_empty.ypos",                        "7"                     },
-  { "sokoban_field_empty.frames",              "1"                     },
-
-  { "sokoban_field_full",                      "RocksElements.pcx"     },
-  { "sokoban_field_full.xpos",                 "11"                    },
-  { "sokoban_field_full.ypos",                 "7"                     },
-  { "sokoban_field_full.frames",               "1"                     },
-
-  /* images for Emerald Mine style elements and actions */
-
-  { "empty_space",                             "RocksElements.pcx"     },
-  { "empty_space.xpos",                                "7"                     },
-  { "empty_space.ypos",                                "9"                     },
-  { "empty_space.frames",                      "1"                     },
-
-  { "sand",                                    "RocksElements.pcx"     },
-  { "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"                     },
-
-  { "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"                     },
-
-  { "steelwall",                               "RocksElements.pcx"     },
-  { "steelwall.xpos",                          "4"                     },
-  { "steelwall.ypos",                          "0"                     },
-  { "steelwall.frames",                                "1"                     },
-
-  { "rock",                                    "RocksElements.pcx"     },
-  { "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"                     },
-  { "rock.moving_left.frames",                 "4"                     },
-  { "rock.moving_left.delay",                  "2"                     },
-  { "rock.moving_left.mode_reverse",           "1"                     },
-  { "rock.moving_right",                       "RocksElements.pcx"     },
-  { "rock.moving_right.xpos",                  "12"                    },
-  { "rock.moving_right.ypos",                  "0"                     },
-  { "rock.moving_right.frames",                        "4"                     },
-  { "rock.moving_right.start_frame",           "1"                     },
-  { "rock.moving_right.delay",                 "2"                     },
-
-  { "emerald",                                 "RocksElements.pcx"     },
-  { "emerald.xpos",                            "8"                     },
-  { "emerald.ypos",                            "0"                     },
-  { "emerald.frames",                          "1"                     },
-  { "emerald.moving",                          "RocksElements.pcx"     },
-  { "emerald.moving.xpos",                     "8"                     },
-  { "emerald.moving.ypos",                     "0"                     },
-  { "emerald.moving.frames",                   "2"                     },
-  { "emerald.moving.delay",                    "4"                     },
-  { "emerald.falling",                         "RocksElements.pcx"     },
-  { "emerald.falling.xpos",                    "8"                     },
-  { "emerald.falling.ypos",                    "0"                     },
-  { "emerald.falling.frames",                  "2"                     },
-  { "emerald.falling.delay",                   "4"                     },
-
-  { "diamond",                                 "RocksElements.pcx"     },
-  { "diamond.xpos",                            "10"                    },
-  { "diamond.ypos",                            "0"                     },
-  { "diamond.frames",                          "1"                     },
-  { "diamond.moving",                          "RocksElements.pcx"     },
-  { "diamond.moving.xpos",                     "10"                    },
-  { "diamond.moving.ypos",                     "0"                     },
-  { "diamond.moving.frames",                   "2"                     },
-  { "diamond.moving.delay",                    "4"                     },
-  { "diamond.falling",                         "RocksElements.pcx"     },
-  { "diamond.falling.xpos",                    "10"                    },
-  { "diamond.falling.ypos",                    "0"                     },
-  { "diamond.falling.frames",                  "2"                     },
-  { "diamond.falling.delay",                   "4"                     },
-
-  { "bomb",                                    "RocksElements.pcx"     },
-  { "bomb.xpos",                               "11"                    },
-  { "bomb.ypos",                               "1"                     },
-  { "bomb.frames",                             "1"                     },
-
-  { "nut",                                     "RocksElements.pcx"     },
-  { "nut.xpos",                                        "12"                    },
-  { "nut.ypos",                                        "1"                     },
-  { "nut.frames",                              "1"                     },
-  { "nut.cracking",                            "RocksElements.pcx"     },
-  { "nut.cracking.xpos",                       "13"                    },
-  { "nut.cracking.ypos",                       "1"                     },
-  { "nut.cracking.frames",                     "3"                     },
-  { "nut.cracking.delay",                      "2"                     },
-  { "nut.cracking.mode_linear",                        "1"                     },
-
-  { "dynamite",                                        "RocksElements.pcx"     },
-  { "dynamite.xpos",                           "0"                     },
-  { "dynamite.ypos",                           "3"                     },
-  { "dynamite.frames",                         "1"                     },
-  { "dynamite.active",                         "RocksElements.pcx"     },
-  { "dynamite.active.xpos",                    "1"                     },
-  { "dynamite.active.ypos",                    "3"                     },
-  { "dynamite.active.frames",                  "7"                     },
-  { "dynamite.active.delay",                   "12"                    },
-  { "dynamite.active.mode_linear",             "1"                     },
-  { "dynamite.active.global_sync",             "0"                     },
-
-  { "wall_emerald",                            "RocksElements.pcx"     },
-  { "wall_emerald.xpos",                       "4"                     },
-  { "wall_emerald.ypos",                       "8"                     },
-  { "wall_emerald.frames",                     "1"                     },
-
-  { "wall_diamond",                            "RocksElements.pcx"     },
-  { "wall_diamond.xpos",                       "5"                     },
-  { "wall_diamond.ypos",                       "8"                     },
-  { "wall_diamond.frames",                     "1"                     },
-
-  { "bug_right",                               "RocksElements.pcx"     },
-  { "bug_right.xpos",                          "8"                     },
-  { "bug_right.ypos",                          "4"                     },
-  { "bug_right.frames",                                "2"                     },
-  { "bug_right.delay",                         "4"                     },
-  { "bug_up",                                  "RocksElements.pcx"     },
-  { "bug_up.xpos",                             "10"                    },
-  { "bug_up.ypos",                             "4"                     },
-  { "bug_up.frames",                           "2"                     },
-  { "bug_up.delay",                            "4"                     },
-  { "bug_left",                                        "RocksElements.pcx"     },
-  { "bug_left.xpos",                           "12"                    },
-  { "bug_left.ypos",                           "4"                     },
-  { "bug_left.frames",                         "2"                     },
-  { "bug_left.delay",                          "4"                     },
-  { "bug_down",                                        "RocksElements.pcx"     },
-  { "bug_down.xpos",                           "14"                    },
-  { "bug_down.ypos",                           "4"                     },
-  { "bug_down.frames",                         "2"                     },
-  { "bug_down.delay",                          "4"                     },
-
-  { "spaceship_right",                         "RocksElements.pcx"     },
-  { "spaceship_right.xpos",                    "8"                     },
-  { "spaceship_right.ypos",                    "3"                     },
-  { "spaceship_right.frames",                  "2"                     },
-  { "spaceship_right.delay",                   "4"                     },
-  { "spaceship_up",                            "RocksElements.pcx"     },
-  { "spaceship_up.xpos",                       "10"                    },
-  { "spaceship_up.ypos",                       "3"                     },
-  { "spaceship_up.frames",                     "2"                     },
-  { "spaceship_up.delay",                      "4"                     },
-  { "spaceship_left",                          "RocksElements.pcx"     },
-  { "spaceship_left.xpos",                     "12"                    },
-  { "spaceship_left.ypos",                     "3"                     },
-  { "spaceship_left.frames",                   "2"                     },
-  { "spaceship_left.delay",                    "4"                     },
-  { "spaceship_down",                          "RocksElements.pcx"     },
-  { "spaceship_down.xpos",                     "14"                    },
-  { "spaceship_down.ypos",                     "3"                     },
-  { "spaceship_down.frames",                   "2"                     },
-  { "spaceship_down.delay",                    "4"                     },
-
-  { "yamyam",                                  "RocksElements.pcx"     },
-  { "yamyam.xpos",                             "0"                     },
-  { "yamyam.ypos",                             "5"                     },
-  { "yamyam.frames",                           "4"                     },
-  { "yamyam.mode_pingpong2",                   "1"                     },
-  { "yamyam.moving",                           "RocksElements.pcx"     },
-  { "yamyam.moving.xpos",                      "0"                     },
-  { "yamyam.moving.ypos",                      "5"                     },
-  { "yamyam.moving.frames",                    "1"                     },
-
-  { "robot",                                   "RocksElements.pcx"     },
-  { "robot.xpos",                              "4"                     },
-  { "robot.ypos",                              "5"                     },
-  { "robot.frames",                            "4"                     },
-  { "robot.mode_pingpong2",                    "1"                     },
-  { "robot.moving",                            "RocksElements.pcx"     },
-  { "robot.moving.xpos",                       "4"                     },
-  { "robot.moving.ypos",                       "5"                     },
-  { "robot.moving.frames",                     "1"                     },
-
-  { "robot_wheel",                             "RocksElements.pcx"     },
-  { "robot_wheel.xpos",                                "0"                     },
-  { "robot_wheel.ypos",                                "6"                     },
-  { "robot_wheel.frames",                      "1"                     },
-  { "robot_wheel.active",                      "RocksElements.pcx"     },
-  { "robot_wheel.active.xpos",                 "0"                     },
-  { "robot_wheel.active.ypos",                 "6"                     },
-  { "robot_wheel.active.frames",               "4"                     },
-
-  { "magic_wall",                              "RocksElements.pcx"     },
-  { "magic_wall.xpos",                         "0"                     },
-  { "magic_wall.ypos",                         "8"                     },
-  { "magic_wall.frames",                       "1"                     },
-  { "magic_wall.active",                       "RocksElements.pcx"     },
-  { "magic_wall.active.xpos",                  "0"                     },
-  { "magic_wall.active.ypos",                  "8"                     },
-  { "magic_wall.active.frames",                        "4"                     },
-  { "magic_wall.active.mode_reverse",          "1"                     },
-  { "magic_wall.active.delay",                 "4"                     },
-  { "magic_wall.filling",                      "RocksElements.pcx"     },
-  { "magic_wall.filling.xpos",                 "0"                     },
-  { "magic_wall.filling.ypos",                 "8"                     },
-  { "magic_wall.filling.frames",               "4"                     },
-  { "magic_wall.filling.mode_reverse",         "1"                     },
-  { "magic_wall.filling.delay",                        "4"                     },
-  { "magic_wall.full",                         "RocksElements.pcx"     },
-  { "magic_wall.full.xpos",                    "0"                     },
-  { "magic_wall.full.ypos",                    "8"                     },
-  { "magic_wall.full.frames",                  "4"                     },
-  { "magic_wall.full.mode_reverse",            "1"                     },
-  { "magic_wall.full.delay",                   "4"                     },
-  { "magic_wall.emptying",                     "RocksElements.pcx"     },
-  { "magic_wall.emptying.xpos",                        "0"                     },
-  { "magic_wall.emptying.ypos",                        "8"                     },
-  { "magic_wall.emptying.frames",              "4"                     },
-  { "magic_wall.emptying.mode_reverse",                "1"                     },
-  { "magic_wall.emptying.delay",               "4"                     },
-  { "magic_wall.dead",                         "RocksElements.pcx"     },
-  { "magic_wall.dead.xpos",                    "0"                     },
-  { "magic_wall.dead.ypos",                    "8"                     },
-  { "magic_wall.dead.frames",                  "1"                     },
-
-  { "quicksand_empty",                         "RocksElements.pcx"     },
-  { "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_full",                          "RocksElements.pcx"     },
-  { "quicksand_full.xpos",                     "3"                     },
-  { "quicksand_full.ypos",                     "0"                     },
-  { "quicksand_full.frames",                   "1"                     },
-  { "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"                     },
-
-  { "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.global_sync",            "0"                     },
-  { "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.global_sync",           "0"                     },
-
-  { "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.mode_linear",             "1"                     },
-  { "amoeba.shrinking",                                "RocksElements.pcx"     },
-  { "amoeba.shrinking.xpos",                   "5"                     },
-  { "amoeba.shrinking.ypos",                   "6"                     },
-  { "amoeba.shrinking.frames",                 "3"                     },
-  { "amoeba.shrinking.delay",                  "2"                     },
-  { "amoeba.shrinking.mode_linear",            "1"                     },
-  { "amoeba.shrinking.mode_reverse",           "1"                     },
-  { "amoeba_wet",                              "RocksElements.pcx"     },
-  { "amoeba_wet.xpos",                         "8"                     },
-  { "amoeba_wet.ypos",                         "6"                     },
-  { "amoeba_wet.frames",                       "1"                     },
-  { "amoeba_wet.part1",                                "RocksElements.pcx"     },
-  { "amoeba_wet.part1.xpos",                   "8"                     },
-  { "amoeba_wet.part1.ypos",                   "6"                     },
-  { "amoeba_wet.part1.frames",                 "1"                     },
-  { "amoeba_wet.part2",                                "RocksElements.pcx"     },
-  { "amoeba_wet.part2.xpos",                   "9"                     },
-  { "amoeba_wet.part2.ypos",                   "6"                     },
-  { "amoeba_wet.part2.frames",                 "1"                     },
-  { "amoeba_wet.part3",                                "RocksElements.pcx"     },
-  { "amoeba_wet.part3.xpos",                   "10"                    },
-  { "amoeba_wet.part3.ypos",                   "6"                     },
-  { "amoeba_wet.part3.frames",                 "1"                     },
-  { "amoeba_wet.part4",                                "RocksElements.pcx"     },
-  { "amoeba_wet.part4.xpos",                   "11"                    },
-  { "amoeba_wet.part4.ypos",                   "6"                     },
-  { "amoeba_wet.part4.frames",                 "1"                     },
-  { "amoeba_dry",                              "RocksElements.pcx"     },
-  { "amoeba_dry.xpos",                         "8"                     },
-  { "amoeba_dry.ypos",                         "6"                     },
-  { "amoeba_dry.frames",                       "1"                     },
-  { "amoeba_dry.part1",                                "RocksElements.pcx"     },
-  { "amoeba_dry.part1.xpos",                   "8"                     },
-  { "amoeba_dry.part1.ypos",                   "6"                     },
-  { "amoeba_dry.part1.frames",                 "1"                     },
-  { "amoeba_dry.part2",                                "RocksElements.pcx"     },
-  { "amoeba_dry.part2.xpos",                   "9"                     },
-  { "amoeba_dry.part2.ypos",                   "6"                     },
-  { "amoeba_dry.part2.frames",                 "1"                     },
-  { "amoeba_dry.part3",                                "RocksElements.pcx"     },
-  { "amoeba_dry.part3.xpos",                   "10"                    },
-  { "amoeba_dry.part3.ypos",                   "6"                     },
-  { "amoeba_dry.part3.frames",                 "1"                     },
-  { "amoeba_dry.part4",                                "RocksElements.pcx"     },
-  { "amoeba_dry.part4.xpos",                   "11"                    },
-  { "amoeba_dry.part4.ypos",                   "6"                     },
-  { "amoeba_dry.part4.frames",                 "1"                     },
-  { "amoeba_full",                             "RocksElements.pcx"     },
-  { "amoeba_full.xpos",                                "8"                     },
-  { "amoeba_full.ypos",                                "6"                     },
-  { "amoeba_full.frames",                      "1"                     },
-  { "amoeba_full.part1",                       "RocksElements.pcx"     },
-  { "amoeba_full.part1.xpos",                  "8"                     },
-  { "amoeba_full.part1.ypos",                  "6"                     },
-  { "amoeba_full.part1.frames",                        "1"                     },
-  { "amoeba_full.part2",                       "RocksElements.pcx"     },
-  { "amoeba_full.part2.xpos",                  "9"                     },
-  { "amoeba_full.part2.ypos",                  "6"                     },
-  { "amoeba_full.part2.frames",                        "1"                     },
-  { "amoeba_full.part3",                       "RocksElements.pcx"     },
-  { "amoeba_full.part3.xpos",                  "10"                    },
-  { "amoeba_full.part3.ypos",                  "6"                     },
-  { "amoeba_full.part3.frames",                        "1"                     },
-  { "amoeba_full.part4",                       "RocksElements.pcx"     },
-  { "amoeba_full.part4.xpos",                  "11"                    },
-  { "amoeba_full.part4.ypos",                  "6"                     },
-  { "amoeba_full.part4.frames",                        "1"                     },
-  { "amoeba_dead",                             "RocksElements.pcx"     },
-  { "amoeba_dead.xpos",                                "12"                    },
-  { "amoeba_dead.ypos",                                "6"                     },
-  { "amoeba_dead.frames",                      "1"                     },
-  { "amoeba_dead.part1",                       "RocksElements.pcx"     },
-  { "amoeba_dead.part1.xpos",                  "12"                    },
-  { "amoeba_dead.part1.ypos",                  "6"                     },
-  { "amoeba_dead.part1.frames",                        "1"                     },
-  { "amoeba_dead.part2",                       "RocksElements.pcx"     },
-  { "amoeba_dead.part2.xpos",                  "13"                    },
-  { "amoeba_dead.part2.ypos",                  "6"                     },
-  { "amoeba_dead.part2.frames",                        "1"                     },
-  { "amoeba_dead.part3",                       "RocksElements.pcx"     },
-  { "amoeba_dead.part3.xpos",                  "14"                    },
-  { "amoeba_dead.part3.ypos",                  "6"                     },
-  { "amoeba_dead.part3.frames",                        "1"                     },
-  { "amoeba_dead.part4",                       "RocksElements.pcx"     },
-  { "amoeba_dead.part4.xpos",                  "15"                    },
-  { "amoeba_dead.part4.ypos",                  "6"                     },
-  { "amoeba_dead.part4.frames",                        "1"                     },
-
-  { "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_gate2_gray",                           "RocksSP.pcx"           },
-  { "em_gate2_gray.xpos",                      "5"                     },
-  { "em_gate2_gray.ypos",                      "7"                     },
-  { "em_gate2_gray.frames",                    "1"                     },
-  { "em_gate3_gray",                           "RocksSP.pcx"           },
-  { "em_gate3_gray.xpos",                      "6"                     },
-  { "em_gate3_gray.ypos",                      "7"                     },
-  { "em_gate3_gray.frames",                    "1"                     },
-  { "em_gate4_gray",                           "RocksSP.pcx"           },
-  { "em_gate4_gray.xpos",                      "7"                     },
-  { "em_gate4_gray.ypos",                      "7"                     },
-  { "em_gate4_gray.frames",                    "1"                     },
-
-  { "exit_closed",                             "RocksElements.pcx"     },
-  { "exit_closed.xpos",                                "0"                     },
-  { "exit_closed.ypos",                                "11"                    },
-  { "exit_closed.frames",                      "1"                     },
-  { "exit.opening",                            "RocksElements.pcx"     },
-  { "exit.opening.xpos",                       "0"                     },
-  { "exit.opening.ypos",                       "11"                    },
-  { "exit.opening.frames",                     "5"                     },
-  { "exit.opening.delay",                      "6"                     },
-  { "exit.opening.mode_linear",                        "1"                     },
-  { "exit_open",                               "RocksElements.pcx"     },
-  { "exit_open.xpos",                          "4"                     },
-  { "exit_open.ypos",                          "11"                    },
-  { "exit_open.frames",                                "4"                     },
-  { "exit_open.delay",                         "4"                     },
-  { "exit_open.mode_pingpong",                 "1"                     },
-
-  /* images for Emerald Mine Club style elements and actions */
-
-  { "balloon",                                 "RocksDC.pcx"           },
-  { "balloon.xpos",                            "12"                    },
-  { "balloon.ypos",                            "7"                     },
-  { "balloon.frames",                          "1"                     },
-  { "balloon.moving",                          "RocksDC.pcx"           },
-  { "balloon.moving.xpos",                     "12"                    },
-  { "balloon.moving.ypos",                     "7"                     },
-  { "balloon.moving.frames",                   "4"                     },
-  { "balloon.moving.mode_pingpong",            "1"                     },
-  { "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",         "7"                     },
-  { "balloon_send_any_direction.ypos",         "0"                     },
-  { "balloon_send_any_direction.frames",       "1"                     },
-
-  { "spring",                                  "RocksMore.pcx"         },
-  { "spring.xpos",                             "0"                     },
-  { "spring.ypos",                             "5"                     },
-  { "spring.frames",                           "1"                     },
-  { "spring.moving",                           "RocksMore.pcx"         },
-  { "spring.moving.xpos",                      "0"                     },
-  { "spring.moving.ypos",                      "5"                     },
-  { "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"                     },
-
-  /* images for Diamond Caves style elements and actions */
-
-  { "invisible_steelwall",                     "RocksSP.pcx"           },
-  { "invisible_steelwall.xpos",                        "3"                     },
-  { "invisible_steelwall.ypos",                        "5"                     },
-  { "invisible_steelwall.frames",              "1"                     },
-  { "invisible_steelwall.active",              "RocksSP.pcx"           },
-  { "invisible_steelwall.active.xpos",         "1"                     },
-  { "invisible_steelwall.active.ypos",         "5"                     },
-  { "invisible_steelwall.active.frames",       "1"                     },
-
-  { "invisible_wall",                          "RocksSP.pcx"           },
-  { "invisible_wall.xpos",                     "7"                     },
-  { "invisible_wall.ypos",                     "5"                     },
-  { "invisible_wall.frames",                   "1"                     },
-  { "invisible_wall.active",                   "RocksSP.pcx"           },
-  { "invisible_wall.active.xpos",              "5"                     },
-  { "invisible_wall.active.ypos",              "5"                     },
-  { "invisible_wall.active.frames",            "1"                     },
-
-  { "invisible_sand",                          "RocksSP.pcx"           },
-  { "invisible_sand.xpos",                     "6"                     },
-  { "invisible_sand.ypos",                     "5"                     },
-  { "invisible_sand.frames",                   "1"                     },
-  { "invisible_sand.active",                   "RocksSP.pcx"           },
-  { "invisible_sand.active.xpos",              "2"                     },
-  { "invisible_sand.active.ypos",              "5"                     },
-  { "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_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_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_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"                     },
-
-  { "switchgate_switch_up",                    "RocksDC.pcx"           },
-  { "switchgate_switch_up.xpos",               "4"                     },
-  { "switchgate_switch_up.ypos",               "12"                    },
-  { "switchgate_switch_up.frames",             "1"                     },
-  { "switchgate_switch_down",                  "RocksDC.pcx"           },
-  { "switchgate_switch_down.xpos",             "5"                     },
-  { "switchgate_switch_down.ypos",             "12"                    },
-  { "switchgate_switch_down.frames",           "1"                     },
-
-  { "light_switch",                            "RocksDC.pcx"           },
-  { "light_switch.xpos",                       "6"                     },
-  { "light_switch.ypos",                       "12"                    },
-  { "light_switch.frames",                     "1"                     },
-  { "light_switch.active",                     "RocksDC.pcx"           },
-  { "light_switch.active.xpos",                        "7"                     },
-  { "light_switch.active.ypos",                        "12"                    },
-  { "light_switch.active.frames",              "1"                     },
-
-  { "timegate_switch",                         "RocksDC.pcx"           },
-  { "timegate_switch.xpos",                    "0"                     },
-  { "timegate_switch.ypos",                    "15"                    },
-  { "timegate_switch.frames",                  "1"                     },
-  { "timegate_switch.active",                  "RocksDC.pcx"           },
-  { "timegate_switch.active.xpos",             "0"                     },
-  { "timegate_switch.active.ypos",             "15"                    },
-  { "timegate_switch.active.frames",           "4"                     },
-
-  { "envelope",                                        "RocksDC.pcx"           },
-  { "envelope.xpos",                           "4"                     },
-  { "envelope.ypos",                           "14"                    },
-  { "envelope.frames",                         "1"                     },
-
-  { "sign_exclamation",                                "RocksDC.pcx"           },
-  { "sign_exclamation.xpos",                   "5"                     },
-  { "sign_exclamation.ypos",                   "14"                    },
-  { "sign_exclamation.frames",                 "1"                     },
-
-  { "sign_stop",                               "RocksDC.pcx"           },
-  { "sign_stop.xpos",                          "6"                     },
-  { "sign_stop.ypos",                          "14"                    },
-  { "sign_stop.frames",                                "1"                     },
-
-  { "landmine",                                        "RocksDC.pcx"           },
-  { "landmine.xpos",                           "7"                     },
-  { "landmine.ypos",                           "14"                    },
-  { "landmine.frames",                         "1"                     },
-
-  { "steelwall_slanted",                       "RocksDC.pcx"           },
-  { "steelwall_slanted.xpos",                  "5"                     },
-  { "steelwall_slanted.ypos",                  "15"                    },
-  { "steelwall_slanted.frames",                        "1"                     },
-
-  { "extra_time",                              "RocksDC.pcx"           },
-  { "extra_time.xpos",                         "8"                     },
-  { "extra_time.ypos",                         "0"                     },
-  { "extra_time.frames",                       "6"                     },
-  { "extra_time.delay",                                "4"                     },
-
-  { "shield_normal",                           "RocksDC.pcx"           },
-  { "shield_normal.xpos",                      "8"                     },
-  { "shield_normal.ypos",                      "2"                     },
-  { "shield_normal.frames",                    "6"                     },
-  { "shield_normal.delay",                     "4"                     },
-
-  { "shield_deadly",                           "RocksDC.pcx"           },
-  { "shield_deadly.xpos",                      "8"                     },
-  { "shield_deadly.ypos",                      "1"                     },
-  { "shield_deadly.frames",                    "6"                     },
-  { "shield_deadly.delay",                     "4"                     },
-
-  { "shield_normal.active",                    "RocksHeroes.pcx"       },
-  { "shield_normal.active.xpos",               "1"                     },
-  { "shield_normal.active.ypos",               "13"                    },
-  { "shield_normal.active.frames",             "3"                     },
-  { "shield_normal.active.delay",              "8"                     },
-  { "shield_normal.active.mode_pingpong",      "1"                     },
-
-  { "shield_deadly.active",                    "RocksHeroes.pcx"       },
-  { "shield_deadly.active.xpos",               "5"                     },
-  { "shield_deadly.active.ypos",               "13"                    },
-  { "shield_deadly.active.frames",             "3"                     },
-  { "shield_deadly.active.delay",              "8"                     },
-  { "shield_deadly.active.mode_pingpong",      "1"                     },
-
-  { "switchgate_closed",                       "RocksDC.pcx"           },
-  { "switchgate_closed.xpos",                  "8"                     },
-  { "switchgate_closed.ypos",                  "5"                     },
-  { "switchgate_closed.frames",                        "1"                     },
-  { "switchgate.opening",                      "RocksDC.pcx"           },
-  { "switchgate.opening.xpos",                 "8"                     },
-  { "switchgate.opening.ypos",                 "5"                     },
-  { "switchgate.opening.frames",               "5"                     },
-  { "switchgate.opening.delay",                        "6"                     },
-  { "switchgate_open",                         "RocksDC.pcx"           },
-  { "switchgate_open.xpos",                    "12"                    },
-  { "switchgate_open.ypos",                    "5"                     },
-  { "switchgate_open.frames",                  "1"                     },
-  { "switchgate.closing",                      "RocksDC.pcx"           },
-  { "switchgate.closing.xpos",                 "8"                     },
-  { "switchgate.closing.ypos",                 "5"                     },
-  { "switchgate.closing.frames",               "5"                     },
-  { "switchgate.closing.delay",                        "6"                     },
-  { "switchgate.closing.mode_reverse",         "1"                     },
-
-  { "timegate_closed",                         "RocksDC.pcx"           },
-  { "timegate_closed.xpos",                    "8"                     },
-  { "timegate_closed.ypos",                    "6"                     },
-  { "timegate_closed.frames",                  "1"                     },
-  { "timegate.opening",                                "RocksDC.pcx"           },
-  { "timegate.opening.xpos",                   "8"                     },
-  { "timegate.opening.ypos",                   "6"                     },
-  { "timegate.opening.frames",                 "5"                     },
-  { "timegate.opening.delay",                  "6"                     },
-  { "timegate_open",                           "RocksDC.pcx"           },
-  { "timegate_open.xpos",                      "12"                    },
-  { "timegate_open.ypos",                      "6"                     },
-  { "timegate_open.frames",                    "1"                     },
-  { "timegate.closing",                                "RocksDC.pcx"           },
-  { "timegate.closing.xpos",                   "8"                     },
-  { "timegate.closing.ypos",                   "6"                     },
-  { "timegate.closing.frames",                 "5"                     },
-  { "timegate.closing.delay",                  "6"                     },
-  { "timegate.closing.mode_reverse",           "1"                     },
-
-  { "pearl",                                   "RocksMore.pcx"         },
-  { "pearl.xpos",                              "0"                     },
-  { "pearl.ypos",                              "3"                     },
-  { "pearl.frames",                            "1"                     },
-  { "pearl.breaking",                          "RocksMore.pcx"         },
-  { "pearl.breaking.xpos",                     "0"                     },
-  { "pearl.breaking.ypos",                     "4"                     },
-  { "pearl.breaking.frames",                   "4"                     },
-  { "pearl.breaking.delay",                    "2"                     },
-  { "pearl.breaking.mode_linear",              "4"                     },
-
-  { "crystal",                                 "RocksMore.pcx"         },
-  { "crystal.xpos",                            "1"                     },
-  { "crystal.ypos",                            "3"                     },
-  { "crystal.frames",                          "1"                     },
-
-  { "wall_pearl",                              "RocksMore.pcx"         },
-  { "wall_pearl.xpos",                         "2"                     },
-  { "wall_pearl.ypos",                         "3"                     },
-  { "wall_pearl.frames",                       "1"                     },
-
-  { "wall_crystal",                            "RocksMore.pcx"         },
-  { "wall_crystal.xpos",                       "3"                     },
-  { "wall_crystal.ypos",                       "3"                     },
-  { "wall_crystal.frames",                     "1"                     },
-
-  /* images for DX Boulderdash style elements and actions */
-
-  { "tube_right_down",                         "RocksMore.pcx"         },
-  { "tube_right_down.xpos",                    "1"                     },
-  { "tube_right_down.ypos",                    "5"                     },
-  { "tube_right_down.frames",                  "1"                     },
-
-  { "tube_horizontal_down",                    "RocksMore.pcx"         },
-  { "tube_horizontal_down.xpos",               "2"                     },
-  { "tube_horizontal_down.ypos",               "5"                     },
-  { "tube_horizontal_down.frames",             "1"                     },
-
-  { "tube_left_down",                          "RocksMore.pcx"         },
-  { "tube_left_down.xpos",                     "3"                     },
-  { "tube_left_down.ypos",                     "5"                     },
-  { "tube_left_down.frames",                   "1"                     },
-
-  { "tube_horizontal",                         "RocksMore.pcx"         },
-  { "tube_horizontal.xpos",                    "0"                     },
-  { "tube_horizontal.ypos",                    "6"                     },
-  { "tube_horizontal.frames",                  "1"                     },
-
-  { "tube_vertical_right",                     "RocksMore.pcx"         },
-  { "tube_vertical_right.xpos",                        "1"                     },
-  { "tube_vertical_right.ypos",                        "6"                     },
-  { "tube_vertical_right.frames",              "1"                     },
-
-  { "tube_all",                                        "RocksMore.pcx"         },
-  { "tube_all.xpos",                           "2"                     },
-  { "tube_all.ypos",                           "6"                     },
-  { "tube_all.frames",                         "1"                     },
-
-  { "tube_vertical_left",                      "RocksMore.pcx"         },
-  { "tube_vertical_left.xpos",                 "3"                     },
-  { "tube_vertical_left.ypos",                 "6"                     },
-  { "tube_vertical_left.frames",               "1"                     },
-
-  { "tube_vertical",                           "RocksMore.pcx"         },
-  { "tube_vertical.xpos",                      "0"                     },
-  { "tube_vertical.ypos",                      "7"                     },
-  { "tube_vertical.frames",                    "1"                     },
-
-  { "tube_right_up",                           "RocksMore.pcx"         },
-  { "tube_right_up.xpos",                      "1"                     },
-  { "tube_right_up.ypos",                      "7"                     },
-  { "tube_right_up.frames",                    "1"                     },
-
-  { "tube_horizontal_up",                      "RocksMore.pcx"         },
-  { "tube_horizontal_up.xpos",                 "2"                     },
-  { "tube_horizontal_up.ypos",                 "7"                     },
-  { "tube_horizontal_up.frames",               "1"                     },
-
-  { "tube_left_up",                            "RocksMore.pcx"         },
-  { "tube_left_up.xpos",                       "3"                     },
-  { "tube_left_up.ypos",                       "7"                     },
-  { "tube_left_up.frames",                     "1"                     },
-
-  { "trap",                                    "RocksMore.pcx"         },
-  { "trap.xpos",                               "4"                     },
-  { "trap.ypos",                               "0"                     },
-  { "trap.frames",                             "1"                     },
-  { "trap.active",                             "RocksMore.pcx"         },
-  { "trap.active.xpos",                                "4"                     },
-  { "trap.active.ypos",                                "0"                     },
-  { "trap.active.frames",                      "4"                     },
-  { "trap.active.delay",                       "4"                     },
-  { "trap.active.mode_pingpong2",              "1"                     },
-
-  { "dx_supabomb",                             "RocksMore.pcx"         },
-  { "dx_supabomb.xpos",                                "7"                     },
-  { "dx_supabomb.ypos",                                "1"                     },
-  { "dx_supabomb.frames",                      "1"                     },
-
-  /* images for Rocks'n'Diamonds style elements and actions */
-
-  { "key1",                                    "RocksElements.pcx"     },
-  { "key1.xpos",                               "4"                     },
-  { "key1.ypos",                               "1"                     },
-  { "key1.frames",                             "1"                     },
-  { "key2",                                    "RocksElements.pcx"     },
-  { "key2.xpos",                               "5"                     },
-  { "key2.ypos",                               "1"                     },
-  { "key2.frames",                             "1"                     },
-  { "key3",                                    "RocksElements.pcx"     },
-  { "key3.xpos",                               "6"                     },
-  { "key3.ypos",                               "1"                     },
-  { "key3.frames",                             "1"                     },
-  { "key4",                                    "RocksElements.pcx"     },
-  { "key4.xpos",                               "7"                     },
-  { "key4.ypos",                               "1"                     },
-  { "key4.frames",                             "1"                     },
-
-  { "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"                     },
-  { "gate2_gray",                              "RocksElements.pcx"     },
-  { "gate2_gray.xpos",                         "9"                     },
-  { "gate2_gray.ypos",                         "2"                     },
-  { "gate2_gray.frames",                       "1"                     },
-  { "gate3_gray",                              "RocksElements.pcx"     },
-  { "gate3_gray.xpos",                         "10"                    },
-  { "gate3_gray.ypos",                         "2"                     },
-  { "gate3_gray.frames",                       "1"                     },
-  { "gate4_gray",                              "RocksElements.pcx"     },
-  { "gate4_gray.xpos",                         "11"                    },
-  { "gate4_gray.ypos",                         "2"                     },
-  { "gate4_gray.frames",                       "1"                     },
-
-  { "gameoflife",                              "RocksElements.pcx"     },
-  { "gameoflife.xpos",                         "8"                     },
-  { "gameoflife.ypos",                         "1"                     },
-  { "gameoflife.frames",                       "1"                     },
-
-  { "biomaze",                                 "RocksElements.pcx"     },
-  { "biomaze.xpos",                            "9"                     },
-  { "biomaze.ypos",                            "1"                     },
-  { "biomaze.frames",                          "1"                     },
-
-  { "pacman_right",                            "RocksElements.pcx"     },
-  { "pacman_right.xpos",                       "8"                     },
-  { "pacman_right.ypos",                       "5"                     },
-  { "pacman_right.frames",                     "2"                     },
-  { "pacman_right.mode_reverse",               "1"                     },
-  { "pacman_right.delay",                      "4"                     },
-  { "pacman_up",                               "RocksElements.pcx"     },
-  { "pacman_up.xpos",                          "10"                    },
-  { "pacman_up.ypos",                          "5"                     },
-  { "pacman_up.frames",                                "2"                     },
-  { "pacman_up.mode_reverse",                  "1"                     },
-  { "pacman_up.delay",                         "4"                     },
-  { "pacman_left",                             "RocksElements.pcx"     },
-  { "pacman_left.xpos",                                "12"                    },
-  { "pacman_left.ypos",                                "5"                     },
-  { "pacman_left.frames",                      "2"                     },
-  { "pacman_left.mode_reverse",                        "1"                     },
-  { "pacman_left.delay",                       "4"                     },
-  { "pacman_down",                             "RocksElements.pcx"     },
-  { "pacman_down.xpos",                                "14"                    },
-  { "pacman_down.ypos",                                "5"                     },
-  { "pacman_down.frames",                      "2"                     },
-  { "pacman_down.mode_reverse",                        "1"                     },
-  { "pacman_down.delay",                       "4"                     },
-
-  { "lamp",                                    "RocksElements.pcx"     },
-  { "lamp.xpos",                               "0"                     },
-  { "lamp.ypos",                               "7"                     },
-  { "lamp.frames",                             "1"                     },
-  { "lamp.active",                             "RocksElements.pcx"     },
-  { "lamp.active.xpos",                                "1"                     },
-  { "lamp.active.ypos",                                "7"                     },
-  { "lamp.active.frames",                      "1"                     },
-
-  { "time_orb_full",                           "RocksElements.pcx"     },
-  { "time_orb_full.xpos",                      "2"                     },
-  { "time_orb_full.ypos",                      "7"                     },
-  { "time_orb_full.frames",                    "1"                     },
-  { "time_orb_empty",                          "RocksElements.pcx"     },
-  { "time_orb_empty.xpos",                     "3"                     },
-  { "time_orb_empty.ypos",                     "7"                     },
-  { "time_orb_empty.frames",                   "1"                     },
-
-  { "emerald_yellow",                          "RocksElements.pcx"     },
-  { "emerald_yellow.xpos",                     "10"                    },
-  { "emerald_yellow.ypos",                     "8"                     },
-  { "emerald_yellow.frames",                   "1"                     },
-  { "emerald_yellow.falling",                  "RocksElements.pcx"     },
-  { "emerald_yellow.falling.xpos",             "10"                    },
-  { "emerald_yellow.falling.ypos",             "8"                     },
-  { "emerald_yellow.falling.frames",           "2"                     },
-  { "emerald_red",                             "RocksElements.pcx"     },
-  { "emerald_red.xpos",                                "8"                     },
-  { "emerald_red.ypos",                                "9"                     },
-  { "emerald_red.frames",                      "1"                     },
-  { "emerald_red.falling",                     "RocksElements.pcx"     },
-  { "emerald_red.falling.xpos",                        "8"                     },
-  { "emerald_red.falling.ypos",                        "9"                     },
-  { "emerald_red.falling.frames",              "2"                     },
-  { "emerald_purple",                          "RocksElements.pcx"     },
-  { "emerald_purple.xpos",                     "10"                    },
-  { "emerald_purple.ypos",                     "9"                     },
-  { "emerald_purple.frames",                   "1"                     },
-  { "emerald_purple.falling",                  "RocksElements.pcx"     },
-  { "emerald_purple.falling.xpos",             "10"                    },
-  { "emerald_purple.falling.ypos",             "9"                     },
-  { "emerald_purple.falling.frames",           "2"                     },
-
-  { "wall_emerald_yellow",                     "RocksElements.pcx"     },
-  { "wall_emerald_yellow.xpos",                        "8"                     },
-  { "wall_emerald_yellow.ypos",                        "8"                     },
-  { "wall_emerald_yellow.frames",              "1"                     },
-  { "wall_emerald_red",                                "RocksElements.pcx"     },
-  { "wall_emerald_red.xpos",                   "6"                     },
-  { "wall_emerald_red.ypos",                   "8"                     },
-  { "wall_emerald_red.frames",                 "1"                     },
-  { "wall_emerald_purple",                     "RocksElements.pcx"     },
-  { "wall_emerald_purple.xpos",                        "7"                     },
-  { "wall_emerald_purple.ypos",                        "8"                     },
-  { "wall_emerald_purple.frames",              "1"                     },
-  { "wall_bd_diamond",                         "RocksElements.pcx"     },
-  { "wall_bd_diamond.xpos",                    "9"                     },
-  { "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_x",                          "RocksElements.pcx"     },
-  { "wall_growing_x.xpos",                     "5"                     },
-  { "wall_growing_x.ypos",                     "9"                     },
-  { "wall_growing_x.frames",                   "1"                     },
-  { "wall_growing_y",                          "RocksElements.pcx"     },
-  { "wall_growing_y.xpos",                     "6"                     },
-  { "wall_growing_y.ypos",                     "9"                     },
-  { "wall_growing_y.frames",                   "1"                     },
-
-  { "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.global_sync",    "0"                     },
-  { "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.global_sync",   "0"                     },
-  { "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.global_sync",      "0"                     },
-  { "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.global_sync",    "0"                     },
-
-  { "black_orb",                               "RocksElements.pcx"     },
-  { "black_orb.xpos",                          "13"                    },
-  { "black_orb.ypos",                          "9"                     },
-  { "black_orb.frames",                                "1"                     },
-
-  { "speed_pill",                              "RocksElements.pcx"     },
-  { "speed_pill.xpos",                         "14"                    },
-  { "speed_pill.ypos",                         "9"                     },
-  { "speed_pill.frames",                       "1"                     },
-
-  { "dark_yamyam",                             "RocksElements.pcx"     },
-  { "dark_yamyam.xpos",                                "8"                     },
-  { "dark_yamyam.ypos",                                "11"                    },
-  { "dark_yamyam.frames",                      "4"                     },
-  { "dark_yamyam.mode_pingpong2",              "1"                     },
-
-  { "dynabomb.active",                         "RocksElements.pcx"     },
-  { "dynabomb.active.xpos",                    "12"                    },
-  { "dynabomb.active.ypos",                    "11"                    },
-  { "dynabomb.active.frames",                  "4"                     },
-  { "dynabomb.active.delay",                   "6"                     },
-  { "dynabomb.active.mode_pingpong",           "1"                     },
-  { "dynabomb_player1.active",                 "RocksElements.pcx"     },
-  { "dynabomb_player1.active.xpos",            "12"                    },
-  { "dynabomb_player1.active.ypos",            "11"                    },
-  { "dynabomb_player1.active.frames",          "4"                     },
-  { "dynabomb_player1.active.delay",           "6"                     },
-  { "dynabomb_player1.active.mode_pingpong",   "1"                     },
-  { "dynabomb_player2.active",                 "RocksElements.pcx"     },
-  { "dynabomb_player2.active.xpos",            "12"                    },
-  { "dynabomb_player2.active.ypos",            "11"                    },
-  { "dynabomb_player2.active.frames",          "4"                     },
-  { "dynabomb_player2.active.delay",           "6"                     },
-  { "dynabomb_player2.active.mode_pingpong",   "1"                     },
-  { "dynabomb_player3.active",                 "RocksElements.pcx"     },
-  { "dynabomb_player3.active.xpos",            "12"                    },
-  { "dynabomb_player3.active.ypos",            "11"                    },
-  { "dynabomb_player3.active.frames",          "4"                     },
-  { "dynabomb_player3.active.delay",           "6"                     },
-  { "dynabomb_player3.active.mode_pingpong",   "1"                     },
-  { "dynabomb_player4.active",                 "RocksElements.pcx"     },
-  { "dynabomb_player4.active.xpos",            "12"                    },
-  { "dynabomb_player4.active.ypos",            "11"                    },
-  { "dynabomb_player4.active.frames",          "4"                     },
-  { "dynabomb_player4.active.delay",           "6"                     },
-  { "dynabomb_player4.active.mode_pingpong",   "1"                     },
-  { "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"                     },
-
-  { "pig",                                     "RocksHeroes.pcx"       },
-  { "pig.xpos",                                        "8"                     },
-  { "pig.ypos",                                        "0"                     },
-  { "pig.frames",                              "1"                     },
-  { "pig_down",                                        "RocksHeroes.pcx"       },
-  { "pig_down.xpos",                           "8"                     },
-  { "pig_down.ypos",                           "0"                     },
-  { "pig_down.frames",                         "1"                     },
-  { "pig_down.moving",                         "RocksHeroes.pcx"       },
-  { "pig_down.moving.xpos",                    "8"                     },
-  { "pig_down.moving.ypos",                    "0"                     },
-  { "pig_down.moving.frames",                  "4"                     },
-  { "pig_down.moving.delay",                   "2"                     },
-  { "pig_down.eating",                         "RocksHeroes.pcx"       },
-  { "pig_down.eating.xpos",                    "8"                     },
-  { "pig_down.eating.ypos",                    "0"                     },
-  { "pig_down.eating.frames",                  "4"                     },
-  { "pig_down.eating.delay",                   "2"                     },
-  { "pig_up",                                  "RocksHeroes.pcx"       },
-  { "pig_up.xpos",                             "12"                    },
-  { "pig_up.ypos",                             "0"                     },
-  { "pig_up.frames",                           "1"                     },
-  { "pig_up.moving",                           "RocksHeroes.pcx"       },
-  { "pig_up.moving.xpos",                      "12"                    },
-  { "pig_up.moving.ypos",                      "0"                     },
-  { "pig_up.moving.frames",                    "4"                     },
-  { "pig_up.moving.delay",                     "2"                     },
-  { "pig_up.eating",                           "RocksHeroes.pcx"       },
-  { "pig_up.eating.xpos",                      "12"                    },
-  { "pig_up.eating.ypos",                      "0"                     },
-  { "pig_up.eating.frames",                    "4"                     },
-  { "pig_up.eating.delay",                     "2"                     },
-  { "pig_left",                                        "RocksHeroes.pcx"       },
-  { "pig_left.xpos",                           "8"                     },
-  { "pig_left.ypos",                           "1"                     },
-  { "pig_left.frames",                         "1"                     },
-  { "pig_left.moving",                         "RocksHeroes.pcx"       },
-  { "pig_left.moving.xpos",                    "8"                     },
-  { "pig_left.moving.ypos",                    "1"                     },
-  { "pig_left.moving.frames",                  "4"                     },
-  { "pig_left.moving.delay",                   "2"                     },
-  { "pig_left.eating",                         "RocksHeroes.pcx"       },
-  { "pig_left.eating.xpos",                    "8"                     },
-  { "pig_left.eating.ypos",                    "1"                     },
-  { "pig_left.eating.frames",                  "4"                     },
-  { "pig_left.eating.delay",                   "2"                     },
-  { "pig_right",                               "RocksHeroes.pcx"       },
-  { "pig_right.xpos",                          "12"                    },
-  { "pig_right.ypos",                          "1"                     },
-  { "pig_right.frames",                                "1"                     },
-  { "pig_right.moving",                                "RocksHeroes.pcx"       },
-  { "pig_right.moving.xpos",                   "12"                    },
-  { "pig_right.moving.ypos",                   "1"                     },
-  { "pig_right.moving.frames",                 "4"                     },
-  { "pig_right.moving.delay",                  "2"                     },
-  { "pig_right.eating",                                "RocksHeroes.pcx"       },
-  { "pig_right.eating.xpos",                   "12"                    },
-  { "pig_right.eating.ypos",                   "1"                     },
-  { "pig_right.eating.frames",                 "4"                     },
-  { "pig_right.eating.delay",                  "2"                     },
-
-  { "dragon",                                  "RocksHeroes.pcx"       },
-  { "dragon.xpos",                             "8"                     },
-  { "dragon.ypos",                             "2"                     },
-  { "dragon.frames",                           "1"                     },
-  { "dragon_down",                             "RocksHeroes.pcx"       },
-  { "dragon_down.xpos",                                "8"                     },
-  { "dragon_down.ypos",                                "2"                     },
-  { "dragon_down.frames",                      "1"                     },
-  { "dragon_down.moving",                      "RocksHeroes.pcx"       },
-  { "dragon_down.moving.xpos",                 "8"                     },
-  { "dragon_down.moving.ypos",                 "2"                     },
-  { "dragon_down.moving.frames",               "4"                     },
-  { "dragon_down.moving.delay",                        "2"                     },
-  { "dragon_down.attacking",                   "RocksHeroes.pcx"       },
-  { "dragon_down.attacking.xpos",              "8"                     },
-  { "dragon_down.attacking.ypos",              "2"                     },
-  { "dragon_down.attacking.frames",            "1"                     },
-  { "dragon_up",                               "RocksHeroes.pcx"       },
-  { "dragon_up.xpos",                          "12"                    },
-  { "dragon_up.ypos",                          "2"                     },
-  { "dragon_up.frames",                                "1"                     },
-  { "dragon_up.moving",                                "RocksHeroes.pcx"       },
-  { "dragon_up.moving.xpos",                   "12"                    },
-  { "dragon_up.moving.ypos",                   "2"                     },
-  { "dragon_up.moving.frames",                 "4"                     },
-  { "dragon_up.moving.delay",                  "2"                     },
-  { "dragon_up.attacking",                     "RocksHeroes.pcx"       },
-  { "dragon_up.attacking.xpos",                        "12"                    },
-  { "dragon_up.attacking.ypos",                        "2"                     },
-  { "dragon_up.attacking.frames",              "1"                     },
-  { "dragon_left",                             "RocksHeroes.pcx"       },
-  { "dragon_left.xpos",                                "8"                     },
-  { "dragon_left.ypos",                                "3"                     },
-  { "dragon_left.frames",                      "1"                     },
-  { "dragon_left.moving",                      "RocksHeroes.pcx"       },
-  { "dragon_left.moving.xpos",                 "8"                     },
-  { "dragon_left.moving.ypos",                 "3"                     },
-  { "dragon_left.moving.frames",               "4"                     },
-  { "dragon_left.moving.delay",                        "2"                     },
-  { "dragon_left.attacking",                   "RocksHeroes.pcx"       },
-  { "dragon_left.attacking.xpos",              "8"                     },
-  { "dragon_left.attacking.ypos",              "3"                     },
-  { "dragon_left.attacking.frames",            "1"                     },
-  { "dragon_right",                            "RocksHeroes.pcx"       },
-  { "dragon_right.xpos",                       "12"                    },
-  { "dragon_right.ypos",                       "3"                     },
-  { "dragon_right.frames",                     "1"                     },
-  { "dragon_right.moving",                     "RocksHeroes.pcx"       },
-  { "dragon_right.moving.xpos",                        "12"                    },
-  { "dragon_right.moving.ypos",                        "3"                     },
-  { "dragon_right.moving.frames",              "4"                     },
-  { "dragon_right.moving.delay",               "2"                     },
-  { "dragon_right.attacking",                  "RocksHeroes.pcx"       },
-  { "dragon_right.attacking.xpos",             "12"                    },
-  { "dragon_right.attacking.ypos",             "3"                     },
-  { "dragon_right.attacking.frames",           "1"                     },
-
-  { "mole",                                    "RocksHeroes.pcx"       },
-  { "mole.xpos",                               "8"                     },
-  { "mole.ypos",                               "4"                     },
-  { "mole.frames",                             "1"                     },
-  { "mole_down",                               "RocksHeroes.pcx"       },
-  { "mole_down.xpos",                          "8"                     },
-  { "mole_down.ypos",                          "4"                     },
-  { "mole_down.frames",                                "1"                     },
-  { "mole_down.moving",                                "RocksHeroes.pcx"       },
-  { "mole_down.moving.xpos",                   "8"                     },
-  { "mole_down.moving.ypos",                   "4"                     },
-  { "mole_down.moving.frames",                 "4"                     },
-  { "mole_down.moving.delay",                  "2"                     },
-  { "mole_down.digging",                       "RocksHeroes.pcx"       },
-  { "mole_down.digging.xpos",                  "8"                     },
-  { "mole_down.digging.ypos",                  "4"                     },
-  { "mole_down.digging.frames",                        "4"                     },
-  { "mole_down.digging.delay",                 "2"                     },
-  { "mole_up",                                 "RocksHeroes.pcx"       },
-  { "mole_up.xpos",                            "12"                    },
-  { "mole_up.ypos",                            "4"                     },
-  { "mole_up.frames",                          "1"                     },
-  { "mole_up.moving",                          "RocksHeroes.pcx"       },
-  { "mole_up.moving.xpos",                     "12"                    },
-  { "mole_up.moving.ypos",                     "4"                     },
-  { "mole_up.moving.frames",                   "4"                     },
-  { "mole_up.moving.delay",                    "2"                     },
-  { "mole_up.digging",                         "RocksHeroes.pcx"       },
-  { "mole_up.digging.xpos",                    "12"                    },
-  { "mole_up.digging.ypos",                    "4"                     },
-  { "mole_up.digging.frames",                  "4"                     },
-  { "mole_up.digging.delay",                   "2"                     },
-  { "mole_left",                               "RocksHeroes.pcx"       },
-  { "mole_left.xpos",                          "8"                     },
-  { "mole_left.ypos",                          "5"                     },
-  { "mole_left.frames",                                "1"                     },
-  { "mole_left.moving",                                "RocksHeroes.pcx"       },
-  { "mole_left.moving.xpos",                   "8"                     },
-  { "mole_left.moving.ypos",                   "5"                     },
-  { "mole_left.moving.frames",                 "4"                     },
-  { "mole_left.moving.delay",                  "2"                     },
-  { "mole_left.digging",                       "RocksHeroes.pcx"       },
-  { "mole_left.digging.xpos",                  "8"                     },
-  { "mole_left.digging.ypos",                  "5"                     },
-  { "mole_left.digging.frames",                        "4"                     },
-  { "mole_left.digging.delay",                 "2"                     },
-  { "mole_right",                              "RocksHeroes.pcx"       },
-  { "mole_right.xpos",                         "12"                    },
-  { "mole_right.ypos",                         "5"                     },
-  { "mole_right.frames",                       "1"                     },
-  { "mole_right.moving",                       "RocksHeroes.pcx"       },
-  { "mole_right.moving.xpos",                  "12"                    },
-  { "mole_right.moving.ypos",                  "5"                     },
-  { "mole_right.moving.frames",                        "4"                     },
-  { "mole_right.moving.delay",                 "2"                     },
-  { "mole_right.digging",                      "RocksHeroes.pcx"       },
-  { "mole_right.digging.xpos",                 "12"                    },
-  { "mole_right.digging.ypos",                 "5"                     },
-  { "mole_right.digging.frames",               "4"                     },
-  { "mole_right.digging.delay",                        "2"                     },
-
-  { "penguin",                                 "RocksHeroes.pcx"       },
-  { "penguin.xpos",                            "8"                     },
-  { "penguin.ypos",                            "6"                     },
-  { "penguin.frames",                          "1"                     },
-  { "penguin_down",                            "RocksHeroes.pcx"       },
-  { "penguin_down.xpos",                       "8"                     },
-  { "penguin_down.ypos",                       "6"                     },
-  { "penguin_down.frames",                     "1"                     },
-  { "penguin_down.moving",                     "RocksHeroes.pcx"       },
-  { "penguin_down.moving.xpos",                        "8"                     },
-  { "penguin_down.moving.ypos",                        "6"                     },
-  { "penguin_down.moving.frames",              "4"                     },
-  { "penguin_down.moving.delay",               "2"                     },
-  { "penguin_up",                              "RocksHeroes.pcx"       },
-  { "penguin_up.xpos",                         "12"                    },
-  { "penguin_up.ypos",                         "6"                     },
-  { "penguin_up.frames",                       "1"                     },
-  { "penguin_up.moving",                       "RocksHeroes.pcx"       },
-  { "penguin_up.moving.xpos",                  "12"                    },
-  { "penguin_up.moving.ypos",                  "6"                     },
-  { "penguin_up.moving.frames",                        "4"                     },
-  { "penguin_up.moving.delay",                 "2"                     },
-  { "penguin_left",                            "RocksHeroes.pcx"       },
-  { "penguin_left.xpos",                       "8"                     },
-  { "penguin_left.ypos",                       "7"                     },
-  { "penguin_left.frames",                     "1"                     },
-  { "penguin_left.moving",                     "RocksHeroes.pcx"       },
-  { "penguin_left.moving.xpos",                        "8"                     },
-  { "penguin_left.moving.ypos",                        "7"                     },
-  { "penguin_left.moving.frames",              "4"                     },
-  { "penguin_left.moving.delay",               "2"                     },
-  { "penguin_right",                           "RocksHeroes.pcx"       },
-  { "penguin_right.xpos",                      "12"                    },
-  { "penguin_right.ypos",                      "7"                     },
-  { "penguin_right.frames",                    "1"                     },
-  { "penguin_right.moving",                    "RocksHeroes.pcx"       },
-  { "penguin_right.moving.xpos",               "12"                    },
-  { "penguin_right.moving.ypos",               "7"                     },
-  { "penguin_right.moving.frames",             "4"                     },
-  { "penguin_right.moving.delay",              "2"                     },
-
-  { "satellite",                               "RocksHeroes.pcx"       },
-  { "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"                     },
-
-  { "flames_left1",                            "RocksHeroes.pcx"       },
-  { "flames_left1.xpos",                       "8"                     },
-  { "flames_left1.ypos",                       "12"                    },
-  { "flames_left1.frames",                     "2"                     },
-  { "flames_left1.offset",                     "96"                    },
-  { "flames_left2",                            "RocksHeroes.pcx"       },
-  { "flames_left2.xpos",                       "9"                     },
-  { "flames_left2.ypos",                       "12"                    },
-  { "flames_left2.frames",                     "2"                     },
-  { "flames_left2.offset",                     "96"                    },
-  { "flames_left3",                            "RocksHeroes.pcx"       },
-  { "flames_left3.xpos",                       "10"                    },
-  { "flames_left3.ypos",                       "12"                    },
-  { "flames_left3.frames",                     "2"                     },
-  { "flames_left3.offset",                     "96"                    },
-
-  { "flames_right1",                           "RocksHeroes.pcx"       },
-  { "flames_right1.xpos",                      "8"                     },
-  { "flames_right1.ypos",                      "13"                    },
-  { "flames_right1.frames",                    "2"                     },
-  { "flames_right1.offset",                    "96"                    },
-  { "flames_right2",                           "RocksHeroes.pcx"       },
-  { "flames_right2.xpos",                      "9"                     },
-  { "flames_right2.ypos",                      "13"                    },
-  { "flames_right2.frames",                    "2"                     },
-  { "flames_right2.offset",                    "96"                    },
-  { "flames_right3",                           "RocksHeroes.pcx"       },
-  { "flames_right3.xpos",                      "10"                    },
-  { "flames_right3.ypos",                      "13"                    },
-  { "flames_right3.frames",                    "2"                     },
-  { "flames_right3.offset",                    "96"                    },
-
-  { "flames_up1",                              "RocksHeroes.pcx"       },
-  { "flames_up1.xpos",                         "8"                     },
-  { "flames_up1.ypos",                         "14"                    },
-  { "flames_up1.frames",                       "2"                     },
-  { "flames_up1.offset",                       "96"                    },
-  { "flames_up2",                              "RocksHeroes.pcx"       },
-  { "flames_up2.xpos",                         "9"                     },
-  { "flames_up2.ypos",                         "14"                    },
-  { "flames_up2.frames",                       "2"                     },
-  { "flames_up2.offset",                       "96"                    },
-  { "flames_up3",                              "RocksHeroes.pcx"       },
-  { "flames_up3.xpos",                         "10"                    },
-  { "flames_up3.ypos",                         "14"                    },
-  { "flames_up3.frames",                       "2"                     },
-  { "flames_up3.offset",                       "96"                    },
-
-  { "flames_down1",                            "RocksHeroes.pcx"       },
-  { "flames_down1.xpos",                       "8"                     },
-  { "flames_down1.ypos",                       "15"                    },
-  { "flames_down1.frames",                     "2"                     },
-  { "flames_down1.offset",                     "96"                    },
-  { "flames_down2",                            "RocksHeroes.pcx"       },
-  { "flames_down2.xpos",                       "9"                     },
-  { "flames_down2.ypos",                       "15"                    },
-  { "flames_down2.frames",                     "2"                     },
-  { "flames_down2.offset",                     "96"                    },
-  { "flames_down3",                            "RocksHeroes.pcx"       },
-  { "flames_down3.xpos",                       "10"                    },
-  { "flames_down3.ypos",                       "15"                    },
-  { "flames_down3.frames",                     "2"                     },
-  { "flames_down3.offset",                     "96"                    },
-
-  { "stoneblock",                              "RocksElements.pcx"     },
-  { "stoneblock.xpos",                         "10"                    },
-  { "stoneblock.ypos",                         "1"                     },
-  { "stoneblock.frames",                       "1"                     },
-
-  /* images for generic elements and actions */
-
-  { "player1",                                 "RocksHeroes.pcx"       },
-  { "player1.xpos",                            "0"                     },
-  { "player1.ypos",                            "0"                     },
-  { "player1.frames",                          "1"                     },
-  { "player1_down",                            "RocksHeroes.pcx"       },
-  { "player1_down.xpos",                       "0"                     },
-  { "player1_down.ypos",                       "0"                     },
-  { "player1_down.frames",                     "1"                     },
-  { "player1_down.moving",                     "RocksHeroes.pcx"       },
-  { "player1_down.moving.xpos",                        "0"                     },
-  { "player1_down.moving.ypos",                        "0"                     },
-  { "player1_down.moving.frames",              "4"                     },
-  { "player1_down.moving.start_frame",         "1"                     },
-  { "player1_down.moving.delay",               "4"                     },
-  { "player1_down.digging",                    "RocksHeroes.pcx"       },
-  { "player1_down.digging.xpos",               "0"                     },
-  { "player1_down.digging.ypos",               "0"                     },
-  { "player1_down.digging.frames",             "4"                     },
-  { "player1_down.pushing",                    "RocksHeroes.pcx"       },
-  { "player1_down.pushing.xpos",               "0"                     },
-  { "player1_down.pushing.ypos",               "0"                     },
-  { "player1_down.pushing.frames",             "4"                     },
-  { "player1_down.pushing.delay",              "2"                     },
-  { "player1_down.snapping",                   "RocksHeroes.pcx"       },
-  { "player1_down.snapping.xpos",              "0"                     },
-  { "player1_down.snapping.ypos",              "0"                     },
-  { "player1_down.snapping.frames",            "1"                     },
-  { "player1_up",                              "RocksHeroes.pcx"       },
-  { "player1_up.xpos",                         "4"                     },
-  { "player1_up.ypos",                         "0"                     },
-  { "player1_up.frames",                       "1"                     },
-  { "player1_up.moving",                       "RocksHeroes.pcx"       },
-  { "player1_up.moving.xpos",                  "4"                     },
-  { "player1_up.moving.ypos",                  "0"                     },
-  { "player1_up.moving.frames",                        "4"                     },
-  { "player1_up.moving.start_frame",           "1"                     },
-  { "player1_up.moving.delay",                 "4"                     },
-  { "player1_up.digging",                      "RocksHeroes.pcx"       },
-  { "player1_up.digging.xpos",                 "4"                     },
-  { "player1_up.digging.ypos",                 "0"                     },
-  { "player1_up.digging.frames",               "4"                     },
-  { "player1_up.pushing",                      "RocksHeroes.pcx"       },
-  { "player1_up.pushing.xpos",                 "4"                     },
-  { "player1_up.pushing.ypos",                 "0"                     },
-  { "player1_up.pushing.frames",               "4"                     },
-  { "player1_up.pushing.delay",                        "2"                     },
-  { "player1_up.snapping",                     "RocksHeroes.pcx"       },
-  { "player1_up.snapping.xpos",                        "4"                     },
-  { "player1_up.snapping.ypos",                        "0"                     },
-  { "player1_up.snapping.frames",              "1"                     },
-  { "player1_left",                            "RocksHeroes.pcx"       },
-  { "player1_left.xpos",                       "0"                     },
-  { "player1_left.ypos",                       "1"                     },
-  { "player1_left.frames",                     "1"                     },
-  { "player1_left.moving",                     "RocksHeroes.pcx"       },
-  { "player1_left.moving.xpos",                        "0"                     },
-  { "player1_left.moving.ypos",                        "1"                     },
-  { "player1_left.moving.frames",              "4"                     },
-  { "player1_left.moving.start_frame",         "1"                     },
-  { "player1_left.moving.delay",               "4"                     },
-  { "player1_left.digging",                    "RocksHeroes.pcx"       },
-  { "player1_left.digging.xpos",               "0"                     },
-  { "player1_left.digging.ypos",               "1"                     },
-  { "player1_left.digging.frames",             "4"                     },
-  { "player1_left.pushing",                    "RocksHeroes.pcx"       },
-  { "player1_left.pushing.xpos",               "4"                     },
-  { "player1_left.pushing.ypos",               "2"                     },
-  { "player1_left.pushing.frames",             "4"                     },
-  { "player1_left.pushing.delay",              "2"                     },
-  { "player1_left.snapping",                   "RocksHeroes.pcx"       },
-  { "player1_left.snapping.xpos",              "0"                     },
-  { "player1_left.snapping.ypos",              "1"                     },
-  { "player1_left.snapping.frames",            "1"                     },
-  { "player1_right",                           "RocksHeroes.pcx"       },
-  { "player1_right.xpos",                      "4"                     },
-  { "player1_right.ypos",                      "1"                     },
-  { "player1_right.frames",                    "1"                     },
-  { "player1_right.moving",                    "RocksHeroes.pcx"       },
-  { "player1_right.moving.xpos",               "4"                     },
-  { "player1_right.moving.ypos",               "1"                     },
-  { "player1_right.moving.frames",             "4"                     },
-  { "player1_right.moving.delay",              "4"                     },
-  { "player1_right.moving.start_frame",                "1"                     },
-  { "player1_right.digging",                   "RocksHeroes.pcx"       },
-  { "player1_right.digging.xpos",              "4"                     },
-  { "player1_right.digging.ypos",              "1"                     },
-  { "player1_right.digging.frames",            "4"                     },
-  { "player1_right.pushing",                   "RocksHeroes.pcx"       },
-  { "player1_right.pushing.xpos",              "0"                     },
-  { "player1_right.pushing.ypos",              "2"                     },
-  { "player1_right.pushing.frames",            "4"                     },
-  { "player1_right.pushing.delay",             "2"                     },
-  { "player1_right.snapping",                  "RocksHeroes.pcx"       },
-  { "player1_right.snapping.xpos",             "4"                     },
-  { "player1_right.snapping.ypos",             "1"                     },
-  { "player1_right.snapping.frames",           "1"                     },
-
-  { "player2",                                 "RocksHeroes.pcx"       },
-  { "player2.xpos",                            "0"                     },
-  { "player2.ypos",                            "3"                     },
-  { "player2.frames",                          "1"                     },
-  { "player2_down",                            "RocksHeroes.pcx"       },
-  { "player2_down.xpos",                       "0"                     },
-  { "player2_down.ypos",                       "3"                     },
-  { "player2_down.frames",                     "1"                     },
-  { "player2_down.moving",                     "RocksHeroes.pcx"       },
-  { "player2_down.moving.xpos",                        "0"                     },
-  { "player2_down.moving.ypos",                        "3"                     },
-  { "player2_down.moving.frames",              "4"                     },
-  { "player2_down.digging",                    "RocksHeroes.pcx"       },
-  { "player2_down.digging.xpos",               "0"                     },
-  { "player2_down.digging.ypos",               "3"                     },
-  { "player2_down.digging.frames",             "4"                     },
-  { "player2_down.pushing",                    "RocksHeroes.pcx"       },
-  { "player2_down.pushing.xpos",               "0"                     },
-  { "player2_down.pushing.ypos",               "3"                     },
-  { "player2_down.pushing.frames",             "4"                     },
-  { "player2_down.snapping",                   "RocksHeroes.pcx"       },
-  { "player2_down.snapping.xpos",              "0"                     },
-  { "player2_down.snapping.ypos",              "3"                     },
-  { "player2_down.snapping.frames",            "1"                     },
-  { "player2_up",                              "RocksHeroes.pcx"       },
-  { "player2_up.xpos",                         "4"                     },
-  { "player2_up.ypos",                         "3"                     },
-  { "player2_up.frames",                       "1"                     },
-  { "player2_up.moving",                       "RocksHeroes.pcx"       },
-  { "player2_up.moving.xpos",                  "4"                     },
-  { "player2_up.moving.ypos",                  "3"                     },
-  { "player2_up.moving.frames",                        "4"                     },
-  { "player2_up.digging",                      "RocksHeroes.pcx"       },
-  { "player2_up.digging.xpos",                 "4"                     },
-  { "player2_up.digging.ypos",                 "3"                     },
-  { "player2_up.digging.frames",               "4"                     },
-  { "player2_up.pushing",                      "RocksHeroes.pcx"       },
-  { "player2_up.pushing.xpos",                 "4"                     },
-  { "player2_up.pushing.ypos",                 "3"                     },
-  { "player2_up.pushing.frames",               "4"                     },
-  { "player2_up.snapping",                     "RocksHeroes.pcx"       },
-  { "player2_up.snapping.xpos",                        "4"                     },
-  { "player2_up.snapping.ypos",                        "3"                     },
-  { "player2_up.snapping.frames",              "1"                     },
-  { "player2_left",                            "RocksHeroes.pcx"       },
-  { "player2_left.xpos",                       "0"                     },
-  { "player2_left.ypos",                       "4"                     },
-  { "player2_left.frames",                     "1"                     },
-  { "player2_left.moving",                     "RocksHeroes.pcx"       },
-  { "player2_left.moving.xpos",                        "0"                     },
-  { "player2_left.moving.ypos",                        "4"                     },
-  { "player2_left.moving.frames",              "4"                     },
-  { "player2_left.digging",                    "RocksHeroes.pcx"       },
-  { "player2_left.digging.xpos",               "0"                     },
-  { "player2_left.digging.ypos",               "4"                     },
-  { "player2_left.digging.frames",             "4"                     },
-  { "player2_left.pushing",                    "RocksHeroes.pcx"       },
-  { "player2_left.pushing.xpos",               "4"                     },
-  { "player2_left.pushing.ypos",               "5"                     },
-  { "player2_left.pushing.frames",             "4"                     },
-  { "player2_left.snapping",                   "RocksHeroes.pcx"       },
-  { "player2_left.snapping.xpos",              "0"                     },
-  { "player2_left.snapping.ypos",              "4"                     },
-  { "player2_left.snapping.frames",            "1"                     },
-  { "player2_right",                           "RocksHeroes.pcx"       },
-  { "player2_right.xpos",                      "4"                     },
-  { "player2_right.ypos",                      "4"                     },
-  { "player2_right.frames",                    "1"                     },
-  { "player2_right.moving",                    "RocksHeroes.pcx"       },
-  { "player2_right.moving.xpos",               "4"                     },
-  { "player2_right.moving.ypos",               "4"                     },
-  { "player2_right.moving.frames",             "4"                     },
-  { "player2_right.digging",                   "RocksHeroes.pcx"       },
-  { "player2_right.digging.xpos",              "4"                     },
-  { "player2_right.digging.ypos",              "4"                     },
-  { "player2_right.digging.frames",            "4"                     },
-  { "player2_right.pushing",                   "RocksHeroes.pcx"       },
-  { "player2_right.pushing.xpos",              "0"                     },
-  { "player2_right.pushing.ypos",              "5"                     },
-  { "player2_right.pushing.frames",            "4"                     },
-  { "player2_right.snapping",                  "RocksHeroes.pcx"       },
-  { "player2_right.snapping.xpos",             "4"                     },
-  { "player2_right.snapping.ypos",             "4"                     },
-  { "player2_right.snapping.frames",           "1"                     },
-
-  { "player3",                                 "RocksHeroes.pcx"       },
-  { "player3.xpos",                            "0"                     },
-  { "player3.ypos",                            "6"                     },
-  { "player3.frames",                          "1"                     },
-  { "player3_down",                            "RocksHeroes.pcx"       },
-  { "player3_down.xpos",                       "0"                     },
-  { "player3_down.ypos",                       "6"                     },
-  { "player3_down.frames",                     "1"                     },
-  { "player3_down.moving",                     "RocksHeroes.pcx"       },
-  { "player3_down.moving.xpos",                        "0"                     },
-  { "player3_down.moving.ypos",                        "6"                     },
-  { "player3_down.moving.frames",              "4"                     },
-  { "player3_down.digging",                    "RocksHeroes.pcx"       },
-  { "player3_down.digging.xpos",               "0"                     },
-  { "player3_down.digging.ypos",               "6"                     },
-  { "player3_down.digging.frames",             "4"                     },
-  { "player3_down.pushing",                    "RocksHeroes.pcx"       },
-  { "player3_down.pushing.xpos",               "0"                     },
-  { "player3_down.pushing.ypos",               "6"                     },
-  { "player3_down.pushing.frames",             "4"                     },
-  { "player3_down.snapping",                   "RocksHeroes.pcx"       },
-  { "player3_down.snapping.xpos",              "0"                     },
-  { "player3_down.snapping.ypos",              "6"                     },
-  { "player3_down.snapping.frames",            "1"                     },
-  { "player3_up",                              "RocksHeroes.pcx"       },
-  { "player3_up.xpos",                         "4"                     },
-  { "player3_up.ypos",                         "6"                     },
-  { "player3_up.frames",                       "1"                     },
-  { "player3_up.moving",                       "RocksHeroes.pcx"       },
-  { "player3_up.moving.xpos",                  "4"                     },
-  { "player3_up.moving.ypos",                  "6"                     },
-  { "player3_up.moving.frames",                        "4"                     },
-  { "player3_up.digging",                      "RocksHeroes.pcx"       },
-  { "player3_up.digging.xpos",                 "4"                     },
-  { "player3_up.digging.ypos",                 "6"                     },
-  { "player3_up.digging.frames",               "4"                     },
-  { "player3_up.pushing",                      "RocksHeroes.pcx"       },
-  { "player3_up.pushing.xpos",                 "4"                     },
-  { "player3_up.pushing.ypos",                 "6"                     },
-  { "player3_up.pushing.frames",               "4"                     },
-  { "player3_up.snapping",                     "RocksHeroes.pcx"       },
-  { "player3_up.snapping.xpos",                        "4"                     },
-  { "player3_up.snapping.ypos",                        "6"                     },
-  { "player3_up.snapping.frames",              "1"                     },
-  { "player3_left",                            "RocksHeroes.pcx"       },
-  { "player3_left.xpos",                       "0"                     },
-  { "player3_left.ypos",                       "7"                     },
-  { "player3_left.frames",                     "1"                     },
-  { "player3_left.moving",                     "RocksHeroes.pcx"       },
-  { "player3_left.moving.xpos",                        "0"                     },
-  { "player3_left.moving.ypos",                        "7"                     },
-  { "player3_left.moving.frames",              "4"                     },
-  { "player3_left.digging",                    "RocksHeroes.pcx"       },
-  { "player3_left.digging.xpos",               "0"                     },
-  { "player3_left.digging.ypos",               "7"                     },
-  { "player3_left.digging.frames",             "4"                     },
-  { "player3_left.pushing",                    "RocksHeroes.pcx"       },
-  { "player3_left.pushing.xpos",               "4"                     },
-  { "player3_left.pushing.ypos",               "8"                     },
-  { "player3_left.pushing.frames",             "4"                     },
-  { "player3_left.snapping",                   "RocksHeroes.pcx"       },
-  { "player3_left.snapping.xpos",              "0"                     },
-  { "player3_left.snapping.ypos",              "7"                     },
-  { "player3_left.snapping.frames",            "1"                     },
-  { "player3_right",                           "RocksHeroes.pcx"       },
-  { "player3_right.xpos",                      "4"                     },
-  { "player3_right.ypos",                      "7"                     },
-  { "player3_right.frames",                    "1"                     },
-  { "player3_right.moving",                    "RocksHeroes.pcx"       },
-  { "player3_right.moving.xpos",               "4"                     },
-  { "player3_right.moving.ypos",               "7"                     },
-  { "player3_right.moving.frames",             "4"                     },
-  { "player3_right.digging",                   "RocksHeroes.pcx"       },
-  { "player3_right.digging.xpos",              "4"                     },
-  { "player3_right.digging.ypos",              "7"                     },
-  { "player3_right.digging.frames",            "4"                     },
-  { "player3_right.pushing",                   "RocksHeroes.pcx"       },
-  { "player3_right.pushing.xpos",              "0"                     },
-  { "player3_right.pushing.ypos",              "8"                     },
-  { "player3_right.pushing.frames",            "4"                     },
-  { "player3_right.snapping",                  "RocksHeroes.pcx"       },
-  { "player3_right.snapping.xpos",             "4"                     },
-  { "player3_right.snapping.ypos",             "7"                     },
-  { "player3_right.snapping.frames",           "1"                     },
-
-  { "player4",                                 "RocksHeroes.pcx"       },
-  { "player4.xpos",                            "0"                     },
-  { "player4.ypos",                            "9"                     },
-  { "player4.frames",                          "1"                     },
-  { "player4_down",                            "RocksHeroes.pcx"       },
-  { "player4_down.xpos",                       "0"                     },
-  { "player4_down.ypos",                       "9"                     },
-  { "player4_down.frames",                     "1"                     },
-  { "player4_down.moving",                     "RocksHeroes.pcx"       },
-  { "player4_down.moving.xpos",                        "0"                     },
-  { "player4_down.moving.ypos",                        "9"                     },
-  { "player4_down.moving.frames",              "4"                     },
-  { "player4_down.digging",                    "RocksHeroes.pcx"       },
-  { "player4_down.digging.xpos",               "0"                     },
-  { "player4_down.digging.ypos",               "9"                     },
-  { "player4_down.digging.frames",             "4"                     },
-  { "player4_down.pushing",                    "RocksHeroes.pcx"       },
-  { "player4_down.pushing.xpos",               "0"                     },
-  { "player4_down.pushing.ypos",               "9"                     },
-  { "player4_down.pushing.frames",             "4"                     },
-  { "player4_down.snapping",                   "RocksHeroes.pcx"       },
-  { "player4_down.snapping.xpos",              "0"                     },
-  { "player4_down.snapping.ypos",              "9"                     },
-  { "player4_down.snapping.frames",            "1"                     },
-  { "player4_up",                              "RocksHeroes.pcx"       },
-  { "player4_up.xpos",                         "4"                     },
-  { "player4_up.ypos",                         "9"                     },
-  { "player4_up.frames",                       "1"                     },
-  { "player4_up.moving",                       "RocksHeroes.pcx"       },
-  { "player4_up.moving.xpos",                  "4"                     },
-  { "player4_up.moving.ypos",                  "9"                     },
-  { "player4_up.moving.frames",                        "4"                     },
-  { "player4_up.digging",                      "RocksHeroes.pcx"       },
-  { "player4_up.digging.xpos",                 "4"                     },
-  { "player4_up.digging.ypos",                 "9"                     },
-  { "player4_up.digging.frames",               "4"                     },
-  { "player4_up.pushing",                      "RocksHeroes.pcx"       },
-  { "player4_up.pushing.xpos",                 "4"                     },
-  { "player4_up.pushing.ypos",                 "9"                     },
-  { "player4_up.pushing.frames",               "4"                     },
-  { "player4_up.snapping",                     "RocksHeroes.pcx"       },
-  { "player4_up.snapping.xpos",                        "4"                     },
-  { "player4_up.snapping.ypos",                        "9"                     },
-  { "player4_up.snapping.frames",              "1"                     },
-  { "player4_left",                            "RocksHeroes.pcx"       },
-  { "player4_left.xpos",                       "0"                     },
-  { "player4_left.ypos",                       "10"                    },
-  { "player4_left.frames",                     "1"                     },
-  { "player4_left.moving",                     "RocksHeroes.pcx"       },
-  { "player4_left.moving.xpos",                        "0"                     },
-  { "player4_left.moving.ypos",                        "10"                    },
-  { "player4_left.moving.frames",              "4"                     },
-  { "player4_left.digging",                    "RocksHeroes.pcx"       },
-  { "player4_left.digging.xpos",               "0"                     },
-  { "player4_left.digging.ypos",               "10"                    },
-  { "player4_left.digging.frames",             "4"                     },
-  { "player4_left.pushing",                    "RocksHeroes.pcx"       },
-  { "player4_left.pushing.xpos",               "4"                     },
-  { "player4_left.pushing.ypos",               "11"                    },
-  { "player4_left.pushing.frames",             "4"                     },
-  { "player4_left.snapping",                   "RocksHeroes.pcx"       },
-  { "player4_left.snapping.xpos",              "0"                     },
-  { "player4_left.snapping.ypos",              "10"                    },
-  { "player4_left.snapping.frames",            "1"                     },
-  { "player4_right",                           "RocksHeroes.pcx"       },
-  { "player4_right.xpos",                      "4"                     },
-  { "player4_right.ypos",                      "10"                    },
-  { "player4_right.frames",                    "1"                     },
-  { "player4_right.moving",                    "RocksHeroes.pcx"       },
-  { "player4_right.moving.xpos",               "4"                     },
-  { "player4_right.moving.ypos",               "10"                    },
-  { "player4_right.moving.frames",             "4"                     },
-  { "player4_right.digging",                   "RocksHeroes.pcx"       },
-  { "player4_right.digging.xpos",              "4"                     },
-  { "player4_right.digging.ypos",              "10"                    },
-  { "player4_right.digging.frames",            "4"                     },
-  { "player4_right.pushing",                   "RocksHeroes.pcx"       },
-  { "player4_right.pushing.xpos",              "0"                     },
-  { "player4_right.pushing.ypos",              "11"                    },
-  { "player4_right.pushing.frames",            "4"                     },
-  { "player4_right.snapping",                  "RocksHeroes.pcx"       },
-  { "player4_right.snapping.xpos",             "4"                     },
-  { "player4_right.snapping.ypos",             "10"                    },
-  { "player4_right.snapping.frames",           "1"                     },
-
-  { "explosion",                               "RocksElements.pcx"     },
-  { "explosion.xpos",                          "0"                     },
-  { "explosion.ypos",                          "4"                     },
-  { "explosion.frames",                                "8"                     },
-  { "explosion.delay",                         "2"                     },
-  { "explosion.global_sync",                   "0"                     },
-
-  { "twinkle_blue",                            "RocksHeroes.pcx"       },
-  { "twinkle_blue.xpos",                       "9"                     },
-  { "twinkle_blue.ypos",                       "11"                    },
-  { "twinkle_blue.frames",                     "3"                     },
-  { "twinkle_blue.delay",                      "2"                     },
-  { "twinkle_blue.mode_pingpong",              "1"                     },
-  { "twinkle_blue.global_sync",                        "0"                     },
-  { "twinkle_white",                           "RocksHeroes.pcx"       },
-  { "twinkle_white.xpos",                      "13"                    },
-  { "twinkle_white.ypos",                      "11"                    },
-  { "twinkle_white.frames",                    "3"                     },
-  { "twinkle_white.delay",                     "2"                     },
-  { "twinkle_white.mode_pingpong",             "1"                     },
-  { "twinkle_white.global_sync",               "0"                     },
-
-  { "steelwall_topleft",                       "RocksElements.pcx"     },
-  { "steelwall_topleft.xpos",                  "0"                     },
-  { "steelwall_topleft.ypos",                  "13"                    },
-  { "steelwall_topleft.frames",                        "1"                     },
-  { "steelwall_topright",                      "RocksElements.pcx"     },
-  { "steelwall_topright.xpos",                 "1"                     },
-  { "steelwall_topright.ypos",                 "13"                    },
-  { "steelwall_topright.frames",               "1"                     },
-  { "steelwall_bottomleft",                    "RocksElements.pcx"     },
-  { "steelwall_bottomleft.xpos",               "2"                     },
-  { "steelwall_bottomleft.ypos",               "13"                    },
-  { "steelwall_bottomleft.frames",             "1"                     },
-  { "steelwall_bottomright",                   "RocksElements.pcx"     },
-  { "steelwall_bottomright.xpos",              "3"                     },
-  { "steelwall_bottomright.ypos",              "13"                    },
-  { "steelwall_bottomright.frames",            "1"                     },
-  { "steelwall_horizontal",                    "RocksElements.pcx"     },
-  { "steelwall_horizontal.xpos",               "4"                     },
-  { "steelwall_horizontal.ypos",               "13"                    },
-  { "steelwall_horizontal.frames",             "1"                     },
-  { "steelwall_vertical",                      "RocksElements.pcx"     },
-  { "steelwall_vertical.xpos",                 "5"                     },
-  { "steelwall_vertical.ypos",                 "13"                    },
-  { "steelwall_vertical.frames",               "1"                     },
-
-  { "invisible_steelwall_topleft",             "RocksElements.pcx"     },
-  { "invisible_steelwall_topleft.xpos",                "6"                     },
-  { "invisible_steelwall_topleft.ypos",                "13"                    },
-  { "invisible_steelwall_topleft.frames",      "1"                     },
-  { "invisible_steelwall_topright",            "RocksElements.pcx"     },
-  { "invisible_steelwall_topright.xpos",       "7"                     },
-  { "invisible_steelwall_topright.ypos",       "13"                    },
-  { "invisible_steelwall_topright.frames",     "1"                     },
-  { "invisible_steelwall_bottomleft",          "RocksElements.pcx"     },
-  { "invisible_steelwall_bottomleft.xpos",     "8"                     },
-  { "invisible_steelwall_bottomleft.ypos",     "13"                    },
-  { "invisible_steelwall_bottomleft.frames",   "1"                     },
-  { "invisible_steelwall_bottomright",         "RocksElements.pcx"     },
-  { "invisible_steelwall_bottomright.xpos",    "9"                     },
-  { "invisible_steelwall_bottomright.ypos",    "13"                    },
-  { "invisible_steelwall_bottomright.frames",  "1"                     },
-  { "invisible_steelwall_horizontal",          "RocksElements.pcx"     },
-  { "invisible_steelwall_horizontal.xpos",     "10"                    },
-  { "invisible_steelwall_horizontal.ypos",     "13"                    },
-  { "invisible_steelwall_horizontal.frames",   "1"                     },
-  { "invisible_steelwall_vertical",            "RocksElements.pcx"     },
-  { "invisible_steelwall_vertical.xpos",       "11"                    },
-  { "invisible_steelwall_vertical.ypos",       "13"                    },
-  { "invisible_steelwall_vertical.frames",     "1"                     },
-
-  { "arrow_blue_left",                         "RocksMore.pcx" },
-  { "arrow_blue_left.xpos",                    "0"                     },
-  { "arrow_blue_left.ypos",                    "0"                     },
-  { "arrow_blue_left.frames",                  "1"                     },
-  { "arrow_blue_right",                                "RocksMore.pcx" },
-  { "arrow_blue_right.xpos",                   "1"                     },
-  { "arrow_blue_right.ypos",                   "0"                     },
-  { "arrow_blue_right.frames",                 "1"                     },
-  { "arrow_blue_up",                           "RocksMore.pcx" },
-  { "arrow_blue_up.xpos",                      "2"                     },
-  { "arrow_blue_up.ypos",                      "0"                     },
-  { "arrow_blue_up.frames",                    "1"                     },
-  { "arrow_blue_down",                         "RocksMore.pcx" },
-  { "arrow_blue_down.xpos",                    "3"                     },
-  { "arrow_blue_down.ypos",                    "0"                     },
-  { "arrow_blue_down.frames",                  "1"                     },
-
-  { "arrow_red_left",                          "RocksMore.pcx" },
-  { "arrow_red_left.xpos",                     "0"                     },
-  { "arrow_red_left.ypos",                     "1"                     },
-  { "arrow_red_left.frames",                   "1"                     },
-  { "arrow_red_right",                         "RocksMore.pcx" },
-  { "arrow_red_right.xpos",                    "1"                     },
-  { "arrow_red_right.ypos",                    "1"                     },
-  { "arrow_red_right.frames",                  "1"                     },
-  { "arrow_red_up",                            "RocksMore.pcx" },
-  { "arrow_red_up.xpos",                       "2"                     },
-  { "arrow_red_up.ypos",                       "1"                     },
-  { "arrow_red_up.frames",                     "1"                     },
-  { "arrow_red_down",                          "RocksMore.pcx" },
-  { "arrow_red_down.xpos",                     "3"                     },
-  { "arrow_red_down.ypos",                     "1"                     },
-  { "arrow_red_down.frames",                   "1"                     },
-
-  { "ball_red",                                        "RocksElements.pcx"     },
-  { "ball_red.xpos",                           "12"                    },
-  { "ball_red.ypos",                           "8"                     },
-  { "ball_red.frames",                         "1"                     },
-  { "ball_blue",                               "RocksElements.pcx"     },
-  { "ball_blue.xpos",                          "13"                    },
-  { "ball_blue.ypos",                          "8"                     },
-  { "ball_blue.frames",                                "1"                     },
-  { "ball_yellow",                             "RocksElements.pcx"     },
-  { "ball_yellow.xpos",                                "14"                    },
-  { "ball_yellow.ypos",                                "8"                     },
-  { "ball_yellow.frames",                      "1"                     },
-  { "ball_gray",                               "RocksElements.pcx"     },
-  { "ball_gray.xpos",                          "15"                    },
-  { "ball_gray.ypos",                          "8"                     },
-  { "ball_gray.frames",                                "1"                     },
-
-  { "scrollbar_blue",                          "RocksMore.pcx"         },
-  { "scrollbar_blue.xpos",                     "0"                     },
-  { "scrollbar_blue.ypos",                     "2"                     },
-  { "scrollbar_blue.frames",                   "1"                     },
-  { "scrollbar_red",                           "RocksMore.pcx"         },
-  { "scrollbar_red.xpos",                      "1"                     },
-  { "scrollbar_red.ypos",                      "2"                     },
-  { "scrollbar_red.frames",                    "1"                     },
-  { "scrollbar_green",                         "RocksMore.pcx"         },
-  { "scrollbar_green.xpos",                    "2"                     },
-  { "scrollbar_green.ypos",                    "2"                     },
-  { "scrollbar_green.frames",                  "1"                     },
-  { "scrollbar_yellow",                                "RocksMore.pcx"         },
-  { "scrollbar_yellow.xpos",                   "3"                     },
-  { "scrollbar_yellow.ypos",                   "2"                     },
-  { "scrollbar_yellow.frames",                 "1"                     },
-
-#include "conf_chr.c"  /* include auto-generated data structure definitions */
-
-  { NULL,                                      NULL                    }
-};
-
-struct ConfigInfo sound_config[] =
-{
-  /* sounds for Boulder Dash style elements and actions */
-  { "bd_empty_space.digging",          "empty.wav"             },
-  { "bd_sand.digging",                 "schlurf.wav"           },
-  { "bd_diamond.collecting",           "pong.wav"              },
-  { "bd_diamond.impact",               "pling.wav"             },
-  { "bd_rock.pushing",                 "pusch.wav"             },
-  { "bd_rock.impact",                  "klopf.wav"             },
-  { "bd_magic_wall.activating",                "quirk.wav"             },
-  { "bd_magic_wall.active",            "miep.wav"              },
-  { "bd_magic_wall.changing",          "quirk.wav"             },
-  { "bd_amoeba.waiting",               SND_FILE_UNDEFINED      },
-  { "bd_amoeba.creating",              "amoebe.wav"            },
-  { "bd_amoeba.turning_to_gem",                "pling.wav"             },
-  { "bd_amoeba.turning_to_rock",       "klopf.wav"             },
-  { "bd_butterfly.moving",             "klapper.wav"           },
-  { "bd_butterfly.waiting",            "klapper.wav"           },
-  { "bd_firefly.moving",               "roehr.wav"             },
-  { "bd_firefly.waiting",              "roehr.wav"             },
-  { "bd_exit.passing",                 "buing.wav"             },
-
-  /* sounds for Supaplex style elements and actions */
-  { "sp_empty_space.digging",          "empty.wav"             },
-  { "sp_base.digging",                 "base.wav"              },
-  { "sp_buggy_base.digging",           "base.wav"              },
-  { "sp_buggy_base.active",            "bug.wav"               },
-  { "sp_infotron.collecting",          "infotron.wav"          },
-  { "sp_infotron.impact",              "pling.wav"             },
-  { "sp_zonk.pushing",                 "zonkpush.wav"          },
-  { "sp_zonk.impact",                  "zonkdown.wav"          },
-  { "sp_disk_red.collecting",          "infotron.wav"          },
-  { "sp_disk_orange.pushing",          "zonkpush.wav"          },
-  { "sp_disk_yellow.pushing",          "pusch.wav"             },
-  { "sp_port.passing",                 "gate.wav"              },
-  { "sp_exit.passing",                 "exit.wav"              },
-  { "sp_exit.opening",                 SND_FILE_UNDEFINED      },
-  { "sp_element.exploding",            "booom.wav"             },
-  { "sp_sniksnak.moving",              SND_FILE_UNDEFINED      },
-  { "sp_sniksnak.waiting",             SND_FILE_UNDEFINED      },
-  { "sp_electron.moving",              SND_FILE_UNDEFINED      },
-  { "sp_electron.waiting",             SND_FILE_UNDEFINED      },
-  { "sp_terminal.activating",          SND_FILE_UNDEFINED      },
-  { "sp_terminal.active",              SND_FILE_UNDEFINED      },
-
-  /* sounds for Sokoban style elements and actions */
-  { "sokoban_object.pushing",          "pusch.wav"             },
-  { "sokoban_field.filling",           "deng.wav"              },
-  { "sokoban_field.emptying",          SND_FILE_UNDEFINED      },
-  { "sokoban_game.solving",            "buing.wav"             },
-
-  /* sounds for Emerald Mine style elements and actions */
-  { "empty_space.digging",             "empty.wav"             },
-  { "sand.digging",                    "schlurf.wav"           },
-  { "emerald.collecting",              "pong.wav"              },
-  { "emerald.impact",                  "pling.wav"             },
-  { "diamond.collecting",              "pong.wav"              },
-  { "diamond.impact",                  "pling.wav"             },
-  { "diamond.breaking",                        "quirk.wav"             },
-  { "rock.pushing",                    "pusch.wav"             },
-  { "rock.impact",                     "klopf.wav"             },
-  { "bomb.pushing",                    "pusch.wav"             },
-  { "nut.pushing",                     "knurk.wav"             },
-  { "nut.cracking",                    "knack.wav"             },
-  { "nut.impact",                      "klumpf.wav"            },
-  { "dynamite.collecting",             "pong.wav"              },
-  { "dynamite.dropping",               "deng.wav"              },
-  { "dynamite.active",                 "zisch.wav"             },
-  { "key.collecting",                  "pong.wav"              },
-  { "gate.passing",                    "gate.wav"              },
-  { "bug.moving",                      "klapper.wav"           },
-  { "bug.waiting",                     "klapper.wav"           },
-  { "spaceship.moving",                        "roehr.wav"             },
-  { "spaceship.waiting",               "roehr.wav"             },
-  { "yamyam.moving",                   SND_FILE_UNDEFINED      },
-  { "yamyam.waiting",                  "njam.wav"              },
-  { "yamyam.eating",                   SND_FILE_UNDEFINED      },
-  { "robot.stepping",                  "schlurf.wav"           },
-  { "robot.waiting",                   SND_FILE_UNDEFINED      },
-  { "robot_wheel.activating",          "deng.wav"              },
-  { "robot_wheel.active",              "miep.wav"              },
-  { "magic_wall.activating",           "quirk.wav"             },
-  { "magic_wall.active",               "miep.wav"              },
-  { "magic_wall.changing",             "quirk.wav"             },
-  { "amoeba.waiting",                  SND_FILE_UNDEFINED      },
-  { "amoeba.creating",                 "amoebe.wav"            },
-  { "amoeba_drop.creating",            SND_FILE_UNDEFINED      },
-  { "acid.splashing",                  "blurb.wav"             },
-  { "quicksand.filling",               SND_FILE_UNDEFINED      },
-  { "quicksand.slipping",              SND_FILE_UNDEFINED      },
-  { "quicksand.emptying",              SND_FILE_UNDEFINED      },
-  { "exit.opening",                    "oeffnen.wav"           },
-  { "exit.passing",                    "buing.wav"             },
-
-  /* sounds for Emerald Mine Club style elements and actions */
-  { "balloon.moving",                  SND_FILE_UNDEFINED      },
-  { "balloon.waiting",                 SND_FILE_UNDEFINED      },
-  { "balloon.pushing",                 "schlurf.wav"           },
-  { "balloon_switch.activating",       SND_FILE_UNDEFINED      },
-  { "spring.moving",                   SND_FILE_UNDEFINED      },
-  { "spring.pushing",                  "pusch.wav"             },
-  { "spring.impact",                   "klopf.wav"             },
-  { "wall.growing",                    SND_FILE_UNDEFINED      },
-
-  /* sounds for Diamond Caves style elements and actions */
-  { "pearl.collecting",                        "pong.wav"              },
-  { "pearl.breaking",                  "knack.wav"             },
-  { "pearl.impact",                    "pling.wav"             },
-  { "crystal.collecting",              "pong.wav"              },
-  { "crystal.impact",                  "pling.wav"             },
-  { "envelope.collecting",             "pong.wav"              },
-  { "sand_invisible.digging",          "schlurf.wav"           },
-  { "shield_normal.collecting",                "pong.wav"              },
-  { "shield_normal.active",            SND_FILE_UNDEFINED      },
-  { "shield_deadly.collecting",                "pong.wav"              },
-  { "shield_deadly.active",            SND_FILE_UNDEFINED      },
-  { "extra_time.collecting",           "gong.wav"              },
-  { "mole.moving",                     SND_FILE_UNDEFINED      },
-  { "mole.waiting",                    SND_FILE_UNDEFINED      },
-  { "mole.eating",                     "blurb.wav"             },
-  { "switchgate_switch.activating",    SND_FILE_UNDEFINED      },
-  { "switchgate.opening",              "oeffnen.wav"           },
-  { "switchgate.closing",              "oeffnen.wav"           },
-  { "switchgate.passing",              "gate.wav"              },
-  { "timegate_switch.activating",      "deng.wav"              },
-  { "timegate_switch.active",          "miep.wav"              },
-  { "timegate.opening",                        "oeffnen.wav"           },
-  { "timegate.closing",                        "oeffnen.wav"           },
-  { "timegate.passing",                        "gate.wav"              },
-  { "conveyor_belt_switch.activating", SND_FILE_UNDEFINED      },
-  { "conveyor_belt_switch.deactivating",SND_FILE_UNDEFINED     },
-  { "conveyor_belt.active",            SND_FILE_UNDEFINED      },
-  { "light_switch.activating",         SND_FILE_UNDEFINED      },
-  { "light_switch.deactivating",       SND_FILE_UNDEFINED      },
-
-  /* sounds for DX Boulderdash style elements and actions */
-  { "dx_bomb.pushing",                 "pusch.wav"             },
-  { "trap_inactive.digging",           "schlurf.wav"           },
-  { "trap.activating",                 SND_FILE_UNDEFINED      },
-  { "tube.passing",                    SND_FILE_UNDEFINED      },
-
-  /* sounds for Rocks'n'Diamonds style elements and actions */
-  { "amoeba.turning_to_gem",           "pling.wav"             },
-  { "amoeba.turning_to_rock",          "klopf.wav"             },
-  { "speed_pill.collecting",           "pong.wav"              },
-  { "dynabomb_nr.collecting",          "pong.wav"              },
-  { "dynabomb_sz.collecting",          "pong.wav"              },
-  { "dynabomb_xl.collecting",          "pong.wav"              },
-  { "dynabomb.dropping",               "deng.wav"              },
-  { "dynabomb.active",                 "zisch.wav"             },
-  { "satellite.moving",                        SND_FILE_UNDEFINED      },
-  { "satellite.waiting",               SND_FILE_UNDEFINED      },
-  { "satellite.pushing",               "pusch.wav"             },
-  { "lamp.activating",                 "deng.wav"              },
-  { "lamp.deactivating",               "deng.wav"              },
-  { "time_orb_full.collecting",                "gong.wav"              },
-  { "time_orb_full.impact",            "deng.wav"              },
-  { "time_orb_empty.pushing",          "pusch.wav"             },
-  { "time_orb_empty.impact",           "deng.wav"              },
-  { "gameoflife.waiting",              SND_FILE_UNDEFINED      },
-  { "gameoflife.creating",             "amoebe.wav"            },
-  { "biomaze.waiting",                 SND_FILE_UNDEFINED      },
-  { "biomaze.creating",                        "amoebe.wav"            },
-  { "pacman.moving",                   SND_FILE_UNDEFINED      },
-  { "pacman.waiting",                  SND_FILE_UNDEFINED      },
-  { "pacman.eating",                   SND_FILE_UNDEFINED      },
-  { "dark_yamyam.moving",              SND_FILE_UNDEFINED      },
-  { "dark_yamyam.waiting",             "njam.wav"              },
-  { "dark_yamyam.eating",              SND_FILE_UNDEFINED      },
-  { "penguin.moving",                  SND_FILE_UNDEFINED      },
-  { "penguin.waiting",                 SND_FILE_UNDEFINED      },
-  { "penguin.passing_exit",            "buing.wav"             },
-  { "pig.moving",                      SND_FILE_UNDEFINED      },
-  { "pig.waiting",                     SND_FILE_UNDEFINED      },
-  { "pig.eating",                      SND_FILE_UNDEFINED      },
-  { "dragon.moving",                   SND_FILE_UNDEFINED      },
-  { "dragon.waiting",                  SND_FILE_UNDEFINED      },
-  { "dragon.attacking",                        SND_FILE_UNDEFINED      },
-
-  /* sounds for generic elements and actions */
-  { "player.dying",                    "autsch.wav"            },
-  { "element.exploding",               "roaaar.wav"            },
-
-  /* sounds for other game actions */
-  { "game.starting",                   SND_FILE_UNDEFINED      },
-  { "game.running_out_of_time",                "gong.wav"              },
-  { "game.leveltime_bonus",            "sirr.wav"              },
-  { "game.losing",                     "lachen.wav"            },
-  { "game.winning",                    SND_FILE_UNDEFINED      },
-
-  /* sounds for other non-game actions */
-  { "menu.door_opening",               "oeffnen.wav"           },
-  { "menu.door_closing",               "oeffnen.wav"           },
-  { "menu.hall_of_fame",               "halloffame.wav"        },
-  { "menu.info_screen",                        "rhythmloop.wav"        },
-
-#if 0
-  { "[not used]",                      "antigrav.wav"          },
-  { "[not used]",                      "bong.wav"              },
-  { "[not used]",                      "fuel.wav"              },
-  { "[not used]",                      "holz.wav"              },
-  { "[not used]",                      "hui.wav"               },
-  { "[not used]",                      "kabumm.wav"            },
-  { "[not used]",                      "kink.wav"              },
-  { "[not used]",                      "kling.wav"             },
-  { "[not used]",                      "krach.wav"             },
-  { "[not used]",                      "laser.wav"             },
-  { "[not used]",                      "quiek.wav"             },
-  { "[not used]",                      "rumms.wav"             },
-  { "[not used]",                      "schlopp.wav"           },
-  { "[not used]",                      "schrff.wav"            },
-  { "[not used]",                      "schwirr.wav"           },
-  { "[not used]",                      "slurp.wav"             },
-  { "[not used]",                      "sproing.wav"           },
-  { "[not used]",                      "warnton.wav"           },
-  { "[not used]",                      "whoosh.wav"            },
-  { "[not used]",                      "boom.wav"              },
-#endif
-
-  { NULL,                              NULL                    }
-};
-
 struct FileInfo *image_files;
 struct FileInfo *sound_files;
 
index 223ca8ebb2dadffc822589897a16a0503af2a192..9448687c29c58f46dbcf37df4efc34c2013e8cfd 100644 (file)
 #define GFX_ARG_MODE_REVERSE                   11
 #define GFX_ARG_GLOBAL_SYNC                    12
 
+#define NUM_GFX_ARGS                           13
+
+
 /* values for sound configuration suffixes */
 /* (currently none) */
 
index fa883f4ca3be24822e9c4731c140850a4d23d49e..cfaa4ca2d93130fa1102e2a4fe16f2a357353f3c 100644 (file)
@@ -846,54 +846,67 @@ void getOldGraphicSource(int graphic, Bitmap **bitmap, int *x, int *y)
           graphic <= GFX_END_ROCKSELEMENTS)
   {
     graphic -= GFX_START_ROCKSELEMENTS;
-    *bitmap = pix[PIX_ELEMENTS];
+    *bitmap = new_graphic_info[IMG_OLD_PIX_ELEMENTS].bitmap;
     *x = (graphic % GFX_PER_LINE) * TILEX;
     *y = (graphic / GFX_PER_LINE) * TILEY;
   }
   else if (graphic >= GFX_START_ROCKSHEROES && graphic <= GFX_END_ROCKSHEROES)
   {
     graphic -= GFX_START_ROCKSHEROES;
-    *bitmap = pix[PIX_HEROES];
+    *bitmap = new_graphic_info[IMG_OLD_PIX_HEROES].bitmap;
     *x = (graphic % HEROES_PER_LINE) * TILEX;
     *y = (graphic / HEROES_PER_LINE) * TILEY;
   }
   else if (graphic >= GFX_START_ROCKSSP && graphic <= GFX_END_ROCKSSP)
   {
     graphic -= GFX_START_ROCKSSP;
-    *bitmap = pix[PIX_SP];
+    *bitmap = new_graphic_info[IMG_OLD_PIX_SP].bitmap;
     *x = (graphic % SP_PER_LINE) * TILEX;
     *y = (graphic / SP_PER_LINE) * TILEY;
   }
   else if (graphic >= GFX_START_ROCKSDC && graphic <= GFX_END_ROCKSDC)
   {
     graphic -= GFX_START_ROCKSDC;
-    *bitmap = pix[PIX_DC];
+    *bitmap = new_graphic_info[IMG_OLD_PIX_DC].bitmap;
     *x = (graphic % DC_PER_LINE) * TILEX;
     *y = (graphic / DC_PER_LINE) * TILEY;
   }
   else if (graphic >= GFX_START_ROCKSMORE && graphic <= GFX_END_ROCKSMORE)
   {
     graphic -= GFX_START_ROCKSMORE;
-    *bitmap = pix[PIX_MORE];
+    *bitmap = new_graphic_info[IMG_OLD_PIX_MORE].bitmap;
     *x = (graphic % MORE_PER_LINE) * TILEX;
     *y = (graphic / MORE_PER_LINE) * TILEY;
   }
   else if (graphic >= GFX_START_ROCKSFONT && graphic <= GFX_END_ROCKSFONT)
   {
     graphic -= GFX_START_ROCKSFONT;
-    *bitmap = pix[PIX_FONT_EM];
+    *bitmap = new_graphic_info[IMG_OLD_PIX_FONT_EM].bitmap;
     *x = (graphic % FONT_CHARS_PER_LINE) * TILEX;
     *y = (graphic / FONT_CHARS_PER_LINE) * TILEY;
   }
   else
   {
-    *bitmap = pix[PIX_SP];
+    *bitmap = new_graphic_info[IMG_OLD_PIX_SP].bitmap;
     *x = 0;
     *y = 0;
   }
 }
 #endif
 
+void getGraphicSource(int graphic, int frame, Bitmap **bitmap, int *x, int *y)
+{
+  Bitmap *src_bitmap = new_graphic_info[graphic].bitmap;
+  int offset_x = new_graphic_info[graphic].offset_x;
+  int offset_y = new_graphic_info[graphic].offset_y;
+  int src_x = new_graphic_info[graphic].src_x + frame * offset_x;
+  int src_y = new_graphic_info[graphic].src_y + frame * offset_y;
+
+  *bitmap = src_bitmap;
+  *x = src_x;
+  *y = src_y;
+}
+
 void DrawGraphic(int x, int y, int graphic, int frame)
 {
 #if DEBUG
@@ -909,6 +922,7 @@ void DrawGraphic(int x, int y, int graphic, int frame)
   MarkTileDirty(x, y);
 }
 
+#if 1
 void DrawOldGraphicExt(DrawBuffer *dst_bitmap, int x, int y, int graphic)
 {
   Bitmap *src_bitmap;
@@ -917,10 +931,17 @@ void DrawOldGraphicExt(DrawBuffer *dst_bitmap, int x, int y, int graphic)
   getOldGraphicSource(graphic, &src_bitmap, &src_x, &src_y);
   BlitBitmap(src_bitmap, dst_bitmap, src_x, src_y, TILEX, TILEY, x, y);
 }
+#endif
 
 void DrawGraphicExt(DrawBuffer *dst_bitmap, int x, int y, int graphic,
                    int frame)
 {
+#if 1
+  Bitmap *src_bitmap;
+  int src_x, src_y;
+
+  getGraphicSource(graphic, frame, &src_bitmap, &src_x, &src_y);
+#else
   Bitmap *src_bitmap = new_graphic_info[graphic].bitmap;
   int src_x = new_graphic_info[graphic].src_x;
   int src_y = new_graphic_info[graphic].src_y;
@@ -929,6 +950,7 @@ void DrawGraphicExt(DrawBuffer *dst_bitmap, int x, int y, int graphic,
 
   src_x += frame * offset_x;
   src_y += frame * offset_y;
+#endif
 
   BlitBitmap(src_bitmap, dst_bitmap, src_x, src_y, TILEX, TILEY, x, y);
 }
@@ -952,8 +974,16 @@ void DrawGraphicThruMask(int x, int y, int graphic, int frame)
 void DrawGraphicThruMaskExt(DrawBuffer *d, int dest_x, int dest_y, int graphic,
                            int frame)
 {
-  Bitmap *src_bitmap = new_graphic_info[graphic].bitmap;
+#if 1
+  Bitmap *src_bitmap;
+  int src_x, src_y;
+  GC drawing_gc;
+
+  getGraphicSource(graphic, frame, &src_bitmap, &src_x, &src_y);
+  drawing_gc = src_bitmap->stored_clip_gc;
+#else
   GC drawing_gc = src_bitmap->stored_clip_gc;
+  Bitmap *src_bitmap = new_graphic_info[graphic].bitmap;
   int src_x = new_graphic_info[graphic].src_x;
   int src_y = new_graphic_info[graphic].src_y;
   int offset_x = new_graphic_info[graphic].offset_x;
@@ -962,6 +992,8 @@ void DrawGraphicThruMaskExt(DrawBuffer *d, int dest_x, int dest_y, int graphic,
   src_x += frame * offset_x;
   src_y += frame * offset_y;
 
+#endif
+
   SetClipOrigin(src_bitmap, drawing_gc, dest_x - src_x, dest_y - src_y);
   BlitBitmapMasked(src_bitmap, d, src_x, src_y, TILEX, TILEY, dest_x, dest_y);
 }
@@ -2902,30 +2934,15 @@ int el2gfx(int element)
 
 int el2img(int element)
 {
-#if 1
-  int graphic_NEW = element_info[element].graphic[GFX_ACTION_DEFAULT];
+  int graphic = element_info[element].graphic[GFX_ACTION_DEFAULT];
 
 #if DEBUG
-  if (graphic_NEW < 0)
+  if (graphic < 0)
     Error(ERR_WARN, "element %d -> graphic %d -- probably crashing now...",
-         element, graphic_NEW);
+         element, graphic);
 #endif
 
-  return graphic_NEW;
-#else
-
-  switch(element)
-  {
-    case EL_BD_BUTTERFLY:      return IMG_BD_BUTTERFLY;
-    case EL_BD_FIREFLY:                return IMG_BD_FIREFLY;
-    case EL_SP_ELECTRON:       return IMG_SP_ELECTRON;
-
-    default:
-      break;
-  }
-
-  return IMG_EMPTY;
-#endif
+  return graphic;
 }
 
 int el_dir2img(int element, int direction)
index 5f188c47fa39bc3b81f61611896f9d387f88502f..d4fdb2693b0788c3086b7f0c014805f3df0bba46 100644 (file)
@@ -72,6 +72,7 @@ void DrawPlayerField(int, int);
 void DrawPlayer(struct PlayerInfo *);
 int getGraphicAnimationFrame(int, int);
 void DrawGraphicAnimation(int, int, int);
+void getGraphicSource(int, int, Bitmap **, int *, int *);
 void DrawGraphic(int, int, int, int);
 void DrawOldGraphicExt(DrawBuffer *, int, int, int);
 void DrawGraphicExt(DrawBuffer *, int, int, int, int);
@@ -96,6 +97,7 @@ void DrawScreenField(int, int);
 void DrawLevelField(int, int);
 void DrawMiniElement(int, int, int);
 void DrawMiniElementOrWall(int, int, int, int);
+void getMicroGraphicSource(int, Bitmap **, int *, int *);
 void DrawMicroElement(int, int, int);
 void DrawLevel(void);
 void DrawMiniLevel(int, int, int, int);