If you don't, the reaction was "WHAT?? Why is he here? This is GREAT but, what??" And while the reaction is on the positive end of things, it's stll clearly not advisable for our defining Big Reveal of the already huge update. To this end: Here is a mini cutscene! https://cdn.discordapp.com/attachments/428262628893261828/626207624043429898/srb20005.gif * He's digging through Eggman's trash. * Clearly doesn't expect to see you! * Ready for a fight all the same. * You can attack him during the mini cutscene if you're impatient. * Skipped if you give him MTF_AMBUSH. * Requires new assets (including map) to test, but I'm not ready to make a MR yet because I have other thoughts first. Also, since I was poking around in p_enemy.c, I fixed A_Boss1Laser's issues (not working with direct 2.1 port states and having the weird secondary attack).
881 lines
12 KiB
C
881 lines
12 KiB
C
// SONIC ROBO BLAST 2
|
|
//-----------------------------------------------------------------------------
|
|
// Copyright (C) 1993-1996 by id Software, Inc.
|
|
// Copyright (C) 1998-2000 by DooM Legacy Team.
|
|
// Copyright (C) 1999-2018 by Sonic Team Junior.
|
|
//
|
|
// This program is free software distributed under the
|
|
// terms of the GNU General Public License, version 2.
|
|
// See the 'LICENSE' file for more details.
|
|
//-----------------------------------------------------------------------------
|
|
/// \file sounds.h
|
|
/// \brief Sound and music info
|
|
|
|
#ifndef __SOUNDS__
|
|
#define __SOUNDS__
|
|
|
|
// Customisable sounds for Skins
|
|
typedef enum
|
|
{
|
|
SKSSPIN,
|
|
SKSPUTPUT,
|
|
SKSPUDPUD,
|
|
SKSPLPAN1, // Ouchies
|
|
SKSPLPAN2,
|
|
SKSPLPAN3,
|
|
SKSPLPAN4,
|
|
SKSPLDET1, // Deaths
|
|
SKSPLDET2,
|
|
SKSPLDET3,
|
|
SKSPLDET4,
|
|
SKSPLVCT1, // Victories
|
|
SKSPLVCT2,
|
|
SKSPLVCT3,
|
|
SKSPLVCT4,
|
|
SKSTHOK,
|
|
SKSSPNDSH,
|
|
SKSZOOM,
|
|
SKSSKID,
|
|
SKSGASP,
|
|
SKSJUMP,
|
|
NUMSKINSOUNDS
|
|
} skinsound_t;
|
|
|
|
// free sfx for S_AddSoundFx()
|
|
#define NUMSFXFREESLOTS 1600 // Matches SOC Editor.
|
|
#define NUMSKINSFXSLOTS (MAXSKINS*NUMSKINSOUNDS)
|
|
|
|
//
|
|
// 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)
|
|
boolean singularity;
|
|
|
|
// Sfx priority
|
|
INT32 priority;
|
|
|
|
// pitch if a link
|
|
INT32 pitch;
|
|
|
|
// volume if a link
|
|
INT32 volume;
|
|
|
|
// sound data
|
|
void *data;
|
|
|
|
// length of sound data
|
|
size_t length;
|
|
|
|
// sound that can be remapped for a skin, indexes skins[].skinsounds
|
|
// 0 up to (NUMSKINSOUNDS-1), -1 = not skin specifc
|
|
INT32 skinsound;
|
|
|
|
// 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)
|
|
INT32 usefulness;
|
|
|
|
// lump number of sfx
|
|
lumpnum_t lumpnum;
|
|
|
|
// closed caption info/wiki table bait
|
|
char caption[32];
|
|
};
|
|
|
|
// the complete set of sound effects
|
|
extern sfxinfo_t S_sfx[];
|
|
|
|
//
|
|
// Identifiers for all sfx in game.
|
|
//
|
|
|
|
// List of sounds (don't modify this comment!)
|
|
typedef enum
|
|
{
|
|
sfx_None,
|
|
|
|
// Skin Sounds
|
|
sfx_altdi1,
|
|
sfx_altdi2,
|
|
sfx_altdi3,
|
|
sfx_altdi4,
|
|
sfx_altow1,
|
|
sfx_altow2,
|
|
sfx_altow3,
|
|
sfx_altow4,
|
|
sfx_victr1,
|
|
sfx_victr2,
|
|
sfx_victr3,
|
|
sfx_victr4,
|
|
sfx_gasp,
|
|
sfx_jump,
|
|
sfx_pudpud,
|
|
sfx_putput,
|
|
sfx_spin,
|
|
sfx_spndsh,
|
|
sfx_thok,
|
|
sfx_zoom,
|
|
sfx_skid,
|
|
|
|
// Ambience/background objects/etc
|
|
sfx_ambint,
|
|
|
|
sfx_alarm,
|
|
sfx_buzz1,
|
|
sfx_buzz2,
|
|
sfx_buzz3,
|
|
sfx_buzz4,
|
|
sfx_crumbl,
|
|
sfx_fire,
|
|
sfx_grind,
|
|
sfx_laser,
|
|
sfx_mswing,
|
|
sfx_pstart,
|
|
sfx_pstop,
|
|
sfx_steam1,
|
|
sfx_steam2,
|
|
sfx_wbreak,
|
|
sfx_ambmac,
|
|
sfx_spsmsh,
|
|
|
|
sfx_rainin,
|
|
sfx_litng1,
|
|
sfx_litng2,
|
|
sfx_litng3,
|
|
sfx_litng4,
|
|
sfx_athun1,
|
|
sfx_athun2,
|
|
|
|
sfx_amwtr1,
|
|
sfx_amwtr2,
|
|
sfx_amwtr3,
|
|
sfx_amwtr4,
|
|
sfx_amwtr5,
|
|
sfx_amwtr6,
|
|
sfx_amwtr7,
|
|
sfx_amwtr8,
|
|
sfx_bubbl1,
|
|
sfx_bubbl2,
|
|
sfx_bubbl3,
|
|
sfx_bubbl4,
|
|
sfx_bubbl5,
|
|
sfx_floush,
|
|
sfx_splash,
|
|
sfx_splish,
|
|
sfx_wdrip1,
|
|
sfx_wdrip2,
|
|
sfx_wdrip3,
|
|
sfx_wdrip4,
|
|
sfx_wdrip5,
|
|
sfx_wdrip6,
|
|
sfx_wdrip7,
|
|
sfx_wdrip8,
|
|
sfx_wslap,
|
|
|
|
sfx_doora1,
|
|
sfx_doorb1,
|
|
sfx_doorc1,
|
|
sfx_doorc2,
|
|
sfx_doord1,
|
|
sfx_doord2,
|
|
sfx_eleva1,
|
|
sfx_eleva2,
|
|
sfx_eleva3,
|
|
sfx_elevb1,
|
|
sfx_elevb2,
|
|
sfx_elevb3,
|
|
|
|
sfx_ambin2,
|
|
sfx_lavbub,
|
|
sfx_rocks1,
|
|
sfx_rocks2,
|
|
sfx_rocks3,
|
|
sfx_rocks4,
|
|
sfx_rumbam,
|
|
sfx_rumble,
|
|
|
|
// Game objects, etc
|
|
sfx_appear,
|
|
sfx_bkpoof,
|
|
sfx_bnce1,
|
|
sfx_bnce2,
|
|
sfx_cannon,
|
|
sfx_cgot,
|
|
sfx_cybdth,
|
|
sfx_deton,
|
|
sfx_ding, // old sfx_appear sound
|
|
sfx_dmpain,
|
|
sfx_drown,
|
|
sfx_fizzle,
|
|
sfx_gbeep,
|
|
sfx_wepfir,
|
|
sfx_ghit,
|
|
sfx_gloop,
|
|
sfx_gspray,
|
|
sfx_gravch,
|
|
sfx_itemup,
|
|
sfx_jet,
|
|
sfx_jshard,
|
|
sfx_lose,
|
|
sfx_lvpass,
|
|
sfx_mindig,
|
|
sfx_mixup,
|
|
sfx_monton,
|
|
sfx_pogo,
|
|
sfx_pop,
|
|
sfx_rail1,
|
|
sfx_rail2,
|
|
sfx_rlaunc,
|
|
sfx_shield,
|
|
sfx_wirlsg,
|
|
sfx_forcsg,
|
|
sfx_elemsg,
|
|
sfx_armasg,
|
|
sfx_attrsg,
|
|
sfx_shldls,
|
|
sfx_spdpad,
|
|
sfx_spkdth,
|
|
sfx_spring,
|
|
sfx_statu1,
|
|
sfx_statu2,
|
|
sfx_strpst,
|
|
sfx_supert,
|
|
sfx_telept,
|
|
sfx_tink,
|
|
sfx_token,
|
|
sfx_trfire,
|
|
sfx_trpowr,
|
|
sfx_turhit,
|
|
sfx_wdjump,
|
|
sfx_shrpsp,
|
|
sfx_shrpgo,
|
|
sfx_mswarp,
|
|
sfx_mspogo,
|
|
sfx_boingf,
|
|
sfx_corkp,
|
|
sfx_corkh,
|
|
sfx_alart,
|
|
sfx_bowl,
|
|
sfx_chuchu,
|
|
sfx_bsnipe,
|
|
sfx_sprong,
|
|
|
|
// Menu, interface
|
|
sfx_chchng,
|
|
sfx_dwnind,
|
|
sfx_emfind,
|
|
sfx_flgcap,
|
|
sfx_menu1,
|
|
sfx_oneup,
|
|
sfx_ptally,
|
|
sfx_radio,
|
|
sfx_wepchg,
|
|
sfx_wtrdng,
|
|
sfx_zelda,
|
|
|
|
// NiGHTS
|
|
sfx_ideya,
|
|
sfx_xideya, // Xmas
|
|
sfx_nbmper,
|
|
sfx_nxbump, // Xmas
|
|
sfx_ncchip,
|
|
sfx_ncitem,
|
|
sfx_nxitem, // Xmas
|
|
sfx_ngdone,
|
|
sfx_nxdone, // Xmas
|
|
sfx_drill1,
|
|
sfx_drill2,
|
|
sfx_ncspec,
|
|
sfx_nghurt,
|
|
sfx_ngskid,
|
|
sfx_hoop1,
|
|
sfx_hoop2,
|
|
sfx_hoop3,
|
|
sfx_hidden,
|
|
sfx_prloop,
|
|
sfx_timeup,
|
|
sfx_ngjump,
|
|
sfx_peww,
|
|
|
|
// Halloween
|
|
sfx_lntsit,
|
|
sfx_lntdie,
|
|
sfx_pumpkn,
|
|
sfx_ghosty,
|
|
|
|
// Mario
|
|
sfx_koopfr,
|
|
sfx_mario1,
|
|
sfx_mario2,
|
|
sfx_mario3,
|
|
sfx_mario4,
|
|
sfx_mario5,
|
|
sfx_mario6,
|
|
sfx_mario7,
|
|
sfx_mario8,
|
|
sfx_mario9,
|
|
sfx_marioa,
|
|
sfx_thwomp,
|
|
|
|
// Black Eggman
|
|
sfx_bebomb,
|
|
sfx_bechrg,
|
|
sfx_becrsh,
|
|
sfx_bedeen,
|
|
sfx_bedie1,
|
|
sfx_bedie2,
|
|
sfx_beeyow,
|
|
sfx_befall,
|
|
sfx_befire,
|
|
sfx_beflap,
|
|
sfx_begoop,
|
|
sfx_begrnd,
|
|
sfx_behurt,
|
|
sfx_bejet1,
|
|
sfx_belnch,
|
|
sfx_beoutb,
|
|
sfx_beragh,
|
|
sfx_beshot,
|
|
sfx_bestep,
|
|
sfx_bestp2,
|
|
sfx_bewar1,
|
|
sfx_bewar2,
|
|
sfx_bewar3,
|
|
sfx_bewar4,
|
|
sfx_bexpld,
|
|
sfx_bgxpld,
|
|
|
|
// Cy-Brak-Demon
|
|
sfx_beelec, // Electric barrier ambience
|
|
sfx_brakrl, // Rocket launcher
|
|
sfx_brakrx, // Rocket explodes
|
|
|
|
// S1 sounds
|
|
sfx_s1a0,
|
|
sfx_s1a1,
|
|
sfx_s1a2,
|
|
sfx_s1a3,
|
|
sfx_s1a4,
|
|
sfx_s1a5,
|
|
sfx_s1a6,
|
|
sfx_s1a7,
|
|
sfx_s1a8,
|
|
sfx_s1a9,
|
|
sfx_s1aa,
|
|
sfx_s1ab,
|
|
sfx_s1ac,
|
|
sfx_s1ad,
|
|
sfx_s1ae,
|
|
sfx_s1af,
|
|
sfx_s1b0,
|
|
sfx_s1b1,
|
|
sfx_s1b2,
|
|
sfx_s1b3,
|
|
sfx_s1b4,
|
|
sfx_s1b5,
|
|
sfx_s1b6,
|
|
sfx_s1b7,
|
|
sfx_s1b8,
|
|
sfx_s1b9,
|
|
sfx_s1ba,
|
|
sfx_s1bb,
|
|
sfx_s1bc,
|
|
sfx_s1bd,
|
|
sfx_s1be,
|
|
sfx_s1bf,
|
|
sfx_s1c0,
|
|
sfx_s1c1,
|
|
sfx_s1c2,
|
|
sfx_s1c3,
|
|
sfx_s1c4,
|
|
sfx_s1c5,
|
|
sfx_s1c6,
|
|
sfx_s1c7,
|
|
sfx_s1c8,
|
|
sfx_s1c9,
|
|
sfx_s1ca,
|
|
sfx_s1cb,
|
|
sfx_s1cc,
|
|
sfx_s1cd,
|
|
sfx_s1ce,
|
|
sfx_s1cf,
|
|
|
|
// S2 sounds
|
|
sfx_s220,
|
|
sfx_s221,
|
|
sfx_s222,
|
|
sfx_s223,
|
|
sfx_s224,
|
|
sfx_s225,
|
|
sfx_s226,
|
|
sfx_s227,
|
|
sfx_s228,
|
|
sfx_s229,
|
|
sfx_s22a,
|
|
sfx_s22b,
|
|
sfx_s22c,
|
|
sfx_s22d,
|
|
sfx_s22e,
|
|
sfx_s22f,
|
|
sfx_s230,
|
|
sfx_s231,
|
|
sfx_s232,
|
|
sfx_s233,
|
|
sfx_s234,
|
|
sfx_s235,
|
|
sfx_s236,
|
|
sfx_s237,
|
|
sfx_s238,
|
|
sfx_s239,
|
|
sfx_s23a,
|
|
sfx_s23b,
|
|
sfx_s23c,
|
|
sfx_s23d,
|
|
sfx_s23e,
|
|
sfx_s23f,
|
|
sfx_s240,
|
|
sfx_s241,
|
|
sfx_s242,
|
|
sfx_s243,
|
|
sfx_s244,
|
|
sfx_s245,
|
|
sfx_s246,
|
|
sfx_s247,
|
|
sfx_s248,
|
|
sfx_s249,
|
|
sfx_s24a,
|
|
sfx_s24b,
|
|
sfx_s24c,
|
|
sfx_s24d,
|
|
sfx_s24e,
|
|
sfx_s24f,
|
|
sfx_s250,
|
|
sfx_s251,
|
|
sfx_s252,
|
|
sfx_s253,
|
|
sfx_s254,
|
|
sfx_s255,
|
|
sfx_s256,
|
|
sfx_s257,
|
|
sfx_s258,
|
|
sfx_s259,
|
|
sfx_s25a,
|
|
sfx_s25b,
|
|
sfx_s25c,
|
|
sfx_s25d,
|
|
sfx_s25e,
|
|
sfx_s25f,
|
|
sfx_s260,
|
|
sfx_s261,
|
|
sfx_s262,
|
|
sfx_s263,
|
|
sfx_s264,
|
|
sfx_s265,
|
|
sfx_s266,
|
|
sfx_s267,
|
|
sfx_s268,
|
|
sfx_s269,
|
|
sfx_s26a,
|
|
sfx_s26b,
|
|
sfx_s26c,
|
|
sfx_s26d,
|
|
sfx_s26e,
|
|
sfx_s26f,
|
|
sfx_s270,
|
|
|
|
// S3&K sounds
|
|
sfx_s3k33,
|
|
sfx_s3k34,
|
|
sfx_s3k35,
|
|
sfx_s3k36,
|
|
sfx_s3k37,
|
|
sfx_s3k38,
|
|
sfx_s3k39,
|
|
sfx_s3k3a,
|
|
sfx_s3k3b,
|
|
sfx_s3k3c,
|
|
sfx_s3k3d,
|
|
sfx_s3k3e,
|
|
sfx_s3k3f,
|
|
sfx_s3k40,
|
|
sfx_s3k41,
|
|
sfx_s3k42,
|
|
sfx_s3k43,
|
|
sfx_s3k44,
|
|
sfx_s3k45,
|
|
sfx_s3k46,
|
|
sfx_s3k47,
|
|
sfx_s3k48,
|
|
sfx_s3k49,
|
|
sfx_s3k4a,
|
|
sfx_s3k4b,
|
|
sfx_s3k4c,
|
|
sfx_s3k4d,
|
|
sfx_s3k4e,
|
|
sfx_s3k4f,
|
|
sfx_s3k50,
|
|
sfx_s3k51,
|
|
sfx_s3k52,
|
|
sfx_s3k53,
|
|
sfx_s3k54,
|
|
sfx_s3k55,
|
|
sfx_s3k56,
|
|
sfx_s3k57,
|
|
sfx_s3k58,
|
|
sfx_s3k59,
|
|
sfx_s3k5a,
|
|
sfx_s3k5b,
|
|
sfx_s3k5c,
|
|
sfx_s3k5d,
|
|
sfx_s3k5e,
|
|
sfx_s3k5f,
|
|
sfx_s3k60,
|
|
sfx_s3k61,
|
|
sfx_s3k62,
|
|
sfx_s3k63,
|
|
sfx_s3k64,
|
|
sfx_s3k65,
|
|
sfx_s3k66,
|
|
sfx_s3k67,
|
|
sfx_s3k68,
|
|
sfx_s3k69,
|
|
sfx_s3k6a,
|
|
sfx_s3k6b,
|
|
sfx_s3k6c,
|
|
sfx_s3k6d,
|
|
sfx_s3k6e,
|
|
sfx_s3k6f,
|
|
sfx_s3k70,
|
|
sfx_s3k71,
|
|
sfx_s3k72,
|
|
sfx_s3k73,
|
|
sfx_s3k74,
|
|
sfx_s3k75,
|
|
sfx_s3k76,
|
|
sfx_s3k77,
|
|
sfx_s3k78,
|
|
sfx_s3k79,
|
|
sfx_s3k7a,
|
|
sfx_s3k7b,
|
|
sfx_s3k7c,
|
|
sfx_s3k7d,
|
|
sfx_s3k7e,
|
|
sfx_s3k7f,
|
|
sfx_s3k80,
|
|
sfx_s3k81,
|
|
sfx_s3k82,
|
|
sfx_s3k83,
|
|
sfx_s3k84,
|
|
sfx_s3k85,
|
|
sfx_s3k86,
|
|
sfx_s3k87,
|
|
sfx_s3k88,
|
|
sfx_s3k89,
|
|
sfx_s3k8a,
|
|
sfx_s3k8b,
|
|
sfx_s3k8c,
|
|
sfx_s3k8d,
|
|
sfx_s3k8e,
|
|
sfx_s3k8f,
|
|
sfx_s3k90,
|
|
sfx_s3k91,
|
|
sfx_s3k92,
|
|
sfx_s3k93,
|
|
sfx_s3k94,
|
|
sfx_s3k95,
|
|
sfx_s3k96,
|
|
sfx_s3k97,
|
|
sfx_s3k98,
|
|
sfx_s3k99,
|
|
sfx_s3k9a,
|
|
sfx_s3k9b,
|
|
sfx_s3k9c,
|
|
sfx_s3k9d,
|
|
sfx_s3k9e,
|
|
sfx_s3k9f,
|
|
sfx_s3ka0,
|
|
sfx_s3ka1,
|
|
sfx_s3ka2,
|
|
sfx_s3ka3,
|
|
sfx_s3ka4,
|
|
sfx_s3ka5,
|
|
sfx_s3ka6,
|
|
sfx_s3ka7,
|
|
sfx_s3ka8,
|
|
sfx_s3ka9,
|
|
sfx_s3kaa,
|
|
sfx_s3kab,
|
|
sfx_s3kac,
|
|
sfx_s3kad,
|
|
sfx_s3kae,
|
|
sfx_s3kaf,
|
|
sfx_s3kb0,
|
|
sfx_s3kb1,
|
|
sfx_s3kb2,
|
|
sfx_s3kb3,
|
|
sfx_s3kb4,
|
|
sfx_s3kb5,
|
|
sfx_s3kb6,
|
|
sfx_s3kb7,
|
|
sfx_s3kb8,
|
|
sfx_s3kb9,
|
|
sfx_s3kba,
|
|
sfx_s3kbb,
|
|
sfx_s3kbcs,
|
|
sfx_s3kbcl,
|
|
sfx_s3kbds,
|
|
sfx_s3kbdl,
|
|
sfx_s3kbes,
|
|
sfx_s3kbel,
|
|
sfx_s3kbfs,
|
|
sfx_s3kbfl,
|
|
sfx_s3kc0s,
|
|
sfx_s3kc0l,
|
|
sfx_s3kc1s,
|
|
sfx_s3kc1l,
|
|
sfx_s3kc2s,
|
|
sfx_s3kc2l,
|
|
sfx_s3kc3s,
|
|
sfx_s3kc3l,
|
|
sfx_s3kc4s,
|
|
sfx_s3kc4l,
|
|
sfx_s3kc5s,
|
|
sfx_s3kc5l,
|
|
sfx_s3kc6s,
|
|
sfx_s3kc6l,
|
|
sfx_s3kc7,
|
|
sfx_s3kc8s,
|
|
sfx_s3kc8l,
|
|
sfx_s3kc9s,
|
|
sfx_s3kc9l,
|
|
sfx_s3kcas,
|
|
sfx_s3kcal,
|
|
sfx_s3kcbs,
|
|
sfx_s3kcbl,
|
|
sfx_s3kccs,
|
|
sfx_s3kccl,
|
|
sfx_s3kcds,
|
|
sfx_s3kcdl,
|
|
sfx_s3kces,
|
|
sfx_s3kcel,
|
|
sfx_s3kcfs,
|
|
sfx_s3kcfl,
|
|
sfx_s3kd0s,
|
|
sfx_s3kd0l,
|
|
sfx_s3kd1s,
|
|
sfx_s3kd1l,
|
|
sfx_s3kd2s,
|
|
sfx_s3kd2l,
|
|
sfx_s3kd3s,
|
|
sfx_s3kd3l,
|
|
sfx_s3kd4s,
|
|
sfx_s3kd4l,
|
|
sfx_s3kd5s,
|
|
sfx_s3kd5l,
|
|
sfx_s3kd6s,
|
|
sfx_s3kd6l,
|
|
sfx_s3kd7s,
|
|
sfx_s3kd7l,
|
|
sfx_s3kd8s,
|
|
sfx_s3kd8l,
|
|
sfx_s3kd9s,
|
|
sfx_s3kd9l,
|
|
sfx_s3kdas,
|
|
sfx_s3kdal,
|
|
sfx_s3kdbs,
|
|
sfx_s3kdbl,
|
|
|
|
// 3DB sounds
|
|
sfx_3db06,
|
|
sfx_3db09,
|
|
sfx_3db14,
|
|
sfx_3db16,
|
|
|
|
// SCD sounds
|
|
sfx_cdfm00,
|
|
sfx_cdfm01,
|
|
sfx_cdfm02,
|
|
sfx_cdfm03,
|
|
sfx_cdfm04,
|
|
sfx_cdfm05,
|
|
sfx_cdfm06,
|
|
sfx_cdfm07,
|
|
sfx_cdfm08,
|
|
sfx_cdfm09,
|
|
sfx_cdfm10,
|
|
sfx_cdfm11,
|
|
sfx_cdfm12,
|
|
sfx_cdfm13,
|
|
sfx_cdfm14,
|
|
sfx_cdfm15,
|
|
sfx_cdfm16,
|
|
sfx_cdfm17,
|
|
sfx_cdfm18,
|
|
sfx_cdfm19,
|
|
sfx_cdfm20,
|
|
sfx_cdfm21,
|
|
sfx_cdfm22,
|
|
sfx_cdfm23,
|
|
sfx_cdfm24,
|
|
sfx_cdfm25,
|
|
sfx_cdfm26,
|
|
sfx_cdfm27,
|
|
sfx_cdfm28,
|
|
sfx_cdfm29,
|
|
sfx_cdfm30,
|
|
sfx_cdfm31,
|
|
sfx_cdfm32,
|
|
sfx_cdfm33,
|
|
sfx_cdfm34,
|
|
sfx_cdfm35,
|
|
sfx_cdfm36,
|
|
sfx_cdfm37,
|
|
sfx_cdfm38,
|
|
sfx_cdfm39,
|
|
sfx_cdfm40,
|
|
sfx_cdfm41,
|
|
sfx_cdfm42,
|
|
sfx_cdfm43,
|
|
sfx_cdfm44,
|
|
sfx_cdfm45,
|
|
sfx_cdfm46,
|
|
sfx_cdfm47,
|
|
sfx_cdfm48,
|
|
sfx_cdfm49,
|
|
sfx_cdfm50,
|
|
sfx_cdfm51,
|
|
sfx_cdfm52,
|
|
sfx_cdfm53,
|
|
sfx_cdfm54,
|
|
sfx_cdfm55,
|
|
sfx_cdfm56,
|
|
sfx_cdfm57,
|
|
sfx_cdfm58,
|
|
sfx_cdfm59,
|
|
sfx_cdfm60,
|
|
sfx_cdfm61,
|
|
sfx_cdfm62,
|
|
sfx_cdfm63,
|
|
sfx_cdfm64,
|
|
sfx_cdfm65,
|
|
sfx_cdfm66,
|
|
sfx_cdfm67,
|
|
sfx_cdfm68,
|
|
sfx_cdfm69,
|
|
sfx_cdfm70,
|
|
sfx_cdfm71,
|
|
sfx_cdfm72,
|
|
sfx_cdfm73,
|
|
sfx_cdfm74,
|
|
sfx_cdfm75,
|
|
sfx_cdfm76,
|
|
sfx_cdfm77,
|
|
sfx_cdfm78,
|
|
sfx_cdfm79,
|
|
sfx_cdpcm0,
|
|
sfx_cdpcm1,
|
|
sfx_cdpcm2,
|
|
sfx_cdpcm3,
|
|
sfx_cdpcm4,
|
|
sfx_cdpcm5,
|
|
sfx_cdpcm6,
|
|
sfx_cdpcm7,
|
|
sfx_cdpcm8,
|
|
sfx_cdpcm9,
|
|
|
|
// KC sounds
|
|
sfx_kc2a,
|
|
sfx_kc2b,
|
|
sfx_kc2c,
|
|
sfx_kc2d,
|
|
sfx_kc2e,
|
|
sfx_kc2f,
|
|
sfx_kc30,
|
|
sfx_kc31,
|
|
sfx_kc32,
|
|
sfx_kc33,
|
|
sfx_kc34,
|
|
sfx_kc35,
|
|
sfx_kc36,
|
|
sfx_kc37,
|
|
sfx_kc38,
|
|
sfx_kc39,
|
|
sfx_kc3a,
|
|
sfx_kc3b,
|
|
sfx_kc3c,
|
|
sfx_kc3d,
|
|
sfx_kc3e,
|
|
sfx_kc3f,
|
|
sfx_kc40,
|
|
sfx_kc41,
|
|
sfx_kc42,
|
|
sfx_kc43,
|
|
sfx_kc44,
|
|
sfx_kc45,
|
|
sfx_kc46,
|
|
sfx_kc47,
|
|
sfx_kc48,
|
|
sfx_kc49,
|
|
sfx_kc4a,
|
|
sfx_kc4b,
|
|
sfx_kc4c,
|
|
sfx_kc4d,
|
|
sfx_kc4e,
|
|
sfx_kc4f,
|
|
sfx_kc50,
|
|
sfx_kc51,
|
|
sfx_kc52,
|
|
sfx_kc53,
|
|
sfx_kc54,
|
|
sfx_kc55,
|
|
sfx_kc56,
|
|
sfx_kc57,
|
|
sfx_kc58,
|
|
sfx_kc59,
|
|
sfx_kc5a,
|
|
sfx_kc5b,
|
|
sfx_kc5c,
|
|
sfx_kc5d,
|
|
sfx_kc5e,
|
|
sfx_kc5f,
|
|
sfx_kc60,
|
|
sfx_kc61,
|
|
sfx_kc62,
|
|
sfx_kc63,
|
|
sfx_kc64,
|
|
sfx_kc65,
|
|
sfx_kc66,
|
|
sfx_kc67,
|
|
sfx_kc68,
|
|
sfx_kc69,
|
|
sfx_kc6b,
|
|
sfx_kc6c,
|
|
sfx_kc6d,
|
|
sfx_kc6e,
|
|
|
|
// free slots for S_AddSoundFx() at run-time --------------------
|
|
sfx_freeslot0,
|
|
//
|
|
// ... 60 free sounds here ...
|
|
//
|
|
sfx_lastfreeslot = sfx_freeslot0 + NUMSFXFREESLOTS-1,
|
|
// end of freeslots ---------------------------------------------
|
|
|
|
sfx_skinsoundslot0,
|
|
sfx_lastskinsoundslot = sfx_skinsoundslot0 + NUMSKINSFXSLOTS-1,
|
|
NUMSFX
|
|
} sfxenum_t;
|
|
|
|
|
|
void S_InitRuntimeSounds(void);
|
|
sfxenum_t S_AddSoundFx(const char *name, boolean singular, INT32 flags, boolean skinsound);
|
|
void S_RemoveSoundFx(sfxenum_t id);
|
|
|
|
#endif
|