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