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"
18 /* List values that are not defined in the configuration file are set to
19 reliable default values. If that value is GFX_ARG_UNDEFINED, it will
20 be dynamically determined, using some of the other list values. */
22 struct ConfigInfo demo_anim_info_config[] =
24 { "player_1.moving.down", "16" },
25 { "player_1.moving.up", "16" },
26 { "player_1.moving.left", "16" },
27 { "player_1.moving.right", "16" },
28 { "player_1.pushing.left", "16" },
29 { "player_1.pushing.right", "16" },
35 { "empty_space", "-1" },
38 { "quicksand_empty", "-1" },
41 { "steelwall", "-1" },
47 { "expandable_wall.growing.left", "20" },
49 { "expandable_wall.growing.right", "20" },
51 { "expandable_wall.growing.up", "20" },
53 { "expandable_wall.growing.down", "20" },
55 { "empty_space", "20" },
58 { "invisible_wall", "-1" },
61 { "wall_slippery", "-1" },
64 { "char_space", "10" },
65 { "char_exclam", "10" },
66 { "char_quotedbl", "10" },
67 { "char_numbersign", "10" },
68 { "char_dollar", "10" },
69 { "char_procent", "10" },
70 { "char_ampersand", "10" },
71 { "char_apostrophe", "10" },
72 { "char_parenleft", "10" },
73 { "char_parenright", "10" },
74 { "char_asterisk", "10" },
75 { "char_plus", "10" },
76 { "char_comma", "10" },
77 { "char_minus", "10" },
78 { "char_period", "10" },
79 { "char_slash", "10" },
90 { "char_colon", "10" },
91 { "char_semicolon", "10" },
92 { "char_less", "10" },
93 { "char_equal", "10" },
94 { "char_greater", "10" },
95 { "char_question", "10" },
123 { "char_bracketleft", "10" },
124 { "char_backslash", "10" },
125 { "char_bracketright", "10" },
126 { "char_asciicircum", "10" },
127 { "char_underscore", "10" },
128 { "char_copyright", "10" },
129 { "char_aumlaut", "10" },
130 { "char_oumlaut", "10" },
131 { "char_uumlaut", "10" },
132 { "char_degree", "10" },
133 { "char_trademark", "10" },
134 { "char_cursor", "10" },
143 { "bd_diamond", "-1" },
146 { "emerald_yellow", "50" },
147 { "emerald_red", "50" },
148 { "emerald_purple", "50" },
155 { "bomb.exploding", "16" },
156 { "empty_space", "10" },
160 { "nut.breaking", "6" },
164 { "wall_emerald", "100" },
165 { "wall_emerald.exploding", "16" },
169 { "wall_diamond", "100" },
170 { "wall_diamond.exploding", "16" },
174 { "wall_bd_diamond", "100" },
175 { "wall_bd_diamond.exploding", "16" },
176 { "bd_diamond", "20" },
179 { "wall_emerald_yellow", "100" },
180 { "wall_emerald_yellow.exploding", "16" },
181 { "emerald_yellow", "20" },
182 { "wall_emerald_red", "100" },
183 { "wall_emerald_red.exploding", "16" },
184 { "emerald_red", "20" },
185 { "wall_emerald_purple", "100" },
186 { "wall_emerald_purple.exploding", "16" },
187 { "emerald_purple", "20" },
205 { "gate_1_gray", "50" },
206 { "gate_2_gray", "50" },
207 { "gate_3_gray", "50" },
208 { "gate_4_gray", "50" },
211 { "dynamite", "-1" },
214 { "dynamite.active", "96" },
215 { "dynamite.exploding", "16" },
216 { "empty_space", "20" },
219 { "dynabomb.active", "100" },
220 { "dynabomb.exploding", "16" },
221 { "empty_space", "20" },
224 { "dynabomb_increase_number", "-1" },
227 { "dynabomb_increase_size", "-1" },
230 { "dynabomb_increase_power", "-1" },
233 { "spaceship.turning_from_right.up", "8" },
234 { "spaceship.turning_from_up.left", "8" },
235 { "spaceship.turning_from_left.down", "8" },
236 { "spaceship.turning_from_down.right", "8" },
239 { "bug.turning_from_right.up", "8" },
240 { "bug.turning_from_up.left", "8" },
241 { "bug.turning_from_left.down", "8" },
242 { "bug.turning_from_down.right", "8" },
245 { "bd_butterfly", "-1" },
248 { "bd_firefly", "-1" },
251 { "pacman.right", "16" },
252 { "pacman.up", "16" },
253 { "pacman.left", "16" },
254 { "pacman.down", "16" },
260 { "dark_yamyam", "-1" },
266 { "mole.moving.right", "16" },
267 { "mole.moving.up", "16" },
268 { "mole.moving.left", "16" },
269 { "mole.moving.down", "16" },
272 { "penguin.moving.right", "16" },
273 { "penguin.moving.up", "16" },
274 { "penguin.moving.left", "16" },
275 { "penguin.moving.down", "16" },
278 { "pig.moving.right", "16" },
279 { "pig.moving.up", "16" },
280 { "pig.moving.left", "16" },
281 { "pig.moving.down", "16" },
284 { "dragon.moving.right", "16" },
285 { "dragon.moving.up", "16" },
286 { "dragon.moving.left", "16" },
287 { "dragon.moving.down", "16" },
290 { "satellite", "-1" },
293 { "robot_wheel", "50" },
294 { "robot_wheel.active", "100" },
298 { "lamp.active", "50" },
301 { "time_orb_full", "50" },
302 { "time_orb_empty", "50" },
305 { "amoeba_drop", "50" },
306 { "amoeba.growing", "6" },
307 { "amoeba_wet", "20" },
310 { "amoeba_dead", "-1" },
313 { "amoeba_wet", "-1" },
316 { "amoeba_wet", "100" },
317 { "amoeba.growing", "6" },
320 { "amoeba_full", "50" },
321 { "amoeba_dead", "50" },
322 { "amoeba.exploding", "16" },
326 { "game_of_life", "-1" },
332 { "magic_wall.active", "-1" },
335 { "bd_magic_wall.active", "-1" },
338 { "exit_closed", "200" },
339 { "exit.opening", "30" },
340 { "exit_open", "100" },
341 { "exit.closing", "30" },
344 { "exit_open", "-1" },
347 { "sokoban_object", "-1" },
350 { "sokoban_field_empty", "-1" },
353 { "sokoban_field_full", "-1" },
356 { "speed_pill", "-1" },
362 struct ConfigInfo demo_anim_text_config[] =
365 "player_1.moving.down",
366 "THE HERO: (Is _this_ guy good old Rockford?)"
370 "Normal sand: You can dig through it"
374 "Empty field: You can walk through it"
378 "Quicksand: You cannot pass it, but rocks can fall through it"
382 "Massive Wall: Nothing can go through it"
386 "Normal Wall: You can't go through it, but you can bomb it away"
389 "expandable_wall.growing.left",
390 "Growing Wall: Grows in several directions if there is an empty field"
394 "Invisible Wall: Behaves like normal wall, but is invisible"
398 "Old Wall: Like normal wall, but some things can fall down from it"
402 "Letter Wall: Looks like a letter, behaves like a normal wall"
406 "Emerald: You must collect enough of them to finish a level"
410 "Diamond: Counts as 3 emeralds, but can be destroyed by rocks"
414 "Diamond (BD style): Counts like one emerald and behaves a bit different"
418 "Colorful Gems: Seem to behave like Emeralds"
422 "Rock: Smashes several things; Can be moved by the player"
426 "Bomb: You can move it, but be careful when dropping it"
430 "Nut: Throw a rock on it to open it; Each nut contains an emerald"
434 "Wall with an emerald inside: Bomb the wall away to get it"
438 "Wall with a diamond inside: Bomb the wall away to get it"
442 "Wall with BD style diamond inside: Bomb the wall away to get it"
445 "wall_emerald_yellow",
446 "Wall with colorful gem inside: Bomb the wall away to get it"
450 "Acid: Things that fall in are gone forever (including our hero)"
454 "Key: Opens the door that has the same color (red/yellow/green/blue)"
458 "Door: Can be opened by the key with the same color"
462 "Door: You have to find out the right color of the key for it"
466 "Dynamite: Collect it and use it to destroy walls or kill enemies"
470 "Dynamite: This one explodes after a few seconds"
474 "Dyna Bomb: Explodes in 4 directions with variable explosion size"
477 "dynabomb_increase_number",
478 "Dyna Bomb: Increases the number of dyna bombs available at a time"
481 "dynabomb_increase_size",
482 "Dyna Bomb: Increases the size of explosion of dyna bombs"
485 "dynabomb_increase_power",
486 "Dyna Bomb: Increases the power of explosion of dyna bombs"
490 "Spaceship: Moves at the left side of walls; don't touch it!"
494 "Bug: Moves at the right side of walls; don't touch it!"
498 "Butterfly: Moves at the right side of walls; don't touch it!"
502 "Firefly: Moves at the left side of walls; don't touch it!"
506 "Pacman: Eats the amoeba and you, if you're not careful"
510 "Cruncher: Eats diamonds and you, if you're not careful"
514 "Cruncher (BD style): Eats almost everything"
518 "Robot: Tries to kill the player"
522 "The mole: Eats the amoeba and turns empty space into normal sand"
525 "penguin.moving.right",
526 "The penguin: Guide him to the exit, but keep him away from monsters!"
530 "The Pig: Harmless, but eats all gems it can get"
533 "dragon.moving.right",
534 "The Dragon: Breathes fire, especially to some monsters"
538 "Sonde: Follows you everywhere; harmless, but may block your way"
542 "Magic Wheel: Touch it to get rid of the robots for some seconds"
546 "Light Bulb: All of them must be switched on to finish a level"
550 "Extra Time Orb: Adds some seconds to the time available for the level"
554 "Amoeba Drop: Grows to an amoeba on the ground - don't touch it"
558 "Dead Amoeba: Does not grow, but can still kill bugs and spaceships"
562 "Normal Amoeba: Grows through empty fields, sand and quicksand"
566 "Dropping Amoeba: This one makes drops that grow to a new amoeba"
570 "Living Amoeba (BD style): Contains other element, when surrounded"
574 "Game Of Life: Behaves like the well known 'Game Of Life' (2333 style)"
578 "Biomaze: A bit like the 'Game Of Life', but builds crazy mazes"
582 "Magic Wall: Changes rocks, emeralds and diamonds when they pass it"
585 "bd_magic_wall.active",
586 "Magic Wall (BD style): Changes rocks and BD style diamonds"
590 "Exit door: Opens if you have enough emeralds to finish the level"
594 "Open exit door: Enter here to leave the level and exit the actual game"
598 "Sokoban element: Object which must be pushed to an empty field"
601 "sokoban_field_empty",
602 "Sokoban element: Empty field where a Sokoban object can be placed on"
605 "sokoban_field_full",
606 "Sokoban element: Field with object which can be pushed away"
610 "Speed pill: Lets the player run twice as fast as normally"