////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2016 RWS Inc, All Rights Reserved
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of version 2 of the GNU General Public License as published by
// the Free Software Foundation
//
// 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.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
//
// SampleMaster.H
//
// History:
//		01/28/97 JMI	Started.
//
//		02/02/97	JMI	Added functions to determine if samples are playing.
//
//		02/18/97	JMI	Made ms_resmgr g_resmgrSamples and made it globally
//							accessible.
//
//		02/19/97	JMI	Added 3 new samples (shoot and 2 ricochets).
//
//		02/19/97	JMI	Added g_smidDyingYell sample.
//
//		02/24/97	JMI	Added g_smidGrenadeBounce.
//
//		02/24/97	JMI	Changed pop.wav to heartbeat.wav.
//
//		02/24/97 BRH	Added firebomb, fire, and napalm sound effects.
//
//		02/24/97	JMI	Added g_smidShotFemaleGrunt, g_smidBlownupFemaleYell,
//							g_smidBurningFemaleYell.
//
//		02/25/97	JMI	Added g_smidBurningMainGuy.
//
//		03/07/97	JMI	Now PlaySample() returns the RSnd* it played the sample
//							on which can be querried and/or passed to AbortSample().
//
//		03/13/97	JMI	Added g_smidOutOfBullets.
//
//		03/21/97 BRH	Added g_smidBounceLaunch, and g_smidBounceExplode
//
//		03/26/97	JMI	Added g_smidClick.
//
//		04/24/97	JMI	Added g_smidShotgun.
//
//		04/25/97	JMI	Added g_smidWrithing1, 2, 3, and 4.
//
//		04/29/97	JMI	Added g_smidNil, a way of specifying to SampleMaster that
//							it should not bother with this sample.  This is useful
//							for things that require a sample ID.
//
//		05/02/97	JMI	Added g_smidExecute1 and g_smidExecute2.
//
//		05/09/97	JMI	Addee g_smidFlameThrower1 - 4.
//							PlaySample() now takes optional looping parameters which
//							are passed directly on to RSnd::Play().
//
//		05/30/97	JMI	Changed g_smidShotGun to "sound/shotgun.wav" (was
//							"sound/M16 single shot2.wav").
//
//		06/04/97	JMI	Added AbortAllSamples() which aborts all currently
//							playing samples.
//
//		06/09/97 BRH	Added demonic voice sounds.
//
//		06/09/97	JMI	Added weapon selection sounds.
//
//		06/11/97 BRH	Added PlaySampleThenPurge function which is a convenient
//							way to pass a new purge parameter to PlaySample.  It then
//							uses the new resource manager's ReleaseAndPurge function
//							rather than the regular release.  This will allow you to
//							purge single samples that you don't want to stay in the
//							cache.
//
//		06/14/97 BRH	Added more sound effects, still need to add shooting
//							and random comments.
//
//		06/15/97 BRH	Added the rest of the comment sounds.
//
//		06/15/97	JMI	Added g_smidBulletIntoVest for when people with bullet
//							proof vests are shot.
//
//		06/16/97	JMI	Added a version of IsSamplePlaying() that allows one to
//							specify the sound channel to check.
//
//		06/16/97	JMI	Added g_smidBodyImpact2.
//
//		06/16/97 BRH	Added more sound effects for enemy events.
//
//		06/16/97	JMI	Added g_smidPickedUpAmmo, g_smidPickedUpWeapon,
//							g_smidPickedUpHealth, g_smidPickedUpArmor.
//
//		06/17/97	JMI	Added g_smidStep.
//
//		06/17/97	JMI	PlaySample() (and PlaySampleThenPurge() ) now always
//							return an RSnd* (even if they fail) and also, optionally,
//							can return the length of the sample to play.
//
//		07/01/97	JMI	Added g_smidMenuItemChange.
//
//		07/09/97	JMI	Added g_smidTitle.
//
//		07/13/97	JMI	Removed 'sound/' from all sample names.  Now that these
//							sounds are stored in folders named for their sample type
//							it seemed rhetorical and annoying.
//
//		07/15/97	JRD	Added support for local sound volume by channel and
//							category
//
//		07/17/97 JRD	Moved sound category information out of RSND and into
//							sample master for a more appropriate app vs rspix division.
//
//		07/17/97 JRD	Provided a backwards compatible PlaySample stub so old code
//							will simply compile.
//
//
//		07/17/97 JRD	Couldn't resolve overload.  Forced to call new function
//							PlaySampleEx.  (Bleh!)
//
//		07/17/97	JMI	Added g_smidMusicTester and g_smidAmbientTester.
//							Changed VolumeCode to SoundInstance.  Trying to make it a
//							generic playing sample identifier.
//							Also, PlaySample() no longer returns a ptr to the RSnd
//							reducing the chances we rely on sound for synch.
//
//		07/17/97	JRD	Added functionality to calculate volume based on 3d
//							distance.
//
//		07/18/97	JMI	Added StopLoopingSample() to reduce the need for
//							GetInstanceChannel().
//
//		07/18/97	JMI	Got rid of bogus immitation PlaySample functions.
//							Now there is one PlaySample() function.  Also, you now
//							MUST specify a category and you don't have to specify a
//							SoundInstance ptr to specify a volume.
//
//		07/30/97	JMI	Added g_smidDeathWadLaunch/Explode/Thrust.
//
//		08/05/97	JMI	Added PauseAllSamples() and ResumeAllSamples().
//
//		08/05/97 JRD	Added CSoundCatalogue and automated the listing
//							of sounds for use with organ.
//
//		08/05/97	JMI	Upped MAX_SOUNDS from 200 to 512 (b/c we have 224
//							samples mastered currently).
//
//		08/08/97	JMI	Added g_smidTitleMusak.
//
//		08/09/97 BRH	Added PaulR and Rubin's voices
//
//		08/13/97 BRH	Added more voices for grunts and police shouts.
//
//		08/16/97 BRH	Added beep sounds for mine to inidate that is is arming.
//
//		08/20/97 BRH	Added the new volume categories for pain and suffering.
//
//		08/25/97	JMI	Added default volumes for each category in each quality
//							via the ms_asQualityCategoryAdjustors.
//							Also, added enums for sound qualities.
//							Also, added macro enums for UserDefaultVolume,
//							UserMaxVolume, and MaxVolume.
//
//		08/26/97 BRH	Added Verne's voice and the new barrel sounds.
//
//		08/27/97 BRH	Got rid of the unused samples.  Took out writhing1
//							since it was the same as writing3.
//
//		09/03/97 BRH	Added the real ostrich sounds.
//
//		09/06/97 BRH	Added execution sound.
//
//		09/24/97 BRH	Added LOCALE specific compile switch for UK version
//							and removed the female pain and screaming sounds
//							from the UK version.
//
//		09/24/97	JMI	Added bFemalePain member to SampleMasterID.  This field
//							is true if the sample is of a female in pain.  If this
//							field is true, SampleMaster.cpp won't play the sample
//							if the LOCALE is that of a country that does not allow
//							such things in games (currently just the UK).
//
//		10/07/97	JMI	Changed bFemalePain to usDescFlags, a bits field of flags
//							describing the sound so we can know which ones to filter
//							out for various languages.
//							Changed false to SMDF_NO_DESCRIPT and true to
//							SMDF_FEMALE_PAIN.
//							Also, added SMDF_POLICE_REF in 2 spots.
//
//		01/06/98	BRH	Added sounds for Add-on pack.
//
//		01/07/98	JMI	Added ASSERT in CSoundCatalogue() so it will detect when
//							it overflows.
//							Also, upped MAX_SOUNDS to 650 (there are currently 626).
//
//		11/20/99	BRH	Added new smid for new Japanese characters.
//
//		12/02/99 MJR	Fixed typos in two of the sound file names.
//
//		12/03/99 MJR	Fixed a few more typos in sound file names.
//
//		03/31/00 MJR	Put conditional compilation around Japanese voices.
//
//////////////////////////////////////////////////////////////////////////////
//
// This module caches and plays samples via the RSnd interface.  To identify
// the samples, a simple struct containing a string called a SampleMasterID is
// used.  The string is actually used as a filename.  The idea, though, is to
// use the globally declared IDs to reference the samples so that the
// filenames can be changed without effecting any other modules and, if a
// needed sample is removed, the code referring to it should generate a
// compile error.
// Search this file for DEFINE_SAMPLE_ID to find the declarations of all the
// sample IDs you can refer to or add to.  For simplicity's sake, let's define
// them all here.
//
//////////////////////////////////////////////////////////////////////////////

#ifndef SAMPLEMASTER_H
#define SAMPLEMASTER_H

//////////////////////////////////////////////////////////////////////////////
// C Headers -- Must be included before RSPiX.h b/c RSPiX utilizes SHMalloc.
//////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////
// RSPiX Headers.
///////////////////////////////////////////////////////////////////////////////

#include "RSPiX.h"

#ifdef PATHS_IN_INCLUDES
#include "WishPiX/ResourceManager/resmgr.h"
#else
#include "resmgr.h"
#endif

//////////////////////////////////////////////////////////////////////////////
// Macros.
//////////////////////////////////////////////////////////////////////////////

// Useful macro that allows us to extern and instantiate/initialize a global
// in one spot based on whether SAMPLEMASTER_CPP is defined.
#ifdef SAMPLEMASTER_CPP
#define DEFINE_SAMPLE_ID(sSoundId, smidVar, strId) \
	SampleMasterID smidVar = {sSoundId, strId};    \
	CSoundCatalogue CAT##smidVar(&smidVar)
#else
#define DEFINE_SAMPLE_ID(sSoundId, smidVar, strId) extern SampleMasterID smidVar // Declare.
#endif																				// SAMPLEMASTER_CPP

//////////////////////////////////////////////////////////////////////////////
// Typedefs.
//////////////////////////////////////////////////////////////////////////////

// Sample identifier type.  See Data section for details.
typedef struct
{
	int16_t sSoundId;
	char *pszId;
} SampleMasterID;

// This is a trick so we can force the sounds to catelogue themselves for the organ:
#define MAX_SOUNDS 975

class CSoundCatalogue
{
public:
	CSoundCatalogue(SampleMasterID *psmID)
	{
		if (ms_ppsmNameList == NULL)
		{
			ms_ppsmNameList = (SampleMasterID **)
				calloc(sizeof(SampleMasterID *), MAX_SOUNDS);
			ms_sCurPos = 0;
		}

		ASSERT(ms_sCurPos < MAX_SOUNDS);
		//TRACE("curpos = %hd\n", ms_sCurPos);

		ms_ppsmNameList[ms_sCurPos] = psmID;
		ms_sCurPos++;
		ms_sRefCount++;
	}

	~CSoundCatalogue()
	{
		ms_sRefCount--;
		if (ms_sRefCount <= 0)
		{
			ms_sRefCount = 0;
			free(ms_ppsmNameList);
			ms_ppsmNameList = NULL;
		}
	}

	static int16_t NumSounds() { return ms_sCurPos; }

	static int16_t ms_sCurPos;
	static int16_t ms_sRefCount;
	static SampleMasterID **ms_ppsmNameList;
};

// Just in case MCW doesn't support namespaces yet, we'll use something that
// all C++ compilers consider a valid namespace declaration.
class SampleMaster
{
public:
	// Used as a unique idea for running sound sample manipulation -> includes channel number
	typedef U64 SoundInstance; // 0 indicates error condition.

	//////////////////////////////////////////////////////////////
	// Use these tags to specify a sound volume category
	// That the game player might want to alter.
	//
	// Feel free to change these to anything appropriate
	//
	// Note that there is a global volume which can be tuned,
	// and every sound that is played specifies it's own volume
	//
	// IF YOU ADD A NEW CATEGORY, ADD THE CORRESPONDING STRING
	// DESCRIPTION IN ms_apszSoundCategories (SAMPLEMASTER.CPP).
	// ALSO, add a volume adjustor in ms_asQualityCategoryAdjustors
	// or it will default to 0.
	typedef enum
	{
		Unspecified = 0, // Unaffected, generic sound
		BackgroundMusic, // Actual solid playing music
		Weapon,			 // Gunfire, Missile noise, flame thrower
		UserFeedBack,	 // Weapon Select, Out of Ammo, Get PowerUp, etc.
		Destruction,	 // Explosions, burning fire
		Ambient,		 // Birds, Racial Men, Bars
		Demon,			 // The demon's volume.
		Voices,			 // The peoples' voices.
		Pain,			 // Enemies being blown up, burned, or shot
		Suffering,		 // Enemies writing on the ground

		MAX_NUM_SOUND_CATEGORIES
	} SoundCategory;

	// todo??
	typedef enum
	{
		MinSet1 = 1,
		MinSet2,
		MinSet3,
		MinSet4,		
		NumMinSampleSets
	} MinSampleSets;

	//////////////////////////////////////////////////////////////
	// These are the possible qualities.
	//
	// IF YOU ADD A NEW QUALITY, ADD THE CORRESPONDING volume
	// adjustor in ms_asQualityCategoryAdjustors or it will
	// default to zero.
	typedef enum
	{
		SQ_11025_8 = 0,
		SQ_11025_16,
		SQ_22050_8,
		SQ_22050_16,
		SQ_44100_8,
		SQ_44100_16,

		NumSoundQualities
	} SoundQuality;

	//////////////////////////////////////////////////////////////
	// SampleMaster specific macros.
	typedef enum
	{
		UserDefaultVolume = 8,				 // Default user volume for all categories/qualities.
		UserMaxVolume = 10,					 // User volume ranges from 0 to 10.
		UserVolumeRange = UserMaxVolume + 1, // Ranges from 0 to 10.
		MaxVolume = 255,					 // SampleMaster volume ranges from 0 to 255.
		VolumeRange = MaxVolume + 1			 // Ranges from 0 to 255.

	} Macros;

	//////////////////////////////////////////////////////////////
	// These are the names for the corresponding SoundCategory
	// used as an index.
	static char *ms_apszSoundCategories[MAX_NUM_SOUND_CATEGORIES];

	//////////////////////////////////////////////////////////////
	// These are the default volumes for each category in each
	// quality.
	static int16_t ms_asQualityCategoryAdjustors[NumSoundQualities][MAX_NUM_SOUND_CATEGORIES];
};

//////////////////////////////////////////////////////////////////////////////
// Data.
//////////////////////////////////////////////////////////////////////////////

// These are the identifiers you pass to any of the sample master functions
// to refer to a particular sample.  The idea is to avoid using actual
// filenames so that the names can be changed without killing the code logic
// and, if a sample identifier is completely removed, it will cause a compile
// error.
// Also, saves memory by having only one instance of the string.

// Shell.
DEFINE_SAMPLE_ID(0, g_smidGeneralBeep, "heartbeat.wav");
DEFINE_SAMPLE_ID(1, g_smidMenuItemSelect, "611.wav");
DEFINE_SAMPLE_ID(2, g_smidMenuItemChange, "heartbeat.wav");
DEFINE_SAMPLE_ID(3, g_smidTitle, "heartbeat.wav");
DEFINE_SAMPLE_ID(4, g_smidMusicTester, "MusicTester.wav");
DEFINE_SAMPLE_ID(5, g_smidAmbientTester, "AmbientTester.wav");
DEFINE_SAMPLE_ID(6, g_smidTitleMusak, "music/Intro&Loop.wav");
DEFINE_SAMPLE_ID(7, g_smidEndingAudio, "music/endingaudio.wav");
DEFINE_SAMPLE_ID(8, g_smidCreditsMusak, "music/outro.wav");
DEFINE_SAMPLE_ID(9, g_smidFullBand, "music/StarsAndStripes.wav");

