// sample animation script
//
//
// commands:
//	Animate <panel name> <variable> <target value> <interpolator> <start time> <duration>
//		variables:
//			FgColor
//			BgColor
//			Position
//			Size
//			Blur		(hud panels only)
//			TextColor	(hud panels only)
//			Ammo2Color	(hud panels only)
//			Alpha		(hud weapon selection only)
//			SelectionAlpha  (hud weapon selection only)
//			TextScan	(hud weapon selection only)
//
//		interpolator:
//			Linear
//			Accel - starts moving slow, ends fast
//			Deaccel - starts moving fast, ends slow
//			Spline - simple ease in/out curve
//			Pulse - < freq > over the duration, the value is pulsed (cosine) freq times ending at the dest value (assuming freq is integral)
//			Flicker - < randomness factor 0.0 to 1.0 > over duration, each frame if random # is less than factor, use end value, otherwise use prev value
//
//	RunEvent <event name> <start time>
//		starts another even running at the specified time
//
//	StopEvent <event name> <start time>
//		stops another event that is current running at the specified time
//
//	StopAnimation <panel name> <variable> <start time>
//		stops all animations refering to the specified variable in the specified panel
//
//	StopPanelAnimations <panel name> <start time>
//		stops all active animations operating on the specified panel
//
//  SetFont <panel name> <fontparameter> <fontname from scheme> <set time> 
//
//	SetTexture <panel name> <textureidname> <texturefilename> <set time>
//
//  SetString <panel name> <string varname> <stringvalue> <set time>

event LevelInit
{
}

event OpenWeaponSelectionMenu
{
	StopEvent CloseWeaponSelectionMenu	0.0
	StopEvent WeaponPickup				0.0

	// make the display visible
	Animate HudWeaponSelection Alpha 		"128"		Linear 0.0 0.1
	Animate HudWeaponSelection SelectionAlpha 	"255"	Linear 0.0 0.1
	Animate HudWeaponSelection FgColor		"FgColor"	Linear 0.0 0.1
	//Animate HudWeaponSelection TextColor	"BrightFg"	Linear 0.0 0.1
	Animate HudWeaponSelection TextScan		"1" 		Linear 0.0 0.1
}

event CloseWeaponSelectionMenu
{
	StopEvent CloseWeaponSelectionMenu	0.0
	StopEvent WeaponPickup				0.0

	// make the display visible
	Animate HudWeaponSelection Alpha 		"128"		Linear 0.0 0.1
	Animate HudWeaponSelection SelectionAlpha 	"255"	Linear 0.0 0.1
	Animate HudWeaponSelection FgColor		"FgColor"	Linear 0.0 0.1
	//Animate HudWeaponSelection TextColor	"BrightFg"	Linear 0.0 0.1
	Animate HudWeaponSelection TextScan		"1" 		Linear 0.0 0.1
}


event MenuOpen
{
	StopEvent	MenuClose 0.0 

	// fade in
	Animate HudMenu Alpha 		"255"		Linear 0.0 0.1
	Animate HudMenu SelectionAlpha 	"255"		Linear 0.0 0.1
	Animate HudMenu FgColor		"FgColor"		Linear 0.0 0.1
	Animate HudMenu MenuColor		"MenuColor"	Linear  0.0 0.1
	Animate HudMenu ItemColor		"ItemColor"	Linear 0.0 0.1
	Animate HudMenu TextScan		"1"		Linear 0.0 0.1

	// Undo any blur
	Animate HudMenu		Blur		"1"			Linear	0.0		0.01
}

event MenuClose
{	
	// Hide it
	Animate HudMenu Alpha 		"0" Linear 0.0 1
	Animate HudMenu SelectionAlpha 	"0" Linear 0.0 1
	Animate HudMenu FgColor		"0 0 0 0" Linear 0.0 1
	Animate HudMenu MenuColor		"0 0 0 0" Linear 0.0 1
	Animate HudMenu ItemColor		"0 0 0 0" Linear 0.0 1
}

