2006-03-28 15:44:01 +00:00
|
|
|
/* Emacs style mode select -*- C++ -*-
|
|
|
|
*-----------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* PrBoom a Doom port merged with LxDoom and LSDLDoom
|
|
|
|
* based on BOOM, a modified and improved DOOM engine
|
|
|
|
* Copyright (C) 1999 by
|
|
|
|
* id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
|
|
|
|
* Copyright (C) 1999-2000 by
|
|
|
|
* Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
|
|
|
|
*
|
|
|
|
* This program 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 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program 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 this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
|
|
* 02111-1307, USA.
|
|
|
|
*
|
|
|
|
* DESCRIPTION:
|
|
|
|
* Created by the sound utility written by Dave Taylor.
|
|
|
|
* Kept as a sample, DOOM2 sounds. Frozen.
|
|
|
|
*
|
|
|
|
*-----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#ifndef __SOUNDS__
|
|
|
|
#define __SOUNDS__
|
2006-04-22 03:48:15 +00:00
|
|
|
#include "rockmacros.h"
|
2006-03-28 15:44:01 +00:00
|
|
|
|
|
|
|
//
|
|
|
|
// SoundFX struct.
|
|
|
|
//
|
|
|
|
|
|
|
|
struct sfxinfo_struct;
|
|
|
|
|
|
|
|
typedef struct sfxinfo_struct sfxinfo_t;
|
|
|
|
|
|
|
|
struct sfxinfo_struct {
|
|
|
|
|
|
|
|
// up to 6-character name
|
|
|
|
const char *name; // CPhipps - const
|
|
|
|
|
|
|
|
// 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; // CPhipps - const
|
|
|
|
|
|
|
|
// lump number of music
|
|
|
|
int lumpnum;
|
|
|
|
|
|
|
|
/* music data - cphipps 4/11 made const void* */
|
|
|
|
const 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,
|
|
|
|
|
|
|
|
#ifdef DOGS
|
|
|
|
/* killough 11/98: dog sounds */
|
|
|
|
sfx_dgsit,
|
|
|
|
sfx_dgatk,
|
|
|
|
sfx_dgact,
|
|
|
|
sfx_dgdth,
|
|
|
|
sfx_dgpain,
|
|
|
|
#endif
|
|
|
|
|
|
|
|
NUMSFX
|
|
|
|
} sfxenum_t;
|
|
|
|
|
|
|
|
#endif
|