1 // SONIC ROBO BLAST 2
2 //-----------------------------------------------------------------------------
3 // Copyright (C) 1993-1996 by id Software, Inc.
4 // Copyright (C) 1998-2000 by DooM Legacy Team.
5 // Copyright (C) 1999-2020 by Sonic Team Junior.
6 //
7 // This program is free software distributed under the
8 // terms of the GNU General Public License, version 2.
9 // See the 'LICENSE' file for more details.
10 //-----------------------------------------------------------------------------
11 /// \file  sounds.h
12 /// \brief Sound and music info
13 
14 #ifndef __SOUNDS__
15 #define __SOUNDS__
16 
17 // Customisable sounds for Skins
18 typedef enum
19 {
20 	SKSSPIN,
21 	SKSPUTPUT,
22 	SKSPUDPUD,
23 	SKSPLPAN1, // Ouchies
24 	SKSPLPAN2,
25 	SKSPLPAN3,
26 	SKSPLPAN4,
27 	SKSPLDET1, // Deaths
28 	SKSPLDET2,
29 	SKSPLDET3,
30 	SKSPLDET4,
31 	SKSPLVCT1, // Victories
32 	SKSPLVCT2,
33 	SKSPLVCT3,
34 	SKSPLVCT4,
35 	SKSTHOK,
36 	SKSSPNDSH,
37 	SKSZOOM,
38 	SKSSKID,
39 	SKSGASP,
40 	SKSJUMP,
41 	NUMSKINSOUNDS
42 } skinsound_t;
43 
44 // free sfx for S_AddSoundFx()
45 #define NUMSFXFREESLOTS 1600 // Matches SOC Editor.
46 #define NUMSKINSFXSLOTS (MAXSKINS*NUMSKINSOUNDS)
47 
48 //
49 // SoundFX struct.
50 //
51 typedef struct sfxinfo_struct sfxinfo_t;
52 
53 struct sfxinfo_struct
54 {
55 	// up to 6-character name
56 	const char *name;
57 
58 	// Sfx singularity (only one at a time)
59 	boolean singularity;
60 
61 	// Sfx priority
62 	INT32 priority;
63 
64 	// pitch if a link
65 	INT32 pitch;
66 
67 	// volume if a link
68 	INT32 volume;
69 
70 	// sound data
71 	void *data;
72 
73 	// length of sound data
74 	size_t length;
75 
76 	// sound that can be remapped for a skin, indexes skins[].skinsounds
77 	// 0 up to (NUMSKINSOUNDS-1), -1 = not skin specifc
78 	INT32 skinsound;
79 
80 	// this is checked every second to see if sound
81 	// can be thrown out (if 0, then decrement, if -1,
82 	// then throw out, if > 0, then it is in use)
83 	INT32 usefulness;
84 
85 	// lump number of sfx
86 	lumpnum_t lumpnum;
87 
88 	// closed caption info/wiki table bait
89 	char caption[32];
90 };
91 
92 // the complete set of sound effects
93 extern sfxinfo_t S_sfx[];
94 
95 //
96 // Identifiers for all sfx in game.
97 //
98 
99 // List of sounds (don't modify this comment!)
100 typedef enum
101 {
102 	sfx_None,
103 
104 	// Skin Sounds
105 	sfx_altdi1,
106 	sfx_altdi2,
107 	sfx_altdi3,
108 	sfx_altdi4,
109 	sfx_altow1,
110 	sfx_altow2,
111 	sfx_altow3,
112 	sfx_altow4,
113 	sfx_victr1,
114 	sfx_victr2,
115 	sfx_victr3,
116 	sfx_victr4,
117 	sfx_gasp,
118 	sfx_jump,
119 	sfx_pudpud,
120 	sfx_putput,
121 	sfx_spin,
122 	sfx_spndsh,
123 	sfx_thok,
124 	sfx_zoom,
125 	sfx_skid,
126 
127 	// Ambience/background objects/etc
128 	sfx_ambint,
129 
130 	sfx_alarm,
131 	sfx_buzz1,
132 	sfx_buzz2,
133 	sfx_buzz3,
134 	sfx_buzz4,
135 	sfx_crumbl,
136 	sfx_fire,
137 	sfx_grind,
138 	sfx_laser,
139 	sfx_mswing,
140 	sfx_pstart,
141 	sfx_pstop,
142 	sfx_steam1,
143 	sfx_steam2,
144 	sfx_wbreak,
145 	sfx_ambmac,
146 	sfx_spsmsh,
147 
148 	sfx_rainin,
149 	sfx_litng1,
150 	sfx_litng2,
151 	sfx_litng3,
152 	sfx_litng4,
153 	sfx_athun1,
154 	sfx_athun2,
155 
156 	sfx_amwtr1,
157 	sfx_amwtr2,
158 	sfx_amwtr3,
159 	sfx_amwtr4,
160 	sfx_amwtr5,
161 	sfx_amwtr6,
162 	sfx_amwtr7,
163 	sfx_amwtr8,
164 	sfx_bubbl1,
165 	sfx_bubbl2,
166 	sfx_bubbl3,
167 	sfx_bubbl4,
168 	sfx_bubbl5,
169 	sfx_floush,
170 	sfx_splash,
171 	sfx_splish,
172 	sfx_wdrip1,
173 	sfx_wdrip2,
174 	sfx_wdrip3,
175 	sfx_wdrip4,
176 	sfx_wdrip5,
177 	sfx_wdrip6,
178 	sfx_wdrip7,
179 	sfx_wdrip8,
180 	sfx_wslap,
181 
182 	sfx_doora1,
183 	sfx_doorb1,
184 	sfx_doorc1,
185 	sfx_doorc2,
186 	sfx_doord1,
187 	sfx_doord2,
188 	sfx_eleva1,
189 	sfx_eleva2,
190 	sfx_eleva3,
191 	sfx_elevb1,
192 	sfx_elevb2,
193 	sfx_elevb3,
194 
195 	sfx_ambin2,
196 	sfx_lavbub,
197 	sfx_rocks1,
198 	sfx_rocks2,
199 	sfx_rocks3,
200 	sfx_rocks4,
201 	sfx_rumbam,
202 	sfx_rumble,
203 
204 	// Game objects, etc
205 	sfx_appear,
206 	sfx_bkpoof,
207 	sfx_bnce1,
208 	sfx_bnce2,
209 	sfx_cannon,
210 	sfx_cgot,
211 	sfx_cybdth,
212 	sfx_deton,
213 	sfx_ding, // old sfx_appear sound
214 	sfx_dmpain,
215 	sfx_drown,
216 	sfx_fizzle,
217 	sfx_gbeep,
218 	sfx_wepfir,
219 	sfx_ghit,
220 	sfx_gloop,
221 	sfx_gspray,
222 	sfx_gravch,
223 	sfx_itemup,
224 	sfx_jet,
225 	sfx_jshard,
226 	sfx_lose,
227 	sfx_lvpass,
228 	sfx_mindig,
229 	sfx_mixup,
230 	sfx_monton,
231 	sfx_pogo,
232 	sfx_pop,
233 	sfx_rail1,
234 	sfx_rail2,
235 	sfx_rlaunc,
236 	sfx_shield,
237 	sfx_wirlsg,
238 	sfx_forcsg,
239 	sfx_frcssg,
240 	sfx_elemsg,
241 	sfx_armasg,
242 	sfx_attrsg,
243 	sfx_shldls,
244 	sfx_spdpad,
245 	sfx_spkdth,
246 	sfx_spring,
247 	sfx_statu1,
248 	sfx_statu2,
249 	sfx_strpst,
250 	sfx_supert,
251 	sfx_telept,
252 	sfx_tink,
253 	sfx_token,
254 	sfx_trfire,
255 	sfx_trpowr,
256 	sfx_turhit,
257 	sfx_wdjump,
258 	sfx_shrpsp,
259 	sfx_shrpgo,
260 	sfx_mswarp,
261 	sfx_mspogo,
262 	sfx_boingf,
263 	sfx_corkp,
264 	sfx_corkh,
265 	sfx_alart,
266 	sfx_vwre,
267 	sfx_bowl,
268 	sfx_chuchu,
269 	sfx_bsnipe,
270 	sfx_sprong,
271 	sfx_lvfal1,
272 	sfx_pscree,
273 	sfx_iceb,
274 	sfx_shattr,
275 	sfx_antiri,
276 
277 	// Menu, interface
278 	sfx_chchng,
279 	sfx_dwnind,
280 	sfx_emfind,
281 	sfx_flgcap,
282 	sfx_menu1,
283 	sfx_oneup,
284 	sfx_ptally,
285 	sfx_radio,
286 	sfx_wepchg,
287 	sfx_wtrdng,
288 	sfx_zelda,
289 	sfx_adderr,
290 	sfx_notadd,
291 	sfx_addfil,
292 
293 	// NiGHTS
294 	sfx_ideya,
295 	sfx_xideya, // Xmas
296 	sfx_nbmper,
297 	sfx_nxbump, // Xmas
298 	sfx_ncchip,
299 	sfx_ncitem,
300 	sfx_nxitem, // Xmas
301 	sfx_ngdone,
302 	sfx_nxdone, // Xmas
303 	sfx_drill1,
304 	sfx_drill2,
305 	sfx_ncspec,
306 	sfx_nghurt,
307 	sfx_ngskid,
308 	sfx_hoop1,
309 	sfx_hoop2,
310 	sfx_hoop3,
311 	sfx_hidden,
312 	sfx_prloop,
313 	sfx_timeup,
314 	sfx_ngjump,
315 	sfx_peww,
316 
317 	// Halloween
318 	sfx_lntsit,
319 	sfx_lntdie,
320 	sfx_pumpkn,
321 	sfx_ghosty,
322 
323 	// Mario
324 	sfx_koopfr,
325 	sfx_mario1,
326 	sfx_mario2,
327 	sfx_mario3,
328 	sfx_mario4,
329 	sfx_mario5,
330 	sfx_mario6,
331 	sfx_mario7,
332 	sfx_mario8,
333 	sfx_mario9,
334 	sfx_marioa,
335 	sfx_thwomp,
336 
337 	// Black Eggman
338 	sfx_bebomb,
339 	sfx_bechrg,
340 	sfx_becrsh,
341 	sfx_bedeen,
342 	sfx_bedie1,
343 	sfx_bedie2,
344 	sfx_beeyow,
345 	sfx_befall,
346 	sfx_befire,
347 	sfx_beflap,
348 	sfx_begoop,
349 	sfx_begrnd,
350 	sfx_behurt,
351 	sfx_bejet1,
352 	sfx_belnch,
353 	sfx_beoutb,
354 	sfx_beragh,
355 	sfx_beshot,
356 	sfx_bestep,
357 	sfx_bestp2,
358 	sfx_bewar1,
359 	sfx_bewar2,
360 	sfx_bewar3,
361 	sfx_bewar4,
362 	sfx_bexpld,
363 	sfx_bgxpld,
364 
365 	// Cy-Brak-Demon
366 	sfx_beelec, // Electric barrier ambience
367 	sfx_brakrl, // Rocket launcher
368 	sfx_brakrx, // Rocket explodes
369 
370 	// S1 sounds
371 	sfx_s1a0,
372 	sfx_s1a1,
373 	sfx_s1a2,
374 	sfx_s1a3,
375 	sfx_s1a4,
376 	sfx_s1a5,
377 	sfx_s1a6,
378 	sfx_s1a7,
379 	sfx_s1a8,
380 	sfx_s1a9,
381 	sfx_s1aa,
382 	sfx_s1ab,
383 	sfx_s1ac,
384 	sfx_s1ad,
385 	sfx_s1ae,
386 	sfx_s1af,
387 	sfx_s1b0,
388 	sfx_s1b1,
389 	sfx_s1b2,
390 	sfx_s1b3,
391 	sfx_s1b4,
392 	sfx_s1b5,
393 	sfx_s1b6,
394 	sfx_s1b7,
395 	sfx_s1b8,
396 	sfx_s1b9,
397 	sfx_s1ba,
398 	sfx_s1bb,
399 	sfx_s1bc,
400 	sfx_s1bd,
401 	sfx_s1be,
402 	sfx_s1bf,
403 	sfx_s1c0,
404 	sfx_s1c1,
405 	sfx_s1c2,
406 	sfx_s1c3,
407 	sfx_s1c4,
408 	sfx_s1c5,
409 	sfx_s1c6,
410 	sfx_s1c7,
411 	sfx_s1c8,
412 	sfx_s1c9,
413 	sfx_s1ca,
414 	sfx_s1cb,
415 	sfx_s1cc,
416 	sfx_s1cd,
417 	sfx_s1ce,
418 	sfx_s1cf,
419 
420 	// S2 sounds
421 	sfx_s220,
422 	sfx_s221,
423 	sfx_s222,
424 	sfx_s223,
425 	sfx_s224,
426 	sfx_s225,
427 	sfx_s226,
428 	sfx_s227,
429 	sfx_s228,
430 	sfx_s229,
431 	sfx_s22a,
432 	sfx_s22b,
433 	sfx_s22c,
434 	sfx_s22d,
435 	sfx_s22e,
436 	sfx_s22f,
437 	sfx_s230,
438 	sfx_s231,
439 	sfx_s232,
440 	sfx_s233,
441 	sfx_s234,
442 	sfx_s235,
443 	sfx_s236,
444 	sfx_s237,
445 	sfx_s238,
446 	sfx_s239,
447 	sfx_s23a,
448 	sfx_s23b,
449 	sfx_s23c,
450 	sfx_s23d,
451 	sfx_s23e,
452 	sfx_s23f,
453 	sfx_s240,
454 	sfx_s241,
455 	sfx_s242,
456 	sfx_s243,
457 	sfx_s244,
458 	sfx_s245,
459 	sfx_s246,
460 	sfx_s247,
461 	sfx_s248,
462 	sfx_s249,
463 	sfx_s24a,
464 	sfx_s24b,
465 	sfx_s24c,
466 	sfx_s24d,
467 	sfx_s24e,
468 	sfx_s24f,
469 	sfx_s250,
470 	sfx_s251,
471 	sfx_s252,
472 	sfx_s253,
473 	sfx_s254,
474 	sfx_s255,
475 	sfx_s256,
476 	sfx_s257,
477 	sfx_s258,
478 	sfx_s259,
479 	sfx_s25a,
480 	sfx_s25b,
481 	sfx_s25c,
482 	sfx_s25d,
483 	sfx_s25e,
484 	sfx_s25f,
485 	sfx_s260,
486 
487 	// S3&K sounds
488 	sfx_s3k2b,
489 	sfx_s3k33,
490 	sfx_s3k34,
491 	sfx_s3k35,
492 	sfx_s3k36,
493 	sfx_s3k37,
494 	sfx_s3k38,
495 	sfx_s3k39,
496 	sfx_s3k3a,
497 	sfx_s3k3b,
498 	sfx_s3k3c,
499 	sfx_s3k3d,
500 	sfx_s3k3e,
501 	sfx_s3k3f,
502 	sfx_s3k40,
503 	sfx_s3k41,
504 	sfx_s3k42,
505 	sfx_s3k43,
506 	sfx_s3k44,
507 	sfx_s3k45,
508 	sfx_s3k46,
509 	sfx_s3k47,
510 	sfx_s3k48,
511 	sfx_s3k49,
512 	sfx_s3k4a,
513 	sfx_s3k4b,
514 	sfx_s3k4c,
515 	sfx_s3k4d,
516 	sfx_s3k4e,
517 	sfx_s3k4f,
518 	sfx_s3k50,
519 	sfx_s3k51,
520 	sfx_s3k52,
521 	sfx_s3k53,
522 	sfx_s3k54,
523 	sfx_s3k55,
524 	sfx_s3k56,
525 	sfx_s3k57,
526 	sfx_s3k58,
527 	sfx_s3k59,
528 	sfx_s3k5a,
529 	sfx_s3k5b,
530 	sfx_s3k5c,
531 	sfx_s3k5d,
532 	sfx_s3k5e,
533 	sfx_s3k5f,
534 	sfx_s3k60,
535 	sfx_s3k61,
536 	sfx_s3k62,
537 	sfx_s3k63,
538 	sfx_s3k64,
539 	sfx_s3k65,
540 	sfx_s3k66,
541 	sfx_s3k67,
542 	sfx_s3k68,
543 	sfx_s3k69,
544 	sfx_s3k6a,
545 	sfx_s3k6b,
546 	sfx_s3k6c,
547 	sfx_s3k6d,
548 	sfx_s3k6e,
549 	sfx_s3k6f,
550 	sfx_s3k70,
551 	sfx_s3k71,
552 	sfx_s3k72,
553 	sfx_s3k73,
554 	sfx_s3k74,
555 	sfx_s3k75,
556 	sfx_s3k76,
557 	sfx_s3k77,
558 	sfx_s3k78,
559 	sfx_s3k79,
560 	sfx_s3k7a,
561 	sfx_s3k7b,
562 	sfx_s3k7c,
563 	sfx_s3k7d,
564 	sfx_s3k7e,
565 	sfx_s3k7f,
566 	sfx_s3k80,
567 	sfx_s3k81,
568 	sfx_s3k82,
569 	sfx_s3k83,
570 	sfx_s3k84,
571 	sfx_s3k85,
572 	sfx_s3k86,
573 	sfx_s3k87,
574 	sfx_s3k88,
575 	sfx_s3k89,
576 	sfx_s3k8a,
577 	sfx_s3k8b,
578 	sfx_s3k8c,
579 	sfx_s3k8d,
580 	sfx_s3k8e,
581 	sfx_s3k8f,
582 	sfx_s3k90,
583 	sfx_s3k91,
584 	sfx_s3k92,
585 	sfx_s3k93,
586 	sfx_s3k94,
587 	sfx_s3k95,
588 	sfx_s3k96,
589 	sfx_s3k97,
590 	sfx_s3k98,
591 	sfx_s3k99,
592 	sfx_s3k9a,
593 	sfx_s3k9b,
594 	sfx_s3k9c,
595 	sfx_s3k9d,
596 	sfx_s3k9e,
597 	sfx_s3k9f,
598 	sfx_s3ka0,
599 	sfx_s3ka1,
600 	sfx_s3ka2,
601 	sfx_s3ka3,
602 	sfx_s3ka4,
603 	sfx_s3ka5,
604 	sfx_s3ka6,
605 	sfx_s3ka7,
606 	sfx_s3ka8,
607 	sfx_s3ka9,
608 	sfx_s3kaa,
609 	sfx_s3kab,
610 	sfx_s3kab1,
611 	sfx_s3kab2,
612 	sfx_s3kab3,
613 	sfx_s3kab4,
614 	sfx_s3kab5,
615 	sfx_s3kab6,
616 	sfx_s3kab7,
617 	sfx_s3kab8,
618 	sfx_s3kab9,
619 	sfx_s3kaba,
620 	sfx_s3kabb,
621 	sfx_s3kabc,
622 	sfx_s3kabd,
623 	sfx_s3kabe,
624 	sfx_s3kabf,
625 	sfx_s3kac,
626 	sfx_s3kad,
627 	sfx_s3kae,
628 	sfx_s3kaf,
629 	sfx_s3kb0,
630 	sfx_s3kb1,
631 	sfx_s3kb2,
632 	sfx_s3kb3,
633 	sfx_s3kb4,
634 	sfx_s3kb5,
635 	sfx_s3kb6,
636 	sfx_s3kb7,
637 	sfx_s3kb8,
638 	sfx_s3kb9,
639 	sfx_s3kba,
640 	sfx_s3kbb,
641 	sfx_s3kbcs,
642 	sfx_s3kbcl,
643 	sfx_s3kbds,
644 	sfx_s3kbdl,
645 	sfx_s3kbes,
646 	sfx_s3kbel,
647 	sfx_s3kbfs,
648 	sfx_s3kbfl,
649 	sfx_s3kc0s,
650 	sfx_s3kc0l,
651 	sfx_s3kc1s,
652 	sfx_s3kc1l,
653 	sfx_s3kc2s,
654 	sfx_s3kc2l,
655 	sfx_s3kc3s,
656 	sfx_s3kc3l,
657 	sfx_s3kc4s,
658 	sfx_s3kc4l,
659 	sfx_s3kc5s,
660 	sfx_s3kc5l,
661 	sfx_s3kc6s,
662 	sfx_s3kc6l,
663 	sfx_s3kc7s,
664 	sfx_s3kc7l,
665 	sfx_s3kc8s,
666 	sfx_s3kc8l,
667 	sfx_s3kc9s,
668 	sfx_s3kc9l,
669 	sfx_s3kcas,
670 	sfx_s3kcal,
671 	sfx_s3kcbs,
672 	sfx_s3kcbl,
673 	sfx_s3kccs,
674 	sfx_s3kccl,
675 	sfx_s3kcds,
676 	sfx_s3kcdl,
677 	sfx_s3kces,
678 	sfx_s3kcel,
679 	sfx_s3kcfs,
680 	sfx_s3kcfl,
681 	sfx_s3kd0s,
682 	sfx_s3kd0l,
683 	sfx_s3kd1s,
684 	sfx_s3kd1l,
685 	sfx_s3kd2s,
686 	sfx_s3kd2l,
687 	sfx_s3kd3s,
688 	sfx_s3kd3l,
689 	sfx_s3kd4s,
690 	sfx_s3kd4l,
691 	sfx_s3kd5s,
692 	sfx_s3kd5l,
693 	sfx_s3kd6s,
694 	sfx_s3kd6l,
695 	sfx_s3kd7s,
696 	sfx_s3kd7l,
697 	sfx_s3kd8s,
698 	sfx_s3kd8l,
699 	sfx_s3kd9s,
700 	sfx_s3kd9l,
701 	sfx_s3kdas,
702 	sfx_s3kdal,
703 	sfx_s3kdbs,
704 	sfx_s3kdbl,
705 
706 	// 3DB sounds
707 	sfx_3db06,
708 	sfx_3db09,
709 	sfx_3db14,
710 	sfx_3db16,
711 
712 	// SCD sounds
713 	sfx_cdfm00,
714 	sfx_cdfm01,
715 	sfx_cdfm02,
716 	sfx_cdfm03,
717 	sfx_cdfm04,
718 	sfx_cdfm05,
719 	sfx_cdfm06,
720 	sfx_cdfm07,
721 	sfx_cdfm08,
722 	sfx_cdfm09,
723 	sfx_cdfm10,
724 	sfx_cdfm11,
725 	sfx_cdfm12,
726 	sfx_cdfm13,
727 	sfx_cdfm14,
728 	sfx_cdfm15,
729 	sfx_cdfm16,
730 	sfx_cdfm17,
731 	sfx_cdfm18,
732 	sfx_cdfm19,
733 	sfx_cdfm20,
734 	sfx_cdfm21,
735 	sfx_cdfm22,
736 	sfx_cdfm23,
737 	sfx_cdfm24,
738 	sfx_cdfm25,
739 	sfx_cdfm26,
740 	sfx_cdfm27,
741 	sfx_cdfm28,
742 	sfx_cdfm29,
743 	sfx_cdfm30,
744 	sfx_cdfm31,
745 	sfx_cdfm32,
746 	sfx_cdfm33,
747 	sfx_cdfm34,
748 	sfx_cdfm35,
749 	sfx_cdfm36,
750 	sfx_cdfm37,
751 	sfx_cdfm38,
752 	sfx_cdfm39,
753 	sfx_cdfm40,
754 	sfx_cdfm41,
755 	sfx_cdfm42,
756 	sfx_cdfm43,
757 	sfx_cdfm44,
758 	sfx_cdfm45,
759 	sfx_cdfm46,
760 	sfx_cdfm47,
761 	sfx_cdfm48,
762 	sfx_cdfm49,
763 	sfx_cdfm50,
764 	sfx_cdfm51,
765 	sfx_cdfm52,
766 	sfx_cdfm53,
767 	sfx_cdfm54,
768 	sfx_cdfm55,
769 	sfx_cdfm56,
770 	sfx_cdfm57,
771 	sfx_cdfm58,
772 	sfx_cdfm59,
773 	sfx_cdfm60,
774 	sfx_cdfm61,
775 	sfx_cdfm62,
776 	sfx_cdfm63,
777 	sfx_cdfm64,
778 	sfx_cdfm65,
779 	sfx_cdfm66,
780 	sfx_cdfm67,
781 	sfx_cdfm68,
782 	sfx_cdfm69,
783 	sfx_cdfm70,
784 	sfx_cdfm71,
785 	sfx_cdfm72,
786 	sfx_cdfm73,
787 	sfx_cdfm74,
788 	sfx_cdfm75,
789 	sfx_cdfm76,
790 	sfx_cdfm77,
791 	sfx_cdfm78,
792 	sfx_cdfm79,
793 	sfx_cdpcm0,
794 	sfx_cdpcm1,
795 	sfx_cdpcm2,
796 	sfx_cdpcm3,
797 	sfx_cdpcm4,
798 	sfx_cdpcm5,
799 	sfx_cdpcm6,
800 	sfx_cdpcm7,
801 	sfx_cdpcm8,
802 	sfx_cdpcm9,
803 
804 	// KC sounds
805 	sfx_kc2a,
806 	sfx_kc2b,
807 	sfx_kc2c,
808 	sfx_kc2d,
809 	sfx_kc2e,
810 	sfx_kc2f,
811 	sfx_kc30,
812 	sfx_kc31,
813 	sfx_kc32,
814 	sfx_kc33,
815 	sfx_kc34,
816 	sfx_kc35,
817 	sfx_kc36,
818 	sfx_kc37,
819 	sfx_kc38,
820 	sfx_kc39,
821 	sfx_kc3a,
822 	sfx_kc3b,
823 	sfx_kc3c,
824 	sfx_kc3d,
825 	sfx_kc3e,
826 	sfx_kc3f,
827 	sfx_kc40,
828 	sfx_kc41,
829 	sfx_kc42,
830 	sfx_kc43,
831 	sfx_kc44,
832 	sfx_kc45,
833 	sfx_kc46,
834 	sfx_kc47,
835 	sfx_kc48,
836 	sfx_kc49,
837 	sfx_kc4a,
838 	sfx_kc4b,
839 	sfx_kc4c,
840 	sfx_kc4d,
841 	sfx_kc4e,
842 	sfx_kc4f,
843 	sfx_kc50,
844 	sfx_kc51,
845 	sfx_kc52,
846 	sfx_kc53,
847 	sfx_kc54,
848 	sfx_kc55,
849 	sfx_kc56,
850 	sfx_kc57,
851 	sfx_kc58,
852 	sfx_kc59,
853 	sfx_kc5a,
854 	sfx_kc5b,
855 	sfx_kc5c,
856 	sfx_kc5d,
857 	sfx_kc5e,
858 	sfx_kc5f,
859 	sfx_kc60,
860 	sfx_kc61,
861 	sfx_kc62,
862 	sfx_kc63,
863 	sfx_kc64,
864 	sfx_kc65,
865 	sfx_kc66,
866 	sfx_kc67,
867 	sfx_kc68,
868 	sfx_kc69,
869 	sfx_kc6b,
870 	sfx_kc6c,
871 	sfx_kc6d,
872 	sfx_kc6e,
873 
874 	// free slots for S_AddSoundFx() at run-time --------------------
875 	sfx_freeslot0,
876 	//
877 	// ... 60 free sounds here ...
878 	//
879 	sfx_lastfreeslot = sfx_freeslot0 + NUMSFXFREESLOTS-1,
880 	// end of freeslots ---------------------------------------------
881 
882 	sfx_skinsoundslot0,
883 	sfx_lastskinsoundslot = sfx_skinsoundslot0 + NUMSKINSFXSLOTS-1,
884 	NUMSFX
885 } sfxenum_t;
886 
887 
888 void S_InitRuntimeSounds(void);
889 sfxenum_t S_AddSoundFx(const char *name, boolean singular, INT32 flags, boolean skinsound);
890 extern sfxenum_t sfxfree; // sound test and slotting
891 void S_RemoveSoundFx(sfxenum_t id);
892 
893 #endif
894