event MenuPulse
{
	Animate HudMenu		Blur		"7"			Linear	0.0		0.1
	Animate HudMenu		Blur		"2"			Deaccel	0.1		0.1
	Animate HudMenu		Blur		"7"			Linear	0.2		0.1
	Animate HudMenu		Blur		"2"			Deaccel	0.3		0.1
	Animate HudMenu		Blur		"7"			Linear	0.4		0.1
	Animate HudMenu		Blur		"2"			Deaccel	0.5		0.1
	Animate	HudMenu		Blur		"1"			Deaccel	0.6		0.4
}

event TimerIncrement
{
	Animate HudTimer		Blur		"7"			Linear	0.0	0.1
	Animate HudTimer		Blur		"2"			Deaccel	0.1		0.8
	Animate	HudTimer		Blur		"0"			Deaccel	1.1		1.5
}

event TimerDecrement
{
	Animate HudTimer		Blur		"7"			Linear	0.0	0.1
	Animate HudTimer		Blur		"2"			Deaccel	0.1		0.8
	Animate	HudTimer		Blur		"0"			Deaccel	1.1		1.5
}


event ResourceIncrement
{
	Animate HudResources		Blur			"3"			Linear	0.0	0.0
	Animate HudResources		PulseAmount		"0"			Linear	0.0	0.01
	Animate HudResources		Blur			"1"			Deaccel	0.1	1.5
	Animate HudResources		PulseAmount		"1"			Linear	0.1	2

	Animate HudResources		PulseAmount		"0"			Linear	2	2
}

event ResourceDecrement
{
	Animate HudResources		Blur			"7"			Linear	0.0	0.0
	Animate HudResources		PulseAmount		"0"			Linear	0.0	0.01
	Animate HudResources		Blur			"1"			Deaccel	0.1	1.5
	Animate HudResources		PulseAmount		"1"			Linear	0.1	2

	Animate HudResources		PulseAmount		"0"			Linear	2	2
}

event ResourcePickup
{
	Animate HudResourcesPickup	Alpha			"255"			Linear	0	0
	Animate HudResourcesPickup	Position		"80 r40"		Linear	0	0
	Animate HudResourcesPickup	Position		"80 r120"		Deaccel	0	1
	Animate HudResourcesPickup	Blur			"7"			Deaccel 0	0.2
	Animate HudResourcesPickup	Alpha			"0"			Deaccel	.8	0.2
	Animate	HudResourcesPickup	Blur		"1"			Deaccel	0.2	0.3
}

event HintMessageShow
{
	Animate HudHintDisplay HintSize	"1"		Deaccel 0.0	0.3
	Animate HudHintDisplay FgColor	"FgColor" 	Linear 0.4      0.4

	// flash text
	Animate HudHintDisplay FgColor	"FgColor" 	Linear 1.5 0.01
	Animate HudHintDisplay FgColor	"255 220 0 255" Linear 2.0 0.2
	Animate HudHintDisplay FgColor	"FgColor" 	Linear 2.2 0.2
	Animate HudHintDisplay FgColor	"255 220 0 255" Linear 3.0 0.2
	Animate HudHintDisplay FgColor	"FgColor" 	Linear 3.2 0.2

	// hide the panel after a while	
	Animate HudHintDisplay FgColor	"255 220 0 0"   Linear  10.0 	0.2
	Animate HudHintDisplay HintSize	"0"		Deaccel 10.2	0.3
}


event HintMessageHide
{
	Animate HudHintDisplay FgColor	"255 220 0 0"   Linear  0.0 	0.2
	Animate HudHintDisplay HintSize	"0"		Deaccel 0.2	0.3
}

event KeyHintMessageShow
{
	// show the hints
	Animate HudHintKeyDisplay Alpha	255 Linear 0.0 0.5

	// flash text
	Animate HudHintKeyDisplay FgColor	"FgColor" 	Linear 0.0 0.01
	Animate HudHintKeyDisplay FgColor	"255 220 0 255" Linear 0.5 0.2
	Animate HudHintKeyDisplay FgColor	"FgColor" 	Linear 0.7 0.2
	Animate HudHintKeyDisplay FgColor	"255 220 0 255" Linear 1.5 0.2
	Animate HudHintKeyDisplay FgColor	"FgColor" 	Linear 1.7 0.2

	// hide the panel after a while	
	Animate HudHintKeyDisplay Alpha	0 Linear 12.0 1.0
}

