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