1 /*
2  * file snd.h - sound library for xblast
3  *
4  * $Id: snd.h,v 1.10 2006/06/12 11:06:36 fzago Exp $
5  *
6  * Program XBLAST
7  * (C) by Oliver Vogel (e-mail: m.vogel@ndh.net)
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published
11  * by the Free Software Foundation; either version 2; or (at your option)
12  * any later version
13  *
14  * This program is distributed in the hope that it will be entertaining,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILTY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
17  * Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License along
20  * with this program; if not, write to the Free Software Foundation, Inc.
21  * 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
22  */
23 
24 #ifndef XBLAST_SND_H
25 #define XBLAST_SND_H
26 
27 /*
28  * type definitions
29  */
30 
31 /* sound samples */
32 typedef enum
33 {
34 	SND_BAD,
35 	SND_DROP,
36 	SND_NEWBOMB,
37 	SND_NEWKICK,
38 	SND_NEWPUMP,
39 	SND_NEWRC,
40 	SND_MOREFIRE,
41 	SND_DEAD,
42 	SND_EXPL,
43 	SND_KICK,
44 	SND_PUMP,
45 	SND_OUCH,
46 	SND_INTRO,
47 	SND_APPL,
48 	SND_APPL2,
49 	SND_BUTT,
50 	SND_SHOOT,
51 	SND_INVIS,
52 	SND_INVINC,
53 	SND_NEWTELE,
54 	SND_TELE,
55 	SND_INJ,
56 	SND_MINIBOMB,
57 	SND_WON,
58 	SND_HAUNT,
59 	SND_SPIRAL,
60 	SND_SPBOMB,
61 	SND_SLIDE,
62 	SND_FINALE,
63 	SND_WARN,
64 	SND_STUN,
65 	SND_WHIRL,
66 	SND_COMPOUND,
67 	SND_TELE1,
68 	SND_TELE2,
69 	SND_HOLY,
70 	SND_ENCLOAK,
71 	SND_DECLOAK,
72 	SND_FAST,
73 	SND_SLOW,
74 	SND_SLAY,
75 	SND_LIFE,
76 	SND_NEWCLOAK,
77 	SND_BOMBMORPH,
78 	SND_STEP1,
79 	SND_STEP2,
80 	SND_STEP3,
81 	SND_STEP4,
82 	SND_STEP5,
83 	SND_STEP6,
84 	SND_SNG1,
85 	SND_SNG2,
86 	SND_SNG3,
87 	SND_SNG4,
88 	SND_SNG5,
89 	SND_SNG6,
90   /*---*/
91 	SND_MAX
92 } SND_Id;
93 
94 /*
95  * Sound positions in the stereo panorama range from 0 (most left) to
96  * 16 (most right) with 8 as middle position.
97  */
98 #define MAX_SOUND_POSITION     15
99 #define SOUND_MIDDLE_POSITION  7
100 
101 /*
102  * Special id to stop all sounds */
103 #define STOP_ALL_SOUNDS     0
104 
105 /*
106  * function protoypes
107  */
108 extern XBBool SND_Init (const CFGSoundSetup *);
109 extern XBBool SND_Stop (SND_Id id);
110 extern XBBool SND_Play (SND_Id id, int position);
111 extern XBBool SND_Load (SND_Id id);
112 extern XBBool SND_Unload (SND_Id id);
113 extern void SND_Flush (void);
114 extern void SND_Finish (void);
115 extern void SND_Beep (void);
116 
117 #endif
118 
119 /*
120  * end of file snd.h
121  */
122