DEFINE_SAMPLE_ID(10, g_smidRocketExplode, "rktexpl.wav");
DEFINE_SAMPLE_ID(11, g_smidRocketFire, "rktfire.wav");
DEFINE_SAMPLE_ID(12, g_smidDeathWadLaunch, "DeathWadLaunch.wav");
DEFINE_SAMPLE_ID(13, g_smidDeathWadExplode, "DeathWadExplode.wav");
DEFINE_SAMPLE_ID(14, g_smidDeathWadThrust, "DeathWadThrust.wav");
DEFINE_SAMPLE_ID(15, g_smidGrenadeExplode, "greexpl.wav");
DEFINE_SAMPLE_ID(16, g_smidBulletFire, "38 single shot2.wav");
DEFINE_SAMPLE_ID(17, g_smidRicochet1, "bullet ricochet1.wav");
DEFINE_SAMPLE_ID(18, g_smidRicochet2, "bullet ricochet2.wav");
DEFINE_SAMPLE_ID(19, g_smidBurningYell, "groan_male2.wav");
DEFINE_SAMPLE_ID(20, g_smidGrenadeBounce, "grenade bounce.wav");
DEFINE_SAMPLE_ID(21, g_smidNapalmHit, "napalm hit1.wav");
DEFINE_SAMPLE_ID(22, g_smidNapalmFire, "napalm fire2.wav");
DEFINE_SAMPLE_ID(23, g_smidNapalmShot, "napalm shot1.wav");
DEFINE_SAMPLE_ID(24, g_smidFireLarge, "fire large.wav");
DEFINE_SAMPLE_ID(25, g_smidFirebomb, "firebomb2.wav");
DEFINE_SAMPLE_ID(26, g_smidShotFemaleGrunt, "scream_woman3.wav");
DEFINE_SAMPLE_ID(27, g_smidBurningMainGuy, "fire2.wav");
DEFINE_SAMPLE_ID(28, g_smidOutOfBullets, "click.wav");
DEFINE_SAMPLE_ID(29, g_smidBounceLaunch, "grenade hit2.wav");
DEFINE_SAMPLE_ID(30, g_smidBounceExplode, "grenade1.wav");
DEFINE_SAMPLE_ID(31, g_smidClick, "click_bone break.wav");
DEFINE_SAMPLE_ID(32, g_smidShotgun, "shotgun.wav");
DEFINE_SAMPLE_ID(33, g_smidSprayCannon, "spraycannon.wav");
DEFINE_SAMPLE_ID(34, g_smidMineBeep, "minebeep.wav");
DEFINE_SAMPLE_ID(35, g_smidMineSet, "mineset.wav");
DEFINE_SAMPLE_ID(36, g_smidNil, NULL); // Ignored by SampleMaster functions.
DEFINE_SAMPLE_ID(37, g_smidFlameThrower3, "flamethrower3.wav");
DEFINE_SAMPLE_ID(38, g_smidParadeSong, "parade 1.wav");
DEFINE_SAMPLE_ID(39, g_smidExecution, "execution.wav");

// Demon sounds
DEFINE_SAMPLE_ID(40, g_smidDemonBleed, "demon/bleed 2-head.wav");
DEFINE_SAMPLE_ID(41, g_smidDemonBlowup, "demon/blowup 1-head.wav");
DEFINE_SAMPLE_ID(42, g_smidDemonBurn, "demon/burn 1-head.wav");
DEFINE_SAMPLE_ID(43, g_smidDemonBurnBaby, "demon/burnbaby 1-head.wav");
DEFINE_SAMPLE_ID(44, g_smidDemonButtSauce, "demon/butsauce 1-head.wav");
DEFINE_SAMPLE_ID(45, g_smidDemonSmellChicken, "demon/chicken 1-head.wav");
DEFINE_SAMPLE_ID(46, g_smidDemonDie1, "demon/die 1-head.wav");
DEFINE_SAMPLE_ID(47, g_smidDemonDie2, "demon/die 2-head.wav");
DEFINE_SAMPLE_ID(48, g_smidDemonSissy1, "demon/dontbe 1-head.wav");
DEFINE_SAMPLE_ID(49, g_smidDemonSissy2, "demon/sissy 1-head.wav");
DEFINE_SAMPLE_ID(50, g_smidDemonEvil, "demon/evil 1-head.wav");
DEFINE_SAMPLE_ID(51, g_smidDemonFeelHeat, "demon/feelheat 2-head.wav");
DEFINE_SAMPLE_ID(52, g_smidDemonGetEm1, "demon/getem 1-head.wav");
DEFINE_SAMPLE_ID(53, g_smidDemonGetEm2, "demon/getem 2-head.wav");
DEFINE_SAMPLE_ID(54, g_smidDemonGone1, "demon/gone 1-head.wav");
DEFINE_SAMPLE_ID(55, g_smidDemonGone2, "demon/gone 2-head.wav");
DEFINE_SAMPLE_ID(56, g_smidDemonGoodOne, "demon/good 1-head.wav");
DEFINE_SAMPLE_ID(57, g_smidDemonGoPostal4, "demon/gopostal 6-head.wav");
DEFINE_SAMPLE_ID(58, g_smidDemonHa, "demon/ha 1-head.wav");
DEFINE_SAMPLE_ID(59, g_smidDemonHesOut, "demon/hesout 1-head.wav");
DEFINE_SAMPLE_ID(60, g_smidDemonInHell, "demon/inhell 1-head.wav");
DEFINE_SAMPLE_ID(61, g_smidDemonLikeItHot, "demon/ithot 1-head.wav");
DEFINE_SAMPLE_ID(62, g_smidDemonKickAss, "demon/kickass 1-head.wav");
DEFINE_SAMPLE_ID(63, g_smidDemonLaugh1, "demon/laugh 1-head.wav");
DEFINE_SAMPLE_ID(64, g_smidDemonLaugh2, "demon/laugh 2-head.wav");
DEFINE_SAMPLE_ID(65, g_smidDemonLikeYou, "demon/likeyou 1-head.wav");
DEFINE_SAMPLE_ID(66, g_smidDemonNoRegrets, "demon/noregrets 1-head.wav");
DEFINE_SAMPLE_ID(67, g_smidDemonOhBaby, "demon/ohbaby 1-head.wav");
DEFINE_SAMPLE_ID(68, g_smidDemonOJ, "demon/OJ 1-head.wav");
DEFINE_SAMPLE_ID(69, g_smidDemonOnlyWeapons, "demon/onlyweapons 1-head.wav");
DEFINE_SAMPLE_ID(70, g_smidDemonPostal, "demon/postal 1-head.wav");
DEFINE_SAMPLE_ID(71, g_smidDemonSlam, "demon/slam 1-head.wav");
DEFINE_SAMPLE_ID(72, g_smidDemonThatHurt1, "demon/thathurt 1-head.wav");
DEFINE_SAMPLE_ID(73, g_smidDemonThatHurt2, "demon/thathurt 2-head.wav");
DEFINE_SAMPLE_ID(74, g_smidDemonTheGipper, "demon/thegipper 1-head.wav");
DEFINE_SAMPLE_ID(75, g_smidDemonTheGun, "demon/thegun 1-head.wav");
DEFINE_SAMPLE_ID(76, g_smidDemonWeapon, "demon/weaponme 1-head.wav");
DEFINE_SAMPLE_ID(77, g_smidDemonYes1, "demon/yes 2-head.wav");
DEFINE_SAMPLE_ID(78, g_smidDemonYes2, "demon/yes 3-head.wav");
DEFINE_SAMPLE_ID(79, g_smidDemonBuckwheat4, "demon/buckweat 6-head.wav");
DEFINE_SAMPLE_ID(80, g_smidDemonTheMan, "demon/theman 1-head.wav");
// demon sounds - add on
DEFINE_SAMPLE_ID(81, g_smidDemonProsecutionRests, "demon/d10-k 06.wav");
DEFINE_SAMPLE_ID(82, g_smidDemonCaseDismissed, "demon/d10-k 09.wav");
DEFINE_SAMPLE_ID(83, g_smidDemonCheckOutEarly, "demon/d10-k 16.wav");
DEFINE_SAMPLE_ID(84, g_smidDemonKeepTheChange, "demon/d10-k 24.wav");
DEFINE_SAMPLE_ID(85, g_smidDemonSatisfactGnty, "demon/d10-k 32.wav");
DEFINE_SAMPLE_ID(86, g_smidDemonIsThereDoctor, "demon/d10-k 38.wav");
DEFINE_SAMPLE_ID(87, g_smidDemonBegForThis, "demon/d10-k 42.wav");
DEFINE_SAMPLE_ID(88, g_smidDemonHoleInOne, "demon/d1-k 04.wav");
DEFINE_SAMPLE_ID(89, g_smidDemonOutHotTowels, "demon/d2-k 16.wav");
DEFINE_SAMPLE_ID(90, g_smidDemonWontAffectTip, "demon/d2-k 19.wav");
DEFINE_SAMPLE_ID(91, g_smidDemonYouNeedMasage, "demon/d2-k 21.wav");
DEFINE_SAMPLE_ID(92, g_smidDemonDizkneeland, "demon/d2-k 25.wav");
DEFINE_SAMPLE_ID(93, g_smidDemonKillForMasage, "demon/d2-k 29.wav");
DEFINE_SAMPLE_ID(94, g_smidDemonTennisBalls, "demon/d2-k 37.wav");
DEFINE_SAMPLE_ID(95, g_smidDemonHeCheckedOut, "demon/d2-k 40.wav");
DEFINE_SAMPLE_ID(96, g_smidDemonWhoPeedInPool, "demon/d2-k 43.wav");
DEFINE_SAMPLE_ID(97, g_smidDemonAltLifestyles, "demon/d2-k 49.wav");
DEFINE_SAMPLE_ID(98, g_smidDemonRippedBday, "demon/d3-k 05.wav");
DEFINE_SAMPLE_ID(99, g_smidDemonNudityOffensive, "demon/d3-k 08.wav");
DEFINE_SAMPLE_ID(100, g_smidDemonNoDecency, "demon/d3-k 14.wav");
DEFINE_SAMPLE_ID(101, g_smidDemonFreezingWarm, "demon/d3-k 16.wav");
DEFINE_SAMPLE_ID(102, g_smidDemonWatchItWiggle, "demon/d3-k 24.wav");
DEFINE_SAMPLE_ID(103, g_smidDemonRichBastards, "demon/d3-k 28.wav");
DEFINE_SAMPLE_ID(104, g_smidDemonCustomerRight, "demon/d4-k 08.wav");
DEFINE_SAMPLE_ID(105, g_smidDemonBrownBagBody, "demon/d4-k 15.wav");
DEFINE_SAMPLE_ID(106, g_smidDemonTenItemsOrLess, "demon/d4-k 19.wav");
DEFINE_SAMPLE_ID(107, g_smidDemonWhatLaneClosed, "demon/d4-k 31.wav"); // 31 = now it is, or 36 = it is now
DEFINE_SAMPLE_ID(108, g_smidDemonBastardsWCoupons, "demon/d4-k 38.wav");
DEFINE_SAMPLE_ID(109, g_smidDemonNoRefunds, "demon/d4-k 43.wav");
DEFINE_SAMPLE_ID(110, g_smidDemonLikeFreeSample, "demon/d4-k 50.wav");
DEFINE_SAMPLE_ID(111, g_smidDemonCleanupAisle5, "demon/d4-k 60.wav");
DEFINE_SAMPLE_ID(112, g_smidDemonBlueLightSpecial, "demon/d4-k 62.wav");
DEFINE_SAMPLE_ID(113, g_smidDemonLowPriceQnty, "demon/d4-k 66.wav");
DEFINE_SAMPLE_ID(114, g_smidDemonMadeInUSABaby, "demon/d4-k 70.wav");
DEFINE_SAMPLE_ID(115, g_smidDemonDontTakePlastic, "demon/d4-k 78.wav");
DEFINE_SAMPLE_ID(116, g_smidDemonDontSellPostal1, "demon/d5-k 04.wav");
DEFINE_SAMPLE_ID(117, g_smidDemonDontSellPostal2, "demon/d5-k 05.wav");
DEFINE_SAMPLE_ID(118, g_smidDemonSmellsSourMilk, "demon/d6-k 02.wav");
DEFINE_SAMPLE_ID(119, g_smidDemonBurningGovtCheese, "demon/d6-k 06.wav");
DEFINE_SAMPLE_ID(120, g_smidDemonPropertyValues, "demon/d6-k 12.wav");
DEFINE_SAMPLE_ID(121, g_smidDemonWelfareReform, "demon/d6-k 16.wav");
DEFINE_SAMPLE_ID(122, g_smidDemonDoItQuietly, "demon/d6-k 23.wav");
DEFINE_SAMPLE_ID(123, g_smidDemonYouBlewItUp, "demon/d7-k 03.wav");
DEFINE_SAMPLE_ID(124, g_smidDemonRemainStillInjured, "demon/d7-k 09.wav");
DEFINE_SAMPLE_ID(125, g_smidDemonCantHaveAnyNice, "demon/d7-k 18.wav");
DEFINE_SAMPLE_ID(126, g_smidDemonPinnedDown, "demon/d7-k 24.wav");
DEFINE_SAMPLE_ID(127, g_smidDemonShakeItUpBaby, "demon/d7-k 26.wav");
DEFINE_SAMPLE_ID(128, g_smidDemonGrenadeWorksGreat, "demon/d7-k 35.wav");
DEFINE_SAMPLE_ID(129, g_smidDemonSeeYouInHellHa, "demon/d8-k 05.wav");
DEFINE_SAMPLE_ID(130, g_smidDemonAwwBoBo, "demon/d8-k 06.wav");
DEFINE_SAMPLE_ID(131, g_smidDemonEatLeadSucker, "demon/d8-k 12.wav");
DEFINE_SAMPLE_ID(132, g_smidDemonTodayGoodToDie, "demon/d8-k 15.wav");
DEFINE_SAMPLE_ID(133, g_smidDemonExterminatorsBack, "demon/d8-k 24.wav");
DEFINE_SAMPLE_ID(134, g_smidDemonYoullPayForThat, "demon/d8-k 28.wav");
DEFINE_SAMPLE_ID(135, g_smidDemonAngelOfDeath, "demon/d8-k 30.wav");
DEFINE_SAMPLE_ID(136, g_smidDemonShowNoMercy, "demon/d8-k 37.wav");
DEFINE_SAMPLE_ID(137, g_smidDemonDamnImGood, "demon/d8-k 53.wav");
DEFINE_SAMPLE_ID(138, g_smidDemonDeathMyMaster, "demon/d8-k 55.wav");
DEFINE_SAMPLE_ID(139, g_smidDemonDeathMyFriend, "demon/d8-k 63.wav");
DEFINE_SAMPLE_ID(140, g_smidDemonSmellBurning, "demon/d8-k 67.wav");
DEFINE_SAMPLE_ID(141, g_smidDemonFeelWrathDog, "demon/d8-k 75.wav");
DEFINE_SAMPLE_ID(142, g_smidDemonDieLikeDogYouAre, "demon/d8-k 76.wav");
DEFINE_SAMPLE_ID(143, g_smidDemonILoveGoodBBQ, "demon/d8-k 83.wav");
DEFINE_SAMPLE_ID(144, g_smidDemonJudgeJuryExe, "demon/d8-k 86.wav");
DEFINE_SAMPLE_ID(145, g_smidDemonIsItHotOrJustMe, "demon/d8-k 89.wav");
DEFINE_SAMPLE_ID(146, g_smidDemonKillingGoodSoal, "demon/d9-k 06.wav");
DEFINE_SAMPLE_ID(147, g_smidDemonDieWeakling, "demon/d9-k 11.wav");
DEFINE_SAMPLE_ID(148, g_smidDemonWhusy, "demon/d9-k 17.wav");
DEFINE_SAMPLE_ID(149, g_smidDemonAllMustDie, "demon/d9-k 21.wav");