event KeyHintMessageHide
{
	Animate HudHintKeyDisplay Alpha	0 Linear 0.0 0.5
}

//===========================================

//Health Bonus Pulse
event HudHealthBonusPulse
{
	Animate	PlayerStatusHealthBonusImage 	Alpha		"255"		Linear 0.0 0.2
	Animate	PlayerStatusHealthBonusImage 	Alpha		"0"			Linear 0.2 0.4

	RunEvent HudHealthBonusPulseLoop	0.4
}

// call to loop HudHealthBonusPulse
event HudHealthBonusPulseLoop
{
	RunEvent HudHealthBonusPulse 0.0
}

event HudHealthBonusPulseStop
{
	StopEvent HudHealthBonusPulse 0.0
	StopEvent HudHealthBonusPulseLoop 0.0
}

//===========================================

//Health Dying Pulse
event HudHealthDyingPulse
{
	Animate	PlayerStatusHealthBonusImage 	Alpha		"255"		Linear 0.0 0.075
	Animate	PlayerStatusHealthBonusImage 	Alpha		"0"			Linear 0.125 0.075
	
	RunEvent HudHealthDyingPulseLoop	0.25
}

// call to loop HudHealthDyingPulse
event HudHealthDyingPulseLoop
{
	RunEvent HudHealthDyingPulse 0.0
}

event HudHealthDyingPulseStop
{
	StopEvent HudHealthDyingPulse 0.0
	StopEvent HudHealthDyingPulseLoop 0.0
}

//===========================================

//Armor Dying Pulse
event HudArmorDyingPulse
{
	Animate	PlayerStatusArmorBonusImage 	Alpha		"255"		Linear 0.0 0.075
	Animate	PlayerStatusArmorBonusImage 	Alpha		"0"			Linear 0.125 0.075
	
	RunEvent HudArmorDyingPulseLoop	0.25
}

// call to loop HudArmorDyingPulse
event HudArmorDyingPulseLoop
{
	RunEvent HudArmorDyingPulse 0.0
}

event HudHealthDyingPulseStop
{
	StopEvent HudArmorDyingPulse 0.0
	StopEvent HudArmorDyingPulseLoop 0.0
}

//===========================================

event ControlPointIconShrink
{
	Animate HudControlPointIcons icon_expand "0" Linear 0.0 0.2
}

event ControlPointIconGrow
{
	Animate HudControlPointIcons icon_expand "4" Linear 0.0 0.2
}

// Metal Account

//activecolor - instantly turn red, fade back to yellow
event AccountMoneyRemoved
{
	Animate HudAccount		FgColor	"HudIcon_Red" Linear 0.0 0.0001
	Animate HudAccount		FgColor	"OrangeDim" Accel 0.0 3.0

	Animate	HudAccount		Ammo2Color "HudIcon_Red" Linear 0.0 0.0001
	Animate HudAccount		Ammo2Color "0 0 0 0" Accel 0.0 3.0
}

//activecolor - instantly turn green, fade back to yellow
event AccountMoneyAdded
{
	Animate HudAccount		FgColor	"HudIcon_Green" Linear 0.0 0.0001
	Animate HudAccount		FgColor	"OrangeDim" Accel 0.0 3.0

	Animate HudAccount		Ammo2Color "HudIcon_Green" Accel 0.0 0.0001
	Animate HudAccount		Ammo2Color "0 0 0 0" Accel 0.0 3.0
}

event AccountMoneyInvisible
{
	Animate HudAccount		FgColor	"OrangeDim" Accel 0.0 0.0001
	Animate HudAccount		Ammo2Color "0 0 0 0" Accel 0.0 0.0001
}

