1 // ============================================================================
2 // Rocks'n'Diamonds - McDuffin Strikes Back!
3 // ----------------------------------------------------------------------------
4 // (c) 1995-2014 by Artsoft Entertainment
7 // https://www.artsoft.org/
8 // ----------------------------------------------------------------------------
10 // ============================================================================
12 #include "libgame/libgame.h"
16 // List values that are not defined in the configuration file are set to
17 // reliable default values. If that value is GFX_ARG_UNDEFINED, it will
18 // be dynamically determined, using some of the other list values.
20 struct ConfigInfo helpanim_config[] =
22 { "player_1.moving.down", "16" },
23 { "player_1.moving.up", "16" },
24 { "player_1.moving.left", "16" },
25 { "player_1.moving.right", "16" },
26 { "player_1.pushing.left", "16" },
27 { "player_1.pushing.right", "16" },
31 { "sand.digging.left", "8" },
32 { "empty_space", "10" },
34 { "sand.digging.right", "8" },
35 { "empty_space", "10" },
37 { "sand.digging.up", "8" },
38 { "empty_space", "10" },
40 { "sand.digging.down", "8" },
41 { "empty_space", "10" },
44 { "empty_space", "-1" },
47 { "quicksand_empty", "-1" },
50 { "steelwall", "-1" },
56 { "expandable_wall.growing.left", "20" },
58 { "expandable_wall.growing.right", "20" },
60 { "expandable_wall.growing.up", "20" },
62 { "expandable_wall.growing.down", "20" },
64 { "empty_space", "20" },
67 { "invisible_wall", "-1" },
70 { "wall_slippery", "-1" },
73 { "char_space", "10" },
74 { "char_exclam", "10" },
75 { "char_quotedbl", "10" },
76 { "char_numbersign", "10" },
77 { "char_dollar", "10" },
78 { "char_percent", "10" },
79 { "char_ampersand", "10" },
80 { "char_apostrophe", "10" },
81 { "char_parenleft", "10" },
82 { "char_parenright", "10" },
83 { "char_asterisk", "10" },
84 { "char_plus", "10" },
85 { "char_comma", "10" },
86 { "char_minus", "10" },
87 { "char_period", "10" },
88 { "char_slash", "10" },
99 { "char_colon", "10" },
100 { "char_semicolon", "10" },
101 { "char_less", "10" },
102 { "char_equal", "10" },
103 { "char_greater", "10" },
104 { "char_question", "10" },
132 { "char_bracketleft", "10" },
133 { "char_backslash", "10" },
134 { "char_bracketright", "10" },
135 { "char_asciicircum", "10" },
136 { "char_underscore", "10" },
137 { "char_copyright", "10" },
138 { "char_aumlaut", "10" },
139 { "char_oumlaut", "10" },
140 { "char_uumlaut", "10" },
141 { "char_degree", "10" },
142 { "char_trademark", "10" },
143 { "char_cursor", "10" },
147 { "emerald.collecting", "8" },
148 { "empty_space", "10" },
152 { "diamond.collecting", "8" },
153 { "empty_space", "10" },
156 { "bd_diamond", "50" },
157 { "bd_diamond.collecting", "8" },
158 { "empty_space", "10" },
161 { "emerald_yellow", "50" },
162 { "emerald_yellow.collecting", "8" },
163 { "empty_space", "10" },
164 { "emerald_red", "50" },
165 { "emerald_red.collecting", "8" },
166 { "empty_space", "10" },
167 { "emerald_purple", "50" },
168 { "emerald_purple.collecting", "8" },
169 { "empty_space", "10" },
176 { "bomb.exploding", "16" },
177 { "empty_space", "10" },
181 { "nut.breaking", "6" },
185 { "wall_emerald", "100" },
186 { "wall_emerald.exploding", "16" },
190 { "wall_diamond", "100" },
191 { "wall_diamond.exploding", "16" },
195 { "wall_bd_diamond", "100" },
196 { "wall_bd_diamond.exploding", "16" },
197 { "bd_diamond", "20" },
200 { "wall_emerald_yellow", "100" },
201 { "wall_emerald_yellow.exploding", "16" },
202 { "emerald_yellow", "20" },
203 { "wall_emerald_red", "100" },
204 { "wall_emerald_red.exploding", "16" },
205 { "emerald_red", "20" },
206 { "wall_emerald_purple", "100" },
207 { "wall_emerald_purple.exploding", "16" },
208 { "emerald_purple", "20" },
226 { "gate_1_gray", "50" },
227 { "gate_2_gray", "50" },
228 { "gate_3_gray", "50" },
229 { "gate_4_gray", "50" },
232 { "dynamite", "-1" },
235 { "dynamite.active", "96" },
236 { "dynamite.exploding", "16" },
237 { "empty_space", "20" },
240 { "dynabomb.active", "100" },
241 { "dynabomb.exploding", "16" },
242 { "empty_space", "20" },
245 { "dynabomb_increase_number", "-1" },
248 { "dynabomb_increase_size", "-1" },
251 { "dynabomb_increase_power", "-1" },
254 { "spaceship.turning_from_right.up", "8" },
255 { "spaceship.turning_from_up.left", "8" },
256 { "spaceship.turning_from_left.down", "8" },
257 { "spaceship.turning_from_down.right", "8" },
260 { "bug.turning_from_right.up", "8" },
261 { "bug.turning_from_up.left", "8" },
262 { "bug.turning_from_left.down", "8" },
263 { "bug.turning_from_down.right", "8" },
266 { "bd_butterfly", "-1" },
269 { "bd_firefly", "-1" },
272 { "pacman.right", "16" },
273 { "pacman.up", "16" },
274 { "pacman.left", "16" },
275 { "pacman.down", "16" },
281 { "dark_yamyam", "-1" },
287 { "mole.moving.right", "16" },
288 { "mole.moving.up", "16" },
289 { "mole.moving.left", "16" },
290 { "mole.moving.down", "16" },
293 { "penguin.moving.right", "16" },
294 { "penguin.moving.up", "16" },
295 { "penguin.moving.left", "16" },
296 { "penguin.moving.down", "16" },
299 { "pig.moving.right", "16" },
300 { "pig.moving.up", "16" },
301 { "pig.moving.left", "16" },
302 { "pig.moving.down", "16" },
305 { "dragon.moving.right", "16" },
306 { "dragon.moving.up", "16" },
307 { "dragon.moving.left", "16" },
308 { "dragon.moving.down", "16" },
311 { "satellite", "-1" },
314 { "robot_wheel", "50" },
315 { "robot_wheel.active", "100" },
319 { "lamp.active", "50" },
322 { "time_orb_full", "50" },
323 { "time_orb_empty", "50" },
326 { "amoeba_drop", "50" },
327 { "amoeba.growing", "6" },
328 { "amoeba_wet", "20" },
331 { "amoeba_dead", "-1" },
334 { "amoeba_wet", "-1" },
337 { "amoeba_wet", "100" },
338 { "amoeba.growing", "6" },
341 { "amoeba_full", "50" },
342 { "amoeba_dead", "50" },
343 { "amoeba.exploding", "16" },
347 { "game_of_life", "-1" },
353 { "magic_wall.active", "-1" },
356 { "bd_magic_wall.active", "-1" },
359 { "exit_closed", "200" },
360 { "exit.opening", "30" },
361 { "exit_open", "100" },
362 { "exit.closing", "30" },
365 { "exit_open", "-1" },
368 { "sokoban_object", "-1" },
371 { "sokoban_field_empty", "-1" },
374 { "sokoban_field_full", "-1" },
377 { "speed_pill", "-1" },
383 struct ConfigInfo helptext_config[] =
387 "THE HERO: (Is _this_ guy good old Rockford?)"
391 "Normal sand: You can dig through it"
395 "Empty field: You can walk through it"
399 "Quicksand: You cannot pass it, but rocks can fall through it"
403 "Massive Wall: Nothing can go through it"
407 "Normal Wall: You can't go through it, but you can bomb it away"
411 "Growing Wall: Grows in several directions if there is an empty field"
415 "Invisible Wall: Behaves like normal wall, but is invisible"
419 "Old Wall: Like normal wall, but some things can fall down from it"
423 "Letter Wall: Looks like a letter, behaves like a normal wall"
427 "Emerald: You must collect enough of them to finish a level"
431 "Diamond: Counts as 3 emeralds, but can be destroyed by rocks"
435 "Diamond (BD style): Counts like one emerald and behaves a bit different"
439 "Colorful Gems: Seem to behave like Emeralds"
443 "Rock: Smashes several things; Can be moved by the player"
447 "Bomb: You can move it, but be careful when dropping it"
451 "Nut: Throw a rock on it to open it; Each nut contains an emerald"
455 "Wall with an emerald inside: Bomb the wall away to get it"
459 "Wall with a diamond inside: Bomb the wall away to get it"
463 "Wall with BD style diamond inside: Bomb the wall away to get it"
466 "wall_emerald_yellow",
467 "Wall with colorful gem inside: Bomb the wall away to get it"
471 "Acid: Things that fall in are gone forever (including our hero)"
475 "Key: Opens the door that has the same color (red/yellow/green/blue)"
479 "Door: Can be opened by the key with the same color"
483 "Door: You have to find out the right color of the key for it"
487 "Dynamite: Collect it and use it to destroy walls or kill enemies"
491 "Dynamite: This one explodes after a few seconds"
495 "Dyna Bomb: Explodes in 4 directions with variable explosion size"
498 "dynabomb_increase_number",
499 "Dyna Bomb: Increases the number of dyna bombs available at a time"
502 "dynabomb_increase_size",
503 "Dyna Bomb: Increases the size of explosion of dyna bombs"
506 "dynabomb_increase_power",
507 "Dyna Bomb: Increases the power of explosion of dyna bombs"
511 "Spaceship: Moves at the left side of walls; don't touch it!"
515 "Bug: Moves at the right side of walls; don't touch it!"
519 "Butterfly: Moves at the right side of walls; don't touch it!"
523 "Firefly: Moves at the left side of walls; don't touch it!"
527 "Pacman: Eats the amoeba and you, if you're not careful"
531 "Yam Yam: Eats diamonds and you, if you're not careful"
535 "Dark Yam Yam: Eats almost everything"
539 "Robot: Tries to kill the player"
543 "The mole: Eats the amoeba and turns empty space into normal sand"
547 "The penguin: Guide him to the exit, but keep him away from monsters!"
551 "The Pig: Harmless, but eats all gems it can get"
555 "The Dragon: Breathes fire, especially to some monsters"
559 "Sonde: Follows you everywhere; harmless, but may block your way"
563 "Magic Wheel: Touch it to get rid of the robots for some seconds"
567 "Light Bulb: All of them must be switched on to finish a level"
571 "Extra Time Orb: Adds some seconds to the time available for the level"
575 "Amoeba Drop: Grows to an amoeba on the ground - don't touch it"
579 "Dead Amoeba: Does not grow, but can still kill bugs and spaceships"
583 "Normal Amoeba: Grows through empty fields, sand and quicksand"
587 "Dropping Amoeba: This one makes drops that grow to a new amoeba"
591 "Living Amoeba (BD style): Contains other element, when surrounded"
595 "Game Of Life: Behaves like the well known 'Game Of Life' (2333 style)"
599 "Biomaze: A bit like the 'Game Of Life', but builds crazy mazes"
603 "Magic Wall: Changes rocks, emeralds and diamonds when they pass it"
607 "Magic Wall (BD style): Changes rocks and BD style diamonds"
611 "Exit door: Opens if you have enough emeralds to finish the level"
615 "Open exit door: Enter here to leave the level and exit the actual game"
619 "Sokoban element: Object which must be pushed to an empty field"
622 "sokoban_field_empty",
623 "Sokoban element: Empty field where a Sokoban object can be placed on"
626 "sokoban_field_full",
627 "Sokoban element: Field with object which can be pushed away"
631 "Speed pill: Lets the player run twice as fast as normally"