1 /*
2 Copyright (C) 1994-1995 Apogee Software, Ltd.
3 
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 
13 See the GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18 
19 */
20 #ifndef _rt_sound_public
21 #define _rt_sound_public
22 
23 #include "music.h"
24 #include "develop.h"
25 
26 typedef enum {
27 
28 //	MENU SOUNDS
29 
30 		   SD_MENUFLIP,
31 		   SD_ESCPRESSEDSND,
32 		   SD_MOVECURSORSND,
33 		   SD_SELECTSND,
34 		   SD_WARNINGBOXSND,
35 		   SD_INFOBOXSND,
36 		   SD_QUESTIONBOXSND,
37 		   SD_NOPESND,
38 		   SD_QUIT1SND,
39 		   SD_QUIT2SND,
40 		   SD_QUIT3SND,
41 		   SD_QUIT4SND,
42 		   SD_QUIT5SND,
43 		   SD_QUIT6SND,
44 		   SD_QUIT7SND,
45 
46 
47 //	GAME SOUNDS
48 
49 		   SD_LEVELSTARTSND,
50 		   SD_LEVELDONESND,
51 		   SD_GAMEOVERSND,
52 
53 //	LEVEL END SCREEN
54 
55 		   SD_ENDBONUS1SND,
56 		   SD_NOBONUSSND,
57 		   SD_PERCENT100SND,
58 
59 //	PLAYER SOUNDS
60 
61 		   SD_HITWALLSND,
62 		   SD_SELECTWPNSND,
63 		   SD_NOWAYSND,
64 		   SD_DONOTHINGSND,
65 		   SD_NOITEMSND,
66 		   SD_PLAYERDYINGSND,
67 
68          SD_PLAYERTCDEATHSND,
69          SD_PLAYERTBDEATHSND,
70          SD_PLAYERDWDEATHSND,
71          SD_PLAYERLNDEATHSND,
72          SD_PLAYERIPFDEATHSND,
73          SD_PLAYERTCHURTSND,
74          SD_PLAYERTBHURTSND,
75          SD_PLAYERDWHURTSND,
76          SD_PLAYERLNHURTSND,
77          SD_PLAYERIPFHURTSND,
78          SD_PLAYERTCSND,
79          SD_PLAYERTBSND,
80          SD_PLAYERDWSND,
81          SD_PLAYERLNSND,
82          SD_PLAYERIPFSND,
83 //         SD_WALK1SND,
84 //         SD_WALK2SND,
85 		   SD_PLAYERBURNEDSND,
86 		   SD_PLAYERLANDSND,
87 		   SD_PLAYERCOUGHMSND,
88 		   SD_PLAYERCOUGHFSND,
89 		   SD_NETWIGGLESND,
90 		   SD_NETFALLSND,
91 
92 //	PLAYER WEAPONS
93 
94 		   SD_ATKPISTOLSND,
95          SD_ATKTWOPISTOLSND,
96 		   SD_ATKMP40SND,
97          SD_RICOCHET1SND,
98          SD_RICOCHET2SND,
99          SD_RICOCHET3SND,
100 		   SD_BAZOOKAFIRESND,
101 		   SD_FIREBOMBFIRESND,
102 		   SD_HEATSEEKFIRESND,
103 		   SD_DRUNKFIRESND,
104 		   SD_FLAMEWALLFIRESND,
105 		   SD_FLAMEWALLSND,
106 		   SD_SPLITFIRESND,
107 		   SD_SPLITSND,
108 		   SD_GRAVBUILDSND,
109 		   SD_GRAVFIRESND,
110 		   SD_GRAVSND,
111 		   SD_GRAVHITSND,
112 		   SD_FIREHITSND,
113          SD_MISSILEFLYSND,
114 		   SD_MISSILEHITSND,
115 		   SD_EXCALIBOUNCESND,
116 		   SD_EXCALISWINGSND,
117 		   SD_EXCALIHITSND,
118 		   SD_EXCALIBUILDSND,
119 		   SD_EXCALIBLASTSND,
120 		   SD_GODMODEFIRESND,
121 		   SD_GODMODE1SND,
122 		   SD_GODMODE2SND,
123 		   SD_GODMODE3SND,
124 		   SD_LOSEMODESND,
125 		   SD_DOGMODEPANTSND,
126          SD_DOGMODEBITE1SND,
127          SD_DOGMODEBITE2SND,
128          SD_DOGMODELICKSND,
129          SD_DOGMODEBLASTSND,
130          SD_DOGMODEPREPBLASTSND,
131          SD_DOGMANSND,
132          SD_DOGWOMANSND,
133          SD_GODMANSND,
134          SD_GODWOMANSND,
135          SD_FLYINGSND,
136 
137 //	PLAYER-CAUSED SOUNDS
138 
139 		   SD_GLASSBREAKSND,
140 		   SD_ITEMBLOWSND,
141 		   SD_BONUSBARRELSND,
142 		   SD_TOUCHPLATESND,
143 		   SD_BADTOUCHSND,
144          SD_EXPLODEFLOORSND,
145 		   SD_EXPLODESND,
146 		   SD_GASSTARTSND,
147 		   SD_GASHISSSND,
148 		   SD_GASENDSND,
149 		   SD_GASMASKSND,
150 
151 //	GET ITEM SOUNDS
152 
153 		   SD_GETKEYSND,
154          SD_GETBONUSSND,
155 		   SD_GETHEALTH1SND,
156 		   SD_GETHEALTH2SND,
157 		   SD_COOKHEALTHSND,
158 
159 		   SD_GETWEAPONSND,
160 		   SD_GETKNIFESND,
161 		   SD_GETGODSND,
162 		   SD_GETDOGSND,
163 		   SD_GETFLEETSND,
164 		   SD_GETELASTSND,
165 		   SD_GETSHROOMSSND,
166 		   SD_GETBVESTSND,
167 		   SD_GETAVESTSND,
168 		   SD_GETMASKSND,
169 		   SD_GETBATSND,
170 		   SD_GETHEADSND,
171 
172 		   SD_GET1UPSND,
173 		   SD_GET3UPSND,
174          SD_RESPAWNSND,
175          SD_PLAYERSPAWNSND,
176 
177 //	ACTOR SOUNDS
178 
179 		   SD_LOWGUARD1SEESND,
180 		   SD_LOWGUARD1ASEESND,
181 		   SD_LOWGUARD1SEE3SND,
182 		   SD_LOWGUARD2SEESND,
183 		   SD_LOWGUARD2ASEESND,
184 		   SD_LOWGUARD2SEE3SND,
185 		   SD_LOWGUARDFIRESND,
186 		   SD_LOWGUARDOUCHSND,
187          SD_LOWGUARD1DIESND,
188          SD_LOWGUARD2DIESND,
189 		   SD_SNEAKYSPRINGMSND,
190 		   SD_SNEAKYSPRINGFSND,
191 
192          SD_HIGHGUARD1SEESND,
193 		   SD_HIGHGUARD2SEESND,
194          SD_HIGHGUARDFIRESND,
195 		   SD_HIGHGUARDOUCHSND,
196 		   SD_HIGHGUARDDIESND,
197 
198          SD_OVERP1SEESND,
199 		   SD_OVERP2SEESND,
200          SD_OVERPFIRESND,
201 		   SD_OVERPNETSND,
202 		   SD_OVERPOUCHSND,
203 		   SD_OVERPDIESND,
204 
205          SD_STRIKE1SEESND,
206 		   SD_STRIKE2SEESND,
207          SD_STRIKEFIRESND,
208 		   SD_STRIKEROLLSND,
209 		   SD_STRIKEOUCHSND,
210 		   SD_STRIKEDIESND,
211 
212          SD_BLITZ1SEESND,
213          SD_BLITZ2SEESND,
214          SD_BLITZFIRESND,
215 		   SD_BLITZSTEALSND,
216 		   SD_BLITZOUCHSND,
217 		   SD_BLITZDIESND,
218          SD_BLITZPLEADSND,
219          SD_BLITZPLEAD1SND,
220          SD_BLITZPLEAD2SND,
221 
222 		   SD_ENFORCERSEESND,
223 		   SD_ENFORCERFIRESND,
224 		   SD_ENFORCERTHROWSND,
225 		   SD_ENFORCEROUCHSND,
226 		   SD_ENFORCERDIESND,
227 
228 		   SD_MONKSEESND,
229 		   SD_MONKGRABSND,
230 		   SD_MONKOUCHSND,
231 		   SD_MONKDIESND,
232 
233 		   SD_FIREMONKSEESND,
234 		   SD_FIREMONKFIRESND,
235 		   SD_FIREMONKOUCHSND,
236 		   SD_FIREMONKDIESND,
237 
238 		   SD_ROBOTSEESND,
239 		   SD_ROBOTFIRESND,
240 		   SD_ROBOTDIESND,
241          SD_ROBOTMOVESND,
242 
243          SD_BALLISTIKRAFTSEESND,
244          SD_BALLISTIKRAFTFIRESND,
245 
246          SD_DARIANSEESND,
247          SD_DARIANFIRESND,
248 		   SD_DARIANGONNAUSESND,
249 		   SD_DARIANUSESND,
250 		   SD_DARIANHIDESND,
251 		   SD_DARIANDIESND,
252          SD_DARIANSAY1,
253          SD_DARIANSAY2,
254          SD_DARIANSAY3,
255 
256 		   SD_KRISTSEESND,
257 		   SD_KRISTFIRESND,
258 		   SD_KRISTMOTORSND,
259 		   SD_KRISTTURNSND,
260 		   SD_KRISTDROPSND,
261 		   SD_KRISTMINEBEEPSND,
262 		   SD_KRISTMINEHITSND,
263 		   SD_KRISTDIESND,
264          SD_KRISTSAY1,
265          SD_KRISTSAY2,
266          SD_KRISTSAY3,
267 
268 		   SD_NMESEESND,
269 		   SD_NMEREADYSND,
270 		   SD_NMEFIRE1SND,
271 		   SD_NMEAPARTSND,
272 		   SD_NMEUFOSND,
273 		   SD_NMEDIESND,
274 
275 		   SD_DARKMONKSEESND,
276 		   SD_DARKMONKFIRE1SND,
277 		   SD_DARKMONKFIRE2SND,
278 		   SD_DARKMONKFIRE3SND,
279 		   SD_DARKMONKFIRE4SND,
280          SD_DARKMONKRECHARGESND,
281 		   SD_DARKMONKFLOATSND,
282 		   SD_DARKMONKDIESND,
283          SD_DARKMONKSAY1,
284          SD_DARKMONKSAY2,
285          SD_DARKMONKSAY3,
286 
287 		   SD_SNAKESEESND,
288 		   SD_SNAKEREADYSND,
289 		   SD_SNAKECHARGESND,
290 		   SD_SNAKEOUCHSND,
291 		   SD_SNAKEDIESND,
292 		   SD_SNAKESPITSND,
293          SD_SNAKESAY1,
294          SD_SNAKESAY2,
295          SD_SNAKESAY3,
296 
297 		   SD_EMPLACEMENTSEESND,
298 		   SD_EMPLACEMENTFIRESND,
299 		   SD_BIGEMPLACEFIRESND,
300 
301 
302 //	ENVIRONMENT SOUNDS
303 
304          SD_OPENDOORSND,
305          SD_CLOSEDOORSND,
306          SD_DOORHITSND,
307          SD_FIRECHUTESND,
308 		   SD_FIREBALLSND,
309 		   SD_FIREBALLHITSND,
310 		   SD_BLADESPINSND,
311 		   SD_PUSHWALLSND,
312 		   SD_PUSHWALLHITSND,
313 		   SD_GOWALLSND,
314 		   SD_TURBOWALLSND,
315 		   SD_BOULDERHITSND,
316 		   SD_BOULDERROLLSND,
317 		   SD_BOULDERFALLSND,
318 		   SD_PITTRAPSND,
319 		   SD_FIREJETSND,
320 		   SD_ACTORSQUISHSND,
321 		   SD_ACTORBURNEDSND,
322          SD_ACTORSKELETONSND,
323 
324 		   SD_SPEARSTABSND,
325 		   SD_CYLINDERMOVESND,
326 		   SD_ELEVATORONSND,
327          SD_ELEVATORENDSND,
328 
329 		   SD_SPRINGBOARDSND,
330          SD_LIGHTNINGSND,
331          SD_WINDSND,
332          SD_WATERSND,
333          SD_BODYLANDSND,
334          SD_GIBSPLASHSND,
335          SD_ACTORLANDSND,
336 
337 //	SECRET SOUNDS
338 
339 		   SD_DOPEFISHSND,
340 		   SD_YOUSUCKSND,
341 
342 		   SD_SILLYMOVESND,
343 		   SD_SOUNDSELECTSND,
344 		   SD_SOUNDESCSND,
345 
346 //	REMOTE SOUNDS (shift number row)
347 
348 		   SD_REMOTEM1SND,
349 		   SD_REMOTEM2SND,
350 		   SD_REMOTEM3SND,
351 		   SD_REMOTEM4SND,
352 		   SD_REMOTEM5SND,
353 		   SD_REMOTEM6SND,
354 		   SD_REMOTEM7SND,
355 		   SD_REMOTEM8SND,
356 		   SD_REMOTEM9SND,
357 		   SD_REMOTEM10SND,
358 
359          SD_LASTSOUND,
360 
361          MAXSOUNDS
362 
363 	          } game_sounds;
364 
365 
366 typedef enum
367          {
368 // REMOTE SOUNDS (shift number row)
369 
370 		   D_REMOTEM1SND,
371 		   D_REMOTEM2SND,
372 		   D_REMOTEM3SND,
373 		   D_REMOTEM4SND,
374 		   D_REMOTEM5SND,
375 		   D_REMOTEM6SND,
376 		   D_REMOTEM7SND,
377 		   D_REMOTEM8SND,
378 		   D_REMOTEM9SND,
379 		   D_REMOTEM10SND,
380          } remotesounds;
381 
382 typedef enum {
383 		MUSE_MENUFLIPSND,             // 0
384 		MUSE_ESCPRESSEDSND,           // 1
385 		MUSE_MOVECURSORSND,           // 2
386 		MUSE_SELECTSND,               // 3
387 		MUSE_WARNINGBOXSND,           // 4
388 		MUSE_INFOBOXSND,              // 5
389 		MUSE_QUESTIONBOXSND,          // 6
390 		MUSE_NOPESND,                 // 7
391 		MUSE_LEVELSTARTSND,           // 8
392 		MUSE_LEVELENDSND,             // 9
393 		MUSE_GAMEOVERSND,             // 10
394 		MUSE_ENDBONUS1SND,            // 11
395 		MUSE_ENDBONUS2SND,            // 12
396 		MUSE_NOBONUSSND,              // 13
397 		MUSE_PERCENT100SND,           // 14
398 		MUSE_HITWALLSND,              // 15
399 		MUSE_SELECTWPNSND,            // 16
400 		MUSE_NOWAYSND,                // 17
401 		MUSE_DONOTHINGSND,            // 18
402 		MUSE_NOITEMSND,               // 19
403 		MUSE_PLAYERDYINGSND,          // 20
404 		MUSE_PLAYERDEATHSND,          // 21
405 		MUSE_PLAYERHURTSND,           // 22
406 		MUSE_PLAYERYESSND,            // 23
407 		MUSE_WALK1SND,                // 24
408 		MUSE_WALK2SND,                // 25
409 		MUSE_PLAYERLANDSND,           // 26
410 		MUSE_NETFALLSND,              // 27
411 		MUSE_ATKKNIFESND,             // 28
412 		MUSE_ATKPISTOLSND,            // 29
413 		MUSE_ATKMP40SND,              // 30
414 		MUSE_RICOCHETSND,             // 31
415 		MUSE_MISSILEFIRESND,          // 32
416 		MUSE_FLAMEWALLSND,            // 33
417 		MUSE_MISSILEHITSND,           // 34
418 		MUSE_WEAPONBUILDSND,          // 35
419 		MUSE_STABBERSND,              // 36
420 		MUSE_ENERGYFIRESND,           // 37
421 		MUSE_GAINMODESND,             // 38
422 		MUSE_LOSEMODESND,             // 39
423 		MUSE_DOGLICKSND,              // 40
424 		MUSE_DOGBITESND,              // 41
425 		MUSE_GLASSBREAKSND,           // 42
426 		MUSE_EXPLOSIONSND,            // 43
427 		MUSE_TOUCHPLATESND,           // 44
428 		MUSE_BADTOUCHSND,             // 45
429 		MUSE_SWITCHSND,               // 46
430 		MUSE_GETKEYSND,               // 47
431 		MUSE_GETBONUSSND,             // 48
432 		MUSE_GETHEALTHSND,            // 49
433 		MUSE_GETWEAPONSND,            // 50
434 		MUSE_GETMWEAPONSND,           // 51
435 		MUSE_GETPOWERUPSND,           // 52
436 		MUSE_GETPOWERDOWNSND,         // 53
437 		MUSE_GETARMORSND,             // 54
438 		MUSE_GETWEIRDSND,             // 55
439 		MUSE_GETLIFESND,              // 56
440 		MUSE_ACTORSEESND,             // 57
441 		MUSE_ACTORFIRESND,            // 58
442 		MUSE_ACTOROUCHSND,            // 59
443 		MUSE_ACTORDIESND,             // 60
444 		MUSE_ACTORTHROWSND,           // 61
445 		MUSE_ACTORROLLSND,            // 62
446 		MUSE_ACTORDOITSND,            // 63
447 		MUSE_ACTORUSESND,             // 64
448 		MUSE_BOSSSEESND,              // 65
449 		MUSE_BOSSOUCHSND,             // 66
450 		MUSE_BOSSDIESND,              // 67
451 		MUSE_BOSSDOSND,               // 68
452 		MUSE_BOSSBEEPSND,             // 69
453 		MUSE_BOSSHEYSND,              // 70
454 		MUSE_BOSSFIRESND,             // 71
455 		MUSE_BOSSWARNSND,             // 72
456 		MUSE_BOSSFIRE2SND,            // 73
457 		MUSE_EMPFIRESND,              // 74
458 		MUSE_OPENDOORSND,             // 75
459 		MUSE_CLOSEDOORSND,            // 76
460 		MUSE_SPINBLADESND,            // 77
461 		MUSE_PUSHWALLSND,             // 78
462 		MUSE_BOULDERSND,              // 79
463 		MUSE_PITTRAPSND,              // 80
464 		MUSE_FIREJETSND,              // 81
465 		MUSE_ACTORSQUISHSND,          // 82
466 		MUSE_CYLINDERHITSND,          // 83
467 		MUSE_ELEVATORSND,             // 84
468 		MUSE_SPRINGBOARDSND,          // 85
469 		MUSE_LASTSOUND=-1
470 	     } musesounds;
471 
472 #define NUMCARDS 6
473 
474 typedef enum {
475    fx_digital,
476    fx_muse
477 } fxtypes;
478 
479 typedef enum {
480    ASS_UltraSound,
481    ASS_SoundBlaster,
482    ASS_SoundMan16,
483    ASS_PAS,
484    ASS_AWE32,
485    ASS_SoundScape,
486    ASS_WaveBlaster,
487    ASS_Adlib,
488    ASS_GeneralMidi,
489    ASS_SoundCanvas,
490    ASS_SoundSource,
491    ASS_TandySoundSource,
492    ASS_PCSpeaker,
493    ASS_Off
494 } ASSTypes;
495 
496 
497 extern int SD_Started;
498 
499 int SD_SetupFXCard ( int * numvoices, int * numbits, int * numchannels);
500 int SD_Startup ( boolean bombonerror );
501 int SD_Play ( int sndnum );
502 void SD_Shutdown (void);
503 
504 int SD_PlayPositionedSound ( int sndnum, int px, int py, int x, int y );
505 int SD_PlaySoundRTP        ( int sndnum, int x, int y );
506 void SD_PanPositionedSound ( int handle, int px, int py, int x, int y );
507 void SD_PanRTP ( int handle, int x, int y );
508 void SD_SetPan ( int handle, int vol, int left, int right );
509 int SD_Play3D ( int sndnum, int angle, int distance );
510 int SD_PlayPitchedSound ( int sndnum, int volume, int pitch );
511 void SD_SetSoundPitch ( int sndnum, int pitch );
512 boolean SD_SoundOkay ( int sndnum );
513 
514 //***************************************************************************
515 //
516 // SD_WaitSound - wait until a sound has finished
517 //
518 //***************************************************************************
519 void SD_WaitSound ( int handle );
520 
521 //***************************************************************************
522 //
523 // SD_StopSound
524 //
525 //***************************************************************************
526 void  SD_StopSound ( int handle );
527 
528 //***************************************************************************
529 //
530 // SD_SoundActive
531 //
532 //***************************************************************************
533 int SD_SoundActive ( int handle );
534 
535 //***************************************************************************
536 //
537 // SD_StopAllSounds
538 //
539 //***************************************************************************
540 void  SD_StopAllSounds ( void );
541 
542 
543 typedef enum {
544    song_gason,
545    song_bosssee,
546    song_bossdie,
547    song_endlevel,
548    song_dogend,
549    song_title,
550    song_apogee,
551    song_youwin,
552    song_level,
553    song_elevator,
554    song_secretmenu,
555    song_cinematic1,
556    song_cinematic2,
557    song_cinematic3,
558    song_gameover,
559    song_christmas,
560    song_snakechase,
561    song_menu
562 } songtypes;
563 
564 
565 
566 void MU_Shutdown ( void );
567 int MU_Startup ( boolean bombonerror );
568 void MU_PlaySong ( int num );
569 void MU_StopSong ( void );
570 
571 //***************************************************************************
572 //
573 // MU_Continue
574 //
575 //***************************************************************************
576 #define MU_Continue() MUSIC_Continue()
577 
578 //***************************************************************************
579 //
580 // MU_Pause
581 //
582 //***************************************************************************
583 #define MU_Pause() MUSIC_Pause()
584 
585 //***************************************************************************
586 //
587 // MU_GetVolume
588 //
589 //***************************************************************************
590 #define MU_GetVolume() MUSIC_GetVolume()
591 
592 //***************************************************************************
593 //
594 // MU_SetVolume
595 //
596 //***************************************************************************
597 #define MU_SetVolume(x) MUSIC_SetVolume(x)
598 
599 //***************************************************************************
600 //
601 // MU_SongPlaying
602 //
603 //***************************************************************************
604 #define MU_SongPlaying() MUSIC_SongPlaying()
605 
606 //***************************************************************************
607 //
608 // MU_FadeVolume
609 //
610 //***************************************************************************
611 #define MU_FadeVolume(v,m) MUSIC_FadeVolume(v,m)
612 
613 //***************************************************************************
614 //
615 // MU_FadeActive
616 //
617 //***************************************************************************
618 #define MU_FadeActive() MUSIC_FadeActive()
619 
620 //***************************************************************************
621 //
622 // MU_StopFade
623 //
624 //***************************************************************************
625 #define MU_StopFade() MUSIC_StopFade()
626 
627 
628 //***************************************************************************
629 //
630 // MU_FadeIn
631 //
632 //***************************************************************************
633 void MU_FadeIn ( int num, int time );
634 
635 //***************************************************************************
636 //
637 // MU_FadeOut
638 //
639 //***************************************************************************
640 void MU_FadeOut ( int time );
641 
642 //***************************************************************************
643 //
644 // MU_FadeToSong
645 //
646 //***************************************************************************
647 void MU_FadeToSong ( int num, int time );
648 
649 //***************************************************************************
650 //
651 // SD_PreCacheSoundGroup
652 //
653 //***************************************************************************
654 void SD_PreCacheSoundGroup ( int lo, int hi );
655 
656 //***************************************************************************
657 //
658 // SD_PreCacheSound
659 //
660 //***************************************************************************
661 
662 void SD_PreCacheSound ( int num );
663 
664 void MU_StartSong ( int songtype );
665 
666 void MU_JukeBoxMenu( void );
667 
668 void MU_StoreSongPosition ( void );
669 
670 void MU_RestoreSongPosition ( void );
671 
672 int MU_GetSongPosition ( void );
673 
674 void MU_SetSongPosition ( int position );
675 
676 int MU_GetSongNumber ( void );
677 
678 int MU_GetNumForType ( int songtype );
679 
680 int MU_GetStoredPosition ( void );
681 
682 void MU_SetStoredPosition ( int position );
683 
684 void MU_LoadMusic (byte * buf, int size);
685 
686 void MU_SaveMusic (byte ** buf, int * size);
687 
688 boolean MusicStarted( void );
689 #endif
690