//****************************************************************************************************
// 	Sound constants
//	Author: Drake, Helepolis
// 	Version 1.0
//	Library:
//		PlaySFX				- Plays the SFX by notifying all events (mainly function_sound.txt)
//		PlayVA				- Plays the VA (ry
//		PlayBGM				- Plays the BGM (ry
//		StopBGM				- Stops the BGM (ry
//****************************************************************************************************

// General sounds
let SFX_ACK = 0;
let SFX_ACK3 = 1;
let SFX_ALERT = 2;
let SFX_BALLHUM = 3;
let SFX_BALLMOVE = 4;
let SFX_BOON00 = 5;
let SFX_BOON01 = 6;
let SFX_BOXBEAT = 7;
let SFX_BOXNOISE = 8;
let SFX_BZZ = 9;
let SFX_BZZ0 = 10;
let SFX_BZZ1 = 11;
let SFX_CARDGET = 12;
let SFX_CAT00 = 13;
let SFX_CH00 = 14;
let SFX_CH01 = 15;
let SFX_CH02 = 16;
let SFX_CH03 = 17;
let SFX_CHANTING = 18;
let SFX_CHARGE00 = 19;
let SFX_CIRCSTART = 20;
let SFX_CROWD00 = 21;
let SFX_CROWD01 = 22;
let SFX_DAMAGE00 = 23;
let SFX_DAMAGE01 = 24;
let SFX_ENEP00 = 25;
let SFX_ENEP01 = 26;
let SFX_EXTEND = 27;
let SFX_FAULT = 28;
let SFX_GRAZE = 29;
let SFX_GUN00 = 30;
let SFX_ICE = 31;
let SFX_INFERNO = 32;
let SFX_ITEM00 = 33;
let SFX_ITEM01 = 34;
let SFX_KILL = 35;
let SFX_KIRA00 = 36;
let SFX_KIRA01 = 37;
let SFX_KIRA02 = 38;
let SFX_LANCE = 39;
let SFX_LAZER00 = 40;
let SFX_LAZER01 = 41;
let SFX_LAZER02 = 42;
let SFX_LAZER03 = 43;
let SFX_MENCANCEL = 44;
let SFX_MENPICK = 45;
let SFX_MISSILE = 46;
let SFX_MIX00 = 47;
let SFX_MIX01 = 48;
let SFX_NEP00 = 49;
let SFX_NODAMAGE = 50;
let SFX_OK00 = 51;
let SFX_OPHIDE = 52;
let SFX_OPSHOW = 53;
let SFX_OPTION = 54;
let SFX_PAUSE = 55;
let SFX_PLANE = 56;
let SFX_POWER0 = 57;
let SFX_POWER1 = 58;
let SFX_QUAKE = 59;
let SFX_SELECT00 = 60;
let SFX_SLASH = 61;
let SFX_SWOOSH = 62;
let SFX_SWOOSH1 = 63;
let SFX_SWOOSH2 = 64;
let SFX_TAN00 = 65;
let SFX_TAN01 = 66;
let SFX_TAN02 = 67;
let SFX_THUNDER00 = 68;
let SFX_THUNDER01 = 69;
let SFX_TICK00 = 70;
let SFX_TICK01 = 71;
let SFX_TIMEOUT = 72;
let SFX_TIMEOUT2 = 73;
let SFX_UFO = 74;
let SFX_UFOALERT = 75;
let SFX_USA00 = 76;
let SFX_FEATHER = 77;
let SFX_WATER = 78;
let SFX_WIND = 79;
let SFX_WIND0 = 80;

// Mainly player related sounds, but general usage possible
let SFX_DISCONEP00 = 81;
let SFX_EXPL00 = 82;
let SFX_FEVER00 = 83;
let SFX_PLDEAD00 = 84;
let SFX_PLST00 = 85;
let SFX_PSHOT = 86;
let SFX_SHANGHAIBOOM = 87;
let SFX_SPELLCARD = 88;
let SFX_SUKIMA = 89;

// Later on added sounds (should have been added before)
let SFX_DAME = 90;
let SFX_SPELLUP = 91;
let SFX_ACK2 = 92;
let SFX_PLDEAD01 = 93;

// Sounds added with v2.00
let SFX_CREAK = 94;
let SFX_WATERSPLASH = 95;
let SFX_WATERSTREAM = 96;

// Voice acting
let VA_REI1 = 0;
let VA_REI2 = 1;
let VA_YUK1 = 2;
let VA_YUK2 = 3;
let VA_MARI1 = 4;
let VA_MARI2 = 5;
let VA_ARI1 = 6;
let VA_ARI2 = 7;

// BGM
let BGM_DUMMY = 0;
let BGM_STG01 = 1;
let BGM_STG02 = 2;
let BGM_STG03 = 3; 
let BGM_BOSS01 = 4;
let BGM_BOSS02 = 5;
let BGM_BOSS03 = 6;
let BGM_PAUSE = 7;
let BGM_TITLE = 8;
let BGM_END = 9;

// Play SFX
function PlaySFX(id){
	NotifyEventAll(EV_USER+193, id);
}

// Play Voice
function PlayVA(id){
	//NotifyEventAll(EV_USER+143, id);
}

// Play BGM 
function PlayMusic(id){
	NotifyEventAll(EV_USER+104, id);

	if(id != BGM_PAUSE) {
	    SetAreaCommonData("sound", "song", id);
	    SaveCommonDataAreaA1("sound");
    }
}

// Stop BGM
function StopMusic(id) {
	NotifyEventAll(EV_USER+1040, id);
}

// Fade stop the music
function StopMusicFade(id) { 
	NotifyEventAll(EV_USER+1041, id);
}

// Fade stop the music
function StopAllMusic(id) { 
	NotifyEventAll(EV_USER+1042, id);
}

// Allow or don't allow songs to continue where they were stopped
function musicRestartEnable(id,type) { 
	NotifyEventAll(EV_USER+100, [id, type]);
}

// Adjust volume of BGM
function adjustBGMVol(id,vol) { 
	NotifyEventAll(EV_USER+101, [id, vol]);
}

// Stop all SFX
function StopAllSFX(id) { 
	NotifyEventAll(EV_USER+102, id);
}
