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