DEFINE_SAMPLE_ID(150, g_smidLoadedWeapon, "loadedWeapon.wav");
DEFINE_SAMPLE_ID(151, g_smidEmptyWeapon, "emptyWeapon.wav");
DEFINE_SAMPLE_ID(152, g_smidBodyImpact2, "body impact2.wav");
DEFINE_SAMPLE_ID(153, g_smidPickedUpWeapon, "PickedUpWeapon.wav");
DEFINE_SAMPLE_ID(154, g_smidStep, "Step.wav");
DEFINE_SAMPLE_ID(155, g_smidBarrelCrash1, "barrelcrash.wav");
DEFINE_SAMPLE_ID(156, g_smidBarrelCrash2, "barrelcrash2.wav");
DEFINE_SAMPLE_ID(157, g_smidShotBarrel1, "hitbarrel1.wav");
DEFINE_SAMPLE_ID(158, g_smidShotBarrel2, "hitbarrel2.wav");
DEFINE_SAMPLE_ID(159, g_smidShotSentry1, "sentryhit1.wav");
DEFINE_SAMPLE_ID(160, g_smidShotSentry2, "sentryhit2.wav");
DEFINE_SAMPLE_ID(161, g_smidShotSentry3, "sentryhit3.wav");

// Shot sounds
DEFINE_SAMPLE_ID(162, g_smidBillGrunt, "BillGrunt.wav");
DEFINE_SAMPLE_ID(163, g_smidCelinaUg, "rsp celina#12-1.wav");
DEFINE_SAMPLE_ID(164, g_smidAmyMyEyes, "rsp amy13.wav");
DEFINE_SAMPLE_ID(165, g_smidAndreaMyLeg, "rsp andrea-17.wav");
DEFINE_SAMPLE_ID(166, g_smidScottGrunt, "scott riedle#2-1.wav");
DEFINE_SAMPLE_ID(167, g_smidScottMyLeg, "scott riedle#6-1.wav");
DEFINE_SAMPLE_ID(168, g_smidBlownupYell, "groan_male1.wav");
DEFINE_SAMPLE_ID(169, g_smidDyingYell, "weird scream1.wav");
DEFINE_SAMPLE_ID(170, g_smidShotGrunt, "grunt3.wav");
DEFINE_SAMPLE_ID(171, g_smidBulletIntoVest, "napalm shot1.wav");
DEFINE_SAMPLE_ID(172, g_smidHickPrick, "johnbhickck cop1-46.wav");
DEFINE_SAMPLE_ID(173, g_smidHickAhh2, "johnbhickck cop1-6.wav");
DEFINE_SAMPLE_ID(174, g_smidMikeGrunt, "rsp mike r.#2-2.wav");
DEFINE_SAMPLE_ID(175, g_smidPaulMyLeg, "rsp paul#4-10.wav");
DEFINE_SAMPLE_ID(176, g_smidRandyHuu, "rsp randy#2-1.wav");
DEFINE_SAMPLE_ID(177, g_smidRandyUg, "rsp randy#2-2.wav");
DEFINE_SAMPLE_ID(178, g_smidRandyUrhh, "rsp randy#2-9.wav");
DEFINE_SAMPLE_ID(179, g_smidSteveUh, "rsp steve#7-1.wav");
DEFINE_SAMPLE_ID(180, g_smidSteveUrl, "rsp steve#7-6.wav");
DEFINE_SAMPLE_ID(181, g_smidPaulRBlewHip, "10Paul r.wav");
DEFINE_SAMPLE_ID(182, g_smidPaulRShotToe, "11Paul r.wav");
DEFINE_SAMPLE_ID(183, g_smidPaulRBlewShoulder, "14Paul r.wav");
DEFINE_SAMPLE_ID(184, g_smidPaulRHuht, "1Paul r.wav");
DEFINE_SAMPLE_ID(185, g_smidPaulRHuh, "5Paul r.wav");
DEFINE_SAMPLE_ID(186, g_smidPaulRMyEye, "8Paul r.wav");
DEFINE_SAMPLE_ID(187, g_smidRubinImHit, "16Rubin 1.wav");
DEFINE_SAMPLE_ID(188, g_smidRubinAh, "20Rubin 1.wav");
DEFINE_SAMPLE_ID(189, g_smidDebbieAh, "DebbieAh.wav");
DEFINE_SAMPLE_ID(190, g_smidVinceAhuh, "VinceAhuh.wav");
DEFINE_SAMPLE_ID(191, g_smidVinceHu, "VinceHu.wav");
DEFINE_SAMPLE_ID(192, g_smidOstrichShot, "OstrichShot.wav");

// Blownup Sounds
DEFINE_SAMPLE_ID(193, g_smidBlownupFemaleYell, "scream_woman2.wav");
DEFINE_SAMPLE_ID(194, g_smidCarynScream, "caryn#4-1.wav");
DEFINE_SAMPLE_ID(195, g_smidAndreaYell, "rsp andrea-11.wav");
DEFINE_SAMPLE_ID(196, g_smidTinaScream1, "tina naughton#23-2.wav");
DEFINE_SAMPLE_ID(197, g_smidScottYell1, "scott riedle#1-3.wav");
DEFINE_SAMPLE_ID(198, g_smidScottYell2, "scott riedle#2-2.wav");
DEFINE_SAMPLE_ID(199, g_smidHickAhh1, "johnbhickck cop1-2.wav");
DEFINE_SAMPLE_ID(200, g_smidHickAhhPain, "johnbhickck cop1-20.wav");
DEFINE_SAMPLE_ID(201, g_smidMikeOhh, "rsp mike r.#2-5.wav");
DEFINE_SAMPLE_ID(202, g_smidPaulAhah, "rsp paul#4-4.wav");
DEFINE_SAMPLE_ID(203, g_smidSteveAhBlowup, "rsp steve#7-2.wav");
DEFINE_SAMPLE_ID(204, g_smidPaulROoh, "18Paul r.wav");
DEFINE_SAMPLE_ID(205, g_smidPaulROooh, "3Paul r.wav");
DEFINE_SAMPLE_ID(206, g_smidRubinAhHuh, "15Rubin 1.wav");
DEFINE_SAMPLE_ID(207, g_smidRubinUhh, "18Rubin 1.wav");
DEFINE_SAMPLE_ID(208, g_smidDebbieAhah, "DebbieAhah.wav");
DEFINE_SAMPLE_ID(209, g_smidDebbieOh, "DebbieOh.wav");
DEFINE_SAMPLE_ID(210, g_smidOstrichBlownup, "OstrichBlowUp.wav");

// Burning Sounds

DEFINE_SAMPLE_ID(211, g_smidAmyScream, "rsp amy4.wav");
DEFINE_SAMPLE_ID(212, g_smidAndreaHelp, "rsp andrea-1.wav");
DEFINE_SAMPLE_ID(213, g_smidTinaScream2, "tina naughton#10-1.wav");
DEFINE_SAMPLE_ID(214, g_smidTinaScream3, "tina naughton#23-1.wav");
DEFINE_SAMPLE_ID(215, g_smidScottYell3, "scott riedle#1-2.wav");
DEFINE_SAMPLE_ID(216, g_smidScottYell4, "scott riedle#2-3.wav");
DEFINE_SAMPLE_ID(217, g_smidScottHelp, "scott riedle#2-5.wav");
DEFINE_SAMPLE_ID(218, g_smidHickAhhFire, "johnbhickck cop1-21.wav");
DEFINE_SAMPLE_ID(219, g_smidHickWhaa, "johnbhickck cop1-3.wav");
DEFINE_SAMPLE_ID(220, g_smidMikeAhh, "rsp mike r.#2-3.wav");
DEFINE_SAMPLE_ID(221, g_smidSteveAhFire, "rsp steve#7-3.wav");
DEFINE_SAMPLE_ID(222, g_smidSteveWaFire, "rsp steve#7-4.wav");
DEFINE_SAMPLE_ID(223, g_smidPaulRHauu, "4Paul r.wav");
DEFINE_SAMPLE_ID(224, g_smidRubinHii, "17Rubin 1.wav");
DEFINE_SAMPLE_ID(225, g_smidDebbieAhh, "DebbieAhh.wav");
DEFINE_SAMPLE_ID(226, g_smidOstrichBurning, "OstrichFire.wav");

// Writhing Sounds
DEFINE_SAMPLE_ID(227, g_smidWrithing2, "writhing2.wav");
DEFINE_SAMPLE_ID(228, g_smidWrithing3, "writhing3.wav");
DEFINE_SAMPLE_ID(229, g_smidWrithing4, "writhing4.wav");
DEFINE_SAMPLE_ID(230, g_smidBillKillMe, "rsp bill#3-2.wav");
DEFINE_SAMPLE_ID(231, g_smidBillHelpMe, "rsp bill#3-7.wav");
DEFINE_SAMPLE_ID(232, g_smidKimHelp, "kim#9-2.wav");
DEFINE_SAMPLE_ID(233, g_smidKimCantBreathe, "kim#9-7.wav");
DEFINE_SAMPLE_ID(234, g_smidAmyCantFeelLegs, "rsp amy12.wav");
DEFINE_SAMPLE_ID(235, g_smidAmyCantBreathe, "rsp amy14.wav");
DEFINE_SAMPLE_ID(236, g_smidAmyCantSee, "rsp amy15.wav");
DEFINE_SAMPLE_ID(237, g_smidScottCoughBlood1, "scott riedle#1-4.wav");
DEFINE_SAMPLE_ID(238, g_smidScottCoughBlood2, "scott riedle#2-4.wav");
DEFINE_SAMPLE_ID(239, g_smidHickOhoo, "johnbhickck cop1-4.wav");
DEFINE_SAMPLE_ID(240, g_smidHickHelpCry, "johnbhickck cop1-8.wav");
DEFINE_SAMPLE_ID(241, g_smidMikeAhuh, "rsp mike r.#2-1.wav");
DEFINE_SAMPLE_ID(242, g_smidPaulRWaaahoh, "19Paul r.wav");
DEFINE_SAMPLE_ID(243, g_smidPaulRDragMe, "15Paul r.wav");
DEFINE_SAMPLE_ID(244, g_smidPaulRTooYoung, "12Paul r.wav");
DEFINE_SAMPLE_ID(245, g_smidPaulRDontThink, "13Paul r.wav");
DEFINE_SAMPLE_ID(246, g_smidPaulRCoughBlood, "7Paul r.wav");

// Dying Sounds
DEFINE_SAMPLE_ID(247, g_smidJeffCoughBlood1, "rsp jeff#2-1.wav");
DEFINE_SAMPLE_ID(248, g_smidJeffCoughBlood2, "rsp jeff#2-2.wav");
DEFINE_SAMPLE_ID(249, g_smidAndreaCantFeelLegs, "rsp andrea-16.wav");
DEFINE_SAMPLE_ID(250, g_smidAndreaCantBreathe, "rsp andrea-19.wav");
DEFINE_SAMPLE_ID(251, g_smidScottCantBreathe, "scott riedle#6-2.wav");
DEFINE_SAMPLE_ID(252, g_smidPaulCantFeelLegs, "rsp paul#4-8.wav");
DEFINE_SAMPLE_ID(253, g_smidRandyCantFeelLegs, "rsp randy#2-8.wav");
DEFINE_SAMPLE_ID(254, g_smidSteveMyEyes, "rsp steve#7-20.wav");
DEFINE_SAMPLE_ID(255, g_smidSteveMyLeg, "rsp steve#7-21.wav");
DEFINE_SAMPLE_ID(256, g_smidSteveCantBreathe, "rsp steve#7-22.wav");
DEFINE_SAMPLE_ID(257, g_smidSteveCantSeeAny, "rsp steve#7-23.wav");
DEFINE_SAMPLE_ID(258, g_smidRubinUhhh, "21Rubin 1.wav");
DEFINE_SAMPLE_ID(259, g_smidRubinAhhh, "22Rubin 1.wav");
DEFINE_SAMPLE_ID(260, g_smidRubinICantMove, "19Rubin 1.wav");
DEFINE_SAMPLE_ID(261, g_smidOstrichDie, "OstrichDie.wav");

// Shooting Comments
DEFINE_SAMPLE_ID(262, g_smidBillEatThis, "rsp bill#3-4.wav");
DEFINE_SAMPLE_ID(263, g_smidBillJustDie, "rsp bill#4-3.wav");
DEFINE_SAMPLE_ID(264, g_smidAmyEatThis, "rsp amy9.wav");
DEFINE_SAMPLE_ID(265, g_smidAndreaOneForMom, "rsp andrea-10.wav");
DEFINE_SAMPLE_ID(266, g_smidAndreaStickThis, "rsp andrea-27.wav");
DEFINE_SAMPLE_ID(267, g_smidScottBurn, "scott riedle#8-2.wav");
DEFINE_SAMPLE_ID(268, g_smidScottBurnHim, "scott riedle#8-3.wav");
DEFINE_SAMPLE_ID(269, g_smidHickEatThis, "johnbhickck cop1-18.wav");
DEFINE_SAMPLE_ID(270, g_smidHickOneForMom, "johnbhickck cop1-19.wav");
DEFINE_SAMPLE_ID(271, g_smidHickScumbag, "johnbhickck cop1-45.wav");
DEFINE_SAMPLE_ID(272, g_smidHickBastard, "johnbhickck cop1-48.wav");
DEFINE_SAMPLE_ID(273, g_smidHickRatBastard, "johnbhickck cop1-49.wav");
DEFINE_SAMPLE_ID(274, g_smidSteveEatThis, "rsp steve#7-12.wav");
DEFINE_SAMPLE_ID(275, g_smidSteveOneForMom, "rsp steve#7-13.wav");
DEFINE_SAMPLE_ID(276, g_smidRubinMadallo, "10Rubin 1.wav");
DEFINE_SAMPLE_ID(277, g_smidRubinDonwemen, "12Rubin 1.wav");
DEFINE_SAMPLE_ID(278, g_smidRubinVominosween, "13Rubin 1.wav");
DEFINE_SAMPLE_ID(279, g_smidRubinCallo, "14Rubin 1.wav");
DEFINE_SAMPLE_ID(280, g_smidRubinGudelet, "5Rubin 1.wav");
DEFINE_SAMPLE_ID(281, g_smidRubinGunBandito, "9Rubin 1.wav");
DEFINE_SAMPLE_ID(282, g_smidRubinFinishHimOff, "3Rubin 1.wav");
DEFINE_SAMPLE_ID(283, g_smidDebbieBringIt, "DebbieBringIt.wav");
DEFINE_SAMPLE_ID(284, g_smidDebbieDontMakeUs, "DebbieDontMakeUs.wav");
DEFINE_SAMPLE_ID(285, g_smidBillBetterHope, "BillBetterHope.wav");
DEFINE_SAMPLE_ID(286, g_smidBillBringItOn, "BillBringItOn.wav");
DEFINE_SAMPLE_ID(287, g_smidBillConstDieWacko, "BillConstDieWacko.wav");
DEFINE_SAMPLE_ID(288, g_smidBillDieYouNutcase, "BillDieYouNutcase.wav");
DEFINE_SAMPLE_ID(289, g_smidBillDropWeapons, "BillDropWeapons.wav");
DEFINE_SAMPLE_ID(290, g_smidBillFreezePolice, "BillFreezePolice.wav");
DEFINE_SAMPLE_ID(291, g_smidBillGetOnGround, "BillGetOnGround.wav");
DEFINE_SAMPLE_ID(292, g_smidBillTakeYouOut, "BillTakeYouOut.wav");
DEFINE_SAMPLE_ID(293, g_smidBillThisIsPolice, "BillThisIsThePolice.wav");
DEFINE_SAMPLE_ID(294, g_smidBillYoureDead, "BillYoureDead.wav");
DEFINE_SAMPLE_ID(295, g_smidVernPutHandsUp, "VernPutHandsUp.wav");
DEFINE_SAMPLE_ID(296, g_smidVernStopFreeze, "VernStopFreeze.wav");
DEFINE_SAMPLE_ID(297, g_smidVernDontMove, "VernDontMove.wav");
DEFINE_SAMPLE_ID(298, g_smidVernFreezeYouDirtbag, "VernFreezeYouDirtbag.wav");

