diff --git a/src/HUDAnimationsTests/HUDAnimationsSerializerTests.cs b/src/HUDAnimationsTests/HUDAnimationsSerializerTests.cs new file mode 100644 index 0000000..a03c53c --- /dev/null +++ b/src/HUDAnimationsTests/HUDAnimationsSerializerTests.cs @@ -0,0 +1,28 @@ +using System; +using System.IO; +using System.Globalization; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using HUDAnimations.Models; + +namespace HUDAnimations.Tests; + +[TestClass()] +public class HUDAnimationsSerializerTests +{ + [TestMethod()] + public void SerializeTest() + { + HUDAnimationsFile animations = HUDAnimationsSerializer.Deserialize(File.ReadAllText("HUDAnimationsSerializerTests/scripts/hudanimations_tf.txt")); + string text = HUDAnimationsSerializer.Serialize(animations); + + CultureInfo currentCulture = CultureInfo.CurrentCulture; + + foreach (CultureInfo culture in CultureInfo.GetCultures(CultureTypes.AllCultures)) + { + CultureInfo.CurrentCulture = culture; + Assert.AreEqual(text, HUDAnimationsSerializer.Serialize(animations)); + } + + CultureInfo.CurrentCulture = currentCulture; + } +} diff --git a/src/HUDAnimationsTests/HUDAnimationsSerializerTests/scripts/hudanimations_tf.txt b/src/HUDAnimationsTests/HUDAnimationsSerializerTests/scripts/hudanimations_tf.txt new file mode 100644 index 0000000..5747bfb --- /dev/null +++ b/src/HUDAnimationsTests/HUDAnimationsSerializerTests/scripts/hudanimations_tf.txt @@ -0,0 +1,2322 @@ +// sample animation script +// +// +// commands: +// Animate +// 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 +// Gain - < bias > Lower bias values bias towards 0.5 and higher bias values bias away from it. +// Bias - < bias > Lower values bias the curve towards 0 and higher values bias it towards 1. +// +// RunEvent +// starts another even running at the specified time +// +// StopEvent +// stops another event that is current running at the specified time +// +// StopAnimation +// stops all animations refering to the specified variable in the specified panel +// +// StopPanelAnimations +// stops all active animations operating on the specified panel +// +// SetFont +// +// SetTexture +// +// SetString + +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 +} + +//=========================================== + +event HudLowAmmoPulse +{ + Animate HudWeaponLowAmmoImage Alpha "255" Linear 0.0 0.075 + Animate HudWeaponLowAmmoImage Alpha "0" Linear 0.125 0.075 + + RunEvent HudLowAmmoPulseLoop 0.25 +} + +// call to loop HudLowAmmoPulse +event HudLowAmmoPulseLoop +{ + RunEvent HudLowAmmoPulse 0.0 +} + +event HudLowAmmoPulseStop +{ + StopEvent HudLowAmmoPulse 0.0 + StopEvent HudLowAmmoPulseLoop 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 ScreenshotPanel Position "c-83 -50" Linear 0.0 0.001 + Animate ScreenshotPanel Position "c-83 13" Spline 0.001 0.2 +} + +event HudReplayReminderIn // Places the replay reminder in the same place as the snapshot reminder +{ + Animate ReplayReminder Position "c-83 -50" Linear 0.0 0.001 + Animate ReplayReminder Position "c-83 13" Spline 0.001 0.2 +} + +event HudReplayReminderIn2 // Puts the panel below the snapshot panel +{ + Animate ReplayReminder Position "c-83 -50" Linear 0.0 0.001 + Animate ReplayReminder Position "c-83 53" Spline 0.001 0.2 +} + +event HudReplayTipIn +{ + Animate ReplayTip Position "10 -100" Linear 0.0 0.001 + Animate ReplayTip Position "10 6" Spline 0.001 0.1 +} + +event HudReplayTipOut +{ + Animate ReplayTip Position "10 6" Linear 0.0 0.001 + Animate ReplayTip Position "10 -100" Spline 0.001 0.1 +} + +event HudTournamentSetupPanelOpen +{ + Animate HudTournamentSetup Position "c-90 -70" Linear 0.0 0.001 + Animate HudTournamentSetup Position "c-90 70" Spline 0.001 0.2 +} + +event HudTournamentSetupPanelClose +{ + Animate HudTournamentSetup Position "c-90 70" Linear 0.0 0.001 + Animate HudTournamentSetup Position "c-90 -70" Spline 0.001 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 +} + +//==================================== + +// arena + +event ArenaVsPanelOnShow +{ + Animate bluepanel Position "-200 50" Linear 0.0 0.001 + Animate redpanel Position "r-200 140" Linear 0.0 0.001 + Animate vslabel Alpha "0" Linear 0.0 0.001 + + RunEvent ArenaVsPanelSlideIn 1.0 + RunEvent ArenaVsPanelSlideOut 4.8 +} + +event ArenaVsPanelSlideIn +{ + Animate bluepanel Position "c-100 50" Spline 0.0 0.2 + Animate redpanel Position "c-100 140" Spline 0.0 0.2 + Animate vslabel Alpha "255" Linear 0.15 0.2 +} + +event ArenaVsPanelSlideOut +{ + Animate bluepanel Position "-200 50" Spline 0.0 0.2 + Animate redpanel Position "r-200 140" Spline 0.0 0.2 + Animate vslabel Alpha "0" Linear 0.0 0.05 +} + +//=========================================== + +//Cart Alarm Pulse +event HudCartAlarmPulse +{ + Animate EscortItemImageAlert Alpha "160" Linear 0.0 0.3 + Animate EscortItemImageAlert Alpha "0" Linear 0.6 0.3 + + RunEvent HudCartAlarmPulseLoop 1.2 +} + +event HudCartAlarmPulseLoop +{ + RunEvent HudCartAlarmPulse 0.0 +} + +event HudCartAlarmPulseStop +{ + StopEvent HudCartAlarmPulse 0.0 + StopEvent HudCartAlarmPulseLoop 0.0 +} + +//=========================================== + +// Active Timer BG Pulse +event ActiveTimerBGPulse +{ + Animate ActiveTimerBG Alpha "0" Linear 0.1 0.1 + Animate ActiveTimerBG Alpha "255" Linear 0.3 0.1 + + Animate ActiveTimerBG Alpha "0" Linear 0.5 0.1 + Animate ActiveTimerBG Alpha "255" Linear 0.7 0.1 + + Animate ActiveTimerBG Alpha "0" Linear 0.9 0.1 + Animate ActiveTimerBG Alpha "255" Linear 1.1 0.1 +} + +event ActiveTimerHighlight +{ + Animate TimePanelValue FgColor TanLight Linear 0.1 0.1 + Animate TimePanelValue FgColor "142 134 115 255" Linear 0.3 0.1 + + Animate TimePanelValue FgColor TanLight Linear 0.5 0.1 + Animate TimePanelValue FgColor "142 134 115 255" Linear 0.7 0.1 + + Animate TimePanelValue FgColor TanLight Linear 0.9 0.1 + Animate TimePanelValue FgColor "142 134 115 255" Linear 1.1 0.1 + + Animate TimePanelValue FgColor TanLight Linear 1.3 0.3 + +} + +event ActiveTimerDim +{ + // Slow fade out + Animate TimePanelValue FgColor "142 134 115 255" Linear 0.0 0.4 +} + +//=========================================== + +event OvertimeLabelPulseRed +{ + Animate OvertimeLabel FgColor TanLight Linear 0.0 0.3 + Animate OvertimeLabel FgColor RedSolid Linear 0.3 0.3 + + RunEvent OvertimeLabelPulseRed 0.6 +} + +event SuddenDeathLabelPulseRed +{ + Animate SuddenDeathLabel FgColor TanLight Linear 0.0 0.3 + Animate SuddenDeathLabel FgColor RedSolid Linear 0.3 0.3 + + RunEvent SuddenDeathLabelPulseRed 0.2 +} + +//=========================================== + +event TeamsFullArrowAnimate +{ + Animate TeamsFullArrow Position "c-118 165" Linear 0 0 + Animate TeamsFullArrow Position "c-118 180" Linear 0 0.4 + Animate TeamsFullArrow Position "c-118 165" Linear 0.4 0.4 + + RunEvent TeamsFullArrowAnimateLoop 0.8 +} + +event TeamsFullArrowAnimateLoop +{ + RunEvent TeamsFullArrowAnimate 0.0 +} + +event TeamsFullArrowAnimateEnd +{ + StopEvent TeamsFullArrowAnimate 0.0 + StopEvent TeamsFullArrowAnimateLoop 0.0 +} + +//=========================================== + +event TrainingHudBounce +{ + Animate ObjectiveStatusTraining Position "c-160 r187" Linear 0 0 + Animate ObjectiveStatusTraining Position "c-160 r127" Bounce 0.0 2.0 +} + +event TrainingPressSpacebarBlink +{ + Animate PressSpacebarToContinue Alpha "255" Linear 0.0 0.1 + Animate PressSpacebarToContinue Alpha "0" Linear 0.2 0.1 + + Animate PressSpacebarToContinue Alpha "255" Linear 0.4 0.1 + Animate PressSpacebarToContinue Alpha "0" Linear 0.6 0.1 + + Animate PressSpacebarToContinue Alpha "255" Linear 0.8 0.1 + Animate PressSpacebarToContinue Alpha "0" Linear 1.0 0.1 + + Animate PressSpacebarToContinue Alpha "255" Linear 1.2 0.1 + + RunEvent TrainingPressSpacebarBlinkLoop 3.0 +} + +event TrainingPressSpacebarBlinkLoop +{ + RunEvent TrainingPressSpacebarBlink 0.0 +} + +event TrainingPressSpacebarBlinkStop +{ + StopEvent TrainingPressSpacebarBlink 0.0 + StopEvent TrainingPressSpacebarBlinkLoop 0.0 +} + +//=========================================== + +event IntroMovieContinueBlink +{ + Animate continue Alpha "255" Linear 0.0 0.1 + Animate continue Alpha "0" Linear 0.2 0.1 + + Animate continue Alpha "255" Linear 0.4 0.1 + Animate continue Alpha "0" Linear 0.6 0.1 + + Animate continue Alpha "255" Linear 0.8 0.1 + Animate continue Alpha "0" Linear 1.0 0.1 + + Animate continue Alpha "255" Linear 1.2 0.1 + + RunEvent IntroMovieContinueBlinkLoop 2.0 +} + +event IntroMovieContinueBlinkLoop +{ + RunEvent IntroMovieContinueBlink 0.0 +} + +event IntroMovieContinueBlinkStop +{ + StopEvent IntroMovieContinueBlink 0.0 + StopEvent IntroMovieContinueBlinkLoop 0.0 +} + +//=========================================== + +event HasMOTDBlink +{ + Animate MOTD_ShowButtonPanel_SB Alpha "255" Linear 0.0 0.1 + Animate MOTD_ShowButtonPanel_SB Alpha "0" Linear 0.2 0.1 + + Animate MOTD_ShowButtonPanel_SB Alpha "255" Linear 0.4 0.1 + Animate MOTD_ShowButtonPanel_SB Alpha "0" Linear 0.6 0.1 + + Animate MOTD_ShowButtonPanel_SB Alpha "255" Linear 0.8 0.1 + Animate MOTD_ShowButtonPanel_SB Alpha "0" Linear 1.0 0.1 + + Animate MOTD_ShowButtonPanel_SB Alpha "255" Linear 1.2 0.1 + + RunEvent HasMOTDBlinkLoop 2.0 +} + +event HasMOTDBlinkLoop +{ + RunEvent HasMOTDBlink 0.0 +} + +event HasMOTDBlinkStop +{ + StopEvent HasMOTDBlink 0.0 + StopEvent HasMOTDBlinkLoop 0.0 + Animate MOTD_ShowButtonPanel_SB Alpha "255" Linear 0.0 0.1 +} + +//=========================================== + +event HasNotificationsBlink +{ + Animate Notifications_ShowButtonPanel_SB Alpha "255" Linear 0.0 0.1 + Animate Notifications_ShowButtonPanel_SB Alpha "0" Linear 0.2 0.1 + + Animate Notifications_ShowButtonPanel_SB Alpha "255" Linear 0.4 0.1 + Animate Notifications_ShowButtonPanel_SB Alpha "0" Linear 0.6 0.1 + + Animate Notifications_ShowButtonPanel_SB Alpha "255" Linear 0.8 0.1 + Animate Notifications_ShowButtonPanel_SB Alpha "0" Linear 1.0 0.1 + + Animate Notifications_ShowButtonPanel_SB Alpha "255" Linear 1.2 0.1 + + RunEvent HasNotificationsBlinkLoop 2.0 +} + +event HasNotificationsBlinkLoop +{ + RunEvent HasNotificationsBlink 0.0 +} + +event HasNotificationsBlinkStop +{ + StopEvent HasNotificationsBlink 0.0 + StopEvent HasNotificationsBlinkLoop 0.0 + Animate Notifications_ShowButtonPanel_SB Alpha "255" Linear 0.0 0.1 +} + +//=========================================== + +event AddToCartBlink +{ + Animate CartButton BgColor "TanDark" Linear 0.0 0.01 + Animate CartButton BgColor "255 150 0 255" Linear 0.1 0.01 + + Animate CartButton BgColor "TanDark" Linear 0.2 0.01 + Animate CartButton BgColor "255 150 0 255" Linear 0.3 0.01 + + Animate CartButton BgColor "TanDark" Linear 0.4 0.01 + Animate CartButton BgColor "255 150 0 255" Linear 0.5 0.01 + + Animate CartButton BgColor "TanDark" Linear 0.6 0.01 + Animate CartButton BgColor "255 150 0 255" Linear 0.7 0.01 + + Animate CartButton BgColor "TanDark" Linear 0.8 0.01 + Animate CartButton BgColor "255 150 0 255" Linear 0.9 0.01 + + Animate CartButton BgColor "TanDark" Linear 1.0 0.01 +} + +//=========================================== + +event NotificationsPresentBlink +{ + Animate NotificationsPresentPanel Alpha "255" Linear 0.0 0.1 + Animate NotificationsPresentPanel Alpha "0" Linear 0.2 0.1 + + Animate NotificationsPresentPanel Alpha "255" Linear 0.4 0.1 + Animate NotificationsPresentPanel Alpha "0" Linear 0.6 0.1 + + Animate NotificationsPresentPanel Alpha "255" Linear 0.8 0.1 + Animate NotificationsPresentPanel Alpha "0" Linear 1.0 0.1 + + Animate NotificationsPresentPanel Alpha "255" Linear 1.2 0.1 + + RunEvent NotificationsPresentBlinkLoop 2.0 +} + +event NotificationsPresentBlinkLoop +{ + RunEvent NotificationsPresentBlink 0.0 +} + +event NotificationsPresentBlinkStop +{ + StopEvent NotificationsPresentBlink 0.0 + StopEvent NotificationsPresentBlinkLoop 0.0 + Animate NotificationsPresentPanel Alpha "255" Linear 0.0 0.1 +} + +//=========================================== + +event DamagedPlayer +{ + // empty +} + +//=========================================== + +event SpyWarningFlash +{ + Animate EnemyCountImageBG BgColor "RedSolid" Linear 0.0 0.01 + Animate EnemyCountImageBG BgColor "TanLight" Linear 0.21 0.01 + + RunEvent SpyWarningFlashLoop 0.42 +} + +event SpyWarningFlashLoop +{ + RunEvent SpyWarningFlash 0.0 +} + +event SpyWarningFlashEnd +{ + StopEvent SpyWarningFlash 0.0 + StopEvent SpyWarningFlashLoop 0.0 +} + +event HudReadyPulse +{ + Animate TournamentInstructionsLabel FgColor "TanLight" Linear 0.0 0.1 + Animate TournamentInstructionsLabel FgColor "RedSolid" Linear 0.3 0.4 + + RunEvent HudReadyPulseLoop 0.5 +} + +event HudReadyPulseLoop +{ + RunEvent HudReadyPulse 0.0 +} + +event HudReadyPulseEnd +{ + Animate TournamentInstructionsLabel FgColor "TanLight" Linear 0.0 0.1 + + StopEvent HudReadyPulse 0.0 + StopEvent HudReadyPulseLoop 0.0 +} + +// Respec in Win +event RespecEarnedPulse +{ + Animate RespecTextLabelWin FgColor "TanLight" Linear 0.0 0.1 + Animate RespecTextLabelWin FgColor "RedSolid" Linear 0.3 0.4 + + RunEvent RespecEarnedPulseLoop 0.5 +} + +event RespecEarnedPulseLoop +{ + RunEvent RespecEarnedPulse 0.0 +} + +event RespecEarnedPulseEnd +{ + Animate RespecTextLabelWin FgColor "TanLight" Linear 0.0 0.1 + + StopEvent RespecEarnedPulse 0.0 + StopEvent RespecEarnedPulseLoop 0.0 +} + +// Respec on Loss +event RespecEarnedPulseLoss +{ + Animate RespecTextLabelLoss FgColor "TanLight" Linear 0.0 0.1 + Animate RespecTextLabelLoss FgColor "RedSolid" Linear 0.3 0.4 + + RunEvent RespecEarnedPulseLoopLoss 0.5 +} + +event RespecEarnedPulseLoopLoss +{ + RunEvent RespecEarnedPulseLoss 0.0 +} + +event RespecEarnedPulseEndLoss +{ + Animate RespecTextLabelLoss FgColor "TanLight" Linear 0.0 0.1 + Animate RespecTextLabelLoss FgColor "TanLight" Linear 0.0 0.1 + + StopEvent RespecEarnedPulseLoss 0.0 + StopEvent RespecEarnedPulseLoopLoss 0.0 +} + +event RDPositiveScorePulse +{ + Animate Score FgColor "25 255 25 255" Linear 0.0 0.0 + Animate Score FgColor "TanLight" Linear 0.1 0.2 + + Animate Score Position "3 5" Deaccel 0.0 0.05 + Animate Score Position "3 10" Accel 0.05 0.2 + + Animate ScoreShadow FgColor "0 0 0 200" Deaccel 0.0 0.05 + Animate ScoreShadow FgColor "0 0 0 255" Accel 0.1 0.2 +} + +event RDNegativeScorePulse +{ + Animate Score FgColor "255 75 75 255" Linear 0.0 0.0 + Animate Score FgColor "TanLight" Linear 0.1 0.2 + + Animate Score Position "3 5" Deaccel 0.0 0.05 + Animate Score Position "3 10" Accel 0.05 0.2 + + Animate ScoreShadow FgColor "0 0 0 200" Deaccel 0.0 0.05 + Animate ScoreShadow FgColor "0 0 0 255" Accel 0.1 0.2 +} + +event QuestNotification_Present +{ + Animate MainContainer Position "r0 94" Deaccel 0 0 + Animate MainContainer Position "r115 94" Deaccel 0.01 0.4 +} + +event QuestNotification_Hide +{ + Animate MainContainer Position "r115 94" Deaccel 0 0 + Animate MainContainer Position "r0 94" Deaccel 0.01 0.4 +} + +event ItemCard_ShowPinHint +{ + Animate PinLabel Position "0 -20" Deaccel 0 0 + + Animate PinLabel FgColor "TanLight" Linear 0.2 0 + Animate PinLabel Position "0 0" Deaccel 0.2 0.2 +} + +event ItemCard_HidePinHint +{ + Animate PinLabel Position "0 5" Deaccel 0 0.3 + + Animate PinLabel Position "0 -20" Accel 0.3 0.1 +} + +event ItemCard_ShowCloseButton +{ + Animate CloseButton Position "-8 -68" Deaccel 0 0.3 + + Animate CloseButton Position "-8 -68" Accel 0.3 0.1 +} + +event ItemCard_HideCloseButton +{ + Animate CloseButton Position "-30 -90" Deaccel 0 0.0 +} + +event QuestItem_StaticPhoto_Reveal +{ + Animate StaticPhoto Alpha "0" Accel 0 2 +} + +event HideStamp +{ + SetVisible ApplyStampButton 0 0 +} + +event CollectionCrafting_Intro +{ + // Reset + SetVisible ApplyStampButton 0 0 + SetVisible Stamp 0 0 + Animate Stamp xpos c140 Accel 0 0 + Animate DrawingPanel xpos c0 Accel 0 0 + Animate DrawingPanel wide 0 Accel 0 0 + Animate LetterFront xpos c0 Accel 0 0 + Animate LetterFront wide 0 Accel 0 0 + Animate LetterBack_Top xpos c-250 Accel 0 0 + Animate LetterBack_Top ypos 400 Accel 0 0 + Animate LetterBack_Top wide 500 Accel 0 0 + Animate LetterBack_Bottom xpos c-250 Accel 0 0 + Animate LetterBack_Bottom ypos 400 Accel 0 0 + Animate LetterBack_Bottom wide 500 Accel 0 0 + Animate LetterBack_Flap xpos c-250 Accel 0 0 + Animate LetterBack_Flap ypos 400 Accel 0 0 + Animate LetterBack_Flap wide 500 Accel 0 0 + Animate LetterBack_Flap tall 0 Deaccel 0.6 0.4 + Animate LetterBack_Top ypos 400 Accel 0 0 + SetVisible ReturnModel 0 0 + Animate SendEvelopeButton ypos 280 Accel 0 0 + SetVisible SendEvelopeButton 0 0 + SetVisible ResponseTimeout 0 0 + SetVisible WaitingForResponse 0 0 + + SetVisible ShowExplanationsButton1 1 0 + SetVisible ShowExplanationsButton2 0 0 + Animate TradeUpContainer wide 800 Accel 0 0 + + // Slide paper down + Animate TradeUpContainer Position "0 60" Deaccel 0 0.3 + + // Slider BG up + Animate BG Position "0 34" Deaccel 0 0.3 + + // Fade dimmer down + Animate Dimmer Alpha "255" Linear 0 0.4 +} + +event CollectionCrafting_LetterStart +{ + // Slide envelope up + FireCommand 0.0 "playsound ui/trade_up_envelope_slide_in.wav" + Animate LetterBack_Bottom ypos 60 Deaccel 0 0.3 + Animate LetterBack_Flap ypos 60 Deaccel 0 0.3 + Animate LetterBack_Top ypos 60 Deaccel 0 0.3 + SetVisible ShowExplanationsButton1 0 0 + + // Close flap + FireCommand 0.3 "playsound ui/trade_up_envelope_fold.wav" + Animate LetterBack_Flap tall 250 Deaccel 0.4 0.2 + + // Start Flip + FireCommand 0.8 "playsound ui/trade_up_envelope_spin.wav" + Animate TradeUpContainer wide 0 Accel 0.8 0 + Animate LetterBack_Bottom wide 0 Accel 0.8 0.2 + Animate LetterBack_Bottom xpos c0 Accel 0.8 0.2 + Animate LetterBack_Flap wide 0 Accel 0.8 0.2 + Animate LetterBack_Flap xpos c0 Accel 0.8 0.2 + Animate LetterBack_Top wide 0 Accel 0.8 0.2 + Animate LetterBack_Top xpos c0 Accel 0.8 0.2 + + // End Flips + Animate LetterFront xpos c-250 Deaccel 1.0 0.2 + Animate LetterFront wide 500 Deaccel 1.0 0.2 + Animate DrawingPanel xpos c-250 Deaccel 1.0 0.2 + Animate DrawingPanel wide 500 Deaccel 1.0 0.2 + SetVisible ApplyStampButton 1 1.3 + SetVisible ShowExplanationsButton2 1 1.3 +} + +event CollectionCrafting_PlaceStamp +{ + SetVisible Stamp 1 0 + SetVisible ApplyStampButton 0 0 + FireCommand 0 "playsound ui/trade_up_apply_stamp.wav" +} + +event CollectionCrafting_LetterSend +{ + SetVisible ShowExplanationsButton2 0 0 + SetVisible SendEvelopeButton 0 0 + Animate Stamp xpos c70 Deaccel 0 0.3 + Animate LetterFront xpos c-320 Deaccel 0 0.3 + Animate DrawingPanel xpos c-320 Deaccel 0 0.3 + + RunEventChild BehindItemParticlePanel StartParticle2 0.3 + Animate Stamp xpos 1120 Accel 0.3 0.2 + Animate LetterFront xpos 1000 Accel 0.3 0.2 + Animate DrawingPanel xpos 1000 Accel 0.3 0.2 + SetVisible CloseButton 0 0 + FireCommand 0.2 "playsound ui/trade_up_envelope_slide_out.wav" +} + +event StartParticle0 +{ + FireCommand 0 "start0" +} + +event StartParticle1 +{ + FireCommand 0 "start1" +} + +event StartParticle2 +{ + FireCommand 0 "start2" +} + +event ShowFoundLabels +{ + Animate YouTradedForLabel alpha 0 Linear 0 0 + Animate ItemName alpha 0 Linear 0 0 + + Animate YouTradedForLabel alpha 255 Linear 3 1 + Animate ItemName alpha 255 Linear 3 1 +} + +event CollectionCrafting_ItemRecieved +{ + RunEventChild NewItemPanel ShowFoundLabels 0 + FireCommand 0 "playcratesequence1" + SetVisible NewItemPanel 0 0 + SetVisible ReturnModel 1 0.05 + RunEventChild BehindItemParticlePanel StartParticle1 0.2 + + FireCommand 0 "playsound ui/trade_up_crate_smash.wav" + + SetVisible NewItemPanel 1 1.5 + SetVisible CloseButton 1 1.5 + + FireCommand 2.1 "playcratesequence2" +// RunEventChild BehindItemParticlePanel PlayNewItemParticles 1.5 + + FireCommand 1.0 "playsound player/taunt_medic_heroic.wav" +} + +event CollectionCrafting_OKBlink_Repeatable +{ + Animate OkButton FgColor Red Linear 0 0.1 + Animate OkButton FgColor TanLight Linear 0.1 0.1 +} + +event CollectionCrafting_OKBlink +{ + RunEvent CollectionCrafting_OKBlink_Repeatable 0 + RunEvent CollectionCrafting_OKBlink_Repeatable 0.2 + RunEvent CollectionCrafting_OKBlink_Repeatable 0.4 + RunEvent CollectionCrafting_OKBlink_Repeatable 0.6 +} + + +event CollectionCrafting_ShowSendButton +{ + SetVisible SendEvelopeButton 1 0 + Animate SendEvelopeButton ypos 320 Deaccel 0 0.5 +} + +event CollectionCrafting_ShowWaiting +{ + SetVisible WaitingForResponse 1 0 +} + +event CollectionCrafting_HideWaiting +{ + SetVisible WaitingForResponse 0 0 +} + +event CollectionCrafting_ShowFailure +{ + SetVisible ResponseTimeout 1 0 + SetVisible CloseButton 1 0 +} + +event CollectionCrafting_WaitForItemsOnly +{ + // Set Everything Invisible + SetVisible ReturnModel 0 0 + SetVisible SendEvelopeButton 0 0 + SetVisible ResponseTimeout 0 0 + SetVisible WaitingForResponse 0 0 + SetVisible ShowExplanationsButton1 0 0 + SetVisible ShowExplanationsButton2 0 0 + SetVisible ShowExplanationsButton2 0 0 + SetVisible SendEvelopeButton 0 0 + SetVisible CloseButton 0 0 + + SetVisible ApplyStampButton 0 0 + SetVisible Stamp 0 0 + Animate Stamp xpos c140 Accel 0 0 + Animate DrawingPanel xpos c0 Accel 0 0 + Animate DrawingPanel wide 0 Accel 0 0 + Animate LetterFront xpos c0 Accel 0 0 + Animate LetterFront wide 0 Accel 0 0 + Animate LetterBack_Top xpos c-250 Accel 0 0 + Animate LetterBack_Top ypos 400 Accel 0 0 + Animate LetterBack_Top wide 500 Accel 0 0 + Animate LetterBack_Bottom xpos c-250 Accel 0 0 + Animate LetterBack_Bottom ypos 400 Accel 0 0 + Animate LetterBack_Bottom wide 500 Accel 0 0 + Animate LetterBack_Flap xpos c-250 Accel 0 0 + Animate LetterBack_Flap ypos 400 Accel 0 0 + Animate LetterBack_Flap wide 500 Accel 0 0 + Animate LetterBack_Flap tall 0 Deaccel 0.6 0.4 + Animate LetterBack_Top ypos 400 Accel 0 0 + + // Slider BG up + Animate BG Position "0 34" Deaccel 0 0.3 + + // Fade dimmer down + Animate Dimmer Alpha "255" Linear 0 0.4 +} +//-------------------------------------------------------------------------- +event QuestItem_Identify_Expand +{ + StopEvent QuestItem_Identify_Collapse 0 + Animate Dimmer wide 285 Bias 0.1 0.0 0.4 + Animate Dimmer xpos 0 Bias 0.1 0.0 0.4 +} + +event QuestItem_Identify_Collapse +{ + StopEvent QuestItem_Identify_Expand 0 + Animate Dimmer wide 0 Accel 0.4 0.4 + Animate Dimmer xpos 142 Accel 0.4 0.4 +} + +event QuestItem_Complete_Expand +{ + Animate Dimmer wide 285 Deaccel 0.4 0.1 + Animate Dimmer xpos 0 Deaccel 0.4 0.1 +} + +event QuestItem_Complete_Collapse +{ + Animate Dimmer wide 0 Accel 0 0.4 + Animate Dimmer xpos 142 Accel 0 0.4 +} + +event QuestItem_Complete_Progress +{ + Animate Dimmer wide 0 Linear 0 5 + Animate Dimmer xpos 142 Linear 0 5 +} + +event QuestItem_Options_Flash +{ + Animate OptionsButton FgColor LightOrange Linear 0 0.1 + Animate OptionsButton FgColor TanLight Linear 0.1 0.1 + Animate OptionsButton FgColor LightOrange Linear 0.2 0.1 + Animate OptionsButton FgColor TanLight Linear 0.3 0.1 + Animate OptionsButton FgColor LightOrange Linear 0.4 0.1 + Animate OptionsButton FgColor TanLight Linear 0.5 0.1 +} + +//-------------------------------------------------------------------------- +event QuestItem_Expand +{ + Animate FrontFolderContainer ypos 240 Gain 0.75 0 0.4 + RunEventChild IdentifyButtonContainer QuestItem_Identify_Expand 0 + RunEventChild TurnInContainer QuestItem_Complete_Expand 0 + + SetInputEnabled FrontFolderContainer 0 0 + RunEvent QuestItem_Options_Flash 1 +} + +event QuestItem_Collapse +{ + Animate FrontFolderContainer ypos 0 Gain 0.75 0 0.4 + RunEventChild IdentifyButtonContainer QuestItem_Identify_Collapse 0 + RunEventChild TurnInContainer QuestItem_Complete_Collapse 0 + + SetInputEnabled FrontFolderContainer 1 0 +} + +event QuestItem_TurningIn +{ + RunEventChild TurnInContainer QuestItem_Complete_Progress 0 +} + +event QuestItem_Reset +{ + Animate FrontFolderContainer ypos 0 Linear 0 0 + RunEventChild IdentifyButtonContainer QuestItem_Identify_Collapse 0 + RunEventChild TurnInContainer QuestItem_Complete_Collapse 0 + + SetInputEnabled FrontFolderContainer 1 0 +} + +//-------------------------------------------------------------------------- +event QuestItem_Operation2_Expand +{ + StopEvent QuestItem_Operation2_Collapse 0 + + RunEventChild IdentifyButtonContainer QuestItem_Identify_Expand 0.4 + RunEventChild TurnInContainer QuestItem_Complete_Expand 0.4 + + Animate FrontFolderContainer xpos -270 Gain 0.75 0.4 0.3 + Animate BackFolderContainer xpos -270 Gain 0.75 0.4 0.3 + Animate FrontFolderContainer xpos -10 Gain 0.75 0.7 0.3 + Animate BackFolderContainer xpos 0 Gain 0.75 0.7 0.3 + SetVisible FrontFolderContainer 0 0.7 + SetVisible BackFolderContainer 1 0.7 + + SetInputEnabled FrontFolderContainer 0 0 + RunEvent QuestItem_Options_Flash 1 +} + +event QuestItem_Operation2_Collapse +{ + StopEvent QuestItem_Operation2_Expand 0 + + RunEventChild IdentifyButtonContainer QuestItem_Identify_Collapse 0 + RunEventChild TurnInContainer QuestItem_Complete_Collapse 0 + + Animate FrontFolderContainer xpos -270 Gain 0.75 0.0 0.3 + Animate BackFolderContainer xpos -270 Gain 0.75 0.0 0.3 + Animate FrontFolderContainer xpos 0 Gain 0.75 0.3 0.4 + Animate BackFolderContainer xpos 0 Gain 0.75 0.3 0.4 + SetVisible FrontFolderContainer 1 0.3 + SetVisible BackFolderContainer 0 0.3 + + SetInputEnabled FrontFolderContainer 1 0 +} + +event QuestItem_Operation2_TurningIn +{ + RunEventChild TurnInContainer QuestItem_Complete_Progress 0 +} + +event QuestItem_Operation2_Reset +{ + StopEvent QuestItem_Operation2_Collapse 0 + StopEvent QuestItem_Operation2_Expand 0 + + RunEventChild IdentifyButtonContainer QuestItem_Identify_Collapse 0 + RunEventChild TurnInContainer QuestItem_Complete_Collapse 0 + + Animate FrontFolderContainer xpos 0 Linear 0 0 + Animate BackFolderContainer xpos 0 Linear 0 0 + SetVisible FrontFolderContainer 1 0 + SetVisible BackFolderContainer 0 0 + + SetInputEnabled FrontFolderContainer 1 0 +} + +//-------------------------------------------------------------------------- +event QuestItem_DisableFrontMouse +{ + SetVisible FrontInputProxyPanel 0 0 +} + +event QuestItem_EnableFrontMouse +{ + SetVisible FrontInputProxyPanel 1 0 +} + +event QuestItem_Expand_Halloween +{ + StopEvent QuestItem_Collapse_Halloween 0 + + // Immediately disable the mouse proxy so the inactive hint goes away + RunEventChild FrontFolderContainer QuestItem_DisableFrontMouse 0 + SetInputEnabled FrontFolderContainer 0 0 + + // Slide the sleeve + Animate SleeveImage xpos 300 Bias 0.2 0.0 0.4 + Animate EncodedStatus xpos 300 Bias 0.2 0.0 0.4 + Animate ReadyToTurnInStatus xpos 300 Bias 0.2 0.0 0.4 + Animate InactiveStatus xpos 300 Bias 0.2 0.0 0.4 + + // Once the sleeve is off, then "unroll" the paper + FireCommand 0.4 "playsound ui/quest_folder_open_halloween.wav" + RunEventChild IdentifyButtonContainer QuestItem_Identify_Expand 0.4 + RunEventChild TurnInContainer QuestItem_Complete_Expand 0.4 + Animate FrontFolderContainer ypos 240 Gain 0.75 0.4 0.4 + Animate QuestPaperContainer tall 300 Gain 0.75 0.4 0.4 + + RunEvent QuestItem_Options_Flash 1 +} + +event QuestItem_Collapse_Halloween +{ + StopEvent QuestItem_Expand_Halloween 0 + + // Roll up the paper + Animate FrontFolderContainer ypos 0 Gain 0.75 0 0.4 + Animate QuestPaperContainer tall 70 Gain 0.75 0 0.4 + RunEventChild IdentifyButtonContainer QuestItem_Identify_Collapse 0 + RunEventChild TurnInContainer QuestItem_Complete_Collapse 0 + RunEventChild FrontFolderContainer QuestItem_EnableFrontMouse 0 + + // Put the sleeve back + FireCommand 0.5 "playsound ui/quest_folder_keeper_slide_on_halloween.wav" + + Animate SleeveImage xpos 15 Bias 0.8 0.5 0.2 + Animate ReadyToTurnInStatus xpos 10 Bias 0.8 0.5 0.2 + Animate InactiveStatus xpos 10 Bias 0.8 0.5 0.2 + Animate EncodedStatus xpos 10 Bias 0.8 0.5 0.2 + SetInputEnabled FrontFolderContainer 1 0 +} + +event QuestItem_Reset_Halloween +{ + StopEvent QuestItem_Expand_Halloween 0 + SetVisible FrontFolderContainer 1 0 + RunEventChild FrontFolderContainer QuestItem_EnableFrontMouse 0 + + // Roll up the paper + Animate FrontFolderContainer ypos 0 Linear 0 0 + Animate QuestPaperContainer tall 70 Linear 0 0 + Animate EncodedStatus xpos 10 Bias 0 0 0 + Animate ReadyToTurnInStatus xpos 10 Bias 0 0 0 + Animate InactiveStatus xpos 10 Bias 0 0 0 + + // Put the sleeve back + Animate SleeveImage xpos 15 Linear 0 0 + SetInputEnabled FrontFolderContainer 1 0 +} + +//-------------------------------------------------------------------------- +event QuestItem_Front_Selected +{ + StopEvent QuestItem_Front_OtherSelected 0 + StopEvent QuestItem_Front_NoneSelected 0 + + Animate MainContainer ypos 0 Gain 0.75 0 0.4 +} + +event QuestItem_Front_OtherSelected +{ + StopEvent QuestItem_Front_Selected 0 + StopEvent QuestItem_Front_NoneSelected 0 + + Animate MainContainer ypos 300 Gain 0.75 0 0.4 +} + + +event QuestItem_Front_NoneSelected +{ + StopEvent QuestItem_Front_Selected 0 + StopEvent QuestItem_Front_OtherSelected 0 + + Animate MainContainer ypos 120 Gain 0.75 0 0.4 +} + +//-------------------------------------------------------------------------- +event QuestItem_Back_Selected +{ + StopEvent QuestItem_Back_OtherSelected 0 + StopEvent QuestItem_Back_NoneSelected 0 + + Animate MainContainer ypos 0 Gain 0.75 0 0.4 +} + +event QuestItem_Back_OtherSelected +{ + StopEvent QuestItem_Back_Selected 0 + StopEvent QuestItem_Back_NoneSelected 0 + + Animate MainContainer ypos 300 Gain 0.75 0 0.8 +} + + +event QuestItem_Back_NoneSelected +{ + StopEvent QuestItem_Back_Selected 0 + StopEvent QuestItem_Back_OtherSelected 0 + + Animate MainContainer ypos 0 Gain 0.75 0 0.4 +} + +//-------------------------------------------------------------------------- +event QuestItem_Highlight_On_Halloween +{ + SetVisible GlowImage 1 0 + Animate GlowImage Alpha 255 Bias 0.8 0 0.2 +} + +event QuestItem_Highlight_Off_Halloween +{ + Animate GlowImage Alpha 0 Bias 0.8 0 0.2 +} + +//-------------------------------------------------------------------------- +event CompetitiveGame_LowerChatWindow +{ + Animate HudChat ypos r140 Accel 0 0 +} + +event CompetitiveGame_RestoreChatWindow +{ + Animate HudChat ypos 275 Accel 0 0 +} + +event HudTournament_MoveChatWindow +{ + RunEvent CompetitiveGame_LowerChatWindow 0 + RunEvent CompetitiveGame_RestoreChatWindow 10 +} + +//-------------------------------------------------------------------------- + +event HudTournament_MoveTimerDown +{ + Animate CountdownLabel ypos 150 Linear 0 0 + Animate CountdownLabelShadow ypos 150 Linear 0 0 + + SetVisible CountdownBG 0 5 + SetVisible CountdownLabel 1 0 + SetVisible CountdownLabelShadow 1 0 + + Animate CountdownLabel ypos c-3 Gain 0.75 0 0.4 + Animate CountdownLabelShadow ypos c0 Gain 0.75 0 0.4 + + SetVisible TournamentConditionLabel 0 2 + + SetVisible CountdownLabel 0 3 + SetVisible CountdownLabelShadow 0 3 +} +event HudTournament_AnimateTeams_In +{ + Animate RedTeamPanel xpos c150 Accel 0 0.25 + Animate BlueTeamPanel xpos c-300 Accel 0 0.25 +} + +event HudTournament_AnimateTeams_Out +{ + Animate RedTeamPanel xpos r-5 Accel 0 0.68 + Animate BlueTeamPanel xpos -155 Accel 0 0.68 +} + +event HudMatchStatus_ShowMatchStartDoors +{ + SetVisible MatchDoors 1 0 + SetVisible BlueTeamPanel 1 0 + SetVisible RedTeamPanel 1 0 + SetVisible CountdownLabel 1 0 + SetVisible CountdownLabelShadow 1 0 + Animate CountdownLabel ypos 150 Linear 0 0 + Animate CountdownLabelShadow ypos 150 Linear 0 0 + + Animate CountdownLabel ypos c-3 Gain 0.75 0 0.4 + Animate CountdownLabelShadow ypos c-0 Gain 0.75 0 0.4 + + SetVisible HudTournamentBG 0 2 + RunEventChild MatchDoors PlayDoorCloseAnim 0 + RunEventChild FrontParticlePanel PlayDoorSlamParticles 0.45 + RunEventChild MatchDoors PlayDoorOpenAnim 7 + + RunEvent HudTournament_AnimateTeams_In 0.25 + RunEvent HudTournament_AnimateTeams_Out 7.70 + + SetVisible MatchDoors 0 9 + SetVisible CountdownLabel 0 9.9 + SetVisible CountdownLabelShadow 0 9.9 + + RunEvent HudTournament_DoorsCleanup 10 + + SetVisible CountdownBG 1 11 +} + +event HudMatchStatus_ShowRankMatch +{ + // Reset + Animate RankUpLabel ypos 95 Linear 0 0 + Animate RankUpShadowLabel ypos 97 Linear 0 0 + Animate RankUpLabel alpha 0 Linear 0 0 + Animate RankUpShadowLabel alpha 0 Linear 0 0 + + Animate RankUpLabel ypos 80 Deaccel 1 0.2 + Animate RankUpShadowLabel ypos 82 Deaccel 1 0.2 + + Animate RankUpLabel alpha 255 Linear 1 0.4 + Animate RankUpShadowLabel alpha 255 Linear 1 0.4 + + Animate RankUpLabel alpha 0 Linear 7 0.2 + Animate RankUpShadowLabel alpha 0 Linear 7 0.2 +} + +event HudMatchStatus_ShowCountdown +{ + SetVisible CountdownLabel 1 0 + SetVisible CountdownLabelShadow 1 0 + Animate CountdownLabel ypos 150 Linear 0 0 + Animate CountdownLabelShadow ypos 150 Linear 0 0 + Animate CountdownLabel ypos c-3 Gain 0.75 0 0.4 + Animate CountdownLabelShadow ypos c-0 Gain 0.75 0 0.4 + SetVisible CountdownLabel 0 9.9 + SetVisible CountdownLabelShadow 0 9.9 +} + +event HudTournament_DoorsCleanup +{ + SetVisible MatchDoors 0 0 + SetVisible BlueTeamPanel 0 0 + SetVisible RedTeamPanel 0 0 + + Animate RedTeamPanel xpos r-5 Accel 0 0 + Animate BlueTeamPanel xpos -155 Accel 0 0 +} + +event PlayDoorSlamParticles +{ + FireCommand 0 "start0" +} + +event PlayDoorCloseAnim +{ + FireCommand 0 "animation close" +} + +event PlayDoorOpenAnim +{ + FireCommand 0 "animation open" +} + +event HudTournament_ShowTimerCompetitive +{ + Animate CountdownLabel ypos 150 Linear 0 0 + Animate CountdownLabelShadow ypos 150 Linear 0 0 + + SetVisible CountdownBG 1 0 + SetVisible CountdownLabel 1 0 + SetVisible CountdownLabelShadow 1 0 +} + +event HudTournament_ShowTimerDefault +{ + Animate CountdownLabel ypos 425 Linear 0 0 + Animate CountdownLabelShadow ypos 425 Linear 0 0 + + SetVisible CountdownBG 1 0 + SetVisible CountdownLabel 1 0 + SetVisible CountdownLabelShadow 1 0 +} + +event HudTournament_HideTimer +{ + SetVisible CountdownBG 0 0 + SetVisible CountdownLabel 0 0 + SetVisible CountdownLabelShadow 0 0 +} + +event HudTournament_ShowRoundSign +{ + SetVisible RoundSignModel 1 0 + RunEventChild RoundSignModel HudTournament_PlaySignAnim 0 + SetVisible RoundSignModel 0 6 +} + +event HudTournament_PlaySignAnim +{ + FireCommand 0 "animation intro" + FireCommand 5 "animation outro" +} + +event TeamStatus_PlayerDead +{ + SetVisible DeathPanel 1 0 + SetVisible SkullPanel 1 0 + SetVisible respawntime 1 0 + + Animate DeathPanel ypos 19 Accel 0 0.2 + Animate SkullPanel ypos 20 Accel 0 0.2 + Animate respawntime ypos 21 Accel 0 0.2 +} + +event TeamStatus_PlayerAlive +{ + Animate DeathPanel ypos 0 Accel 0 0.2 + Animate SkullPanel ypos 0 Accel 0 0.2 + Animate respawntime ypos 0 Accel 0 0.2 + + SetVisible DeathPanel 0 0.2 + SetVisible SkullPanel 0 0.2 + SetVisible respawntime 0 0.2 +} + +event HudMatchStatus_ShowMatchWinDoors +{ + SetVisible MatchDoors 1 0 + SetVisible FrontParticlePanel 1 0 + + RunEventChild MatchDoors PlayDoorCloseAnim 0 + RunEventChild FrontParticlePanel PlayDoorSlamParticles 0.45 + RunEventChild MatchDoors PlayDoorOpenAnim 4.5 + + SetVisible MatchDoors 0 7 + SetVisible FrontParticlePanel 0 7 +} + +event HudMatchStatus_ShowMatchWinDoors_NoOpen +{ + SetVisible MatchDoors 1 0 + SetVisible FrontParticlePanel 1 0 + + RunEventChild MatchDoors PlayDoorCloseAnim 0 + RunEventChild FrontParticlePanel PlayDoorSlamParticles 0.45 +} + +event HudMatchSummary_SlideInPanels +{ + Animate BlueTeamPanel xpos 0 Accel 0.25 0.25 + Animate RedTeamPanel xpos 0 Accel 0.25 0.25 +} + +event MMenu_PlayList_Expand +{ + Animate ItemsContainer ypos 420 Spline 0 0.4 + Animate EventPromo ypos 470 Spline 0 0.4 + Animate SafeMode ypos 470 Spline 0 0.4 + Animate VRBGPanel ypos 633 Spline 0 0.4 + Animate VRModeButton ypos 639 Spline 0 0.4 + Animate ShowPromoCodesButton ypos 639 Spline 0 0.4 + + Animate PlayListContainer Tall 260 Spline 0.0 0.40 + + FireCommand 0 "soundentry Panel.SlideDown" +} + +event MMenu_PlayList_Collapse +{ + Animate ItemsContainer ypos 160 Spline 0 0.4 + Animate EventPromo ypos 210 Spline 0 0.4 + Animate SafeMode ypos 210 Spline 0 0.4 + Animate VRBGPanel ypos 373 Spline 0 0.4 + Animate VRModeButton ypos 379 Spline 0 0.4 + Animate ShowPromoCodesButton ypos 379 Spline 0 0.4 + + Animate PlayListContainer Tall 0 Spline 0 0.4 + + FireCommand 0 "soundentry Panel.SlideUp" +} + +event MMenu_PlayList_Collapse_Immediate +{ + Animate ItemsContainer ypos 160 Spline 0 0 + Animate EventPromo ypos 210 Spline 0 0 + Animate VRBGPanel ypos 373 Spline 0 0 + Animate VRModeButton ypos 379 Spline 0 0 + Animate ShowPromoCodesButton ypos 379 Spline 0 0 + + Animate PlayListContainer Tall 0 Spline 0 0 +} + +event MMenu_SafeMode_Blink +{ + Animate InfoImage alpha 255 Linear 0.0 0.1 + Animate InfoImage alpha 0 Linear 0.1 0.1 + + Animate InfoImage alpha 255 Linear 0.2 0.1 + Animate InfoImage alpha 0 Linear 0.3 0.1 + + Animate InfoImage alpha 255 Linear 0.4 0.1 + + RunEvent MMenu_SafeMode_Blink 1 +} + +event PvPRankModelClicked +{ + RunEventChild AboveModelParticlePanel StartParticle1 0 +} + +event PvPRankLevelUpXPBar +{ + Animate ContinuousProgressBar BgColor "100 255 100 255" Linear 0.0 0.1 + Animate ContinuousProgressBar BgColor ProgressBackground Linear 0.1 0.3 + + Animate LevelLabel FgColor "100 255 100 255" Linear 0.0 0.1 + Animate LevelLabel FgColor TanLight Linear 4.0 0.3 +} + +event PvPRankLevelUpModel +{ + RunEventChild BelowModelParticlePanel StartParticle0 1.0 + RunEventChild AboveModelParticlePanel StartParticle0 1.0 + + PlaySound 0 "ui/mm_medal_spin_hit.wav" +} + +event PvPRankLevelDownXPBar +{ + Animate ContinuousProgressBar FgColor "255 100 100 255" Linear 0.0 0.1 + Animate ContinuousProgressBar FgColor CreditsGreen Linear 0.1 0.3 + + Animate LevelLabel FgColor "255 100 100 255" Linear 0.0 0.1 + Animate LevelLabel FgColor TanLight Linear 4.0 0.3 +} + +event PvPRankLevelDownModel +{ + RunEventChild AboveModelParticlePanel StartParticle2 0.15 + PlaySound 0 "ui/mm_rank_down_medal_shoot.wav" + PlaySound 0.15 "ui/mm_rank_down_medal_shoot_impact.wav" +} + +event CompetitiveGame_ShowPvPRankPanel +{ + Animate RankBorder ypos r0 Linear 0 0 + Animate RankBorder ypos r65 Bias 0.90 0.2 0.3 + + Animate RankPanel ypos r0 Linear 0 0 + Animate RankPanel ypos r285 Bias 0.90 0.2 0.3 + RunEventChild RankPanel PvPRankPanelShowXPChange 0 + + Animate RankModelPanel ypos r0 Linear 0 0 + Animate RankModelPanel ypos r1095 Bias 0.90 0.2 0.3 + RunEventChild RankModelPanel PvPRankPanelShowXPChange 0 +} + +event PvPRankPanelShowXPChange +{ + FireCommand 0 "update_base_state" + FireCommand 1 "begin_xp_lerp" +} + +event PyroVsHeavyWar_ShowChooseScene +{ + // Reset + Animate Background ypos -250 Linear 0 0 + Animate Heavy ypos -180 Linear 0 0 + Animate Pyro ypos -180 Linear 0 0 + Animate Foreground ypos -100 Linear 0 0 + + // Paralax + Animate Background ypos -175 Bias 0.9 0 1 + Animate Heavy ypos -60 Bias 0.9 0 1 + Animate Pyro ypos -60 Bias 0.9 0 1 + Animate Foreground ypos 65 Bias 0.9 0 1 +} + +event PyroVsHeavyWar_PyroWinnerScene +{ + // Reset + Animate Background ypos -220 Linear 0 0 + Animate PyroWinMidground ypos -180 Linear 0 0 + Animate Foreground ypos 40 Linear 0 0 + + // Paralax + Animate Background ypos -175 Bias 0.9 0 1 + Animate PyroWinMidground ypos -100 Bias 0.9 0 1 + Animate Foreground ypos 75 Bias 0.9 0 1 +} + +event CasualCategory_Checkbox_Hide +{ + Animate Checkbutton xpos 250 Deaccel 0 0.2 + Animate Title xpos 115 Deaccel 0 0.2 + Animate TitleShadow xpos 116 Deaccel 0 0.2 + + //Animate Title FgColor TanDark Deaccel 0 0.2 +} + +event CasualCategory_Checkbox_Show +{ + Animate Checkbutton xpos 215 Deaccel 0 0.2 + Animate Title xpos 100 Deaccel 0 0.2 + Animate TitleShadow xpos 101 Deaccel 0 0.2 + + //Animate Title FgColor TanLight Deaccel 0 0.2 +} + +event CasualCategory_Selected +{ + Animate Shade BgColor "0 0 0 0" Deaccel 0 0.2 + Animate Title FgColor TanLight Deaccel 0 0.2 +} + +event CasualCategory_NotSelected +{ + Animate Shade BgColor "0 0 0 200" Deaccel 0 0.2 + Animate Title FgColor TanDark Deaccel 0 0.2 +} + +event HealthProgressBar_Selected +{ + Animate HealthProgressBar Alpha 255 Deaccel 0 0.2 +} + +event HealthProgressBar_NotSelected +{ + Animate HealthProgressBar Alpha 50 Deaccel 0 0.2 +} + +event MMenu_UpdateButton_StartGlow +{ + SetVisible ViewDetailsGlow 1 0 + Animate ViewDetailsGlow BgColor "238 103 17 255" Linear 0 0 + Animate ViewDetailsGlow Alpha 0 Linear 0.0 0.2 + Animate ViewDetailsGlow Alpha 255 Linear 0.2 0.2 + Animate ViewDetailsGlow Alpha 0 Linear 0.4 0.2 + Animate ViewDetailsGlow Alpha 255 Linear 0.6 0.2 + Animate ViewDetailsGlow Alpha 0 Linear 0.8 0.2 + Animate ViewDetailsGlow Alpha 255 Linear 1.0 0.2 + Animate ViewDetailsGlow BgColor "178 83 22 255" Linear 1.0 1.0 + + SetVisible ViewWarButtonGlow 1 0 + Animate ViewWarButtonGlow BgColor "238 103 17 255" Linear 0 0 + Animate ViewWarButtonGlow Alpha 0 Linear 0.0 0.2 + Animate ViewWarButtonGlow Alpha 255 Linear 0.2 0.2 + Animate ViewWarButtonGlow Alpha 0 Linear 0.4 0.2 + Animate ViewWarButtonGlow Alpha 255 Linear 0.6 0.2 + Animate ViewWarButtonGlow Alpha 0 Linear 0.8 0.2 + Animate ViewWarButtonGlow Alpha 255 Linear 1.0 0.2 + Animate ViewWarButtonGlow BgColor "178 83 22 255" Linear 1.0 1.0 + + RunEvent MMenu_UpdateButton_SubtleGlow 5 +} + +event MMenu_UpdateButton_SubtleGlow +{ + Animate ViewDetailsGlow BgColor "238 103 17 255" Linear 0 0.2 + Animate ViewDetailsGlow BgColor "178 83 22 255" Linear 0.2 1.0 + + Animate ViewWarButtonGlow BgColor "238 103 17 255" Linear 0 0.2 + Animate ViewWarButtonGlow BgColor "178 83 22 255" Linear 0.2 1.0 + + RunEvent MMenu_UpdateButton_SubtleGlow 5 +} + +event XPSourceShow_Positive +{ + Animate SourceLabel Alpha 0 Linear 0 0 + Animate SourceLabelGlow Alpha 0 Linear 0 0 + + Animate SourceLabel Alpha 255 Linear 0.1 0.3 + Animate SourceLabel FgColor "100 255 100 255" Linear 0.1 0 + Animate SourceLabel FgColor CreditsGreen Linear 0.5 1 + Animate SourceLabel Alpha 0 Linear 2.9 0.3 + + Animate SourceLabelGlow Alpha 255 Linear 0.0 0.1 + Animate SourceLabelGlow FgColor "100 255 100 255" Linear 0.1 0 + Animate SourceLabelGlow FgColor CreditsGreen Linear 0.5 1 + Animate SourceLabelGlow Alpha 200 Linear 0.5 1 + Animate SourceLabelGlow Alpha 0 Linear 2.9 0.3 +} + +event XPSourceShow_Negative +{ + Animate SourceLabel Alpha 0 Linear 0 0 + Animate SourceLabelGlow Alpha 0 Linear 0 0 + + Animate SourceLabel Alpha 255 Linear 0.1 0.3 + Animate SourceLabel FgColor "255 100 100 255" Linear 0.1 0 + Animate SourceLabel FgColor RedSolid Linear 0.5 1 + Animate SourceLabel Alpha 0 Linear 2.9 0.1 + Animate SourceLabel ypos -15 Linear 0 0.4 + + Animate SourceLabelGlow Alpha 0 Linear 0 0 +} + +event SurveyShowSequence +{ + Animate Survey ypos 480 Linear 0 0 + Animate Survey ypos 150 Linear 1 0.3 + Animate Survey ypos 130 Deaccel 1.3 0.1 + Animate Survey ypos 150 Accel 1.4 0.1 +} + +event SurveySubmitSequence +{ + // Show submitting + SetVisible QuestionContainer 0 0 + SetVisible SubmittingContainer 1 0 + + // Show thanks + SetVisible SubmittingContainer 0 2 + SetVisible ThanksContainer 1 2 + + RunEvent SurveyHideSequence 6 +} + +event SurveyDelete +{ + FireCommand 0 "delete" +} + +event SurveyHideSequence +{ + SetVisible CloseButton 0 0 + + Animate Survey ypos 130 Deaccel 0 0.3 + Animate Survey ypos 480 Accel 0.3 0.2 + RunEventChild Survey SurveyDelete 0.6 +} + +event MapVoted +{ + Animate VotesLabel ypos 30 Deaccel 0 0.05 + Animate VotesLabel ypos 40 Deaccel 0.05 0.1 +} + +event WinningNextMapVote +{ + Animate VotesLabel FgColor CreditsGreen Deaccel 0 0.1.5 +} + +event LosingNextMapVote +{ + Animate VotesLabel FgColor TanLight Deaccel 0 0.1.5 +} + +event QuestMap_Start +{ + FireCommand 0.0 "switch_off" + FireCommand 0.4 "switch_on" + + StopEvent QuestMap_StaticBarOverlayLoop 0 + StopEvent QuestMap_StaticBarOverlayBrighten 0 + StopEvent QuestMap_StaticBarOverlayDarken 0 + StopEvent QuestMap_StaticFadeOut 0 + StopEvent QuestMap_StaticBar1Loop 0 + StopEvent QuestMap_StaticBar2Loop 0 + + // Reset + Animate StaticBar1 ypos -50 Linear 0 0 + Animate StaticBar2 ypos -10 Linear 0 0 + Animate StaticOverlay alpha 255 Linear 0 0 + Animate StaticOverlay xpos 270 Linear 0 0 + Animate StaticOverlay ypos 160 Linear 0 0 + Animate StaticOverlay wide 0 Linear 0 0 + Animate StaticOverlay tall 0 Linear 0 0 + Animate BlackOverlay alpha 255 Linear 0 0 + + + // Grow full wide, and a little tall + Animate StaticOverlay ypos 155 Accel 0.01 0.25 + Animate StaticOverlay tall 10 Accel 0.01 0.25 + Animate StaticOverlay wide 540 Accel 0.01 0.25 + Animate StaticOverlay xpos 0 Accel 0.01 0.25 + + // Grow full tall + Animate StaticOverlay tall 320 Accel 0.3 0.15 + Animate StaticOverlay ypos 0 Accel 0.3 0.15 + + Animate BlackOverlay alpha 0 Linear 0.6 0 + + // Start mostly staticy, then reduce to the loop + RunEvent QuestMap_StaticBarOverlayLoop 2 + RunEvent QuestMap_StaticBar1Loop 0.7 + RunEvent QuestMap_StaticBar2Loop 0.7 +} + +event QuestMap_MapLoaded +{ + // Remove the black and fade out + Animate DisconnetedContainer alpha 0 Linear 0.2 0 + Animate BlackOverlay alpha 0 Linear 0.6 0 + Animate StaticOverlay alpha 20 Deaccel 0.6 1.2 +} + +event QuestMap_LoadingLoop +{ + Animate DisconnetedContainer alpha 255 Linear 0 0 +} + +event QuestMap_StaticFadeOut +{ + RunEvent QuestMap_StaticBar1Loop 0 + RunEvent QuestMap_StaticBar2Loop 0 + // Start mostly staticy, then reduce to the loop + Animate StaticOverlay alpha 255 Linear 0 0 + Animate StaticOverlay alpha 20 Deaccel 0 0.4 + RunEvent QuestMap_StaticBarOverlayLoop 1 +} + +event QuestMap_StaticBar1Loop +{ + Animate StaticBar1 ypos -50 Linear 0 0 // Reset + Animate StaticBar1 ypos r0 Linear 0 5 + RunEvent QuestMap_StaticBar1Loop 5 +} + +event QuestMap_StaticBar2Loop +{ + Animate StaticBar2 ypos -10 Linear 0 0 // Reset + Animate StaticBar2 ypos r0 Linear 0 15 + RunEvent QuestMap_StaticBar2Loop 15 +} + +event QuestMap_StaticBarOverlayLoop +{ + RunEvent QuestMap_StaticBarOverlayBrighten 0 + RunEvent QuestMap_StaticBarOverlayDarken 1 +} + +event QuestMap_StaticBarOverlayBrighten +{ + Animate StaticOverlay alpha 30 Linear 0 3 + RunEvent QuestMap_StaticBarOverlayBrighten 3 +} + +event QuestMap_StaticBarOverlayDarken +{ + Animate StaticOverlay alpha 1 Linear 0 2 + RunEvent QuestMap_StaticBarOverlayDarken 5 +} + +event QuestNodeView_PinTipHighlight +{ + Animate PinTipLabel fgcolor TanDark Linear 1 0.2 + Animate PinTipLabel fgcolor TanLight Linear 1.2 0.2 + + Animate PinTipLabel fgcolor TanDark Linear 1.4 0.2 + Animate PinTipLabel fgcolor TanLight Linear 1.6 0.2 +} + +event QuestMapIntro_StageReveal +{ + Animate StageDesc xpos 300 Linear 0 0 + Animate StageDesc Alpha 0 Linear 0 0 + Animate StageDesc fgcolor TanDark Linear 0 0 + + Animate StageDesc xpos 270 Deaccel 0 0.4 + Animate StageDesc Alpha 255 Bias 0.3 0 0.4 + Animate StageDesc fgcolor TanLight Linear 0.4 0.4 +} + +event QuestMapIntro_ShowStage +{ + Animate IntroDesc fgcolor TanDark Linear 0 0.4 +} + +event QuestMapIntro_ClearStage +{ + Animate IntroDesc fgcolor TanLight Linear 0 0.4 +} + +event QuestNodeView_QuestPurchased +{ + FireCommand 2 "show_items" +} + +event QuestViewSubPanel_QuestPurchased +{ + Animate ActivationFlash Alpha 255 Linear 0 0 + Animate ActivationFlash wide f0 Linear 0 0 + Animate ActivationFlash ypos 0 Linear 0 0 + Animate ActivationFlash tall 46 Linear 0 0 + + Animate ActivationFlash Alpha 0 Deaccel 0.2 0.5 + Animate ActivationFlash wide f0 Deaccel 0 0.5 + Animate ActivationFlash ypos 46 Linear 0 0.5 + Animate ActivationFlash tall 0 Linear 0 0.5 + FireCommand 0 "playsoundentry CYOA.OrangePanelCollapse" + + FireCommand 1 "toggle_expand" + FireCommand 1 "playsoundentry CYOA.objectivepanelexpand" + + SetVisible AcceptButton 0 0 +} + +event QuestViewSubPanel_SelectMouseOver +{ + Animate BGImageDarkener Alpha 0 Linear 0 0.1 +} + +event QuestViewSubPanel_SelectMouseExit +{ + Animate BGImageDarkener Alpha 150 Linear 0 0.1 +} + +event QuestMap_ShowLegend +{ + Animate Legend ypos 240 Bias 0.6 0 0.2 + Animate Legend Alpha 255 Linear 0.1 0.1 +} + +event QuestMap_HideLegend +{ + Animate Legend ypos 290 Bias 0.6 0 0.2 + Animate Legend Alpha 0 Linear 0 0.1 +} + +event QuestMap_CreditNotificationAcknowledge +{ + RunEventChild CreditNotification QuestMap_CreditHideAnim 0 + SetVisible CreditNotification 0 3 +} + +event QuestMap_CreditHideAnim +{ + SetVisible Body 0 0 + SetVisible OkButton 0 0 + Animate CreditImage xpos 14 Spline 0 1.5 + Animate CreditImage ypos 293 Spline 0 1.5 + Animate CreditImage wide 15 Spline 0 1.5 + Animate CreditImage tall 15 Spline 0 1.5 + + Animate StaticBG Alpha 0 Bias 0.7 2 1 + Animate StaticDarken Alpha 0 Bias 0.7 2 1 +} + +event QuestMap_CreditNotificationShow +{ + RunEventChild CreditNotification QuestMap_CreditShowAnim 0 + SetVisible CreditNotification 1 0 +} + +event QuestMap_CreditShowAnim +{ + // Reset everything + Animate CreditImage xpos 245 Linear 0 0 + Animate CreditImage ypos 130 Linear 0 0 + Animate CreditImage wide 50 Linear 0 0 + Animate CreditImage tall 50 Linear 0 0 + Animate CreditImage alpha 255 Linear 0 0 + Animate StaticBG Alpha 255 Linear 0 0 + Animate StaticDarken Alpha 255 Linear 0 0 + SetVisible Body 1 0 + SetVisible OkButton 1 0 +} + +event ObjectiveCompletedByUser +{ + Animate ScorerLabel xpos -20 Bias 0.8 0 0.4 + Animate ScorerLabel alpha 0 Linear 1.8 0.2 + + Animate ScorerLabelBlur xpos -20 Bias 0.8 0 0.4 + Animate ScorerLabelBlur alpha 0 Linear 1.8 0.2 +} + +event QuestReport_ContractComplete +{ + RunEventChild QuestCompletionContainer ObjectiveCompletionFanfare 0 + firecommand 3.2 "soundentry plng_contract_fully_completed" +} + +event QuestReport_ContractProgress +{ + RunEventChild QuestCompletionContainer ObjectiveCompletionFanfare 0 + firecommand 3.2 "soundentry plng_contract_partially_completed" +} + +event ObjectiveCompletionFanfare +{ + // + // Reset / hide everything + // + Animate FolderImage tall 0 Linear 0 0 + Animate FolderImage ypos 75 Linear 0 0 + + Animate ProgressTitle tall 0 Linear 0 0 + Animate ProgressTitle ypos 75 Linear 0 0 + + Animate TopBar xpos r0 Linear 0 0 + Animate BottomBar ypos 74 Linear 0 0 + Animate BottomBar xpos r0 Linear 0 0 + Animate AlphaBG tall 0 Linear 0 0 + Animate LineItemContainer tall 0 Linear 0 0 + + Animate AlphaBG alpha 190 Linear 0 0 + + // + // Animate in + // + PlaySound 2 "ui/quest_alert.wav" + Animate TopBar xpos 0 Bias 0.7 2 0.4 + Animate BottomBar xpos 0 Bias 0.7 2 0.4 + + // + // Grow the title and bottom + // + Animate FolderImage ypos 50 Linear 2.55 0.2 + Animate FolderImage tall 25 Linear 2.55 0.2 + Animate AlphaBG tall 35 Linear 2.55 0.2 + Animate LineItemContainer tall 35 Linear 2.55 0.2 + + Animate BottomBar ypos 110 Linear 2.55 0.2 + + Animate ProgressTitle ypos 50 Linear 2.55 0.2 + Animate ProgressTitle tall 25 Linear 2.55 0.2 +} + +event ObjectiveCompletionFanfareEnd +{ + // + // Collapse + // + Animate FolderImage tall 0 Linear 2 0.2 + Animate FolderImage ypos 75 Linear 2 0.2 + + Animate ProgressTitle tall 0 Linear 2 0.2 + Animate ProgressTitle ypos 75 Linear 2 0.2 + + Animate BottomBar ypos 74 Linear 2 0.2 + Animate AlphaBG tall 0 Linear 2 0.2 + Animate LineItemContainer tall 0 Linear 2 0.2 + + // Animate out + Animate TopBar xpos r0 Accel 2.4 0.4 + Animate BottomBar xpos r0 Accel 2.4 0.4 +} + +event RegionZoom +{ + FireCommand 0.2 "update_region_visiblity" +} + +// The screen area is 540 x 315 + +event StartRegionZoomIn +{ + Animate bgimage xpos -108 Linear 0 0.2 + Animate bgimage ypos -63 Linear 0 0.2 + + Animate bgimage wide 756 Linear 0 0.2 + Animate bgimage tall 441 Linear 0 0.2 +} + +event StartRegionZoomOut +{ + Animate bgimage xpos 0 Linear 0 0.2 + Animate bgimage ypos 0 Linear 0 0.2 + + Animate bgimage wide 540 Linear 0 0.2 + Animate bgimage tall 315 Linear 0 0.2 +} + +event EndRegionZoomIn +{ + // Snap to full-size + Animate bgimage xpos 0 Linear 0 0 + Animate bgimage ypos 0 Linear 0 0 + + Animate bgimage wide 540 Linear 0 0 + Animate bgimage tall 315 Linear 0 0 + + // Zoom in + Animate bgimage xpos -10 Linear 0.4 0.6 + Animate bgimage ypos -10 Linear 0.4 0.6 + + Animate bgimage wide 560 Linear 0.4 0.6 + Animate bgimage tall 335 Linear 0.4 0.6 +} + +event EndRegionZoomOut +{ + // Snap to zoomed + Animate bgimage xpos -108 Linear 0 0 + Animate bgimage ypos -63 Linear 0 0 + + Animate bgimage wide 756 Linear 0 0 + Animate bgimage tall 441 Linear 0 0 + + // Zoom out + Animate bgimage xpos -10 Deaccel 0.3 0.6 + Animate bgimage ypos -10 Deaccel 0.3 0.6 + + Animate bgimage wide 560 Deaccel 0.3 0.6 + Animate bgimage tall 335 Deaccel 0.3 0.6 +} + +event DelayQuestMapClose +{ + // Stop everything + StopPanelAnimations StaticOverlay 0 + StopPanelAnimations BlackOverlay 0 + StopPanelAnimations StaticBar1 0 + StopPanelAnimations StaticBar2 0 + StopEvent QuestMap_StaticFadeOut 0 + StopEvent QuestMap_StaticBarOverlayLoop 0 + StopEvent QuestMap_StaticBar1Loop 0 + StopEvent QuestMap_StaticBar2Loop 0 + StopEvent QuestMap_StaticBarOverlayDarken 0 + StopEvent QuestMap_StaticBarOverlayBrighten 0 + + // Bring up the black on top of the map and the static on top of everything + Animate StaticOverlay alpha 255 Linear 0 0.3 + Animate BlackOverlay alpha 255 Linear 0 0.3 + + // Move the bars up off the top. It's a pain to shrink them, so just hide them + Animate StaticBar1 ypos -50 Linear 0 0.3 + Animate StaticBar2 ypos -10 Linear 0 0.3 + + // Do the reverse of how we turn on. Shring vertically. + Animate StaticOverlay ypos 160 Accel 0.3 0.25 + Animate StaticOverlay tall 10 Accel 0.3 0.25 + + // Squish horizontally + Animate StaticOverlay wide 0 Accel 0.55 0.15 + Animate StaticOverlay xpos 270 Accel 0.55 0.15 + + // For real close + FireCommand 1.0 "close" +} + +// diff --git a/src/HUDAnimationsTests/HUDAnimationsTests.csproj b/src/HUDAnimationsTests/HUDAnimationsTests.csproj new file mode 100644 index 0000000..ebca2b6 --- /dev/null +++ b/src/HUDAnimationsTests/HUDAnimationsTests.csproj @@ -0,0 +1,31 @@ + + + + net8.0 + enable + false + true + + + + + + + + + + + + + + + + + + + + Always + + + + diff --git a/src/HUDMerger.sln b/src/HUDMerger.sln index 98068b6..06b276e 100644 --- a/src/HUDMerger.sln +++ b/src/HUDMerger.sln @@ -11,6 +11,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VDF", "VDF\VDF.csproj", "{1 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HUDAnimations", "HUDAnimations\HUDAnimations.csproj", "{6050DF67-1BD9-47C3-AEA0-F40127B4ABEF}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HUDAnimationsTests", "HUDAnimationsTests\HUDAnimationsTests.csproj", "{4E30AF72-1594-41C3-9732-4CD3F4494112}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -69,6 +71,18 @@ Global {6050DF67-1BD9-47C3-AEA0-F40127B4ABEF}.Release|x64.Build.0 = Release|Any CPU {6050DF67-1BD9-47C3-AEA0-F40127B4ABEF}.Release|x86.ActiveCfg = Release|Any CPU {6050DF67-1BD9-47C3-AEA0-F40127B4ABEF}.Release|x86.Build.0 = Release|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Debug|x64.ActiveCfg = Debug|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Debug|x64.Build.0 = Debug|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Debug|x86.ActiveCfg = Debug|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Debug|x86.Build.0 = Debug|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Release|Any CPU.Build.0 = Release|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Release|x64.ActiveCfg = Release|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Release|x64.Build.0 = Release|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Release|x86.ActiveCfg = Release|Any CPU + {4E30AF72-1594-41C3-9732-4CD3F4494112}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE