SOUNDS.H 3.3 KB

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