// Random Comments
DEFINE_SAMPLE_ID(299, g_smidBillLookout, "rsp bill#3-3.wav");
DEFINE_SAMPLE_ID(300, g_smidBillHesManiac, "rsp bill#3-9.wav");
DEFINE_SAMPLE_ID(301, g_smidBillBleeding, "rsp bill#3-10.wav");
DEFINE_SAMPLE_ID(302, g_smidCelinaRun, "rsp celina#12-3.wav");
DEFINE_SAMPLE_ID(303, g_smidAmyWhatThe, "rsp amy16.wav");
DEFINE_SAMPLE_ID(304, g_smidAmyLookout, "rsp amy8.wav");
DEFINE_SAMPLE_ID(305, g_smidAndreaThereHeIs, "rsp andrea-12.wav");
DEFINE_SAMPLE_ID(306, g_smidAndreaThereHeGoes, "rsp andrea-13.wav");
DEFINE_SAMPLE_ID(307, g_smidAndreaNeedBackup, "rsp andrea-2.wav");
DEFINE_SAMPLE_ID(308, g_smidAndreaHesPostal, "rsp andrea-23.wav");
DEFINE_SAMPLE_ID(309, g_smidAndreaHesManiac, "rsp andrea-24.wav");
DEFINE_SAMPLE_ID(310, g_smidAndreaWheresBackup, "rsp andrea-4.wav");
DEFINE_SAMPLE_ID(311, g_smidTinaOhMyGod, "tina naughton#24-1.wav");
DEFINE_SAMPLE_ID(312, g_smidScottBleeding, "scott riedle#7-3.wav");
DEFINE_SAMPLE_ID(313, g_smidScottWhereIsHe, "scott riedle#7-4.wav");
DEFINE_SAMPLE_ID(314, g_smidScottStopViolence, "scott riedle#7-5.wav");
DEFINE_SAMPLE_ID(315, g_smidScottDontGetAway, "scott riedle#8-5.wav");
DEFINE_SAMPLE_ID(316, g_smidScottCantShootAll, "scott riedle#8-6.wav");
DEFINE_SAMPLE_ID(317, g_smidScottBumRush, "scott riedle#9-1.wav");
DEFINE_SAMPLE_ID(318, g_smidHickLookout, "johnbhickck cop1-17.wav");
DEFINE_SAMPLE_ID(319, g_smidHickThereHeIs, "johnbhickck cop1-23.wav");
DEFINE_SAMPLE_ID(320, g_smidHickGetHim, "johnbhickck cop1-25.wav");
DEFINE_SAMPLE_ID(321, g_smidHickWhatTheHell, "johnbhickck cop1-56.wav");
DEFINE_SAMPLE_ID(322, g_smidPaulHelpCall, "rsp paul#4-1.wav");
DEFINE_SAMPLE_ID(323, g_smidSteveHeWentThat, "rsp steve#7-10.wav");
DEFINE_SAMPLE_ID(324, g_smidSteveLookout, "rsp steve#7-11.wav");
DEFINE_SAMPLE_ID(325, g_smidSteveThereHeIs, "rsp steve#7-14.wav");
DEFINE_SAMPLE_ID(326, g_smidSteveGetHim, "rsp steve#7-15.wav");
DEFINE_SAMPLE_ID(327, g_smidSteveScumbag, "rsp steve#7-24.wav");
DEFINE_SAMPLE_ID(328, g_smidPaulRComingWay, "17Paul r.wav");
DEFINE_SAMPLE_ID(329, g_smidRubinVominos, "11Rubin 1.wav");
DEFINE_SAMPLE_ID(330, g_smidRubinMatalo, "4Rubin 1.wav");
DEFINE_SAMPLE_ID(331, g_smidRubinIfenVigado, "6Rubin 1.wav");
DEFINE_SAMPLE_ID(332, g_smidRubinGamalo, "7Rubin 1.wav");
DEFINE_SAMPLE_ID(333, g_smidRubinThatEnough, "8Rubin 1.wav");
DEFINE_SAMPLE_ID(334, g_smidDebbieDropWeapons, "DebbieDropWeapons.wav");
DEFINE_SAMPLE_ID(335, g_smidBillConstTough, "BillConstPrettyTough.wav");
DEFINE_SAMPLE_ID(336, g_smidBillConstTakeCare, "BillConstTakeCare.wav");
DEFINE_SAMPLE_ID(337, g_smidBillGoTime, "BillGoTime.wav");
DEFINE_SAMPLE_ID(338, g_smidBillWhupAss, "BillWhupAss.wav");
DEFINE_SAMPLE_ID(339, g_smidVernDontYouMove, "VernDontYouMove.wav");
DEFINE_SAMPLE_ID(340, g_smidVernGoKneesStop, "VernGoKneesStop.wav");
DEFINE_SAMPLE_ID(341, g_smidVernHeyGetOverHere, "VernHeyGetOverHere.wav");
DEFINE_SAMPLE_ID(342, g_smidVernWhereYouGoing, "VernWhereYouGoing.wav");
DEFINE_SAMPLE_ID(343, g_smidFinalScene, "music/finalScene.wav");
DEFINE_SAMPLE_ID(344, g_smidFinalSceneCredits, "music/finalSceneCredits.wav");

// Add on sounds
// Vet
DEFINE_SAMPLE_ID(345, g_smidVetSpareDime, "bernie#01-1 04.wav");
DEFINE_SAMPLE_ID(346, g_smidVetShineShotgun, "bernie#01-1 13.wav");
DEFINE_SAMPLE_ID(347, g_smidVetCollectBrassShells, "bernie#01-1 18.wav");
DEFINE_SAMPLE_ID(348, g_smidVetDontShootImVet, "bernie#01-1 21.wav");
DEFINE_SAMPLE_ID(349, g_smidVetAhah, "brandon#01- 16.wav");
DEFINE_SAMPLE_ID(350, g_smidVetShineShotgun2, "brandon#01- 25.wav");
DEFINE_SAMPLE_ID(351, g_smidVetUhOh, "brandon#01- 38.wav");
DEFINE_SAMPLE_ID(352, g_smidVetWorkForFood, "brandon#12- 03.wav");
DEFINE_SAMPLE_ID(353, g_smidVetDontShootVet, "brandon#12- 06.wav");
DEFINE_SAMPLE_ID(354, g_smidVetFragThatBastard, "brandon#12- 08.wav");
DEFINE_SAMPLE_ID(355, g_smidVetSpareADime, "tony#01- 14.wav");
DEFINE_SAMPLE_ID(356, g_smidVetWorkForFood2, "tony#01- 19.wav");
DEFINE_SAMPLE_ID(357, g_smidVetShingGun, "tony#01- 21.wav");
DEFINE_SAMPLE_ID(358, g_smidVetDontShootVet2, "tony#01- 30.wav");
DEFINE_SAMPLE_ID(359, g_smidVetHereComesCharlie, "tony#01- 36.wav");
DEFINE_SAMPLE_ID(360, g_smidVetFragBastard, "tony#01- 43.wav");
DEFINE_SAMPLE_ID(361, g_smidVetSpareDimeYell, "jerod- 04.wav");
DEFINE_SAMPLE_ID(362, g_smidVetWaaoh, "jerod- 06.wav");
DEFINE_SAMPLE_ID(363, g_smidVetWaa, "jerod- 08.wav");
DEFINE_SAMPLE_ID(364, g_smidVetShine, "jerod- 23.wav");
DEFINE_SAMPLE_ID(365, g_smidVetCharlie, "jerod- 41.wav");
DEFINE_SAMPLE_ID(366, g_smidVetFrag, "jerod- 51.wav");
DEFINE_SAMPLE_ID(367, g_smidVetThisGuysNuts, "jerod#10- 100.wav");
DEFINE_SAMPLE_ID(368, g_smidVetKillThatPsyco, "jerod#11- 26.wav");
DEFINE_SAMPLE_ID(369, g_smidVetCollectShells, "ruben#10- 09.wav");
DEFINE_SAMPLE_ID(370, g_smidVetDontShootVet3, "ruben#10- 12.wav");
DEFINE_SAMPLE_ID(371, g_smidVetWhatThatAK47, "ruben#11- 37.wav");
DEFINE_SAMPLE_ID(372, g_smidVetAskHimForHelp, "ruben#11- 39.wav");
DEFINE_SAMPLE_ID(373, g_smidVetSpanish, "ruben#11- 47.wav");

// Lawyer
DEFINE_SAMPLE_ID(374, g_smidLawyerYoullNeedLawyer, "bernie#03- 15.wav");
DEFINE_SAMPLE_ID(375, g_smidLawyerSeeAssInCourt, "bernie#04- 06.wav");
DEFINE_SAMPLE_ID(376, g_smidLawyerGonnaSue, "brandon#02- 02.wav");
DEFINE_SAMPLE_ID(377, g_smidLawyerSeeAssInCourt2, "brandon#02- 08.wav");
DEFINE_SAMPLE_ID(378, g_smidLawyerGonnaNeedLawyer, "brandon#02- 14.wav");
DEFINE_SAMPLE_ID(379, g_smidLawyerThatsIllegal, "brandon#02- 21.wav");
DEFINE_SAMPLE_ID(380, g_smidLawyerThatsIllegal2, "tony#02- 05.wav");
DEFINE_SAMPLE_ID(381, g_smidLawyerSeeAssInCourt3, "tony#02- 09.wav");
DEFINE_SAMPLE_ID(382, g_smidLawyerNeedLawyerCard, "tony#02- 13.wav");

// Golfer
DEFINE_SAMPLE_ID(383, g_smidGolferFore, "bernie#07- 04.wav");
DEFINE_SAMPLE_ID(384, g_smidGolferHoleInOne, "bernie#07- 08.wav");
DEFINE_SAMPLE_ID(385, g_smidGolferUglyBogey, "bernie#07- 11.wav");
DEFINE_SAMPLE_ID(386, g_smidGolferMyBalls, "bernie#07- 26.wav");
DEFINE_SAMPLE_ID(387, g_smidGolferMyBalls2, "brandon#03- 16.wav");
DEFINE_SAMPLE_ID(388, g_smidGolferCinderellaStory, "brandon#03- 20.wav");
DEFINE_SAMPLE_ID(389, g_smidGolferFore2, "brandon#04- 03.wav");
DEFINE_SAMPLE_ID(390, g_smidGolferHoleInOne2, "brandon#04- 04.wav");
DEFINE_SAMPLE_ID(391, g_smidGolferHoleInOne3, "tony#03- 08.wav");
DEFINE_SAMPLE_ID(392, g_smidGolferCinderella, "tony#03- 24.wav");
DEFINE_SAMPLE_ID(393, g_smidGolferUglyBogey2, "tony#03- 39.wav");
DEFINE_SAMPLE_ID(394, g_smidGolferMyBalls3, "tony#03- 43.wav");
DEFINE_SAMPLE_ID(395, g_smidGolferFore3, "jerod#02- 03.wav");
DEFINE_SAMPLE_ID(396, g_smidGolferMyBalls4, "jerod#02- 21.wav");
DEFINE_SAMPLE_ID(397, g_smidGolferCinderella2, "jerod#02- 25.wav");
DEFINE_SAMPLE_ID(398, g_smidGolferThatsHolsInOne, "ruben#10- 33.wav");

// Nudest Man
DEFINE_SAMPLE_ID(399, g_smidNudeDontDieNaked, "brandon#05- 04.wav");
DEFINE_SAMPLE_ID(400, g_smidNudeShotOffMyAhhh, "brandon#05- 05.wav");
DEFINE_SAMPLE_ID(401, g_smidNudeOhMyGod, "brandon#05- 07.wav");
DEFINE_SAMPLE_ID(402, g_smidNudeNoOneSeeUs, "brandon#05- 12.wav");
DEFINE_SAMPLE_ID(403, g_smidNudeDontShootImNude, "brandon#05- 14.wav");
DEFINE_SAMPLE_ID(404, g_smidNudeHowEmbarrassing, "brandon#05- 25.wav");
DEFINE_SAMPLE_ID(405, g_smidNudeDontDieNaked2, "tony#04- 01.wav");
DEFINE_SAMPLE_ID(406, g_smidNudeShotOffMyAhhh2, "tony#04- 07.wav");
DEFINE_SAMPLE_ID(407, g_smidNudeDontFeelFresh, "tony#04- 27.wav");
DEFINE_SAMPLE_ID(408, g_smidNudeMyGod, "jerod#03- 10.wav");
DEFINE_SAMPLE_ID(409, g_smidNudeNoOneSeeUs2, "jerod#03- 12.wav");
DEFINE_SAMPLE_ID(410, g_smidNudeHowEmbarrassing2, "jerod#03- 28.wav");
DEFINE_SAMPLE_ID(411, g_smidNudeHeShotMy, "ruben#05- 10.wav");
DEFINE_SAMPLE_ID(412, g_smidNudeDontDieNaked3, "ruben#10- 50.wav");
DEFINE_SAMPLE_ID(413, g_smidNudeDontShootNude, "ruben#10- 56.wav");
DEFINE_SAMPLE_ID(414, g_smidNudeDontFeelFresh2, "ruben#10- 61.wav");

// Nudest Woman
DEFINE_SAMPLE_ID(415, g_smidWNudeNoOneSeeUs, "lia#05- 07.wav");
DEFINE_SAMPLE_ID(416, g_smidWNudeDontShootNude, "lia#05- 14.wav");
DEFINE_SAMPLE_ID(417, g_smidWNudeHowEmbarrassing, "lia#05- 22.wav");
DEFINE_SAMPLE_ID(418, g_smidWNudeDontDieNaked, "stephanie#04- 01.wav");
DEFINE_SAMPLE_ID(419, g_smidWNudeHeShotOffMyAh, "stephanie#04- 05.wav");
DEFINE_SAMPLE_ID(420, g_smidWNudeDontShootNude2, "stephanie#04- 10.wav");
DEFINE_SAMPLE_ID(421, g_smidWNudeBumLooker, "stephanie#04- 19.wav");
DEFINE_SAMPLE_ID(422, g_smidWNudeHowEmbarrassing2, "stephanie#04- 21.wav");
DEFINE_SAMPLE_ID(423, g_smidWNudeDontFeelFresh, "stephanie#04- 26.wav");
DEFINE_SAMPLE_ID(424, g_smidSouthernNeedLawyer, "stephanie#09- 12.wav");
DEFINE_SAMPLE_ID(425, g_smidSouthernDieNaked, "stephanie#09- 19.wav");
DEFINE_SAMPLE_ID(426, g_smidSouthernBumLooker, "stephanie#09- 23.wav");

