rnd-20020910-1-src
authorHolger Schemel <info@artsoft.org>
Mon, 9 Sep 2002 23:34:32 +0000 (01:34 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:38:25 +0000 (10:38 +0200)
src/conftime.h
src/init.c
src/main.c
src/main.h
src/tools.c

index faff9ca7191c5605b59f14718b3e3da3541e335b..32c44154cb9cea51bad784ec5693fa1bbc6630f8 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2002-09-08 15:35]"
+#define COMPILE_DATE_STRING "[2002-09-10 00:35]"
index 2f19f9495b280a3d0f111e8e0caae5ea5563d070..67e8a6fc9ee3a220a0524dcc7c6fb2d2de15e042 100644 (file)
@@ -858,9 +858,6 @@ static void InitGraphicInfo()
 
   image_files = getCurrentImageList();
 
-  printf("D> %d\n", image_files[GFX_BD_DIAMOND].parameter[GFXARG_NUM_FRAMES]);
-  printf("W> %d\n", image_files[GFX_ROBOT_WHEEL].parameter[GFXARG_NUM_FRAMES]);
-
   for(i=0; i<MAX_GRAPHICS; i++)
   {
     /* always start with reliable default values */
@@ -875,7 +872,11 @@ static void InitGraphicInfo()
                     &graphic_info[i].src_x, &graphic_info[i].src_y);
   }
 
-#if 1
+#if 0
+
+  printf("D> %d\n", image_files[GFX_BD_DIAMOND].parameter[GFXARG_NUM_FRAMES]);
+  printf("W> %d\n", image_files[GFX_ROBOT_WHEEL].parameter[GFXARG_NUM_FRAMES]);
+
   graphic_info[GFX_ABLENK].bitmap = getBitmapFromImageID(GFX_ROBOT_WHEEL);
   graphic_info[GFX_ABLENK].src_x = 0;
   graphic_info[GFX_ABLENK].src_y = 0;
index 713b6a9b33157ff128369130f05157cc443be1d9..477ff2420358b16a96c63245542e40e65d16a74c 100644 (file)
@@ -138,9 +138,14 @@ char *sound_name[NUM_SOUNDS] =
 
 struct ConfigInfo image_config_suffix[] =
 {
-  { ".frame_xpos",                     "0"                     },
-  { ".frame_ypos",                     "0"                     },
-  { ".num_frames",                     "1"                     },
+  { ".xpos",                           "0"                     },
+  { ".ypos",                           "0"                     },
+  { ".frames",                         "1"                     },
+  { ".delay",                          "0"                     },
+  { ".pingpong",                       "0"                     },
+  { ".pingpong2",                      "0"                     },
+  { ".reverse",                                "0"                     },
+  { ".vertical",                       "0"                     },
 
   { NULL,                              NULL                    }
 };
