sounds.h
上传用户:xuyinpeng
上传日期:2021-05-12
资源大小:455k
文件大小:5k
源码类别:

射击游戏

开发平台:

Visual C++

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