// Old Man
DEFINE_SAMPLE_ID(427, g_smidOldManSoiledSelf, "bernie#09- 05.wav");
DEFINE_SAMPLE_ID(428, g_smidOldManDizkneeland, "bernie#09- 23.wav");
DEFINE_SAMPLE_ID(429, g_smidOldManColostomyBag, "bernie#09- 39.wav");
DEFINE_SAMPLE_ID(430, g_smidOldManOwSpleen, "bernie#09- 47.wav");
DEFINE_SAMPLE_ID(431, g_smidOldManSoiledSelf2, "brandon#06- 01.wav");
DEFINE_SAMPLE_ID(432, g_smidOldManWhatsThatSunny, "brandon#06- 04.wav");
DEFINE_SAMPLE_ID(433, g_smidOldManDontShoot, "brandon#06- 11.wav");
DEFINE_SAMPLE_ID(434, g_smidOldManDizkneeland2, "brandon#06- 13.wav");
DEFINE_SAMPLE_ID(435, g_smidOldManNoRespect, "brandon#07- 02.wav");
DEFINE_SAMPLE_ID(436, g_smidOldManColostomyBag2, "brandon#07- 05.wav");
DEFINE_SAMPLE_ID(437, g_smidOldManMySpleen, "brandon#07- 08.wav");
DEFINE_SAMPLE_ID(438, g_smidOldManGroan, "tony#05- 03.wav");
DEFINE_SAMPLE_ID(439, g_smidOldManSoiledSelf3, "tony#05- 05.wav");
DEFINE_SAMPLE_ID(440, g_smidOldManColostomyBag3, "tony#05- 42.wav");
DEFINE_SAMPLE_ID(441, g_smidOldManInGreatWar, "tony#05- 47.wav");
DEFINE_SAMPLE_ID(442, g_smidOldManDontShootRetired, "tony#06- 07.wav");
DEFINE_SAMPLE_ID(443, g_smidOldManKidsNoRespect, "tony#06- 10.wav");
DEFINE_SAMPLE_ID(444, g_smidOldManInGreatWar2, "tony#06- 14.wav");
DEFINE_SAMPLE_ID(445, g_smidOldManRetired, "jerod#04- 15.wav");
DEFINE_SAMPLE_ID(446, g_smidOldManKidsNoRespect2, "jerod#05- 05.wav");
DEFINE_SAMPLE_ID(447, g_smidOldManSpleen, "jerod#05- 18.wav");
DEFINE_SAMPLE_ID(448, g_smidOldManSoiledMyself, "ruben#06- 06.wav");
DEFINE_SAMPLE_ID(449, g_smidOldManDontShootRetired2, "ruben#06- 11.wav");
DEFINE_SAMPLE_ID(450, g_smidOldManKidsNoRespect3, "ruben#06- 23.wav");

// Old Woman
DEFINE_SAMPLE_ID(451, g_smidOldWomanSoiledSelf, "lia#06- 01.wav");
DEFINE_SAMPLE_ID(452, g_smidOldWomanCantHear, "lia#06- 10.wav");
DEFINE_SAMPLE_ID(453, g_smidOldWomanDizkneeland, "lia#06- 20.wav");
DEFINE_SAMPLE_ID(454, g_smidOldWomanOh, "lia#06- 32.wav");
DEFINE_SAMPLE_ID(455, g_smidOldWomanColostomyBag, "lia#06- 40.wav");
DEFINE_SAMPLE_ID(456, g_smidOldWomanSoiledSelf2, "stephanie#05- 01.wav");
DEFINE_SAMPLE_ID(457, g_smidOldWomanEhWhatsThat, "stephanie#05- 13.wav");
DEFINE_SAMPLE_ID(458, g_smidOldWomanDizkneeland2, "stephanie#05- 19.wav");
DEFINE_SAMPLE_ID(459, g_smidOldWomanColostomy, "stephanie#05- 25.wav");
DEFINE_SAMPLE_ID(460, g_smidOldWomanMySpleen, "stephanie#05- 32.wav");
DEFINE_SAMPLE_ID(461, g_smidOldWomanFindColostomy, "stephanie#05- 39.wav");
DEFINE_SAMPLE_ID(462, g_smidOldWomanNoRespect, "stephanie#11- 35.wav");

// Wal Mart Employee
DEFINE_SAMPLE_ID(463, g_smidWalMartCleanupAisle6, "bernie#10- 02.wav");
DEFINE_SAMPLE_ID(464, g_smidWalMartNoWaiting4, "bernie#10- 13.wav");
DEFINE_SAMPLE_ID(465, g_smidWalMartDontShoot, "bernie#10- 38.wav");
DEFINE_SAMPLE_ID(466, g_smidWalMartCleanupAisle4, "brandon#08- 07.wav");
DEFINE_SAMPLE_ID(467, g_smidWalMartCleanupAisle3, "brandon#08- 08.wav");
DEFINE_SAMPLE_ID(468, g_smidWalMartCleanupAisle2, "brandon#08- 09.wav");
DEFINE_SAMPLE_ID(469, g_smidWalMartNoWaitingOn4, "brandon#08- 15.wav");
DEFINE_SAMPLE_ID(470, g_smidWalMartDontShoot2, "brandon#08- 40.wav");
DEFINE_SAMPLE_ID(471, g_smidWalMartShellsSpecial, "brandon#12- 38.wav");
DEFINE_SAMPLE_ID(472, g_smidWalMartHelpYa, "brandon#12- 40.wav");
DEFINE_SAMPLE_ID(473, g_smidWalMartCleanupAisle17, "tony#07- 11.wav");
DEFINE_SAMPLE_ID(474, g_smidWalMartShellsSpecial2, "tony#07- 17.wav");
DEFINE_SAMPLE_ID(475, g_smidWalMartNoWaitLine4, "tony#07- 18.wav");
DEFINE_SAMPLE_ID(476, g_smidWalMartMyIHelpYou, "tony#07- 21.wav");
DEFINE_SAMPLE_ID(477, g_smidWalMartGetMyManager, "tony#07- 38.wav");
DEFINE_SAMPLE_ID(478, g_smidWalMartDontShoot3, "tony#07- 42.wav");
DEFINE_SAMPLE_ID(479, g_smidWalMartCleanupAisle7, "jerod#06- 03.wav");
DEFINE_SAMPLE_ID(480, g_smidWalMartCleanupAisle6b, "ruben#07- 01.wav");
DEFINE_SAMPLE_ID(481, g_smidWalMartOnlyPartTime, "ruben#07- 30.wav");
DEFINE_SAMPLE_ID(482, g_smidWalMartGetManager2, "ruben#10- 94.wav");
DEFINE_SAMPLE_ID(483, g_smidWalMartOnlyPartTimeComeon, "ruben#10- 97.wav");

// Woman Wal Mart Employee
DEFINE_SAMPLE_ID(484, g_smidWWalMartCleanupAisle8, "lia#07- 02.wav");
DEFINE_SAMPLE_ID(485, g_smidWWalMartNoWaiting3, "lia#07- 16.wav");
DEFINE_SAMPLE_ID(486, g_smidWWalMartFindingOK, "lia#07- 23.wav");
DEFINE_SAMPLE_ID(487, g_smidWWalMartGetManager, "lia#07- 33.wav");
DEFINE_SAMPLE_ID(488, g_smidWWalMartCleanupAisle6, "stephanie#06- 02.wav");
DEFINE_SAMPLE_ID(489, g_smidWWalMartShellsSpecial, "stephanie#06- 04.wav");
DEFINE_SAMPLE_ID(490, g_smidWWalMartMayIHelpYou, "stephanie#06- 12.wav");
DEFINE_SAMPLE_ID(491, g_smidWWalMartGetManager2, "stephanie#06- 18.wav");
DEFINE_SAMPLE_ID(492, g_smidWWalMartDontShoot, "stephanie#06- 21.wav");
DEFINE_SAMPLE_ID(493, g_smidWWalMartFindOK, "stephanie#09- 35.wav");
DEFINE_SAMPLE_ID(494, g_smidWWalMartNeedVacation, "stephanie#11- 17.wav");

// Red Cross Man
DEFINE_SAMPLE_ID(495, g_smidRedCrossMedic, "bernie#11- 15.wav");
DEFINE_SAMPLE_ID(496, g_smidRedCrossWhereCops, "bernie#11- 32.wav");
DEFINE_SAMPLE_ID(497, g_smidRedCrossOtherHalfGuy, "bernie#11- 42.wav");
DEFINE_SAMPLE_ID(498, g_smidRedCrossOverpopulation, "bernie#11- 51.wav");
DEFINE_SAMPLE_ID(499, g_smidRedCrossWasntTrained, "bernie#11- 68.wav");
DEFINE_SAMPLE_ID(500, g_smidRedCrossVolunteered, "bernie#11- 73.wav");
DEFINE_SAMPLE_ID(501, g_smidRedCrossNeutralDontShoot, "brandon#09- 02.wav");
DEFINE_SAMPLE_ID(502, g_smidRedCrossCallForBackup, "brandon#09- 06.wav");
DEFINE_SAMPLE_ID(503, g_smidRedCrossGuysNuts, "brandon#09- 07.wav");
DEFINE_SAMPLE_ID(504, g_smidRedCrossLowOnBlood, "brandon#09- 20.wav");
DEFINE_SAMPLE_ID(505, g_smidRedCrossTriggerHappy, "brandon#09- 22.wav");
DEFINE_SAMPLE_ID(506, g_smidRedCrossWhereCops2, "brandon#09- 23.wav");
DEFINE_SAMPLE_ID(507, g_smidRedCrossEnoughFood, "brandon#10- 19.wav");
DEFINE_SAMPLE_ID(508, g_smidRedCrossTryingToHelp, "brandon#10- 31.wav");
DEFINE_SAMPLE_ID(509, g_smidRedCrossSquashedShot, "brandon#12- 50.wav");
DEFINE_SAMPLE_ID(510, g_smidRedCrossAh, "brandon#12- 62.wav");
DEFINE_SAMPLE_ID(511, g_smidRedCrossNeutral, "tony#08- 03.wav");
DEFINE_SAMPLE_ID(512, g_smidRedCrossCallBackupHelp, "tony#08- 05.wav");
DEFINE_SAMPLE_ID(513, g_smidRedCrossMedic2, "tony#08- 13.wav");
DEFINE_SAMPLE_ID(514, g_smidRedCrossLowBlood, "tony#08- 16.wav");
DEFINE_SAMPLE_ID(515, g_smidRedCrossStretcher, "tony#08- 18.wav");
DEFINE_SAMPLE_ID(516, g_smidRedCrossSquachedShot2, "tony#08- 31.wav");
DEFINE_SAMPLE_ID(517, g_smidRedCrossOtherHalf, "tony#08- 37.wav");
DEFINE_SAMPLE_ID(518, g_smidRedCrossDoubleBodyBag, "tony#08- 38.wav");
DEFINE_SAMPLE_ID(519, g_smidRedCrossJoinedMarines, "tony#08- 52.wav");
DEFINE_SAMPLE_ID(520, g_smidRedCrossNotTrained, "tony#08- 56.wav");
DEFINE_SAMPLE_ID(521, g_smidRedCrossNeutralDont, "jerod#07- 04.wav");
DEFINE_SAMPLE_ID(522, g_smidRedCrossMedic3, "jerod#07- 15.wav");
DEFINE_SAMPLE_ID(523, g_smidRedCrossOtherHalfGuy3, "jerod#10=120.wav");
DEFINE_SAMPLE_ID(524, g_smidRedCrossNeutral2, "ruben#08- 02.wav");
DEFINE_SAMPLE_ID(525, g_smidRedCrossCallBackup2, "ruben#08- 08.wav");
DEFINE_SAMPLE_ID(526, g_smidRedCrossWhereCops3, "ruben#08- 34.wav");
DEFINE_SAMPLE_ID(527, g_smidRedCrossVolunteered2, "ruben#08- 68.wav");
DEFINE_SAMPLE_ID(528, g_smidRedCrossSquashedShot3, "ruben#10- 115.wav");
DEFINE_SAMPLE_ID(529, g_smidRedCrossOtherHalfGuy2, "ruben#10- 120.wav");
DEFINE_SAMPLE_ID(530, g_smidRedCrossJoinedMarines2, "ruben#10- 127.wav");
DEFINE_SAMPLE_ID(531, g_smidRedCrossVolunteered4, "ruben#10- 131.wav");

// Red Cross Woman
DEFINE_SAMPLE_ID(532, g_smidWRedCrossCallForHelp, "lia#08- 05.wav");
DEFINE_SAMPLE_ID(533, g_smidWRedCrossNeedBlood, "lia#08- 28.wav");
DEFINE_SAMPLE_ID(534, g_smidWRedCrossOtherHalf, "lia#08- 53.wav");
DEFINE_SAMPLE_ID(535, g_smidWRedCrossBodyBagOrder, "lia#08- 58.wav");
DEFINE_SAMPLE_ID(536, g_smidWRedCrossMarines, "lia#08- 73.wav");
DEFINE_SAMPLE_ID(537, g_smidWRedCrossNotTrained, "lia#08- 77.wav");
DEFINE_SAMPLE_ID(538, g_smidWRedCrossVolunteered, "lia#08- 80.wav");
DEFINE_SAMPLE_ID(539, g_smidWRedCrossNeutralDont, "stephanie#07- 03.wav");
DEFINE_SAMPLE_ID(540, g_smidWRedCrossGuysNuts, "stephanie#07- 11.wav");
DEFINE_SAMPLE_ID(541, g_smidWRedCrossMedic, "stephanie#07- 14.wav");
DEFINE_SAMPLE_ID(542, g_smidWRedCrossLowBlood, "stephanie#07- 18.wav");
DEFINE_SAMPLE_ID(543, g_smidWRedCrossSquashedShot, "stephanie#07- 32.wav");
DEFINE_SAMPLE_ID(544, g_smidWRedCrossNotTrainedCry, "stephanie#07- 59.wav");
DEFINE_SAMPLE_ID(545, g_smidWRedCrossVolunteered2, "stephanie#11- 73.wav");