@@ -152,13 +157,2009 @@ struct ConfigInfo sound_config_suffix[] =
 
 struct ConfigInfo image_config[] =
 {
-  /* graphics for Boulder Dash style elements and actions */
+  /* images for Emerald Mine style elements and actions */
+  { "empty_space",                             "RocksElements.pcx"     },
+  { "empty_space.xpos",                                "7"                     },
+  { "empty_space.ypos",                                "10"                    },
+  { "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"                     },
+
+  { "quicksand_empty",                         "RocksElements.pcx"     },
+  { "quicksand_empty.xpos",                    "2"                     },
+  { "quicksand_empty.ypos",                    "0"                     },
+  { "quicksand_empty.frames",                  "1"                     },
+  { "quicksand_full",                          "RocksElements.pcx"     },
+  { "quicksand_full.xpos",                     "3"                     },
+  { "quicksand_full.ypos",                     "0"                     },
+  { "quicksand_full.frames",                   "1"                     },
+
+  { "steelwall",                               "RocksElements.pcx"     },
+  { "steelwall.xpos",                          "4"                     },
+  { "steelwall.ypos",                          "0"                     },
+  { "steelwall.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"                     },
+
+  { "emerald",                                 "RocksElements.pcx"     },
+  { "emerald.xpos",                            "8"                     },
+  { "emerald.ypos",                            "0"                     },
+  { "emerald.frames",                          "1"                     },
+  { "emerald.falling",                         "RocksElements.pcx"     },
+  { "emerald.falling.xpos",                    "8"                     },
+  { "emerald.falling.ypos",                    "0"                     },
+  { "emerald.falling.frames",                  "2"                     },
+
+  { "diamond",                                 "RocksElements.pcx"     },
+  { "diamond.xpos",                            "10"                    },
+  { "diamond.ypos",                            "0"                     },
+  { "diamond.frames",                          "1"                     },
+  { "diamond.falling",                         "RocksElements.pcx"     },
+  { "diamond.falling.xpos",                    "10"                    },
+  { "diamond.falling.ypos",                    "0"                     },
+  { "diamond.falling.frames",                  "2"                     },
+
+  { "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.pushing",                            "RocksElements.pcx"     },
+  { "rock.pushing.xpos",                       "12"                    },
+  { "rock.pushing.ypos",                       "0"                     },
+  { "rock.pushing.frames",                     "4"                     },
+
+  { "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"                     },
+
+  { "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"                     },
+
+  { "gameoflife",                              "RocksElements.pcx"     },
+  { "gameoflife.xpos",                         "8"                     },
+  { "gameoflife.ypos",                         "1"                     },
+  { "gameoflife.frames",                       "1"                     },
+
+  { "biomaze",                                 "RocksElements.pcx"     },
+  { "biomaze.xpos",                            "9"                     },
+  { "biomaze.ypos",                            "1"                     },
+  { "biomaze.frames",                          "1"                     },
+
+  { "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"                     },
+
+  { "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"                     },
+
+  { "dynamite",                                        "RocksElements.pcx"     },
+  { "dynamite.xpos",                           "0"                     },
+  { "dynamite.ypos",                           "3"                     },
+  { "dynamite.frames",                         "1"                     },
+  { "dynamite.burning",                                "RocksElements.pcx"     },
+  { "dynamite.burning.xpos",                   "1"                     },
+  { "dynamite.burning.ypos",                   "3"                     },
+  { "dynamite.burning.frames",                 "7"                     },
+
+  { "spaceship_right",                         "RocksElements.pcx"     },
+  { "spaceship_right.xpos",                    "8"                     },
+  { "spaceship_right.ypos",                    "3"                     },
+  { "spaceship_right.frames",                  "1"                     },
+  { "spaceship_up",                            "RocksElements.pcx"     },
+  { "spaceship_up.xpos",                       "9"                     },
+  { "spaceship_up.ypos",                       "3"                     },
+  { "spaceship_up.frames",                     "1"                     },
+  { "spaceship_left",                          "RocksElements.pcx"     },
+  { "spaceship_left.xpos",                     "10"                    },
+  { "spaceship_left.ypos",                     "3"                     },
+  { "spaceship_left.frames",                   "1"                     },
+  { "spaceship_down",                          "RocksElements.pcx"     },
+  { "spaceship_down.xpos",                     "11"                    },
+  { "spaceship_down.ypos",                     "3"                     },
+  { "spaceship_down.frames",                   "1"                     },
+
+  { "bug_right",                               "RocksElements.pcx"     },
+  { "bug_right.xpos",                          "8"                     },
+  { "bug_right.ypos",                          "4"                     },
+  { "bug_right.frames",                                "1"                     },
+  { "bug_up",                                  "RocksElements.pcx"     },
+  { "bug_up.xpos",                             "9"                     },
+  { "bug_up.ypos",                             "4"                     },
+  { "bug_up.frames",                           "1"                     },
+  { "bug_left",                                        "RocksElements.pcx"     },
+  { "bug_left.xpos",                           "10"                    },
+  { "bug_left.ypos",                           "4"                     },
+  { "bug_left.frames",                         "1"                     },
+  { "bug_down",                                        "RocksElements.pcx"     },
+  { "bug_down.xpos",                           "11"                    },
+  { "bug_down.ypos",                           "4"                     },
+  { "bug_down.frames",                         "1"                     },
+
+  { "pacman_right",                            "RocksElements.pcx"     },
+  { "pacman_right.xpos",                       "8"                     },
+  { "pacman_right.ypos",                       "5"                     },
+  { "pacman_right.frames",                     "1"                     },
+  { "pacman_up",                               "RocksElements.pcx"     },
+  { "pacman_up.xpos",                          "9"                     },
+  { "pacman_up.ypos",                          "5"                     },
+  { "pacman_up.frames",                                "1"                     },
+  { "pacman_left",                             "RocksElements.pcx"     },
+  { "pacman_left.xpos",                                "10"                    },
+  { "pacman_left.ypos",                                "5"                     },
+  { "pacman_left.frames",                      "1"                     },
+  { "pacman_down",                             "RocksElements.pcx"     },
+  { "pacman_down.xpos",                                "11"                    },
+  { "pacman_down.ypos",                                "5"                     },
+  { "pacman_down.frames",                      "1"                     },
+
+  { "explosion",                               "RocksElements.pcx"     },
+  { "explosion.xpos",                          "0"                     },
+  { "explosion.ypos",                          "4"                     },
+  { "explosion.frames",                                "8"                     },
+
+  { "yamyam",                                  "RocksElements.pcx"     },
+  { "yamyam.xpos",                             "0"                     },
+  { "yamyam.ypos",                             "5"                     },
+  { "yamyam.frames",                           "4"                     },
+  { "yamyam.pingpong",                         "1"                     },
+
+  { "robot",                                   "RocksElements.pcx"     },
+  { "robot.xpos",                              "4"                     },
+  { "robot.ypos",                              "5"                     },
+  { "robot.frames",                            "4"                     },
+  { "robot.pingpong",                          "1"                     },
+  { "robot_wheel",                             "RocksElements.pcx"     },
+  { "robot_wheel.xpos",                                "0"                     },
+  { "robot_wheel.ypos",                                "6"                     },
+  { "robot_wheel.frames",                      "4"                     },
+
+  { "amoeba_drop",                             "RocksElements.pcx"     },
+  { "amoeba_drop.xpos",                                "5"                     },
+  { "amoeba_drop.ypos",                                "6"                     },
+  { "amoeba_drop.frames",                      "1"                     },
+  { "amoeba.growing",                          "RocksElements.pcx"     },
+  { "amoeba.growing.xpos",                     "5"                     },
+  { "amoeba.growing.ypos",                     "6"                     },
+  { "amoeba.growing.frames",                   "3"                     },
+  { "amoeba",                                  "RocksElements.pcx"     },
+  { "amoeba.xpos",                             "8"                     },
+  { "amoeba.ypos",                             "6"                     },
+  { "amoeba.frames",                           "4"                     },
+  { "amoeba_dead",                             "RocksElements.pcx"     },
+  { "amoeba_dead.xpos",                                "12"                    },
+  { "amoeba_dead.ypos",                                "6"                     },
+  { "amoeba_dead.frames",                      "4"                     },
+
+  { "lamp_off",                                        "RocksElements.pcx"     },
+  { "lamp_off.xpos",                           "0"                     },
+  { "lamp_off.ypos",                           "7"                     },
+  { "lamp_off.frames",                         "1"                     },
+  { "lamp_on",                                 "RocksElements.pcx"     },
+  { "lamp_on.xpos",                            "1"                     },
+  { "lamp_on.ypos",                            "7"                     },
+  { "lamp_on.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"                     },
+
+  { "bd_amoeba",                               "RocksElements.pcx"     },
+  { "bd_amoeba.xpos",                          "8"                     },
+  { "bd_amoeba.ypos",                          "7"                     },
+  { "bd_amoeba.frames",                                "1"                     },
+
+  { "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"                     },
+
+  { "magic_wall",                              "RocksElements.pcx"     },
+  { "magic_wall.xpos",                         "0"                     },
+  { "magic_wall.ypos",                         "8"                     },
+  { "magic_wall.frames",                       "1"                     },
+  { "magic_wall.running",                      "RocksElements.pcx"     },
+  { "magic_wall.running.xpos",                 "0"                     },
+  { "magic_wall.running.ypos",                 "8"                     },
+  { "magic_wall.running.frames",               "4"                     },
+
+  { "bd_magic_wall",                           "RocksElements.pcx"     },
+  { "bd_magic_wall.xpos",                      "12"                    },
+  { "bd_magic_wall.ypos",                      "10"                    },
+  { "bd_magic_wall.frames",                    "1"                     },
+  { "bd_magic_wall.running",                   "RocksElements.pcx"     },
+  { "bd_magic_wall.running.xpos",              "12"                    },
+  { "bd_magic_wall.running.ypos",              "10"                    },
+  { "bd_magic_wall.running.frames",            "4"                     },
+
+  { "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"                     },
+  { "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_emerald_yellow",                     "RocksElements.pcx"     },
+  { "wall_emerald_yellow.xpos",                        "8"                     },
+  { "wall_emerald_yellow.ypos",                        "8"                     },
+  { "wall_emerald_yellow.frames",              "1"                     },
+  { "wall_bd_diamond",                         "RocksElements.pcx"     },
+  { "wall_bd_diamond.xpos",                    "9"                     },
+  { "wall_bd_diamond.ypos",                    "8"                     },
+  { "wall_bd_diamond.frames",                  "1"                     },
+
+  { "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"                     },
+  { "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"                     },
+
+  { "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"                     },
+
+  { "dynabomb_xl",                             "RocksElements.pcx"     },
+  { "dynabomb_xl.xpos",                                "12"                    },
+  { "dynabomb_xl.ypos",                                "9"                     },
+  { "dynabomb_xl.frames",                      "1"                     },
+
+  { "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"                     },
+
+  { "bd_diamond",                              "RocksElements.pcx"     },
+  { "bd_diamond.xpos",                         "0"                     },
+  { "bd_diamond.ypos",                         "10"                    },
+  { "bd_diamond.frames",                       "4"                     },
+  { "bd_diamond.falling",                      "RocksElements.pcx"     },
+  { "bd_diamond.falling.xpos",                 "3"                     },
+  { "bd_diamond.falling.ypos",                 "10"                    },
+  { "bd_diamond.falling.frames",               "2"                     },
+
+  { "wall.growing_right",                      "RocksElements.pcx"     },
+  { "wall.growing_right.xpos",                 "5"                     },
+  { "wall.growing_right.ypos",                 "10"                    },
+  { "wall.growing_right.frames",               "3"                     },
+  { "wall.growing_left",                       "RocksElements.pcx"     },
+  { "wall.growing_left.xpos",                  "8"                     },
+  { "wall.growing_left.ypos",                  "10"                    },
+  { "wall.growing_left.frames",                        "3"                     },
+
+  { "exit_closed",                             "RocksElements.pcx"     },
+  { "exit_closed.xpos",                                "0"                     },
+  { "exit_closed.ypos",                                "11"                    },
+  { "exit_closed.frames",                      "1"                     },
+  { "exit.opening",                            "RocksElements.pcx"     },
+  { "exit.opening.xpos",                       "1"                     },
+  { "exit.opening.ypos",                       "11"                    },
+  { "exit.opening.frames",                     "4"                     },
+  { "exit_open",                               "RocksElements.pcx"     },
+  { "exit_open.xpos",                          "4"                     },
+  { "exit_open.ypos",                          "11"                    },
+  { "exit_open.frames",                                "4"                     },
+  { "exit_open.pingpong",                      "1"                     },
+
+  { "dark_yamyam",                             "RocksElements.pcx"     },
+  { "dark_yamyam.xpos",                                "8"                     },
+  { "dark_yamyam.ypos",                                "11"                    },
+  { "dark_yamyam.frames",                      "4"                     },
+  { "dark_yamyam.pingpong",                    "1"                     },
+
+  { "dynabomb.burning",                                "RocksElements.pcx"     },
+  { "dynabomb.burning.xpos",                   "12"                    },
+  { "dynabomb.burning.ypos",                   "11"                    },
+  { "dynabomb.burning.frames",                 "4"                     },
+  { "dynabomb.burning.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"                     },
+
+  { "arrow_left",                              "RocksElements.pcx"     },
+  { "arrow_left.xpos",                         "0"                     },
+  { "arrow_left.ypos",                         "12"                    },
+  { "arrow_left.frames",                       "1"                     },
+  { "arrow_right",                             "RocksElements.pcx"     },
+  { "arrow_right.xpos",                                "1"                     },
+  { "arrow_right.ypos",                                "12"                    },
+  { "arrow_right.frames",                      "1"                     },
+  { "arrow_up",                                        "RocksElements.pcx"     },
+  { "arrow_up.xpos",                           "2"                     },
+  { "arrow_up.ypos",                           "12"                    },
+  { "arrow_up.frames",                         "1"                     },
+  { "arrow_down",                              "RocksElements.pcx"     },
+  { "arrow_down.xpos",                         "3"                     },
+  { "arrow_down.ypos",                         "12"                    },
+  { "arrow_down.frames",                       "1"                     },
+
+  { "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_butterfly.moving",                     "RocksElements.pcx"     },
+  { "bd_butterfly.moving.xpos",                        "4"                     },
+  { "bd_butterfly.moving.ypos",                        "12"                    },
+  { "bd_butterfly.moving.frames",              "2"                     },
+  { "bd_butterfly.moving.pingpong",            "1"                     },
+
+  { "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"                     },
+  { "bd_firefly.moving",                       "RocksElements.pcx"     },
+  { "bd_firefly.moving.xpos",                  "6"                     },
+  { "bd_firefly.moving.ypos",                  "12"                    },
+  { "bd_firefly.moving.frames",                        "2"                     },
+  { "bd_firefly.moving.pingpong",              "1"                     },
+
+  { "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",               "1"                     },
+  { "steelwall_bottomleft.ypos",               "13"                    },
+  { "steelwall_bottomleft.frames",             "1"                     },
+  { "steelwall_bottomright",                   "RocksElements.pcx"     },
+  { "steelwall_bottomright.xpos",              "1"                     },
+  { "steelwall_bottomright.ypos",              "13"                    },
+  { "steelwall_bottomright.frames",            "1"                     },
+  { "steelwall_horizontal",                    "RocksElements.pcx"     },
+  { "steelwall_horizontal.xpos",               "1"                     },
+  { "steelwall_horizontal.ypos",               "13"                    },
+  { "steelwall_horizontal.frames",             "1"                     },
+
+  { "invisible_steelwall_topleft",             "RocksElements.pcx"     },
+  { "invisible_steelwall_topleft.xpos",                "0"                     },
+  { "invisible_steelwall_topleft.ypos",                "13"                    },
+  { "invisible_steelwall_topleft.frames",      "1"                     },
+  { "invisible_steelwall_topright",            "RocksElements.pcx"     },
+  { "invisible_steelwall_topright.xpos",       "1"                     },
+  { "invisible_steelwall_topright.ypos",       "13"                    },
+  { "invisible_steelwall_topright.frames",     "1"                     },
+  { "invisible_steelwall_bottomleft",          "RocksElements.pcx"     },
+  { "invisible_steelwall_bottomleft.xpos",     "1"                     },
+  { "invisible_steelwall_bottomleft.ypos",     "13"                    },
+  { "invisible_steelwall_bottomleft.frames",   "1"                     },
+  { "invisible_steelwall_bottomright",         "RocksElements.pcx"     },
+  { "invisible_steelwall_bottomright.xpos",    "1"                     },
+  { "invisible_steelwall_bottomright.ypos",    "13"                    },
+  { "invisible_steelwall_bottomright.frames",  "1"                     },
+  { "invisible_steelwall_horizontal",          "RocksElements.pcx"     },
+  { "invisible_steelwall_horizontal.xpos",     "1"                     },
+  { "invisible_steelwall_horizontal.ypos",     "13"                    },
+  { "invisible_steelwall_horizontal.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.digging",                    "RocksHeroes.pcx"       },
+  { "player1_down.digging.xpos",               "0"                     },
+  { "player1_down.digging.ypos",               "0"                     },
+  { "player1_down.digging.frames",             "4"                     },
+  { "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.digging",                      "RocksHeroes.pcx"       },
+  { "player1_up.digging.xpos",                 "4"                     },
+  { "player1_up.digging.ypos",                 "0"                     },
+  { "player1_up.digging.frames",               "4"                     },
+  { "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.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_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.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"                     },
+
+  { "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_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_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_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"                     },
+
+  { "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_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_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_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"                     },
+
+  { "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_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_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",                        "9"                     },
+  { "player4_left.moving.frames",              "4"                     },
+  { "player4_left.digging",                    "RocksHeroes.pcx"       },
+  { "player4_left.digging.xpos",               "0"                     },
+  { "player4_left.digging.ypos",               "9"                     },
+  { "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_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"                     },
+
+  { "wall.growing_down",                       "RocksHeroes.pcx"       },
+  { "wall.growing_down.xpos",                  "0"                     },
+  { "wall.growing_down.ypos",                  "12"                    },
+  { "wall.growing_down.frames",                        "3"                     },
+  { "wall.growing_up",                         "RocksHeroes.pcx"       },
+  { "wall.growing_up.xpos",                    "3"                     },
+  { "wall.growing_up.ypos",                    "12"                    },
+  { "wall.growing_up.frames",                  "3"                     },
+
+  { "shield_passive.activated",                        "RocksHeroes.pcx"       },
+  { "shield_passive.activated.xpos",           "1"                     },
+  { "shield_passive.activated.ypos",           "13"                    },
+  { "shield_passive.activated.frames",         "3"                     },
+  { "shield_passive.activated.pingpong",       "1"                     },
+  { "shield_active.activated",                 "RocksHeroes.pcx"       },
+  { "shield_active.activated.xpos",            "5"                     },
+  { "shield_active.activated.ypos",            "13"                    },
+  { "shield_active.activated.frames",          "3"                     },
+  { "shield_active.activated.pingpong",                "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.eating",                         "RocksHeroes.pcx"       },
+  { "pig_down.eating.xpos",                    "8"                     },
+  { "pig_down.eating.ypos",                    "0"                     },
+  { "pig_down.eating.frames",                  "4"                     },
+  { "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.eating",                           "RocksHeroes.pcx"       },
+  { "pig_up.eating.xpos",                      "12"                    },
+  { "pig_up.eating.ypos",                      "0"                     },
+  { "pig_up.eating.frames",                    "4"                     },
+  { "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.eating",                         "RocksHeroes.pcx"       },
+  { "pig_left.eating.xpos",                    "8"                     },
+  { "pig_left.eating.ypos",                    "1"                     },
+  { "pig_left.eating.frames",                  "4"                     },
+  { "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.eating",                                "RocksHeroes.pcx"       },
+  { "pig_right.eating.xpos",                   "12"                    },
+  { "pig_right.eating.ypos",                   "1"                     },
+  { "pig_right.eating.frames",                 "4"                     },
+
+  { "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.attacking",                   "RocksHeroes.pcx"       },
+  { "dragon_down.attacking.xpos",              "8"                     },
+  { "dragon_down.attacking.ypos",              "2"                     },
+  { "dragon_down.attacking.frames",            "4"                     },
+  { "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.attacking",                     "RocksHeroes.pcx"       },
+  { "dragon_up.attacking.xpos",                        "12"                    },
+  { "dragon_up.attacking.ypos",                        "2"                     },
+  { "dragon_up.attacking.frames",              "4"                     },
+  { "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.attacking",                   "RocksHeroes.pcx"       },
+  { "dragon_left.attacking.xpos",              "8"                     },
+  { "dragon_left.attacking.ypos",              "3"                     },
+  { "dragon_left.attacking.frames",            "4"                     },
+  { "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.attacking",                  "RocksHeroes.pcx"       },
+  { "dragon_right.attacking.xpos",             "12"                    },
+  { "dragon_right.attacking.ypos",             "3"                     },
+  { "dragon_right.attacking.frames",           "4"                     },
+
+  { "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.digging",                       "RocksHeroes.pcx"       },
+  { "mole_down.digging.xpos",                  "8"                     },
+  { "mole_down.digging.ypos",                  "4"                     },
+  { "mole_down.digging.frames",                        "4"                     },
+  { "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.digging",                         "RocksHeroes.pcx"       },
+  { "mole_up.digging.xpos",                    "12"                    },
+  { "mole_up.digging.ypos",                    "4"                     },
+  { "mole_up.digging.frames",                  "4"                     },
+  { "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.digging",                       "RocksHeroes.pcx"       },
+  { "mole_left.digging.xpos",                  "8"                     },
+  { "mole_left.digging.ypos",                  "5"                     },
+  { "mole_left.digging.frames",                        "4"                     },
+  { "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.digging",                      "RocksHeroes.pcx"       },
+  { "mole_right.digging.xpos",                 "12"                    },
+  { "mole_right.digging.ypos",                 "5"                     },
+  { "mole_right.digging.frames",               "4"                     },
+
+  { "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_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_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_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"                     },
+
+  { "satellite",                               "RocksHeroes.pcx"       },
+  { "satellite.xpos",                          "8"                     },
+  { "satellite.ypos",                          "9"                     },
+  { "satellite.frames",                                "1"                     },
+  { "satellite.moving",                                "RocksHeroes.pcx"       },
+  { "satellite.moving.xpos",                   "8"                     },
+  { "satellite.moving.ypos",                   "9"                     },
+  { "satellite.moving.frames",                 "8"                     },
+
+  { "acid.splashing_left",                     "RocksHeroes.pcx"       },
+  { "acid.splashing_left.xpos",                        "8"                     },
+  { "acid.splashing_left.ypos",                        "10"                    },
+  { "acid.splashing_left.frames",              "4"                     },
+  { "acid.splashing_right",                    "RocksHeroes.pcx"       },
+  { "acid.splashing_right.xpos",               "12"                    },
+  { "acid.splashing_right.ypos",               "10"                    },
+  { "acid.splashing_right.frames",             "4"                     },
+
+  { "sparkling_blue",                          "RocksHeroes.pcx"       },
+  { "sparkling_blue.xpos",                     "8"                     },
+  { "sparkling_blue.ypos",                     "11"                    },
+  { "sparkling_blue.frames",                   "3"                     },
+  { "sparkling_blue.pingpong",                 "1"                     },
+  { "sparkling_white",                         "RocksHeroes.pcx"       },
+  { "sparkling_white.xpos",                    "8"                     },
+  { "sparkling_white.ypos",                    "11"                    },
+  { "sparkling_white.frames",                  "3"                     },
+  { "sparkling_white.pingpong",                        "1"                     },
+
+  { "flames_left1",                            "RocksHeroes.pcx"       },
+  { "flames_left1.xpos",                       "8"                     },
+  { "flames_left1.ypos",                       "12"                    },
+  { "flames_left1.frames",                     "2"                     },
+  { "flames_left2",                            "RocksHeroes.pcx"       },
+  { "flames_left2.xpos",                       "9"                     },
+  { "flames_left2.ypos",                       "12"                    },
+  { "flames_left2.frames",                     "2"                     },
+  { "flames_left3",                            "RocksHeroes.pcx"       },
+  { "flames_left3.xpos",                       "10"                    },
+  { "flames_left3.ypos",                       "12"                    },
+  { "flames_left3.frames",                     "2"                     },
+
+  { "flames_right1",                           "RocksHeroes.pcx"       },
+  { "flames_right1.xpos",                      "8"                     },
+  { "flames_right1.ypos",                      "13"                    },
+  { "flames_right1.frames",                    "2"                     },
+  { "flames_right2",                           "RocksHeroes.pcx"       },
+  { "flames_right2.xpos",                      "9"                     },
+  { "flames_right2.ypos",                      "13"                    },
+  { "flames_right2.frames",                    "2"                     },
+  { "flames_right3",                           "RocksHeroes.pcx"       },
+  { "flames_right3.xpos",                      "10"                    },
+  { "flames_right3.ypos",                      "13"                    },
+  { "flames_right3.frames",                    "2"                     },
+
+  { "flames_up1",                              "RocksHeroes.pcx"       },
+  { "flames_up1.xpos",                         "8"                     },
+  { "flames_up1.ypos",                         "14"                    },
+  { "flames_up1.frames",                       "2"                     },
+  { "flames_up2",                              "RocksHeroes.pcx"       },
+  { "flames_up2.xpos",                         "9"                     },
+  { "flames_up2.ypos",                         "14"                    },
+  { "flames_up2.frames",                       "2"                     },
+  { "flames_up3",                              "RocksHeroes.pcx"       },
+  { "flames_up3.xpos",                         "10"                    },
+  { "flames_up3.ypos",                         "14"                    },
+  { "flames_up3.frames",                       "2"                     },
+
+  { "flames_down1",                            "RocksHeroes.pcx"       },
+  { "flames_down1.xpos",                       "8"                     },
+  { "flames_down1.ypos",                       "15"                    },
+  { "flames_down1.frames",                     "2"                     },
+  { "flames_down2",                            "RocksHeroes.pcx"       },
+  { "flames_down2.xpos",                       "9"                     },
+  { "flames_down2.ypos",                       "15"                    },
+  { "flames_down2.frames",                     "2"                     },
+  { "flames_down3",                            "RocksHeroes.pcx"       },
+  { "flames_down3.xpos",                       "10"                    },
+  { "flames_down3.ypos",                       "15"                    },
+  { "flames_down3.frames",                     "2"                     },
+
+  { "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.pushing",                         "RocksSP.pcx"           },
+  { "sp_zonk.pushing.xpos",                    "0"                     },
+  { "sp_zonk.pushing.ypos",                    "6"                     },
+  { "sp_zonk.pushing.frames",                  "4"                     },
+
+  { "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.pingpong",          "1"                     },
+  { "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.pingpong",         "1"                     },
+  { "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.pingpong",         "1"                     },
+  { "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.pingpong",                "1"                     },
+  { "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",                 "1"                     },
+  { "sp_sniksnak_left.moving",                 "RocksSP.pcx"           },
+  { "sp_sniksnak_left.moving.xpos",            "8"                     },
+  { "sp_sniksnak_left.moving.ypos",            "8"                     },
+  { "sp_sniksnak_left.moving.frames",          "4"                     },
+  { "sp_sniksnak_left.moving.pingpong",                "1"                     },
+  { "sp_sniksnak_right",                       "RocksSP.pcx"           },
+  { "sp_sniksnak_right.xpos",                  "12"                    },
+  { "sp_sniksnak_right.ypos",                  "8"                     },
+  { "sp_sniksnak_right.frames",                        "1"                     },
+  { "sp_sniksnak_right.moving",                        "RocksSP.pcx"           },
+  { "sp_sniksnak_right.moving.xpos",           "12"                    },
+  { "sp_sniksnak_right.moving.ypos",           "8"                     },
+  { "sp_sniksnak_right.moving.frames",         "4"                     },
+  { "sp_sniksnak_right.moving.pingpong",       "1"                     },
+  { "sp_sniksnak_up",                          "RocksSP.pcx"           },
+  { "sp_sniksnak_up.xpos",                     "8"                     },
+  { "sp_sniksnak_up.ypos",                     "9"                     },
+  { "sp_sniksnak_up.frames",                   "1"                     },
+  { "sp_sniksnak_up.moving",                   "RocksSP.pcx"           },
+  { "sp_sniksnak_up.moving.xpos",              "8"                     },
+  { "sp_sniksnak_up.moving.ypos",              "9"                     },
+  { "sp_sniksnak_up.moving.frames",            "4"                     },
+  { "sp_sniksnak_up.moving.pingpong",          "1"                     },
+  { "sp_sniksnak_down",                                "RocksSP.pcx"           },
+  { "sp_sniksnak_down.xpos",                   "12"                    },
+  { "sp_sniksnak_down.ypos",                   "9"                     },
+  { "sp_sniksnak_down.frames",                 "1"                     },
+  { "sp_sniksnak_down.moving",                 "RocksSP.pcx"           },
+  { "sp_sniksnak_down.moving.xpos",            "12"                    },
+  { "sp_sniksnak_down.moving.ypos",            "9"                     },
+  { "sp_sniksnak_down.moving.frames",          "4"                     },
+  { "sp_sniksnak_down.moving.pingpong",                "1"                     },
+
+  { "sp_electron",                             "RocksSP.pcx"           },
+  { "sp_electron.xpos",                                "0"                     },
+  { "sp_electron.ypos",                                "3"                     },
+  { "sp_electron.frames",                      "1"                     },
+  { "sp_electron.moving",                      "RocksSP.pcx"           },
+  { "sp_electron.moving.xpos",                 "8"                     },
+  { "sp_electron.moving.ypos",                 "10"                    },
+  { "sp_electron.moving.frames",               "8"                     },
+
+  { "sp_terminal",                             "RocksSP.pcx"           },
+  { "sp_terminal.xpos",                                "3"                     },
+  { "sp_terminal.ypos",                                "2"                     },
+  { "sp_terminal.frames",                      "1"                     },
+  { "sp_terminal.running",                     "RocksSP.pcx"           },
+  { "sp_terminal.running.xpos",                        "8"                     },
+  { "sp_terminal.running.ypos",                        "11"                    },
+  { "sp_terminal.running.frames",              "7"                     },
+  { "sp_terminal_active",                      "RocksSP.pcx"           },
+  { "sp_terminal_active.xpos",                 "8"                     },
+  { "sp_terminal_active.ypos",                 "12"                    },
+  { "sp_terminal_active.frames",               "1"                     },
+  { "sp_terminal_active.running",              "RocksSP.pcx"           },
+  { "sp_terminal_active.running.xpos",         "8"                     },
+  { "sp_terminal_active.running.ypos",         "12"                    },
+  { "sp_terminal_active.running.frames",       "7"                     },
+
+  { "sp_buggy_base",                           "RocksSP.pcx"           },
+  { "sp_buggy_base.xpos",                      "1"                     },
+  { "sp_buggy_base.ypos",                      "3"                     },
+  { "sp_buggy_base.frames",                    "1"                     },
+  { "sp_buggy_base.activating",                        "RocksSP.pcx"           },
+  { "sp_buggy_base.activating.xpos",           "8"                     },
+  { "sp_buggy_base.activating.ypos",           "6"                     },
+  { "sp_buggy_base.activating.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"                     },
+
+  { "invisible_steelwall",                     "RocksSP.pcx"           },
+  { "invisible_steelwall.xpos",                        "3"                     },
+  { "invisible_steelwall.ypos",                        "5"                     },
+  { "invisible_steelwall.frames",              "1"                     },
+  { "invisible_steelwall_on",                  "RocksSP.pcx"           },
+  { "invisible_steelwall_on.xpos",             "1"                     },
+  { "invisible_steelwall_on.ypos",             "5"                     },
+  { "invisible_steelwall_on.frames",           "1"                     },
+
+  { "invisible_sand",                          "RocksSP.pcx"           },
+  { "invisible_sand.xpos",                     "6"                     },
+  { "invisible_sand.ypos",                     "5"                     },
+  { "invisible_sand.frames",                   "1"                     },
+  { "invisible_sand_on",                       "RocksSP.pcx"           },
+  { "invisible_sand_on.xpos",                  "2"                     },
+  { "invisible_sand_on.ypos",                  "5"                     },
+  { "invisible_sand_on.frames",                        "1"                     },
+
+  { "invisible_wall",                          "RocksSP.pcx"           },
+  { "invisible_wall.xpos",                     "7"                     },
+  { "invisible_wall.ypos",                     "5"                     },
+  { "invisible_wall.frames",                   "1"                     },
+  { "invisible_wall_on",                       "RocksSP.pcx"           },
+  { "invisible_wall_on.xpos",                  "5"                     },
+  { "invisible_wall_on.ypos",                  "5"                     },
+  { "invisible_wall_on.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"                     },
+
+  { "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"                     },
+
+  { "conveyor_belt1_middle",                   "RocksDC.pcx"           },
+  { "conveyor_belt1_middle.xpos",              "0"                     },
+  { "conveyor_belt1_middle.ypos",              "0"                     },
+  { "conveyor_belt1_middle.frames",            "1"                     },
+  { "conveyor_belt1_middle.running",           "RocksDC.pcx"           },
+  { "conveyor_belt1_middle.running.xpos",      "0"                     },
+  { "conveyor_belt1_middle.running.ypos",      "0"                     },
+  { "conveyor_belt1_middle.running.frames",    "8"                     },
+  { "conveyor_belt1_left",                     "RocksDC.pcx"           },
+  { "conveyor_belt1_left.xpos",                        "0"                     },
+  { "conveyor_belt1_left.ypos",                        "1"                     },
+  { "conveyor_belt1_left.frames",              "1"                     },
+  { "conveyor_belt1_left.running",             "RocksDC.pcx"           },
+  { "conveyor_belt1_left.running.xpos",                "0"                     },
+  { "conveyor_belt1_left.running.ypos",                "1"                     },
+  { "conveyor_belt1_left.running.frames",      "8"                     },
+  { "conveyor_belt1_right",                    "RocksDC.pcx"           },
+  { "conveyor_belt1_right.xpos",               "0"                     },
+  { "conveyor_belt1_right.ypos",               "2"                     },
+  { "conveyor_belt1_right.frames",             "1"                     },
+  { "conveyor_belt1_right.running",            "RocksDC.pcx"           },
+  { "conveyor_belt1_right.running.xpos",       "0"                     },
+  { "conveyor_belt1_right.running.ypos",       "2"                     },
+  { "conveyor_belt1_right.running.frames",     "8"                     },
+  { "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.running",           "RocksDC.pcx"           },
+  { "conveyor_belt2_middle.running.xpos",      "0"                     },
+  { "conveyor_belt2_middle.running.ypos",      "3"                     },
+  { "conveyor_belt2_middle.running.frames",    "8"                     },
+  { "conveyor_belt2_left",                     "RocksDC.pcx"           },
+  { "conveyor_belt2_left.xpos",                        "0"                     },
+  { "conveyor_belt2_left.ypos",                        "4"                     },
+  { "conveyor_belt2_left.frames",              "1"                     },
+  { "conveyor_belt2_left.running",             "RocksDC.pcx"           },
+  { "conveyor_belt2_left.running.xpos",                "0"                     },
+  { "conveyor_belt2_left.running.ypos",                "4"                     },
+  { "conveyor_belt2_left.running.frames",      "8"                     },
+  { "conveyor_belt2_right",                    "RocksDC.pcx"           },
+  { "conveyor_belt2_right.xpos",               "0"                     },
+  { "conveyor_belt2_right.ypos",               "5"                     },
+  { "conveyor_belt2_right.frames",             "1"                     },
+  { "conveyor_belt2_right.running",            "RocksDC.pcx"           },
+  { "conveyor_belt2_right.running.xpos",       "0"                     },
+  { "conveyor_belt2_right.running.ypos",       "5"                     },
+  { "conveyor_belt2_right.running.frames",     "8"                     },
+  { "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.running",           "RocksDC.pcx"           },
+  { "conveyor_belt3_middle.running.xpos",      "0"                     },
+  { "conveyor_belt3_middle.running.ypos",      "6"                     },
+  { "conveyor_belt3_middle.running.frames",    "8"                     },
+  { "conveyor_belt3_left",                     "RocksDC.pcx"           },
+  { "conveyor_belt3_left.xpos",                        "0"                     },
+  { "conveyor_belt3_left.ypos",                        "7"                     },
+  { "conveyor_belt3_left.frames",              "1"                     },
+  { "conveyor_belt3_left.running",             "RocksDC.pcx"           },
+  { "conveyor_belt3_left.running.xpos",                "0"                     },
+  { "conveyor_belt3_left.running.ypos",                "7"                     },
+  { "conveyor_belt3_left.running.frames",      "8"                     },
+  { "conveyor_belt3_right",                    "RocksDC.pcx"           },
+  { "conveyor_belt3_right.xpos",               "0"                     },
+  { "conveyor_belt3_right.ypos",               "8"                     },
+  { "conveyor_belt3_right.frames",             "1"                     },
+  { "conveyor_belt3_right.running",            "RocksDC.pcx"           },
+  { "conveyor_belt3_right.running.xpos",       "0"                     },
+  { "conveyor_belt3_right.running.ypos",       "8"                     },
+  { "conveyor_belt3_right.running.frames",     "8"                     },
+  { "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.running",           "RocksDC.pcx"           },
+  { "conveyor_belt4_middle.running.xpos",      "0"                     },
+  { "conveyor_belt4_middle.running.ypos",      "9"                     },
+  { "conveyor_belt4_middle.running.frames",    "8"                     },
+  { "conveyor_belt4_left",                     "RocksDC.pcx"           },
+  { "conveyor_belt4_left.xpos",                        "0"                     },
+  { "conveyor_belt4_left.ypos",                        "10"                    },
+  { "conveyor_belt4_left.frames",              "1"                     },
+  { "conveyor_belt4_left.running",             "RocksDC.pcx"           },
+  { "conveyor_belt4_left.running.xpos",                "0"                     },
+  { "conveyor_belt4_left.running.ypos",                "10"                    },
+  { "conveyor_belt4_left.running.frames",      "8"                     },
+  { "conveyor_belt4_right",                    "RocksDC.pcx"           },
+  { "conveyor_belt4_right.xpos",               "0"                     },
+  { "conveyor_belt4_right.ypos",               "11"                    },
+  { "conveyor_belt4_right.frames",             "1"                     },
+  { "conveyor_belt4_right.running",            "RocksDC.pcx"           },
+  { "conveyor_belt4_right.running.xpos",       "0"                     },
+  { "conveyor_belt4_right.running.ypos",       "11"                    },
+  { "conveyor_belt4_right.running.frames",     "8"                     },
+  { "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_off",                                "RocksDC.pcx"           },
+  { "light_switch_off.xpos",                   "6"                     },
+  { "light_switch_off.ypos",                   "12"                    },
+  { "light_switch_off.frames",                 "1"                     },
+  { "light_switch_on",                         "RocksDC.pcx"           },
+  { "light_switch_on.xpos",                    "7"                     },
+  { "light_switch_on.ypos",                    "12"                    },
+  { "light_switch_on.frames",                  "1"                     },
+
+  { "timegate_wheel",                          "RocksDC.pcx"           },
+  { "timegate_wheel.xpos",                     "0"                     },
+  { "timegate_wheel.ypos",                     "15"                    },
+  { "timegate_wheel.frames",                   "1"                     },
+  { "timegate_wheel.running",                  "RocksDC.pcx"           },
+  { "timegate_wheel.running.xpos",             "0"                     },
+  { "timegate_wheel.running.ypos",             "15"                    },
+  { "timegate_wheel.running.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"                     },
+
+  { "shield_active",                           "RocksDC.pcx"           },
+  { "shield_active.xpos",                      "8"                     },
+  { "shield_active.ypos",                      "1"                     },
+  { "shield_active.frames",                    "6"                     },
+
+  { "shield_passive",                          "RocksDC.pcx"           },
+  { "shield_passive.xpos",                     "8"                     },
+  { "shield_passive.ypos",                     "2"                     },
+  { "shield_passive.frames",                   "6"                     },
+
+  { "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_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.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_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.reverse",                        "1"                     },
+
+  { "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.pingpong",                 "1"                     },
+
+  { "balloon_windrose_left",                   "RocksDC.pcx"           },
+  { "balloon_windrose_left.xpos",              "8"                     },
+  { "balloon_windrose_left.ypos",              "7"                     },
+  { "balloon_windrose_left.frames",            "1"                     },
+  { "balloon_windrose_right",                  "RocksDC.pcx"           },
+  { "balloon_windrose_right.xpos",             "9"                     },
+  { "balloon_windrose_right.ypos",             "7"                     },
+  { "balloon_windrose_right.frames",           "1"                     },
+  { "balloon_windrose_up",                     "RocksDC.pcx"           },
+  { "balloon_windrose_up.xpos",                        "10"                    },
+  { "balloon_windrose_up.ypos",                        "7"                     },
+  { "balloon_windrose_up.frames",              "1"                     },
+  { "balloon_windrose_down",                   "RocksDC.pcx"           },
+  { "balloon_windrose_down.xpos",              "11"                    },
+  { "balloon_windrose_down.ypos",              "7"                     },
+  { "balloon_windrose_down.frames",            "1"                     },
+  { "balloon_windrose_all",                    "RocksDC.pcx"           },
+  { "balloon_windrose_all.xpos",               "7"                     },
+  { "balloon_windrose_all.ypos",               "0"                     },
+  { "balloon_windrose_all.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"                     },
+
+  { "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"                     },
+
+  { "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"                     },
+
+  { "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"                     },
+
+  { "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"                     },
+
+  { "spring",                                  "RocksMore.pcx"         },
+  { "spring.xpos",                             "0"                     },
+  { "spring.ypos",                             "5"                     },
+  { "spring.frames",                           "1"                     },
+
+  { "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_inactive",                           "RocksMore.pcx"         },
+  { "trap_inactive.xpos",                      "4"                     },
+  { "trap_inactive.ypos",                      "0"                     },
+  { "trap_inactive.frames",                    "1"                     },
+  { "trap_active",                             "RocksMore.pcx"         },
+  { "trap_active.xpos",                                "7"                     },
+  { "trap_active.ypos",                                "0"                     },
+  { "trap_active.frames",                      "1"                     },
+  { "trap.activating",                         "RocksMore.pcx"         },
+  { "trap.activating.xpos",                    "4"                     },
+  { "trap.activating.ypos",                    "0"                     },
+  { "trap.activating.frames",                  "4"                     },
+
+  { "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.pushing",                         "RocksMore.pcx"         },
+  { "bd_rock.pushing.xpos",                    "4"                     },
+  { "bd_rock.pushing.ypos",                    "2"                     },
+  { "bd_rock.pushing.frames",                  "4"                     },
+
+  { "dx_bomb",                                 "RocksMore.pcx"         },
+  { "dx_bomb.xpos",                            "7"                     },
+  { "dx_bomb.ypos",                            "1"                     },
+  { "dx_bomb.frames",                          "1"                     },
+
+#if 0
+  { "",                                "RocksMore.pcx"         },
+  { ".xpos",                   ""                      },
+  { ".ypos",                   ""                      },
+  { ".frames",                 ""                      },
+#endif
+
+#if 0
+  /* images for Boulder Dash style elements and actions */
   { "bd_diamond",                      "bd_diamond.pcx"        },
   { "bd_diamond.frame_xpos",           "0"                     },
   { "bd_diamond.num_frames",           "1"                     },
   { "robot_wheel",                     "bd_diamond.pcx"        },
   { "robot_wheel.frame_xpos",          "0"                     },
   { "robot_wheel.num_frames",          "4"                     },
+#endif
 
   { NULL,                              NULL                    }
 };
