DOOM-3-BFG

DOOM 3 BFG Edition
Log | Files | Refs

sounds.h (5570B)


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