// Victim Man
DEFINE_SAMPLE_ID(546, g_smidVictimAhh, "bernie#12- 08.wav");
DEFINE_SAMPLE_ID(547, g_smidVictimTheEndIsNear, "bernie#12- 09.wav");
DEFINE_SAMPLE_ID(548, g_smidVictimRepent, "bernie#12- 11.wav");
DEFINE_SAMPLE_ID(549, g_smidVictimAhHesGotAGun, "bernie#12- 17.wav");
DEFINE_SAMPLE_ID(550, g_smidVictimStopShootingAlreadyDead, "bernie#12- 22.wav");
DEFINE_SAMPLE_ID(551, g_smidVictimINeedFirstAid, "bernie#12- 32.wav");
DEFINE_SAMPLE_ID(552, g_smidVictimRunForLives, "bernie#12- 41.wav");
DEFINE_SAMPLE_ID(553, g_smidVictimOwMyEye, "bernie#12- 43.wav");
DEFINE_SAMPLE_ID(554, g_smidVictimSwallowedBob, "bernie#12- 60.wav");
DEFINE_SAMPLE_ID(555, g_smidVictimAskForHelp, "bernie#12- 84.wav");
DEFINE_SAMPLE_ID(556, g_smidVictimHelpUnderHere, "bernie#12- 88.wav");
DEFINE_SAMPLE_ID(557, g_smidVictumUnderHere, "bernie#12- 92.wav");
DEFINE_SAMPLE_ID(558, g_smidVictumGetThatTV, "bernie#12- 97.wav");
DEFINE_SAMPLE_ID(559, g_smidVictimTheHorror, "bernie#12- 99.wav");
DEFINE_SAMPLE_ID(560, g_smidVictimVeryBadDay, "brandon#11- 07.wav");
DEFINE_SAMPLE_ID(561, g_smidVictimEndNear, "brandon#11- 10.wav");
DEFINE_SAMPLE_ID(562, g_smidVictimRepent2, "brandon#11- 16.wav");
DEFINE_SAMPLE_ID(563, g_smidVictimHesGotGun, "brandon#11- 20.wav");
DEFINE_SAMPLE_ID(564, g_smidVictimStopShooting, "brandon#11- 24.wav");
DEFINE_SAMPLE_ID(565, g_smidVictimFirstAid, "brandon#11- 32.wav");
DEFINE_SAMPLE_ID(566, g_smidVictimWhatsHappening, "brandon#11- 36.wav");
DEFINE_SAMPLE_ID(567, g_smidVictimRunForLives2, "brandon#11- 38.wav");
DEFINE_SAMPLE_ID(568, g_smidVictimAnyoneSeenEar, "brandon#11- 49.wav");
DEFINE_SAMPLE_ID(569, g_smidVictimBadDays, "brandon#11- 53.wav");
DEFINE_SAMPLE_ID(570, g_smidVictimWhatsThat, "brandon#11- 66.wav");
DEFINE_SAMPLE_ID(571, g_smidVictimCough, "brandon#11- 74.wav");
DEFINE_SAMPLE_ID(572, g_smidVictimWhereTV, "brandon#12- 83.wav");
DEFINE_SAMPLE_ID(573, g_smidVictimAhhk, "tony#01- 07.wav");
DEFINE_SAMPLE_ID(574, g_smidVictimAuh, "tony#01- 12.wav");
DEFINE_SAMPLE_ID(575, g_smidVictimAhu, "tony#01- 15.wav");
DEFINE_SAMPLE_ID(576, g_smidVictimRepent3, "tony#09- 16.wav");
DEFINE_SAMPLE_ID(577, g_smidVictimJudgementDay, "tony#09- 17.wav");
DEFINE_SAMPLE_ID(578, g_smidVictimAlreadyDead, "tony#09- 26.wav");
DEFINE_SAMPLE_ID(579, g_smidVictimFirstAid2, "tony#10- 03.wav");
DEFINE_SAMPLE_ID(580, g_smidVictimRunForLives3, "tony#10- 10.wav");
DEFINE_SAMPLE_ID(581, g_smidVictimMyEye, "tony#10- 15.wav");
DEFINE_SAMPLE_ID(582, g_smidVictimSeenMyEar, "tony#10- 18.wav");
DEFINE_SAMPLE_ID(583, g_smidVictimWhereTV2, "tony#10- 56.wav");
DEFINE_SAMPLE_ID(584, g_smidVictimHorrorGroan, "tony#10- 58.wav");
DEFINE_SAMPLE_ID(585, g_smidVictimWhereTV3, "jerod#09- 100.wav");
DEFINE_SAMPLE_ID(586, g_smidVictimTheHorror2, "jerod#09- 105.wav");
DEFINE_SAMPLE_ID(587, g_smidVictimBastardAlreadyDead, "jerod#09- 33.wav");
DEFINE_SAMPLE_ID(588, g_smidVictimRunForLives4, "jerod#09- 48.wav");
DEFINE_SAMPLE_ID(589, g_smidVictimWhatAK47, "jerod#09- 77.wav");
DEFINE_SAMPLE_ID(590, g_smidVictimAAhh, "jerod#09- 86.wav");
DEFINE_SAMPLE_ID(591, g_smidVictimNowShooting, "jerod#10- 33.wav");
DEFINE_SAMPLE_ID(592, g_smidVictimAskHim, "jerod#11- 41.wav");
DEFINE_SAMPLE_ID(593, g_smidVictimEndIsNear, "ruben#09- 14.wav");
DEFINE_SAMPLE_ID(594, g_smidVictimAhHesGotAGun2, "ruben#09- 29.wav");
DEFINE_SAMPLE_ID(595, g_smidVictimStopAlreadyDead, "ruben#09- 36.wav");
DEFINE_SAMPLE_ID(596, g_smidVictimAlreadyDead2, "ruben#09- 39.wav");
DEFINE_SAMPLE_ID(597, g_smidVictimOwMyEyes, "ruben#09- 57.wav");
DEFINE_SAMPLE_ID(598, g_smidVictimSeenMyEar3, "ruben#09- 63.wav");
DEFINE_SAMPLE_ID(599, g_smidVictimSpanishWhat, "ruben#11- 20.wav");
DEFINE_SAMPLE_ID(600, g_smidVictimAhSheAi, "ruben#11- 25.wav");
DEFINE_SAMPLE_ID(601, g_smidVictimSwallowedRoberto, "ruben#11- 31.wav");
DEFINE_SAMPLE_ID(602, g_smidVictimWhereTVMan, "ruben#11- 50.wav");

// Victim Woman
DEFINE_SAMPLE_ID(603, g_smidWVictimGonnaSue, "lia#03- 02.wav");
DEFINE_SAMPLE_ID(604, g_smidWVictimTheHorror, "lia#09- 114.wav");
DEFINE_SAMPLE_ID(605, g_smidWVictimScream, "lia#09- 13.wav");
DEFINE_SAMPLE_ID(606, g_smidWVictimAhGotGun, "lia#09- 19.wav");
DEFINE_SAMPLE_ID(607, g_smidWVictimKillThePsyco, "lia#09- 37.wav");
DEFINE_SAMPLE_ID(608, g_smidWVictimNeedFirstAid, "lia#09- 43.wav");
DEFINE_SAMPLE_ID(609, g_smidWVictimWhatHappening, "lia#09- 49.wav");
DEFINE_SAMPLE_ID(610, g_smidWVictimSeenEar, "lia#09- 65.wav");
DEFINE_SAMPLE_ID(611, g_smidWVictimSomeGuyShooting, "lia#09- 80.wav");
DEFINE_SAMPLE_ID(612, g_smidWVictimNeedAid, "stephanie#08- 23.wav");
DEFINE_SAMPLE_ID(613, g_smidWVictimWhatHappening2, "stephanie#08- 28.wav");
DEFINE_SAMPLE_ID(614, g_smidWVictimMyEyes, "stephanie#08- 36.wav");
DEFINE_SAMPLE_ID(615, g_smidWVictimSwallowedBob, "stephanie#08- 49.wav");
DEFINE_SAMPLE_ID(616, g_smidWVictimOhNo, "stephanie#08- 50.wav");
DEFINE_SAMPLE_ID(617, g_smidWVictimNowShooting, "stephanie#08- 56.wav");
DEFINE_SAMPLE_ID(618, g_smidWVictimWhatsThatAK47, "stephanie#08- 64.wav");
DEFINE_SAMPLE_ID(619, g_smidWVictimAh, "stephanie#08- 70.wav");
DEFINE_SAMPLE_ID(620, g_smidWVictimHelpHelp, "stephanie#08- 77.wav");
DEFINE_SAMPLE_ID(621, g_smidWVictimGetOffMe, "stephanie#08- 78.wav");
DEFINE_SAMPLE_ID(622, g_smidWVictimVeryBadDay, "stephanie#10- 01.wav");
DEFINE_SAMPLE_ID(623, g_smidWVictimHelpUnderHere, "stephanie#10- 23.wav");
DEFINE_SAMPLE_ID(624, g_smidWVictimThatsIllegal, "stephanie#11- 10.wav");
DEFINE_SAMPLE_ID(625, g_smidWVictimAlreadyDead, "stephanie#11- 80.wav");
DEFINE_SAMPLE_ID(626, g_smidWVictimRunForLives, "stephanie#11- 85.wav");

