477ff2420358b16a96c63245542e40e65d16a74c
[rocksndiamonds.git] / src / main.c
1 /***********************************************************
2 * Rocks'n'Diamonds -- McDuffin Strikes Back!               *
3 *----------------------------------------------------------*
4 * (c) 1995-2002 Artsoft Entertainment                      *
5 *               Holger Schemel                             *
6 *               Detmolder Strasse 189                      *
7 *               33604 Bielefeld                            *
8 *               Germany                                    *
9 *               e-mail: info@artsoft.org                   *
10 *----------------------------------------------------------*
11 * main.c                                                   *
12 ***********************************************************/
13
14 #include "libgame/libgame.h"
15
16 #include "main.h"
17 #include "init.h"
18 #include "game.h"
19 #include "events.h"
20
21 GC              tile_clip_gc;
22 Bitmap         *pix[NUM_BITMAPS];
23 Pixmap          tile_clipmask[NUM_TILES];
24 DrawBuffer     *fieldbuffer;
25 DrawBuffer     *drawto_field;
26
27 int             game_status = MAINMENU;
28 boolean         level_editor_test_game = FALSE;
29 boolean         network_playing = FALSE;
30
31 int             key_joystick_mapping = 0;
32
33 boolean         redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
34 int             redraw_x1 = 0, redraw_y1 = 0;
35
36 short           Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
37 short           Ur[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
38 short           MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
39 short           MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
40 short           MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
41 short           Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
42 short           Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
43 short           StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
44 short           Frame[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
45 boolean         Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
46 short           JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
47 short           AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
48 short           AmoebaCnt[MAX_NUM_AMOEBA], AmoebaCnt2[MAX_NUM_AMOEBA];
49 short           ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
50 unsigned long   Elementeigenschaften1[MAX_ELEMENTS];
51 unsigned long   Elementeigenschaften2[MAX_ELEMENTS];
52
53 int             lev_fieldx,lev_fieldy, scroll_x,scroll_y;
54
55 int             FX = SX, FY = SY, ScrollStepSize;
56 int             ScreenMovDir = MV_NO_MOVING, ScreenMovPos = 0;
57 int             ScreenGfxPos = 0;
58 int             BorderElement = EL_BETON;
59 int             GameFrameDelay = GAME_FRAME_DELAY;
60 int             FfwdFrameDelay = FFWD_FRAME_DELAY;
61 int             BX1 = 0, BY1 = 0, BX2 = SCR_FIELDX-1, BY2 = SCR_FIELDY-1;
62 int             SBX_Left, SBX_Right;
63 int             SBY_Upper, SBY_Lower;
64 int             ZX,ZY, ExitX,ExitY;
65 int             AllPlayersGone;
66
67 int             TimeFrames, TimePlayed, TimeLeft;
68
69 boolean         network_player_action_received = FALSE;
70
71 struct LevelInfo        level;
72 struct PlayerInfo       stored_player[MAX_PLAYERS], *local_player = NULL;
73 struct HiScore          highscore[MAX_SCORE_ENTRIES];
74 struct TapeInfo         tape;
75 struct SetupInfo        setup;
76 struct GameInfo         game;
77 struct GlobalInfo       global;
78
79 /* filenames of sound effects */
80 char *sound_name[NUM_SOUNDS] =
81 {
82   "amoebe.wav",
83   "antigrav.wav",
84   "autsch.wav",
85   "blurb.wav",
86   "bong.wav",
87   "buing.wav",
88   "deng.wav",
89   "fuel.wav",
90   "gong.wav",
91   "halloffame.wav",
92   "holz.wav",
93   "hui.wav",
94   "kabumm.wav",
95   "kink.wav",
96   "klapper.wav",
97   "kling.wav",
98   "klopf.wav",
99   "klumpf.wav",
100   "knack.wav",
101   "knurk.wav",
102   "krach.wav",
103   "lachen.wav",
104   "laser.wav",
105   "miep.wav",
106   "njam.wav",
107   "oeffnen.wav",
108   "pling.wav",
109   "pong.wav",
110   "pusch.wav",
111   "quiek.wav",
112   "quirk.wav",
113   "rhythmloop.wav",
114   "roaaar.wav",
115   "roehr.wav",
116   "rumms.wav",
117   "schlopp.wav",
118   "schlurf.wav",
119   "schrff.wav",
120   "schwirr.wav",
121   "sirr.wav",
122   "slurp.wav",
123   "sproing.wav",
124   "warnton.wav",
125   "whoosh.wav",
126   "zisch.wav",
127   "base.wav",
128   "infotron.wav",
129   "zonkdown.wav",
130   "zonkpush.wav",
131   "bug.wav",
132   "boom.wav",
133   "booom.wav",
134   "exit.wav",
135   "empty.wav",
136   "gate.wav"
137 };
138
139 struct ConfigInfo image_config_suffix[] =
140 {
141   { ".xpos",                            "0"                     },
142   { ".ypos",                            "0"                     },
143   { ".frames",                          "1"                     },
144   { ".delay",                           "0"                     },
145   { ".pingpong",                        "0"                     },
146   { ".pingpong2",                       "0"                     },
147   { ".reverse",                         "0"                     },
148   { ".vertical",                        "0"                     },
149
150   { NULL,                               NULL                    }
151 };
152
153 struct ConfigInfo sound_config_suffix[] =
154 {
155   { NULL,                               NULL                    }
156 };
157
158 struct ConfigInfo image_config[] =
159 {
160   /* images for Emerald Mine style elements and actions */
161   { "empty_space",                              "RocksElements.pcx"     },
162   { "empty_space.xpos",                         "7"                     },
163   { "empty_space.ypos",                         "10"                    },
164   { "empty_space.frames",                       "1"                     },
165
166   { "sand",                                     "RocksElements.pcx"     },
167   { "sand.xpos",                                "0"                     },
168   { "sand.ypos",                                "0"                     },
169   { "sand.frames",                              "1"                     },
170   { "sand_crumbled",                            "RocksElements.pcx"     },
171   { "sand_crumbled.xpos",                       "1"                     },
172   { "sand_crumbled.ypos",                       "0"                     },
173   { "sand_crumbled.frames",                     "1"                     },
174
175   { "quicksand_empty",                          "RocksElements.pcx"     },
176   { "quicksand_empty.xpos",                     "2"                     },
177   { "quicksand_empty.ypos",                     "0"                     },
178   { "quicksand_empty.frames",                   "1"                     },
179   { "quicksand_full",                           "RocksElements.pcx"     },
180   { "quicksand_full.xpos",                      "3"                     },
181   { "quicksand_full.ypos",                      "0"                     },
182   { "quicksand_full.frames",                    "1"                     },
183
184   { "steelwall",                                "RocksElements.pcx"     },
185   { "steelwall.xpos",                           "4"                     },
186   { "steelwall.ypos",                           "0"                     },
187   { "steelwall.frames",                         "1"                     },
188
189   { "wall",                                     "RocksElements.pcx"     },
190   { "wall.xpos",                                "5"                     },
191   { "wall.ypos",                                "0"                     },
192   { "wall.frames",                              "1"                     },
193   { "wall_crumbled",                            "RocksElements.pcx"     },
194   { "wall_crumbled.xpos",                       "6"                     },
195   { "wall_crumbled.ypos",                       "0"                     },
196   { "wall_crumbled.frames",                     "1"                     },
197
198   { "emerald",                                  "RocksElements.pcx"     },
199   { "emerald.xpos",                             "8"                     },
200   { "emerald.ypos",                             "0"                     },
201   { "emerald.frames",                           "1"                     },
202   { "emerald.falling",                          "RocksElements.pcx"     },
203   { "emerald.falling.xpos",                     "8"                     },
204   { "emerald.falling.ypos",                     "0"                     },
205   { "emerald.falling.frames",                   "2"                     },
206
207   { "diamond",                                  "RocksElements.pcx"     },
208   { "diamond.xpos",                             "10"                    },
209   { "diamond.ypos",                             "0"                     },
210   { "diamond.frames",                           "1"                     },
211   { "diamond.falling",                          "RocksElements.pcx"     },
212   { "diamond.falling.xpos",                     "10"                    },
213   { "diamond.falling.ypos",                     "0"                     },
214   { "diamond.falling.frames",                   "2"                     },
215
216   { "rock",                                     "RocksElements.pcx"     },
217   { "rock.xpos",                                "12"                    },
218   { "rock.ypos",                                "0"                     },
219   { "rock.frames",                              "1"                     },
220   { "rock.falling",                             "RocksElements.pcx"     },
221   { "rock.falling.xpos",                        "12"                    },
222   { "rock.falling.ypos",                        "0"                     },
223   { "rock.falling.frames",                      "1"                     },
224   { "rock.pushing",                             "RocksElements.pcx"     },
225   { "rock.pushing.xpos",                        "12"                    },
226   { "rock.pushing.ypos",                        "0"                     },
227   { "rock.pushing.frames",                      "4"                     },
228
229   { "acidpool_topleft",                         "RocksElements.pcx"     },
230   { "acidpool_topleft.xpos",                    "0"                     },
231   { "acidpool_topleft.ypos",                    "1"                     },
232   { "acidpool_topleft.frames",                  "1"                     },
233   { "acidpool_topright",                        "RocksElements.pcx"     },
234   { "acidpool_topright.xpos",                   "2"                     },
235   { "acidpool_topright.ypos",                   "1"                     },
236   { "acidpool_topright.frames",                 "1"                     },
237   { "acidpool_bottomleft",                      "RocksElements.pcx"     },
238   { "acidpool_bottomleft.xpos",                 "0"                     },
239   { "acidpool_bottomleft.ypos",                 "2"                     },
240   { "acidpool_bottomleft.frames",               "1"                     },
241   { "acidpool_bottom",                          "RocksElements.pcx"     },
242   { "acidpool_bottom.xpos",                     "1"                     },
243   { "acidpool_bottom.ypos",                     "2"                     },
244   { "acidpool_bottom.frames",                   "1"                     },
245   { "acidpool_bottomright",                     "RocksElements.pcx"     },
246   { "acidpool_bottomright.xpos",                "2"                     },
247   { "acidpool_bottomright.ypos",                "2"                     },
248   { "acidpool_bottomright.frames",              "1"                     },
249
250   { "acid",                                     "RocksElements.pcx"     },
251   { "acid.xpos",                                "12"                    },
252   { "acid.ypos",                                "7"                     },
253   { "acid.frames",                              "4"                     },
254
255   { "key1",                                     "RocksElements.pcx"     },
256   { "key1.xpos",                                "4"                     },
257   { "key1.ypos",                                "1"                     },
258   { "key1.frames",                              "1"                     },
259   { "key2",                                     "RocksElements.pcx"     },
260   { "key2.xpos",                                "5"                     },
261   { "key2.ypos",                                "1"                     },
262   { "key2.frames",                              "1"                     },
263   { "key3",                                     "RocksElements.pcx"     },
264   { "key3.xpos",                                "6"                     },
265   { "key3.ypos",                                "1"                     },
266   { "key3.frames",                              "1"                     },
267   { "key4",                                     "RocksElements.pcx"     },
268   { "key4.xpos",                                "7"                     },
269   { "key4.ypos",                                "1"                     },
270   { "key4.frames",                              "1"                     },
271
272   { "gameoflife",                               "RocksElements.pcx"     },
273   { "gameoflife.xpos",                          "8"                     },
274   { "gameoflife.ypos",                          "1"                     },
275   { "gameoflife.frames",                        "1"                     },
276
277   { "biomaze",                                  "RocksElements.pcx"     },
278   { "biomaze.xpos",                             "9"                     },
279   { "biomaze.ypos",                             "1"                     },
280   { "biomaze.frames",                           "1"                     },
281
282   { "bomb",                                     "RocksElements.pcx"     },
283   { "bomb.xpos",                                "11"                    },
284   { "bomb.ypos",                                "1"                     },
285   { "bomb.frames",                              "1"                     },
286
287   { "nut",                                      "RocksElements.pcx"     },
288   { "nut.xpos",                                 "12"                    },
289   { "nut.ypos",                                 "1"                     },
290   { "nut.frames",                               "1"                     },
291   { "nut.cracking",                             "RocksElements.pcx"     },
292   { "nut.cracking.xpos",                        "13"                    },
293   { "nut.cracking.ypos",                        "1"                     },
294   { "nut.cracking.frames",                      "3"                     },
295
296   { "gate1",                                    "RocksElements.pcx"     },
297   { "gate1.xpos",                               "4"                     },
298   { "gate1.ypos",                               "2"                     },
299   { "gate1.frames",                             "1"                     },
300   { "gate2",                                    "RocksElements.pcx"     },
301   { "gate2.xpos",                               "5"                     },
302   { "gate2.ypos",                               "2"                     },
303   { "gate2.frames",                             "1"                     },
304   { "gate3",                                    "RocksElements.pcx"     },
305   { "gate3.xpos",                               "6"                     },
306   { "gate3.ypos",                               "2"                     },
307   { "gate3.frames",                             "1"                     },
308   { "gate4",                                    "RocksElements.pcx"     },
309   { "gate4.xpos",                               "7"                     },
310   { "gate4.ypos",                               "2"                     },
311   { "gate4.frames",                             "1"                     },
312   { "gate1_gray",                               "RocksElements.pcx"     },
313   { "gate1_gray.xpos",                          "8"                     },
314   { "gate1_gray.ypos",                          "2"                     },
315   { "gate1_gray.frames",                        "1"                     },
316   { "gate2_gray",                               "RocksElements.pcx"     },
317   { "gate2_gray.xpos",                          "9"                     },
318   { "gate2_gray.ypos",                          "2"                     },
319   { "gate2_gray.frames",                        "1"                     },
320   { "gate3_gray",                               "RocksElements.pcx"     },
321   { "gate3_gray.xpos",                          "10"                    },
322   { "gate3_gray.ypos",                          "2"                     },
323   { "gate3_gray.frames",                        "1"                     },
324   { "gate4_gray",                               "RocksElements.pcx"     },
325   { "gate4_gray.xpos",                          "11"                    },
326   { "gate4_gray.ypos",                          "2"                     },
327   { "gate4_gray.frames",                        "1"                     },
328
329   { "dynamite",                                 "RocksElements.pcx"     },
330   { "dynamite.xpos",                            "0"                     },
331   { "dynamite.ypos",                            "3"                     },
332   { "dynamite.frames",                          "1"                     },
333   { "dynamite.burning",                         "RocksElements.pcx"     },
334   { "dynamite.burning.xpos",                    "1"                     },
335   { "dynamite.burning.ypos",                    "3"                     },
336   { "dynamite.burning.frames",                  "7"                     },
337
338   { "spaceship_right",                          "RocksElements.pcx"     },
339   { "spaceship_right.xpos",                     "8"                     },
340   { "spaceship_right.ypos",                     "3"                     },
341   { "spaceship_right.frames",                   "1"                     },
342   { "spaceship_up",                             "RocksElements.pcx"     },
343   { "spaceship_up.xpos",                        "9"                     },
344   { "spaceship_up.ypos",                        "3"                     },
345   { "spaceship_up.frames",                      "1"                     },
346   { "spaceship_left",                           "RocksElements.pcx"     },
347   { "spaceship_left.xpos",                      "10"                    },
348   { "spaceship_left.ypos",                      "3"                     },
349   { "spaceship_left.frames",                    "1"                     },
350   { "spaceship_down",                           "RocksElements.pcx"     },
351   { "spaceship_down.xpos",                      "11"                    },
352   { "spaceship_down.ypos",                      "3"                     },
353   { "spaceship_down.frames",                    "1"                     },
354
355   { "bug_right",                                "RocksElements.pcx"     },
356   { "bug_right.xpos",                           "8"                     },
357   { "bug_right.ypos",                           "4"                     },
358   { "bug_right.frames",                         "1"                     },
359   { "bug_up",                                   "RocksElements.pcx"     },
360   { "bug_up.xpos",                              "9"                     },
361   { "bug_up.ypos",                              "4"                     },
362   { "bug_up.frames",                            "1"                     },
363   { "bug_left",                                 "RocksElements.pcx"     },
364   { "bug_left.xpos",                            "10"                    },
365   { "bug_left.ypos",                            "4"                     },
366   { "bug_left.frames",                          "1"                     },
367   { "bug_down",                                 "RocksElements.pcx"     },
368   { "bug_down.xpos",                            "11"                    },
369   { "bug_down.ypos",                            "4"                     },
370   { "bug_down.frames",                          "1"                     },
371
372   { "pacman_right",                             "RocksElements.pcx"     },
373   { "pacman_right.xpos",                        "8"                     },
374   { "pacman_right.ypos",                        "5"                     },
375   { "pacman_right.frames",                      "1"                     },
376   { "pacman_up",                                "RocksElements.pcx"     },
377   { "pacman_up.xpos",                           "9"                     },
378   { "pacman_up.ypos",                           "5"                     },
379   { "pacman_up.frames",                         "1"                     },
380   { "pacman_left",                              "RocksElements.pcx"     },
381   { "pacman_left.xpos",                         "10"                    },
382   { "pacman_left.ypos",                         "5"                     },
383   { "pacman_left.frames",                       "1"                     },
384   { "pacman_down",                              "RocksElements.pcx"     },
385   { "pacman_down.xpos",                         "11"                    },
386   { "pacman_down.ypos",                         "5"                     },
387   { "pacman_down.frames",                       "1"                     },
388
389   { "explosion",                                "RocksElements.pcx"     },
390   { "explosion.xpos",                           "0"                     },
391   { "explosion.ypos",                           "4"                     },
392   { "explosion.frames",                         "8"                     },
393
394   { "yamyam",                                   "RocksElements.pcx"     },
395   { "yamyam.xpos",                              "0"                     },
396   { "yamyam.ypos",                              "5"                     },
397   { "yamyam.frames",                            "4"                     },
398   { "yamyam.pingpong",                          "1"                     },
399
400   { "robot",                                    "RocksElements.pcx"     },
401   { "robot.xpos",                               "4"                     },
402   { "robot.ypos",                               "5"                     },
403   { "robot.frames",                             "4"                     },
404   { "robot.pingpong",                           "1"                     },
405   { "robot_wheel",                              "RocksElements.pcx"     },
406   { "robot_wheel.xpos",                         "0"                     },
407   { "robot_wheel.ypos",                         "6"                     },
408   { "robot_wheel.frames",                       "4"                     },
409
410   { "amoeba_drop",                              "RocksElements.pcx"     },
411   { "amoeba_drop.xpos",                         "5"                     },
412   { "amoeba_drop.ypos",                         "6"                     },
413   { "amoeba_drop.frames",                       "1"                     },
414   { "amoeba.growing",                           "RocksElements.pcx"     },
415   { "amoeba.growing.xpos",                      "5"                     },
416   { "amoeba.growing.ypos",                      "6"                     },
417   { "amoeba.growing.frames",                    "3"                     },
418   { "amoeba",                                   "RocksElements.pcx"     },
419   { "amoeba.xpos",                              "8"                     },
420   { "amoeba.ypos",                              "6"                     },
421   { "amoeba.frames",                            "4"                     },
422   { "amoeba_dead",                              "RocksElements.pcx"     },
423   { "amoeba_dead.xpos",                         "12"                    },
424   { "amoeba_dead.ypos",                         "6"                     },
425   { "amoeba_dead.frames",                       "4"                     },
426
427   { "lamp_off",                                 "RocksElements.pcx"     },
428   { "lamp_off.xpos",                            "0"                     },
429   { "lamp_off.ypos",                            "7"                     },
430   { "lamp_off.frames",                          "1"                     },
431   { "lamp_on",                                  "RocksElements.pcx"     },
432   { "lamp_on.xpos",                             "1"                     },
433   { "lamp_on.ypos",                             "7"                     },
434   { "lamp_on.frames",                           "1"                     },
435
436   { "time_orb_full",                            "RocksElements.pcx"     },
437   { "time_orb_full.xpos",                       "2"                     },
438   { "time_orb_full.ypos",                       "7"                     },
439   { "time_orb_full.frames",                     "1"                     },
440   { "time_orb_empty",                           "RocksElements.pcx"     },
441   { "time_orb_empty.xpos",                      "3"                     },
442   { "time_orb_empty.ypos",                      "7"                     },
443   { "time_orb_empty.frames",                    "1"                     },
444
445   { "bd_amoeba",                                "RocksElements.pcx"     },
446   { "bd_amoeba.xpos",                           "8"                     },
447   { "bd_amoeba.ypos",                           "7"                     },
448   { "bd_amoeba.frames",                         "1"                     },
449
450   { "sokoban_object",                           "RocksElements.pcx"     },
451   { "sokoban_object.xpos",                      "9"                     },
452   { "sokoban_object.ypos",                      "7"                     },
453   { "sokoban_object.frames",                    "1"                     },
454   { "sokoban_field_empty",                      "RocksElements.pcx"     },
455   { "sokoban_field_empty.xpos",                 "10"                    },
456   { "sokoban_field_empty.ypos",                 "7"                     },
457   { "sokoban_field_empty.frames",               "1"                     },
458   { "sokoban_field_full",                       "RocksElements.pcx"     },
459   { "sokoban_field_full.xpos",                  "11"                    },
460   { "sokoban_field_full.ypos",                  "7"                     },
461   { "sokoban_field_full.frames",                "1"                     },
462
463   { "magic_wall",                               "RocksElements.pcx"     },
464   { "magic_wall.xpos",                          "0"                     },
465   { "magic_wall.ypos",                          "8"                     },
466   { "magic_wall.frames",                        "1"                     },
467   { "magic_wall.running",                       "RocksElements.pcx"     },
468   { "magic_wall.running.xpos",                  "0"                     },
469   { "magic_wall.running.ypos",                  "8"                     },
470   { "magic_wall.running.frames",                "4"                     },
471
472   { "bd_magic_wall",                            "RocksElements.pcx"     },
473   { "bd_magic_wall.xpos",                       "12"                    },
474   { "bd_magic_wall.ypos",                       "10"                    },
475   { "bd_magic_wall.frames",                     "1"                     },
476   { "bd_magic_wall.running",                    "RocksElements.pcx"     },
477   { "bd_magic_wall.running.xpos",               "12"                    },
478   { "bd_magic_wall.running.ypos",               "10"                    },
479   { "bd_magic_wall.running.frames",             "4"                     },
480
481   { "wall_emerald",                             "RocksElements.pcx"     },
482   { "wall_emerald.xpos",                        "4"                     },
483   { "wall_emerald.ypos",                        "8"                     },
484   { "wall_emerald.frames",                      "1"                     },
485   { "wall_diamond",                             "RocksElements.pcx"     },
486   { "wall_diamond.xpos",                        "5"                     },
487   { "wall_diamond.ypos",                        "8"                     },
488   { "wall_diamond.frames",                      "1"                     },
489   { "wall_emerald_red",                         "RocksElements.pcx"     },
490   { "wall_emerald_red.xpos",                    "6"                     },
491   { "wall_emerald_red.ypos",                    "8"                     },
492   { "wall_emerald_red.frames",                  "1"                     },
493   { "wall_emerald_purple",                      "RocksElements.pcx"     },
494   { "wall_emerald_purple.xpos",                 "7"                     },
495   { "wall_emerald_purple.ypos",                 "8"                     },
496   { "wall_emerald_purple.frames",               "1"                     },
497   { "wall_emerald_yellow",                      "RocksElements.pcx"     },
498   { "wall_emerald_yellow.xpos",                 "8"                     },
499   { "wall_emerald_yellow.ypos",                 "8"                     },
500   { "wall_emerald_yellow.frames",               "1"                     },
501   { "wall_bd_diamond",                          "RocksElements.pcx"     },
502   { "wall_bd_diamond.xpos",                     "9"                     },
503   { "wall_bd_diamond.ypos",                     "8"                     },
504   { "wall_bd_diamond.frames",                   "1"                     },
505
506   { "emerald_red",                              "RocksElements.pcx"     },
507   { "emerald_red.xpos",                         "8"                     },
508   { "emerald_red.ypos",                         "9"                     },
509   { "emerald_red.frames",                       "1"                     },
510   { "emerald_red.falling",                      "RocksElements.pcx"     },
511   { "emerald_red.falling.xpos",                 "8"                     },
512   { "emerald_red.falling.ypos",                 "9"                     },
513   { "emerald_red.falling.frames",               "2"                     },
514   { "emerald_purple",                           "RocksElements.pcx"     },
515   { "emerald_purple.xpos",                      "10"                    },
516   { "emerald_purple.ypos",                      "9"                     },
517   { "emerald_purple.frames",                    "1"                     },
518   { "emerald_purple.falling",                   "RocksElements.pcx"     },
519   { "emerald_purple.falling.xpos",              "10"                    },
520   { "emerald_purple.falling.ypos",              "9"                     },
521   { "emerald_purple.falling.frames",            "2"                     },
522   { "emerald_yellow",                           "RocksElements.pcx"     },
523   { "emerald_yellow.xpos",                      "10"                    },
524   { "emerald_yellow.ypos",                      "8"                     },
525   { "emerald_yellow.frames",                    "1"                     },
526   { "emerald_yellow.falling",                   "RocksElements.pcx"     },
527   { "emerald_yellow.falling.xpos",              "10"                    },
528   { "emerald_yellow.falling.ypos",              "8"                     },
529   { "emerald_yellow.falling.frames",            "2"                     },
530
531   { "wall_growing_xy",                          "RocksElements.pcx"     },
532   { "wall_growing_xy.xpos",                     "4"                     },
533   { "wall_growing_xy.ypos",                     "9"                     },
534   { "wall_growing_xy.frames",                   "1"                     },
535   { "wall_growing_x",                           "RocksElements.pcx"     },
536   { "wall_growing_x.xpos",                      "5"                     },
537   { "wall_growing_x.ypos",                      "9"                     },
538   { "wall_growing_x.frames",                    "1"                     },
539   { "wall_growing_y",                           "RocksElements.pcx"     },
540   { "wall_growing_y.xpos",                      "6"                     },
541   { "wall_growing_y.ypos",                      "9"                     },
542   { "wall_growing_y.frames",                    "1"                     },
543
544   { "dynabomb_xl",                              "RocksElements.pcx"     },
545   { "dynabomb_xl.xpos",                         "12"                    },
546   { "dynabomb_xl.ypos",                         "9"                     },
547   { "dynabomb_xl.frames",                       "1"                     },
548
549   { "black_orb",                                "RocksElements.pcx"     },
550   { "black_orb.xpos",                           "13"                    },
551   { "black_orb.ypos",                           "9"                     },
552   { "black_orb.frames",                         "1"                     },
553
554   { "speed_pill",                               "RocksElements.pcx"     },
555   { "speed_pill.xpos",                          "14"                    },
556   { "speed_pill.ypos",                          "9"                     },
557   { "speed_pill.frames",                        "1"                     },
558
559   { "bd_diamond",                               "RocksElements.pcx"     },
560   { "bd_diamond.xpos",                          "0"                     },
561   { "bd_diamond.ypos",                          "10"                    },
562   { "bd_diamond.frames",                        "4"                     },
563   { "bd_diamond.falling",                       "RocksElements.pcx"     },
564   { "bd_diamond.falling.xpos",                  "3"                     },
565   { "bd_diamond.falling.ypos",                  "10"                    },
566   { "bd_diamond.falling.frames",                "2"                     },
567
568   { "wall.growing_right",                       "RocksElements.pcx"     },
569   { "wall.growing_right.xpos",                  "5"                     },
570   { "wall.growing_right.ypos",                  "10"                    },
571   { "wall.growing_right.frames",                "3"                     },
572   { "wall.growing_left",                        "RocksElements.pcx"     },
573   { "wall.growing_left.xpos",                   "8"                     },
574   { "wall.growing_left.ypos",                   "10"                    },
575   { "wall.growing_left.frames",                 "3"                     },
576
577   { "exit_closed",                              "RocksElements.pcx"     },
578   { "exit_closed.xpos",                         "0"                     },
579   { "exit_closed.ypos",                         "11"                    },
580   { "exit_closed.frames",                       "1"                     },
581   { "exit.opening",                             "RocksElements.pcx"     },
582   { "exit.opening.xpos",                        "1"                     },
583   { "exit.opening.ypos",                        "11"                    },
584   { "exit.opening.frames",                      "4"                     },
585   { "exit_open",                                "RocksElements.pcx"     },
586   { "exit_open.xpos",                           "4"                     },
587   { "exit_open.ypos",                           "11"                    },
588   { "exit_open.frames",                         "4"                     },
589   { "exit_open.pingpong",                       "1"                     },
590
591   { "dark_yamyam",                              "RocksElements.pcx"     },
592   { "dark_yamyam.xpos",                         "8"                     },
593   { "dark_yamyam.ypos",                         "11"                    },
594   { "dark_yamyam.frames",                       "4"                     },
595   { "dark_yamyam.pingpong",                     "1"                     },
596
597   { "dynabomb.burning",                         "RocksElements.pcx"     },
598   { "dynabomb.burning.xpos",                    "12"                    },
599   { "dynabomb.burning.ypos",                    "11"                    },
600   { "dynabomb.burning.frames",                  "4"                     },
601   { "dynabomb.burning.pingpong",                "1"                     },
602   { "dynabomb_nr",                              "RocksElements.pcx"     },
603   { "dynabomb_nr.xpos",                         "12"                    },
604   { "dynabomb_nr.ypos",                         "11"                    },
605   { "dynabomb_nr.frames",                       "1"                     },
606   { "dynabomb_sz",                              "RocksElements.pcx"     },
607   { "dynabomb_sz.xpos",                         "15"                    },
608   { "dynabomb_sz.ypos",                         "11"                    },
609   { "dynabomb_sz.frames",                       "1"                     },
610
611   { "arrow_left",                               "RocksElements.pcx"     },
612   { "arrow_left.xpos",                          "0"                     },
613   { "arrow_left.ypos",                          "12"                    },
614   { "arrow_left.frames",                        "1"                     },
615   { "arrow_right",                              "RocksElements.pcx"     },
616   { "arrow_right.xpos",                         "1"                     },
617   { "arrow_right.ypos",                         "12"                    },
618   { "arrow_right.frames",                       "1"                     },
619   { "arrow_up",                                 "RocksElements.pcx"     },
620   { "arrow_up.xpos",                            "2"                     },
621   { "arrow_up.ypos",                            "12"                    },
622   { "arrow_up.frames",                          "1"                     },
623   { "arrow_down",                               "RocksElements.pcx"     },
624   { "arrow_down.xpos",                          "3"                     },
625   { "arrow_down.ypos",                          "12"                    },
626   { "arrow_down.frames",                        "1"                     },
627
628   { "bd_butterfly_right",                       "RocksElements.pcx"     },
629   { "bd_butterfly_right.xpos",                  "8"                     },
630   { "bd_butterfly_right.ypos",                  "12"                    },
631   { "bd_butterfly_right.frames",                "1"                     },
632   { "bd_butterfly_up",                          "RocksElements.pcx"     },
633   { "bd_butterfly_up.xpos",                     "9"                     },
634   { "bd_butterfly_up.ypos",                     "12"                    },
635   { "bd_butterfly_up.frames",                   "1"                     },
636   { "bd_butterfly_left",                        "RocksElements.pcx"     },
637   { "bd_butterfly_left.xpos",                   "10"                    },
638   { "bd_butterfly_left.ypos",                   "12"                    },
639   { "bd_butterfly_left.frames",                 "1"                     },
640   { "bd_butterfly_down",                        "RocksElements.pcx"     },
641   { "bd_butterfly_down.xpos",                   "11"                    },
642   { "bd_butterfly_down.ypos",                   "12"                    },
643   { "bd_butterfly_down.frames",                 "1"                     },
644   { "bd_butterfly.moving",                      "RocksElements.pcx"     },
645   { "bd_butterfly.moving.xpos",                 "4"                     },
646   { "bd_butterfly.moving.ypos",                 "12"                    },
647   { "bd_butterfly.moving.frames",               "2"                     },
648   { "bd_butterfly.moving.pingpong",             "1"                     },
649
650   { "bd_firefly_right",                         "RocksElements.pcx"     },
651   { "bd_firefly_right.xpos",                    "12"                    },
652   { "bd_firefly_right.ypos",                    "12"                    },
653   { "bd_firefly_right.frames",                  "1"                     },
654   { "bd_firefly_up",                            "RocksElements.pcx"     },
655   { "bd_firefly_up.xpos",                       "13"                    },
656   { "bd_firefly_up.ypos",                       "12"                    },
657   { "bd_firefly_up.frames",                     "1"                     },
658   { "bd_firefly_left",                          "RocksElements.pcx"     },
659   { "bd_firefly_left.xpos",                     "14"                    },
660   { "bd_firefly_left.ypos",                     "12"                    },
661   { "bd_firefly_left.frames",                   "1"                     },
662   { "bd_firefly_down",                          "RocksElements.pcx"     },
663   { "bd_firefly_down.xpos",                     "15"                    },
664   { "bd_firefly_down.ypos",                     "12"                    },
665   { "bd_firefly_down.frames",                   "1"                     },
666   { "bd_firefly.moving",                        "RocksElements.pcx"     },
667   { "bd_firefly.moving.xpos",                   "6"                     },
668   { "bd_firefly.moving.ypos",                   "12"                    },
669   { "bd_firefly.moving.frames",                 "2"                     },
670   { "bd_firefly.moving.pingpong",               "1"                     },
671
672   { "steelwall_topleft",                        "RocksElements.pcx"     },
673   { "steelwall_topleft.xpos",                   "0"                     },
674   { "steelwall_topleft.ypos",                   "13"                    },
675   { "steelwall_topleft.frames",                 "1"                     },
676   { "steelwall_topright",                       "RocksElements.pcx"     },
677   { "steelwall_topright.xpos",                  "1"                     },
678   { "steelwall_topright.ypos",                  "13"                    },
679   { "steelwall_topright.frames",                "1"                     },
680   { "steelwall_bottomleft",                     "RocksElements.pcx"     },
681   { "steelwall_bottomleft.xpos",                "1"                     },
682   { "steelwall_bottomleft.ypos",                "13"                    },
683   { "steelwall_bottomleft.frames",              "1"                     },
684   { "steelwall_bottomright",                    "RocksElements.pcx"     },
685   { "steelwall_bottomright.xpos",               "1"                     },
686   { "steelwall_bottomright.ypos",               "13"                    },
687   { "steelwall_bottomright.frames",             "1"                     },
688   { "steelwall_horizontal",                     "RocksElements.pcx"     },
689   { "steelwall_horizontal.xpos",                "1"                     },
690   { "steelwall_horizontal.ypos",                "13"                    },
691   { "steelwall_horizontal.frames",              "1"                     },
692
693   { "invisible_steelwall_topleft",              "RocksElements.pcx"     },
694   { "invisible_steelwall_topleft.xpos",         "0"                     },
695   { "invisible_steelwall_topleft.ypos",         "13"                    },
696   { "invisible_steelwall_topleft.frames",       "1"                     },
697   { "invisible_steelwall_topright",             "RocksElements.pcx"     },
698   { "invisible_steelwall_topright.xpos",        "1"                     },
699   { "invisible_steelwall_topright.ypos",        "13"                    },
700   { "invisible_steelwall_topright.frames",      "1"                     },
701   { "invisible_steelwall_bottomleft",           "RocksElements.pcx"     },
702   { "invisible_steelwall_bottomleft.xpos",      "1"                     },
703   { "invisible_steelwall_bottomleft.ypos",      "13"                    },
704   { "invisible_steelwall_bottomleft.frames",    "1"                     },
705   { "invisible_steelwall_bottomright",          "RocksElements.pcx"     },
706   { "invisible_steelwall_bottomright.xpos",     "1"                     },
707   { "invisible_steelwall_bottomright.ypos",     "13"                    },
708   { "invisible_steelwall_bottomright.frames",   "1"                     },
709   { "invisible_steelwall_horizontal",           "RocksElements.pcx"     },
710   { "invisible_steelwall_horizontal.xpos",      "1"                     },
711   { "invisible_steelwall_horizontal.ypos",      "13"                    },
712   { "invisible_steelwall_horizontal.frames",    "1"                     },
713
714   { "player1_down",                             "RocksHeroes.pcx"       },
715   { "player1_down.xpos",                        "0"                     },
716   { "player1_down.ypos",                        "0"                     },
717   { "player1_down.frames",                      "1"                     },
718   { "player1_down.moving",                      "RocksHeroes.pcx"       },
719   { "player1_down.moving.xpos",                 "0"                     },
720   { "player1_down.moving.ypos",                 "0"                     },
721   { "player1_down.moving.frames",               "4"                     },
722   { "player1_down.digging",                     "RocksHeroes.pcx"       },
723   { "player1_down.digging.xpos",                "0"                     },
724   { "player1_down.digging.ypos",                "0"                     },
725   { "player1_down.digging.frames",              "4"                     },
726   { "player1_up",                               "RocksHeroes.pcx"       },
727   { "player1_up.xpos",                          "4"                     },
728   { "player1_up.ypos",                          "0"                     },
729   { "player1_up.frames",                        "1"                     },
730   { "player1_up.moving",                        "RocksHeroes.pcx"       },
731   { "player1_up.moving.xpos",                   "4"                     },
732   { "player1_up.moving.ypos",                   "0"                     },
733   { "player1_up.moving.frames",                 "4"                     },
734   { "player1_up.digging",                       "RocksHeroes.pcx"       },
735   { "player1_up.digging.xpos",                  "4"                     },
736   { "player1_up.digging.ypos",                  "0"                     },
737   { "player1_up.digging.frames",                "4"                     },
738   { "player1_left",                             "RocksHeroes.pcx"       },
739   { "player1_left.xpos",                        "0"                     },
740   { "player1_left.ypos",                        "1"                     },
741   { "player1_left.frames",                      "1"                     },
742   { "player1_left.moving",                      "RocksHeroes.pcx"       },
743   { "player1_left.moving.xpos",                 "0"                     },
744   { "player1_left.moving.ypos",                 "1"                     },
745   { "player1_left.moving.frames",               "4"                     },
746   { "player1_left.digging",                     "RocksHeroes.pcx"       },
747   { "player1_left.digging.xpos",                "0"                     },
748   { "player1_left.digging.ypos",                "1"                     },
749   { "player1_left.digging.frames",              "4"                     },
750   { "player1_left.pushing",                     "RocksHeroes.pcx"       },
751   { "player1_left.pushing.xpos",                "4"                     },
752   { "player1_left.pushing.ypos",                "2"                     },
753   { "player1_left.pushing.frames",              "4"                     },
754   { "player1_right",                            "RocksHeroes.pcx"       },
755   { "player1_right.xpos",                       "4"                     },
756   { "player1_right.ypos",                       "1"                     },
757   { "player1_right.frames",                     "1"                     },
758   { "player1_right.moving",                     "RocksHeroes.pcx"       },
759   { "player1_right.moving.xpos",                "4"                     },
760   { "player1_right.moving.ypos",                "1"                     },
761   { "player1_right.moving.frames",              "4"                     },
762   { "player1_right.digging",                    "RocksHeroes.pcx"       },
763   { "player1_right.digging.xpos",               "4"                     },
764   { "player1_right.digging.ypos",               "1"                     },
765   { "player1_right.digging.frames",             "4"                     },
766   { "player1_right.pushing",                    "RocksHeroes.pcx"       },
767   { "player1_right.pushing.xpos",               "0"                     },
768   { "player1_right.pushing.ypos",               "2"                     },
769   { "player1_right.pushing.frames",             "4"                     },
770
771   { "player2_down",                             "RocksHeroes.pcx"       },
772   { "player2_down.xpos",                        "0"                     },
773   { "player2_down.ypos",                        "3"                     },
774   { "player2_down.frames",                      "1"                     },
775   { "player2_down.moving",                      "RocksHeroes.pcx"       },
776   { "player2_down.moving.xpos",                 "0"                     },
777   { "player2_down.moving.ypos",                 "3"                     },
778   { "player2_down.moving.frames",               "4"                     },
779   { "player2_down.digging",                     "RocksHeroes.pcx"       },
780   { "player2_down.digging.xpos",                "0"                     },
781   { "player2_down.digging.ypos",                "3"                     },
782   { "player2_down.digging.frames",              "4"                     },
783   { "player2_up",                               "RocksHeroes.pcx"       },
784   { "player2_up.xpos",                          "4"                     },
785   { "player2_up.ypos",                          "3"                     },
786   { "player2_up.frames",                        "1"                     },
787   { "player2_up.moving",                        "RocksHeroes.pcx"       },
788   { "player2_up.moving.xpos",                   "4"                     },
789   { "player2_up.moving.ypos",                   "3"                     },
790   { "player2_up.moving.frames",                 "4"                     },
791   { "player2_up.digging",                       "RocksHeroes.pcx"       },
792   { "player2_up.digging.xpos",                  "4"                     },
793   { "player2_up.digging.ypos",                  "3"                     },
794   { "player2_up.digging.frames",                "4"                     },
795   { "player2_left",                             "RocksHeroes.pcx"       },
796   { "player2_left.xpos",                        "0"                     },
797   { "player2_left.ypos",                        "4"                     },
798   { "player2_left.frames",                      "1"                     },
799   { "player2_left.moving",                      "RocksHeroes.pcx"       },
800   { "player2_left.moving.xpos",                 "0"                     },
801   { "player2_left.moving.ypos",                 "4"                     },
802   { "player2_left.moving.frames",               "4"                     },
803   { "player2_left.digging",                     "RocksHeroes.pcx"       },
804   { "player2_left.digging.xpos",                "0"                     },
805   { "player2_left.digging.ypos",                "4"                     },
806   { "player2_left.digging.frames",              "4"                     },
807   { "player2_left.pushing",                     "RocksHeroes.pcx"       },
808   { "player2_left.pushing.xpos",                "4"                     },
809   { "player2_left.pushing.ypos",                "5"                     },
810   { "player2_left.pushing.frames",              "4"                     },
811   { "player2_right",                            "RocksHeroes.pcx"       },
812   { "player2_right.xpos",                       "4"                     },
813   { "player2_right.ypos",                       "4"                     },
814   { "player2_right.frames",                     "1"                     },
815   { "player2_right.moving",                     "RocksHeroes.pcx"       },
816   { "player2_right.moving.xpos",                "4"                     },
817   { "player2_right.moving.ypos",                "4"                     },
818   { "player2_right.moving.frames",              "4"                     },
819   { "player2_right.digging",                    "RocksHeroes.pcx"       },
820   { "player2_right.digging.xpos",               "4"                     },
821   { "player2_right.digging.ypos",               "4"                     },
822   { "player2_right.digging.frames",             "4"                     },
823   { "player2_right.pushing",                    "RocksHeroes.pcx"       },
824   { "player2_right.pushing.xpos",               "0"                     },
825   { "player2_right.pushing.ypos",               "5"                     },
826   { "player2_right.pushing.frames",             "4"                     },
827
828   { "player3_down",                             "RocksHeroes.pcx"       },
829   { "player3_down.xpos",                        "0"                     },
830   { "player3_down.ypos",                        "6"                     },
831   { "player3_down.frames",                      "1"                     },
832   { "player3_down.moving",                      "RocksHeroes.pcx"       },
833   { "player3_down.moving.xpos",                 "0"                     },
834   { "player3_down.moving.ypos",                 "6"                     },
835   { "player3_down.moving.frames",               "4"                     },
836   { "player3_down.digging",                     "RocksHeroes.pcx"       },
837   { "player3_down.digging.xpos",                "0"                     },
838   { "player3_down.digging.ypos",                "6"                     },
839   { "player3_down.digging.frames",              "4"                     },
840   { "player3_up",                               "RocksHeroes.pcx"       },
841   { "player3_up.xpos",                          "4"                     },
842   { "player3_up.ypos",                          "6"                     },
843   { "player3_up.frames",                        "1"                     },
844   { "player3_up.moving",                        "RocksHeroes.pcx"       },
845   { "player3_up.moving.xpos",                   "4"                     },
846   { "player3_up.moving.ypos",                   "6"                     },
847   { "player3_up.moving.frames",                 "4"                     },
848   { "player3_up.digging",                       "RocksHeroes.pcx"       },
849   { "player3_up.digging.xpos",                  "4"                     },
850   { "player3_up.digging.ypos",                  "6"                     },
851   { "player3_up.digging.frames",                "4"                     },
852   { "player3_left",                             "RocksHeroes.pcx"       },
853   { "player3_left.xpos",                        "0"                     },
854   { "player3_left.ypos",                        "7"                     },
855   { "player3_left.frames",                      "1"                     },
856   { "player3_left.moving",                      "RocksHeroes.pcx"       },
857   { "player3_left.moving.xpos",                 "0"                     },
858   { "player3_left.moving.ypos",                 "7"                     },
859   { "player3_left.moving.frames",               "4"                     },
860   { "player3_left.digging",                     "RocksHeroes.pcx"       },
861   { "player3_left.digging.xpos",                "0"                     },
862   { "player3_left.digging.ypos",                "7"                     },
863   { "player3_left.digging.frames",              "4"                     },
864   { "player3_left.pushing",                     "RocksHeroes.pcx"       },
865   { "player3_left.pushing.xpos",                "4"                     },
866   { "player3_left.pushing.ypos",                "8"                     },
867   { "player3_left.pushing.frames",              "4"                     },
868   { "player3_right",                            "RocksHeroes.pcx"       },
869   { "player3_right.xpos",                       "4"                     },
870   { "player3_right.ypos",                       "7"                     },
871   { "player3_right.frames",                     "1"                     },
872   { "player3_right.moving",                     "RocksHeroes.pcx"       },
873   { "player3_right.moving.xpos",                "4"                     },
874   { "player3_right.moving.ypos",                "7"                     },
875   { "player3_right.moving.frames",              "4"                     },
876   { "player3_right.digging",                    "RocksHeroes.pcx"       },
877   { "player3_right.digging.xpos",               "4"                     },
878   { "player3_right.digging.ypos",               "7"                     },
879   { "player3_right.digging.frames",             "4"                     },
880   { "player3_right.pushing",                    "RocksHeroes.pcx"       },
881   { "player3_right.pushing.xpos",               "0"                     },
882   { "player3_right.pushing.ypos",               "8"                     },
883   { "player3_right.pushing.frames",             "4"                     },
884
885   { "player4_down",                             "RocksHeroes.pcx"       },
886   { "player4_down.xpos",                        "0"                     },
887   { "player4_down.ypos",                        "9"                     },
888   { "player4_down.frames",                      "1"                     },
889   { "player4_down.moving",                      "RocksHeroes.pcx"       },
890   { "player4_down.moving.xpos",                 "0"                     },
891   { "player4_down.moving.ypos",                 "9"                     },
892   { "player4_down.moving.frames",               "4"                     },
893   { "player4_down.digging",                     "RocksHeroes.pcx"       },
894   { "player4_down.digging.xpos",                "0"                     },
895   { "player4_down.digging.ypos",                "9"                     },
896   { "player4_down.digging.frames",              "4"                     },
897   { "player4_up",                               "RocksHeroes.pcx"       },
898   { "player4_up.xpos",                          "4"                     },
899   { "player4_up.ypos",                          "9"                     },
900   { "player4_up.frames",                        "1"                     },
901   { "player4_up.moving",                        "RocksHeroes.pcx"       },
902   { "player4_up.moving.xpos",                   "4"                     },
903   { "player4_up.moving.ypos",                   "9"                     },
904   { "player4_up.moving.frames",                 "4"                     },
905   { "player4_up.digging",                       "RocksHeroes.pcx"       },
906   { "player4_up.digging.xpos",                  "4"                     },
907   { "player4_up.digging.ypos",                  "9"                     },
908   { "player4_up.digging.frames",                "4"                     },
909   { "player4_left",                             "RocksHeroes.pcx"       },
910   { "player4_left.xpos",                        "0"                     },
911   { "player4_left.ypos",                        "10"                    },
912   { "player4_left.frames",                      "1"                     },
913   { "player4_left.moving",                      "RocksHeroes.pcx"       },
914   { "player4_left.moving.xpos",                 "0"                     },
915   { "player4_left.moving.ypos",                 "9"                     },
916   { "player4_left.moving.frames",               "4"                     },
917   { "player4_left.digging",                     "RocksHeroes.pcx"       },
918   { "player4_left.digging.xpos",                "0"                     },
919   { "player4_left.digging.ypos",                "9"                     },
920   { "player4_left.digging.frames",              "4"                     },
921   { "player4_left.pushing",                     "RocksHeroes.pcx"       },
922   { "player4_left.pushing.xpos",                "4"                     },
923   { "player4_left.pushing.ypos",                "11"                    },
924   { "player4_left.pushing.frames",              "4"                     },
925   { "player4_right",                            "RocksHeroes.pcx"       },
926   { "player4_right.xpos",                       "4"                     },
927   { "player4_right.ypos",                       "10"                    },
928   { "player4_right.frames",                     "1"                     },
929   { "player4_right.moving",                     "RocksHeroes.pcx"       },
930   { "player4_right.moving.xpos",                "4"                     },
931   { "player4_right.moving.ypos",                "10"                    },
932   { "player4_right.moving.frames",              "4"                     },
933   { "player4_right.digging",                    "RocksHeroes.pcx"       },
934   { "player4_right.digging.xpos",               "4"                     },
935   { "player4_right.digging.ypos",               "10"                    },
936   { "player4_right.digging.frames",             "4"                     },
937   { "player4_right.pushing",                    "RocksHeroes.pcx"       },
938   { "player4_right.pushing.xpos",               "0"                     },
939   { "player4_right.pushing.ypos",               "11"                    },
940   { "player4_right.pushing.frames",             "4"                     },
941
942   { "wall.growing_down",                        "RocksHeroes.pcx"       },
943   { "wall.growing_down.xpos",                   "0"                     },
944   { "wall.growing_down.ypos",                   "12"                    },
945   { "wall.growing_down.frames",                 "3"                     },
946   { "wall.growing_up",                          "RocksHeroes.pcx"       },
947   { "wall.growing_up.xpos",                     "3"                     },
948   { "wall.growing_up.ypos",                     "12"                    },
949   { "wall.growing_up.frames",                   "3"                     },
950
951   { "shield_passive.activated",                 "RocksHeroes.pcx"       },
952   { "shield_passive.activated.xpos",            "1"                     },
953   { "shield_passive.activated.ypos",            "13"                    },
954   { "shield_passive.activated.frames",          "3"                     },
955   { "shield_passive.activated.pingpong",        "1"                     },
956   { "shield_active.activated",                  "RocksHeroes.pcx"       },
957   { "shield_active.activated.xpos",             "5"                     },
958   { "shield_active.activated.ypos",             "13"                    },
959   { "shield_active.activated.frames",           "3"                     },
960   { "shield_active.activated.pingpong",         "1"                     },
961
962   { "pig_down",                                 "RocksHeroes.pcx"       },
963   { "pig_down.xpos",                            "8"                     },
964   { "pig_down.ypos",                            "0"                     },
965   { "pig_down.frames",                          "1"                     },
966   { "pig_down.moving",                          "RocksHeroes.pcx"       },
967   { "pig_down.moving.xpos",                     "8"                     },
968   { "pig_down.moving.ypos",                     "0"                     },
969   { "pig_down.moving.frames",                   "4"                     },
970   { "pig_down.eating",                          "RocksHeroes.pcx"       },
971   { "pig_down.eating.xpos",                     "8"                     },
972   { "pig_down.eating.ypos",                     "0"                     },
973   { "pig_down.eating.frames",                   "4"                     },
974   { "pig_up",                                   "RocksHeroes.pcx"       },
975   { "pig_up.xpos",                              "12"                    },
976   { "pig_up.ypos",                              "0"                     },
977   { "pig_up.frames",                            "1"                     },
978   { "pig_up.moving",                            "RocksHeroes.pcx"       },
979   { "pig_up.moving.xpos",                       "12"                    },
980   { "pig_up.moving.ypos",                       "0"                     },
981   { "pig_up.moving.frames",                     "4"                     },
982   { "pig_up.eating",                            "RocksHeroes.pcx"       },
983   { "pig_up.eating.xpos",                       "12"                    },
984   { "pig_up.eating.ypos",                       "0"                     },
985   { "pig_up.eating.frames",                     "4"                     },
986   { "pig_left",                                 "RocksHeroes.pcx"       },
987   { "pig_left.xpos",                            "8"                     },
988   { "pig_left.ypos",                            "1"                     },
989   { "pig_left.frames",                          "1"                     },
990   { "pig_left.moving",                          "RocksHeroes.pcx"       },
991   { "pig_left.moving.xpos",                     "8"                     },
992   { "pig_left.moving.ypos",                     "1"                     },
993   { "pig_left.moving.frames",                   "4"                     },
994   { "pig_left.eating",                          "RocksHeroes.pcx"       },
995   { "pig_left.eating.xpos",                     "8"                     },
996   { "pig_left.eating.ypos",                     "1"                     },
997   { "pig_left.eating.frames",                   "4"                     },
998   { "pig_right",                                "RocksHeroes.pcx"       },
999   { "pig_right.xpos",                           "12"                    },
1000   { "pig_right.ypos",                           "1"                     },
1001   { "pig_right.frames",                         "1"                     },
1002   { "pig_right.moving",                         "RocksHeroes.pcx"       },
1003   { "pig_right.moving.xpos",                    "12"                    },
1004   { "pig_right.moving.ypos",                    "1"                     },
1005   { "pig_right.moving.frames",                  "4"                     },
1006   { "pig_right.eating",                         "RocksHeroes.pcx"       },
1007   { "pig_right.eating.xpos",                    "12"                    },
1008   { "pig_right.eating.ypos",                    "1"                     },
1009   { "pig_right.eating.frames",                  "4"                     },
1010
1011   { "dragon_down",                              "RocksHeroes.pcx"       },
1012   { "dragon_down.xpos",                         "8"                     },
1013   { "dragon_down.ypos",                         "2"                     },
1014   { "dragon_down.frames",                       "1"                     },
1015   { "dragon_down.moving",                       "RocksHeroes.pcx"       },
1016   { "dragon_down.moving.xpos",                  "8"                     },
1017   { "dragon_down.moving.ypos",                  "2"                     },
1018   { "dragon_down.moving.frames",                "4"                     },
1019   { "dragon_down.attacking",                    "RocksHeroes.pcx"       },
1020   { "dragon_down.attacking.xpos",               "8"                     },
1021   { "dragon_down.attacking.ypos",               "2"                     },
1022   { "dragon_down.attacking.frames",             "4"                     },
1023   { "dragon_up",                                "RocksHeroes.pcx"       },
1024   { "dragon_up.xpos",                           "12"                    },
1025   { "dragon_up.ypos",                           "2"                     },
1026   { "dragon_up.frames",                         "1"                     },
1027   { "dragon_up.moving",                         "RocksHeroes.pcx"       },
1028   { "dragon_up.moving.xpos",                    "12"                    },
1029   { "dragon_up.moving.ypos",                    "2"                     },
1030   { "dragon_up.moving.frames",                  "4"                     },
1031   { "dragon_up.attacking",                      "RocksHeroes.pcx"       },
1032   { "dragon_up.attacking.xpos",                 "12"                    },
1033   { "dragon_up.attacking.ypos",                 "2"                     },
1034   { "dragon_up.attacking.frames",               "4"                     },
1035   { "dragon_left",                              "RocksHeroes.pcx"       },
1036   { "dragon_left.xpos",                         "8"                     },
1037   { "dragon_left.ypos",                         "3"                     },
1038   { "dragon_left.frames",                       "1"                     },
1039   { "dragon_left.moving",                       "RocksHeroes.pcx"       },
1040   { "dragon_left.moving.xpos",                  "8"                     },
1041   { "dragon_left.moving.ypos",                  "3"                     },
1042   { "dragon_left.moving.frames",                "4"                     },
1043   { "dragon_left.attacking",                    "RocksHeroes.pcx"       },
1044   { "dragon_left.attacking.xpos",               "8"                     },
1045   { "dragon_left.attacking.ypos",               "3"                     },
1046   { "dragon_left.attacking.frames",             "4"                     },
1047   { "dragon_right",                             "RocksHeroes.pcx"       },
1048   { "dragon_right.xpos",                        "12"                    },
1049   { "dragon_right.ypos",                        "3"                     },
1050   { "dragon_right.frames",                      "1"                     },
1051   { "dragon_right.moving",                      "RocksHeroes.pcx"       },
1052   { "dragon_right.moving.xpos",                 "12"                    },
1053   { "dragon_right.moving.ypos",                 "3"                     },
1054   { "dragon_right.moving.frames",               "4"                     },
1055   { "dragon_right.attacking",                   "RocksHeroes.pcx"       },
1056   { "dragon_right.attacking.xpos",              "12"                    },
1057   { "dragon_right.attacking.ypos",              "3"                     },
1058   { "dragon_right.attacking.frames",            "4"                     },
1059
1060   { "mole_down",                                "RocksHeroes.pcx"       },
1061   { "mole_down.xpos",                           "8"                     },
1062   { "mole_down.ypos",                           "4"                     },
1063   { "mole_down.frames",                         "1"                     },
1064   { "mole_down.moving",                         "RocksHeroes.pcx"       },
1065   { "mole_down.moving.xpos",                    "8"                     },
1066   { "mole_down.moving.ypos",                    "4"                     },
1067   { "mole_down.moving.frames",                  "4"                     },
1068   { "mole_down.digging",                        "RocksHeroes.pcx"       },
1069   { "mole_down.digging.xpos",                   "8"                     },
1070   { "mole_down.digging.ypos",                   "4"                     },
1071   { "mole_down.digging.frames",                 "4"                     },
1072   { "mole_up",                                  "RocksHeroes.pcx"       },
1073   { "mole_up.xpos",                             "12"                    },
1074   { "mole_up.ypos",                             "4"                     },
1075   { "mole_up.frames",                           "1"                     },
1076   { "mole_up.moving",                           "RocksHeroes.pcx"       },
1077   { "mole_up.moving.xpos",                      "12"                    },
1078   { "mole_up.moving.ypos",                      "4"                     },
1079   { "mole_up.moving.frames",                    "4"                     },
1080   { "mole_up.digging",                          "RocksHeroes.pcx"       },
1081   { "mole_up.digging.xpos",                     "12"                    },
1082   { "mole_up.digging.ypos",                     "4"                     },
1083   { "mole_up.digging.frames",                   "4"                     },
1084   { "mole_left",                                "RocksHeroes.pcx"       },
1085   { "mole_left.xpos",                           "8"                     },
1086   { "mole_left.ypos",                           "5"                     },
1087   { "mole_left.frames",                         "1"                     },
1088   { "mole_left.moving",                         "RocksHeroes.pcx"       },
1089   { "mole_left.moving.xpos",                    "8"                     },
1090   { "mole_left.moving.ypos",                    "5"                     },
1091   { "mole_left.moving.frames",                  "4"                     },
1092   { "mole_left.digging",                        "RocksHeroes.pcx"       },
1093   { "mole_left.digging.xpos",                   "8"                     },
1094   { "mole_left.digging.ypos",                   "5"                     },
1095   { "mole_left.digging.frames",                 "4"                     },
1096   { "mole_right",                               "RocksHeroes.pcx"       },
1097   { "mole_right.xpos",                          "12"                    },
1098   { "mole_right.ypos",                          "5"                     },
1099   { "mole_right.frames",                        "1"                     },
1100   { "mole_right.moving",                        "RocksHeroes.pcx"       },
1101   { "mole_right.moving.xpos",                   "12"                    },
1102   { "mole_right.moving.ypos",                   "5"                     },
1103   { "mole_right.moving.frames",                 "4"                     },
1104   { "mole_right.digging",                       "RocksHeroes.pcx"       },
1105   { "mole_right.digging.xpos",                  "12"                    },
1106   { "mole_right.digging.ypos",                  "5"                     },
1107   { "mole_right.digging.frames",                "4"                     },
1108
1109   { "penguin_down",                             "RocksHeroes.pcx"       },
1110   { "penguin_down.xpos",                        "8"                     },
1111   { "penguin_down.ypos",                        "6"                     },
1112   { "penguin_down.frames",                      "1"                     },
1113   { "penguin_down.moving",                      "RocksHeroes.pcx"       },
1114   { "penguin_down.moving.xpos",                 "8"                     },
1115   { "penguin_down.moving.ypos",                 "6"                     },
1116   { "penguin_down.moving.frames",               "4"                     },
1117   { "penguin_up",                               "RocksHeroes.pcx"       },
1118   { "penguin_up.xpos",                          "12"                    },
1119   { "penguin_up.ypos",                          "6"                     },
1120   { "penguin_up.frames",                        "1"                     },
1121   { "penguin_up.moving",                        "RocksHeroes.pcx"       },
1122   { "penguin_up.moving.xpos",                   "12"                    },
1123   { "penguin_up.moving.ypos",                   "6"                     },
1124   { "penguin_up.moving.frames",                 "4"                     },
1125   { "penguin_left",                             "RocksHeroes.pcx"       },
1126   { "penguin_left.xpos",                        "8"                     },
1127   { "penguin_left.ypos",                        "7"                     },
1128   { "penguin_left.frames",                      "1"                     },
1129   { "penguin_left.moving",                      "RocksHeroes.pcx"       },
1130   { "penguin_left.moving.xpos",                 "8"                     },
1131   { "penguin_left.moving.ypos",                 "7"                     },
1132   { "penguin_left.moving.frames",               "4"                     },
1133   { "penguin_right",                            "RocksHeroes.pcx"       },
1134   { "penguin_right.xpos",                       "12"                    },
1135   { "penguin_right.ypos",                       "7"                     },
1136   { "penguin_right.frames",                     "1"                     },
1137   { "penguin_right.moving",                     "RocksHeroes.pcx"       },
1138   { "penguin_right.moving.xpos",                "12"                    },
1139   { "penguin_right.moving.ypos",                "7"                     },
1140   { "penguin_right.moving.frames",              "4"                     },
1141
1142   { "satellite",                                "RocksHeroes.pcx"       },
1143   { "satellite.xpos",                           "8"                     },
1144   { "satellite.ypos",                           "9"                     },
1145   { "satellite.frames",                         "1"                     },
1146   { "satellite.moving",                         "RocksHeroes.pcx"       },
1147   { "satellite.moving.xpos",                    "8"                     },
1148   { "satellite.moving.ypos",                    "9"                     },
1149   { "satellite.moving.frames",                  "8"                     },
1150
1151   { "acid.splashing_left",                      "RocksHeroes.pcx"       },
1152   { "acid.splashing_left.xpos",                 "8"                     },
1153   { "acid.splashing_left.ypos",                 "10"                    },
1154   { "acid.splashing_left.frames",               "4"                     },
1155   { "acid.splashing_right",                     "RocksHeroes.pcx"       },
1156   { "acid.splashing_right.xpos",                "12"                    },
1157   { "acid.splashing_right.ypos",                "10"                    },
1158   { "acid.splashing_right.frames",              "4"                     },
1159
1160   { "sparkling_blue",                           "RocksHeroes.pcx"       },
1161   { "sparkling_blue.xpos",                      "8"                     },
1162   { "sparkling_blue.ypos",                      "11"                    },
1163   { "sparkling_blue.frames",                    "3"                     },
1164   { "sparkling_blue.pingpong",                  "1"                     },
1165   { "sparkling_white",                          "RocksHeroes.pcx"       },
1166   { "sparkling_white.xpos",                     "8"                     },
1167   { "sparkling_white.ypos",                     "11"                    },
1168   { "sparkling_white.frames",                   "3"                     },
1169   { "sparkling_white.pingpong",                 "1"                     },
1170
1171   { "flames_left1",                             "RocksHeroes.pcx"       },
1172   { "flames_left1.xpos",                        "8"                     },
1173   { "flames_left1.ypos",                        "12"                    },
1174   { "flames_left1.frames",                      "2"                     },
1175   { "flames_left2",                             "RocksHeroes.pcx"       },
1176   { "flames_left2.xpos",                        "9"                     },
1177   { "flames_left2.ypos",                        "12"                    },
1178   { "flames_left2.frames",                      "2"                     },
1179   { "flames_left3",                             "RocksHeroes.pcx"       },
1180   { "flames_left3.xpos",                        "10"                    },
1181   { "flames_left3.ypos",                        "12"                    },
1182   { "flames_left3.frames",                      "2"                     },
1183
1184   { "flames_right1",                            "RocksHeroes.pcx"       },
1185   { "flames_right1.xpos",                       "8"                     },
1186   { "flames_right1.ypos",                       "13"                    },
1187   { "flames_right1.frames",                     "2"                     },
1188   { "flames_right2",                            "RocksHeroes.pcx"       },
1189   { "flames_right2.xpos",                       "9"                     },
1190   { "flames_right2.ypos",                       "13"                    },
1191   { "flames_right2.frames",                     "2"                     },
1192   { "flames_right3",                            "RocksHeroes.pcx"       },
1193   { "flames_right3.xpos",                       "10"                    },
1194   { "flames_right3.ypos",                       "13"                    },
1195   { "flames_right3.frames",                     "2"                     },
1196
1197   { "flames_up1",                               "RocksHeroes.pcx"       },
1198   { "flames_up1.xpos",                          "8"                     },
1199   { "flames_up1.ypos",                          "14"                    },
1200   { "flames_up1.frames",                        "2"                     },
1201   { "flames_up2",                               "RocksHeroes.pcx"       },
1202   { "flames_up2.xpos",                          "9"                     },
1203   { "flames_up2.ypos",                          "14"                    },
1204   { "flames_up2.frames",                        "2"                     },
1205   { "flames_up3",                               "RocksHeroes.pcx"       },
1206   { "flames_up3.xpos",                          "10"                    },
1207   { "flames_up3.ypos",                          "14"                    },
1208   { "flames_up3.frames",                        "2"                     },
1209
1210   { "flames_down1",                             "RocksHeroes.pcx"       },
1211   { "flames_down1.xpos",                        "8"                     },
1212   { "flames_down1.ypos",                        "15"                    },
1213   { "flames_down1.frames",                      "2"                     },
1214   { "flames_down2",                             "RocksHeroes.pcx"       },
1215   { "flames_down2.xpos",                        "9"                     },
1216   { "flames_down2.ypos",                        "15"                    },
1217   { "flames_down2.frames",                      "2"                     },
1218   { "flames_down3",                             "RocksHeroes.pcx"       },
1219   { "flames_down3.xpos",                        "10"                    },
1220   { "flames_down3.ypos",                        "15"                    },
1221   { "flames_down3.frames",                      "2"                     },
1222
1223   { "sp_empty_space",                           "RocksSP.pcx"           },
1224   { "sp_empty_space.xpos",                      "0"                     },
1225   { "sp_empty_space.ypos",                      "0"                     },
1226   { "sp_empty_space.frames",                    "1"                     },
1227
1228   { "sp_zonk",                                  "RocksSP.pcx"           },
1229   { "sp_zonk.xpos",                             "1"                     },
1230   { "sp_zonk.ypos",                             "0"                     },
1231   { "sp_zonk.frames",                           "1"                     },
1232   { "sp_zonk.falling",                          "RocksSP.pcx"           },
1233   { "sp_zonk.falling.xpos",                     "1"                     },
1234   { "sp_zonk.falling.ypos",                     "0"                     },
1235   { "sp_zonk.falling.frames",                   "1"                     },
1236   { "sp_zonk.pushing",                          "RocksSP.pcx"           },
1237   { "sp_zonk.pushing.xpos",                     "0"                     },
1238   { "sp_zonk.pushing.ypos",                     "6"                     },
1239   { "sp_zonk.pushing.frames",                   "4"                     },
1240
1241   { "sp_base",                                  "RocksSP.pcx"           },
1242   { "sp_base.xpos",                             "2"                     },
1243   { "sp_base.ypos",                             "0"                     },
1244   { "sp_base.frames",                           "1"                     },
1245
1246   { "sp_murphy",                                "RocksSP.pcx"           },
1247   { "sp_murphy.xpos",                           "3"                     },
1248   { "sp_murphy.ypos",                           "0"                     },
1249   { "sp_murphy.frames",                         "1"                     },
1250
1251   { "sp_murphy_left",                           "RocksSP.pcx"           },
1252   { "sp_murphy_left.xpos",                      "8"                     },
1253   { "sp_murphy_left.ypos",                      "0"                     },
1254   { "sp_murphy_left.frames",                    "1"                     },
1255   { "sp_murphy_left.moving",                    "RocksSP.pcx"           },
1256   { "sp_murphy_left.moving.xpos",               "8"                     },
1257   { "sp_murphy_left.moving.ypos",               "0"                     },
1258   { "sp_murphy_left.moving.frames",             "3"                     },
1259   { "sp_murphy_left.moving.pingpong",           "1"                     },
1260   { "sp_murphy_left.digging",                   "RocksSP.pcx"           },
1261   { "sp_murphy_left.digging.xpos",              "8"                     },
1262   { "sp_murphy_left.digging.ypos",              "0"                     },
1263   { "sp_murphy_left.digging.frames",            "3"                     },
1264   { "sp_murphy_left.digging.pingpong",          "1"                     },
1265   { "sp_murphy_left.pushing",                   "RocksSP.pcx"           },
1266   { "sp_murphy_left.pushing.xpos",              "11"                    },
1267   { "sp_murphy_left.pushing.ypos",              "1"                     },
1268   { "sp_murphy_left.pushing.frames",            "1"                     },
1269   { "sp_murphy_left.snapping",                  "RocksSP.pcx"           },
1270   { "sp_murphy_left.snapping.xpos",             "9"                     },
1271   { "sp_murphy_left.snapping.ypos",             "1"                     },
1272   { "sp_murphy_left.snapping.frames",           "1"                     },
1273
1274   { "sp_murphy_right",                          "RocksSP.pcx"           },
1275   { "sp_murphy_right.xpos",                     "11"                    },
1276   { "sp_murphy_right.ypos",                     "0"                     },
1277   { "sp_murphy_right.frames",                   "1"                     },
1278   { "sp_murphy_right.moving",                   "RocksSP.pcx"           },
1279   { "sp_murphy_right.moving.xpos",              "11"                    },
1280   { "sp_murphy_right.moving.ypos",              "0"                     },
1281   { "sp_murphy_right.moving.frames",            "3"                     },
1282   { "sp_murphy_right.moving.pingpong",          "1"                     },
1283   { "sp_murphy_right.digging",                  "RocksSP.pcx"           },
1284   { "sp_murphy_right.digging.xpos",             "11"                    },
1285   { "sp_murphy_right.digging.ypos",             "0"                     },
1286   { "sp_murphy_right.digging.frames",           "3"                     },
1287   { "sp_murphy_right.digging.pingpong",         "1"                     },
1288   { "sp_murphy_right.pushing",                  "RocksSP.pcx"           },
1289   { "sp_murphy_right.pushing.xpos",             "10"                    },
1290   { "sp_murphy_right.pushing.ypos",             "1"                     },
1291   { "sp_murphy_right.pushing.frames",           "1"                     },
1292   { "sp_murphy_right.snapping",                 "RocksSP.pcx"           },
1293   { "sp_murphy_right.snapping.xpos",            "8"                     },
1294   { "sp_murphy_right.snapping.ypos",            "1"                     },
1295   { "sp_murphy_right.snapping.frames",          "1"                     },
1296
1297   { "sp_murphy_up",                             "RocksSP.pcx"           },
1298   { "sp_murphy_up.xpos",                        "14"                    },
1299   { "sp_murphy_up.ypos",                        "0"                     },
1300   { "sp_murphy_up.frames",                      "1"                     },
1301   { "sp_murphy_up.snapping",                    "RocksSP.pcx"           },
1302   { "sp_murphy_up.snapping.xpos",               "14"                    },
1303   { "sp_murphy_up.snapping.ypos",               "0"                     },
1304   { "sp_murphy_up.snapping.frames",             "1"                     },
1305
1306   { "sp_murphy_down",                           "RocksSP.pcx"           },
1307   { "sp_murphy_down.xpos",                      "15"                    },
1308   { "sp_murphy_down.ypos",                      "0"                     },
1309   { "sp_murphy_down.frames",                    "1"                     },
1310   { "sp_murphy_down.snapping",                  "RocksSP.pcx"           },
1311   { "sp_murphy_down.snapping.xpos",             "15"                    },
1312   { "sp_murphy_down.snapping.ypos",             "0"                     },
1313   { "sp_murphy_down.snapping.frames",           "1"                     },
1314
1315   { "sp_murphy_clone",                          "RocksSP.pcx"           },
1316   { "sp_murphy_clone.xpos",                     "3"                     },
1317   { "sp_murphy_clone.ypos",                     "0"                     },
1318   { "sp_murphy_clone.frames",                   "1"                     },
1319
1320   { "sp_infotron",                              "RocksSP.pcx"           },
1321   { "sp_infotron.xpos",                         "4"                     },
1322   { "sp_infotron.ypos",                         "0"                     },
1323   { "sp_infotron.frames",                       "1"                     },
1324   { "sp_infotron.falling",                      "RocksSP.pcx"           },
1325   { "sp_infotron.falling.xpos",                 "4"                     },
1326   { "sp_infotron.falling.ypos",                 "0"                     },
1327   { "sp_infotron.falling.frames",               "1"                     },
1328
1329   { "sp_chip_single",                           "RocksSP.pcx"           },
1330   { "sp_chip_single.xpos",                      "5"                     },
1331   { "sp_chip_single.ypos",                      "0"                     },
1332   { "sp_chip_single.frames",                    "1"                     },
1333   { "sp_chip_left",                             "RocksSP.pcx"           },
1334   { "sp_chip_left.xpos",                        "2"                     },
1335   { "sp_chip_left.ypos",                        "3"                     },
1336   { "sp_chip_left.frames",                      "1"                     },
1337   { "sp_chip_right",                            "RocksSP.pcx"           },
1338   { "sp_chip_right.xpos",                       "3"                     },
1339   { "sp_chip_right.ypos",                       "3"                     },
1340   { "sp_chip_right.frames",                     "1"                     },
1341   { "sp_chip_upper",                            "RocksSP.pcx"           },
1342   { "sp_chip_upper.xpos",                       "6"                     },
1343   { "sp_chip_upper.ypos",                       "4"                     },
1344   { "sp_chip_upper.frames",                     "1"                     },
1345   { "sp_chip_lower",                            "RocksSP.pcx"           },
1346   { "sp_chip_lower.xpos",                       "7"                     },
1347   { "sp_chip_lower.ypos",                       "4"                     },
1348   { "sp_chip_lower.frames",                     "1"                     },
1349
1350   { "sp_hard_gray",                             "RocksSP.pcx"           },
1351   { "sp_hard_gray.xpos",                        "6"                     },
1352   { "sp_hard_gray.ypos",                        "0"                     },
1353   { "sp_hard_gray.frames",                      "1"                     },
1354   { "sp_hard_green",                            "RocksSP.pcx"           },
1355   { "sp_hard_green.xpos",                       "5"                     },
1356   { "sp_hard_green.ypos",                       "3"                     },
1357   { "sp_hard_green.frames",                     "1"                     },
1358   { "sp_hard_blue",                             "RocksSP.pcx"           },
1359   { "sp_hard_blue.xpos",                        "6"                     },
1360   { "sp_hard_blue.ypos",                        "3"                     },
1361   { "sp_hard_blue.frames",                      "1"                     },
1362   { "sp_hard_red",                              "RocksSP.pcx"           },
1363   { "sp_hard_red.xpos",                         "7"                     },
1364   { "sp_hard_red.ypos",                         "3"                     },
1365   { "sp_hard_red.frames",                       "1"                     },
1366   { "sp_hard_yellow",                           "RocksSP.pcx"           },
1367   { "sp_hard_yellow.xpos",                      "0"                     },
1368   { "sp_hard_yellow.ypos",                      "4"                     },
1369   { "sp_hard_yellow.frames",                    "1"                     },
1370
1371   { "sp_exit_closed",                           "RocksSP.pcx"           },
1372   { "sp_exit_closed.xpos",                      "7"                     },
1373   { "sp_exit_closed.ypos",                      "0"                     },
1374   { "sp_exit_closed.frames",                    "1"                     },
1375   { "sp_exit_open",                             "RocksSP.pcx"           },
1376   { "sp_exit_open.xpos",                        "7"                     },
1377   { "sp_exit_open.ypos",                        "0"                     },
1378   { "sp_exit_open.frames",                      "1"                     },
1379
1380   { "sp_disk_orange",                           "RocksSP.pcx"           },
1381   { "sp_disk_orange.xpos",                      "0"                     },
1382   { "sp_disk_orange.ypos",                      "1"                     },
1383   { "sp_disk_orange.frames",                    "1"                     },
1384   { "sp_disk_orange.falling",                   "RocksSP.pcx"           },
1385   { "sp_disk_orange.falling.xpos",              "0"                     },
1386   { "sp_disk_orange.falling.ypos",              "1"                     },
1387   { "sp_disk_orange.falling.frames",            "1"                     },
1388   { "sp_disk_orange.pushing",                   "RocksSP.pcx"           },
1389   { "sp_disk_orange.pushing.xpos",              "0"                     },
1390   { "sp_disk_orange.pushing.ypos",              "1"                     },
1391   { "sp_disk_orange.pushing.frames",            "1"                     },
1392
1393   { "sp_disk_yellow",                           "RocksSP.pcx"           },
1394   { "sp_disk_yellow.xpos",                      "2"                     },
1395   { "sp_disk_yellow.ypos",                      "2"                     },
1396   { "sp_disk_yellow.frames",                    "1"                     },
1397   { "sp_disk_yellow.pushing",                   "RocksSP.pcx"           },
1398   { "sp_disk_yellow.pushing.xpos",              "2"                     },
1399   { "sp_disk_yellow.pushing.ypos",              "2"                     },
1400   { "sp_disk_yellow.pushing.frames",            "1"                     },
1401
1402   { "sp_disk_red",                              "RocksSP.pcx"           },
1403   { "sp_disk_red.xpos",                         "4"                     },
1404   { "sp_disk_red.ypos",                         "2"                     },
1405   { "sp_disk_red.frames",                       "1"                     },
1406   { "sp_disk_red.collecting",                   "RocksSP.pcx"           },
1407   { "sp_disk_red.collecting.xpos",              "8"                     },
1408   { "sp_disk_red.collecting.ypos",              "5"                     },
1409   { "sp_disk_red.collecting.frames",            "8"                     },
1410
1411   { "sp_port1_right",                           "RocksSP.pcx"           },
1412   { "sp_port1_right.xpos",                      "1"                     },
1413   { "sp_port1_right.ypos",                      "1"                     },
1414   { "sp_port1_right.frames",                    "1"                     },
1415   { "sp_port1_down",                            "RocksSP.pcx"           },
1416   { "sp_port1_down.xpos",                       "2"                     },
1417   { "sp_port1_down.ypos",                       "1"                     },
1418   { "sp_port1_down.frames",                     "1"                     },
1419   { "sp_port1_left",                            "RocksSP.pcx"           },
1420   { "sp_port1_left.xpos",                       "3"                     },
1421   { "sp_port1_left.ypos",                       "1"                     },
1422   { "sp_port1_left.frames",                     "1"                     },
1423   { "sp_port1_up",                              "RocksSP.pcx"           },
1424   { "sp_port1_up.xpos",                         "4"                     },
1425   { "sp_port1_up.ypos",                         "1"                     },
1426   { "sp_port1_up.frames",                       "1"                     },
1427   { "sp_port2_right",                           "RocksSP.pcx"           },
1428   { "sp_port2_right.xpos",                      "5"                     },
1429   { "sp_port2_right.ypos",                      "1"                     },
1430   { "sp_port2_right.frames",                    "1"                     },
1431   { "sp_port2_down",                            "RocksSP.pcx"           },
1432   { "sp_port2_down.xpos",                       "6"                     },
1433   { "sp_port2_down.ypos",                       "1"                     },
1434   { "sp_port2_down.frames",                     "1"                     },
1435   { "sp_port2_left",                            "RocksSP.pcx"           },
1436   { "sp_port2_left.xpos",                       "7"                     },
1437   { "sp_port2_left.ypos",                       "1"                     },
1438   { "sp_port2_left.frames",                     "1"                     },
1439   { "sp_port2_up",                              "RocksSP.pcx"           },
1440   { "sp_port2_up.xpos",                         "0"                     },
1441   { "sp_port2_up.ypos",                         "2"                     },
1442   { "sp_port2_up.frames",                       "1"                     },
1443   { "sp_port_x",                                "RocksSP.pcx"           },
1444   { "sp_port_x.xpos",                           "6"                     },
1445   { "sp_port_x.ypos",                           "2"                     },
1446   { "sp_port_x.frames",                         "1"                     },
1447   { "sp_port_y",                                "RocksSP.pcx"           },
1448   { "sp_port_y.xpos",                           "5"                     },
1449   { "sp_port_y.ypos",                           "2"                     },
1450   { "sp_port_y.frames",                         "1"                     },
1451   { "sp_port_xy",                               "RocksSP.pcx"           },
1452   { "sp_port_xy.xpos",                          "7"                     },
1453   { "sp_port_xy.ypos",                          "2"                     },
1454   { "sp_port_xy.frames",                        "1"                     },
1455
1456   { "sp_sniksnak",                              "RocksSP.pcx"           },
1457   { "sp_sniksnak.xpos",                         "1"                     },
1458   { "sp_sniksnak.ypos",                         "2"                     },
1459   { "sp_sniksnak.frames",                       "1"                     },
1460   { "sp_sniksnak_left",                         "RocksSP.pcx"           },
1461   { "sp_sniksnak_left.xpos",                    "8"                     },
1462   { "sp_sniksnak_left.ypos",                    "8"                     },
1463   { "sp_sniksnak_left.frames",                  "1"                     },
1464   { "sp_sniksnak_left.moving",                  "RocksSP.pcx"           },
1465   { "sp_sniksnak_left.moving.xpos",             "8"                     },
1466   { "sp_sniksnak_left.moving.ypos",             "8"                     },
1467   { "sp_sniksnak_left.moving.frames",           "4"                     },
1468   { "sp_sniksnak_left.moving.pingpong",         "1"                     },
1469   { "sp_sniksnak_right",                        "RocksSP.pcx"           },
1470   { "sp_sniksnak_right.xpos",                   "12"                    },
1471   { "sp_sniksnak_right.ypos",                   "8"                     },
1472   { "sp_sniksnak_right.frames",                 "1"                     },
1473   { "sp_sniksnak_right.moving",                 "RocksSP.pcx"           },
1474   { "sp_sniksnak_right.moving.xpos",            "12"                    },
1475   { "sp_sniksnak_right.moving.ypos",            "8"                     },
1476   { "sp_sniksnak_right.moving.frames",          "4"                     },
1477   { "sp_sniksnak_right.moving.pingpong",        "1"                     },
1478   { "sp_sniksnak_up",                           "RocksSP.pcx"           },
1479   { "sp_sniksnak_up.xpos",                      "8"                     },
1480   { "sp_sniksnak_up.ypos",                      "9"                     },
1481   { "sp_sniksnak_up.frames",                    "1"                     },
1482   { "sp_sniksnak_up.moving",                    "RocksSP.pcx"           },
1483   { "sp_sniksnak_up.moving.xpos",               "8"                     },
1484   { "sp_sniksnak_up.moving.ypos",               "9"                     },
1485   { "sp_sniksnak_up.moving.frames",             "4"                     },
1486   { "sp_sniksnak_up.moving.pingpong",           "1"                     },
1487   { "sp_sniksnak_down",                         "RocksSP.pcx"           },
1488   { "sp_sniksnak_down.xpos",                    "12"                    },
1489   { "sp_sniksnak_down.ypos",                    "9"                     },
1490   { "sp_sniksnak_down.frames",                  "1"                     },
1491   { "sp_sniksnak_down.moving",                  "RocksSP.pcx"           },
1492   { "sp_sniksnak_down.moving.xpos",             "12"                    },
1493   { "sp_sniksnak_down.moving.ypos",             "9"                     },
1494   { "sp_sniksnak_down.moving.frames",           "4"                     },
1495   { "sp_sniksnak_down.moving.pingpong",         "1"                     },
1496
1497   { "sp_electron",                              "RocksSP.pcx"           },
1498   { "sp_electron.xpos",                         "0"                     },
1499   { "sp_electron.ypos",                         "3"                     },
1500   { "sp_electron.frames",                       "1"                     },
1501   { "sp_electron.moving",                       "RocksSP.pcx"           },
1502   { "sp_electron.moving.xpos",                  "8"                     },
1503   { "sp_electron.moving.ypos",                  "10"                    },
1504   { "sp_electron.moving.frames",                "8"                     },
1505
1506   { "sp_terminal",                              "RocksSP.pcx"           },
1507   { "sp_terminal.xpos",                         "3"                     },
1508   { "sp_terminal.ypos",                         "2"                     },
1509   { "sp_terminal.frames",                       "1"                     },
1510   { "sp_terminal.running",                      "RocksSP.pcx"           },
1511   { "sp_terminal.running.xpos",                 "8"                     },
1512   { "sp_terminal.running.ypos",                 "11"                    },
1513   { "sp_terminal.running.frames",               "7"                     },
1514   { "sp_terminal_active",                       "RocksSP.pcx"           },
1515   { "sp_terminal_active.xpos",                  "8"                     },
1516   { "sp_terminal_active.ypos",                  "12"                    },
1517   { "sp_terminal_active.frames",                "1"                     },
1518   { "sp_terminal_active.running",               "RocksSP.pcx"           },
1519   { "sp_terminal_active.running.xpos",          "8"                     },
1520   { "sp_terminal_active.running.ypos",          "12"                    },
1521   { "sp_terminal_active.running.frames",        "7"                     },
1522
1523   { "sp_buggy_base",                            "RocksSP.pcx"           },
1524   { "sp_buggy_base.xpos",                       "1"                     },
1525   { "sp_buggy_base.ypos",                       "3"                     },
1526   { "sp_buggy_base.frames",                     "1"                     },
1527   { "sp_buggy_base.activating",                 "RocksSP.pcx"           },
1528   { "sp_buggy_base.activating.xpos",            "8"                     },
1529   { "sp_buggy_base.activating.ypos",            "6"                     },
1530   { "sp_buggy_base.activating.frames",          "4"                     },
1531
1532   { "sp_hard_base1",                            "RocksSP.pcx"           },
1533   { "sp_hard_base1.xpos",                       "4"                     },
1534   { "sp_hard_base1.ypos",                       "3"                     },
1535   { "sp_hard_base1.frames",                     "1"                     },
1536   { "sp_hard_base2",                            "RocksSP.pcx"           },
1537   { "sp_hard_base2.xpos",                       "1"                     },
1538   { "sp_hard_base2.ypos",                       "4"                     },
1539   { "sp_hard_base2.frames",                     "1"                     },
1540   { "sp_hard_base3",                            "RocksSP.pcx"           },
1541   { "sp_hard_base3.xpos",                       "2"                     },
1542   { "sp_hard_base3.ypos",                       "4"                     },
1543   { "sp_hard_base3.frames",                     "1"                     },
1544   { "sp_hard_base4",                            "RocksSP.pcx"           },
1545   { "sp_hard_base4.xpos",                       "3"                     },
1546   { "sp_hard_base4.ypos",                       "4"                     },
1547   { "sp_hard_base4.frames",                     "1"                     },
1548   { "sp_hard_base5",                            "RocksSP.pcx"           },
1549   { "sp_hard_base5.xpos",                       "4"                     },
1550   { "sp_hard_base5.ypos",                       "4"                     },
1551   { "sp_hard_base5.frames",                     "1"                     },
1552   { "sp_hard_base6",                            "RocksSP.pcx"           },
1553   { "sp_hard_base6.xpos",                       "5"                     },
1554   { "sp_hard_base6.ypos",                       "4"                     },
1555   { "sp_hard_base6.frames",                     "1"                     },
1556
1557   { "invisible_steelwall",                      "RocksSP.pcx"           },
1558   { "invisible_steelwall.xpos",                 "3"                     },
1559   { "invisible_steelwall.ypos",                 "5"                     },
1560   { "invisible_steelwall.frames",               "1"                     },
1561   { "invisible_steelwall_on",                   "RocksSP.pcx"           },
1562   { "invisible_steelwall_on.xpos",              "1"                     },
1563   { "invisible_steelwall_on.ypos",              "5"                     },
1564   { "invisible_steelwall_on.frames",            "1"                     },
1565
1566   { "invisible_sand",                           "RocksSP.pcx"           },
1567   { "invisible_sand.xpos",                      "6"                     },
1568   { "invisible_sand.ypos",                      "5"                     },
1569   { "invisible_sand.frames",                    "1"                     },
1570   { "invisible_sand_on",                        "RocksSP.pcx"           },
1571   { "invisible_sand_on.xpos",                   "2"                     },
1572   { "invisible_sand_on.ypos",                   "5"                     },
1573   { "invisible_sand_on.frames",                 "1"                     },
1574
1575   { "invisible_wall",                           "RocksSP.pcx"           },
1576   { "invisible_wall.xpos",                      "7"                     },
1577   { "invisible_wall.ypos",                      "5"                     },
1578   { "invisible_wall.frames",                    "1"                     },
1579   { "invisible_wall_on",                        "RocksSP.pcx"           },
1580   { "invisible_wall_on.xpos",                   "5"                     },
1581   { "invisible_wall_on.ypos",                   "5"                     },
1582   { "invisible_wall_on.frames",                 "1"                     },
1583
1584   { "em_key1",                                  "RocksSP.pcx"           },
1585   { "em_key1.xpos",                             "4"                     },
1586   { "em_key1.ypos",                             "6"                     },
1587   { "em_key1.frames",                           "1"                     },
1588   { "em_key2",                                  "RocksSP.pcx"           },
1589   { "em_key2.xpos",                             "5"                     },
1590   { "em_key2.ypos",                             "6"                     },
1591   { "em_key2.frames",                           "1"                     },
1592   { "em_key3",                                  "RocksSP.pcx"           },
1593   { "em_key3.xpos",                             "6"                     },
1594   { "em_key3.ypos",                             "6"                     },
1595   { "em_key3.frames",                           "1"                     },
1596   { "em_key4",                                  "RocksSP.pcx"           },
1597   { "em_key4.xpos",                             "7"                     },
1598   { "em_key4.ypos",                             "6"                     },
1599   { "em_key4.frames",                           "1"                     },
1600
1601   { "em_gate1",                                 "RocksSP.pcx"           },
1602   { "em_gate1.xpos",                            "0"                     },
1603   { "em_gate1.ypos",                            "7"                     },
1604   { "em_gate1.frames",                          "1"                     },
1605   { "em_gate2",                                 "RocksSP.pcx"           },
1606   { "em_gate2.xpos",                            "1"                     },
1607   { "em_gate2.ypos",                            "7"                     },
1608   { "em_gate2.frames",                          "1"                     },
1609   { "em_gate3",                                 "RocksSP.pcx"           },
1610   { "em_gate3.xpos",                            "2"                     },
1611   { "em_gate3.ypos",                            "7"                     },
1612   { "em_gate3.frames",                          "1"                     },
1613   { "em_gate4",                                 "RocksSP.pcx"           },
1614   { "em_gate4.xpos",                            "3"                     },
1615   { "em_gate4.ypos",                            "7"                     },
1616   { "em_gate4.frames",                          "1"                     },
1617   { "em_gate1_gray",                            "RocksSP.pcx"           },
1618   { "em_gate1_gray.xpos",                       "4"                     },
1619   { "em_gate1_gray.ypos",                       "7"                     },
1620   { "em_gate1_gray.frames",                     "1"                     },
1621   { "em_gate2_gray",                            "RocksSP.pcx"           },
1622   { "em_gate2_gray.xpos",                       "5"                     },
1623   { "em_gate2_gray.ypos",                       "7"                     },
1624   { "em_gate2_gray.frames",                     "1"                     },
1625   { "em_gate3_gray",                            "RocksSP.pcx"           },
1626   { "em_gate3_gray.xpos",                       "6"                     },
1627   { "em_gate3_gray.ypos",                       "7"                     },
1628   { "em_gate3_gray.frames",                     "1"                     },
1629   { "em_gate4_gray",                            "RocksSP.pcx"           },
1630   { "em_gate4_gray.xpos",                       "7"                     },
1631   { "em_gate4_gray.ypos",                       "7"                     },
1632   { "em_gate4_gray.frames",                     "1"                     },
1633
1634   { "sp_explosion",                             "RocksSP.pcx"           },
1635   { "sp_explosion.xpos",                        "8"                     },
1636   { "sp_explosion.ypos",                        "3"                     },
1637   { "sp_explosion.frames",                      "8"                     },
1638   { "sp_explosion_infotron",                    "RocksSP.pcx"           },
1639   { "sp_explosion_infotron.xpos",               "8"                     },
1640   { "sp_explosion_infotron.ypos",               "4"                     },
1641   { "sp_explosion_infotron.frames",             "8"                     },
1642
1643   { "conveyor_belt1_middle",                    "RocksDC.pcx"           },
1644   { "conveyor_belt1_middle.xpos",               "0"                     },
1645   { "conveyor_belt1_middle.ypos",               "0"                     },
1646   { "conveyor_belt1_middle.frames",             "1"                     },
1647   { "conveyor_belt1_middle.running",            "RocksDC.pcx"           },
1648   { "conveyor_belt1_middle.running.xpos",       "0"                     },
1649   { "conveyor_belt1_middle.running.ypos",       "0"                     },
1650   { "conveyor_belt1_middle.running.frames",     "8"                     },
1651   { "conveyor_belt1_left",                      "RocksDC.pcx"           },
1652   { "conveyor_belt1_left.xpos",                 "0"                     },
1653   { "conveyor_belt1_left.ypos",                 "1"                     },
1654   { "conveyor_belt1_left.frames",               "1"                     },
1655   { "conveyor_belt1_left.running",              "RocksDC.pcx"           },
1656   { "conveyor_belt1_left.running.xpos",         "0"                     },
1657   { "conveyor_belt1_left.running.ypos",         "1"                     },
1658   { "conveyor_belt1_left.running.frames",       "8"                     },
1659   { "conveyor_belt1_right",                     "RocksDC.pcx"           },
1660   { "conveyor_belt1_right.xpos",                "0"                     },
1661   { "conveyor_belt1_right.ypos",                "2"                     },
1662   { "conveyor_belt1_right.frames",              "1"                     },
1663   { "conveyor_belt1_right.running",             "RocksDC.pcx"           },
1664   { "conveyor_belt1_right.running.xpos",        "0"                     },
1665   { "conveyor_belt1_right.running.ypos",        "2"                     },
1666   { "conveyor_belt1_right.running.frames",      "8"                     },
1667   { "conveyor_belt1_switch_left",               "RocksDC.pcx"           },
1668   { "conveyor_belt1_switch_left.xpos",          "0"                     },
1669   { "conveyor_belt1_switch_left.ypos",          "12"                    },
1670   { "conveyor_belt1_switch_left.frames",        "1"                     },
1671   { "conveyor_belt1_switch_middle",             "RocksDC.pcx"           },
1672   { "conveyor_belt1_switch_middle.xpos",        "0"                     },
1673   { "conveyor_belt1_switch_middle.ypos",        "13"                    },
1674   { "conveyor_belt1_switch_middle.frames",      "1"                     },
1675   { "conveyor_belt1_switch_right",              "RocksDC.pcx"           },
1676   { "conveyor_belt1_switch_right.xpos",         "0"                     },
1677   { "conveyor_belt1_switch_right.ypos",         "14"                    },
1678   { "conveyor_belt1_switch_right.frames",       "1"                     },
1679
1680   { "conveyor_belt2_middle",                    "RocksDC.pcx"           },
1681   { "conveyor_belt2_middle.xpos",               "0"                     },
1682   { "conveyor_belt2_middle.ypos",               "3"                     },
1683   { "conveyor_belt2_middle.frames",             "1"                     },
1684   { "conveyor_belt2_middle.running",            "RocksDC.pcx"           },
1685   { "conveyor_belt2_middle.running.xpos",       "0"                     },
1686   { "conveyor_belt2_middle.running.ypos",       "3"                     },
1687   { "conveyor_belt2_middle.running.frames",     "8"                     },
1688   { "conveyor_belt2_left",                      "RocksDC.pcx"           },
1689   { "conveyor_belt2_left.xpos",                 "0"                     },
1690   { "conveyor_belt2_left.ypos",                 "4"                     },
1691   { "conveyor_belt2_left.frames",               "1"                     },
1692   { "conveyor_belt2_left.running",              "RocksDC.pcx"           },
1693   { "conveyor_belt2_left.running.xpos",         "0"                     },
1694   { "conveyor_belt2_left.running.ypos",         "4"                     },
1695   { "conveyor_belt2_left.running.frames",       "8"                     },
1696   { "conveyor_belt2_right",                     "RocksDC.pcx"           },
1697   { "conveyor_belt2_right.xpos",                "0"                     },
1698   { "conveyor_belt2_right.ypos",                "5"                     },
1699   { "conveyor_belt2_right.frames",              "1"                     },
1700   { "conveyor_belt2_right.running",             "RocksDC.pcx"           },
1701   { "conveyor_belt2_right.running.xpos",        "0"                     },
1702   { "conveyor_belt2_right.running.ypos",        "5"                     },
1703   { "conveyor_belt2_right.running.frames",      "8"                     },
1704   { "conveyor_belt2_switch_left",               "RocksDC.pcx"           },
1705   { "conveyor_belt2_switch_left.xpos",          "1"                     },
1706   { "conveyor_belt2_switch_left.ypos",          "12"                    },
1707   { "conveyor_belt2_switch_left.frames",        "1"                     },
1708   { "conveyor_belt2_switch_middle",             "RocksDC.pcx"           },
1709   { "conveyor_belt2_switch_middle.xpos",        "1"                     },
1710   { "conveyor_belt2_switch_middle.ypos",        "13"                    },
1711   { "conveyor_belt2_switch_middle.frames",      "1"                     },
1712   { "conveyor_belt2_switch_right",              "RocksDC.pcx"           },
1713   { "conveyor_belt2_switch_right.xpos",         "1"                     },
1714   { "conveyor_belt2_switch_right.ypos",         "14"                    },
1715   { "conveyor_belt2_switch_right.frames",       "1"                     },
1716
1717   { "conveyor_belt3_middle",                    "RocksDC.pcx"           },
1718   { "conveyor_belt3_middle.xpos",               "0"                     },
1719   { "conveyor_belt3_middle.ypos",               "6"                     },
1720   { "conveyor_belt3_middle.frames",             "1"                     },
1721   { "conveyor_belt3_middle.running",            "RocksDC.pcx"           },
1722   { "conveyor_belt3_middle.running.xpos",       "0"                     },
1723   { "conveyor_belt3_middle.running.ypos",       "6"                     },
1724   { "conveyor_belt3_middle.running.frames",     "8"                     },
1725   { "conveyor_belt3_left",                      "RocksDC.pcx"           },
1726   { "conveyor_belt3_left.xpos",                 "0"                     },
1727   { "conveyor_belt3_left.ypos",                 "7"                     },
1728   { "conveyor_belt3_left.frames",               "1"                     },
1729   { "conveyor_belt3_left.running",              "RocksDC.pcx"           },
1730   { "conveyor_belt3_left.running.xpos",         "0"                     },
1731   { "conveyor_belt3_left.running.ypos",         "7"                     },
1732   { "conveyor_belt3_left.running.frames",       "8"                     },
1733   { "conveyor_belt3_right",                     "RocksDC.pcx"           },
1734   { "conveyor_belt3_right.xpos",                "0"                     },
1735   { "conveyor_belt3_right.ypos",                "8"                     },
1736   { "conveyor_belt3_right.frames",              "1"                     },
1737   { "conveyor_belt3_right.running",             "RocksDC.pcx"           },
1738   { "conveyor_belt3_right.running.xpos",        "0"                     },
1739   { "conveyor_belt3_right.running.ypos",        "8"                     },
1740   { "conveyor_belt3_right.running.frames",      "8"                     },
1741   { "conveyor_belt3_switch_left",               "RocksDC.pcx"           },
1742   { "conveyor_belt3_switch_left.xpos",          "2"                     },
1743   { "conveyor_belt3_switch_left.ypos",          "12"                    },
1744   { "conveyor_belt3_switch_left.frames",        "1"                     },
1745   { "conveyor_belt3_switch_middle",             "RocksDC.pcx"           },
1746   { "conveyor_belt3_switch_middle.xpos",        "2"                     },
1747   { "conveyor_belt3_switch_middle.ypos",        "13"                    },
1748   { "conveyor_belt3_switch_middle.frames",      "1"                     },
1749   { "conveyor_belt3_switch_right",              "RocksDC.pcx"           },
1750   { "conveyor_belt3_switch_right.xpos",         "2"                     },
1751   { "conveyor_belt3_switch_right.ypos",         "14"                    },
1752   { "conveyor_belt3_switch_right.frames",       "1"                     },
1753
1754   { "conveyor_belt4_middle",                    "RocksDC.pcx"           },
1755   { "conveyor_belt4_middle.xpos",               "0"                     },
1756   { "conveyor_belt4_middle.ypos",               "9"                     },
1757   { "conveyor_belt4_middle.frames",             "1"                     },
1758   { "conveyor_belt4_middle.running",            "RocksDC.pcx"           },
1759   { "conveyor_belt4_middle.running.xpos",       "0"                     },
1760   { "conveyor_belt4_middle.running.ypos",       "9"                     },
1761   { "conveyor_belt4_middle.running.frames",     "8"                     },
1762   { "conveyor_belt4_left",                      "RocksDC.pcx"           },
1763   { "conveyor_belt4_left.xpos",                 "0"                     },
1764   { "conveyor_belt4_left.ypos",                 "10"                    },
1765   { "conveyor_belt4_left.frames",               "1"                     },
1766   { "conveyor_belt4_left.running",              "RocksDC.pcx"           },
1767   { "conveyor_belt4_left.running.xpos",         "0"                     },
1768   { "conveyor_belt4_left.running.ypos",         "10"                    },
1769   { "conveyor_belt4_left.running.frames",       "8"                     },
1770   { "conveyor_belt4_right",                     "RocksDC.pcx"           },
1771   { "conveyor_belt4_right.xpos",                "0"                     },
1772   { "conveyor_belt4_right.ypos",                "11"                    },
1773   { "conveyor_belt4_right.frames",              "1"                     },
1774   { "conveyor_belt4_right.running",             "RocksDC.pcx"           },
1775   { "conveyor_belt4_right.running.xpos",        "0"                     },
1776   { "conveyor_belt4_right.running.ypos",        "11"                    },
1777   { "conveyor_belt4_right.running.frames",      "8"                     },
1778   { "conveyor_belt4_switch_left",               "RocksDC.pcx"           },
1779   { "conveyor_belt4_switch_left.xpos",          "3"                     },
1780   { "conveyor_belt4_switch_left.ypos",          "12"                    },
1781   { "conveyor_belt4_switch_left.frames",        "1"                     },
1782   { "conveyor_belt4_switch_middle",             "RocksDC.pcx"           },
1783   { "conveyor_belt4_switch_middle.xpos",        "3"                     },
1784   { "conveyor_belt4_switch_middle.ypos",        "13"                    },
1785   { "conveyor_belt4_switch_middle.frames",      "1"                     },
1786   { "conveyor_belt4_switch_right",              "RocksDC.pcx"           },
1787   { "conveyor_belt4_switch_right.xpos",         "3"                     },
1788   { "conveyor_belt4_switch_right.ypos",         "14"                    },
1789   { "conveyor_belt4_switch_right.frames",       "1"                     },
1790
1791   { "switchgate_switch_up",                     "RocksDC.pcx"           },
1792   { "switchgate_switch_up.xpos",                "4"                     },
1793   { "switchgate_switch_up.ypos",                "12"                    },
1794   { "switchgate_switch_up.frames",              "1"                     },
1795   { "switchgate_switch_down",                   "RocksDC.pcx"           },
1796   { "switchgate_switch_down.xpos",              "5"                     },
1797   { "switchgate_switch_down.ypos",              "12"                    },
1798   { "switchgate_switch_down.frames",            "1"                     },
1799
1800   { "light_switch_off",                         "RocksDC.pcx"           },
1801   { "light_switch_off.xpos",                    "6"                     },
1802   { "light_switch_off.ypos",                    "12"                    },
1803   { "light_switch_off.frames",                  "1"                     },
1804   { "light_switch_on",                          "RocksDC.pcx"           },
1805   { "light_switch_on.xpos",                     "7"                     },
1806   { "light_switch_on.ypos",                     "12"                    },
1807   { "light_switch_on.frames",                   "1"                     },
1808
1809   { "timegate_wheel",                           "RocksDC.pcx"           },
1810   { "timegate_wheel.xpos",                      "0"                     },
1811   { "timegate_wheel.ypos",                      "15"                    },
1812   { "timegate_wheel.frames",                    "1"                     },
1813   { "timegate_wheel.running",                   "RocksDC.pcx"           },
1814   { "timegate_wheel.running.xpos",              "0"                     },
1815   { "timegate_wheel.running.ypos",              "15"                    },
1816   { "timegate_wheel.running.frames",            "4"                     },
1817
1818   { "envelope",                                 "RocksDC.pcx"           },
1819   { "envelope.xpos",                            "4"                     },
1820   { "envelope.ypos",                            "14"                    },
1821   { "envelope.frames",                          "1"                     },
1822
1823   { "sign_exclamation",                         "RocksDC.pcx"           },
1824   { "sign_exclamation.xpos",                    "5"                     },
1825   { "sign_exclamation.ypos",                    "14"                    },
1826   { "sign_exclamation.frames",                  "1"                     },
1827
1828   { "sign_stop",                                "RocksDC.pcx"           },
1829   { "sign_stop.xpos",                           "6"                     },
1830   { "sign_stop.ypos",                           "14"                    },
1831   { "sign_stop.frames",                         "1"                     },
1832
1833   { "landmine",                                 "RocksDC.pcx"           },
1834   { "landmine.xpos",                            "7"                     },
1835   { "landmine.ypos",                            "14"                    },
1836   { "landmine.frames",                          "1"                     },
1837
1838   { "steelwall_slanted",                        "RocksDC.pcx"           },
1839   { "steelwall_slanted.xpos",                   "5"                     },
1840   { "steelwall_slanted.ypos",                   "15"                    },
1841   { "steelwall_slanted.frames",                 "1"                     },
1842
1843   { "extra_time",                               "RocksDC.pcx"           },
1844   { "extra_time.xpos",                          "8"                     },
1845   { "extra_time.ypos",                          "0"                     },
1846   { "extra_time.frames",                        "6"                     },
1847
1848   { "shield_active",                            "RocksDC.pcx"           },
1849   { "shield_active.xpos",                       "8"                     },
1850   { "shield_active.ypos",                       "1"                     },
1851   { "shield_active.frames",                     "6"                     },
1852
1853   { "shield_passive",                           "RocksDC.pcx"           },
1854   { "shield_passive.xpos",                      "8"                     },
1855   { "shield_passive.ypos",                      "2"                     },
1856   { "shield_passive.frames",                    "6"                     },
1857
1858   { "switchgate_closed",                        "RocksDC.pcx"           },
1859   { "switchgate_closed.xpos",                   "8"                     },
1860   { "switchgate_closed.ypos",                   "5"                     },
1861   { "switchgate_closed.frames",                 "1"                     },
1862   { "switchgate.opening",                       "RocksDC.pcx"           },
1863   { "switchgate.opening.xpos",                  "8"                     },
1864   { "switchgate.opening.ypos",                  "5"                     },
1865   { "switchgate.opening.frames",                "5"                     },
1866   { "switchgate_open",                          "RocksDC.pcx"           },
1867   { "switchgate_open.xpos",                     "12"                    },
1868   { "switchgate_open.ypos",                     "5"                     },
1869   { "switchgate_open.frames",                   "1"                     },
1870   { "switchgate.closing",                       "RocksDC.pcx"           },
1871   { "switchgate.closing.xpos",                  "8"                     },
1872   { "switchgate.closing.ypos",                  "5"                     },
1873   { "switchgate.closing.frames",                "5"                     },
1874   { "switchgate.closing.reverse",               "1"                     },
1875
1876   { "timegate_closed",                          "RocksDC.pcx"           },
1877   { "timegate_closed.xpos",                     "8"                     },
1878   { "timegate_closed.ypos",                     "6"                     },
1879   { "timegate_closed.frames",                   "1"                     },
1880   { "timegate.opening",                         "RocksDC.pcx"           },
1881   { "timegate.opening.xpos",                    "8"                     },
1882   { "timegate.opening.ypos",                    "6"                     },
1883   { "timegate.opening.frames",                  "5"                     },
1884   { "timegate_open",                            "RocksDC.pcx"           },
1885   { "timegate_open.xpos",                       "12"                    },
1886   { "timegate_open.ypos",                       "6"                     },
1887   { "timegate_open.frames",                     "1"                     },
1888   { "timegate.closing",                         "RocksDC.pcx"           },
1889   { "timegate.closing.xpos",                    "8"                     },
1890   { "timegate.closing.ypos",                    "6"                     },
1891   { "timegate.closing.frames",                  "5"                     },
1892   { "timegate.closing.reverse",                 "1"                     },
1893
1894   { "balloon",                                  "RocksDC.pcx"           },
1895   { "balloon.xpos",                             "12"                    },
1896   { "balloon.ypos",                             "7"                     },
1897   { "balloon.frames",                           "1"                     },
1898   { "balloon.moving",                           "RocksDC.pcx"           },
1899   { "balloon.moving.xpos",                      "12"                    },
1900   { "balloon.moving.ypos",                      "7"                     },
1901   { "balloon.moving.frames",                    "4"                     },
1902   { "balloon.moving.pingpong",                  "1"                     },
1903
1904   { "balloon_windrose_left",                    "RocksDC.pcx"           },
1905   { "balloon_windrose_left.xpos",               "8"                     },
1906   { "balloon_windrose_left.ypos",               "7"                     },
1907   { "balloon_windrose_left.frames",             "1"                     },
1908   { "balloon_windrose_right",                   "RocksDC.pcx"           },
1909   { "balloon_windrose_right.xpos",              "9"                     },
1910   { "balloon_windrose_right.ypos",              "7"                     },
1911   { "balloon_windrose_right.frames",            "1"                     },
1912   { "balloon_windrose_up",                      "RocksDC.pcx"           },
1913   { "balloon_windrose_up.xpos",                 "10"                    },
1914   { "balloon_windrose_up.ypos",                 "7"                     },
1915   { "balloon_windrose_up.frames",               "1"                     },
1916   { "balloon_windrose_down",                    "RocksDC.pcx"           },
1917   { "balloon_windrose_down.xpos",               "11"                    },
1918   { "balloon_windrose_down.ypos",               "7"                     },
1919   { "balloon_windrose_down.frames",             "1"                     },
1920   { "balloon_windrose_all",                     "RocksDC.pcx"           },
1921   { "balloon_windrose_all.xpos",                "7"                     },
1922   { "balloon_windrose_all.ypos",                "0"                     },
1923   { "balloon_windrose_all.frames",              "1"                     },
1924
1925   { "emc_steelwall1",                           "RocksDC.pcx"           },
1926   { "emc_steelwall1.xpos",                      "14"                    },
1927   { "emc_steelwall1.ypos",                      "0"                     },
1928   { "emc_steelwall1.frames",                    "1"                     },
1929   { "emc_steelwall2",                           "RocksDC.pcx"           },
1930   { "emc_steelwall2.xpos",                      "14"                    },
1931   { "emc_steelwall2.ypos",                      "0"                     },
1932   { "emc_steelwall2.frames",                    "1"                     },
1933   { "emc_steelwall3",                           "RocksDC.pcx"           },
1934   { "emc_steelwall3.xpos",                      "14"                    },
1935   { "emc_steelwall3.ypos",                      "0"                     },
1936   { "emc_steelwall3.frames",                    "1"                     },
1937   { "emc_steelwall4",                           "RocksDC.pcx"           },
1938   { "emc_steelwall4.xpos",                      "14"                    },
1939   { "emc_steelwall4.ypos",                      "0"                     },
1940   { "emc_steelwall4.frames",                    "1"                     },
1941
1942   { "emc_wall_pillar_upper",                    "RocksDC.pcx"           },
1943   { "emc_wall_pillar_upper.xpos",               "13"                    },
1944   { "emc_wall_pillar_upper.ypos",               "6"                     },
1945   { "emc_wall_pillar_upper.frames",             "1"                     },
1946   { "emc_wall_pillar_middle",                   "RocksDC.pcx"           },
1947   { "emc_wall_pillar_middle.xpos",              "14"                    },
1948   { "emc_wall_pillar_middle.ypos",              "6"                     },
1949   { "emc_wall_pillar_middle.frames",            "1"                     },
1950   { "emc_wall_pillar_lower",                    "RocksDC.pcx"           },
1951   { "emc_wall_pillar_lower.xpos",               "15"                    },
1952   { "emc_wall_pillar_lower.ypos",               "6"                     },
1953   { "emc_wall_pillar_lower.frames",             "1"                     },
1954
1955   { "emc_wall4",                                "RocksDC.pcx"           },
1956   { "emc_wall4.xpos",                           "14"                    },
1957   { "emc_wall4.ypos",                           "1"                     },
1958   { "emc_wall4.frames",                         "1"                     },
1959   { "emc_wall5",                                "RocksDC.pcx"           },
1960   { "emc_wall5.xpos",                           "15"                    },
1961   { "emc_wall5.ypos",                           "1"                     },
1962   { "emc_wall5.frames",                         "1"                     },
1963   { "emc_wall6",                                "RocksDC.pcx"           },
1964   { "emc_wall6.xpos",                           "14"                    },
1965   { "emc_wall6.ypos",                           "2"                     },
1966   { "emc_wall6.frames",                         "1"                     },
1967   { "emc_wall7",                                "RocksDC.pcx"           },
1968   { "emc_wall7.xpos",                           "15"                    },
1969   { "emc_wall7.ypos",                           "2"                     },
1970   { "emc_wall7.frames",                         "1"                     },
1971   { "emc_wall8",                                "RocksDC.pcx"           },
1972   { "emc_wall8.xpos",                           "14"                    },
1973   { "emc_wall8.ypos",                           "1"                     },
1974   { "emc_wall8.frames",                         "1"                     },
1975
1976   { "arrow_blue_left",                          "RocksMore.pcx" },
1977   { "arrow_blue_left.xpos",                     "0"                     },
1978   { "arrow_blue_left.ypos",                     "0"                     },
1979   { "arrow_blue_left.frames",                   "1"                     },
1980   { "arrow_blue_right",                         "RocksMore.pcx" },
1981   { "arrow_blue_right.xpos",                    "1"                     },
1982   { "arrow_blue_right.ypos",                    "0"                     },
1983   { "arrow_blue_right.frames",                  "1"                     },
1984   { "arrow_blue_up",                            "RocksMore.pcx" },
1985   { "arrow_blue_up.xpos",                       "2"                     },
1986   { "arrow_blue_up.ypos",                       "0"                     },
1987   { "arrow_blue_up.frames",                     "1"                     },
1988   { "arrow_blue_down",                          "RocksMore.pcx" },
1989   { "arrow_blue_down.xpos",                     "3"                     },
1990   { "arrow_blue_down.ypos",                     "0"                     },
1991   { "arrow_blue_down.frames",                   "1"                     },
1992
1993   { "arrow_red_left",                           "RocksMore.pcx" },
1994   { "arrow_red_left.xpos",                      "0"                     },
1995   { "arrow_red_left.ypos",                      "1"                     },
1996   { "arrow_red_left.frames",                    "1"                     },
1997   { "arrow_red_right",                          "RocksMore.pcx" },
1998   { "arrow_red_right.xpos",                     "1"                     },
1999   { "arrow_red_right.ypos",                     "1"                     },
2000   { "arrow_red_right.frames",                   "1"                     },
2001   { "arrow_red_up",                             "RocksMore.pcx" },
2002   { "arrow_red_up.xpos",                        "2"                     },
2003   { "arrow_red_up.ypos",                        "1"                     },
2004   { "arrow_red_up.frames",                      "1"                     },
2005   { "arrow_red_down",                           "RocksMore.pcx" },
2006   { "arrow_red_down.xpos",                      "3"                     },
2007   { "arrow_red_down.ypos",                      "1"                     },
2008   { "arrow_red_down.frames",                    "1"                     },
2009
2010   { "scrollbar_blue",                           "RocksMore.pcx"         },
2011   { "scrollbar_blue.xpos",                      "0"                     },
2012   { "scrollbar_blue.ypos",                      "2"                     },
2013   { "scrollbar_blue.frames",                    "1"                     },
2014   { "scrollbar_red",                            "RocksMore.pcx"         },
2015   { "scrollbar_red.xpos",                       "1"                     },
2016   { "scrollbar_red.ypos",                       "2"                     },
2017   { "scrollbar_red.frames",                     "1"                     },
2018   { "scrollbar_green",                          "RocksMore.pcx"         },
2019   { "scrollbar_green.xpos",                     "2"                     },
2020   { "scrollbar_green.ypos",                     "2"                     },
2021   { "scrollbar_green.frames",                   "1"                     },
2022   { "scrollbar_yellow",                         "RocksMore.pcx"         },
2023   { "scrollbar_yellow.xpos",                    "3"                     },
2024   { "scrollbar_yellow.ypos",                    "2"                     },
2025   { "scrollbar_yellow.frames",                  "1"                     },
2026
2027   { "pearl",                                    "RocksMore.pcx"         },
2028   { "pearl.xpos",                               "0"                     },
2029   { "pearl.ypos",                               "3"                     },
2030   { "pearl.frames",                             "1"                     },
2031   { "pearl.breaking",                           "RocksMore.pcx"         },
2032   { "pearl.breaking.xpos",                      "0"                     },
2033   { "pearl.breaking.ypos",                      "4"                     },
2034   { "pearl.breaking.frames",                    "4"                     },
2035
2036   { "crystal",                                  "RocksMore.pcx"         },
2037   { "crystal.xpos",                             "1"                     },
2038   { "crystal.ypos",                             "3"                     },
2039   { "crystal.frames",                           "1"                     },
2040
2041   { "wall_pearl",                               "RocksMore.pcx"         },
2042   { "wall_pearl.xpos",                          "2"                     },
2043   { "wall_pearl.ypos",                          "3"                     },
2044   { "wall_pearl.frames",                        "1"                     },
2045
2046   { "wall_crystal",                             "RocksMore.pcx"         },
2047   { "wall_crystal.xpos",                        "3"                     },
2048   { "wall_crystal.ypos",                        "3"                     },
2049   { "wall_crystal.frames",                      "1"                     },
2050
2051   { "spring",                                   "RocksMore.pcx"         },
2052   { "spring.xpos",                              "0"                     },
2053   { "spring.ypos",                              "5"                     },
2054   { "spring.frames",                            "1"                     },
2055
2056   { "tube_right_down",                          "RocksMore.pcx"         },
2057   { "tube_right_down.xpos",                     "1"                     },
2058   { "tube_right_down.ypos",                     "5"                     },
2059   { "tube_right_down.frames",                   "1"                     },
2060
2061   { "tube_horizontal_down",                     "RocksMore.pcx"         },
2062   { "tube_horizontal_down.xpos",                "2"                     },
2063   { "tube_horizontal_down.ypos",                "5"                     },
2064   { "tube_horizontal_down.frames",              "1"                     },
2065
2066   { "tube_left_down",                           "RocksMore.pcx"         },
2067   { "tube_left_down.xpos",                      "3"                     },
2068   { "tube_left_down.ypos",                      "5"                     },
2069   { "tube_left_down.frames",                    "1"                     },
2070
2071   { "tube_horizontal",                          "RocksMore.pcx"         },
2072   { "tube_horizontal.xpos",                     "0"                     },
2073   { "tube_horizontal.ypos",                     "6"                     },
2074   { "tube_horizontal.frames",                   "1"                     },
2075
2076   { "tube_vertical_right",                      "RocksMore.pcx"         },
2077   { "tube_vertical_right.xpos",                 "1"                     },
2078   { "tube_vertical_right.ypos",                 "6"                     },
2079   { "tube_vertical_right.frames",               "1"                     },
2080
2081   { "tube_all",                                 "RocksMore.pcx"         },
2082   { "tube_all.xpos",                            "2"                     },
2083   { "tube_all.ypos",                            "6"                     },
2084   { "tube_all.frames",                          "1"                     },
2085
2086   { "tube_vertical_left",                       "RocksMore.pcx"         },
2087   { "tube_vertical_left.xpos",                  "3"                     },
2088   { "tube_vertical_left.ypos",                  "6"                     },
2089   { "tube_vertical_left.frames",                "1"                     },
2090
2091   { "tube_vertical",                            "RocksMore.pcx"         },
2092   { "tube_vertical.xpos",                       "0"                     },
2093   { "tube_vertical.ypos",                       "7"                     },
2094   { "tube_vertical.frames",                     "1"                     },
2095
2096   { "tube_right_up",                            "RocksMore.pcx"         },
2097   { "tube_right_up.xpos",                       "1"                     },
2098   { "tube_right_up.ypos",                       "7"                     },
2099   { "tube_right_up.frames",                     "1"                     },
2100
2101   { "tube_horizontal_up",                       "RocksMore.pcx"         },
2102   { "tube_horizontal_up.xpos",                  "2"                     },
2103   { "tube_horizontal_up.ypos",                  "7"                     },
2104   { "tube_horizontal_up.frames",                "1"                     },
2105
2106   { "tube_left_up",                             "RocksMore.pcx"         },
2107   { "tube_left_up.xpos",                        "3"                     },
2108   { "tube_left_up.ypos",                        "7"                     },
2109   { "tube_left_up.frames",                      "1"                     },
2110
2111   { "trap_inactive",                            "RocksMore.pcx"         },
2112   { "trap_inactive.xpos",                       "4"                     },
2113   { "trap_inactive.ypos",                       "0"                     },
2114   { "trap_inactive.frames",                     "1"                     },
2115   { "trap_active",                              "RocksMore.pcx"         },
2116   { "trap_active.xpos",                         "7"                     },
2117   { "trap_active.ypos",                         "0"                     },
2118   { "trap_active.frames",                       "1"                     },
2119   { "trap.activating",                          "RocksMore.pcx"         },
2120   { "trap.activating.xpos",                     "4"                     },
2121   { "trap.activating.ypos",                     "0"                     },
2122   { "trap.activating.frames",                   "4"                     },
2123
2124   { "bd_wall",                                  "RocksMore.pcx"         },
2125   { "bd_wall.xpos",                             "4"                     },
2126   { "bd_wall.ypos",                             "1"                     },
2127   { "bd_wall.frames",                           "1"                     },
2128
2129   { "bd_rock",                                  "RocksMore.pcx"         },
2130   { "bd_rock.xpos",                             "4"                     },
2131   { "bd_rock.ypos",                             "2"                     },
2132   { "bd_rock.frames",                           "1"                     },
2133   { "bd_rock.falling",                          "RocksMore.pcx"         },
2134   { "bd_rock.falling.xpos",                     "4"                     },
2135   { "bd_rock.falling.ypos",                     "2"                     },
2136   { "bd_rock.falling.frames",                   "1"                     },
2137   { "bd_rock.pushing",                          "RocksMore.pcx"         },
2138   { "bd_rock.pushing.xpos",                     "4"                     },
2139   { "bd_rock.pushing.ypos",                     "2"                     },
2140   { "bd_rock.pushing.frames",                   "4"                     },
2141
2142   { "dx_bomb",                                  "RocksMore.pcx"         },
2143   { "dx_bomb.xpos",                             "7"                     },
2144   { "dx_bomb.ypos",                             "1"                     },
2145   { "dx_bomb.frames",                           "1"                     },
2146
2147 #if 0
2148   { "",                         "RocksMore.pcx"         },
2149   { ".xpos",                    ""                      },
2150   { ".ypos",                    ""                      },
2151   { ".frames",                  ""                      },
2152 #endif
2153
2154 #if 0
2155   /* images for Boulder Dash style elements and actions */
2156   { "bd_diamond",                       "bd_diamond.pcx"        },
2157   { "bd_diamond.frame_xpos",            "0"                     },
2158   { "bd_diamond.num_frames",            "1"                     },
2159   { "robot_wheel",                      "bd_diamond.pcx"        },
2160   { "robot_wheel.frame_xpos",           "0"                     },
2161   { "robot_wheel.num_frames",           "4"                     },
2162 #endif
2163
2164   { NULL,                               NULL                    }
2165 };
2166
2167 struct ConfigInfo sound_config[] =
2168 {
2169   /* sounds for Boulder Dash style elements and actions */
2170   { "bd_empty_space.digging",           "empty.wav"             },
2171   { "bd_sand.digging",                  "schlurf.wav"           },
2172   { "bd_diamond.collecting",            "pong.wav"              },
2173   { "bd_diamond.impact",                "pling.wav"             },
2174   { "bd_rock.pushing",                  "pusch.wav"             },
2175   { "bd_rock.impact",                   "klopf.wav"             },
2176   { "bd_magic_wall.activating",         "quirk.wav"             },
2177   { "bd_magic_wall.changing",           "quirk.wav"             },
2178   { "bd_magic_wall.running",            "miep.wav"              },
2179   { "bd_amoeba.waiting",                SND_FILE_UNDEFINED      },
2180   { "bd_amoeba.creating",               "amoebe.wav"            },
2181   { "bd_amoeba.turning_to_gem",         "pling.wav"             },
2182   { "bd_amoeba.turning_to_rock",        "klopf.wav"             },
2183   { "bd_butterfly.moving",              "klapper.wav"           },
2184   { "bd_butterfly.waiting",             "klapper.wav"           },
2185   { "bd_firefly.moving",                "roehr.wav"             },
2186   { "bd_firefly.waiting",               "roehr.wav"             },
2187   { "bd_exit.entering",                 "buing.wav"             },
2188
2189   /* sounds for Supaplex style elements and actions */
2190   { "sp_empty_space.digging",           "empty.wav"             },
2191   { "sp_base.digging",                  "base.wav"              },
2192   { "sp_buggy_base.digging",            "base.wav"              },
2193   { "sp_buggy_base.activating",         "bug.wav"               },
2194   { "sp_infotron.collecting",           "infotron.wav"          },
2195   { "sp_infotron.impact",               "pling.wav"             },
2196   { "sp_zonk.pushing",                  "zonkpush.wav"          },
2197   { "sp_zonk.impact",                   "zonkdown.wav"          },
2198   { "sp_disk_red.collecting",           "infotron.wav"          },
2199   { "sp_disk_orange.pushing",           "zonkpush.wav"          },
2200   { "sp_disk_yellow.pushing",           "pusch.wav"             },
2201   { "sp_port.passing",                  "gate.wav"              },
2202   { "sp_exit.entering",                 "exit.wav"              },
2203   { "sp_element.exploding",             "booom.wav"             },
2204   { "sp_sniksnak.moving",               SND_FILE_UNDEFINED      },
2205   { "sp_sniksnak.waiting",              SND_FILE_UNDEFINED      },
2206   { "sp_electron.moving",               SND_FILE_UNDEFINED      },
2207   { "sp_electron.waiting",              SND_FILE_UNDEFINED      },
2208   { "sp_terminal.activating",           SND_FILE_UNDEFINED      },
2209
2210   /* sounds for Sokoban style elements and actions */
2211   { "sokoban_object.pushing",           "pusch.wav"             },
2212   { "sokoban_field.filling",            "deng.wav"              },
2213   { "sokoban_field.clearing",           SND_FILE_UNDEFINED      },
2214   { "sokoban_game.solving",             "buing.wav"             },
2215
2216   /* sounds for Emerald Mine style elements and actions */
2217   { "empty_space.digging",              "empty.wav"             },
2218   { "sand.digging",                     "schlurf.wav"           },
2219   { "emerald.collecting",               "pong.wav"              },
2220   { "emerald.impact",                   "pling.wav"             },
2221   { "diamond.collecting",               "pong.wav"              },
2222   { "diamond.impact",                   "pling.wav"             },
2223   { "diamond.breaking",                 "quirk.wav"             },
2224   { "rock.pushing",                     "pusch.wav"             },
2225   { "rock.impact",                      "klopf.wav"             },
2226   { "bomb.pushing",                     "pusch.wav"             },
2227   { "nut.pushing",                      "knurk.wav"             },
2228   { "nut.cracking",                     "knack.wav"             },
2229   { "nut.impact",                       "klumpf.wav"            },
2230   { "dynamite.collecting",              "pong.wav"              },
2231   { "dynamite.placing",                 "deng.wav"              },
2232   { "dynamite.burning",                 "zisch.wav"             },
2233   { "key.collecting",                   "pong.wav"              },
2234   { "gate.passing",                     "gate.wav"              },
2235   { "bug.moving",                       "klapper.wav"           },
2236   { "bug.waiting",                      "klapper.wav"           },
2237   { "spaceship.moving",                 "roehr.wav"             },
2238   { "spaceship.waiting",                "roehr.wav"             },
2239   { "yamyam.moving",                    SND_FILE_UNDEFINED      },
2240   { "yamyam.waiting",                   "njam.wav"              },
2241   { "yamyam.eating_diamond",            SND_FILE_UNDEFINED      },
2242   { "robot.stepping",                   "schlurf.wav"           },
2243   { "robot.waiting",                    SND_FILE_UNDEFINED      },
2244   { "robot_wheel.activating",           "deng.wav"              },
2245   { "robot_wheel.running",              "miep.wav"              },
2246   { "magic_wall.activating",            "quirk.wav"             },
2247   { "magic_wall.changing",              "quirk.wav"             },
2248   { "magic_wall.running",               "miep.wav"              },
2249   { "amoeba.waiting",                   SND_FILE_UNDEFINED      },
2250   { "amoeba.creating",                  "amoebe.wav"            },
2251   { "amoeba.dropping",                  SND_FILE_UNDEFINED      },
2252   { "acid.splashing",                   "blurb.wav"             },
2253   { "quicksand.filling",                SND_FILE_UNDEFINED      },
2254   { "quicksand.slipping_through",       SND_FILE_UNDEFINED      },
2255   { "quicksand.emptying",               SND_FILE_UNDEFINED      },
2256   { "exit.opening",                     "oeffnen.wav"           },
2257   { "exit.entering",                    "buing.wav"             },
2258
2259   /* sounds for Emerald Mine Club style elements and actions */
2260   { "balloon.moving",                   SND_FILE_UNDEFINED      },
2261   { "balloon.waiting",                  SND_FILE_UNDEFINED      },
2262   { "balloon.pushing",                  "schlurf.wav"           },
2263   { "balloon_switch.activating",        SND_FILE_UNDEFINED      },
2264   { "spring.moving",                    SND_FILE_UNDEFINED      },
2265   { "spring.pushing",                   "pusch.wav"             },
2266   { "spring.impact",                    "klopf.wav"             },
2267   { "wall.growing",                     SND_FILE_UNDEFINED      },
2268
2269   /* sounds for Diamond Caves style elements and actions */
2270   { "pearl.collecting",                 "pong.wav"              },
2271   { "pearl.breaking",                   "knack.wav"             },
2272   { "pearl.impact",                     "pling.wav"             },
2273   { "crystal.collecting",               "pong.wav"              },
2274   { "crystal.impact",                   "pling.wav"             },
2275   { "envelope.collecting",              "pong.wav"              },
2276   { "sand_invisible.digging",           "schlurf.wav"           },
2277   { "shield_passive.collecting",        "pong.wav"              },
2278   { "shield_passive.activated",         SND_FILE_UNDEFINED      },
2279   { "shield_active.collecting",         "pong.wav"              },
2280   { "shield_active.activated",          SND_FILE_UNDEFINED      },
2281   { "extra_time.collecting",            "gong.wav"              },
2282   { "mole.moving",                      SND_FILE_UNDEFINED      },
2283   { "mole.waiting",                     SND_FILE_UNDEFINED      },
2284   { "mole.eating_amoeba",               "blurb.wav"             },
2285   { "switchgate_switch.activating",     SND_FILE_UNDEFINED      },
2286   { "switchgate.opening",               "oeffnen.wav"           },
2287   { "switchgate.closing",               "oeffnen.wav"           },
2288   { "switchgate.passing",               "gate.wav"              },
2289   { "timegate_wheel.activating",        "deng.wav"              },
2290   { "timegate_wheel.running",           "miep.wav"              },
2291   { "timegate.opening",                 "oeffnen.wav"           },
2292   { "timegate.closing",                 "oeffnen.wav"           },
2293   { "timegate.passing",                 "gate.wav"              },
2294   { "conveyor_belt_switch.activating",  SND_FILE_UNDEFINED      },
2295   { "conveyor_belt.running",            SND_FILE_UNDEFINED      },
2296   { "light_switch.activating",          SND_FILE_UNDEFINED      },
2297   { "light_switch.deactivating",        SND_FILE_UNDEFINED      },
2298
2299   /* sounds for DX Boulderdash style elements and actions */
2300   { "dx_bomb.pushing",                  "pusch.wav"             },
2301   { "trap_inactive.digging",            "schlurf.wav"           },
2302   { "trap.activating",                  SND_FILE_UNDEFINED      },
2303   { "tube.passing",                     SND_FILE_UNDEFINED      },
2304
2305   /* sounds for Rocks'n'Diamonds style elements and actions */
2306   { "amoeba.turning_to_gem",            "pling.wav"             },
2307   { "amoeba.turning_to_rock",           "klopf.wav"             },
2308   { "speed_pill.collecting",            "pong.wav"              },
2309   { "dynabomb_nr.collecting",           "pong.wav"              },
2310   { "dynabomb_sz.collecting",           "pong.wav"              },
2311   { "dynabomb_xl.collecting",           "pong.wav"              },
2312   { "dynabomb.placing",                 "deng.wav"              },
2313   { "dynabomb.burning",                 "zisch.wav"             },
2314   { "satellite.moving",                 SND_FILE_UNDEFINED      },
2315   { "satellite.waiting",                SND_FILE_UNDEFINED      },
2316   { "satellite.pushing",                "pusch.wav"             },
2317   { "lamp.activating",                  "deng.wav"              },
2318   { "lamp.deactivating",                "deng.wav"              },
2319   { "time_orb_full.collecting",         "gong.wav"              },
2320   { "time_orb_full.impact",             "deng.wav"              },
2321   { "time_orb_empty.pushing",           "pusch.wav"             },
2322   { "time_orb_empty.impact",            "deng.wav"              },
2323   { "gameoflife.waiting",               SND_FILE_UNDEFINED      },
2324   { "gameoflife.creating",              "amoebe.wav"            },
2325   { "biomaze.waiting",                  SND_FILE_UNDEFINED      },
2326   { "biomaze.creating",                 "amoebe.wav"            },
2327   { "pacman.moving",                    SND_FILE_UNDEFINED      },
2328   { "pacman.waiting",                   SND_FILE_UNDEFINED      },
2329   { "pacman.eating_amoeba",             SND_FILE_UNDEFINED      },
2330   { "dark_yamyam.moving",               SND_FILE_UNDEFINED      },
2331   { "dark_yamyam.waiting",              "njam.wav"              },
2332   { "dark_yamyam.eating_any",           SND_FILE_UNDEFINED      },
2333   { "penguin.moving",                   SND_FILE_UNDEFINED      },
2334   { "penguin.waiting",                  SND_FILE_UNDEFINED      },
2335   { "penguin.entering_exit",            "buing.wav"             },
2336   { "pig.moving",                       SND_FILE_UNDEFINED      },
2337   { "pig.waiting",                      SND_FILE_UNDEFINED      },
2338   { "pig.eating_gem",                   SND_FILE_UNDEFINED      },
2339   { "dragon.moving",                    SND_FILE_UNDEFINED      },
2340   { "dragon.waiting",                   SND_FILE_UNDEFINED      },
2341   { "dragon.attacking",                 SND_FILE_UNDEFINED      },
2342
2343   /* sounds for generic elements and actions */
2344   { "player.dying",                     "autsch.wav"            },
2345   { "element.exploding",                "roaaar.wav"            },
2346
2347   /* sounds for other game actions */
2348   { "game.starting",                    SND_FILE_UNDEFINED      },
2349   { "game.running_out_of_time",         "gong.wav"              },
2350   { "game.leveltime_bonus",             "sirr.wav"              },
2351   { "game.losing",                      "lachen.wav"            },
2352   { "game.winning",                     SND_FILE_UNDEFINED      },
2353
2354   /* sounds for other non-game actions */
2355   { "menu.door_opening",                "oeffnen.wav"           },
2356   { "menu.door_closing",                "oeffnen.wav"           },
2357   { "menu.hall_of_fame",                "halloffame.wav"        },
2358   { "menu.info_screen",                 "rhythmloop.wav"        },
2359
2360 #if 0
2361   { "[not used]",                       "antigrav.wav"          },
2362   { "[not used]",                       "bong.wav"              },
2363   { "[not used]",                       "fuel.wav"              },
2364   { "[not used]",                       "holz.wav"              },
2365   { "[not used]",                       "hui.wav"               },
2366   { "[not used]",                       "kabumm.wav"            },
2367   { "[not used]",                       "kink.wav"              },
2368   { "[not used]",                       "kling.wav"             },
2369   { "[not used]",                       "krach.wav"             },
2370   { "[not used]",                       "laser.wav"             },
2371   { "[not used]",                       "quiek.wav"             },
2372   { "[not used]",                       "rumms.wav"             },
2373   { "[not used]",                       "schlopp.wav"           },
2374   { "[not used]",                       "schrff.wav"            },
2375   { "[not used]",                       "schwirr.wav"           },
2376   { "[not used]",                       "slurp.wav"             },
2377   { "[not used]",                       "sproing.wav"           },
2378   { "[not used]",                       "warnton.wav"           },
2379   { "[not used]",                       "whoosh.wav"            },
2380   { "[not used]",                       "boom.wav"              },
2381 #endif
2382
2383   { NULL,                               NULL                    }
2384 };
2385
2386 struct FileInfo *image_files;
2387 struct FileInfo *sound_files;
2388
2389 struct ElementInfo element_info[MAX_ELEMENTS] =
2390 {
2391   { "empty_space",              "empty space"                   },      /* 0 */
2392   { "sand",                     "sand"                          },
2393   { "wall",                     "normal wall"                   },
2394   { "wall",                     "round wall"                    },
2395   { "rock",                     "rock"                          },
2396   { "key",                      "key"                           },
2397   { "emerald",                  "emerald"                       },
2398   { "exit",                     "closed exit"                   },
2399   { "player",                   "player"                        },
2400   { "bug",                      "bug"                           },
2401   { "spaceship",                "spaceship"                     },     /* 10 */
2402   { "yamyam",                   "yam yam"                       },
2403   { "robot",                    "robot"                         },
2404   { "wall",                     "steel wall"                    },
2405   { "diamond",                  "diamond"                       },
2406   { "amoeba",                   "dead amoeba"                   },
2407   { "quicksand",                "empty quicksand"               },
2408   { "quicksand",                "quicksand with rock"           },
2409   { "amoeba",                   "amoeba drop"                   },
2410   { "bomb",                     "bomb"                          },
2411   { "magic_wall",               "magic wall"                    },     /* 20 */
2412   { "speed_pill",               "speed pill"                    },
2413   { "acid",                     "acid pool"                     },
2414   { "amoeba",                   "dropping amoeba"               },
2415   { "amoeba",                   "normal amoeba"                 },
2416   { "nut",                      "nut with emerald"              },
2417   { "gameoflife",               "Conway's wall of life"         },
2418   { "biomaze",                  "biomaze"                       },
2419   { "dynamite",                 "burning dynamite"              },
2420   { NULL,                       "unknown"                       },
2421   { "robot_wheel",              "magic wheel"                   },     /* 30 */
2422   { "robot_wheel",              "magic wheel (running)"         },
2423   { "key",                      "red key"                       },
2424   { "key",                      "yellow key"                    },
2425   { "key",                      "green key"                     },
2426   { "key",                      "blue key"                      },
2427   { "gate",                     "red door"                      },
2428   { "gate",                     "yellow door"                   },
2429   { "gate",                     "green door"                    },
2430   { "gate",                     "blue door"                     },
2431   { "gate",                     "gray door (opened by red key)" },     /* 40 */
2432   { "gate",                     "gray door (opened by yellow key)"},
2433   { "gate",                     "gray door (opened by green key)"},
2434   { "gate",                     "gray door (opened by blue key)"},
2435   { "dynamite",                 "dynamite"                      },
2436   { "pacman",                   "pac man"                       },
2437   { "wall",                     "invisible normal wall"         },
2438   { "lamp",                     "lamp (off)"                    },
2439   { "lamp",                     "lamp (on)"                     },
2440   { "wall",                     "wall with emerald"             },
2441   { "wall",                     "wall with diamond"             },     /* 50 */
2442   { "amoeba",                   "amoeba with content"           },
2443   { "bd_amoeba",                "amoeba (BD style)"             },
2444   { "time_orb_full",            "time orb (full)"               },
2445   { "time_orb_empty",           "time orb (empty)"              },
2446   { "wall",                     "growing wall"                  },
2447   { "bd_diamond",               "diamond (BD style)"            },
2448   { "emerald",                  "yellow emerald"                },
2449   { "wall",                     "wall with BD style diamond"    },
2450   { "wall",                     "wall with yellow emerald"      },
2451   { "dark_yamyam",              "dark yam yam"                  },     /* 60 */
2452   { "bd_magic_wall",            "magic wall (BD style)"         },
2453   { "wall",                     "invisible steel wall"          },
2454   { NULL,                       "-"                             },
2455   { "dynabomb_nr",              "increases number of bombs"     },
2456   { "dynabomb_sz",              "increases explosion size"      },
2457   { "dynabomb_xl",              "increases power of explosion"  },
2458   { "sokoban_object",           "sokoban object"                },
2459   { "sokoban_field",            "sokoban empty field"           },
2460   { "sokoban_field",            "sokoban field with object"     },
2461   { "bd_butterfly",             "butterfly (starts moving right)"},    /* 70 */
2462   { "bd_butterfly",             "butterfly (starts moving up)"  },
2463   { "bd_butterfly",             "butterfly (starts moving left)"},
2464   { "bd_butterfly",             "butterfly (starts moving down)"},
2465   { "bd_firefly",               "firefly (starts moving right)" },
2466   { "bd_firefly",               "firefly (starts moving up)"    },
2467   { "bd_firefly",               "firefly (starts moving left)"  },
2468   { "bd_firefly",               "firefly (starts moving down)"  },
2469   { "bd_butterfly",             "butterfly"                     },
2470   { "bd_firefly",               "firefly"                       },
2471   { "player",                   "yellow player"                 },     /* 80 */
2472   { "player",                   "red player"                    },
2473   { "player",                   "green player"                  },
2474   { "player",                   "blue player"                   },
2475   { "bug",                      "bug (starts moving right)"     },
2476   { "bug",                      "bug (starts moving up)"        },
2477   { "bug",                      "bug (starts moving left)"      },
2478   { "bug",                      "bug (starts moving down)"      },
2479   { "spaceship",                "spaceship (starts moving right)"},
2480   { "spaceship",                "spaceship (starts moving up)"  },
2481   { "spaceship",                "spaceship (starts moving left)"},     /* 90 */
2482   { "spaceship",                "spaceship (starts moving down)"},
2483   { "pacman",                   "pac man (starts moving right)" },
2484   { "pacman",                   "pac man (starts moving up)"    },
2485   { "pacman",                   "pac man (starts moving left)"  },
2486   { "pacman",                   "pac man (starts moving down)"  },
2487   { "emerald",                  "red emerald"                   },
2488   { "emerald",                  "purple emerald"                },
2489   { "wall",                     "wall with red emerald"         },
2490   { "wall",                     "wall with purple emerald"      },
2491   { NULL,                       "unknown"                       },    /* 100 */
2492   { NULL,                       "unknown"                       },
2493   { NULL,                       "unknown"                       },
2494   { NULL,                       "unknown"                       },
2495   { NULL,                       "unknown"                       },
2496   { NULL,                       "normal wall (BD style)"        },
2497   { "bd_rock",                  "rock (BD style)"               },
2498   { "exit",                     "open exit"                     },
2499   { NULL,                       "black orb bomb"                },
2500   { "amoeba",                   "amoeba"                        },
2501   { "mole",                     "mole"                          },    /* 110 */
2502   { "penguin",                  "penguin"                       },
2503   { "satellite",                "satellite"                     },
2504   { NULL,                       "arrow left"                    },
2505   { NULL,                       "arrow right"                   },
2506   { NULL,                       "arrow up"                      },
2507   { NULL,                       "arrow down"                    },
2508   { "pig",                      "pig"                           },
2509   { "dragon",                   "fire breathing dragon"         },
2510   { "key",                      "red key (EM style)"            },
2511   { NULL,                       "letter ' '"                    },    /* 120 */
2512   { NULL,                       "letter '!'"                    },
2513   { NULL,                       "letter '\"'"                   },
2514   { NULL,                       "letter '#'"                    },
2515   { NULL,                       "letter '$'"                    },
2516   { NULL,                       "letter '%'"                    },
2517   { NULL,                       "letter '&'"                    },
2518   { NULL,                       "letter '''"                    },
2519   { NULL,                       "letter '('"                    },
2520   { NULL,                       "letter ')'"                    },
2521   { NULL,                       "letter '*'"                    },    /* 130 */
2522   { NULL,                       "letter '+'"                    },
2523   { NULL,                       "letter ','"                    },
2524   { NULL,                       "letter '-'"                    },
2525   { NULL,                       "letter '.'"                    },
2526   { NULL,                       "letter '/'"                    },
2527   { NULL,                       "letter '0'"                    },
2528   { NULL,                       "letter '1'"                    },
2529   { NULL,                       "letter '2'"                    },
2530   { NULL,                       "letter '3'"                    },
2531   { NULL,                       "letter '4'"                    },    /* 140 */
2532   { NULL,                       "letter '5'"                    },
2533   { NULL,                       "letter '6'"                    },
2534   { NULL,                       "letter '7'"                    },
2535   { NULL,                       "letter '8'"                    },
2536   { NULL,                       "letter '9'"                    },
2537   { NULL,                       "letter ':'"                    },
2538   { NULL,                       "letter ';'"                    },
2539   { NULL,                       "letter '<'"                    },
2540   { NULL,                       "letter '='"                    },
2541   { NULL,                       "letter '>'"                    },    /* 150 */
2542   { NULL,                       "letter '?'"                    },
2543   { NULL,                       "letter '@'"                    },
2544   { NULL,                       "letter 'A'"                    },
2545   { NULL,                       "letter 'B'"                    },
2546   { NULL,                       "letter 'C'"                    },
2547   { NULL,                       "letter 'D'"                    },
2548   { NULL,                       "letter 'E'"                    },
2549   { NULL,                       "letter 'F'"                    },
2550   { NULL,                       "letter 'G'"                    },
2551   { NULL,                       "letter 'H'"                    },    /* 160 */
2552   { NULL,                       "letter 'I'"                    },
2553   { NULL,                       "letter 'J'"                    },
2554   { NULL,                       "letter 'K'"                    },
2555   { NULL,                       "letter 'L'"                    },
2556   { NULL,                       "letter 'M'"                    },
2557   { NULL,                       "letter 'N'"                    },
2558   { NULL,                       "letter 'O'"                    },
2559   { NULL,                       "letter 'P'"                    },
2560   { NULL,                       "letter 'Q'"                    },
2561   { NULL,                       "letter 'R'"                    },    /* 170 */
2562   { NULL,                       "letter 'S'"                    },
2563   { NULL,                       "letter 'T'"                    },
2564   { NULL,                       "letter 'U'"                    },
2565   { NULL,                       "letter 'V'"                    },
2566   { NULL,                       "letter 'W'"                    },
2567   { NULL,                       "letter 'X'"                    },
2568   { NULL,                       "letter 'Y'"                    },
2569   { NULL,                       "letter 'Z'"                    },
2570   { NULL,                       "letter 'Ä'"                    },
2571   { NULL,                       "letter 'Ö'"                    },    /* 180 */
2572   { NULL,                       "letter 'Ãœ'"                    },
2573   { NULL,                       "letter '^'"                    },
2574   { NULL,                       "letter ''"                     },
2575   { NULL,                       "letter ''"                     },
2576   { NULL,                       "letter ''"                     },
2577   { NULL,                       "letter ''"                     },
2578   { NULL,                       "letter ''"                     },
2579   { NULL,                       "letter ''"                     },
2580   { NULL,                       "letter ''"                     },
2581   { NULL,                       "letter ''"                     },    /* 190 */
2582   { NULL,                       "letter ''"                     },
2583   { NULL,                       "letter ''"                     },
2584   { NULL,                       "letter ''"                     },
2585   { NULL,                       "letter ''"                     },
2586   { NULL,                       "letter ''"                     },
2587   { NULL,                       "letter ''"                     },
2588   { NULL,                       "letter ''"                     },
2589   { NULL,                       "letter ''"                     },
2590   { NULL,                       "letter ''"                     },
2591   { "wall",                     "growing wall (horizontal)"     },    /* 200 */
2592   { "wall",                     "growing wall (vertical)"       },
2593   { "wall",                     "growing wall (all directions)" },
2594   { "gate",                     "red door (EM style)"           },
2595   { "gate",                     "yellow door (EM style)"        },
2596   { "gate",                     "green door (EM style)"         },
2597   { "gate",                     "blue door (EM style)"          },
2598   { "key",                      "yellow key (EM style)"         },
2599   { "key",                      "green key (EM style)"          },
2600   { "key",                      "blue key (EM style)"           },
2601   { "empty_space",              "empty space"                   },    /* 210 */
2602   { "sp_zonk",                  "zonk"                          },
2603   { "sp_base",                  "base"                          },
2604   { "player",                   "murphy"                        },
2605   { "sp_infotron",              "infotron"                      },
2606   { "wall",                     "chip (single)"                 },
2607   { "wall",                     "hardware"                      },
2608   { "sp_exit",                  "exit"                          },
2609   { "sp_disk_orange",           "orange disk"                   },
2610   { "sp_port",                  "port (leading right)"          },
2611   { "sp_port",                  "port (leading down)"           },    /* 220 */
2612   { "sp_port",                  "port (leading left)"           },
2613   { "sp_port",                  "port (leading up)"             },
2614   { "sp_port",                  "port (leading right)"          },
2615   { "sp_port",                  "port (leading down)"           },
2616   { "sp_port",                  "port (leading left)"           },
2617   { "sp_port",                  "port (leading up)"             },
2618   { "sp_sniksnak",              "snik snak"                     },
2619   { "sp_disk_yellow",           "yellow disk"                   },
2620   { "sp_terminal",              "terminal"                      },
2621   { "sp_disk_red",              "red disk"                      },    /* 230 */
2622   { "sp_port",                  "port (vertical)"               },
2623   { "sp_port",                  "port (horizontal)"             },
2624   { "sp_port",                  "port (all directions)"         },
2625   { "sp_electron",              "electron"                      },
2626   { "sp_buggy_base",            "buggy base"                    },
2627   { "wall",                     "chip (left half)"              },
2628   { "wall",                     "chip (right half)"             },
2629   { "wall",                     "hardware"                      },
2630   { "wall",                     "hardware"                      },
2631   { "wall",                     "hardware"                      },    /* 240 */
2632   { "wall",                     "hardware"                      },
2633   { "wall",                     "hardware"                      },
2634   { "wall",                     "hardware"                      },
2635   { "wall",                     "hardware"                      },
2636   { "wall",                     "hardware"                      },
2637   { "wall",                     "hardware"                      },
2638   { "wall",                     "hardware"                      },
2639   { "wall",                     "chip (upper half)"             },
2640   { "wall",                     "chip (lower half)"             },
2641   { "gate",                     "gray door (EM style, red key)" },    /* 250 */
2642   { "gate",                     "gray door (EM style, yellow key)"},
2643   { "gate",                     "gray door (EM style, green key)"},
2644   { "gate",                     "gray door (EM style, blue key)"},
2645   { NULL,                       "unknown"                       },
2646   { NULL,                       "unknown"                       },
2647
2648   /* 256 */
2649
2650   { "pearl",                    "pearl"                         },  /* (256) */
2651   { "crystal",                  "crystal"                       },
2652   { "wall",                     "wall with pearl"               },
2653   { "wall",                     "wall with crystal"             },
2654   { "gate",                     "white door"                    },    /* 260 */
2655   { "gate",                     "gray door (opened by white key)"},
2656   { "key",                      "white key"                     },
2657   { "shield_passive",           "shield (passive)"              },
2658   { "extra_time",               "extra time"                    },
2659   { "switchgate",               "switch gate (open)"            },
2660   { "switchgate",               "switch gate (closed)"          },
2661   { "switchgate_switch",        "switch for switch gate"        },
2662   { "switchgate_switch",        "switch for switch gate"        },
2663   { NULL,                       "-"                             },
2664   { NULL,                       "-"                             },    /* 270 */
2665   { "conveyor_belt",            "red conveyor belt (left)"      },
2666   { "conveyor_belt",            "red conveyor belt (middle)"    },
2667   { "conveyor_belt",            "red conveyor belt (right)"     },
2668   { "conveyor_belt_switch",     "switch for red conveyor belt (left)"},
2669   { "conveyor_belt_switch",     "switch for red conveyor belt (middle)"},
2670   { "conveyor_belt_switch",     "switch for red conveyor belt (right)"},
2671   { "conveyor_belt",            "yellow conveyor belt (left)"   },
2672   { "conveyor_belt",            "yellow conveyor belt (middle)" },
2673   { "conveyor_belt",            "yellow conveyor belt (right)"  },
2674   { "conveyor_belt_switch",     "switch for yellow conveyor belt (left)"},
2675   { "conveyor_belt_switch",     "switch for yellow conveyor belt (middle)"},
2676   { "conveyor_belt_switch",     "switch for yellow conveyor belt (right)"},
2677   { "conveyor_belt",            "green conveyor belt (left)"    },
2678   { "conveyor_belt",            "green conveyor belt (middle)"  },
2679   { "conveyor_belt",            "green conveyor belt (right)"   },
2680   { "conveyor_belt_switch",     "switch for green conveyor belt (left)"},
2681   { "conveyor_belt_switch",     "switch for green conveyor belt (middle)"},
2682   { "conveyor_belt_switch",     "switch for green conveyor belt (right)"},
2683   { "conveyor_belt",            "blue conveyor belt (left)"     },
2684   { "conveyor_belt",            "blue conveyor belt (middle)"   },
2685   { "conveyor_belt",            "blue conveyor belt (right)"    },
2686   { "conveyor_belt_switch",     "switch for blue conveyor belt (left)"},
2687   { "conveyor_belt_switch",     "switch for blue conveyor belt (middle)"},
2688   { "conveyor_belt_switch",     "switch for blue conveyor belt (right)"},
2689   { "sand",                     "land mine"                     },
2690   { "envelope",                 "mail envelope"                 },
2691   { "light_switch",             "light switch (off)"            },
2692   { "light_switch",             "light switch (on)"             },
2693   { "wall",                     "sign (exclamation)"            },
2694   { "wall",                     "sign (radio activity)"         },    /* 300 */
2695   { "wall",                     "sign (stop)"                   },
2696   { "wall",                     "sign (wheel chair)"            },
2697   { "wall",                     "sign (parking)"                },
2698   { "wall",                     "sign (one way)"                },
2699   { "wall",                     "sign (heart)"                  },
2700   { "wall",                     "sign (triangle)"               },
2701   { "wall",                     "sign (round)"                  },
2702   { "wall",                     "sign (exit)"                   },
2703   { "wall",                     "sign (yin yang)"               },
2704   { "wall",                     "sign (other)"                  },    /* 310 */
2705   { "mole",                     "mole (starts moving left)"     },
2706   { "mole",                     "mole (starts moving right)"    },
2707   { "mole",                     "mole (starts moving up)"       },
2708   { "mole",                     "mole (starts moving down)"     },
2709   { "wall",                     "steel wall (slanted)"          },
2710   { "sand",                     "invisible sand"                },
2711   { NULL,                       "dx unknown 15"                 },
2712   { NULL,                       "dx unknown 42"                 },
2713   { NULL,                       "-"                             },
2714   { NULL,                       "-"                             },    /* 320 */
2715   { "shield_active",            "shield (active, kills enemies)"},
2716   { "timegate",                 "time gate (open)"              },
2717   { "timegate",                 "time gate (closed)"            },
2718   { "timegate_wheel",           "switch for time gate"          },
2719   { "timegate_wheel",           "switch for time gate"          },
2720   { "balloon",                  "balloon"                       },
2721   { "wall",                     "send balloon to the left"      },
2722   { "wall",                     "send balloon to the right"     },
2723   { "balloon_switch",           "send balloon up"               },
2724   { "balloon_switch",           "send balloon down"             },    /* 330 */
2725   { "balloon_switch",           "send balloon in any direction" },
2726   { "wall",                     "steel wall"                    },
2727   { "wall",                     "steel wall"                    },
2728   { "wall",                     "steel wall"                    },
2729   { "wall",                     "steel wall"                    },
2730   { "wall",                     "normal wall"                   },
2731   { "wall",                     "normal wall"                   },
2732   { "wall",                     "normal wall"                   },
2733   { "wall",                     "normal wall"                   },
2734   { "wall",                     "normal wall"                   },    /* 340 */
2735   { "wall",                     "normal wall"                   },
2736   { "wall",                     "normal wall"                   },
2737   { "wall",                     "normal wall"                   },
2738   { "tube",                     "tube (all directions)"         },
2739   { "tube",                     "tube (vertical)"               },
2740   { "tube",                     "tube (horizontal)"             },
2741   { "tube",                     "tube (vertical & left)"        },
2742   { "tube",                     "tube (vertical & right)"       },
2743   { "tube",                     "tube (horizontal & up)"        },
2744   { "tube",                     "tube (horizontal & down)"      },    /* 350 */
2745   { "tube",                     "tube (left & up)"              },
2746   { "tube",                     "tube (left & down)"            },
2747   { "tube",                     "tube (right & up)"             },
2748   { "tube",                     "tube (right & down)"           },
2749   { "spring",                   "spring"                        },
2750   { "trap",                     "trap"                          },
2751   { "dx_bomb",                  "stable bomb (DX style)"        },
2752   { NULL,                       "-"                             }
2753
2754   /*
2755   "-------------------------------",
2756   */
2757 };
2758
2759 struct GraphicInfo graphic_info[MAX_GRAPHICS];
2760
2761
2762 /* ========================================================================= */
2763 /* main()                                                                    */
2764 /* ========================================================================= */
2765
2766 int main(int argc, char *argv[])
2767 {
2768   InitCommandName(argv[0]);
2769   InitExitFunction(CloseAllAndExit);
2770   InitPlatformDependantStuff();
2771
2772   GetOptions(argv);
2773   OpenAll();
2774
2775   EventLoop();
2776   CloseAllAndExit(0);
2777
2778   return 0;     /* to keep compilers happy */
2779 }