Update the discussion of themeing in the manual, and put a note in the wps tags appen...
[kugel-rb.git] / apps / plugins / doom / sounds.h
blobbf1004cda913b5c3a758f27245f35968fe04e7bd
1 /* Emacs style mode select -*- C++ -*-
2 *-----------------------------------------------------------------------------
5 * PrBoom a Doom port merged with LxDoom and LSDLDoom
6 * based on BOOM, a modified and improved DOOM engine
7 * Copyright (C) 1999 by
8 * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
9 * Copyright (C) 1999-2000 by
10 * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
25 * 02111-1307, USA.
27 * DESCRIPTION:
28 * Created by the sound utility written by Dave Taylor.
29 * Kept as a sample, DOOM2 sounds. Frozen.
31 *-----------------------------------------------------------------------------*/
33 #ifndef __SOUNDS__
34 #define __SOUNDS__
35 #include "rockmacros.h"
38 // SoundFX struct.
41 struct sfxinfo_struct;
43 typedef struct sfxinfo_struct sfxinfo_t;
45 struct sfxinfo_struct {
47 // up to 6-character name
48 const char *name; // CPhipps - const
50 // Sfx singularity (only one at a time)
51 int singularity;
53 // Sfx priority
54 int priority;
56 // referenced sound if a link
57 sfxinfo_t *link;
59 // pitch if a link
60 int pitch;
62 // volume if a link
63 int volume;
65 // sound data
66 void *data;
68 // this is checked every second to see if sound
69 // can be thrown out (if 0, then decrement, if -1,
70 // then throw out, if > 0, then it is in use)
71 int usefulness;
73 // lump number of sfx
74 int lumpnum;
78 // MusicInfo struct.
81 typedef struct {
82 // up to 6-character name
83 const char *name; // CPhipps - const
85 // lump number of music
86 int lumpnum;
88 /* music data - cphipps 4/11 made const void* */
89 const void *data;
91 // music handle once registered
92 int handle;
93 } musicinfo_t;
95 // the complete set of sound effects
96 extern sfxinfo_t S_sfx[];
98 // the complete set of music
99 extern musicinfo_t S_music[];
102 // Identifiers for all music in game.
105 typedef enum {
106 mus_None,
107 mus_e1m1,
108 mus_e1m2,
109 mus_e1m3,
110 mus_e1m4,
111 mus_e1m5,
112 mus_e1m6,
113 mus_e1m7,
114 mus_e1m8,
115 mus_e1m9,
116 mus_e2m1,
117 mus_e2m2,
118 mus_e2m3,
119 mus_e2m4,
120 mus_e2m5,
121 mus_e2m6,
122 mus_e2m7,
123 mus_e2m8,
124 mus_e2m9,
125 mus_e3m1,
126 mus_e3m2,
127 mus_e3m3,
128 mus_e3m4,
129 mus_e3m5,
130 mus_e3m6,
131 mus_e3m7,
132 mus_e3m8,
133 mus_e3m9,
134 mus_inter,
135 mus_intro,
136 mus_bunny,
137 mus_victor,
138 mus_introa,
139 mus_runnin,
140 mus_stalks,
141 mus_countd,
142 mus_betwee,
143 mus_doom,
144 mus_the_da,
145 mus_shawn,
146 mus_ddtblu,
147 mus_in_cit,
148 mus_dead,
149 mus_stlks2,
150 mus_theda2,
151 mus_doom2,
152 mus_ddtbl2,
153 mus_runni2,
154 mus_dead2,
155 mus_stlks3,
156 mus_romero,
157 mus_shawn2,
158 mus_messag,
159 mus_count2,
160 mus_ddtbl3,
161 mus_ampie,
162 mus_theda3,
163 mus_adrian,
164 mus_messg2,
165 mus_romer2,
166 mus_tense,
167 mus_shawn3,
168 mus_openin,
169 mus_evil,
170 mus_ultima,
171 mus_read_m,
172 mus_dm2ttl,
173 mus_dm2int,
174 NUMMUSIC
175 } musicenum_t;
178 // Identifiers for all sfx in game.
181 typedef enum {
182 sfx_None,
183 sfx_pistol,
184 sfx_shotgn,
185 sfx_sgcock,
186 sfx_dshtgn,
187 sfx_dbopn,
188 sfx_dbcls,
189 sfx_dbload,
190 sfx_plasma,
191 sfx_bfg,
192 sfx_sawup,
193 sfx_sawidl,
194 sfx_sawful,
195 sfx_sawhit,
196 sfx_rlaunc,
197 sfx_rxplod,
198 sfx_firsht,
199 sfx_firxpl,
200 sfx_pstart,
201 sfx_pstop,
202 sfx_doropn,
203 sfx_dorcls,
204 sfx_stnmov,
205 sfx_swtchn,
206 sfx_swtchx,
207 sfx_plpain,
208 sfx_dmpain,
209 sfx_popain,
210 sfx_vipain,
211 sfx_mnpain,
212 sfx_pepain,
213 sfx_slop,
214 sfx_itemup,
215 sfx_wpnup,
216 sfx_oof,
217 sfx_telept,
218 sfx_posit1,
219 sfx_posit2,
220 sfx_posit3,
221 sfx_bgsit1,
222 sfx_bgsit2,
223 sfx_sgtsit,
224 sfx_cacsit,
225 sfx_brssit,
226 sfx_cybsit,
227 sfx_spisit,
228 sfx_bspsit,
229 sfx_kntsit,
230 sfx_vilsit,
231 sfx_mansit,
232 sfx_pesit,
233 sfx_sklatk,
234 sfx_sgtatk,
235 sfx_skepch,
236 sfx_vilatk,
237 sfx_claw,
238 sfx_skeswg,
239 sfx_pldeth,
240 sfx_pdiehi,
241 sfx_podth1,
242 sfx_podth2,
243 sfx_podth3,
244 sfx_bgdth1,
245 sfx_bgdth2,
246 sfx_sgtdth,
247 sfx_cacdth,
248 sfx_skldth,
249 sfx_brsdth,
250 sfx_cybdth,
251 sfx_spidth,
252 sfx_bspdth,
253 sfx_vildth,
254 sfx_kntdth,
255 sfx_pedth,
256 sfx_skedth,
257 sfx_posact,
258 sfx_bgact,
259 sfx_dmact,
260 sfx_bspact,
261 sfx_bspwlk,
262 sfx_vilact,
263 sfx_noway,
264 sfx_barexp,
265 sfx_punch,
266 sfx_hoof,
267 sfx_metal,
268 sfx_chgun,
269 sfx_tink,
270 sfx_bdopn,
271 sfx_bdcls,
272 sfx_itmbk,
273 sfx_flame,
274 sfx_flamst,
275 sfx_getpow,
276 sfx_bospit,
277 sfx_boscub,
278 sfx_bossit,
279 sfx_bospn,
280 sfx_bosdth,
281 sfx_manatk,
282 sfx_mandth,
283 sfx_sssit,
284 sfx_ssdth,
285 sfx_keenpn,
286 sfx_keendt,
287 sfx_skeact,
288 sfx_skesit,
289 sfx_skeatk,
290 sfx_radio,
292 #ifdef DOGS
293 /* killough 11/98: dog sounds */
294 sfx_dgsit,
295 sfx_dgatk,
296 sfx_dgact,
297 sfx_dgdth,
298 sfx_dgpain,
299 #endif
301 NUMSFX
302 } sfxenum_t;
304 #endif