sounds.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. /*
  2. ===========================================================================
  3. Doom 3 BFG Edition GPL Source Code
  4. Copyright (C) 1993-2012 id Software LLC, a ZeniMax Media company.
  5. This file is part of the Doom 3 BFG Edition GPL Source Code ("Doom 3 BFG Edition Source Code").
  6. Doom 3 BFG Edition Source Code is free software: you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation, either version 3 of the License, or
  9. (at your option) any later version.
  10. Doom 3 BFG Edition Source Code is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with Doom 3 BFG Edition Source Code. If not, see <http://www.gnu.org/licenses/>.
  16. In addition, the Doom 3 BFG Edition Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 BFG Edition Source Code. If not, please request a copy in writing from id Software at the address below.
  17. If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
  18. ===========================================================================
  19. */
  20. #ifndef __SOUNDS__
  21. #define __SOUNDS__
  22. //
  23. // SoundFX struct.
  24. //
  25. typedef struct sfxinfo_struct sfxinfo_t;
  26. struct sfxinfo_struct
  27. {
  28. // up to 6-character name
  29. char* name;
  30. // Sfx singularity (only one at a time)
  31. int singularity;
  32. // Sfx priority
  33. int priority;
  34. // referenced sound if a link
  35. sfxinfo_t* link;
  36. // pitch if a link
  37. int pitch;
  38. // volume if a link
  39. int volume;
  40. // sound data
  41. void* data;
  42. // this is checked every second to see if sound
  43. // can be thrown out (if 0, then decrement, if -1,
  44. // then throw out, if > 0, then it is in use)
  45. int usefulness;
  46. // lump number of sfx
  47. int lumpnum;
  48. };
  49. //
  50. // MusicInfo struct.
  51. //
  52. typedef struct
  53. {
  54. // up to 6-character name
  55. const char* name;
  56. // lump number of music
  57. int lumpnum;
  58. // music data
  59. void* data;
  60. // music handle once registered
  61. int handle;
  62. } musicinfo_t;
  63. // the complete set of sound effects
  64. extern sfxinfo_t S_sfx[];
  65. // the complete set of music
  66. extern musicinfo_t S_music[];
  67. //
  68. // Identifiers for all music in game.
  69. //
  70. typedef enum
  71. {
  72. mus_None,
  73. mus_e1m1,
  74. mus_e1m2,
  75. mus_e1m3,
  76. mus_e1m4,
  77. mus_e1m5,
  78. mus_e1m6,
  79. mus_e1m7,
  80. mus_e1m8,
  81. mus_e1m9,
  82. mus_e2m1,
  83. mus_e2m2,
  84. mus_e2m3,
  85. mus_e2m4,
  86. mus_e2m5,
  87. mus_e2m6,
  88. mus_e2m7,
  89. mus_e2m8,
  90. mus_e2m9,
  91. mus_e3m1,
  92. mus_e3m2,
  93. mus_e3m3,
  94. mus_e3m4,
  95. mus_e3m5,
  96. mus_e3m6,
  97. mus_e3m7,
  98. mus_e3m8,
  99. mus_e3m9,
  100. mus_inter,
  101. mus_intro,
  102. mus_bunny,
  103. mus_victor,
  104. mus_introa,
  105. mus_runnin,
  106. mus_stalks,
  107. mus_countd,
  108. mus_betwee,
  109. mus_doom,
  110. mus_the_da,
  111. mus_shawn,
  112. mus_ddtblu,
  113. mus_in_cit,
  114. mus_dead,
  115. mus_stlks2,
  116. mus_theda2,
  117. mus_doom2,
  118. mus_ddtbl2,
  119. mus_runni2,
  120. mus_dead2,
  121. mus_stlks3,
  122. mus_romero,
  123. mus_shawn2,
  124. mus_messag,
  125. mus_count2,
  126. mus_ddtbl3,
  127. mus_ampie,
  128. mus_theda3,
  129. mus_adrian,
  130. mus_messg2,
  131. mus_romer2,
  132. mus_tense,
  133. mus_shawn3,
  134. mus_openin,
  135. mus_evil,
  136. mus_ultima,
  137. mus_read_m,
  138. mus_dm2ttl,
  139. mus_dm2int,
  140. NUMMUSIC
  141. } musicenum_t;
  142. //
  143. // Identifiers for all sfx in game.
  144. //
  145. typedef enum
  146. {
  147. sfx_None,
  148. sfx_pistol,
  149. sfx_shotgn,
  150. sfx_sgcock,
  151. sfx_dshtgn,
  152. sfx_dbopn,
  153. sfx_dbcls,
  154. sfx_dbload,
  155. sfx_plasma,
  156. sfx_bfg,
  157. sfx_sawup,
  158. sfx_sawidl,
  159. sfx_sawful,
  160. sfx_sawhit,
  161. sfx_rlaunc,
  162. sfx_rxplod,
  163. sfx_firsht,
  164. sfx_firxpl,
  165. sfx_pstart,
  166. sfx_pstop,
  167. sfx_doropn,
  168. sfx_dorcls,
  169. sfx_stnmov,
  170. sfx_swtchn,
  171. sfx_swtchx,
  172. sfx_plpain,
  173. sfx_dmpain,
  174. sfx_popain,
  175. sfx_vipain,
  176. sfx_mnpain,
  177. sfx_pepain,
  178. sfx_slop,
  179. sfx_itemup,
  180. sfx_wpnup,
  181. sfx_oof,
  182. sfx_telept,
  183. sfx_posit1,
  184. sfx_posit2,
  185. sfx_posit3,
  186. sfx_bgsit1,
  187. sfx_bgsit2,
  188. sfx_sgtsit,
  189. sfx_cacsit,
  190. sfx_brssit,
  191. sfx_cybsit,
  192. sfx_spisit,
  193. sfx_bspsit,
  194. sfx_kntsit,
  195. sfx_vilsit,
  196. sfx_mansit,
  197. sfx_pesit,
  198. sfx_sklatk,
  199. sfx_sgtatk,
  200. sfx_skepch,
  201. sfx_vilatk,
  202. sfx_claw,
  203. sfx_skeswg,
  204. sfx_pldeth,
  205. sfx_pdiehi,
  206. sfx_podth1,
  207. sfx_podth2,
  208. sfx_podth3,
  209. sfx_bgdth1,
  210. sfx_bgdth2,
  211. sfx_sgtdth,
  212. sfx_cacdth,
  213. sfx_skldth,
  214. sfx_brsdth,
  215. sfx_cybdth,
  216. sfx_spidth,
  217. sfx_bspdth,
  218. sfx_vildth,
  219. sfx_kntdth,
  220. sfx_pedth,
  221. sfx_skedth,
  222. sfx_posact,
  223. sfx_bgact,
  224. sfx_dmact,
  225. sfx_bspact,
  226. sfx_bspwlk,
  227. sfx_vilact,
  228. sfx_noway,
  229. sfx_barexp,
  230. sfx_punch,
  231. sfx_hoof,
  232. sfx_metal,
  233. sfx_chgun,
  234. sfx_tink,
  235. sfx_bdopn,
  236. sfx_bdcls,
  237. sfx_itmbk,
  238. sfx_flame,
  239. sfx_flamst,
  240. sfx_getpow,
  241. sfx_bospit,
  242. sfx_boscub,
  243. sfx_bossit,
  244. sfx_bospn,
  245. sfx_bosdth,
  246. sfx_manatk,
  247. sfx_mandth,
  248. sfx_sssit,
  249. sfx_ssdth,
  250. sfx_keenpn,
  251. sfx_keendt,
  252. sfx_skeact,
  253. sfx_skesit,
  254. sfx_skeatk,
  255. sfx_radio,
  256. NUMSFX
  257. } sfxenum_t;
  258. #endif