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