/*
===========================================================================

Doom 3 BFG Edition GPL Source Code
Copyright (C) 1993-2012 id Software LLC, a ZeniMax Media company. 

This file is part of the Doom 3 BFG Edition GPL Source Code ("Doom 3 BFG Edition Source Code").  

Doom 3 BFG Edition Source Code is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Doom 3 BFG Edition Source Code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Doom 3 BFG Edition Source Code.  If not, see <http://www.gnu.org/licenses/>.

In addition, the Doom 3 BFG Edition Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 BFG Edition Source Code.  If not, please request a copy in writing from id Software at the address below.

If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.

===========================================================================
*/

#include "Precompiled.h"
#include "globaldata.h"


#include "doomtype.h"
#include "sounds.h"

//
// Information about all the music
//



//
// Information about all the sfx
//

sfxinfo_t S_sfx[128] =
{
  // S_sfx[0] needs to be a dummy for odd reasons.
  { "none", false,  0, 0, -1, -1, 0 },

  { "pistol", false, 64, 0, -1, -1, 0 },
  { "shotgn", false, 64, 0, -1, -1, 0 },
  { "sgcock", false, 64, 0, -1, -1, 0 },
  { "dshtgn", false, 64, 0, -1, -1, 0 },
  { "dbopn", false, 64, 0, -1, -1, 0 },
  { "dbcls", false, 64, 0, -1, -1, 0 },
  { "dbload", false, 64, 0, -1, -1, 0 },
  { "plasma", false, 64, 0, -1, -1, 0 },
  { "bfg", false, 64, 0, -1, -1, 0 },
  { "sawup", false, 64, 0, -1, -1, 0 },
  { "sawidl", false, 118, 0, -1, -1, 0 },
  { "sawful", false, 64, 0, -1, -1, 0 },
  { "sawhit", false, 64, 0, -1, -1, 0 },
  { "rlaunc", false, 64, 0, -1, -1, 0 },
  { "rxplod", false, 70, 0, -1, -1, 0 },
  { "firsht", false, 70, 0, -1, -1, 0 },
  { "firxpl", false, 70, 0, -1, -1, 0 },
  { "pstart", false, 100, 0, -1, -1, 0 },
  { "pstop", false, 100, 0, -1, -1, 0 },
  { "doropn", false, 100, 0, -1, -1, 0 },
  { "dorcls", false, 100, 0, -1, -1, 0 },
  { "stnmov", false, 119, 0, -1, -1, 0 },
  { "swtchn", false, 78, 0, -1, -1, 0 },
  { "swtchx", false, 78, 0, -1, -1, 0 },
  { "plpain", false, 96, 0, -1, -1, 0 },
  { "dmpain", false, 96, 0, -1, -1, 0 },
  { "popain", false, 96, 0, -1, -1, 0 },
  { "vipain", false, 96, 0, -1, -1, 0 },
  { "mnpain", false, 96, 0, -1, -1, 0 },
  { "pepain", false, 96, 0, -1, -1, 0 },
  { "slop", false, 78, 0, -1, -1, 0 },
  { "itemup", true, 78, 0, -1, -1, 0 },
  { "wpnup", true, 78, 0, -1, -1, 0 },
  { "oof", false, 96, 0, -1, -1, 0 },
  { "telept", false, 32, 0, -1, -1, 0 },
  { "posit1", true, 98, 0, -1, -1, 0 },
  { "posit2", true, 98, 0, -1, -1, 0 },
  { "posit3", true, 98, 0, -1, -1, 0 },
  { "bgsit1", true, 98, 0, -1, -1, 0 },
  { "bgsit2", true, 98, 0, -1, -1, 0 },
  { "sgtsit", true, 98, 0, -1, -1, 0 },
  { "cacsit", true, 98, 0, -1, -1, 0 },
  { "brssit", true, 94, 0, -1, -1, 0 },
  { "cybsit", true, 92, 0, -1, -1, 0 },
  { "spisit", true, 90, 0, -1, -1, 0 },
  { "bspsit", true, 90, 0, -1, -1, 0 },
  { "kntsit", true, 90, 0, -1, -1, 0 },
  { "vilsit", true, 90, 0, -1, -1, 0 },
  { "mansit", true, 90, 0, -1, -1, 0 },
  { "pesit", true, 90, 0, -1, -1, 0 },
  { "sklatk", false, 70, 0, -1, -1, 0 },
  { "sgtatk", false, 70, 0, -1, -1, 0 },
  { "skepch", false, 70, 0, -1, -1, 0 },
  { "vilatk", false, 70, 0, -1, -1, 0 },
  { "claw", false, 70, 0, -1, -1, 0 },
  { "skeswg", false, 70, 0, -1, -1, 0 },
  { "pldeth", false, 32, 0, -1, -1, 0 },
  { "pdiehi", false, 32, 0, -1, -1, 0 },
  { "podth1", false, 70, 0, -1, -1, 0 },
  { "podth2", false, 70, 0, -1, -1, 0 },
  { "podth3", false, 70, 0, -1, -1, 0 },
  { "bgdth1", false, 70, 0, -1, -1, 0 },
  { "bgdth2", false, 70, 0, -1, -1, 0 },
  { "sgtdth", false, 70, 0, -1, -1, 0 },
  { "cacdth", false, 70, 0, -1, -1, 0 },
  { "skldth", false, 70, 0, -1, -1, 0 },
  { "brsdth", false, 32, 0, -1, -1, 0 },
  { "cybdth", false, 32, 0, -1, -1, 0 },
  { "spidth", false, 32, 0, -1, -1, 0 },
  { "bspdth", false, 32, 0, -1, -1, 0 },
  { "vildth", false, 32, 0, -1, -1, 0 },
  { "kntdth", false, 32, 0, -1, -1, 0 },
  { "pedth", false, 32, 0, -1, -1, 0 },
  { "skedth", false, 32, 0, -1, -1, 0 },
  { "posact", true, 120, 0, -1, -1, 0 },
  { "bgact", true, 120, 0, -1, -1, 0 },
  { "dmact", true, 120, 0, -1, -1, 0 },
  { "bspact", true, 100, 0, -1, -1, 0 },
  { "bspwlk", true, 100, 0, -1, -1, 0 },
  { "vilact", true, 100, 0, -1, -1, 0 },
  { "noway", false, 78, 0, -1, -1, 0 },
  { "barexp", false, 60, 0, -1, -1, 0 },
  { "punch", false, 64, 0, -1, -1, 0 },
  { "hoof", false, 70, 0, -1, -1, 0 },
  { "metal", false, 70, 0, -1, -1, 0 },
  { "chgun", false, 64, &S_sfx[sfx_pistol], 150, 0, 0 },
  { "tink", false, 60, 0, -1, -1, 0 },
  { "bdopn", false, 100, 0, -1, -1, 0 },
  { "bdcls", false, 100, 0, -1, -1, 0 },
  { "itmbk", false, 100, 0, -1, -1, 0 },
  { "flame", false, 32, 0, -1, -1, 0 },
  { "flamst", false, 32, 0, -1, -1, 0 },
  { "getpow", false, 60, 0, -1, -1, 0 },
  { "bospit", false, 70, 0, -1, -1, 0 },
  { "boscub", false, 70, 0, -1, -1, 0 },
  { "bossit", false, 70, 0, -1, -1, 0 },
  { "bospn", false, 70, 0, -1, -1, 0 },
  { "bosdth", false, 70, 0, -1, -1, 0 },
  { "manatk", false, 70, 0, -1, -1, 0 },
  { "mandth", false, 70, 0, -1, -1, 0 },
  { "sssit", false, 70, 0, -1, -1, 0 },
  { "ssdth", false, 70, 0, -1, -1, 0 },
  { "keenpn", false, 70, 0, -1, -1, 0 },
  { "keendt", false, 70, 0, -1, -1, 0 },
  { "skeact", false, 70, 0, -1, -1, 0 },
  { "skesit", false, 70, 0, -1, -1, 0 },
  { "skeatk", false, 70, 0, -1, -1, 0 },
  { "radio", false, 60, 0, -1, -1, 0 } 
};
//GK: More Headache than it's worth
//GK: DeHackeD change it and it must reset
void ResetSfx() {
	sfxinfo_t tS_sfx[128] =
	{
		// S_sfx[0] needs to be a dummy for odd reasons.
		{ "none", false,  0, 0, -1, -1, 0 },

		{ "pistol", false, 64, 0, -1, -1, 0 },
		{ "shotgn", false, 64, 0, -1, -1, 0 },
		{ "sgcock", false, 64, 0, -1, -1, 0 },
		{ "dshtgn", false, 64, 0, -1, -1, 0 },
		{ "dbopn", false, 64, 0, -1, -1, 0 },
		{ "dbcls", false, 64, 0, -1, -1, 0 },
		{ "dbload", false, 64, 0, -1, -1, 0 },
		{ "plasma", false, 64, 0, -1, -1, 0 },
		{ "bfg", false, 64, 0, -1, -1, 0 },
		{ "sawup", false, 64, 0, -1, -1, 0 },
		{ "sawidl", false, 118, 0, -1, -1, 0 },
		{ "sawful", false, 64, 0, -1, -1, 0 },
		{ "sawhit", false, 64, 0, -1, -1, 0 },
		{ "rlaunc", false, 64, 0, -1, -1, 0 },
		{ "rxplod", false, 70, 0, -1, -1, 0 },
		{ "firsht", false, 70, 0, -1, -1, 0 },
		{ "firxpl", false, 70, 0, -1, -1, 0 },
		{ "pstart", false, 100, 0, -1, -1, 0 },
		{ "pstop", false, 100, 0, -1, -1, 0 },
		{ "doropn", false, 100, 0, -1, -1, 0 },
		{ "dorcls", false, 100, 0, -1, -1, 0 },
		{ "stnmov", false, 119, 0, -1, -1, 0 },
		{ "swtchn", false, 78, 0, -1, -1, 0 },
		{ "swtchx", false, 78, 0, -1, -1, 0 },
		{ "plpain", false, 96, 0, -1, -1, 0 },
		{ "dmpain", false, 96, 0, -1, -1, 0 },
		{ "popain", false, 96, 0, -1, -1, 0 },
		{ "vipain", false, 96, 0, -1, -1, 0 },
		{ "mnpain", false, 96, 0, -1, -1, 0 },
		{ "pepain", false, 96, 0, -1, -1, 0 },
		{ "slop", false, 78, 0, -1, -1, 0 },
		{ "itemup", true, 78, 0, -1, -1, 0 },
		{ "wpnup", true, 78, 0, -1, -1, 0 },
		{ "oof", false, 96, 0, -1, -1, 0 },
		{ "telept", false, 32, 0, -1, -1, 0 },
		{ "posit1", true, 98, 0, -1, -1, 0 },
		{ "posit2", true, 98, 0, -1, -1, 0 },
		{ "posit3", true, 98, 0, -1, -1, 0 },
		{ "bgsit1", true, 98, 0, -1, -1, 0 },
		{ "bgsit2", true, 98, 0, -1, -1, 0 },
		{ "sgtsit", true, 98, 0, -1, -1, 0 },
		{ "cacsit", true, 98, 0, -1, -1, 0 },
		{ "brssit", true, 94, 0, -1, -1, 0 },
		{ "cybsit", true, 92, 0, -1, -1, 0 },
		{ "spisit", true, 90, 0, -1, -1, 0 },
		{ "bspsit", true, 90, 0, -1, -1, 0 },
		{ "kntsit", true, 90, 0, -1, -1, 0 },
		{ "vilsit", true, 90, 0, -1, -1, 0 },
		{ "mansit", true, 90, 0, -1, -1, 0 },
		{ "pesit", true, 90, 0, -1, -1, 0 },
		{ "sklatk", false, 70, 0, -1, -1, 0 },
		{ "sgtatk", false, 70, 0, -1, -1, 0 },
		{ "skepch", false, 70, 0, -1, -1, 0 },
		{ "vilatk", false, 70, 0, -1, -1, 0 },
		{ "claw", false, 70, 0, -1, -1, 0 },
		{ "skeswg", false, 70, 0, -1, -1, 0 },
		{ "pldeth", false, 32, 0, -1, -1, 0 },
		{ "pdiehi", false, 32, 0, -1, -1, 0 },
		{ "podth1", false, 70, 0, -1, -1, 0 },
		{ "podth2", false, 70, 0, -1, -1, 0 },
		{ "podth3", false, 70, 0, -1, -1, 0 },
		{ "bgdth1", false, 70, 0, -1, -1, 0 },
		{ "bgdth2", false, 70, 0, -1, -1, 0 },
		{ "sgtdth", false, 70, 0, -1, -1, 0 },
		{ "cacdth", false, 70, 0, -1, -1, 0 },
		{ "skldth", false, 70, 0, -1, -1, 0 },
		{ "brsdth", false, 32, 0, -1, -1, 0 },
		{ "cybdth", false, 32, 0, -1, -1, 0 },
		{ "spidth", false, 32, 0, -1, -1, 0 },
		{ "bspdth", false, 32, 0, -1, -1, 0 },
		{ "vildth", false, 32, 0, -1, -1, 0 },
		{ "kntdth", false, 32, 0, -1, -1, 0 },
		{ "pedth", false, 32, 0, -1, -1, 0 },
		{ "skedth", false, 32, 0, -1, -1, 0 },
		{ "posact", true, 120, 0, -1, -1, 0 },
		{ "bgact", true, 120, 0, -1, -1, 0 },
		{ "dmact", true, 120, 0, -1, -1, 0 },
		{ "bspact", true, 100, 0, -1, -1, 0 },
		{ "bspwlk", true, 100, 0, -1, -1, 0 },
		{ "vilact", true, 100, 0, -1, -1, 0 },
		{ "noway", false, 78, 0, -1, -1, 0 },
		{ "barexp", false, 60, 0, -1, -1, 0 },
		{ "punch", false, 64, 0, -1, -1, 0 },
		{ "hoof", false, 70, 0, -1, -1, 0 },
		{ "metal", false, 70, 0, -1, -1, 0 },
		{ "chgun", false, 64, &S_sfx[sfx_pistol], 150, 0, 0 },
		{ "tink", false, 60, 0, -1, -1, 0 },
		{ "bdopn", false, 100, 0, -1, -1, 0 },
		{ "bdcls", false, 100, 0, -1, -1, 0 },
		{ "itmbk", false, 100, 0, -1, -1, 0 },
		{ "flame", false, 32, 0, -1, -1, 0 },
		{ "flamst", false, 32, 0, -1, -1, 0 },
		{ "getpow", false, 60, 0, -1, -1, 0 },
		{ "bospit", false, 70, 0, -1, -1, 0 },
		{ "boscub", false, 70, 0, -1, -1, 0 },
		{ "bossit", false, 70, 0, -1, -1, 0 },
		{ "bospn", false, 70, 0, -1, -1, 0 },
		{ "bosdth", false, 70, 0, -1, -1, 0 },
		{ "manatk", false, 70, 0, -1, -1, 0 },
		{ "mandth", false, 70, 0, -1, -1, 0 },
		{ "sssit", false, 70, 0, -1, -1, 0 },
		{ "ssdth", false, 70, 0, -1, -1, 0 },
		{ "keenpn", false, 70, 0, -1, -1, 0 },
		{ "keendt", false, 70, 0, -1, -1, 0 },
		{ "skeact", false, 70, 0, -1, -1, 0 },
		{ "skesit", false, 70, 0, -1, -1, 0 },
		{ "skeatk", false, 70, 0, -1, -1, 0 },
		{ "radio", false, 60, 0, -1, -1, 0 }
	};
	memcpy(S_sfx, tS_sfx, sizeof(tS_sfx));
}