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