1 #ifndef __SOUND_DEFINTIONS_H
2 #define __SOUND_DEFINTIONS_H
3 
4 /*
5 SOUND_DEFINITIONS.H
6 
7 	Copyright (C) 1991-2001 and beyond by Bungie Studios, Inc.
8 	and the "Aleph One" developers.
9 
10 	This program is free software; you can redistribute it and/or modify
11 	it under the terms of the GNU General Public License as published by
12 	the Free Software Foundation; either version 3 of the License, or
13 	(at your option) any later version.
14 
15 	This program is distributed in the hope that it will be useful,
16 	but WITHOUT ANY WARRANTY; without even the implied warranty of
17 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 	GNU General Public License for more details.
19 
20 	This license is contained in the file "COPYING",
21 	which is included with this source code; it is available online at
22 	http://www.gnu.org/licenses/gpl.html
23 
24 Saturday, August 20, 1994 2:42:56 PM
25 
26 Monday, September 26, 1994 2:06:09 PM  (Jason)
27 	changed the depth-fading curves significantly.
28 Wednesday, February 1, 1995 12:52:03 PM  (Jason')
29 	marathon 2.
30 
31 Feb 2, 2000 (Loren Petrich):
32 	Added Marathon Infinity sound definitions;
33 	nomenclature is being kept consistent with Anvil's sound-selection popup menu;
34 	this menu will provide the order of the sounds.
35 
36 	Discovered that SOUND_FILE_TAG should not be changed from 'snd2' to be Infinity-compatible
37 
38 Aug 17, 2000 (Loren Petrich):
39 	Turned handle for loaded sound into a pointer; added length of that sound object.
40 */
41 
42 #include "SoundManagerEnums.h"
43 #include "world.h"
44 
45 /* ---------- constants */
46 
47 enum
48 {
49 	MAXIMUM_PERMUTATIONS_PER_SOUND= 5
50 };
51 
52 enum /* sound behaviors */
53 {
54 	_sound_is_quiet,
55 	_sound_is_normal,
56 	_sound_is_loud,
57 	NUMBER_OF_SOUND_BEHAVIOR_DEFINITIONS
58 };
59 
60 enum /* flags */
61 {
62 	_sound_cannot_be_restarted= 0x0001,
63 	_sound_does_not_self_abort= 0x0002,
64 	_sound_resists_pitch_changes= 0x0004, // 0.5 external pitch changes
65 	_sound_cannot_change_pitch= 0x0008, // no external pitch changes
66 	_sound_cannot_be_obstructed= 0x0010, // ignore obstructions
67 	_sound_cannot_be_media_obstructed= 0x0020, // ignore media obstructions
68 	_sound_is_ambient= 0x0040 // will not be loaded unless _ambient_sound_flag is asserted
69 };
70 
71 enum /* sound chances */
72 {
73 	_ten_percent= 32768*9/10,
74 	_twenty_percent= 32768*8/10,
75 	_thirty_percent= 32768*7/10,
76 	_fourty_percent= 32768*6/10,
77 	_fifty_percent= 32768*5/10,
78 	_sixty_percent= 32768*4/10,
79 	_seventy_percent= 32768*3/10,
80 	_eighty_percent= 32768*2/10,
81 	_ninty_percent= 32768*1/10,
82 	_always= 0
83 };
84 
85 /* ---------- structures */
86 
87 struct ambient_sound_definition
88 {
89 	int16 sound_index;
90 };
91 
92 struct random_sound_definition
93 {
94 	int16 sound_index;
95 };
96 
97 enum
98 {
99 	SOUND_FILE_VERSION= 1,
100 	SOUND_FILE_TAG= FOUR_CHARS_TO_INT('s', 'n', 'd', '2')
101 };
102 
103 struct sound_file_header
104 {
105 	int32 version;
106 	int32 tag;
107 
108 	int16 source_count; // usually 2 (8-bit, 16-bit)
109 	int16 sound_count;
110 
111 	int16 unused[124];
112 
113 	// immediately followed by source_count*sound_count sound_definition structures
114 };
115 const int SIZEOF_sound_file_header = 260;
116 
117 struct sound_definition
118 {
119 	int16 sound_code;
120 
121 	int16 behavior_index;
122 	uint16 flags;
123 
124 	uint16 chance; // play sound if AbsRandom()>=chance
125 
126 	/* if low_pitch==0, use FIXED_ONE; if high_pitch==0 use low pitch; else choose in [low_pitch,high_pitch] */
127 	_fixed low_pitch, high_pitch;
128 
129 	/* filled in later */
130 	int16 permutations;
131 	uint16 permutations_played;
132 	int32 group_offset, single_length, total_length; // magic numbers necessary to load sounds
133 	int32 sound_offsets[MAXIMUM_PERMUTATIONS_PER_SOUND]; // zero-based from group offset
134 
135 	uint32 last_played; // machine ticks
136 
137 	// Pointer to loaded sound and size of sound object pointed to
138 	uint8 *ptr;
139 	int32 size;
140 };
141 const int SIZEOF_sound_definition = 64;
142 
143 struct depth_curve_definition
144 {
145 	int16 maximum_volume, maximum_volume_distance;
146 	int16 minimum_volume, minimum_volume_distance;
147 };
148 
149 struct sound_behavior_definition
150 {
151 	struct depth_curve_definition obstructed_curve, unobstructed_curve;
152 };
153 
154 /* ---------- sound behavior structures */
155 
156 static struct sound_behavior_definition sound_behavior_definitions[NUMBER_OF_SOUND_BEHAVIOR_DEFINITIONS]=
157 {
158 	/* _sound_is_quiet */
159 	{
160 		{0, 0, 0, 0}, /* obstructed quiet sounds make no sound */
161 		{MAXIMUM_SOUND_VOLUME, 0, 0, 5*WORLD_ONE},
162 	},
163 
164 	/* _sound_is_normal */
165 	{
166 		{MAXIMUM_SOUND_VOLUME/2, 0, 0, 7*WORLD_ONE},
167 		{MAXIMUM_SOUND_VOLUME, WORLD_ONE, 0, 10*WORLD_ONE},
168 	},
169 
170 	/* _sound_is_loud */
171 	{
172 		{(3*MAXIMUM_SOUND_VOLUME)/4, 0, 0, 10*WORLD_ONE},
173 		{MAXIMUM_SOUND_VOLUME, 2*WORLD_ONE, MAXIMUM_SOUND_VOLUME/8, 15*WORLD_ONE},
174 	}
175 };
176 
177 /* ---------- ambient sound definition structures */
178 
179 static struct ambient_sound_definition ambient_sound_definitions[NUMBER_OF_AMBIENT_SOUND_DEFINITIONS]=
180 {
181 	{_snd_water},
182 	{_snd_sewage},
183 	{_snd_lava},
184 	{_snd_goo},
185 	{_snd_under_media},
186 	{_snd_wind},
187 	{_snd_waterfall},
188 	{_snd_siren},
189 	{_snd_fan},
190 	{_snd_spht_door},
191 	{_snd_spht_platform},
192 	{_snd_heavy_spht_door},
193 	{_snd_heavy_spht_platform},
194 	{_snd_light_machinery},
195 	{_snd_heavy_machinery},
196 	{_snd_transformer},
197 	{_snd_sparking_transformer},
198 	{_snd_machine_binder},
199 	{_snd_machine_bookpress},
200 	{_snd_machine_puncher},
201 	{_snd_electric},
202 	{_snd_alarm},
203 	{_snd_night_wind},
204 	{_snd_pfhor_door},
205 	{_snd_pfhor_platform},
206 	{_snd_alien_noise1},
207 	{_snd_alien_noise2},
208 	// LP addition: Marathon Infinity ambient sound
209 	{_snd_alien_harmonics},
210 };
211 
212 /* ---------- random sound definition structures */
213 
214 static struct random_sound_definition random_sound_definitions[NUMBER_OF_RANDOM_SOUND_DEFINITIONS]=
215 {
216 	{_snd_water_drip},
217 	{_snd_surface_explosion},
218 	{_snd_underground_explosion},
219 	{_snd_owl},
220 	// LP addition: Marathon Infinity random sound
221 	{_snd_creak},
222 };
223 
224 /* ---------- sound definition structures */
225 
226 // #ifndef STATIC_DEFINITIONS
227 
228 /*
229 #else
230 static struct sound_definition sound_definitions[NUMBER_OF_SOUND_DEFINITIONS]=
231 {
232 	{10140, _sound_is_normal, _sound_does_not_self_abort}, // _snd_startup
233 
234 	{10000, _sound_is_normal}, // _snd_teleport_in
235 	{10010, _sound_is_normal}, // _snd_teleport_out
236 	{10020, _sound_is_loud, _sound_cannot_change_pitch}, // _snd_body_being_crunched
237 	{NONE, _sound_is_normal}, // _snd_nuclear_hard_death
238 	{10030, _sound_is_normal}, // _snd_absorbed
239 
240 	{NONE, _sound_is_normal}, // _snd_breathing
241 	{10040, _sound_is_normal}, // _snd_oxygen_warning
242 	{10050, _sound_is_normal}, // _snd_suffocation
243 
244 	// control panels
245 	{10060, _sound_is_quiet}, // _snd_energy_refuel
246 	{10070, _sound_is_quiet}, // _snd_oxygen_refuel
247 	{10080, _sound_is_quiet}, // _snd_cant_toggle_switch
248 	{10090, _sound_is_quiet}, // _snd_switch_on
249 	{10100, _sound_is_quiet}, // _snd_switch_off
250 	{10110, _sound_is_quiet}, // _snd_puzzle_switch
251 	{10120, _sound_is_quiet}, // _snd_chip_insertion
252 	{10130, _sound_is_quiet}, // _snd_pattern_buffer
253 	{11280, _sound_is_loud}, // _snd_destroy_control_panel
254 
255 	{10150, _sound_is_quiet}, // _snd_adjust_volume
256 	{10160, _sound_is_quiet}, // _snd_got_powerup
257 	{10170, _sound_is_quiet}, // _snd_got_item
258 
259 	{11000, _sound_is_normal}, // _snd_bullet_ricochet
260 	{11010, _sound_is_normal}, // _snd_metallic_ricochet
261 	{11020, _sound_is_quiet}, // _snd_empty_gun
262 
263 	// s�pht doors and platforms
264 	{12000, _sound_is_normal}, // _snd_spht_door_opening,
265 	{12010, _sound_is_normal}, // _snd_spht_door_closing,
266 	{12020, _sound_is_normal}, // _snd_spht_door_obstructed,
267 	{12030, _sound_is_normal}, // _snd_spht_platform_starting,
268 	{12040, _sound_is_normal}, // _snd_spht_platform_stopping,
269 
270 	{14540, _sound_is_normal}, // _snd_owl
271 	{NONE, _sound_is_normal}, //
272 	{NONE, _sound_is_normal}, //
273 
274 	{12080, _sound_is_normal}, // _snd_pfhor_platform_starting,
275 	{12090, _sound_is_normal}, // _snd_pfhor_platform_stopping,
276 
277 	{11030, _sound_is_quiet}, // _snd_fist_hitting
278 
279 	// magnum
280 	{11040, _sound_is_normal}, // _snd_magnum_firing
281 	{11050, _sound_is_quiet}, // _snd_magnum_reloading
282 
283 	// assault rifle
284 	{11060, _sound_is_normal}, // _snd_assault_rifle_firing
285 	{11070, _sound_is_normal}, // _snd_grenade_launcher_firing
286 	{11080, _sound_is_loud}, // _snd_grenade_exploding
287 	{11090, _sound_is_normal}, // _snd_grenade_flyby
288 
289 	// fusion pistol
290 	{11100, _sound_is_normal}, // _snd_fusion_firing
291 	{11110, _sound_is_normal}, // _snd_fusion_exploding
292 	{11120, _sound_is_normal}, // _snd_fusion_flyby
293 	{11130, _sound_is_normal}, // _snd_fusion_charging
294 
295 	// rocket launcher
296 	{11140, _sound_is_loud}, // _snd_rocket_exploding
297 	{11150, _sound_is_normal}, // _snd_rocket_flyby
298 	{11160, _sound_is_normal}, // _snd_rocket_firing
299 
300 	// flamethrower
301 	{11170, _sound_is_normal}, // _snd_flamethrower
302 
303 	{11180, _sound_is_quiet, _sound_cannot_change_pitch}, // _snd_body_falling
304 	{11190, _sound_is_quiet, _sound_cannot_change_pitch}, // _snd_body_exploding
305 	{11200, _sound_is_normal, _sound_cannot_change_pitch}, // _snd_bullet_hitting_flesh
306 
307 	// 21300 fighter
308 	{15300, _sound_is_normal}, // _snd_fighter_activate
309 	{15310, _sound_is_normal}, // _snd_fighter_wail
310 	{15320, _sound_is_normal}, // _snd_fighter_scream
311 	{15330, _sound_is_normal}, // _snd_fighter_chatter
312 	{15340, _sound_is_normal}, // _snd_fighter_swing
313 	{15350, _sound_is_normal}, // _snd_fighter_hit
314 	{15360, _sound_is_normal}, // _snd_fighter_flyby
315 
316 	// 21200 compiler
317 	{15200, _sound_is_normal}, // _snd_compiler_attack
318 	{15210, _sound_is_normal}, // _snd_compiler_death
319 	{15220, _sound_is_normal}, // _snd_compiler_being_hit
320 	{15230, _sound_is_normal}, // _snd_compiler_projectile_flyby
321 	{15240, _sound_is_normal}, // _snd_compiler_projectile_hit
322 
323 	// 21100 cyborg
324 	{15100, _sound_is_normal, 0, _fifty_percent}, // _snd_cyborg_moving,
325 	{15110, _sound_is_normal}, // _snd_cyborg_attack,
326 	{15120, _sound_is_normal}, // _snd_cyborg_hit,
327 	{15130, _sound_is_loud}, // _snd_cyborg_death,
328 	{15140, _sound_is_normal}, // _snd_cyborg_projectile_bounce,
329 	{15150, _sound_is_normal}, // _snd_cyborg_projectile_hit,
330 	{15160, _sound_is_normal}, // _snd_cyborg_projectile_flyby
331 
332 	// 21000 hummer
333 	{15000, _sound_is_quiet}, // _snd_hummer_activate,
334 	{15010, _sound_is_normal}, // _snd_hummer_start_attack,
335 	{15020, _sound_is_normal}, // _snd_hummer_attack,
336 	{15030, _sound_is_normal}, // _snd_hummer_dying,
337 	{15040, _sound_is_loud}, // _snd_hummer_death,
338 	{15050, _sound_is_normal}, // _snd_hummer_projectile_hit,
339 	{15060, _sound_is_normal}, // _snd_hummer_projectile_flyby,
340 
341 	// bob
342 	{15400, _sound_is_loud}, // _snd_human_wail
343 	{15410, _sound_is_normal}, // _snd_human_scream
344 	{15420, _sound_is_normal}, // _snd_human_hit
345 	{15430, _sound_is_normal, _sound_cannot_be_restarted}, // _snd_human_chatter "they�re everywhere!"
346 	{15440, _sound_is_normal, _sound_cannot_be_restarted}, // _snd_assimilated_human_chatter "thank god it�s you!"
347 	{15450, _sound_is_normal, _sound_cannot_be_restarted, _seventy_percent}, // _snd_human_trash_talk "eat that!"
348 	{15460, _sound_is_normal, _sound_cannot_be_restarted}, // _snd_human_apology "oops!"
349 	{15470, _sound_is_normal, _sound_cannot_be_restarted}, // _snd_human_activation "they�re over here!"
350 	{15480, _sound_is_normal, _sound_cannot_be_restarted, _fifty_percent}, // _snd_human_clear "out of the way!"
351 	{15490, _sound_is_normal, _sound_cannot_be_restarted, _thirty_percent}, // _snd_human_stop_shooting_me_you_bastard
352 	{15500, _sound_is_normal, _sound_cannot_be_restarted, _fifty_percent}, // _snd_human_area_secure
353 	{15510, _sound_is_normal, _sound_cannot_be_restarted}, // _snd_kill_the_player
354 
355 	// looping ambient
356 	{14000, _sound_is_normal, _sound_is_ambient}, // _snd_water
357 	{14010, _sound_is_normal, _sound_is_ambient}, // _snd_sewage
358 	{14020, _sound_is_normal, _sound_is_ambient}, // _snd_lava
359 	{14030, _sound_is_normal, _sound_is_ambient}, // _snd_goo
360 	{14040, _sound_is_normal, _sound_is_ambient}, // _snd_under_media
361 	{14050, _sound_is_normal, _sound_is_ambient}, // _snd_wind
362 	{14060, _sound_is_normal, _sound_is_ambient}, // _snd_waterfall
363 	{14070, _sound_is_normal, _sound_is_ambient}, // _snd_siren,
364 	{14080, _sound_is_normal, _sound_is_ambient}, // _snd_fan,
365 	{14090, _sound_is_normal, _sound_is_ambient}, // _snd_spht_door
366 	{14100, _sound_is_normal, _sound_is_ambient}, // _snd_spht_platform
367 	{14120, _sound_is_normal, _sound_is_ambient}, // _snd_unused4
368 	{14130, _sound_is_normal, _sound_is_ambient}, // _snd_heavy_spht_platform
369 	{14140, _sound_is_normal, _sound_is_ambient}, // _snd_light_machinery
370 	{14150, _sound_is_normal, _sound_is_ambient}, // _snd_heavy_machinery
371 	{14160, _sound_is_normal, _sound_is_ambient}, // _snd_transformer
372 	{14170, _sound_is_normal, _sound_is_ambient}, // _snd_sparking_transformer
373 
374 	// random ambient
375 	{14500, _sound_is_normal}, // _snd_water_drip
376 
377 	// water
378 	{19000, _sound_is_quiet, _sound_cannot_be_media_obstructed}, // _snd_walking_in_water
379 	{19010, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_exit_water
380 	{19020, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_enter_water
381 	{19100, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_small_water_splash
382 	{19110, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_medium_water_splash
383 	{19120, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_large_water_splash
384 
385 	// lava
386 	{19050, _sound_is_quiet, _sound_cannot_be_media_obstructed}, // _snd_walking_in_lava
387 	{19060, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_enter_lava
388 	{19070, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_exit_lava
389 	{19130, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_small_lava_splash
390 	{19140, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_medium_lava_splash
391 	{19150, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_large_lava_splash
392 
393 	// sewage
394 	{19160, _sound_is_quiet, _sound_cannot_be_media_obstructed}, // _snd_walking_in_sewage
395 	{19180, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_exit_sewage
396 	{19170, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_enter_sewage
397 	{19190, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_small_sewage_splash
398 	{19200, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_medium_sewage_splash
399 	{19210, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_large_sewage_splash
400 
401 	// goo
402 	{19220, _sound_is_quiet, _sound_cannot_be_media_obstructed}, // _snd_walking_in_goo
403 	{19240, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_exit_goo
404 	{19230, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_enter_goo
405 	{19250, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_small_goo_splash
406 	{19260, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_medium_goo_splash
407 	{19270, _sound_is_normal, _sound_cannot_be_media_obstructed}, // _snd_large_goo_splash
408 
409 	{11290, _sound_is_normal}, // _snd_major_fusion_firing
410 	{11330, _sound_is_quiet}, // _snd_major_fusion_charged
411 
412 	{11210, _sound_is_quiet}, // _snd_assault_rifle_reloading
413 	{11270, _sound_is_quiet}, // _snd_assault_rifle_shell_casings
414 
415 	{11220, _sound_is_loud}, // _snd_shotgun_firing
416 	{11230, _sound_is_quiet}, // _snd_shotgun_reloading
417 
418 	{11300, _sound_is_normal}, // _snd_ball_bounce
419 	{11310, _sound_is_normal}, // _snd_you_are_it
420 	{11320, _sound_is_normal}, // _snd_got_ball
421 
422 	{11240, _sound_is_quiet}, // _snd_computer_interface_logon
423 	{11250, _sound_is_quiet}, // _snd_computer_interface_logout
424 	{11260, _sound_is_quiet}, // _snd_computer_interface_page
425 
426 	{13000, _sound_is_normal, _sound_is_ambient}, // _snd_heavy_spht_door
427 	{13010, _sound_is_normal}, // _snd_heavy_spht_door_opening
428 	{13020, _sound_is_normal}, // _snd_heavy_spht_door_closing
429 	{13030, _sound_is_normal}, // _snd_heavy_spht_door_open
430 	{13040, _sound_is_normal}, // _snd_heavy_spht_door_closed
431 	{13050, _sound_is_normal}, // _snd_heavy_spht_door_obstructed
432 
433 	{15600, _sound_is_normal}, // _snd_hunter_activate
434 	{15610, _sound_is_normal}, // _snd_hunter_attack
435 	{15620, _sound_is_normal}, // _snd_hunter_dying
436 	{15630, _sound_is_loud}, // _snd_hunter_landing
437 	{15640, _sound_is_loud}, // _snd_hunter_exploding
438 	{15650, _sound_is_normal}, // _snd_hunter_projectile_hit
439 	{15660, _sound_is_normal}, // _snd_hunter_projectile_flyby
440 
441 	{15700, _sound_is_normal}, // _snd_enforcer_activate
442 	{15710, _sound_is_loud}, // _snd_enforcer_attack
443 	{15720, _sound_is_normal}, // _snd_enforcer_projectile_hit
444 	{15730, _sound_is_normal}, // _snd_enforcer_projectile_flyby
445 
446 	{15800, _sound_is_normal}, // _snd_yeti_melee_attack
447 	{15810, _sound_is_normal}, // _snd_yeti_melee_attack_hit
448 	{15820, _sound_is_normal}, // _snd_yeti_projectile_attack
449 	{15860, _sound_is_normal}, // _snd_yeti_projectile_sewage_attack_hit
450 	{15870, _sound_is_normal}, // _snd_yeti_projectile_sewage_flyby
451 	{15830, _sound_is_normal}, // _snd_yeti_projectile_lava_attack_hit
452 	{15840, _sound_is_normal}, // _snd_yeti_projectile_lava_flyby
453 	{15850, _sound_is_normal}, // _snd_yeti_dying
454 
455 	{14180, _sound_is_normal, _sound_is_ambient}, // _snd_machine_binder
456 	{14190, _sound_is_normal, _sound_is_ambient}, // _snd_machine_bookpress
457 	{14200, _sound_is_normal, _sound_is_ambient}, // _snd_machine_puncher
458 	{14210, _sound_is_normal, _sound_is_ambient}, // _snd_electric
459 	{14220, _sound_is_normal, _sound_is_ambient}, // _snd_alarm
460 	{14230, _sound_is_normal, _sound_is_ambient}, // _snd_night_wind
461 
462 	{14510, _sound_is_quiet}, // _snd_surface_explosion
463 	{14520, _sound_is_quiet}, // _snd_underground_explosion
464 
465 	{16000, _sound_is_normal}, // _snd_defender_attack
466 	{16010, _sound_is_normal}, // _snd_defender_hit
467 	{16020, _sound_is_normal}, // _snd_defender_flyby
468 	{16030, _sound_is_normal}, // _snd_defender_being_hit
469 	{16040, _sound_is_loud}, // _snd_defender_exploding
470 
471 	{17000, _sound_is_normal, 0, _always, 3*FIXED_ONE/4, 3*FIXED_ONE/2}, // _snd_tick_chatter
472 	{17010, _sound_is_normal}, // _snd_tick_falling
473 	{17020, _sound_is_quiet}, // _snd_tick_flapping
474 	{17030, _sound_is_loud}, // _snd_tick_exploding
475 
476 	{14530, _sound_is_normal}, // _snd_ceiling_lamp_exploding
477 
478 	{14545, _sound_is_normal}, // _snd_pfhor_platform_starting
479 	{14550, _sound_is_normal}, // _snd_pfhor_platform_stopping
480 	{14560, _sound_is_normal, _sound_is_ambient}, // _ambient_snd_pfhor_platform
481 
482 	{14570, _sound_is_normal}, // _snd_pfhor_door_opening
483 	{14580, _sound_is_normal}, // _snd_pfhor_door_closing
484 	{14590, _sound_is_normal}, // _snd_pfhor_door_obstructed
485 	{14600, _sound_is_normal, _sound_is_ambient}, // _ambient_snd_pfhor_door
486 
487 	{14610, _sound_is_quiet}, // _snd_pfhor_switch_off
488 	{14620, _sound_is_quiet}, // _snd_pfhor_switch_on
489 
490 	{14630, _sound_is_loud}, // _snd_juggernaut_firing
491 	{14640, _sound_is_loud}, // _snd_juggernaut_warning
492 	{14650, _sound_is_loud}, // _snd_juggernaut_exploding
493 	{14660, _sound_is_loud}, // _snd_juggernaut_preparing_to_fire
494 
495 	{14670, _sound_is_loud}, // _snd_enforcer_exploding
496 
497 	{14240, _sound_is_normal, _sound_is_ambient}, // _snd_alien_noise1
498 	{14250, _sound_is_normal, _sound_is_ambient}, // _snd_alien_noise2
499 };
500 */
501 
502 #endif
503 
504