//===========================================

event FlagOutlineHide
{
	Animate OutlineImage	Alpha		"0"				Linear 0.0 0.1
}

// Local player flag pickup/drop
event FlagOutline
{
	RunEvent FlagOutlineHide 0.0
	Animate OutlineImage	Alpha		"255"			Linear 0.1 0.2
	
	Animate OutlineImage	Position	"c-200 140"		Linear 0.1 0.2
	Animate OutlineImage	Size		"400 200"		Linear 0.1 0.2

	Animate OutlineImage	Position	"c-50 r137"		Linear 0.7 0.2	[$WIN32]
	Animate OutlineImage	Position	"c-50 r158"		Linear 0.7 0.2	[$X360]
	Animate OutlineImage	Size		"100 50"		Linear 0.7 0.2
	
	Animate OutlineImage	Alpha		"0"				Linear 0.9 0.1
}

//===========================================

// Spy Disguise
event HudSpyDisguiseChanged
{
	Animate PlayerStatusSpyOutlineImage		Alpha		"255"			Linear 0.0 0.2
	
	Animate PlayerStatusSpyOutlineImage		Position	"c-200 c-200"	Linear 0.0 0.2
	Animate PlayerStatusSpyOutlineImage		Size		"400 400"		Linear 0.0 0.2

	RunEvent HudSpyDisguiseHide	0.7
}

event HudSpyDisguiseHide
{
	Animate PlayerStatusSpyOutlineImage		Position	"3 413"			Linear 0.0 0.2
	Animate PlayerStatusSpyOutlineImage		Size		"55 55"			Linear 0.0 0.2
	
	Animate PlayerStatusSpyOutlineImage		Alpha		"0"				Linear 0.2 0.1
}

event HudSpyDisguiseFadeIn
{
	RunEvent HudSpyDisguiseChanged	0
	Animate PlayerStatusSpyImage			Alpha		"255"			Linear 0.9 0.1	
}

event HudSpyDisguiseFadeOut
{
	RunEvent HudSpyDisguiseChanged	0
	Animate PlayerStatusSpyImage			Alpha		"0"				Linear 0.9 0.1	
}

//===========================================

// Show the Overtime panel
event OvertimeShow
{
	Animate OvertimeLabel				Alpha		"255"			Linear 0.0 0.1	
	Animate OvertimeBG					Alpha		"255"			Linear 0.0 0.1	
}


event HudSnapShotReminderIn
{
	Animate ScreenshotPanelBG		Position	"c-83 13"	Spline 0.0 0.2
	Animate ScreenshotIcon			Position	"c-80 5"	Spline 0.0 0.2
	Animate ScreenshotLabel			Position	"c-43 27"	Spline 0.0 0.2
}


//====================================

// Flash the medic charge hud when we have full charge

event HudMedicCharged
{
	Animate	ChargeLabel 	FgColor		"TanLight"		Linear 0.0 0.1
	Animate	ChargeLabel 	FgColor		"TanDarker"		Linear 0.3 0.4
	
	Animate	ChargeMeter 	FgColor		"TanLight"		Linear 0.0 0.1
	Animate	ChargeMeter 	FgColor		"TanDarker"		Linear 0.3 0.4

	RunEvent HudMedicChargedLoop	0.6
}

// call to loop HudHealthBonusPulse
event HudMedicChargedLoop
{
	RunEvent HudMedicCharged 0.0
}

event HudMedicChargedStop
{
	StopEvent HudMedicCharged 0.0
	StopEvent HudMedicChargedLoop 0.0
	
	Animate	ChargeLabel 	FgColor		"TanLight"		Linear 0.0 0.0001
	Animate	ChargeMeter 	FgColor		"TanLight"		Linear 0.0 0.0001
}

//====================================

event VideoCaptionFadeIn
{
	Animate VideoCaption	Alpha		"255"			Linear 0.0 0.1
}

event VideoCaptionFadeOut
{
	Animate VideoCaption	Alpha		"0"				Linear 0.0 0.1
}