#if (TARGET == SUPER_POSTAL) || (TARGET == JAPAN_ADDON) || (TARGET == POSTAL_2015)
// New Japanese sounds
DEFINE_SAMPLE_ID(627, g_smidAsami_b1, "asami-b1.wav");
DEFINE_SAMPLE_ID(628, g_smidAsami_b2, "asami-b2.wav");
DEFINE_SAMPLE_ID(629, g_smidAsami_d1, "asami-d1.wav");
DEFINE_SAMPLE_ID(630, g_smidAsami_d2, "asami-d2.wav");
DEFINE_SAMPLE_ID(631, g_smidAsami_h1, "asami-h1.wav");
DEFINE_SAMPLE_ID(632, g_smidAsami_h2, "asami-h2.wav");
DEFINE_SAMPLE_ID(633, g_smidAsami_h3, "asami-h3.wav");
DEFINE_SAMPLE_ID(634, g_smidAsami_h4, "asami-h4.wav");
DEFINE_SAMPLE_ID(635, g_smidAsami_o1, "asami-o1.wav");
DEFINE_SAMPLE_ID(636, g_smidAsami_o2, "asami-o2.wav");
DEFINE_SAMPLE_ID(637, g_smidAsami_r1, "asami-r1.wav");
DEFINE_SAMPLE_ID(638, g_smidAsami_r2, "asami-r2.wav");
DEFINE_SAMPLE_ID(639, g_smidAsami_r3, "asami-r3.wav");
DEFINE_SAMPLE_ID(640, g_smidAsami_r4, "asami-r4.wav");
DEFINE_SAMPLE_ID(641, g_smidAsami_sc1, "asami-sc1.wav");
DEFINE_SAMPLE_ID(642, g_smidAsami_sc2, "asami-sc2.wav");
DEFINE_SAMPLE_ID(643, g_smidAsami_sc3, "asami-sc3.wav");
DEFINE_SAMPLE_ID(644, g_smidAsami_sc4, "asami-sc4.wav");
DEFINE_SAMPLE_ID(645, g_smidAsami_ss1, "asami-ss1.wav");
DEFINE_SAMPLE_ID(646, g_smidAsami_ss2, "asami-ss2.wav");
DEFINE_SAMPLE_ID(647, g_smidAsami_ss3, "asami-ss3.wav");
DEFINE_SAMPLE_ID(648, g_smidAsami_ss4, "asami-ss4.wav");
DEFINE_SAMPLE_ID(649, g_smidAyame_b1, "ayame-b1.wav");
DEFINE_SAMPLE_ID(650, g_smidAyame_b2, "ayame-b2.wav");
DEFINE_SAMPLE_ID(651, g_smidAyame_d1, "ayame-d1.wav");
DEFINE_SAMPLE_ID(652, g_smidAyame_d2, "ayame-d2.wav");
DEFINE_SAMPLE_ID(653, g_smidAyame_h1, "ayame-h1.wav");
DEFINE_SAMPLE_ID(654, g_smidAyame_h2, "ayame-h2.wav");
DEFINE_SAMPLE_ID(655, g_smidAyame_h3, "ayame-h3.wav");
DEFINE_SAMPLE_ID(656, g_smidAyame_h4, "ayame-h4.wav");
DEFINE_SAMPLE_ID(657, g_smidAyame_o1, "ayame-o1.wav");
DEFINE_SAMPLE_ID(658, g_smidAyame_o2, "ayame-o2.wav");
DEFINE_SAMPLE_ID(659, g_smidAyame_r1, "ayame-r1.wav");
DEFINE_SAMPLE_ID(660, g_smidAyame_r2, "ayame-r2.wav");
DEFINE_SAMPLE_ID(661, g_smidAyame_r3, "ayame-r3.wav");
DEFINE_SAMPLE_ID(662, g_smidAyame_r4, "ayame-r4.wav");
DEFINE_SAMPLE_ID(663, g_smidAyame_sc1, "ayame-sc1.wav");
DEFINE_SAMPLE_ID(664, g_smidAyame_sc2, "ayame-sc2.wav");
DEFINE_SAMPLE_ID(665, g_smidAyame_sc3, "ayame-sc3.wav");
DEFINE_SAMPLE_ID(666, g_smidAyame_sc4, "ayame-sc4.wav");
DEFINE_SAMPLE_ID(667, g_smidAyame_ss1, "ayame-ss1.wav");
DEFINE_SAMPLE_ID(668, g_smidAyame_ss2, "ayame-ss2.wav");
DEFINE_SAMPLE_ID(669, g_smidAyame_ss3, "ayame-ss3.wav");
DEFINE_SAMPLE_ID(670, g_smidAyame_ss4, "ayame-ss4.wav");
DEFINE_SAMPLE_ID(671, g_smidCompsales_b1, "compsales-b1.wav");
DEFINE_SAMPLE_ID(672, g_smidCompsales_b2, "compsales-b2.wav");
DEFINE_SAMPLE_ID(673, g_smidCompsales_d1, "compsales-d1.wav");
DEFINE_SAMPLE_ID(674, g_smidCompsales_d2, "compsales-d2.wav");
DEFINE_SAMPLE_ID(675, g_smidCompsales_h1, "compsales-h1.wav");
DEFINE_SAMPLE_ID(676, g_smidCompsales_h2, "compsales-h2.wav");
DEFINE_SAMPLE_ID(677, g_smidCompsales_h3, "compsales-h3.wav");
DEFINE_SAMPLE_ID(678, g_smidCompsales_h4, "compsales-h4.wav");
DEFINE_SAMPLE_ID(679, g_smidCompsales_o1, "compsales-o1.wav");
DEFINE_SAMPLE_ID(680, g_smidCompsales_o2, "compsales-o2.wav");
DEFINE_SAMPLE_ID(681, g_smidCompsales_r1, "compsales-r1.wav");
DEFINE_SAMPLE_ID(682, g_smidCompsales_r2, "compsales-r2.wav");
DEFINE_SAMPLE_ID(683, g_smidCompsales_r3, "compsales-r3.wav");
DEFINE_SAMPLE_ID(684, g_smidCompsales_r4, "compsales-r4.wav");
DEFINE_SAMPLE_ID(685, g_smidCompsales_sc1, "compsales-sc1.wav");
DEFINE_SAMPLE_ID(686, g_smidCompsales_sc2, "compsales-sc2.wav");
DEFINE_SAMPLE_ID(687, g_smidCompsales_sc3, "compsales-sc3.wav");
DEFINE_SAMPLE_ID(688, g_smidCompsales_sc4, "compsales-sc4.wav");
DEFINE_SAMPLE_ID(689, g_smidCompsales_ss1, "compsales-ss1.wav");
DEFINE_SAMPLE_ID(690, g_smidCompsales_ss2, "compsales-ss2.wav");
DEFINE_SAMPLE_ID(691, g_smidCompsales_ss3, "compsales-ss3.wav");
DEFINE_SAMPLE_ID(692, g_smidCompsales_ss4, "compsales-ss4.wav");
DEFINE_SAMPLE_ID(693, g_smidCompshop_b1, "compshop-b1.wav");
DEFINE_SAMPLE_ID(694, g_smidCompshop_b2, "compshop-b2.wav");
DEFINE_SAMPLE_ID(695, g_smidCompshop_d1, "compshop-d1.wav");
DEFINE_SAMPLE_ID(696, g_smidCompshop_d2, "compshop-d2.wav");
DEFINE_SAMPLE_ID(697, g_smidCompshop_h1, "compshop-h1.wav");
DEFINE_SAMPLE_ID(698, g_smidCompshop_h2, "compshop-h2.wav");
DEFINE_SAMPLE_ID(699, g_smidCompshop_h3, "compshop-h3.wav");
DEFINE_SAMPLE_ID(700, g_smidCompshop_h4, "compshop-h4.wav");
DEFINE_SAMPLE_ID(701, g_smidCompshop_o1, "compshop-o1.wav");
DEFINE_SAMPLE_ID(702, g_smidCompshop_o2, "compshop-o2.wav");
DEFINE_SAMPLE_ID(703, g_smidCompshop_r1, "compshop-r1.wav");
DEFINE_SAMPLE_ID(704, g_smidCompshop_r2, "compshop-r2.wav");
DEFINE_SAMPLE_ID(705, g_smidCompshop_r3, "compshop-r3.wav");
DEFINE_SAMPLE_ID(706, g_smidCompshop_r4, "compshop-r4.wav");
DEFINE_SAMPLE_ID(707, g_smidCompshop_sc1, "compshop-sc1.wav");
DEFINE_SAMPLE_ID(708, g_smidCompshop_sc2, "compshop-sc2.wav");
DEFINE_SAMPLE_ID(709, g_smidCompshop_sc3, "compshop-sc3.wav");
DEFINE_SAMPLE_ID(710, g_smidCompshop_sc4, "compshop-sc4.wav");
DEFINE_SAMPLE_ID(711, g_smidCompshop_ss1, "compshop-ss1.wav");
DEFINE_SAMPLE_ID(712, g_smidCompshop_ss2, "compshop-ss2.wav");
DEFINE_SAMPLE_ID(713, g_smidCompshop_ss3, "compshop-ss3.wav");
DEFINE_SAMPLE_ID(714, g_smidCompshop_ss4, "compshop-ss4.wav");
DEFINE_SAMPLE_ID(715, g_smidKazuki_b1, "kazuki-b1.wav");
DEFINE_SAMPLE_ID(716, g_smidKazuki_b2, "kazuki-b2.wav");
DEFINE_SAMPLE_ID(717, g_smidKazuki_d1, "kazuki-d1.wav");
DEFINE_SAMPLE_ID(718, g_smidKazuki_d2, "kazuki-d2.wav");
DEFINE_SAMPLE_ID(719, g_smidKazuki_h1, "kazuki-h1.wav");
DEFINE_SAMPLE_ID(720, g_smidKazuki_h2, "kazuki-h2.wav");
DEFINE_SAMPLE_ID(721, g_smidKazuki_h3, "kazuki-h3.wav");
DEFINE_SAMPLE_ID(722, g_smidKazuki_h4, "kazuki-h4.wav");
DEFINE_SAMPLE_ID(723, g_smidKazuki_o1, "kazuki-o1.wav");
DEFINE_SAMPLE_ID(724, g_smidKazuki_o2, "kazuki-o2.wav");
DEFINE_SAMPLE_ID(725, g_smidKazuki_r1, "kazuki-r1.wav");
DEFINE_SAMPLE_ID(726, g_smidKazuki_r2, "kazuki-r2.wav");
DEFINE_SAMPLE_ID(727, g_smidKazuki_r3, "kazuki-r3.wav");
DEFINE_SAMPLE_ID(728, g_smidKazuki_r4, "kazuki-r4.wav");
DEFINE_SAMPLE_ID(729, g_smidKazuki_sc1, "kazuki-sc1.wav");
DEFINE_SAMPLE_ID(730, g_smidKazuki_sc2, "kazuki-sc2.wav");
DEFINE_SAMPLE_ID(731, g_smidKazuki_sc3, "kazuki-sc3.wav");
DEFINE_SAMPLE_ID(732, g_smidKazuki_sc4, "kazuki-sc4.wav");
DEFINE_SAMPLE_ID(733, g_smidKazuki_ss1, "kazuki-ss1.wav");
DEFINE_SAMPLE_ID(734, g_smidKazuki_ss2, "kazuki-ss2.wav");
DEFINE_SAMPLE_ID(735, g_smidKazuki_ss3, "kazuki-ss3.wav");
DEFINE_SAMPLE_ID(736, g_smidKazuki_ss4, "kazuki-ss4.wav");
DEFINE_SAMPLE_ID(737, g_smidKensaku_b1, "kensaku-b1.wav");
DEFINE_SAMPLE_ID(738, g_smidKensaku_b2, "kensaku-b2.wav");
DEFINE_SAMPLE_ID(739, g_smidKensaku_d1, "kensaku-d1.wav");
DEFINE_SAMPLE_ID(740, g_smidKensaku_d2, "kensaku-d2.wav");
DEFINE_SAMPLE_ID(741, g_smidKensaku_h1, "kensaku-h1.wav");
DEFINE_SAMPLE_ID(742, g_smidKensaku_h2, "kensaku-h2.wav");
DEFINE_SAMPLE_ID(743, g_smidKensaku_h3, "kensaku-h3.wav");
DEFINE_SAMPLE_ID(744, g_smidKensaku_h4, "kensaku-h4.wav");
DEFINE_SAMPLE_ID(745, g_smidKensaku_o1, "kensaku-o1.wav");
DEFINE_SAMPLE_ID(746, g_smidKensaku_o2, "kensaku-o2.wav");
DEFINE_SAMPLE_ID(747, g_smidKensaku_r1, "kensaku-r1.wav");
DEFINE_SAMPLE_ID(748, g_smidKensaku_r2, "kensaku-r2.wav");
DEFINE_SAMPLE_ID(749, g_smidKensaku_r3, "kensaku-r3.wav");
DEFINE_SAMPLE_ID(750, g_smidKensaku_r4, "kensaku-r4.wav");
DEFINE_SAMPLE_ID(751, g_smidKensaku_sc1, "kensaku-sc1.wav");
DEFINE_SAMPLE_ID(752, g_smidKensaku_sc2, "kensaku-sc2.wav");
DEFINE_SAMPLE_ID(753, g_smidKensaku_sc3, "kensaku-sc3.wav");
DEFINE_SAMPLE_ID(754, g_smidKensaku_sc4, "kensaku-sc4.wav");
DEFINE_SAMPLE_ID(755, g_smidKensaku_ss1, "kensaku-ss1.wav");
DEFINE_SAMPLE_ID(756, g_smidKensaku_ss2, "kensaku-ss2.wav");
DEFINE_SAMPLE_ID(757, g_smidKensaku_ss3, "kensaku-ss3.wav");
DEFINE_SAMPLE_ID(758, g_smidKensaku_ss4, "kensaku-ss4.wav");
DEFINE_SAMPLE_ID(759, g_smidNoboru_b1, "noboru-b1.wav");
DEFINE_SAMPLE_ID(760, g_smidNoboru_b2, "noboru-b2.wav");
DEFINE_SAMPLE_ID(761, g_smidNoboru_d1, "noboru-d1.wav");
DEFINE_SAMPLE_ID(762, g_smidNoboru_d2, "noboru-d2.wav");
DEFINE_SAMPLE_ID(763, g_smidNoboru_h1, "noboru-h1.wav");
DEFINE_SAMPLE_ID(764, g_smidNoboru_h2, "noboru-h2.wav");
DEFINE_SAMPLE_ID(765, g_smidNoboru_h3, "noboru-h3.wav");
DEFINE_SAMPLE_ID(766, g_smidNoboru_h4, "noboru-h4.wav");
DEFINE_SAMPLE_ID(767, g_smidNoboru_o1, "noboru-o1.wav");
DEFINE_SAMPLE_ID(768, g_smidNoboru_o2, "noboru-o2.wav");
DEFINE_SAMPLE_ID(769, g_smidNoboru_r1, "noboru-r1.wav");
DEFINE_SAMPLE_ID(770, g_smidNoboru_r2, "noboru-r2.wav");
DEFINE_SAMPLE_ID(771, g_smidNoboru_r3, "noboru-r3.wav");
DEFINE_SAMPLE_ID(772, g_smidNoboru_r4, "noboru-r4.wav");
DEFINE_SAMPLE_ID(773, g_smidNoboru_sc1, "noboru-sc1.wav");
DEFINE_SAMPLE_ID(774, g_smidNoboru_sc2, "noboru-sc2.wav");
DEFINE_SAMPLE_ID(775, g_smidNoboru_sc3, "noboru-sc3.wav");
DEFINE_SAMPLE_ID(776, g_smidNoboru_sc4, "noboru-sc4.wav");
DEFINE_SAMPLE_ID(777, g_smidNoboru_ss1, "noboru-ss1.wav");
DEFINE_SAMPLE_ID(778, g_smidNoboru_ss2, "noboru-ss2.wav");
DEFINE_SAMPLE_ID(779, g_smidNoboru_ss3, "noboru-ss3.wav");
DEFINE_SAMPLE_ID(780, g_smidNoboru_ss4, "noboru-ss4.wav");
DEFINE_SAMPLE_ID(781, g_smidOsales_b1, "osales-b1.wav");
DEFINE_SAMPLE_ID(782, g_smidOsales_b2, "osales-b2.wav");
DEFINE_SAMPLE_ID(783, g_smidOsales_d1, "osales-d1.wav");
DEFINE_SAMPLE_ID(784, g_smidOsales_d2, "osales-d2.wav");
DEFINE_SAMPLE_ID(785, g_smidOsales_h1, "osales-h1.wav");
DEFINE_SAMPLE_ID(786, g_smidOsales_h2, "osales-h2.wav");
DEFINE_SAMPLE_ID(787, g_smidOsales_h3, "osales-h3.wav");
DEFINE_SAMPLE_ID(788, g_smidOsales_h4, "osales-h4.wav");
DEFINE_SAMPLE_ID(789, g_smidOsales_o1, "osales-o1.wav");
DEFINE_SAMPLE_ID(790, g_smidOsales_o2, "osales-o2.wav");
DEFINE_SAMPLE_ID(791, g_smidOsales_r1, "osales-r1.wav");
DEFINE_SAMPLE_ID(792, g_smidOsales_r2, "osales-r2.wav");
DEFINE_SAMPLE_ID(793, g_smidOsales_r3, "osales-r3.wav");
DEFINE_SAMPLE_ID(794, g_smidOsales_r4, "osales-r4.wav");
DEFINE_SAMPLE_ID(795, g_smidOsales_sc1, "osales-sc1.wav");
DEFINE_SAMPLE_ID(796, g_smidOsales_sc2, "osales-sc2.wav");
DEFINE_SAMPLE_ID(797, g_smidOsales_sc3, "osales-sc3.wav");
DEFINE_SAMPLE_ID(798, g_smidOsales_sc4, "osales-sc4.wav");
DEFINE_SAMPLE_ID(799, g_smidOsales_ss1, "osales-ss1.wav");
DEFINE_SAMPLE_ID(800, g_smidOsales_ss2, "osales-ss2.wav");
DEFINE_SAMPLE_ID(801, g_smidOsales_ss3, "osales-ss3.wav");
DEFINE_SAMPLE_ID(802, g_smidOsales_ss4, "osales-ss4.wav");
DEFINE_SAMPLE_ID(803, g_smidOsamu_b1, "osamu-b1.wav");
DEFINE_SAMPLE_ID(804, g_smidOsamu_b2, "osamu-b2.wav");
DEFINE_SAMPLE_ID(805, g_smidOsamu_d1, "osamu-d1.wav");
DEFINE_SAMPLE_ID(806, g_smidOsamu_d2, "osamu-d2.wav");
DEFINE_SAMPLE_ID(807, g_smidOsamu_h1, "osamu-h1.wav");
DEFINE_SAMPLE_ID(808, g_smidOsamu_h2, "osamu-h2.wav");
DEFINE_SAMPLE_ID(809, g_smidOsamu_h3, "osamu-h3.wav");
DEFINE_SAMPLE_ID(810, g_smidOsamu_h4, "osamu-h4.wav");
DEFINE_SAMPLE_ID(811, g_smidOsamu_o1, "osamu-o1.wav");
DEFINE_SAMPLE_ID(812, g_smidOsamu_o2, "osamu-o2.wav");
DEFINE_SAMPLE_ID(813, g_smidOsamu_r1, "osamu-r1.wav");
DEFINE_SAMPLE_ID(814, g_smidOsamu_r2, "osamu-r2.wav");
DEFINE_SAMPLE_ID(815, g_smidOsamu_r3, "osamu-r3.wav");
DEFINE_SAMPLE_ID(816, g_smidOsamu_r4, "osamu-r4.wav");
DEFINE_SAMPLE_ID(817, g_smidOsamu_sc1, "osamu-sc1.wav");
DEFINE_SAMPLE_ID(818, g_smidOsamu_sc2, "osamu-sc2.wav");
DEFINE_SAMPLE_ID(819, g_smidOsamu_sc3, "osamu-sc3.wav");
DEFINE_SAMPLE_ID(820, g_smidOsamu_sc4, "osamu-sc4.wav");
DEFINE_SAMPLE_ID(821, g_smidOsamu_ss1, "osamu-ss1.wav");
DEFINE_SAMPLE_ID(822, g_smidOsamu_ss2, "osamu-ss2.wav");
DEFINE_SAMPLE_ID(823, g_smidOsamu_ss3, "osamu-ss3.wav");
DEFINE_SAMPLE_ID(824, g_smidOsamu_ss4, "osamu-ss4.wav");
DEFINE_SAMPLE_ID(825, g_smidRyuichi_b1, "ryuichi-b1.wav");
DEFINE_SAMPLE_ID(826, g_smidRyuichi_b2, "ryuichi-b2.wav");
DEFINE_SAMPLE_ID(827, g_smidRyuichi_d1, "ryuichi-d1.wav");
DEFINE_SAMPLE_ID(828, g_smidRyuichi_d2, "ryuichi-d2.wav");
DEFINE_SAMPLE_ID(829, g_smidRyuichi_h1, "ryuichi-h1.wav");
DEFINE_SAMPLE_ID(830, g_smidRyuichi_h2, "ryuichi-h2.wav");
DEFINE_SAMPLE_ID(831, g_smidRyuichi_h3, "ryuichi-h3.wav");
DEFINE_SAMPLE_ID(832, g_smidRyuichi_h4, "ryuichi-h4.wav");
DEFINE_SAMPLE_ID(833, g_smidRyuichi_o1, "ryuichi-o1.wav");
DEFINE_SAMPLE_ID(834, g_smidRyuichi_o2, "ryuichi-o2.wav");
DEFINE_SAMPLE_ID(835, g_smidRyuichi_r1, "ryuichi-r1.wav");
DEFINE_SAMPLE_ID(836, g_smidRyuichi_r2, "ryuichi-r2.wav");
DEFINE_SAMPLE_ID(837, g_smidRyuichi_r3, "ryuichi-r3.wav");
DEFINE_SAMPLE_ID(838, g_smidRyuichi_r4, "ryuichi-r4.wav");
DEFINE_SAMPLE_ID(839, g_smidRyuichi_sc1, "ryuichi-sc1.wav");
DEFINE_SAMPLE_ID(840, g_smidRyuichi_sc2, "ryuichi-sc2.wav");
DEFINE_SAMPLE_ID(841, g_smidRyuichi_sc3, "ryuichi-sc3.wav");
DEFINE_SAMPLE_ID(842, g_smidRyuichi_sc4, "ryuichi-sc4.wav");
DEFINE_SAMPLE_ID(843, g_smidRyuichi_ss1, "ryuichi-ss1.wav");
DEFINE_SAMPLE_ID(844, g_smidRyuichi_ss2, "ryuichi-ss2.wav");
DEFINE_SAMPLE_ID(845, g_smidRyuichi_ss3, "ryuichi-ss3.wav");
DEFINE_SAMPLE_ID(846, g_smidRyuichi_ss4, "ryuichi-ss4.wav");
DEFINE_SAMPLE_ID(847, g_smidSakura_b1, "sakura-b1.wav");
DEFINE_SAMPLE_ID(848, g_smidSakura_b2, "sakura-b2.wav");
DEFINE_SAMPLE_ID(849, g_smidSakura_d1, "sakura-d1.wav");
DEFINE_SAMPLE_ID(850, g_smidSakura_d2, "sakura-d2.wav");
DEFINE_SAMPLE_ID(851, g_smidSakura_h1, "sakura-h1.wav");
DEFINE_SAMPLE_ID(852, g_smidSakura_h2, "sakura-h2.wav");
DEFINE_SAMPLE_ID(853, g_smidSakura_h3, "sakura-h3.wav");
DEFINE_SAMPLE_ID(854, g_smidSakura_h4, "sakura-h4.wav");
DEFINE_SAMPLE_ID(855, g_smidSakura_o1, "sakura-o1.wav");
DEFINE_SAMPLE_ID(856, g_smidSakura_o2, "sakura-o2.wav");
DEFINE_SAMPLE_ID(857, g_smidSakura_r1, "sakura-r1.wav");
DEFINE_SAMPLE_ID(858, g_smidSakura_r2, "sakura-r2.wav");
DEFINE_SAMPLE_ID(859, g_smidSakura_r3, "sakura-r3.wav");
DEFINE_SAMPLE_ID(860, g_smidSakura_r4, "sakura-r4.wav");
DEFINE_SAMPLE_ID(861, g_smidSakura_sc1, "sakura-sc1.wav");
DEFINE_SAMPLE_ID(862, g_smidSakura_sc2, "sakura-sc2.wav");
DEFINE_SAMPLE_ID(863, g_smidSakura_sc3, "sakura-sc3.wav");
DEFINE_SAMPLE_ID(864, g_smidSakura_sc4, "sakura-sc4.wav");
DEFINE_SAMPLE_ID(865, g_smidSakura_ss1, "sakura-ss1.wav");
DEFINE_SAMPLE_ID(866, g_smidSakura_ss2, "sakura-ss2.wav");
DEFINE_SAMPLE_ID(867, g_smidSakura_ss3, "sakura-ss3.wav");
DEFINE_SAMPLE_ID(868, g_smidSakura_ss4, "sakura-ss4.wav");
DEFINE_SAMPLE_ID(869, g_smidShinobu_b1, "shinobu-b1.wav");
DEFINE_SAMPLE_ID(870, g_smidShinobu_b2, "shinobu-b2.wav");
DEFINE_SAMPLE_ID(871, g_smidShinobu_d1, "shinobu-d1.wav");
DEFINE_SAMPLE_ID(872, g_smidShinobu_d2, "shinobu-d2.wav");
DEFINE_SAMPLE_ID(873, g_smidShinobu_h1, "shinobu-h1.wav");
DEFINE_SAMPLE_ID(874, g_smidShinobu_h2, "shinobu-h2.wav");
DEFINE_SAMPLE_ID(875, g_smidShinobu_h3, "shinobu-h3.wav");
DEFINE_SAMPLE_ID(876, g_smidShinobu_h4, "shinobu-h4.wav");
DEFINE_SAMPLE_ID(877, g_smidShinobu_o1, "shinobu-o1.wav");
DEFINE_SAMPLE_ID(878, g_smidShinobu_o2, "shinobu-o2.wav");
DEFINE_SAMPLE_ID(879, g_smidShinobu_r1, "shinobu-r1.wav");
DEFINE_SAMPLE_ID(880, g_smidShinobu_r2, "shinobu-r2.wav");
DEFINE_SAMPLE_ID(881, g_smidShinobu_r3, "shinobu-r3.wav");
DEFINE_SAMPLE_ID(882, g_smidShinobu_r4, "shinobu-r4.wav");
DEFINE_SAMPLE_ID(883, g_smidShinobu_sc1, "shinobu-sc1.wav");
DEFINE_SAMPLE_ID(884, g_smidShinobu_sc2, "shinobu-sc2.wav");
DEFINE_SAMPLE_ID(885, g_smidShinobu_sc3, "shinobu-sc3.wav");
DEFINE_SAMPLE_ID(886, g_smidShinobu_sc4, "shinobu-sc4.wav");
DEFINE_SAMPLE_ID(887, g_smidShinobu_ss1, "shinobu-ss1.wav");
DEFINE_SAMPLE_ID(888, g_smidShinobu_ss2, "shinobu-ss2.wav");
DEFINE_SAMPLE_ID(889, g_smidShinobu_ss3, "shinobu-ss3.wav");
DEFINE_SAMPLE_ID(890, g_smidShinobu_ss4, "shinobu-ss4.wav");
DEFINE_SAMPLE_ID(891, g_smidTadao_b1, "tadao-b1.wav");
DEFINE_SAMPLE_ID(892, g_smidTadao_b2, "tadao-b2.wav");
DEFINE_SAMPLE_ID(893, g_smidTadao_d1, "tadao-d1.wav");
DEFINE_SAMPLE_ID(894, g_smidTadao_d2, "tadao-d2.wav");
DEFINE_SAMPLE_ID(895, g_smidTadao_h1, "tadao-h1.wav");
DEFINE_SAMPLE_ID(896, g_smidTadao_h2, "tadao-h2.wav");
DEFINE_SAMPLE_ID(897, g_smidTadao_h3, "tadao-h3.wav");
DEFINE_SAMPLE_ID(898, g_smidTadao_h4, "tadao-h4.wav");
DEFINE_SAMPLE_ID(899, g_smidTadao_o1, "tadao-o1.wav");
DEFINE_SAMPLE_ID(900, g_smidTadao_o2, "tadao-o2.wav");
DEFINE_SAMPLE_ID(901, g_smidTadao_r1, "tadao-r1.wav");
DEFINE_SAMPLE_ID(902, g_smidTadao_r2, "tadao-r2.wav");
DEFINE_SAMPLE_ID(903, g_smidTadao_r3, "tadao-r3.wav");
DEFINE_SAMPLE_ID(904, g_smidTadao_r4, "tadao-r4.wav");
DEFINE_SAMPLE_ID(905, g_smidTadao_sc1, "tadao-sc1.wav");
DEFINE_SAMPLE_ID(906, g_smidTadao_sc2, "tadao-sc2.wav");
DEFINE_SAMPLE_ID(907, g_smidTadao_sc3, "tadao-sc3.wav");
DEFINE_SAMPLE_ID(908, g_smidTadao_sc4, "tadao-sc4.wav");
DEFINE_SAMPLE_ID(909, g_smidTadao_ss1, "tadao-ss1.wav");
DEFINE_SAMPLE_ID(910, g_smidTadao_ss2, "tadao-ss2.wav");
DEFINE_SAMPLE_ID(911, g_smidTadao_ss3, "tadao-ss3.wav");
DEFINE_SAMPLE_ID(912, g_smidTadao_ss4, "tadao-ss4.wav");
DEFINE_SAMPLE_ID(913, g_smidTomiko_b1, "tomiko-b1.wav");
DEFINE_SAMPLE_ID(914, g_smidTomiko_b2, "tomiko-b2.wav");
DEFINE_SAMPLE_ID(915, g_smidTomiko_d1, "tomiko-d1.wav");
DEFINE_SAMPLE_ID(916, g_smidTomiko_d2, "tomiko-d2.wav");
DEFINE_SAMPLE_ID(917, g_smidTomiko_h1, "tomiko-d1.wav");
DEFINE_SAMPLE_ID(918, g_smidTomiko_h2, "tomiko-h2.wav");
DEFINE_SAMPLE_ID(919, g_smidTomiko_h3, "tomiko-h3.wav");
DEFINE_SAMPLE_ID(920, g_smidTomiko_h4, "tomiko-h4.wav");
DEFINE_SAMPLE_ID(921, g_smidTomiko_o1, "tomiko-o1.wav");
DEFINE_SAMPLE_ID(922, g_smidTomiko_o2, "tomiko-o2.wav");
DEFINE_SAMPLE_ID(923, g_smidTomiko_r1, "tomiko-r1.wav");
DEFINE_SAMPLE_ID(924, g_smidTomiko_r2, "tomiko-r2.wav");
DEFINE_SAMPLE_ID(925, g_smidTomiko_r3, "tomiko-r3.wav");
DEFINE_SAMPLE_ID(926, g_smidTomiko_r4, "tomiko-r4.wav");
DEFINE_SAMPLE_ID(927, g_smidTomiko_sc1, "tomiko-sc1.wav");
DEFINE_SAMPLE_ID(928, g_smidTomiko_sc2, "tomiko-sc2.wav");
DEFINE_SAMPLE_ID(929, g_smidTomiko_sc3, "tomiko-sc3.wav");
DEFINE_SAMPLE_ID(930, g_smidTomiko_sc4, "tomiko-sc4.wav");
DEFINE_SAMPLE_ID(931, g_smidTomiko_ss1, "tomiko-ss1.wav");
DEFINE_SAMPLE_ID(932, g_smidTomiko_ss2, "tomiko-ss2.wav");
DEFINE_SAMPLE_ID(933, g_smidTomiko_ss3, "tomiko-ss3.wav");
DEFINE_SAMPLE_ID(934, g_smidTomiko_ss4, "tomiko-ss4.wav");
DEFINE_SAMPLE_ID(935, g_smidYutaka_b1, "yutaka-b1.wav");
DEFINE_SAMPLE_ID(936, g_smidYutaka_b2, "yutaka-b2.wav");
DEFINE_SAMPLE_ID(937, g_smidYutaka_d1, "yutaka-d1.wav");
DEFINE_SAMPLE_ID(938, g_smidYutaka_d2, "yutaka-d2.wav");
DEFINE_SAMPLE_ID(939, g_smidYutaka_h1, "yutaka-h1.wav");
DEFINE_SAMPLE_ID(940, g_smidYutaka_h2, "yutaka-h2.wav");
DEFINE_SAMPLE_ID(941, g_smidYutaka_h3, "yutaka-h3.wav");
DEFINE_SAMPLE_ID(942, g_smidYutaka_h4, "yutaka-h4.wav");
DEFINE_SAMPLE_ID(943, g_smidYutaka_o1, "yutaka-o1.wav");
DEFINE_SAMPLE_ID(944, g_smidYutaka_o2, "yutaka-o2.wav");
DEFINE_SAMPLE_ID(945, g_smidYutaka_r1, "yutaka-r1.wav");
DEFINE_SAMPLE_ID(946, g_smidYutaka_r2, "yutaka-r2.wav");
DEFINE_SAMPLE_ID(947, g_smidYutaka_r3, "yutaka-r3.wav");
DEFINE_SAMPLE_ID(948, g_smidYutaka_r4, "yutaka-r4.wav");
DEFINE_SAMPLE_ID(949, g_smidYutaka_sc1, "yutaka-sc1.wav");
DEFINE_SAMPLE_ID(950, g_smidYutaka_sc2, "yutaka-sc2.wav");
DEFINE_SAMPLE_ID(951, g_smidYutaka_sc3, "yutaka-sc3.wav");
DEFINE_SAMPLE_ID(952, g_smidYutaka_sc4, "yutaka-sc4.wav");
DEFINE_SAMPLE_ID(953, g_smidYutaka_ss1, "yutaka-ss1.wav");
DEFINE_SAMPLE_ID(954, g_smidYutaka_ss2, "yutaka-ss2.wav");
DEFINE_SAMPLE_ID(955, g_smidYutaka_ss3, "yutaka-ss3.wav");
DEFINE_SAMPLE_ID(956, g_smidYutaka_ss4, "yutaka-ss4.wav");
#endif

