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