1 /* sounds.h */
2 
3 #ifndef __SOUNDSH__
4 #define __SOUNDSH__
5 
6 #define MAX_SND_DIST 	1600
7 #define MAX_CHANNELS	16
8 
9 /* Music identifiers */
10 
11 typedef enum
12 {
13     mus_e1m1,
14     mus_e1m2,
15     mus_e1m3,
16     mus_e1m4,
17     mus_e1m5,
18     mus_e1m6,
19     mus_e1m7,
20     mus_e1m8,
21     mus_e1m9,
22 
23     mus_e2m1,
24     mus_e2m2,
25     mus_e2m3,
26     mus_e2m4,
27     mus_e2m5,
28     mus_e2m6,
29     mus_e2m7,
30     mus_e2m8,
31     mus_e2m9,
32 
33     mus_e3m1,
34     mus_e3m2,
35     mus_e3m3,
36     mus_e3m4,
37     mus_e3m5,
38     mus_e3m6,
39     mus_e3m7,
40     mus_e3m8,
41     mus_e3m9,
42 
43     mus_e4m1,
44     mus_e4m2,
45     mus_e4m3,
46     mus_e4m4,
47     mus_e4m5,
48     mus_e4m6,
49     mus_e4m7,
50     mus_e4m8,
51     mus_e4m9,
52 
53     mus_e5m1,
54     mus_e5m2,
55     mus_e5m3,
56     mus_e5m4,
57     mus_e5m5,
58     mus_e5m6,
59     mus_e5m7,
60     mus_e5m8,
61     mus_e5m9,
62 
63     mus_e6m1,
64     mus_e6m2,
65     mus_e6m3,
66 
67     mus_titl,
68     mus_intr,
69     mus_cptd,
70     NUMMUSIC
71 } musicenum_t;
72 
73 typedef struct
74 {
75     /* up to 6-character name */
76     char*	name;
77 
78     /* lump number of music */
79     int		lumpnum;
80 
81     /* music data */
82     void*	data;
83 
84     /* music handle once registered */
85     int handle;
86 
87 } musicinfo_t;
88 
89 typedef struct sfxinfo_s
90 {
91     char* name;
92     struct sfxinfo_s *link;  /* Make alias for another sound */
93     unsigned short priority; /* Higher priority takes precendence */
94     int usefulness;          /* Determines when a sound should be cached out */
95     void *data;
96     int lumpnum;
97     int numchannels;         /* total number of channels a sound type may occupy */
98     int pitch;
99     int volume;
100 } sfxinfo_t;
101 
102 typedef struct
103 {
104     long id;
105     unsigned short priority;
106     char *name;
107     mobj_t *mo;
108 	int distance;
109 } ChanInfo_t;
110 
111 typedef	struct
112 {
113     int channelCount;
114     int musicVolume;
115     int soundVolume;
116     ChanInfo_t chan[8];
117 } SoundInfo_t;
118 
119 /* Sound identifiers */
120 
121 typedef enum
122 {
123     sfx_None,
124     sfx_gldhit,
125     sfx_gntful,
126     sfx_gnthit,
127     sfx_gntpow,
128     sfx_gntact,
129     sfx_gntuse,
130     sfx_phosht,
131     sfx_phohit,
132     sfx_phopow,
133     sfx_lobsht,
134     sfx_lobhit,
135     sfx_lobpow,
136     sfx_hrnsht,
137     sfx_hrnhit,
138     sfx_hrnpow,
139     sfx_ramphit,
140     sfx_ramrain,
141     sfx_bowsht,
142     sfx_stfhit,
143     sfx_stfpow,
144     sfx_stfcrk,
145     sfx_impsit,
146     sfx_impat1,
147     sfx_impat2,
148     sfx_impdth,
149     sfx_impact,
150     sfx_imppai,
151     sfx_mumsit,
152     sfx_mumat1,
153     sfx_mumat2,
154     sfx_mumdth,
155     sfx_mumact,
156     sfx_mumpai,
157     sfx_mumhed,
158     sfx_bstsit,
159     sfx_bstatk,
160     sfx_bstdth,
161     sfx_bstact,
162     sfx_bstpai,
163     sfx_clksit,
164     sfx_clkatk,
165     sfx_clkdth,
166     sfx_clkact,
167     sfx_clkpai,
168     sfx_snksit,
169     sfx_snkatk,
170     sfx_snkdth,
171     sfx_snkact,
172     sfx_snkpai,
173     sfx_kgtsit,
174     sfx_kgtatk,
175     sfx_kgtat2,
176     sfx_kgtdth,
177     sfx_kgtact,
178     sfx_kgtpai,
179     sfx_wizsit,
180     sfx_wizatk,
181     sfx_wizdth,
182     sfx_wizact,
183     sfx_wizpai,
184     sfx_minsit,
185     sfx_minat1,
186     sfx_minat2,
187     sfx_minat3,
188     sfx_mindth,
189     sfx_minact,
190     sfx_minpai,
191     sfx_hedsit,
192     sfx_hedat1,
193     sfx_hedat2,
194     sfx_hedat3,
195     sfx_heddth,
196     sfx_hedact,
197     sfx_hedpai,
198     sfx_sorzap,
199     sfx_sorrise,
200     sfx_sorsit,
201     sfx_soratk,
202     sfx_soract,
203     sfx_sorpai,
204     sfx_sordsph,
205     sfx_sordexp,
206     sfx_sordbon,
207     sfx_sbtsit,
208     sfx_sbtatk,
209     sfx_sbtdth,
210     sfx_sbtact,
211     sfx_sbtpai,
212     sfx_plroof,
213     sfx_plrpai,
214     sfx_plrdth,		/* Normal */
215     sfx_gibdth,		/* Extreme */
216     sfx_plrwdth,	/* Wimpy */
217     sfx_plrcdth,	/* Crazy */
218     sfx_itemup,
219     sfx_wpnup,
220     sfx_telept,
221     sfx_doropn,
222     sfx_dorcls,
223     sfx_dormov,
224     sfx_artiup,
225     sfx_switch,
226     sfx_pstart,
227     sfx_pstop,
228     sfx_stnmov,
229     sfx_chicpai,
230     sfx_chicatk,
231     sfx_chicdth,
232     sfx_chicact,
233     sfx_chicpk1,
234     sfx_chicpk2,
235     sfx_chicpk3,
236     sfx_keyup,
237     sfx_ripslop,
238     sfx_newpod,
239     sfx_podexp,
240     sfx_bounce,
241     sfx_volsht,
242     sfx_volhit,
243     sfx_burn,
244     sfx_splash,
245     sfx_gloop,
246     sfx_respawn,
247     sfx_blssht,
248     sfx_blshit,
249     sfx_chat,
250     sfx_artiuse,
251     sfx_gfrag,
252     sfx_waterfl,
253 
254     /* Monophonic sounds */
255 
256     sfx_wind,
257     sfx_amb1,
258     sfx_amb2,
259     sfx_amb3,
260     sfx_amb4,
261     sfx_amb5,
262     sfx_amb6,
263     sfx_amb7,
264     sfx_amb8,
265     sfx_amb9,
266     sfx_amb10,
267     sfx_amb11,
268     NUMSFX
269 } sfxenum_t;
270 
271 
272 extern sfxinfo_t S_sfx[];
273 extern musicinfo_t S_music[];
274 
275 
276 #endif /* __SOUNDSH__ */
277