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