//////////////////////////////////////////////////////////////////////////////
// Exported (extern) variables.
//////////////////////////////////////////////////////////////////////////////

// todo?
extern uint8_t g_ucMinimalSampleSet;
extern bool g_ucMinimalSampleSetEnabled;

// The SampleMaster's resmgr.
extern RResMgr g_resmgrSamples;
extern void PlayWithMyOrgan(); // actually in organ.cpp

//////////////////////////////////////////////////////////////////////////////
// Protos.
//////////////////////////////////////////////////////////////////////////////

// Set the volume for a category of sounds (0-SampleMaster::UserMaxVolume)
// returns SUCCESS if input is valid
int16_t SetCategoryVolume(
	SampleMaster::SoundCategory eType,
	int16_t sVolume = SampleMaster::UserMaxVolume);

//////////////////////////////////////////////////////////////////////////////
// Get the volume for a category of sounds (0-SampleMaster::UserMaxVolume)
// returns volume, or -1 if category is invalid.
//////////////////////////////////////////////////////////////////////////////
int16_t GetCategoryVolume(
	SampleMaster::SoundCategory eType = SampleMaster::Unspecified);

//////////////////////////////////////////////////////////////////////////////
// Set the current volume for a sound currently playing. (0-255)
// You need the volume ID returned from PlaySample.
// You will NOT get an error if number doesn't match.
// (It is assumed your sound has merely finished.)
// Returns SUCCESS or FAILURE
//////////////////////////////////////////////////////////////////////////////
int16_t SetInstanceVolume(
	SampleMaster::SoundInstance si, // make sure it is YOUR sound
	int16_t sVolume = 255);			// 0 - 255

//////////////////////////////////////////////////////////////////////////////
//
//		Calculate volume based on 3d distance... [ 1 / (R*R) ]
//		Distance is relative to the current sound position, which
//		is set independently by the App.
//
//		The attenuation radius is the distance at which volume is
//		half the original level.  (Very soft, but still audible)
//
//		Returns 0-255 for volume (255 = epicenter), or -1 on error
//
//////////////////////////////////////////////////////////////////////////////
int16_t DistanceToVolume(float fX, // in Postal 3d coordinates
						 float fY,
						 float fZ,
						 float fR // Sound half life
);

//////////////////////////////////////////////////////////////////////////////
//  Set the current 3d center of the sound being played
//////////////////////////////////////////////////////////////////////////////
void SetSoundLocation(float fX, float fY, float fZ);

// Cache a sample.  Causes sample to be loaded, if it is not.  This keeps it
// available in an instant until the next PurgeSamples() call.
void CacheSample(		// Returns nothing.
	SampleMasterID id); // Identifier of sample you want played.

// Plays a sample with volume adjustment.  This may require load from disk.
void PlaySample(							 // Returns nothing.
											 // Does not fail.
	SampleMasterID id,						 // In:  Identifier of sample you want played.
	SampleMaster::SoundCategory eType,		 // In:  Sound Volume Category for user adjustment
	int16_t sInitialVolume = 255,			 // In:  Initial Sound Volume (0 - 255)
	SampleMaster::SoundInstance *psi = NULL, // Out: Handle for adjusting sound volume
	int32_t *plSampleDuration = NULL,		 // Out: Sample duration in ms, if not NULL.
	int32_t lLoopStartTime = -1,			 // In:  Where to loop back to in milliseconds.
											 //	-1 indicates no looping (unless m_sLoop is
											 // explicitly set).
	int32_t lLoopEndTime = 0,				 // In:  Where to loop back from in milliseconds.
											 // In:  If less than 1, the end + lLoopEndTime is used.
	bool bPurgeSample = false);				 // In:  Call ReleaseAndPurge rather than Release after playing

// Checks if a particular sample is playing.
// Note: An ugly side effect is that this will cause the sample to
// load, if it is not already loaded.
bool IsSamplePlaying(	// Returns true, if the sample is playing,
						// false otherwise.
	SampleMasterID id); // Identifier of sample to be checked.

// Checks if the specified play instance is still going.
bool IsSamplePlaying(				 // Returns true, if the sample is playing,
									 // false otherwise.
	SampleMaster::SoundInstance si); // In:  Identifies play instance.

// Checks if any sample is playing.
bool IsSamplePlaying(void); // Returns true, if a sample is playing,
							// false otherwise.

// Aborts the specified play instance if it is still going.
int16_t AbortSample(				 // Returns 0 if sample aborted, 1 if not.
	SampleMaster::SoundInstance si); // In:  Identifies play instance.

// Purges all samples that are not in use.
void PurgeSamples(void); // Returns nothing.

// Purge sample.  Releases a particular sample.
// Note that this cannot be implemented with the current RResMgr, so it does
// not work.
void PurgeSample(		// Returns nothing.
	SampleMasterID id); // Identifier of sample you want played.

// Aborts all currently playing samples.
void AbortAllSamples(void); // Returns nothing.

// Pauses all active samples.
extern void PauseAllSamples();

// Resumes all paused samples.
extern void ResumeAllSamples();

// Stops looping the specified play instance.  That is, it will continue from
// its current play point to the end.
void StopLoopingSample(				 // Returns nothing.
	SampleMaster::SoundInstance si); // In:  Identifies play instance.

///////////////////////////////////////////////////////////////////////////////
////// Danger! Danger! //// Do not cross unless you have  /////////////////////
/////////////////////////// exhausted the rest of the API /////////////////////
/////////////////////////// for your task!!!!!!!!!!!!!!!! /////////////////////
///////////////////////////////////////////////////////////////////////////////

// If you must, you can access the RSnd.  IF YOU DO, READ THIS:
// This function will always return an RSnd, even if your play instance is
// long gone.
// THERE ARE LIMITATIONS TO WHAT YOU CAN DO WITH THIS RSND:
// 1) NEVER READ any value from the RSnd.  You may only WRITE to the RSnd.
RSnd *GetInstanceChannel(			 // Returns ptr to an RSnd.  Yours, if
									 // it has not finished with your sample.
									 // A generic one, otherwise.
	SampleMaster::SoundInstance si); // In:  Identifies play instance.

#endif // SAMPLEMASTER_H
//////////////////////////////////////////////////////////////////////////////
// EOF
//////////////////////////////////////////////////////////////////////////////
