home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2000 January / LCD_01_2000.iso / games / doom / pmdoom / include / sounds.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-12-17  |  5.4 KB  |  301 lines

  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.  
  23. #ifndef __SOUNDS__
  24. #define __SOUNDS__
  25.  
  26.  
  27. /*  */
  28. /*  SoundFX struct. */
  29. /*  */
  30. typedef struct sfxinfo_struct    sfxinfo_t;
  31.  
  32. struct sfxinfo_struct
  33. {
  34.     /*  up to 6-character name */
  35.     char*    name;
  36.  
  37.     /*  Sfx singularity (only one at a time) */
  38.     int        singularity;
  39.  
  40.     /*  Sfx priority */
  41.     int        priority;
  42.  
  43.     /*  referenced sound if a link */
  44.     sfxinfo_t*    link;
  45.  
  46.     /*  pitch if a link */
  47.     int        pitch;
  48.  
  49.     /*  volume if a link */
  50.     int        volume;
  51.  
  52.     /*  sound data */
  53.     void*    data;
  54.  
  55.     /*  this is checked every second to see if sound */
  56.     /*  can be thrown out (if 0, then decrement, if -1, */
  57.     /*  then throw out, if > 0, then it is in use) */
  58.     int        usefulness;
  59.  
  60.     /*  lump number of sfx */
  61.     int        lumpnum;        
  62.  
  63.     /* Number of samples in use */
  64.     int nbusing;
  65. };
  66.  
  67.  
  68.  
  69.  
  70. /*  */
  71. /*  MusicInfo struct. */
  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.  
  90.  
  91.  
  92. /*  the complete set of sound effects */
  93. extern sfxinfo_t    S_sfx[];
  94.  
  95. /*  the complete set of music */
  96. extern musicinfo_t    S_music[];
  97.  
  98. /*  */
  99. /*  Identifiers for all music in game. */
  100. /*  */
  101.  
  102. typedef enum
  103. {
  104.     mus_None,
  105.     mus_e1m1,
  106.     mus_e1m2,
  107.     mus_e1m3,
  108.     mus_e1m4,
  109.     mus_e1m5,
  110.     mus_e1m6,
  111.     mus_e1m7,
  112.     mus_e1m8,
  113.     mus_e1m9,
  114.     mus_e2m1,
  115.     mus_e2m2,
  116.     mus_e2m3,
  117.     mus_e2m4,
  118.     mus_e2m5,
  119.     mus_e2m6,
  120.     mus_e2m7,
  121.     mus_e2m8,
  122.     mus_e2m9,
  123.     mus_e3m1,
  124.     mus_e3m2,
  125.     mus_e3m3,
  126.     mus_e3m4,
  127.     mus_e3m5,
  128.     mus_e3m6,
  129.     mus_e3m7,
  130.     mus_e3m8,
  131.     mus_e3m9,
  132.     mus_inter,
  133.     mus_intro,
  134.     mus_bunny,
  135.     mus_victor,
  136.     mus_introa,
  137.     mus_runnin,
  138.     mus_stalks,
  139.     mus_countd,
  140.     mus_betwee,
  141.     mus_doom,
  142.     mus_the_da,
  143.     mus_shawn,
  144.     mus_ddtblu,
  145.     mus_in_cit,
  146.     mus_dead,
  147.     mus_stlks2,
  148.     mus_theda2,
  149.     mus_doom2,
  150.     mus_ddtbl2,
  151.     mus_runni2,
  152.     mus_dead2,
  153.     mus_stlks3,
  154.     mus_romero,
  155.     mus_shawn2,
  156.     mus_messag,
  157.     mus_count2,
  158.     mus_ddtbl3,
  159.     mus_ampie,
  160.     mus_theda3,
  161.     mus_adrian,
  162.     mus_messg2,
  163.     mus_romer2,
  164.     mus_tense,
  165.     mus_shawn3,
  166.     mus_openin,
  167.     mus_evil,
  168.     mus_ultima,
  169.     mus_read_m,
  170.     mus_dm2ttl,
  171.     mus_dm2int,
  172.     NUMMUSIC
  173. } musicenum_t;
  174.  
  175.  
  176. /*  */
  177. /*  Identifiers for all sfx in game. */
  178. /*  */
  179.  
  180. typedef enum
  181. {
  182.     sfx_None,
  183.     sfx_pistol,
  184.     sfx_shotgn,
  185.     sfx_sgcock,
  186.     sfx_dshtgn,
  187.     sfx_dbopn,
  188.     sfx_dbcls,
  189.     sfx_dbload,
  190.     sfx_plasma,
  191.     sfx_bfg,
  192.     sfx_sawup,
  193.     sfx_sawidl,
  194.     sfx_sawful,
  195.     sfx_sawhit,
  196.     sfx_rlaunc,
  197.     sfx_rxplod,
  198.     sfx_firsht,
  199.     sfx_firxpl,
  200.     sfx_pstart,
  201.     sfx_pstop,
  202.     sfx_doropn,
  203.     sfx_dorcls,
  204.     sfx_stnmov,
  205.     sfx_swtchn,
  206.     sfx_swtchx,
  207.     sfx_plpain,
  208.     sfx_dmpain,
  209.     sfx_popain,
  210.     sfx_vipain,
  211.     sfx_mnpain,
  212.     sfx_pepain,
  213.     sfx_slop,
  214.     sfx_itemup,
  215.     sfx_wpnup,
  216.     sfx_oof,
  217.     sfx_telept,
  218.     sfx_posit1,
  219.     sfx_posit2,
  220.     sfx_posit3,
  221.     sfx_bgsit1,
  222.     sfx_bgsit2,
  223.     sfx_sgtsit,
  224.     sfx_cacsit,
  225.     sfx_brssit,
  226.     sfx_cybsit,
  227.     sfx_spisit,
  228.     sfx_bspsit,
  229.     sfx_kntsit,
  230.     sfx_vilsit,
  231.     sfx_mansit,
  232.     sfx_pesit,
  233.     sfx_sklatk,
  234.     sfx_sgtatk,
  235.     sfx_skepch,
  236.     sfx_vilatk,
  237.     sfx_claw,
  238.     sfx_skeswg,
  239.     sfx_pldeth,
  240.     sfx_pdiehi,
  241.     sfx_podth1,
  242.     sfx_podth2,
  243.     sfx_podth3,
  244.     sfx_bgdth1,
  245.     sfx_bgdth2,
  246.     sfx_sgtdth,
  247.     sfx_cacdth,
  248.     sfx_skldth,
  249.     sfx_brsdth,
  250.     sfx_cybdth,
  251.     sfx_spidth,
  252.     sfx_bspdth,
  253.     sfx_vildth,
  254.     sfx_kntdth,
  255.     sfx_pedth,
  256.     sfx_skedth,
  257.     sfx_posact,
  258.     sfx_bgact,
  259.     sfx_dmact,
  260.     sfx_bspact,
  261.     sfx_bspwlk,
  262.     sfx_vilact,
  263.     sfx_noway,
  264.     sfx_barexp,
  265.     sfx_punch,
  266.     sfx_hoof,
  267.     sfx_metal,
  268.     sfx_chgun,
  269.     sfx_tink,
  270.     sfx_bdopn,
  271.     sfx_bdcls,
  272.     sfx_itmbk,
  273.     sfx_flame,
  274.     sfx_flamst,
  275.     sfx_getpow,
  276.     sfx_bospit,
  277.     sfx_boscub,
  278.     sfx_bossit,
  279.     sfx_bospn,
  280.     sfx_bosdth,
  281.     sfx_manatk,
  282.     sfx_mandth,
  283.     sfx_sssit,
  284.     sfx_ssdth,
  285.     sfx_keenpn,
  286.     sfx_keendt,
  287.     sfx_skeact,
  288.     sfx_skesit,
  289.     sfx_skeatk,
  290.     sfx_radio,
  291.     NUMSFX
  292. } sfxenum_t;
  293.  
  294. #endif
  295. /* ----------------------------------------------------------------------------- */
  296. /*  */
  297. /*  $Log:$ */
  298. /*  */
  299. /* ----------------------------------------------------------------------------- */
  300.  
  301.