rnd-20030107-2-src
[rocksndiamonds.git] / src / conf_snd.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_snd.c                                               *
12 ***********************************************************/
13
14 #include "libgame/libgame.h"
15
16
17 struct ConfigInfo sound_config_suffix[] =
18 {
19   { ".mode_loop",                       "0",                    TYPE_BOOLEAN },
20
21   { NULL,                               NULL,                   0            }
22 };
23
24 struct ConfigInfo sound_config[] =
25 {
26   /* sounds for Boulder Dash style elements and actions */
27   { "bd_empty_space.digging",           "empty.wav"             },
28   { "bd_sand.digging",                  "schlurf.wav"           },
29   { "bd_diamond.collecting",            "pong.wav"              },
30   { "bd_diamond.impact",                "pling.wav"             },
31   { "bd_rock.pushing",                  "pusch.wav"             },
32   { "bd_rock.impact",                   "klopf.wav"             },
33   { "bd_magic_wall.activating",         "quirk.wav"             },
34   { "bd_magic_wall.active",             "miep.wav"              },
35   { "bd_magic_wall.changing",           "quirk.wav"             },
36   { "bd_amoeba.waiting",                SND_FILE_UNDEFINED      },
37   { "bd_amoeba.creating",               "amoebe.wav"            },
38   { "bd_amoeba.turning_to_gem",         "pling.wav"             },
39   { "bd_amoeba.turning_to_rock",        "klopf.wav"             },
40   { "bd_butterfly.moving",              "klapper.wav"           },
41   { "bd_butterfly.waiting",             "klapper.wav"           },
42   { "bd_firefly.moving",                "roehr.wav"             },
43   { "bd_firefly.waiting",               "roehr.wav"             },
44   { "bd_exit.passing",                  "buing.wav"             },
45
46   /* sounds for Supaplex style elements and actions */
47   { "sp_empty_space.digging",           "empty.wav"             },
48   { "sp_base.digging",                  "base.wav"              },
49   { "sp_buggy_base.digging",            "base.wav"              },
50   { "sp_buggy_base.active",             "bug.wav"               },
51   { "sp_infotron.collecting",           "infotron.wav"          },
52   { "sp_infotron.impact",               "pling.wav"             },
53   { "sp_zonk.pushing",                  "zonkpush.wav"          },
54   { "sp_zonk.impact",                   "zonkdown.wav"          },
55   { "sp_disk_red.collecting",           "infotron.wav"          },
56   { "sp_disk_orange.pushing",           "zonkpush.wav"          },
57   { "sp_disk_yellow.pushing",           "pusch.wav"             },
58   { "sp_port.passing",                  "gate.wav"              },
59   { "sp_exit.passing",                  "exit.wav"              },
60   { "sp_exit.opening",                  SND_FILE_UNDEFINED      },
61   { "sp_element.exploding",             "booom.wav"             },
62   { "sp_sniksnak.moving",               SND_FILE_UNDEFINED      },
63   { "sp_sniksnak.waiting",              SND_FILE_UNDEFINED      },
64   { "sp_electron.moving",               SND_FILE_UNDEFINED      },
65   { "sp_electron.waiting",              SND_FILE_UNDEFINED      },
66   { "sp_terminal.activating",           SND_FILE_UNDEFINED      },
67   { "sp_terminal.active",               SND_FILE_UNDEFINED      },
68
69   /* sounds for Sokoban style elements and actions */
70   { "sokoban_object.pushing",           "pusch.wav"             },
71   { "sokoban_field.filling",            "deng.wav"              },
72   { "sokoban_field.emptying",           SND_FILE_UNDEFINED      },
73   { "sokoban_game.solving",             "buing.wav"             },
74
75   /* sounds for Emerald Mine style elements and actions */
76   { "empty_space.digging",              "empty.wav"             },
77   { "sand.digging",                     "schlurf.wav"           },
78   { "emerald.collecting",               "pong.wav"              },
79   { "emerald.impact",                   "pling.wav"             },
80   { "diamond.collecting",               "pong.wav"              },
81   { "diamond.impact",                   "pling.wav"             },
82   { "diamond.breaking",                 "quirk.wav"             },
83   { "rock.pushing",                     "pusch.wav"             },
84   { "rock.impact",                      "klopf.wav"             },
85   { "bomb.pushing",                     "pusch.wav"             },
86   { "nut.pushing",                      "knurk.wav"             },
87   { "nut.cracking",                     "knack.wav"             },
88   { "nut.impact",                       "klumpf.wav"            },
89   { "dynamite.collecting",              "pong.wav"              },
90   { "dynamite.dropping",                "deng.wav"              },
91   { "dynamite.active",                  "zisch.wav"             },
92   { "key.collecting",                   "pong.wav"              },
93   { "gate.passing",                     "gate.wav"              },
94   { "bug.moving",                       "klapper.wav"           },
95   { "bug.waiting",                      "klapper.wav"           },
96   { "spaceship.moving",                 "roehr.wav"             },
97   { "spaceship.waiting",                "roehr.wav"             },
98   { "yamyam.moving",                    SND_FILE_UNDEFINED      },
99   { "yamyam.waiting",                   "njam.wav"              },
100   { "yamyam.eating",                    SND_FILE_UNDEFINED      },
101   { "robot.stepping",                   "schlurf.wav"           },
102   { "robot.waiting",                    SND_FILE_UNDEFINED      },
103   { "robot_wheel.activating",           "deng.wav"              },
104   { "robot_wheel.active",               "miep.wav"              },
105   { "magic_wall.activating",            "quirk.wav"             },
106   { "magic_wall.active",                "miep.wav"              },
107   { "magic_wall.changing",              "quirk.wav"             },
108   { "amoeba.waiting",                   SND_FILE_UNDEFINED      },
109   { "amoeba.creating",                  "amoebe.wav"            },
110   { "amoeba_drop.creating",             SND_FILE_UNDEFINED      },
111   { "acid.splashing",                   "blurb.wav"             },
112   { "quicksand.filling",                SND_FILE_UNDEFINED      },
113   { "quicksand.slipping",               SND_FILE_UNDEFINED      },
114   { "quicksand.emptying",               SND_FILE_UNDEFINED      },
115   { "exit.opening",                     "oeffnen.wav"           },
116   { "exit.passing",                     "buing.wav"             },
117
118   /* sounds for Emerald Mine Club style elements and actions */
119   { "balloon.moving",                   SND_FILE_UNDEFINED      },
120   { "balloon.waiting",                  SND_FILE_UNDEFINED      },
121   { "balloon.pushing",                  "schlurf.wav"           },
122   { "balloon_switch.activating",        SND_FILE_UNDEFINED      },
123   { "spring.moving",                    SND_FILE_UNDEFINED      },
124   { "spring.pushing",                   "pusch.wav"             },
125   { "spring.impact",                    "klopf.wav"             },
126   { "wall.growing",                     SND_FILE_UNDEFINED      },
127
128   /* sounds for Diamond Caves style elements and actions */
129   { "pearl.collecting",                 "pong.wav"              },
130   { "pearl.breaking",                   "knack.wav"             },
131   { "pearl.impact",                     "pling.wav"             },
132   { "crystal.collecting",               "pong.wav"              },
133   { "crystal.impact",                   "pling.wav"             },
134   { "envelope.collecting",              "pong.wav"              },
135   { "sand_invisible.digging",           "schlurf.wav"           },
136   { "shield_normal.collecting",         "pong.wav"              },
137   { "shield_normal.active",             SND_FILE_UNDEFINED      },
138   { "shield_deadly.collecting",         "pong.wav"              },
139   { "shield_deadly.active",             SND_FILE_UNDEFINED      },
140   { "extra_time.collecting",            "gong.wav"              },
141   { "mole.moving",                      SND_FILE_UNDEFINED      },
142   { "mole.waiting",                     SND_FILE_UNDEFINED      },
143   { "mole.eating",                      "blurb.wav"             },
144   { "switchgate_switch.activating",     SND_FILE_UNDEFINED      },
145   { "switchgate.opening",               "oeffnen.wav"           },
146   { "switchgate.closing",               "oeffnen.wav"           },
147   { "switchgate.passing",               "gate.wav"              },
148   { "timegate_switch.activating",       "deng.wav"              },
149   { "timegate_switch.active",           "miep.wav"              },
150   { "timegate.opening",                 "oeffnen.wav"           },
151   { "timegate.closing",                 "oeffnen.wav"           },
152   { "timegate.passing",                 "gate.wav"              },
153   { "conveyor_belt_switch.activating",  SND_FILE_UNDEFINED      },
154   { "conveyor_belt_switch.deactivating",SND_FILE_UNDEFINED      },
155   { "conveyor_belt.active",             SND_FILE_UNDEFINED      },
156   { "light_switch.activating",          SND_FILE_UNDEFINED      },
157   { "light_switch.deactivating",        SND_FILE_UNDEFINED      },
158
159   /* sounds for DX Boulderdash style elements and actions */
160   { "dx_bomb.pushing",                  "pusch.wav"             },
161   { "trap_inactive.digging",            "schlurf.wav"           },
162   { "trap.activating",                  SND_FILE_UNDEFINED      },
163   { "tube.passing",                     SND_FILE_UNDEFINED      },
164
165   /* sounds for Rocks'n'Diamonds style elements and actions */
166   { "amoeba.turning_to_gem",            "pling.wav"             },
167   { "amoeba.turning_to_rock",           "klopf.wav"             },
168   { "speed_pill.collecting",            "pong.wav"              },
169   { "dynabomb_nr.collecting",           "pong.wav"              },
170   { "dynabomb_sz.collecting",           "pong.wav"              },
171   { "dynabomb_xl.collecting",           "pong.wav"              },
172   { "dynabomb.dropping",                "deng.wav"              },
173   { "dynabomb.active",                  "zisch.wav"             },
174   { "satellite.moving",                 SND_FILE_UNDEFINED      },
175   { "satellite.waiting",                SND_FILE_UNDEFINED      },
176   { "satellite.pushing",                "pusch.wav"             },
177   { "lamp.activating",                  "deng.wav"              },
178   { "lamp.deactivating",                "deng.wav"              },
179   { "time_orb_full.collecting",         "gong.wav"              },
180   { "time_orb_full.impact",             "deng.wav"              },
181   { "time_orb_empty.pushing",           "pusch.wav"             },
182   { "time_orb_empty.impact",            "deng.wav"              },
183   { "gameoflife.waiting",               SND_FILE_UNDEFINED      },
184   { "gameoflife.creating",              "amoebe.wav"            },
185   { "biomaze.waiting",                  SND_FILE_UNDEFINED      },
186   { "biomaze.creating",                 "amoebe.wav"            },
187   { "pacman.moving",                    SND_FILE_UNDEFINED      },
188   { "pacman.waiting",                   SND_FILE_UNDEFINED      },
189   { "pacman.eating",                    SND_FILE_UNDEFINED      },
190   { "dark_yamyam.moving",               SND_FILE_UNDEFINED      },
191   { "dark_yamyam.waiting",              "njam.wav"              },
192   { "dark_yamyam.eating",               SND_FILE_UNDEFINED      },
193   { "penguin.moving",                   SND_FILE_UNDEFINED      },
194   { "penguin.waiting",                  SND_FILE_UNDEFINED      },
195   { "penguin.passing_exit",             "buing.wav"             },
196   { "pig.moving",                       SND_FILE_UNDEFINED      },
197   { "pig.waiting",                      SND_FILE_UNDEFINED      },
198   { "pig.eating",                       SND_FILE_UNDEFINED      },
199   { "dragon.moving",                    SND_FILE_UNDEFINED      },
200   { "dragon.waiting",                   SND_FILE_UNDEFINED      },
201   { "dragon.attacking",                 SND_FILE_UNDEFINED      },
202
203   /* sounds for generic elements and actions */
204   { "player.dying",                     "autsch.wav"            },
205   { "element.exploding",                "roaaar.wav"            },
206
207   /* sounds for other game actions */
208   { "game.starting",                    SND_FILE_UNDEFINED      },
209   { "game.running_out_of_time",         "gong.wav"              },
210   { "game.leveltime_bonus",             "sirr.wav"              },
211   { "game.losing",                      "lachen.wav"            },
212   { "game.winning",                     SND_FILE_UNDEFINED      },
213
214   /* sounds for other non-game actions */
215   { "menu.door_opening",                "oeffnen.wav"           },
216   { "menu.door_closing",                "oeffnen.wav"           },
217   { "menu.hall_of_fame",                "halloffame.wav"        },
218   { "menu.info_screen",                 "rhythmloop.wav"        },
219
220 #if 0
221   { "[not used]",                       "antigrav.wav"          },
222   { "[not used]",                       "bong.wav"              },
223   { "[not used]",                       "fuel.wav"              },
224   { "[not used]",                       "holz.wav"              },
225   { "[not used]",                       "hui.wav"               },
226   { "[not used]",                       "kabumm.wav"            },
227   { "[not used]",                       "kink.wav"              },
228   { "[not used]",                       "kling.wav"             },
229   { "[not used]",                       "krach.wav"             },
230   { "[not used]",                       "laser.wav"             },
231   { "[not used]",                       "quiek.wav"             },
232   { "[not used]",                       "rumms.wav"             },
233   { "[not used]",                       "schlopp.wav"           },
234   { "[not used]",                       "schrff.wav"            },
235   { "[not used]",                       "schwirr.wav"           },
236   { "[not used]",                       "slurp.wav"             },
237   { "[not used]",                       "sproing.wav"           },
238   { "[not used]",                       "warnton.wav"           },
239   { "[not used]",                       "whoosh.wav"            },
240   { "[not used]",                       "boom.wav"              },
241 #endif
242
243   { NULL,                               NULL                    }
244 };