index c8f30b68872f75ec6f4d31b97f65c3d99afb5507..ddd7034b4b837d09a5d4037a71a9b45279c8e6ea 100644 (file)
@@ -1460,15 +1460,477 @@ extern struct FileInfo        *image_files, *sound_files;
 
 
 /* values for image configuration suffixes */
-#define GFXARG_FRAME_XPOS                      0
-#define GFXARG_FRAME_YPOS                      1
-#define GFXARG_NUM_FRAMES                      2
+#define GFXARG_XPOS                            0
+#define GFXARG_YPOS                            1
+#define GFXARG_FRAMES                          2
+#define GFXARG_DELAY                           3
+#define GFXARG_PINGPONG                                4
+#define GFXARG_PINGPONG2                       5
+#define GFXARG_REVERSE                         6
+#define GFXARG_VERTICAL                                7
 
 /* values for image configuration */
-#define GFX_BD_DIAMOND                         0
-#define GFX_ROBOT_WHEEL                                1
-
-#define NUM_IMAGE_FILES                                2
+#if 0
+#define GFX_EMPTY_SPACE                                0
+#define GFX_SAND                               1
+#define GFX_SAND_CRUMBLED                      2
+#define GFX_QUICKSAND_EMPTY                    3
+#define GFX_QUICKSAND_FULL                     4
+#define GFX_STEELWALL                          5
+#define GFX_WALL                               6
+#define GFX_WALL_CRUMBLED                      7
+#define GFX_EMERALD                            8
+#define GFX_EMERALD_FALLING                    9
+#define GFX_DIAMOND                            10
+#define GFX_DIAMOND_FALLING                    11
+#define GFX_ROCK                               12
+#define GFX_ROCK_FALLING                       13
+#define GFX_ROCK_PUSHING                       14
+#define GFX_ACIDPOOL_TOPLEFT                   15
+#define GFX_ACIDPOOL_TOPRIGHT                  16
+#define GFX_ACIDPOOL_BOTTOMLEFT                        17
+#define GFX_ACIDPOOL_BOTTOM                    18
+#define GFX_ACIDPOOL_BOTTOMRIGHT               19
+#define GFX_ACID                               20
+#define GFX_KEY1                               21
+#define GFX_KEY2                               22
+#define GFX_KEY3                               23
+#define GFX_KEY4                               24
+#define GFX_GAMEOFLIFE                         25
+#define GFX_BIOMAZE                            26
+#define GFX_BOMB                               27
+#define GFX_NUT                                        28
+#define GFX_NUT_CRACKING                       29
+#define GFX_GATE1                              30
+#define GFX_GATE2                              31
+#define GFX_GATE3                              32
+#define GFX_GATE4                              33
+#define GFX_GATE1_GRAY                         34
+#define GFX_GATE2_GRAY                         35
+#define GFX_GATE3_GRAY                         36
+#define GFX_GATE4_GRAY                         37
+#define GFX_DYNAMITE                           38
+#define GFX_DYNAMITE_BURNING                   39
+#define GFX_SPACESHIP_RIGHT                    40
+#define GFX_SPACESHIP_UP                       41
+#define GFX_SPACESHIP_LEFT                     42
+#define GFX_SPACESHIP_DOWN                     43
+#define GFX_BUG_RIGHT                          44
+#define GFX_BUG_UP                             45
+#define GFX_BUG_LEFT                           46
+#define GFX_BUG_DOWN                           47
+#define GFX_PACMAN_RIGHT                       48
+#define GFX_PACMAN_UP                          49
+#define GFX_PACMAN_LEFT                                50
+#define GFX_PACMAN_DOWN                                51
+#define GFX_EXPLOSION                          52
+#define GFX_YAMYAM                             53
+#define GFX_ROBOT                              54
+#define GFX_ROBOT_WHEEL                                55
+#define GFX_AMOEBA_DROP                                56
+#define GFX_AMOEBA_GROWING                     57
+#define GFX_AMOEBA                             58
+#define GFX_AMOEBA_DEAD                                59
+#define GFX_LAMP_OFF                           60
+#define GFX_LAMP_ON                            61
+#define GFX_TIME_ORB_FULL                      62
+#define GFX_TIME_ORB_EMPTY                     63
+#define GFX_BD_AMOEBA                          64
+#define GFX_SOKOBAN_OBJECT                     65
+#define GFX_SOKOBAN_FIELD_EMPTY                        66
+#define GFX_SOKOBAN_FIELD_FULL                 67
+#define GFX_MAGIC_WALL                         68
+#define GFX_MAGIC_WALL_RUNNING                 69
+#define GFX_BD_MAGIC_WALL                      70
+#define GFX_BD_MAGIC_WALL_RUNNING              71
+#define GFX_WALL_EMERALD                       72
+#define GFX_WALL_DIAMOND                       73
+#define GFX_WALL_EMERALD_RED                   74
+#define GFX_WALL_EMERALD_PURPLE                        75
+#define GFX_WALL_EMERALD_YELLOW                        76
+#define GFX_WALL_BD_DIAMOND                    77
+#define GFX_EMERALD_RED                                78
+#define GFX_EMERALD_RED_FALLING                        79
+#define GFX_EMERALD_PURPLE                     80
+#define GFX_EMERALD_PURPLE_FALLING             81
+#define GFX_EMERALD_YELLOW                     82
+#define GFX_EMERALD_YELLOW_FALLING             83
+#define GFX_WALL_GROWING_XY                    84
+#define GFX_WALL_GROWING_X                     85
+#define GFX_WALL_GROWING_Y                     86
+#define GFX_DYNABOMB_XL                                87
+#define GFX_BLACK_ORB                          88
+#define GFX_SPEED_PILL                         89
+#define GFX_BD_DIAMOND                         90
+#define GFX_BD_DIAMOND_FALLING                 91
+#define GFX_WALL_GROWING_RIGHT                 92
+#define GFX_WALL_GROWING_LEFT                  93
+#define GFX_EXIT_CLOSED                                94
+#define GFX_EXIT_OPENING                       95
+#define GFX_EXIT_OPEN                          96
+#define GFX_DARK_YAMYAM                                97
+#define GFX_DYNABOMB_BURNING                   98
+#define GFX_DYNABOMB_NR                                99
+#define GFX_DYNABOMB_SZ                                100
+#define GFX_ARROW_LEFT                         101
+#define GFX_ARROW_RIGHT                                102
+#define GFX_ARROW_UP                           103
+#define GFX_ARROW_DOWN                         104
+#define GFX_BD_BUTTERFLY_RIGHT                 105
+#define GFX_BD_BUTTERFLY_UP                    106
+#define GFX_BD_BUTTERFLY_LEFT                  107
+#define GFX_BD_BUTTERFLY_DOWN                  108
+#define GFX_BD_BUTTERFLY_MOVING                        109
+#define GFX_BD_FIREFLY_RIGHT                   110
+#define GFX_BD_FIREFLY_UP                      111
+#define GFX_BD_FIREFLY_LEFT                    112
+#define GFX_BD_FIREFLY_DOWN                    113
+#define GFX_BD_FIREFLY_MOVING                  114
+#define GFX_STEELWALL_TOPLEFT                  115
+#define GFX_STEELWALL_TOPRIGHT                 116
+#define GFX_STEELWALL_BOTTOMLEFT               117
+#define GFX_STEELWALL_BOTTOMRIGHT              118
+#define GFX_STEELWALL_HORIZONTAL               119
+#define GFX_INVISIBLE_STEELWALL_TOPLEFT                120
+#define GFX_INVISIBLE_STEELWALL_TOPRIGHT       121
+#define GFX_INVISIBLE_STEELWALL_BOTTOMLEFT     122
+#define GFX_INVISIBLE_STEELWALL_BOTTOMRIGHT    123
+#define GFX_INVISIBLE_STEELWALL_HORIZONTAL     124
+#define GFX_PLAYER1_DOWN                       125
+#define GFX_PLAYER1_DOWN_MOVING                        126
+#define GFX_PLAYER1_DOWN_DIGGING               127
+#define GFX_PLAYER1_UP                         128
+#define GFX_PLAYER1_UP_MOVING                  129
+#define GFX_PLAYER1_UP_DIGGING                 130
+#define GFX_PLAYER1_LEFT                       131
+#define GFX_PLAYER1_LEFT_MOVING                        132
+#define GFX_PLAYER1_LEFT_DIGGING               133
+#define GFX_PLAYER1_LEFT_PUSHING               134
+#define GFX_PLAYER1_RIGHT                      135
+#define GFX_PLAYER1_RIGHT_MOVING               136
+#define GFX_PLAYER1_RIGHT_DIGGING              137
+#define GFX_PLAYER1_RIGHT_PUSHING              138
+#define GFX_PLAYER2_DOWN                       139
+#define GFX_PLAYER2_DOWN_MOVING                        140
+#define GFX_PLAYER2_DOWN_DIGGING               141
+#define GFX_PLAYER2_UP                         142
+#define GFX_PLAYER2_UP_MOVING                  143
+#define GFX_PLAYER2_UP_DIGGING                 144
+#define GFX_PLAYER2_LEFT                       145
+#define GFX_PLAYER2_LEFT_MOVING                        146
+#define GFX_PLAYER2_LEFT_DIGGING               147
+#define GFX_PLAYER2_LEFT_PUSHING               148
+#define GFX_PLAYER2_RIGHT                      149
+#define GFX_PLAYER2_RIGHT_MOVING               150
+#define GFX_PLAYER2_RIGHT_DIGGING              151
+#define GFX_PLAYER2_RIGHT_PUSHING              152
+#define GFX_PLAYER3_DOWN                       153
+#define GFX_PLAYER3_DOWN_MOVING                        154
+#define GFX_PLAYER3_DOWN_DIGGING               155
+#define GFX_PLAYER3_UP                         156
+#define GFX_PLAYER3_UP_MOVING                  157
+#define GFX_PLAYER3_UP_DIGGING                 158
+#define GFX_PLAYER3_LEFT                       159
+#define GFX_PLAYER3_LEFT_MOVING                        160
+#define GFX_PLAYER3_LEFT_DIGGING               161
+#define GFX_PLAYER3_LEFT_PUSHING               162
+#define GFX_PLAYER3_RIGHT                      163
+#define GFX_PLAYER3_RIGHT_MOVING               164
+#define GFX_PLAYER3_RIGHT_DIGGING              165
+#define GFX_PLAYER3_RIGHT_PUSHING              166
+#define GFX_PLAYER4_DOWN                       167
+#define GFX_PLAYER4_DOWN_MOVING                        168
+#define GFX_PLAYER4_DOWN_DIGGING               169
+#define GFX_PLAYER4_UP                         170
+#define GFX_PLAYER4_UP_MOVING                  171
+#define GFX_PLAYER4_UP_DIGGING                 172
+#define GFX_PLAYER4_LEFT                       173
+#define GFX_PLAYER4_LEFT_MOVING                        174
+#define GFX_PLAYER4_LEFT_DIGGING               175
+#define GFX_PLAYER4_LEFT_PUSHING               176
+#define GFX_PLAYER4_RIGHT                      177
+#define GFX_PLAYER4_RIGHT_MOVING               178
+#define GFX_PLAYER4_RIGHT_DIGGING              179
+#define GFX_PLAYER4_RIGHT_PUSHING              180
+#define GFX_WALL_GROWING_DOWN                  181
+#define GFX_WALL_GROWING_UP                    182
+#define GFX_SHIELD_PASSIVE_ACTIVATED           183
+#define GFX_SHIELD_ACTIVE_ACTIVATED            184
+#define GFX_PIG_DOWN                           185
+#define GFX_PIG_DOWN_MOVING                    186
+#define GFX_PIG_DOWN_EATING                    187
+#define GFX_PIG_UP                             188
+#define GFX_PIG_UP_MOVING                      189
+#define GFX_PIG_UP_EATING                      190
+#define GFX_PIG_LEFT                           191
+#define GFX_PIG_LEFT_MOVING                    192
+#define GFX_PIG_LEFT_EATING                    193
+#define GFX_PIG_RIGHT                          194
+#define GFX_PIG_RIGHT_MOVING                   195
+#define GFX_PIG_RIGHT_EATING                   196
+#define GFX_DRAGON_DOWN                                197
+#define GFX_DRAGON_DOWN_MOVING                 198
+#define GFX_DRAGON_DOWN_ATTACKING              199
+#define GFX_DRAGON_UP                          200
+#define GFX_DRAGON_UP_MOVING                   201
+#define GFX_DRAGON_UP_ATTACKING                        202
+#define GFX_DRAGON_LEFT                                203
+#define GFX_DRAGON_LEFT_MOVING                 204
+#define GFX_DRAGON_LEFT_ATTACKING              205
+#define GFX_DRAGON_RIGHT                       206
+#define GFX_DRAGON_RIGHT_MOVING                        207
+#define GFX_DRAGON_RIGHT_ATTACKING             208
+#define GFX_MOLE_DOWN                          209
+#define GFX_MOLE_DOWN_MOVING                   210
+#define GFX_MOLE_DOWN_DIGGING                  211
+#define GFX_MOLE_UP                            212
+#define GFX_MOLE_UP_MOVING                     213
+#define GFX_MOLE_UP_DIGGING                    214
+#define GFX_MOLE_LEFT                          215
+#define GFX_MOLE_LEFT_MOVING                   216
+#define GFX_MOLE_LEFT_DIGGING                  217
+#define GFX_MOLE_RIGHT                         218
+#define GFX_MOLE_RIGHT_MOVING                  219
+#define GFX_MOLE_RIGHT_DIGGING                 220
+#define GFX_PENGUIN_DOWN                       221
+#define GFX_PENGUIN_DOWN_MOVING                        222
+#define GFX_PENGUIN_UP                         223
+#define GFX_PENGUIN_UP_MOVING                  224
+#define GFX_PENGUIN_LEFT                       225
+#define GFX_PENGUIN_LEFT_MOVING                        226
+#define GFX_PENGUIN_RIGHT                      227
+#define GFX_PENGUIN_RIGHT_MOVING               228
+#define GFX_SATELLITE                          229
+#define GFX_SATELLITE_MOVING                   230
+#define GFX_ACID_SPLASHING_LEFT                        231
+#define GFX_ACID_SPLASHING_RIGHT               232
+#define GFX_SPARKLING_BLUE                     233
+#define GFX_SPARKLING_WHITE                    234
+#define GFX_FLAMES_LEFT1                       235
+#define GFX_FLAMES_LEFT2                       236
+#define GFX_FLAMES_LEFT3                       237
+#define GFX_FLAMES_RIGHT1                      238
+#define GFX_FLAMES_RIGHT2                      239
+#define GFX_FLAMES_RIGHT3                      240
+#define GFX_FLAMES_UP1                         241
+#define GFX_FLAMES_UP2                         242
+#define GFX_FLAMES_UP3                         243
+#define GFX_FLAMES_DOWN1                       244
+#define GFX_FLAMES_DOWN2                       245
+#define GFX_FLAMES_DOWN3                       246
+#define GFX_SP_EMPTY_SPACE                     247
+#define GFX_SP_ZONK                            248
+#define GFX_SP_ZONK_FALLING                    249
+#define GFX_SP_ZONK_PUSHING                    250
+#define GFX_SP_BASE                            251
+#define GFX_SP_MURPHY                          252
+#define GFX_SP_MURPHY_LEFT                     253
+#define GFX_SP_MURPHY_LEFT_MOVING              254
+#define GFX_SP_MURPHY_LEFT_DIGGING             255
+#define GFX_SP_MURPHY_LEFT_PUSHING             256
+#define GFX_SP_MURPHY_LEFT_SNAPPING            257
+#define GFX_SP_MURPHY_RIGHT                    258
+#define GFX_SP_MURPHY_RIGHT_MOVING             259
+#define GFX_SP_MURPHY_RIGHT_DIGGING            260
+#define GFX_SP_MURPHY_RIGHT_PUSHING            261
+#define GFX_SP_MURPHY_RIGHT_SNAPPING           262
+#define GFX_SP_MURPHY_UP                       263
+#define GFX_SP_MURPHY_UP_SNAPPING              264
+#define GFX_SP_MURPHY_DOWN                     265
+#define GFX_SP_MURPHY_DOWN_SNAPPING            266
+#define GFX_SP_MURPHY_CLONE                    267
+#define GFX_SP_INFOTRON                                268
+#define GFX_SP_INFOTRON_FALLING                        269
+#define GFX_SP_CHIP_SINGLE                     270
+#define GFX_SP_CHIP_LEFT                       271
+#define GFX_SP_CHIP_RIGHT                      272
+#define GFX_SP_CHIP_UPPER                      273
+#define GFX_SP_CHIP_LOWER                      274
+#define GFX_SP_HARD_GRAY                       275
+#define GFX_SP_HARD_GREEN                      276
+#define GFX_SP_HARD_BLUE                       277
+#define GFX_SP_HARD_RED                                278
+#define GFX_SP_HARD_YELLOW                     279
+#define GFX_SP_EXIT_CLOSED                     280
+#define GFX_SP_EXIT_OPEN                       281
+#define GFX_SP_DISK_ORANGE                     282
+#define GFX_SP_DISK_ORANGE_FALLING             283
+#define GFX_SP_DISK_ORANGE_PUSHING             284
+#define GFX_SP_DISK_YELLOW                     285
+#define GFX_SP_DISK_YELLOW_PUSHING             286
+#define GFX_SP_DISK_RED                                287
+#define GFX_SP_DISK_RED_COLLECTING             288
+#define GFX_SP_PORT1_RIGHT                     289
+#define GFX_SP_PORT1_DOWN                      290
+#define GFX_SP_PORT1_LEFT                      291
+#define GFX_SP_PORT1_UP                                292
+#define GFX_SP_PORT2_RIGHT                     293
+#define GFX_SP_PORT2_DOWN                      294
+#define GFX_SP_PORT2_LEFT                      295
+#define GFX_SP_PORT2_UP                                296
+#define GFX_SP_PORT_X                          297
+#define GFX_SP_PORT_Y                          298
+#define GFX_SP_PORT_XY                         299
+#define GFX_SP_SNIKSNAK                                300
+#define GFX_SP_SNIKSNAK_LEFT                   301
+#define GFX_SP_SNIKSNAK_LEFT_MOVING            302
+#define GFX_SP_SNIKSNAK_RIGHT                  303
+#define GFX_SP_SNIKSNAK_RIGHT_MOVING           304
+#define GFX_SP_SNIKSNAK_UP                     305
+#define GFX_SP_SNIKSNAK_UP_MOVING              306
+#define GFX_SP_SNIKSNAK_DOWN                   307
+#define GFX_SP_SNIKSNAK_DOWN_MOVING            308
+#define GFX_SP_ELECTRON                                309
+#define GFX_SP_ELECTRON_MOVING                 310
+#define GFX_SP_TERMINAL                                311
+#define GFX_SP_TERMINAL_RUNNING                        312
+#define GFX_SP_TERMINAL_ACTIVE                 313
+#define GFX_SP_TERMINAL_ACTIVE_RUNNING         314
+#define GFX_SP_BUGGY_BASE                      315
+#define GFX_SP_BUGGY_BASE_ACTIVATING           316
+#define GFX_SP_HARD_BASE1                      317
+#define GFX_SP_HARD_BASE2                      318
+#define GFX_SP_HARD_BASE3                      319
+#define GFX_SP_HARD_BASE4                      320
+#define GFX_SP_HARD_BASE5                      321
+#define GFX_SP_HARD_BASE6                      322
+#define GFX_INVISIBLE_STEELWALL                        323
+#define GFX_INVISIBLE_STEELWALL_ON             324
+#define GFX_INVISIBLE_SAND                     325
+#define GFX_INVISIBLE_SAND_ON                  326
+#define GFX_INVISIBLE_WALL                     327
+#define GFX_INVISIBLE_WALL_ON                  328
+#define GFX_EM_KEY1                            329
+#define GFX_EM_KEY2                            330
+#define GFX_EM_KEY3                            331
+#define GFX_EM_KEY4                            332
+#define GFX_EM_GATE1                           333
+#define GFX_EM_GATE2                           334
+#define GFX_EM_GATE3                           335
+#define GFX_EM_GATE4                           336
+#define GFX_EM_GATE1_GRAY                      337
+#define GFX_EM_GATE2_GRAY                      338
+#define GFX_EM_GATE3_GRAY                      339
+#define GFX_EM_GATE4_GRAY                      340
+#define GFX_SP_EXPLOSION                       341
+#define GFX_SP_EXPLOSION_INFOTRON              342
+#define GFX_CONVEYOR_BELT1_MIDDLE              343
+#define GFX_CONVEYOR_BELT1_MIDDLE_RUNNING      344
+#define GFX_CONVEYOR_BELT1_LEFT                        345
+#define GFX_CONVEYOR_BELT1_LEFT_RUNNING                346
+#define GFX_CONVEYOR_BELT1_RIGHT               347
+#define GFX_CONVEYOR_BELT1_RIGHT_RUNNING       348
+#define GFX_CONVEYOR_BELT1_SWITCH_LEFT         349
+#define GFX_CONVEYOR_BELT1_SWITCH_MIDDLE       350
+#define GFX_CONVEYOR_BELT1_SWITCH_RIGHT                351
+#define GFX_CONVEYOR_BELT2_MIDDLE              352
+#define GFX_CONVEYOR_BELT2_MIDDLE_RUNNING      353
+#define GFX_CONVEYOR_BELT2_LEFT                        354
+#define GFX_CONVEYOR_BELT2_LEFT_RUNNING                355
+#define GFX_CONVEYOR_BELT2_RIGHT               356
+#define GFX_CONVEYOR_BELT2_RIGHT_RUNNING       357
+#define GFX_CONVEYOR_BELT2_SWITCH_LEFT         358
+#define GFX_CONVEYOR_BELT2_SWITCH_MIDDLE       359
+#define GFX_CONVEYOR_BELT2_SWITCH_RIGHT                360
+#define GFX_CONVEYOR_BELT3_MIDDLE              361
+#define GFX_CONVEYOR_BELT3_MIDDLE_RUNNING      362
+#define GFX_CONVEYOR_BELT3_LEFT                        363
+#define GFX_CONVEYOR_BELT3_LEFT_RUNNING                364
+#define GFX_CONVEYOR_BELT3_RIGHT               365
+#define GFX_CONVEYOR_BELT3_RIGHT_RUNNING       366
+#define GFX_CONVEYOR_BELT3_SWITCH_LEFT         367
+#define GFX_CONVEYOR_BELT3_SWITCH_MIDDLE       368
+#define GFX_CONVEYOR_BELT3_SWITCH_RIGHT                369
+#define GFX_CONVEYOR_BELT4_MIDDLE              370
+#define GFX_CONVEYOR_BELT4_MIDDLE_RUNNING      371
+#define GFX_CONVEYOR_BELT4_LEFT                        372
+#define GFX_CONVEYOR_BELT4_LEFT_RUNNING                373
+#define GFX_CONVEYOR_BELT4_RIGHT               374
+#define GFX_CONVEYOR_BELT4_RIGHT_RUNNING       375
+#define GFX_CONVEYOR_BELT4_SWITCH_LEFT         376
+#define GFX_CONVEYOR_BELT4_SWITCH_MIDDLE       377
+#define GFX_CONVEYOR_BELT4_SWITCH_RIGHT                378
+#define GFX_SWITCHGATE_SWITCH_UP               379
+#define GFX_SWITCHGATE_SWITCH_DOWN             380
+#define GFX_LIGHT_SWITCH_OFF                   381
+#define GFX_LIGHT_SWITCH_ON                    382
+#define GFX_TIMEGATE_WHEEL                     383
+#define GFX_TIMEGATE_WHEEL_RUNNING             384
+#define GFX_ENVELOPE                           385
+#define GFX_SIGN_EXCLAMATION                   386
+#define GFX_SIGN_STOP                          387
+#define GFX_LANDMINE                           388
+#define GFX_STEELWALL_SLANTED                  389
+#define GFX_EXTRA_TIME                         390
+#define GFX_SHIELD_ACTIVE                      391
+#define GFX_SHIELD_PASSIVE                     392
+#define GFX_SWITCHGATE_CLOSED                  393
+#define GFX_SWITCHGATE_OPENING                 394
+#define GFX_SWITCHGATE_OPEN                    395
+#define GFX_SWITCHGATE_CLOSING                 396
+#define GFX_TIMEGATE_CLOSED                    397
+#define GFX_TIMEGATE_OPENING                   398
+#define GFX_TIMEGATE_OPEN                      399
+#define GFX_TIMEGATE_CLOSING                   400
+#define GFX_BALLOON                            401
+#define GFX_BALLOON_MOVING                     402
+#define GFX_BALLOON_WINDROSE_LEFT              403
+#define GFX_BALLOON_WINDROSE_RIGHT             404
+#define GFX_BALLOON_WINDROSE_UP                        405
+#define GFX_BALLOON_WINDROSE_DOWN              406
+#define GFX_BALLOON_WINDROSE_ALL               407
+#define GFX_EMC_STEELWALL1                     408
+#define GFX_EMC_STEELWALL2                     409
+#define GFX_EMC_STEELWALL3                     410
+#define GFX_EMC_STEELWALL4                     411
+#define GFX_EMC_WALL_PILLAR_UPPER              412
+#define GFX_EMC_WALL_PILLAR_MIDDLE             413
+#define GFX_EMC_WALL_PILLAR_LOWER              414
+#define GFX_EMC_WALL4                          415
+#define GFX_EMC_WALL5                          416
+#define GFX_EMC_WALL6                          417
+#define GFX_EMC_WALL7                          418
+#define GFX_EMC_WALL8                          419
+#define GFX_ARROW_BLUE_LEFT                    420
+#define GFX_ARROW_BLUE_RIGHT                   421
+#define GFX_ARROW_BLUE_UP                      422
+#define GFX_ARROW_BLUE_DOWN                    423
+#define GFX_ARROW_RED_LEFT                     424
+#define GFX_ARROW_RED_RIGHT                    425
+#define GFX_ARROW_RED_UP                       426
+#define GFX_ARROW_RED_DOWN                     427
+#define GFX_SCROLLBAR_BLUE                     428
+#define GFX_SCROLLBAR_RED                      429
+#define GFX_SCROLLBAR_GREEN                    430
+#define GFX_SCROLLBAR_YELLOW                   431
+#define GFX_PEARL                              432
+#define GFX_PEARL_BREAKING                     433
+#define GFX_CRYSTAL                            434
+#define GFX_WALL_PEARL                         435
+#define GFX_WALL_CRYSTAL                       436
+#define GFX_SPRING                             437
+#define GFX_TUBE_RIGHT_DOWN                    438
+#define GFX_TUBE_HORIZONTAL_DOWN               439
+#define GFX_TUBE_LEFT_DOWN                     440
+#define GFX_TUBE_HORIZONTAL                    441
+#define GFX_TUBE_VERTICAL_RIGHT                        442
+#define GFX_TUBE_ALL                           443
+#define GFX_TUBE_VERTICAL_LEFT                 444
+#define GFX_TUBE_VERTICAL                      445
+#define GFX_TUBE_RIGHT_UP                      446
+#define GFX_TUBE_HORIZONTAL_UP                 447
+#define GFX_TUBE_LEFT_UP                       448
+#define GFX_TRAP_INACTIVE                      449
+#define GFX_TRAP_ACTIVE                                450
+#define GFX_TRAP_ACTIVATING                    451
+#define GFX_BD_WALL                            452
+#define GFX_BD_ROCK                            453
+#define GFX_BD_ROCK_FALLING                    454
+#define GFX_BD_ROCK_PUSHING                    455
+#define GFX_DX_BOMB                            456
+#endif
+
+#define NUM_IMAGE_FILES                                457
 
 /* values for sound configuration suffixes */
 /* (currently none) */
index 8a0ca336226e5eec26493ca43ff8d8a79bd42dc1..0ab4eec741a9909cc521ff92f9c0a13dd3073de0 100644 (file)
@@ -693,6 +693,7 @@ static int getGraphicAnimationPhase(int frames, int delay, int mode)
   if (mode == ANIM_OSCILLATE)
   {
     int max_anim_frames = 2 * frames - 2;
+
     phase = (FrameCounter % (delay * max_anim_frames)) / delay;
     phase = (phase < frames ? phase : max_anim_frames - phase);
   }