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 42 struct sfxinfo_struct; 43 44 typedef struct sfxinfo_struct sfxinfo_t; 45 46 struct 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 82 typedef 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 97 extern sfxinfo_t S_sfx[]; 98 99 // the complete set of music 100 extern musicinfo_t S_music[]; 101 102 // 103 // Identifiers for all music in game. 104 // 105 106 typedef 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 182 typedef 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 306