mirror of
https://github.com/id-Software/DOOM-3-BFG.git
synced 2024-12-02 08:51:57 +00:00
299 lines
5.4 KiB
C
299 lines
5.4 KiB
C
/*
|
|
===========================================================================
|
|
|
|
Doom 3 BFG Edition GPL Source Code
|
|
Copyright (C) 1993-2012 id Software LLC, a ZeniMax Media company.
|
|
|
|
This file is part of the Doom 3 BFG Edition GPL Source Code ("Doom 3 BFG Edition Source Code").
|
|
|
|
Doom 3 BFG Edition Source Code is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
Doom 3 BFG Edition Source Code is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with Doom 3 BFG Edition Source Code. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
===========================================================================
|
|
*/
|
|
|
|
#ifndef __SOUNDS__
|
|
#define __SOUNDS__
|
|
|
|
|
|
//
|
|
// SoundFX struct.
|
|
//
|
|
typedef struct sfxinfo_struct sfxinfo_t;
|
|
|
|
struct sfxinfo_struct
|
|
{
|
|
// up to 6-character name
|
|
const char* name;
|
|
|
|
// Sfx singularity (only one at a time)
|
|
int singularity;
|
|
|
|
// Sfx priority
|
|
int priority;
|
|
|
|
// referenced sound if a link
|
|
sfxinfo_t* link;
|
|
|
|
// pitch if a link
|
|
int pitch;
|
|
|
|
// volume if a link
|
|
int volume;
|
|
|
|
// sound data
|
|
void* data;
|
|
|
|
// this is checked every second to see if sound
|
|
// can be thrown out (if 0, then decrement, if -1,
|
|
// then throw out, if > 0, then it is in use)
|
|
int usefulness;
|
|
|
|
// lump number of sfx
|
|
int lumpnum;
|
|
};
|
|
|
|
|
|
|
|
|
|
//
|
|
// MusicInfo struct.
|
|
//
|
|
typedef struct
|
|
{
|
|
// up to 6-character name
|
|
const char* name;
|
|
|
|
// lump number of music
|
|
int lumpnum;
|
|
|
|
// music data
|
|
void* data;
|
|
|
|
// music handle once registered
|
|
int handle;
|
|
|
|
} musicinfo_t;
|
|
|
|
|
|
|
|
|
|
// the complete set of sound effects
|
|
extern sfxinfo_t S_sfx[];
|
|
|
|
// the complete set of music
|
|
extern musicinfo_t S_music[];
|
|
|
|
//
|
|
// Identifiers for all music in game.
|
|
//
|
|
|
|
typedef enum
|
|
{
|
|
mus_None,
|
|
mus_e1m1,
|
|
mus_e1m2,
|
|
mus_e1m3,
|
|
mus_e1m4,
|
|
mus_e1m5,
|
|
mus_e1m6,
|
|
mus_e1m7,
|
|
mus_e1m8,
|
|
mus_e1m9,
|
|
mus_e2m1,
|
|
mus_e2m2,
|
|
mus_e2m3,
|
|
mus_e2m4,
|
|
mus_e2m5,
|
|
mus_e2m6,
|
|
mus_e2m7,
|
|
mus_e2m8,
|
|
mus_e2m9,
|
|
mus_e3m1,
|
|
mus_e3m2,
|
|
mus_e3m3,
|
|
mus_e3m4,
|
|
mus_e3m5,
|
|
mus_e3m6,
|
|
mus_e3m7,
|
|
mus_e3m8,
|
|
mus_e3m9,
|
|
mus_inter,
|
|
mus_intro,
|
|
mus_bunny,
|
|
mus_victor,
|
|
mus_introa,
|
|
mus_runnin,
|
|
mus_stalks,
|
|
mus_countd,
|
|
mus_betwee,
|
|
mus_doom,
|
|
mus_the_da,
|
|
mus_shawn,
|
|
mus_ddtblu,
|
|
mus_in_cit,
|
|
mus_dead,
|
|
mus_stlks2,
|
|
mus_theda2,
|
|
mus_doom2,
|
|
mus_ddtbl2,
|
|
mus_runni2,
|
|
mus_dead2,
|
|
mus_stlks3,
|
|
mus_romero,
|
|
mus_shawn2,
|
|
mus_messag,
|
|
mus_count2,
|
|
mus_ddtbl3,
|
|
mus_ampie,
|
|
mus_theda3,
|
|
mus_adrian,
|
|
mus_messg2,
|
|
mus_romer2,
|
|
mus_tense,
|
|
mus_shawn3,
|
|
mus_openin,
|
|
mus_evil,
|
|
mus_ultima,
|
|
mus_read_m,
|
|
mus_dm2ttl,
|
|
mus_dm2int,
|
|
NUMMUSIC
|
|
} musicenum_t;
|
|
|
|
|
|
//
|
|
// Identifiers for all sfx in game.
|
|
//
|
|
|
|
typedef enum
|
|
{
|
|
sfx_None,
|
|
sfx_pistol,
|
|
sfx_shotgn,
|
|
sfx_sgcock,
|
|
sfx_dshtgn,
|
|
sfx_dbopn,
|
|
sfx_dbcls,
|
|
sfx_dbload,
|
|
sfx_plasma,
|
|
sfx_bfg,
|
|
sfx_sawup,
|
|
sfx_sawidl,
|
|
sfx_sawful,
|
|
sfx_sawhit,
|
|
sfx_rlaunc,
|
|
sfx_rxplod,
|
|
sfx_firsht,
|
|
sfx_firxpl,
|
|
sfx_pstart,
|
|
sfx_pstop,
|
|
sfx_doropn,
|
|
sfx_dorcls,
|
|
sfx_stnmov,
|
|
sfx_swtchn,
|
|
sfx_swtchx,
|
|
sfx_plpain,
|
|
sfx_dmpain,
|
|
sfx_popain,
|
|
sfx_vipain,
|
|
sfx_mnpain,
|
|
sfx_pepain,
|
|
sfx_slop,
|
|
sfx_itemup,
|
|
sfx_wpnup,
|
|
sfx_oof,
|
|
sfx_telept,
|
|
sfx_posit1,
|
|
sfx_posit2,
|
|
sfx_posit3,
|
|
sfx_bgsit1,
|
|
sfx_bgsit2,
|
|
sfx_sgtsit,
|
|
sfx_cacsit,
|
|
sfx_brssit,
|
|
sfx_cybsit,
|
|
sfx_spisit,
|
|
sfx_bspsit,
|
|
sfx_kntsit,
|
|
sfx_vilsit,
|
|
sfx_mansit,
|
|
sfx_pesit,
|
|
sfx_sklatk,
|
|
sfx_sgtatk,
|
|
sfx_skepch,
|
|
sfx_vilatk,
|
|
sfx_claw,
|
|
sfx_skeswg,
|
|
sfx_pldeth,
|
|
sfx_pdiehi,
|
|
sfx_podth1,
|
|
sfx_podth2,
|
|
sfx_podth3,
|
|
sfx_bgdth1,
|
|
sfx_bgdth2,
|
|
sfx_sgtdth,
|
|
sfx_cacdth,
|
|
sfx_skldth,
|
|
sfx_brsdth,
|
|
sfx_cybdth,
|
|
sfx_spidth,
|
|
sfx_bspdth,
|
|
sfx_vildth,
|
|
sfx_kntdth,
|
|
sfx_pedth,
|
|
sfx_skedth,
|
|
sfx_posact,
|
|
sfx_bgact,
|
|
sfx_dmact,
|
|
sfx_bspact,
|
|
sfx_bspwlk,
|
|
sfx_vilact,
|
|
sfx_noway,
|
|
sfx_barexp,
|
|
sfx_punch,
|
|
sfx_hoof,
|
|
sfx_metal,
|
|
sfx_chgun,
|
|
sfx_tink,
|
|
sfx_bdopn,
|
|
sfx_bdcls,
|
|
sfx_itmbk,
|
|
sfx_flame,
|
|
sfx_flamst,
|
|
sfx_getpow,
|
|
sfx_bospit,
|
|
sfx_boscub,
|
|
sfx_bossit,
|
|
sfx_bospn,
|
|
sfx_bosdth,
|
|
sfx_manatk,
|
|
sfx_mandth,
|
|
sfx_sssit,
|
|
sfx_ssdth,
|
|
sfx_keenpn,
|
|
sfx_keendt,
|
|
sfx_skeact,
|
|
sfx_skesit,
|
|
sfx_skeatk,
|
|
sfx_radio,
|
|
NUMSFX
|
|
} sfxenum_t;
|
|
|
|
#endif
|
|
|
|
|