d9050854ce15b1720ce930f3829f9cb08811002d
[rocksndiamonds.git] / src / conf_dem.c
1 /***********************************************************
2 * Rocks'n'Diamonds -- McDuffin Strikes Back!               *
3 *----------------------------------------------------------*
4 * (c) 1995-2002 Artsoft Entertainment                      *
5 *               Holger Schemel                             *
6 *               Detmolder Strasse 189                      *
7 *               33604 Bielefeld                            *
8 *               Germany                                    *
9 *               e-mail: info@artsoft.org                   *
10 *----------------------------------------------------------*
11 * conf_inf.c                                               *
12 ***********************************************************/
13
14 #include "libgame/libgame.h"
15 #include "main.h"
16
17
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. */
21
22 struct ConfigInfo helpanim_config[] =
23 {
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"                    },
30   { "end",                                      ""                      },
31
32   { "sand",                                     "-1"                    },
33   { "end",                                      ""                      },
34
35   { "empty_space",                              "-1"                    },
36   { "end",                                      ""                      },
37
38   { "quicksand_empty",                          "-1"                    },
39   { "end",                                      ""                      },
40
41   { "steelwall",                                "-1"                    },
42   { "end",                                      ""                      },
43
44   { "wall",                                     "-1"                    },
45   { "end",                                      ""                      },
46
47   { "expandable_wall.growing.left",             "20"                    },
48   { "wall",                                     "50"                    },
49   { "expandable_wall.growing.right",            "20"                    },
50   { "wall",                                     "50"                    },
51   { "expandable_wall.growing.up",               "20"                    },
52   { "wall",                                     "50"                    },
53   { "expandable_wall.growing.down",             "20"                    },
54   { "wall",                                     "50"                    },
55   { "empty_space",                              "20"                    },
56   { "end",                                      ""                      },
57
58   { "invisible_wall",                           "-1"                    },
59   { "end",                                      ""                      },
60
61   { "wall_slippery",                            "-1"                    },
62   { "end",                                      ""                      },
63
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"                    },
80   { "char_0",                                   "10"                    },
81   { "char_1",                                   "10"                    },
82   { "char_2",                                   "10"                    },
83   { "char_3",                                   "10"                    },
84   { "char_4",                                   "10"                    },
85   { "char_5",                                   "10"                    },
86   { "char_6",                                   "10"                    },
87   { "char_7",                                   "10"                    },
88   { "char_8",                                   "10"                    },
89   { "char_9",                                   "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"                    },
96   { "char_at",                                  "10"                    },
97   { "char_a",                                   "10"                    },
98   { "char_b",                                   "10"                    },
99   { "char_c",                                   "10"                    },
100   { "char_d",                                   "10"                    },
101   { "char_e",                                   "10"                    },
102   { "char_f",                                   "10"                    },
103   { "char_g",                                   "10"                    },
104   { "char_h",                                   "10"                    },
105   { "char_i",                                   "10"                    },
106   { "char_j",                                   "10"                    },
107   { "char_k",                                   "10"                    },
108   { "char_l",                                   "10"                    },
109   { "char_m",                                   "10"                    },
110   { "char_n",                                   "10"                    },
111   { "char_o",                                   "10"                    },
112   { "char_p",                                   "10"                    },
113   { "char_q",                                   "10"                    },
114   { "char_r",                                   "10"                    },
115   { "char_s",                                   "10"                    },
116   { "char_t",                                   "10"                    },
117   { "char_u",                                   "10"                    },
118   { "char_v",                                   "10"                    },
119   { "char_w",                                   "10"                    },
120   { "char_x",                                   "10"                    },
121   { "char_y",                                   "10"                    },
122   { "char_z",                                   "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"                    },
135   { "end",                                      ""                      },
136
137   { "emerald",                                  "-1"                    },
138   { "end",                                      ""                      },
139
140   { "diamond",                                  "-1"                    },
141   { "end",                                      ""                      },
142
143   { "bd_diamond",                               "-1"                    },
144   { "end",                                      ""                      },
145
146   { "emerald_yellow",                           "50"                    },
147   { "emerald_red",                              "50"                    },
148   { "emerald_purple",                           "50"                    },
149   { "end",                                      ""                      },
150
151   { "bd_rock",                                  "-1"                    },
152   { "end",                                      ""                      },
153
154   { "bomb",                                     "100"                   },
155   { "bomb.exploding",                           "16"                    },
156   { "empty_space",                              "10"                    },
157   { "end",                                      ""                      },
158
159   { "nut",                                      "100"                   },
160   { "nut.breaking",                             "6"                     },
161   { "emerald",                                  "20"                    },
162   { "end",                                      ""                      },
163
164   { "wall_emerald",                             "100"                   },
165   { "wall_emerald.exploding",                   "16"                    },
166   { "emerald",                                  "20"                    },
167   { "end",                                      ""                      },
168
169   { "wall_diamond",                             "100"                   },
170   { "wall_diamond.exploding",                   "16"                    },
171   { "diamond",                                  "20"                    },
172   { "end",                                      ""                      },
173
174   { "wall_bd_diamond",                          "100"                   },
175   { "wall_bd_diamond.exploding",                "16"                    },
176   { "bd_diamond",                               "20"                    },
177   { "end",                                      ""                      },
178
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"                    },
188   { "end",                                      ""                      },
189
190   { "acid",                                     "-1"                    },
191   { "end",                                      ""                      },
192
193   { "key_1",                                    "50"                    },
194   { "key_2",                                    "50"                    },
195   { "key_3",                                    "50"                    },
196   { "key_4",                                    "50"                    },
197   { "end",                                      ""                      },
198
199   { "gate_1",                                   "50"                    },
200   { "gate_2",                                   "50"                    },
201   { "gate_3",                                   "50"                    },
202   { "gate_4",                                   "50"                    },
203   { "end",                                      ""                      },
204
205   { "gate_1_gray",                              "50"                    },
206   { "gate_2_gray",                              "50"                    },
207   { "gate_3_gray",                              "50"                    },
208   { "gate_4_gray",                              "50"                    },
209   { "end",                                      ""                      },
210
211   { "dynamite",                                 "-1"                    },
212   { "end",                                      ""                      },
213
214   { "dynamite.active",                          "96"                    },
215   { "dynamite.exploding",                       "16"                    },
216   { "empty_space",                              "20"                    },
217   { "end",                                      ""                      },
218
219   { "dynabomb.active",                          "100"                   },
220   { "dynabomb.exploding",                       "16"                    },
221   { "empty_space",                              "20"                    },
222   { "end",                                      ""                      },
223
224   { "dynabomb_increase_number",                 "-1"                    },
225   { "end",                                      ""                      },
226
227   { "dynabomb_increase_size",                   "-1"                    },
228   { "end",                                      ""                      },
229
230   { "dynabomb_increase_power",                  "-1"                    },
231   { "end",                                      ""                      },
232
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"                     },
237   { "end",                                      ""                      },
238
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"                     },
243   { "end",                                      ""                      },
244
245   { "bd_butterfly",                             "-1"                    },
246   { "end",                                      ""                      },
247
248   { "bd_firefly",                               "-1"                    },
249   { "end",                                      ""                      },
250
251   { "pacman.right",                             "16"                    },
252   { "pacman.up",                                "16"                    },
253   { "pacman.left",                              "16"                    },
254   { "pacman.down",                              "16"                    },
255   { "end",                                      ""                      },
256
257   { "yamyam",                                   "-1"                    },
258   { "end",                                      ""                      },
259
260   { "dark_yamyam",                              "-1"                    },
261   { "end",                                      ""                      },
262
263   { "robot",                                    "-1"                    },
264   { "end",                                      ""                      },
265
266   { "mole.moving.right",                        "16"                    },
267   { "mole.moving.up",                           "16"                    },
268   { "mole.moving.left",                         "16"                    },
269   { "mole.moving.down",                         "16"                    },
270   { "end",                                      ""                      },
271
272   { "penguin.moving.right",                     "16"                    },
273   { "penguin.moving.up",                        "16"                    },
274   { "penguin.moving.left",                      "16"                    },
275   { "penguin.moving.down",                      "16"                    },
276   { "end",                                      ""                      },
277
278   { "pig.moving.right",                         "16"                    },
279   { "pig.moving.up",                            "16"                    },
280   { "pig.moving.left",                          "16"                    },
281   { "pig.moving.down",                          "16"                    },
282   { "end",                                      ""                      },
283
284   { "dragon.moving.right",                      "16"                    },
285   { "dragon.moving.up",                         "16"                    },
286   { "dragon.moving.left",                       "16"                    },
287   { "dragon.moving.down",                       "16"                    },
288   { "end",                                      ""                      },
289
290   { "satellite",                                "-1"                    },
291   { "end",                                      ""                      },
292
293   { "robot_wheel",                              "50"                    },
294   { "robot_wheel.active",                       "100"                   },
295   { "end",                                      ""                      },
296
297   { "lamp",                                     "50"                    },
298   { "lamp.active",                              "50"                    },
299   { "end",                                      ""                      },
300
301   { "time_orb_full",                            "50"                    },
302   { "time_orb_empty",                           "50"                    },
303   { "end",                                      ""                      },
304
305   { "amoeba_drop",                              "50"                    },
306   { "amoeba.growing",                           "6"                     },
307   { "amoeba_wet",                               "20"                    },
308   { "end",                                      ""                      },
309
310   { "amoeba_dead",                              "-1"                    },
311   { "end",                                      ""                      },
312
313   { "amoeba_wet",                               "-1"                    },
314   { "end",                                      ""                      },
315
316   { "amoeba_wet",                               "100"                   },
317   { "amoeba.growing",                           "6"                     },
318   { "end",                                      ""                      },
319
320   { "amoeba_full",                              "50"                    },
321   { "amoeba_dead",                              "50"                    },
322   { "amoeba.exploding",                         "16"                    },
323   { "diamond",                                  "20"                    },
324   { "end",                                      ""                      },
325
326   { "game_of_life",                             "-1"                    },
327   { "end",                                      ""                      },
328
329   { "biomaze",                                  "-1"                    },
330   { "end",                                      ""                      },
331
332   { "magic_wall.active",                        "-1"                    },
333   { "end",                                      ""                      },
334
335   { "bd_magic_wall.active",                     "-1"                    },
336   { "end",                                      ""                      },
337
338   { "exit_closed",                              "200"                   },
339   { "exit.opening",                             "30"                    },
340   { "exit_open",                                "100"                   },
341   { "exit.closing",                             "30"                    },
342   { "end",                                      ""                      },
343
344   { "exit_open",                                "-1"                    },
345   { "end",                                      ""                      },
346
347   { "sokoban_object",                           "-1"                    },
348   { "end",                                      ""                      },
349
350   { "sokoban_field_empty",                      "-1"                    },
351   { "end",                                      ""                      },
352
353   { "sokoban_field_full",                       "-1"                    },
354   { "end",                                      ""                      },
355
356   { "speed_pill",                               "-1"                    },
357   { "end",                                      ""                      },
358
359   { NULL,                                       NULL                    }
360 };
361
362 struct ConfigInfo helptext_config[] =
363 {
364   {
365     "player_1",
366     "THE HERO: (Is _this_ guy good old Rockford?)"
367   },
368   {
369     "sand",
370     "Normal sand: You can dig through it"
371   },
372   {
373     "empty_space",
374     "Empty field: You can walk through it"
375   },
376   {
377     "quicksand_empty",
378     "Quicksand: You cannot pass it, but rocks can fall through it"
379   },
380   {
381     "steelwall",
382     "Massive Wall: Nothing can go through it"
383   },
384   {
385     "wall",
386     "Normal Wall: You can't go through it, but you can bomb it away"
387   },
388   {
389     "expandable_wall",
390     "Growing Wall: Grows in several directions if there is an empty field"
391   },
392   {
393     "invisible_wall",
394     "Invisible Wall: Behaves like normal wall, but is invisible"
395   },
396   {
397     "wall_slippery",
398     "Old Wall: Like normal wall, but some things can fall down from it"
399   },
400   {
401     "char_space",
402     "Letter Wall: Looks like a letter, behaves like a normal wall"
403   },
404   {
405     "emerald",
406     "Emerald: You must collect enough of them to finish a level"
407   },
408   {
409     "diamond",
410     "Diamond: Counts as 3 emeralds, but can be destroyed by rocks"
411   },
412   {
413     "bd_diamond",
414     "Diamond (BD style): Counts like one emerald and behaves a bit different"
415   },
416   {
417     "emerald_yellow",
418     "Colorful Gems: Seem to behave like Emeralds"
419   },
420   {
421     "bd_rock",
422     "Rock: Smashes several things; Can be moved by the player"
423   },
424   {
425     "bomb",
426     "Bomb: You can move it, but be careful when dropping it"
427   },
428   {
429     "nut",
430     "Nut: Throw a rock on it to open it; Each nut contains an emerald"
431   },
432   {
433     "wall_emerald",
434     "Wall with an emerald inside: Bomb the wall away to get it"
435   },
436   {
437     "wall_diamond",
438     "Wall with a diamond inside: Bomb the wall away to get it"
439   },
440   {
441     "wall_bd_diamond",
442     "Wall with BD style diamond inside: Bomb the wall away to get it"
443   },
444   {
445     "wall_emerald_yellow",
446     "Wall with colorful gem inside: Bomb the wall away to get it"
447   },
448   {
449     "acid",
450     "Acid: Things that fall in are gone forever (including our hero)"
451   },
452   {
453     "key_1",
454     "Key: Opens the door that has the same color (red/yellow/green/blue)"
455   },
456   {
457     "gate_1",
458     "Door: Can be opened by the key with the same color"
459   },
460   {
461     "gate_1_gray",
462     "Door: You have to find out the right color of the key for it"
463   },
464   {
465     "dynamite",
466     "Dynamite: Collect it and use it to destroy walls or kill enemies"
467   },
468   {
469     "dynamite.active",
470     "Dynamite: This one explodes after a few seconds"
471   },
472   {
473     "dynabomb",
474     "Dyna Bomb: Explodes in 4 directions with variable explosion size"
475   },
476   {
477     "dynabomb_increase_number",
478     "Dyna Bomb: Increases the number of dyna bombs available at a time"
479   },
480   {
481     "dynabomb_increase_size",
482     "Dyna Bomb: Increases the size of explosion of dyna bombs"
483   },
484   {
485     "dynabomb_increase_power",
486     "Dyna Bomb: Increases the power of explosion of dyna bombs"
487   },
488   {
489     "spaceship",
490     "Spaceship: Moves at the left side of walls; don't touch it!"
491   },
492   {
493     "bug",
494     "Bug: Moves at the right side of walls; don't touch it!"
495   },
496   {
497     "bd_butterfly",
498     "Butterfly: Moves at the right side of walls; don't touch it!"
499   },
500   {
501     "bd_firefly",
502     "Firefly: Moves at the left side of walls; don't touch it!"
503   },
504   {
505     "pacman",
506     "Pacman: Eats the amoeba and you, if you're not careful"
507   },
508   {
509     "yamyam",
510     "Cruncher: Eats diamonds and you, if you're not careful"
511   },
512   {
513     "dark_yamyam",
514     "Cruncher (BD style): Eats almost everything"
515   },
516   {
517     "robot",
518     "Robot: Tries to kill the player"
519   },
520   {
521     "mole",
522     "The mole: Eats the amoeba and turns empty space into normal sand"
523   },
524   {
525     "penguin",
526     "The penguin: Guide him to the exit, but keep him away from monsters!"
527   },
528   {
529     "pig",
530     "The Pig: Harmless, but eats all gems it can get"
531   },
532   {
533     "dragon",
534     "The Dragon: Breathes fire, especially to some monsters"
535   },
536   {
537     "satellite",
538     "Sonde: Follows you everywhere; harmless, but may block your way"
539   },
540   {
541     "robot_wheel",
542     "Magic Wheel: Touch it to get rid of the robots for some seconds"
543   },
544   {
545     "lamp",
546     "Light Bulb: All of them must be switched on to finish a level"
547   },
548   {
549     "time_orb_full",
550     "Extra Time Orb: Adds some seconds to the time available for the level"
551   },
552   {
553     "amoeba_drop",
554     "Amoeba Drop: Grows to an amoeba on the ground - don't touch it"
555   },
556   {
557     "amoeba_dead",
558     "Dead Amoeba: Does not grow, but can still kill bugs and spaceships"
559   },
560   {
561     "amoeba_wet",
562     "Normal Amoeba: Grows through empty fields, sand and quicksand"
563   },
564   {
565     "amoeba_wet",
566     "Dropping Amoeba: This one makes drops that grow to a new amoeba"
567   },
568   {
569     "amoeba_full",
570     "Living Amoeba (BD style): Contains other element, when surrounded"
571   },
572   {
573     "game_of_life",
574     "Game Of Life: Behaves like the well known 'Game Of Life' (2333 style)"
575   },
576   {
577     "biomaze",
578     "Biomaze: A bit like the 'Game Of Life', but builds crazy mazes"
579   },
580   {
581     "magic_wall",
582     "Magic Wall: Changes rocks, emeralds and diamonds when they pass it"
583   },
584   {
585     "bd_magic_wall",
586     "Magic Wall (BD style): Changes rocks and BD style diamonds"
587   },
588   {
589     "exit_closed",
590     "Exit door: Opens if you have enough emeralds to finish the level"
591   },
592   {
593     "exit_open",
594     "Open exit door: Enter here to leave the level and exit the actual game"
595   },
596   {
597     "sokoban_object",
598     "Sokoban element: Object which must be pushed to an empty field"
599   },
600   {
601     "sokoban_field_empty",
602     "Sokoban element: Empty field where a Sokoban object can be placed on"
603   },
604   {
605     "sokoban_field_full",
606     "Sokoban element: Field with object which can be pushed away"
607   },
608   {
609     "speed_pill",
610     "Speed pill: Lets the player run twice as fast as normally"
611   },
612
613   {
614     NULL,
615     NULL
616   }
617 };