Prepare new maemo release
[maemo-rb.git] / apps / plugins / doom / sounds.h
bloba5f6fc53ee6c42ebd59d55e83fc5203cf2b632e4
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 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
176 typedef unsigned musicenum_t;
179 // Identifiers for all sfx in game.
182 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,
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
302 NUMSFX
304 typedef unsigned sfxenum_t;
306 #endif