Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

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