diff --git a/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/ASET_ClockTimer.cfg b/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/ASET_ClockTimer.cfg
index eb9e35d5..3991ccd2 100644
--- a/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/ASET_ClockTimer.cfg
+++ b/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/ASET_ClockTimer.cfg
@@ -55,8 +55,9 @@ PROP
transform = Seconds_arrowObj
startRotation = 0,0,0
endRotation = 0,360,0
- variable = fc.SecondsOfMinute(fc.UT())
- range = 0, 60
+ variable = fc.UT() % 21600
+ range = 0, 21600
+ modulo = 60
blend = true
speed = 1.0
longPath = true
@@ -67,8 +68,9 @@ PROP
transform = Minutes_arrowObj
startRotation = 0,0,0
endRotation = 0,360,0
- variable = fc.MinutesOfHour(fc.UT())
- range = 0, 60
+ variable = fc.UT() % 21600
+ range = 0, 21600
+ modulo = 3600
blend = true
speed = 1.0
longPath = true
@@ -93,8 +95,9 @@ PROP
transform = TimerArrowSecObj
startRotation = 0,0,0
endRotation = 0,360,0
- variable = fc.SecondsOfMinute(fc.GetPersistentAsNumber("%AUTOID%-TimerValue"))
- range = 0, 60
+ variable = fc.GetPersistentAsNumber("%AUTOID%-TimerValue")
+ range = 0, 21600
+ modulo = 60
blend = true
speed = 1.0
longPath = true
@@ -105,8 +108,9 @@ PROP
transform = TimerArrowMinObj
startRotation = 0,0,0
endRotation = 0,360,0
- variable = fc.MinutesOfHour(fc.GetPersistentAsNumber("%AUTOID%-TimerValue"))
- range = 0, 60
+ variable = fc.GetPersistentAsNumber("%AUTOID%-TimerValue")
+ range = 0, 21600
+ modulo = 3600
blend = true
speed = 1.0
longPath = true
diff --git a/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/MAS_LandingBurnTimer.cfg b/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/MAS_LandingBurnTimer.cfg
new file mode 100644
index 00000000..c38eb159
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/MAS_LandingBurnTimer.cfg
@@ -0,0 +1,149 @@
+PROP
+{
+ name = MAS_LandingBurnTimer
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/ASET_ClockTimer/ASET_ClockTimer
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ // Kerbin or Earth time scale -----------------------------------------
+ TRANSLATION
+ {
+ name = Earth time
+ transform = EarthScaleObj
+ startTranslation = 0,0,0
+ endTranslation = 0,-0.003,0
+ variable = fc.KerbinTime()
+ }
+ TRANSLATION
+ {
+ name = Kerbin time
+ transform = KerbinClockScaleObj
+ startTranslation = 0,-0.003,0
+ endTranslation = 0,0,0
+ variable = fc.KerbinTime()
+ }
+
+ // backlight ----------------------------------------------------------
+ COLOR_SHIFT
+ {
+ name = Instrument Lighting
+ transform = MainScaleObj, EarthScaleObj, KerbinClockScaleObj, Labels_and_TimerScaleObj
+ passiveColor = COLOR_ASET_AIRCRAFTGAUGESCALE_PASSIVECOLOR
+ activeColor = COLOR_ASET_AIRCRAFTGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Component Lighting
+ transform = TimerButtonLabelObj, Hours_arrowObj, Minutes_arrowObj, Seconds_arrowObj, TimerArrowSecObj, TimerArrowMinObj
+ passiveColor = COLOR_ASET_AIRCRAFTGAUGEHAND_PASSIVECOLOR
+ activeColor = COLOR_ASET_AIRCRAFTGAUGEHAND_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ // Clock Hands --------------------------------------------------------
+ ROTATION
+ {
+ name = Second hand
+ transform = Seconds_arrowObj
+ startRotation = 0,0,0
+ endRotation = 0,360,0
+ variable = fc.Conditioned(fc.SuicideBurnTime())
+ range = 0, 21600
+ blend = true
+ speed = 1.0
+ longPath = true
+ modulo = 60
+ }
+ ROTATION
+ {
+ name = Minute hand
+ transform = Minutes_arrowObj
+ startRotation = 0,0,0
+ endRotation = 0,360,0
+ variable = fc.Conditioned(fc.SuicideBurnTime())
+ range = 0, 21600
+ blend = true
+ speed = 1.0
+ longPath = true
+ modulo = 3600
+ }
+ ROTATION
+ {
+ name = Hour hand
+ transform = Hours_arrowObj
+ startRotation = 0,0,0
+ endRotation = 0,360,0
+ variable = fc.Conditioned(fc.HourOfDay(fc.SuicideBurnTime()))
+ range = 0, fc.HoursPerDay()
+ blend = true
+ speed = 1.0
+ longPath = true
+ }
+
+ // Timer Hands --------------------------------------------------------
+ // ROTATION
+ // {
+ // name = Timer Second hand
+ // transform = TimerArrowSecObj
+ // startRotation = 0,0,0
+ // endRotation = 0,360,0
+ // variable = fc.SecondsOfMinute(fc.GetPersistentAsNumber("%AUTOID%-TimerValue"))
+ // range = 0, 60
+ // blend = true
+ // speed = 1.0
+ // longPath = true
+ // }
+ // ROTATION
+ // {
+ // name = Timer Minute hand
+ // transform = TimerArrowMinObj
+ // startRotation = 0,0,0
+ // endRotation = 0,360,0
+ // variable = fc.MinutesOfHour(fc.GetPersistentAsNumber("%AUTOID%-TimerValue"))
+ // range = 0, 60
+ // blend = true
+ // speed = 1.0
+ // longPath = true
+ // }
+
+ // // Timer Control ------------------------------------------------------
+ // COLLIDER_EVENT
+ // {
+ // name = Timer button
+ // collider = StartColl
+ // onClick = fc.AddPersistentWrapped("%AUTOID%-TimerMode", 1, 0, 3)
+ // sound = ASET/ASET_Props/Sounds/AnalogTimerButton
+ // volume = 0.5
+ // }
+ // TRANSLATION
+ // {
+ // name = Timer flag
+ // transform = TimerON_flagObj
+ // startTranslation = 0,0,0
+ // endTranslation = 0,0,-0.005
+ // variable = fc.GetPersistentAsNumber("%AUTOID%-TimerMode") == 1
+ // }
+ // TRIGGER_EVENT
+ // {
+ // name = Timer Initialize
+ // event = fc.SetPersistent("%AUTOID%-TimerValue", 0)
+ // exitEvent = fc.SetPersistent("%AUTOID%-TimerStart", fc.UT())
+ // variable = fc.GetPersistentAsNumber("%AUTOID%-TimerMode") == 0
+ // }
+ // TRIGGER_EVENT
+ // {
+ // name = Timer Update
+ // event = fc.SetPersistent("%AUTOID%-TimerValue", fc.UT() - fc.GetPersistentAsNumber("%AUTOID%-TimerStart"))
+ // variable = fc.GetPersistentAsNumber("%AUTOID%-TimerMode") == 1
+ // autoRepeat = true
+ // }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/MAS_LandingTimer.cfg b/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/MAS_LandingTimer.cfg
new file mode 100644
index 00000000..195b4465
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/MAS_LandingTimer.cfg
@@ -0,0 +1,149 @@
+PROP
+{
+ name = MAS_LandingTimer
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/ASET_ClockTimer/ASET_ClockTimer
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ // Kerbin or Earth time scale -----------------------------------------
+ TRANSLATION
+ {
+ name = Earth time
+ transform = EarthScaleObj
+ startTranslation = 0,0,0
+ endTranslation = 0,-0.003,0
+ variable = fc.KerbinTime()
+ }
+ TRANSLATION
+ {
+ name = Kerbin time
+ transform = KerbinClockScaleObj
+ startTranslation = 0,-0.003,0
+ endTranslation = 0,0,0
+ variable = fc.KerbinTime()
+ }
+
+ // backlight ----------------------------------------------------------
+ COLOR_SHIFT
+ {
+ name = Instrument Lighting
+ transform = MainScaleObj, EarthScaleObj, KerbinClockScaleObj, Labels_and_TimerScaleObj
+ passiveColor = COLOR_ASET_AIRCRAFTGAUGESCALE_PASSIVECOLOR
+ activeColor = COLOR_ASET_AIRCRAFTGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Component Lighting
+ transform = TimerButtonLabelObj, Hours_arrowObj, Minutes_arrowObj, Seconds_arrowObj, TimerArrowSecObj, TimerArrowMinObj
+ passiveColor = COLOR_ASET_AIRCRAFTGAUGEHAND_PASSIVECOLOR
+ activeColor = COLOR_ASET_AIRCRAFTGAUGEHAND_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ // Clock Hands --------------------------------------------------------
+ ROTATION
+ {
+ name = Second hand
+ transform = Seconds_arrowObj
+ startRotation = 0,0,0
+ endRotation = 0,360,0
+ variable = fc.Conditioned(fc.LandingTime())
+ range = 0, 21600
+ blend = true
+ speed = 1.0
+ longPath = true
+ modulo = 60
+ }
+ ROTATION
+ {
+ name = Minute hand
+ transform = Minutes_arrowObj
+ startRotation = 0,0,0
+ endRotation = 0,360,0
+ variable = fc.Conditioned(fc.LandingTime())
+ range = 0, 21600
+ blend = true
+ speed = 1.0
+ longPath = true
+ modulo = 3600
+ }
+ ROTATION
+ {
+ name = Hour hand
+ transform = Hours_arrowObj
+ startRotation = 0,0,0
+ endRotation = 0,360,0
+ variable = fc.Conditioned(fc.HourOfDay(fc.LandingTime()))
+ range = 0, fc.HoursPerDay()
+ blend = true
+ speed = 1.0
+ longPath = true
+ }
+
+ // Timer Hands --------------------------------------------------------
+ // ROTATION
+ // {
+ // name = Timer Second hand
+ // transform = TimerArrowSecObj
+ // startRotation = 0,0,0
+ // endRotation = 0,360,0
+ // variable = fc.SecondsOfMinute(fc.GetPersistentAsNumber("%AUTOID%-TimerValue"))
+ // range = 0, 60
+ // blend = true
+ // speed = 1.0
+ // longPath = true
+ // }
+ // ROTATION
+ // {
+ // name = Timer Minute hand
+ // transform = TimerArrowMinObj
+ // startRotation = 0,0,0
+ // endRotation = 0,360,0
+ // variable = fc.MinutesOfHour(fc.GetPersistentAsNumber("%AUTOID%-TimerValue"))
+ // range = 0, 60
+ // blend = true
+ // speed = 1.0
+ // longPath = true
+ // }
+
+ // // Timer Control ------------------------------------------------------
+ // COLLIDER_EVENT
+ // {
+ // name = Timer button
+ // collider = StartColl
+ // onClick = fc.AddPersistentWrapped("%AUTOID%-TimerMode", 1, 0, 3)
+ // sound = ASET/ASET_Props/Sounds/AnalogTimerButton
+ // volume = 0.5
+ // }
+ // TRANSLATION
+ // {
+ // name = Timer flag
+ // transform = TimerON_flagObj
+ // startTranslation = 0,0,0
+ // endTranslation = 0,0,-0.005
+ // variable = fc.GetPersistentAsNumber("%AUTOID%-TimerMode") == 1
+ // }
+ // TRIGGER_EVENT
+ // {
+ // name = Timer Initialize
+ // event = fc.SetPersistent("%AUTOID%-TimerValue", 0)
+ // exitEvent = fc.SetPersistent("%AUTOID%-TimerStart", fc.UT())
+ // variable = fc.GetPersistentAsNumber("%AUTOID%-TimerMode") == 0
+ // }
+ // TRIGGER_EVENT
+ // {
+ // name = Timer Update
+ // event = fc.SetPersistent("%AUTOID%-TimerValue", fc.UT() - fc.GetPersistentAsNumber("%AUTOID%-TimerStart"))
+ // variable = fc.GetPersistentAsNumber("%AUTOID%-TimerMode") == 1
+ // autoRepeat = true
+ // }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/MAS_NodeBurnTimer.cfg b/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/MAS_NodeBurnTimer.cfg
new file mode 100644
index 00000000..d4f4e606
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/ASET_ClockTimer/MAS_NodeBurnTimer.cfg
@@ -0,0 +1,149 @@
+PROP
+{
+ name = MAS_NodeBurnTimer
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/ASET_ClockTimer/ASET_ClockTimer
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ // Kerbin or Earth time scale -----------------------------------------
+ TRANSLATION
+ {
+ name = Earth time
+ transform = EarthScaleObj
+ startTranslation = 0,0,0
+ endTranslation = 0,-0.003,0
+ variable = fc.KerbinTime()
+ }
+ TRANSLATION
+ {
+ name = Kerbin time
+ transform = KerbinClockScaleObj
+ startTranslation = 0,-0.003,0
+ endTranslation = 0,0,0
+ variable = fc.KerbinTime()
+ }
+
+ // backlight ----------------------------------------------------------
+ COLOR_SHIFT
+ {
+ name = Instrument Lighting
+ transform = MainScaleObj, EarthScaleObj, KerbinClockScaleObj, Labels_and_TimerScaleObj
+ passiveColor = COLOR_ASET_AIRCRAFTGAUGESCALE_PASSIVECOLOR
+ activeColor = COLOR_ASET_AIRCRAFTGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Component Lighting
+ transform = TimerButtonLabelObj, Hours_arrowObj, Minutes_arrowObj, Seconds_arrowObj, TimerArrowSecObj, TimerArrowMinObj
+ passiveColor = COLOR_ASET_AIRCRAFTGAUGEHAND_PASSIVECOLOR
+ activeColor = COLOR_ASET_AIRCRAFTGAUGEHAND_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ // Clock Hands --------------------------------------------------------
+ ROTATION
+ {
+ name = Second hand
+ transform = Seconds_arrowObj
+ startRotation = 0,0,0
+ endRotation = 0,360,0
+ variable = fc.Conditioned(fc.ManeuverNodeBurnTime())
+ range = 0, 21600
+ blend = true
+ speed = 1.0
+ longPath = true
+ modulo = 60
+ }
+ ROTATION
+ {
+ name = Minute hand
+ transform = Minutes_arrowObj
+ startRotation = 0,0,0
+ endRotation = 0,360,0
+ variable = fc.Conditioned(fc.ManeuverNodeBurnTime())
+ range = 0, 21600
+ blend = true
+ speed = 1.0
+ longPath = true
+ modulo = 3600
+ }
+ ROTATION
+ {
+ name = Hour hand
+ transform = Hours_arrowObj
+ startRotation = 0,0,0
+ endRotation = 0,360,0
+ variable = fc.Conditioned(fc.HourOfDay(fc.ManeuverNodeBurnTime()))
+ range = 0, fc.HoursPerDay()
+ blend = true
+ speed = 1.0
+ longPath = true
+ }
+
+ // Timer Hands --------------------------------------------------------
+ // ROTATION
+ // {
+ // name = Timer Second hand
+ // transform = TimerArrowSecObj
+ // startRotation = 0,0,0
+ // endRotation = 0,360,0
+ // variable = fc.SecondsOfMinute(fc.GetPersistentAsNumber("%AUTOID%-TimerValue"))
+ // range = 0, 60
+ // blend = true
+ // speed = 1.0
+ // longPath = true
+ // }
+ // ROTATION
+ // {
+ // name = Timer Minute hand
+ // transform = TimerArrowMinObj
+ // startRotation = 0,0,0
+ // endRotation = 0,360,0
+ // variable = fc.MinutesOfHour(fc.GetPersistentAsNumber("%AUTOID%-TimerValue"))
+ // range = 0, 60
+ // blend = true
+ // speed = 1.0
+ // longPath = true
+ // }
+
+ // // Timer Control ------------------------------------------------------
+ // COLLIDER_EVENT
+ // {
+ // name = Timer button
+ // collider = StartColl
+ // onClick = fc.AddPersistentWrapped("%AUTOID%-TimerMode", 1, 0, 3)
+ // sound = ASET/ASET_Props/Sounds/AnalogTimerButton
+ // volume = 0.5
+ // }
+ // TRANSLATION
+ // {
+ // name = Timer flag
+ // transform = TimerON_flagObj
+ // startTranslation = 0,0,0
+ // endTranslation = 0,0,-0.005
+ // variable = fc.GetPersistentAsNumber("%AUTOID%-TimerMode") == 1
+ // }
+ // TRIGGER_EVENT
+ // {
+ // name = Timer Initialize
+ // event = fc.SetPersistent("%AUTOID%-TimerValue", 0)
+ // exitEvent = fc.SetPersistent("%AUTOID%-TimerStart", fc.UT())
+ // variable = fc.GetPersistentAsNumber("%AUTOID%-TimerMode") == 0
+ // }
+ // TRIGGER_EVENT
+ // {
+ // name = Timer Update
+ // event = fc.SetPersistent("%AUTOID%-TimerValue", fc.UT() - fc.GetPersistentAsNumber("%AUTOID%-TimerStart"))
+ // variable = fc.GetPersistentAsNumber("%AUTOID%-TimerMode") == 1
+ // autoRepeat = true
+ // }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/ASET_DynamicPressure/ASET_DynamicPressure.cfg b/GameData/MOARdV/MAS_ASET/ASET_DynamicPressure/ASET_DynamicPressure.cfg
index 370d00b3..f18e3406 100644
--- a/GameData/MOARdV/MAS_ASET/ASET_DynamicPressure/ASET_DynamicPressure.cfg
+++ b/GameData/MOARdV/MAS_ASET/ASET_DynamicPressure/ASET_DynamicPressure.cfg
@@ -29,7 +29,7 @@ PROP
COLOR_SHIFT
{
name = DynPres_arrow
- transform = ASI_arrow, TV_arrow
+ transform = DynPres_arrow
passiveColor = COLOR_ASET_AIRCRAFTGAUGEHAND_PASSIVECOLOR
activeColor = COLOR_ASET_AIRCRAFTGAUGEHAND_ACTIVECOLOR
variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
diff --git a/GameData/MOARdV/MAS_ASET/ASET_GroundSpeed/ASET_GroundSpeed.cfg b/GameData/MOARdV/MAS_ASET/ASET_GroundSpeed/ASET_GroundSpeed.cfg
index 92180546..9e408467 100644
--- a/GameData/MOARdV/MAS_ASET/ASET_GroundSpeed/ASET_GroundSpeed.cfg
+++ b/GameData/MOARdV/MAS_ASET/ASET_GroundSpeed/ASET_GroundSpeed.cfg
@@ -33,7 +33,7 @@ PROP
transform = GSI1000_arrow
startRotation = 0,0,0
endRotation = 0,180,0
- variable = fc.Conditioned(fc.min(fc.HorizontalSpeed(), 2500)
+ variable = fc.Conditioned(fc.Min(fc.HorizontalSpeed(), 2500)
range = 0, 2500
blend = true
cycleRate = 1
diff --git a/GameData/MOARdV/MAS_ASET/ASET_SignalLamp/MAS_SignalLamp_KAC.cfg b/GameData/MOARdV/MAS_ASET/ASET_SignalLamp/MAS_SignalLamp_KAC.cfg
new file mode 100644
index 00000000..0c2d1854
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/ASET_SignalLamp/MAS_SignalLamp_KAC.cfg
@@ -0,0 +1,53 @@
+PROP
+{
+ name = MAS_SignalLamp_KAC
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/ASET_SignalLamp/ASET_SignalLamp
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ MODEL_SCALE
+ {
+ name = Lamp Off
+ transform = LampOFFObj
+ startScale = 0, 0, 0
+ endScale = -1, -1, -1
+ variable = fc.Conditioned(1)
+ }
+
+ MODEL_SCALE
+ {
+ name = Lamp On
+ transform = LampObj
+ startScale = -1,-1,-1
+ endScale = 0, 0, 0
+ variable = fc.Conditioned(1)
+ }
+
+ COLOR_SHIFT
+ {
+ name = Lamp On
+ transform = LampObj
+ passiveColor = COLOR_MOARdV_IndicatorLampOff
+ colorName = _EmissiveColor
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("KAC_Alarm_Created") and not fc.GetPersistentAsNumber("KAC_Error"))
+ }
+
+ // COLOR_SHIFT
+ // {
+ // name = Lamp Error
+ // transform = LampObj
+ // passiveColor = COLOR_MOARdV_IndicatorLampOff
+ // colorName = _EmissiveColor
+ // activeColor = COLOR_MOARdV_IndicatorLampRed
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("KAC_Error"))
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/ASET_SignalLamp/MAS_SignalLamp_RCS.cfg b/GameData/MOARdV/MAS_ASET/ASET_SignalLamp/MAS_SignalLamp_RCS.cfg
new file mode 100644
index 00000000..47f512cc
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/ASET_SignalLamp/MAS_SignalLamp_RCS.cfg
@@ -0,0 +1,43 @@
+PROP
+{
+ name = MAS_SignalLamp_RCS
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/ASET_SignalLamp/ASET_SignalLamp
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ MODEL_SCALE
+ {
+ name = Lamp Off
+ transform = LampOFFObj
+ startScale = 0, 0, 0
+ endScale = -1, -1, -1
+ variable = fc.Conditioned(1)
+ }
+
+ MODEL_SCALE
+ {
+ name = Lamp On
+ transform = LampObj
+ startScale = -1,-1,-1
+ endScale = 0, 0, 0
+ variable = fc.Conditioned(1)
+ }
+
+ COLOR_SHIFT
+ {
+ name = Lamp Color
+ transform = LampObj
+ passiveColor = COLOR_MOARdV_IndicatorLampOff
+ colorName = _EmissiveColor
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ variable = fc.Conditioned(fc.GetRCS())
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/ASET_SignalLamp/MAS_SignalLamp_SAS.cfg b/GameData/MOARdV/MAS_ASET/ASET_SignalLamp/MAS_SignalLamp_SAS.cfg
new file mode 100644
index 00000000..dcaa92ed
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/ASET_SignalLamp/MAS_SignalLamp_SAS.cfg
@@ -0,0 +1,43 @@
+PROP
+{
+ name = MAS_SignalLamp_SAS
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/ASET_SignalLamp/ASET_SignalLamp
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ MODEL_SCALE
+ {
+ name = Lamp Off
+ transform = LampOFFObj
+ startScale = 0, 0, 0
+ endScale = -1, -1, -1
+ variable = fc.Conditioned(1)
+ }
+
+ MODEL_SCALE
+ {
+ name = Lamp On
+ transform = LampObj
+ startScale = -1,-1,-1
+ endScale = 0, 0, 0
+ variable = fc.Conditioned(1)
+ }
+
+ COLOR_SHIFT
+ {
+ name = Lamp Color
+ transform = LampObj
+ passiveColor = COLOR_MOARdV_IndicatorLampOff
+ colorName = _EmissiveColor
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ variable = fc.Conditioned(fc.GetSAS())
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/CrewManual01/MAS_CrewManual_FlightPlan.cfg b/GameData/MOARdV/MAS_ASET/CrewManual01/MAS_CrewManual_FlightPlan.cfg
index b3af5e8a..6f2b9de5 100644
--- a/GameData/MOARdV/MAS_ASET/CrewManual01/MAS_CrewManual_FlightPlan.cfg
+++ b/GameData/MOARdV/MAS_ASET/CrewManual01/MAS_CrewManual_FlightPlan.cfg
@@ -19,20 +19,6 @@
startUV = 0, 0
}
- TEXTURE_SHIFT
- {
- name = Manual Ring 02
- transform = ManualRing02
- startUV = 0, 0
- }
-
- TEXTURE_SHIFT
- {
- name = Manual Ring 03
- transform = ManualRing03
- startUV = 0, 0
- }
-
// manual side label
TEXTURE_SHIFT
{
diff --git a/GameData/MOARdV/MAS_ASET/DigitalIndicator_EmissiveScreen/MAS_DigitalIndicator_12char_MissionTimer.cfg b/GameData/MOARdV/MAS_ASET/DigitalIndicator_EmissiveScreen/MAS_DigitalIndicator_12char_MissionTimer.cfg
index 308308b5..7f919f15 100644
--- a/GameData/MOARdV/MAS_ASET/DigitalIndicator_EmissiveScreen/MAS_DigitalIndicator_12char_MissionTimer.cfg
+++ b/GameData/MOARdV/MAS_ASET/DigitalIndicator_EmissiveScreen/MAS_DigitalIndicator_12char_MissionTimer.cfg
@@ -37,7 +37,7 @@
name = DigitIndicatorTextObj
transform = DigitIndicatorTextObj
fontSize = 20
- transformOffset = 0.093,0
+ transformOffset = 0,0
lineSpacing = 0.9
font = Digital-7 Mono
style = Italic
@@ -55,7 +55,7 @@
name = DigitIndicatorText2Obj
transform = DigitIndicatorText2Obj
fontSize = 20
- transformOffset = 0.093,0
+ transformOffset = 0,0
lineSpacing = 0.9
font = Digital-7 Mono
style = Italic
diff --git a/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_IMPError.cfg b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_IMPError.cfg
new file mode 100644
index 00000000..142ccee0
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_IMPError.cfg
@@ -0,0 +1,80 @@
+PROP
+{
+ name = MAS_FI_IMPError
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/FlagIndicator/FlagIndicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Diffuse color
+ transform = namePlate
+ colorName = _Color
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Emissive color
+ transform = namePlate
+ colorName = _EmissiveColor
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Warning plate Emissive color
+ transform = WarningPlate
+ colorName = _EmissiveColor
+ passiveColor = 0, 0, 0, 255
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = IndicatorNameObj
+ fontSize = 2
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0087, -0.0015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = IMP ERR
+ }
+
+ // Flag trigger
+ MODEL_SCALE
+ {
+ name = WarningPlate Cover
+ transform = CoverLoc
+ startScale = 0, 0, 0
+ endScale = 0, 0, -0.9
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_IMP_On") and not fc.GetPersistentAsNumber("MAS_IMP_Enable"))
+ }
+
+ // startUV: x=0.0 (striped) x=-0.2 (solid), y=0.0 (white), y=0.2 (red), y=0.4 (green), y=0.6 (yellow)
+ TEXTURE_SHIFT
+ {
+ name = Flag color
+ transform = WarningPlate
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.6
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_LowCharge.cfg b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_LowCharge.cfg
new file mode 100644
index 00000000..076fec72
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_LowCharge.cfg
@@ -0,0 +1,80 @@
+PROP
+{
+ name = MAS_FI_LowCharge
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/FlagIndicator/FlagIndicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Diffuse color
+ transform = namePlate
+ colorName = _Color
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Emissive color
+ transform = namePlate
+ colorName = _EmissiveColor
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Warning plate Emissive color
+ transform = WarningPlate
+ colorName = _EmissiveColor
+ passiveColor = 0, 0, 0, 255
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = IndicatorNameObj
+ fontSize = 2
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0087, -0.0015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = LOW CHARGE
+ }
+
+ // Flag trigger
+ MODEL_SCALE
+ {
+ name = WarningPlate Cover
+ transform = CoverLoc
+ startScale = 0, 0, 0
+ endScale = 0, 0, -0.9
+ variable = fc.Conditioned(fc.PowerPercent() < 0.2)
+ }
+
+ // startUV: x=0.0 (striped) x=-0.2 (solid), y=0.0 (white), y=0.2 (red), y=0.4 (green), y=0.6 (yellow)
+ TEXTURE_SHIFT
+ {
+ name = Flag color
+ transform = WarningPlate
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.6
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_LowMonoprop.cfg b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_LowMonoprop.cfg
new file mode 100644
index 00000000..3a4ef89b
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_LowMonoprop.cfg
@@ -0,0 +1,80 @@
+PROP
+{
+ name = MAS_FI_LowMonoprop
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/FlagIndicator/FlagIndicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Diffuse color
+ transform = namePlate
+ colorName = _Color
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Emissive color
+ transform = namePlate
+ colorName = _EmissiveColor
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Warning plate Emissive color
+ transform = WarningPlate
+ colorName = _EmissiveColor
+ passiveColor = 0, 0, 0, 255
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = IndicatorNameObj
+ fontSize = 2
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0087, -0.0015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = LOW M/P
+ }
+
+ // Flag trigger
+ MODEL_SCALE
+ {
+ name = WarningPlate Cover
+ transform = CoverLoc
+ startScale = 0, 0, 0
+ endScale = 0, 0, -0.9
+ variable = fc.Conditioned(fc.ResourcePercent("MonoPropellant") < 0.2)
+ }
+
+ // startUV: x=0.0 (striped) x=-0.2 (solid), y=0.0 (white), y=0.2 (red), y=0.4 (green), y=0.6 (yellow)
+ TEXTURE_SHIFT
+ {
+ name = Flag color
+ transform = WarningPlate
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.6
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_PREC_CTRL.cfg b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_PREC_CTRL.cfg
new file mode 100644
index 00000000..ab3f06b8
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_PREC_CTRL.cfg
@@ -0,0 +1,80 @@
+PROP
+{
+ name = MAS_FI_PREC_CTRL
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/FlagIndicator/FlagIndicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Diffuse color
+ transform = namePlate
+ colorName = _Color
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Emissive color
+ transform = namePlate
+ colorName = _EmissiveColor
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Warning plate Emissive color
+ transform = WarningPlate
+ colorName = _EmissiveColor
+ passiveColor = 0, 0, 0, 255
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = IndicatorNameObj
+ fontSize = 2
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0087, -0.0015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = PREC CTRL
+ }
+
+ // Flag trigger
+ MODEL_SCALE
+ {
+ name = WarningPlate Cover
+ transform = CoverLoc
+ startScale = 0, 0, 0
+ endScale = 0, 0, -0.9
+ variable = fc.Conditioned(fc.GetPrecisionMode())
+ }
+
+ // startUV: x=0.0 (striped) x=-0.2 (solid), y=0.0 (white), y=0.2 (red), y=0.4 (green), y=0.6 (yellow)
+ TEXTURE_SHIFT
+ {
+ name = Flag color
+ transform = WarningPlate
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.6
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_SAS_SPEED_ORBIT.cfg b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_SAS_SPEED_ORBIT.cfg
new file mode 100644
index 00000000..ed7fb735
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_SAS_SPEED_ORBIT.cfg
@@ -0,0 +1,80 @@
+PROP
+{
+ name = MAS_FI_SAS_SPEED_ORBIT
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/FlagIndicator/FlagIndicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Diffuse color
+ transform = namePlate
+ colorName = _Color
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Emissive color
+ transform = namePlate
+ colorName = _EmissiveColor
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Warning plate Emissive color
+ transform = WarningPlate
+ colorName = _EmissiveColor
+ passiveColor = 0, 0, 0, 255
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = IndicatorNameObj
+ fontSize = 2
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0087, -0.0015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ORBIT
+ }
+
+ // Flag trigger
+ MODEL_SCALE
+ {
+ name = WarningPlate Cover
+ transform = CoverLoc
+ startScale = 0, 0, 0
+ endScale = 0, 0, -0.9
+ variable = fc.Conditioned(fc.GetSASSpeedMode() == 1)
+ }
+
+ // startUV: x=0.0 (striped) x=-0.2 (solid), y=0.0 (white), y=0.2 (red), y=0.4 (green), y=0.6 (yellow)
+ TEXTURE_SHIFT
+ {
+ name = Flag color
+ transform = WarningPlate
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.6
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_SAS_SPEED_SURFACE.cfg b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_SAS_SPEED_SURFACE.cfg
new file mode 100644
index 00000000..822ad926
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_SAS_SPEED_SURFACE.cfg
@@ -0,0 +1,80 @@
+PROP
+{
+ name = MAS_FI_SAS_SPEED_SURFACE
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/FlagIndicator/FlagIndicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Diffuse color
+ transform = namePlate
+ colorName = _Color
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Emissive color
+ transform = namePlate
+ colorName = _EmissiveColor
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Warning plate Emissive color
+ transform = WarningPlate
+ colorName = _EmissiveColor
+ passiveColor = 0, 0, 0, 255
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = IndicatorNameObj
+ fontSize = 2
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0087, -0.0015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = SURFACE
+ }
+
+ // Flag trigger
+ MODEL_SCALE
+ {
+ name = WarningPlate Cover
+ transform = CoverLoc
+ startScale = 0, 0, 0
+ endScale = 0, 0, -0.9
+ variable = fc.Conditioned(fc.GetSASSpeedMode() == 0)
+ }
+
+ // startUV: x=0.0 (striped) x=-0.2 (solid), y=0.0 (white), y=0.2 (red), y=0.4 (green), y=0.6 (yellow)
+ TEXTURE_SHIFT
+ {
+ name = Flag color
+ transform = WarningPlate
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.6
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_SAS_SPEED_TARGET.cfg b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_SAS_SPEED_TARGET.cfg
new file mode 100644
index 00000000..8141d292
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/FlagIndicator/MAS_FI_SAS_SPEED_TARGET.cfg
@@ -0,0 +1,80 @@
+PROP
+{
+ name = MAS_FI_SAS_SPEED_TARGET
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/FlagIndicator/FlagIndicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Diffuse color
+ transform = namePlate
+ colorName = _Color
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Nameplate Emissive color
+ transform = namePlate
+ colorName = _EmissiveColor
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ }
+
+ COLOR_SHIFT
+ {
+ name = Warning plate Emissive color
+ transform = WarningPlate
+ colorName = _EmissiveColor
+ passiveColor = 0, 0, 0, 255
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = IndicatorNameObj
+ fontSize = 2
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0087, -0.0015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = TARGET
+ }
+
+ // Flag trigger
+ MODEL_SCALE
+ {
+ name = WarningPlate Cover
+ transform = CoverLoc
+ startScale = 0, 0, 0
+ endScale = 0, 0, -0.9
+ variable = fc.Conditioned(fc.GetSASSpeedMode() == -1)
+ }
+
+ // startUV: x=0.0 (striped) x=-0.2 (solid), y=0.0 (white), y=0.2 (red), y=0.4 (green), y=0.6 (yellow)
+ TEXTURE_SHIFT
+ {
+ name = Flag color
+ transform = WarningPlate
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.6
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/MAS_ASET_Props.lua b/GameData/MOARdV/MAS_ASET/MAS_ASET_Props.lua
index c766a0fb..bf292689 100644
--- a/GameData/MOARdV/MAS_ASET/MAS_ASET_Props.lua
+++ b/GameData/MOARdV/MAS_ASET/MAS_ASET_Props.lua
@@ -142,3 +142,185 @@ function MAS_Alcor_60x30_Init(propid)
return 1
end
+
+function FMSEditNode(mode, FMSBuffer, progradeDV, normalDV, radialDV, nodeTime)
+ -- local success
+
+ if mode < 0 then
+ return 0
+ elseif mode == 0 then
+ return fc.AddManeuverNode(progradeDV, normalDV, radialDV, fc.UT() + FMSBuffer - fc.TimeOfDay(fc.UT())) and fc.LogMessage("Editing Node Time")
+ elseif mode == 1 then
+ return fc.AddManeuverNode(FMSBuffer, normalDV, radialDV, fc.UT() + nodeTime) and fc.LogMessage("Editing Prograde DV")
+ elseif mode == 2 then
+ return fc.AddManeuverNode(progradeDV, FMSBuffer, radialDV, fc.UT() + nodeTime) and fc.LogMessage("Editing Normal DV")
+ elseif mode == 3 then
+ return fc.AddManeuverNode(progradeDV, normalDV, FMSBuffer, fc.UT() + nodeTime) and fc.LogMessage("Editing Radial DV")
+ else
+ return not fc.LogMessage("Invalid Mode")
+ end
+
+ return not fc.LogMessage("No Conditions Satisfied")
+end
+
+function AAEditParams(mode, FMSBuffer)
+ if mode < 0 then
+ return 0
+ elseif mode == 0 then
+ return aa.SetHeadingSetPoint(FMSBuffer)
+ elseif mode == 1 then
+ return aa.SetLatitudeSetPoint(FMSBuffer)
+ elseif mode == 2 then
+ return aa.SetLongitudeSetPoint(FMSBuffer)
+ elseif mode == 3 then
+ return aa.SetAltitudeSetPoint(FMSBuffer)
+ elseif mode == 4 then
+ return aa.SetVertSpeedSetPoint(FMSBuffer)
+ elseif mode == 5 then
+ return aa.SetVertAngleSetPoint(FMSBuffer)
+ else
+ return not fc.LogMessage("Invalid Mode")
+ end
+
+ return not fc.LogMessage("No Conditions Satisfied")
+
+end
+
+function AACopyParams(mode)
+ if mode < 0 then
+ return 0
+ elseif mode == 0 then
+ return aa.GetHeadingSetPoint()
+ elseif mode == 1 then
+ return aa.GetLatitudeSetPoint()
+ elseif mode == 2 then
+ return aa.GetLongitudeSetPoint()
+ elseif mode == 3 then
+ return aa.GetAltitudeSetPoint()
+ elseif mode == 4 then
+ return aa.GetVertSpeedSetPoint()
+ elseif mode == 5 then
+ return aa.GetVertAngleSetPoint()
+ else
+ return not fc.LogMessage("Invalid Mode")
+ end
+
+ return not fc.LogMessage("No Conditions Satisfied")
+end
+
+function AAUpdateHNAV(mode)
+ if mode < 0 then
+ return not fc.LogMessage("Invalid Mode")
+ elseif mode >= 0 and mode <= 2 then
+ return aa.SwitchHNAVMode(mode)
+ else
+ return not fc.LogMessage("Invalid Mode")
+ end
+end
+
+function AAUpdateVNAV(mode)
+ if mode < 0 then
+ return not fc.LogMessage("Invalid Mode")
+ elseif mode >= 0 and mode <= 2 then
+ return aa.SwitchVNAVMode(mode)
+ else
+ return not fc.LogMessage("Invalid Mode")
+ end
+end
+
+local KACThreshold = {
+ 5,
+ 15,
+ 30,
+ 60,
+ 120,
+ 300
+}
+
+function SetKACAlarm(modeSelA, modeSelB, threshold)
+
+ if modeSelA == 0 then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("Raw", "Alarm for " .. fc.VesselName(), fc.UT() - fc.TimeOfDay(fc.UT()) + fc.GetPersistentAsNumber("STS_FMSCompBuffer") - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelA == 1 and fc.TimeToSoI() then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("SOIChange", "SOI Transition to " .. fc.NextBodyName() .. " for " .. fc.VesselName(), fc.UT() + fc.TimeToNextSoI() - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelA == 2 and fc.TargetClosestApproachTime() then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("Closest", fc.VesselName() .. " closest approach to " .. fc.TargetName(), fc.UT() + fc.TargetClosestApproachTime() - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelA == 3 and fc.BodyAtmosphereTop(fc.CurrentBodyIndex()) and fc.BodyAtmosphereTop(fc.CurrentBodyIndex()) > fc.Periapsis() then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("Closest", fc.VesselName() .. " altitude limit " .. fc.BodyAtmosphereTop(fc.CurrentBodyIndex()) .. " m at " .. fc.BodyName(fc.CurrentBodyIndex()), fc.UT() + fc.TimeToAtmosphere() - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelA == 4 and fc.ManeuverNodeTime() < 0 then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("Maneuver", fc.VesselName() .. " maneuver", fc.UT() - fc.ManeuverNodeTime() - 0.5 * fc.ManeuverNodeBurnTime() - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelA == 5 then
+ if modeSelB == 0 and fc.TimeToAp() > 0 then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("Apoapsis", fc.VesselName() .. " apoapsis", fc.UT() + fc.TimeToAp() - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelB == 1 and fc.TimeToPe() > 0 then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("Periapsis", fc.VesselName() .. " periapsis", fc.UT() + fc.TimeToPe() - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelB == 2 and fc.TimeToANEq() > 0 then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("AscendingNode", fc.VesselName() .. " ascending node", fc.UT() + fc.TimeToANEq() - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelB == 3 and fc.TimeToDNEq() > 0 then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("DescendingNode", fc.VesselName() .. " descending node", fc.UT() + fc.TimeToDNEq() - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelB == 4 and transfer.TimeUntilPhaseAngle() > 0 then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("Transfer", fc.VesselName() .. " transfer window from " .. fc.BodyName(fc.CurrentBodyIndex()) .. " to " .. fc.TargetBodyName(), fc.UT() + transfer.TimeUntilPhaseAngle() - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ elseif modeSelB == 5 then
+ kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))
+ local newAlarmID = kac.CreateTypeAlarm("Crew", fc.VesselName() .. " crew alarm", fc.UT() - fc.TimeOfDay(fc.UT()) + fc.GetPersistentAsNumber("STS_FMSCompBuffer") - KACThreshold[threshold])
+ fc.SetPersistent("MAS_Clock_AlarmId", newAlarmID)
+ return 1
+ else
+ fc.LogMessage("Invalid Mode B")
+ fc.SetPersistent("KAC_Error", 1)
+ return 0
+ end
+ else
+ fc.LogMessage("Invalid Mode A")
+ fc.SetPersistent("KAC_Error", 1)
+ return 0
+ end
+
+ fc.LogMessage("No Conditions Satisfied")
+ fc.SetPersistent("KAC_Error", 1)
+ return 0
+
+end
+
+function CircularizeAltitudeTest(altitude)
+
+ if not fc.VesselFlying() then
+ return 0
+ elseif fc.Eccentricity() < 1 then
+ return transfer.CircularizeAltitude(altitude)
+ else
+ return transfer.CircularizeAltitudeHypVis(altitude)
+ end
+
+ return not fc.LogMessage("No Conditions Satisfied")
+end
\ No newline at end of file
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Elec_Output/MAS_NASA_Elec_Output.cfg b/GameData/MOARdV/MAS_ASET/NASA_Elec_Output/MAS_NASA_Elec_Output.cfg
index 6c1be392..2516fcae 100644
--- a/GameData/MOARdV/MAS_ASET/NASA_Elec_Output/MAS_NASA_Elec_Output.cfg
+++ b/GameData/MOARdV/MAS_ASET/NASA_Elec_Output/MAS_NASA_Elec_Output.cfg
@@ -16,7 +16,7 @@
name = hand animation
animation = NASA_Elec_Output_Anim
speed = 1
- variable = fc.Select(fc.GetPersistentAsNumber("MAS_ElecOutput_Scale") > 0, 0.25, 0.025) * fc.PowerDelta()
+ variable = fc.Select(fc.GetPersistentAsNumber("MAS_ElecOutput_Scale") > 0, 0.25, 0.025) * SelectElectricOutput(fc.GetPersistentAsNumber("ASET_ELEC_POWER_SOURCE_SELECT"))
}
COLOR_SHIFT
diff --git a/GameData/MOARdV/MAS_ASET/NASA_G_Units_Indicator/MAS_NASA_Effective_Accel_Indicator.cfg b/GameData/MOARdV/MAS_ASET/NASA_G_Units_Indicator/MAS_NASA_Effective_Accel_Indicator.cfg
new file mode 100644
index 00000000..e459eb79
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_G_Units_Indicator/MAS_NASA_Effective_Accel_Indicator.cfg
@@ -0,0 +1,66 @@
+PROP
+{
+ name = MAS_NASA_Effective_Accel_Indicator
+
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_G_Units_Indicator/NASA_G_Units_Indicator
+ texture = G_Units_Indicator,ASET/ASET_Props/Instruments/NASA_G_Units_Indicator/G_Units_Indicator
+ texture = G_Units_Indicator,ASET/ASET_Props/Instruments/NASA_G_Units_Indicator/G_Units_Indicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+// texture shift
+ TEXTURE_SHIFT
+ {
+ name = Scale tex
+ transform = ScaleObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.5
+ }
+// arrow color
+ TEXTURE_SHIFT
+ {
+ name = Arrow tex
+ transform = ArrowObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.0
+ }
+// Backlight emissive ---------------------------------
+ COLOR_SHIFT
+ {
+ name = Scale Backlight
+ transform = ScaleObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = COLOR_ASET_NASAGAUGESCALE_PASSIVECOLOR
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Arrow Backlight
+ transform = ArrowObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = COLOR_ASET_NASAGAUGEHAND_PASSIVECOLOR
+ activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
+ blend = true
+ }
+// arrows rotation
+ ROTATION
+ {
+ name = Arrow position
+ transform = Arrow01Loc
+ variable = fc.Conditioned(fc.Acceleration())
+ startRotation = 0,0,0
+ endRotation = 0,270,0
+ range = 0, 20
+ blend = true
+ longPath = true
+ speed = 2.0
+ }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_G_Units_Indicator/MAS_NASA_Slope_Angle_Indicator.cfg b/GameData/MOARdV/MAS_ASET/NASA_G_Units_Indicator/MAS_NASA_Slope_Angle_Indicator.cfg
new file mode 100644
index 00000000..575285d6
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_G_Units_Indicator/MAS_NASA_Slope_Angle_Indicator.cfg
@@ -0,0 +1,66 @@
+PROP
+{
+ name = MAS_NASA_Slope_Angle_Indicator
+
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_G_Units_Indicator/NASA_G_Units_Indicator
+ texture = G_Units_Indicator,ASET/ASET_Props/Instruments/NASA_G_Units_Indicator/G_Units_Indicator
+ texture = G_Units_Indicator,ASET/ASET_Props/Instruments/NASA_G_Units_Indicator/G_Units_Indicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+// texture shift
+ TEXTURE_SHIFT
+ {
+ name = Scale tex
+ transform = ScaleObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.0
+ }
+// arrow color
+ TEXTURE_SHIFT
+ {
+ name = Arrow tex
+ transform = ArrowObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.0
+ }
+// Backlight emissive ---------------------------------
+ COLOR_SHIFT
+ {
+ name = Scale Backlight
+ transform = ScaleObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = COLOR_ASET_NASAGAUGESCALE_PASSIVECOLOR
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Arrow Backlight
+ transform = ArrowObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = COLOR_ASET_NASAGAUGEHAND_PASSIVECOLOR
+ activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
+ blend = true
+ }
+// arrows rotation
+ ROTATION
+ {
+ name = Arrow position
+ transform = Arrow01Loc
+ variable = fc.Conditioned(fc.SlopeAngle())
+ startRotation = 0,0,0
+ endRotation = 0,270,0
+ range = 0, 20
+ blend = true
+ longPath = true
+ speed = 2.0
+ }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_G_Units_Indicator/MAS_NASA_Thrust_Limit_Indicator.cfg b/GameData/MOARdV/MAS_ASET/NASA_G_Units_Indicator/MAS_NASA_Thrust_Limit_Indicator.cfg
new file mode 100644
index 00000000..9c1220fc
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_G_Units_Indicator/MAS_NASA_Thrust_Limit_Indicator.cfg
@@ -0,0 +1,66 @@
+PROP
+{
+ name = MAS_NASA_Thrust_Limit_Indicator
+
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_G_Units_Indicator/NASA_G_Units_Indicator
+ texture = G_Units_Indicator,ASET/ASET_Props/Instruments/NASA_G_Units_Indicator/G_Units_Indicator
+ texture = G_Units_Indicator,ASET/ASET_Props/Instruments/NASA_G_Units_Indicator/G_Units_Indicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+// texture shift
+ TEXTURE_SHIFT
+ {
+ name = Scale tex
+ transform = ScaleObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.0
+ }
+// arrow color
+ TEXTURE_SHIFT
+ {
+ name = Arrow tex
+ transform = ArrowObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.0
+ }
+// Backlight emissive ---------------------------------
+ COLOR_SHIFT
+ {
+ name = Scale Backlight
+ transform = ScaleObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = COLOR_ASET_NASAGAUGESCALE_PASSIVECOLOR
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Arrow Backlight
+ transform = ArrowObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = COLOR_ASET_NASAGAUGEHAND_PASSIVECOLOR
+ activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
+ blend = true
+ }
+// arrows rotation
+ ROTATION
+ {
+ name = Arrow position
+ transform = Arrow01Loc
+ variable = fc.Conditioned(fc.GetThrottleLimit())
+ startRotation = 0,0,0
+ endRotation = 0,270,0
+ range = 0, 1
+ blend = true
+ longPath = true
+ speed = 2.0
+ }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_GaugeDblPerc/MAS_NASA_GaugeDbl_Fuel.cfg b/GameData/MOARdV/MAS_ASET/NASA_GaugeDblPerc/MAS_NASA_GaugeDbl_Fuel.cfg
new file mode 100644
index 00000000..51e8a1fb
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_GaugeDblPerc/MAS_NASA_GaugeDbl_Fuel.cfg
@@ -0,0 +1,112 @@
+PROP
+{
+ name = MAS_NASA_GaugeDbl_Fuel
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_GaugeDblPerc/NASA_GaugeDblPerc
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+// backlight -----------------------------------------------
+ COLOR_SHIFT
+ {
+ name = Lighting
+ transform = GaugeScaleMarks, ArrowLeftObj, ArrowRightObj, LabelObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Label Plate Diffuse
+ transform = GaugeLabelPlate
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_ACTIVECOLOR
+ colorName = _Color
+ }
+ COLOR_SHIFT
+ {
+ name = Label Plate Emissive
+ transform = GaugeLabelPlate
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_ACTIVECOLOR
+ colorName = _EmissiveColor
+ }
+// label shift -------------------------------------
+ // TEXTURE_SHIFT
+ // {
+ // name = Label Shift
+ // transform = LabelObj
+ // startUV = 0.0, 0.4
+ // layers = _MainTex _Emissive
+ // }
+// black scales -------------------------------------
+ TEXTURE_SHIFT
+ {
+ name = Black Scales
+ transform = GaugeScaleObj
+ startUV = -0.05, 0.0
+ layers = _MainTex _Emissive
+ }
+// throttle pointer yellow
+ TEXTURE_SHIFT
+ {
+ name = Throttle Pointer yellow
+ transform = ArrowLeftObj
+ startUV = 0.25, 0.0
+ layers = _MainTex _Emissive
+ }
+// thrust pointer yellow
+ TEXTURE_SHIFT
+ {
+ name = Thrust Pointer Yellow
+ transform = ArrowRightObj
+ startUV = 0.25, 0.0
+ layers = _MainTex _Emissive
+ }
+// upper label ------------------------------------------
+ TEXT_LABEL
+ {
+ name = Upper Label
+ transform = NameTextObj
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0109,-0.0014
+ font = Liberation Sans
+ style = Bold
+ fontSize = 3.0
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ emissive = active
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = FUEL
+ }
+
+// ARROW ANIMATION -----------------------------------------
+ ROTATION
+ {
+ name = Left Arrow
+ transform = ArrowLeftLoc
+ variable = fc.Conditioned(fc.PropellantStagePercent())
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0.0, 1.0
+ blend = true
+ speed = 2.0
+ }
+ ROTATION
+ {
+ name = Right Arrow
+ transform = ArrowRightLoc
+ variable = fc.Conditioned(fc.PropellantPercent())
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0.0, 1.0
+ blend = true
+ speed = 2.0
+ }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_GaugeDblPerc/MAS_NASA_GaugeDbl_OXID.cfg b/GameData/MOARdV/MAS_ASET/NASA_GaugeDblPerc/MAS_NASA_GaugeDbl_OXID.cfg
new file mode 100644
index 00000000..2d2fa1b5
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_GaugeDblPerc/MAS_NASA_GaugeDbl_OXID.cfg
@@ -0,0 +1,112 @@
+PROP
+{
+ name = MAS_NASA_GaugeDbl_OXID
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_GaugeDblPerc/NASA_GaugeDblPerc
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+// backlight -----------------------------------------------
+ COLOR_SHIFT
+ {
+ name = Lighting
+ transform = GaugeScaleMarks, ArrowLeftObj, ArrowRightObj, LabelObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Label Plate Diffuse
+ transform = GaugeLabelPlate
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_ACTIVECOLOR
+ colorName = _Color
+ }
+ COLOR_SHIFT
+ {
+ name = Label Plate Emissive
+ transform = GaugeLabelPlate
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_ACTIVECOLOR
+ colorName = _EmissiveColor
+ }
+// label shift -------------------------------------
+ // TEXTURE_SHIFT
+ // {
+ // name = Label Shift
+ // transform = LabelObj
+ // startUV = 0.0, 0.4
+ // layers = _MainTex _Emissive
+ // }
+// black scales -------------------------------------
+ TEXTURE_SHIFT
+ {
+ name = Black Scales
+ transform = GaugeScaleObj
+ startUV = -0.05, 0.0
+ layers = _MainTex _Emissive
+ }
+// throttle pointer yellow
+ TEXTURE_SHIFT
+ {
+ name = Throttle Pointer yellow
+ transform = ArrowLeftObj
+ startUV = 0.25, 0.0
+ layers = _MainTex _Emissive
+ }
+// thrust pointer yellow
+ TEXTURE_SHIFT
+ {
+ name = Thrust Pointer Yellow
+ transform = ArrowRightObj
+ startUV = 0.25, 0.0
+ layers = _MainTex _Emissive
+ }
+// upper label ------------------------------------------
+ TEXT_LABEL
+ {
+ name = Upper Label
+ transform = NameTextObj
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0109,-0.0014
+ font = Liberation Sans
+ style = Bold
+ fontSize = 3.0
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ emissive = active
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = OXID.
+ }
+
+// ARROW ANIMATION -----------------------------------------
+ ROTATION
+ {
+ name = Left Arrow
+ transform = ArrowLeftLoc
+ variable = fc.Conditioned(fc.ResourceStagePercent("Oxidizer"))
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0.0, 1.0
+ blend = true
+ speed = 2.0
+ }
+ ROTATION
+ {
+ name = Right Arrow
+ transform = ArrowRightLoc
+ variable = fc.Conditioned(fc.ResourcePercent("Oxidizer"))
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0.0, 1.0
+ blend = true
+ speed = 2.0
+ }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_ATMDEPTH.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_ATMDEPTH.cfg
new file mode 100644
index 00000000..0ce5934a
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_ATMDEPTH.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_ATMDEPTH
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.AtmosphereDepth())
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = ATM %
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 0%
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 20%
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 40%
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 60%
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 80%
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 100%
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_AmbTemp.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_AmbTemp.cfg
new file mode 100644
index 00000000..186579d5
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_AmbTemp.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_AmbTemp
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 500
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.AmbientTemperature(true))
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = AMB TEMP K
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 0
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 100
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 200
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 300
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 400
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 500
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_EngTemp.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_EngTemp.cfg
new file mode 100644
index 00000000..179a7b61
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_EngTemp.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_EngTemp
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.HottestEngineTemperature(true) / fc.HottestEngineMaxTemperature(true))
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = ENG TEMP K
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = 0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = -0.2, -0.1
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0 * fc.HottestEngineMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.2 * fc.HottestEngineMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.4 * fc.HottestEngineMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.6 * fc.HottestEngineMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.8 * fc.HottestEngineMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ fc.HottestEngineMaxTemperature(true)
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_ExtTemp.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_ExtTemp.cfg
new file mode 100644
index 00000000..87bcba3d
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_ExtTemp.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_ExtTemp
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 7500
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.ExternalTemperature(true))
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = EXT TEMP K
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = -0.2, -0.1
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 0
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 1500
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 3000
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 4500
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 6000
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 7500
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_IntTemp.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_IntTemp.cfg
new file mode 100644
index 00000000..6d9db25f
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_IntTemp.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_IntTemp
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.InternalTemperature(true) / fc.InternalMaxTemperature(true))
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = INT K
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = 0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = -0.2, -0.1
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0 * fc.InternalMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.2 * fc.InternalMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.4 * fc.InternalMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.6 * fc.InternalMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.8 * fc.InternalMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ fc.InternalMaxTemperature(true)
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_PodTemp.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_PodTemp.cfg
new file mode 100644
index 00000000..39012a2e
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_PodTemp.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_PodTemp
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.PodTemperature(true) / fc.PodMaxTemperature(true))
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = POD K
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = 0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = -0.2, -0.1
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0 * fc.PodMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.2 * fc.PodMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.4 * fc.PodMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.6 * fc.PodMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.8 * fc.PodMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ fc.PodMaxTemperature(true)
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_SRB.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_SRB.cfg
new file mode 100644
index 00000000..33b95a08
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_SRB.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_SRB
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.ResourcePercent("SolidFuel"))
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = SRB %
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = -0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 0%
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 20%
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 40%
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 60%
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 80%
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 100%
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_ShieldTemp.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_ShieldTemp.cfg
new file mode 100644
index 00000000..8ab79ee0
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_ShieldTemp.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_ShieldTemp
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.HeatShieldTemperature(true) / fc.HeatShieldMaxTemperature(true))
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = SHIELD K
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = 0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = -0.2, -0.1
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0 * fc.HeatShieldMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.2 * fc.HeatShieldMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.4 * fc.HeatShieldMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.6 * fc.HeatShieldMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ 0.8 * fc.HeatShieldMaxTemperature(true)
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = <=0:####=> $#$ fc.HeatShieldMaxTemperature(true)
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_SolarPanelEfficiency.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_SolarPanelEfficiency.cfg
new file mode 100644
index 00000000..01c2e73e
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_SolarPanelEfficiency.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_SolarPanelEfficiency
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 2
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.SolarPanelEfficiency())
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = PNL EFF
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 0%
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 40%
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 80%
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 120%
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 160%
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 200%
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_SurfTemp.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_SurfTemp.cfg
new file mode 100644
index 00000000..1ea9f817
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_SurfTemp.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_SurfTemp
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 500
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.BodySurfaceTemp(fc.CurrentBodyIndex(), true))
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = SURF TEMP K
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 0
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 100
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 200
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 300
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 400
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 500
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_XENON.cfg b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_XENON.cfg
new file mode 100644
index 00000000..024ce57d
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/NASA_Gauge_Temperature/MAS_NASA_Gauge_XENON.cfg
@@ -0,0 +1,198 @@
+PROP
+{
+ name = MAS_NASA_Gauge_XENON
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/NASA_Gauge_Temperature/NASA_Gauge_Temperature
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ ROTATION
+ {
+ name = Arrow Movement
+ transform = ArrowRightLoc
+ startRotation = 0,0,0
+ endRotation = -43.57964,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 4
+ variable = fc.Conditioned(fc.ResourcePercent("XenonGas"))
+ }
+
+ TEXT_LABEL
+ {
+ name = Label
+ transform = GaugeNameTextObj
+ fontSize = 1.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.0085, -0.0025
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = XENON %
+ }
+
+ COLOR_SHIFT
+ {
+ name = Instrument Backlight
+ transform = ArrowRightObj, GaugeScaleObj, LabelObj, ScaleSeg_0_10, ScaleSeg_10_50, ScaleSeg_50_90, ScaleSeg_90_100
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Label Color
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 0% - 10% color
+ transform = ScaleSeg_0_10
+ layers = _MainTex _Emissive
+ startUV = -0.2, -0.1
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 10% - 50% color
+ transform = ScaleSeg_10_50
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 50% - 90% color
+ transform = ScaleSeg_50_90
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = 90% - 100% color
+ transform = ScaleSeg_90_100
+ layers = _MainTex _Emissive
+ startUV = 0, 0
+ }
+
+ TEXT_LABEL
+ {
+ name = 0% Label
+ transform = ZeroTextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 0%
+ }
+
+ TEXT_LABEL
+ {
+ name = 20% Label
+ transform = Value_2_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 20%
+ }
+
+ TEXT_LABEL
+ {
+ name = 40% Label
+ transform = Value_4_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 40%
+ }
+
+ TEXT_LABEL
+ {
+ name = 60% Label
+ transform = Value_6_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 60%
+ }
+
+ TEXT_LABEL
+ {
+ name = 80% Label
+ transform = Value_8_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 80%
+ }
+
+ TEXT_LABEL
+ {
+ name = 100% Label
+ transform = Value_MAX_TextObj
+ fontSize = 2.25
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ transformOffset = 0.0007, -0.002
+ emissive = never
+ passiveColor = COLOR_MOARdV_BlackPrintedText
+ text = 100%
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Blank Label
+ transform = LabelObj
+ layers = _MainTex _Emissive
+ startUV = 0.5, 0.6
+ }
+
+ TEXTURE_SHIFT
+ {
+ name = Arrow color
+ transform = ArrowRightObj
+ layers = _MainTex _Emissive
+ startUV = 0.0, 0.1
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/PhaseAngleIndicator/MAS_ImpactSpeedIndicator.cfg b/GameData/MOARdV/MAS_ASET/PhaseAngleIndicator/MAS_ImpactSpeedIndicator.cfg
new file mode 100644
index 00000000..49cebb1d
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/PhaseAngleIndicator/MAS_ImpactSpeedIndicator.cfg
@@ -0,0 +1,76 @@
+PROP
+{
+ name = MAS_ImpactSpeedIndicator
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/ImpactSpeedIndicator/PhaseAngleIndicator
+ texture = PhaseAngle, ASET/ASET_Props/Instruments/ImpactSpeedIndicator/PhaseAngle
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+// arrows rotation
+// OUTER
+ ROTATION
+ {
+ name = Arrow 1
+ transform = Arrow01Loc
+ // variable = fc.Conditioned(fc.LandingSpeed())
+ variable = fc.Conditioned((fc.SurfaceSpeed < 0) * fc.Max(0, fc.SurfaceSpeed() + fc.AccelSurfacePrograde() * fc.LandingTime()))
+ startRotation = 0,0,0
+ endRotation = 0,306,0
+ longPath = true
+ range = 0, 50
+ // modulo = 360
+ blend = true
+ speed = 1.0
+ }
+
+// INNER
+ ROTATION
+ {
+ name = Arrow 2
+ transform = Arrow02Loc
+ // need to calculate impact speed if throttle maxed given current thrust limit
+ variable = fc.Conditioned(( fc.VerticalSpeed() < 0 ) * ((fc.Max(0, fc.VerticalSpeed() * fc.VerticalSpeed() - 2 * fc.AltitudeTerrain(true) * (fc.MaxTWR(true) - fc.BodyGeeASL(fc.CurrentBodyIndex()))))^0.5))
+ startRotation = 0,0,0
+ endRotation = 0,348,0
+ longPath = true
+ range = 0, 9.5
+ // modulo = 10
+ blend = true
+ speed = 1.0
+ }
+
+// ----- OFF animation -----------------------------
+ ANIMATION
+ {
+ name = Unit Off Anim
+ animation = PhaseAngleIndicatorOFFanim
+ variable = fc.Conditioned(fc.LandingPredictorActive())
+ speed = 4
+ }
+
+// Backlight emissive ---------------------------------
+ COLOR_SHIFT
+ {
+ name = ScaleObj
+ transform = ScaleObj, ZeroSignObj, OFF_SignObj
+ activeColor = COLOR_ASET_NASAGAUGESCALE_ACTIVECOLOR
+ passiveColor = 0,0,0,255
+ variable = fc.Conditioned(fc.LandingPredictorActive() * fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Arrow Obj
+ transform = Arrow01Obj, Arrow02Obj, NamePlateObj
+ activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
+ passiveColor = 0,0,0,255
+ variable = fc.Conditioned(fc.LandingPredictorActive() * fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_ChangeAP.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_ChangeAP.cfg
new file mode 100644
index 00000000..b6922b3f
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_ChangeAP.cfg
@@ -0,0 +1,128 @@
+PROP
+{
+ name = MAS_pb_FMS_ChangeAP
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("STS_FMS_ChangeAPError", 1 - transfer.ChangeApoapsis(fc.GetPersistentAsNumber("STS_FMSCompBuffer"))))
+ onRelease = fc.SetPersistent("%AUTOID%", fc.SetPersistent("STS_FMS_ChangeAPError", 0))
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ // variable = fc.GetPersistentAsNumber("MAS_MJComp_On")
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Upper Legend
+ transform = Legend_Upper
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = SET
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = AP
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() and fc.GetPersistentAsNumber("STS_FMSCompBuffer") <= fc.BodySoI(fc.CurrentBodyIndex()) and fc.Eccentricity() < 1 and fc.GetPersistentAsNumber("STS_FMSCompBuffer") >= fc.Periapsis())
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ TEXT_LABEL
+ {
+ name = Lower Legend
+ transform = Legend_Lower
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("STS_FMS_ChangeAPError"))
+ activeColor = COLOR_MOARdV_IndicatorLampRed
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ERR
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Lower Legend Bullets
+ // transform = Legend_Lower
+ // fontSize = 3.9
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Center
+ // anchor = MiddleCenter
+ // emissive = active
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_MJComp_Exec") * (fc.GetPersistentAsNumber("MAS_MJComp_Status") == 1))
+ // activeColor = COLOR_MOARdV_IndicatorLampGreen
+ // passiveColor = COLOR_MOARdV_PassiveBacklightText
+ // text = ● ●
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_ChangePE.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_ChangePE.cfg
new file mode 100644
index 00000000..47acb090
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_ChangePE.cfg
@@ -0,0 +1,128 @@
+PROP
+{
+ name = MAS_pb_FMS_ChangePE
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("STS_FMS_ChangePEError", 1 - transfer.ChangePeriapsis(fc.GetPersistentAsNumber("STS_FMSCompBuffer"))))
+ onRelease = fc.SetPersistent("%AUTOID%", fc.SetPersistent("STS_FMS_ChangePEError", 0))
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ // variable = fc.GetPersistentAsNumber("MAS_MJComp_On")
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Upper Legend
+ transform = Legend_Upper
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = SET
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = PE
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() and fc.GetPersistentAsNumber("STS_FMSCompBuffer") <= fc.Apoapsis() and fc.Eccentricity() < 1 and fc.GetPersistentAsNumber("STS_FMSCompBuffer") >= -fc.BodyRadius(fc.CurrentBodyIndex()))
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ TEXT_LABEL
+ {
+ name = Lower Legend
+ transform = Legend_Lower
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("STS_FMS_ChangePEError"))
+ activeColor = COLOR_MOARdV_IndicatorLampRed
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ERR
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Lower Legend Bullets
+ // transform = Legend_Lower
+ // fontSize = 3.9
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Center
+ // anchor = MiddleCenter
+ // emissive = active
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_MJComp_Exec") * (fc.GetPersistentAsNumber("MAS_MJComp_Status") == 1))
+ // activeColor = COLOR_MOARdV_IndicatorLampGreen
+ // passiveColor = COLOR_MOARdV_PassiveBacklightText
+ // text = ● ●
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_Circularize.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_Circularize.cfg
new file mode 100644
index 00000000..2497a9ea
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_Circularize.cfg
@@ -0,0 +1,129 @@
+PROP
+{
+ name = MAS_pb_FMS_Circularize
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ //onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("STS_FMS_CircError", 1 - transfer.CircularizeAltitude(fc.GetPersistentAsNumber("STS_FMSCompBuffer"))))
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("STS_FMS_CircError", 1 - CircularizeAltitudeTest(fc.GetPersistentAsNumber("STS_FMSCompBuffer"))))
+ onRelease = fc.SetPersistent("%AUTOID%", fc.SetPersistent("STS_FMS_CircError", 0))
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ // variable = fc.GetPersistentAsNumber("MAS_MJComp_On")
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Upper Legend
+ transform = Legend_Upper
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = CIRC
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = BURN
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() and fc.GetPersistentAsNumber("STS_FMSCompBuffer") and ((fc.GetPersistentAsNumber("STS_FMSCompBuffer") >= fc.Periapsis() and fc.TimeToPe()>= 0) or (fc.GetPersistentAsNumber("STS_FMSCompBuffer") >= fc.Altitude())) and (fc.GetPersistentAsNumber("STS_FMSCompBuffer") <= fc.Apoapsis() or (fc.Eccentricity() > 1 and fc.GetPersistentAsNumber("STS_FMSCompBuffer") <= fc.BodySoI(fc.CurrentBodyIndex()))))
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ TEXT_LABEL
+ {
+ name = Lower Legend
+ transform = Legend_Lower
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("STS_FMS_CircError"))
+ activeColor = COLOR_MOARdV_IndicatorLampRed
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ERR
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Lower Legend Bullets
+ // transform = Legend_Lower
+ // fontSize = 3.9
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Center
+ // anchor = MiddleCenter
+ // emissive = active
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_MJComp_Exec") * (fc.GetPersistentAsNumber("MAS_MJComp_Status") == 1))
+ // activeColor = COLOR_MOARdV_IndicatorLampGreen
+ // passiveColor = COLOR_MOARdV_PassiveBacklightText
+ // text = ● ●
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_EditNode.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_EditNode.cfg
new file mode 100644
index 00000000..e2d4d6c0
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_EditNode.cfg
@@ -0,0 +1,129 @@
+PROP
+{
+ name = MAS_pb_FMS_EditNode
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ // onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("STS_FMS_EditNodeError", 1 - fc.Select(fc.GetPersistentAsNumber("STS_FMS_EditMode"), 0 and fc.LogMessage("Orbit Mode selected"), fc.AddManeuverNode(fc.ManeuverNodeDVPrograde(), fc.ManeuverNodeDVNormal(), fc.ManeuverNodeDVRadial(), fc.UT() + fc.GetPersistentAsNumber("STS_FMSCompBuffer") - fc.TimeOfDay(fc.UT())) and fc.LogMessage("Editing Node Time"), fc.Select(fc.GetPersistentAsNumber("STS_FMS_EditMode") - 2, fc.AddManeuverNode(fc.GetPersistentAsNumber("STS_FMSCompBuffer"), fc.ManeuverNodeDVNormal(), fc.ManeuverNodeDVRadial(), fc.UT() - fc.ManeuverNodeTime()) and fc.LogMessage("Editing Prograde DV"), fc.AddManeuverNode(fc.ManeuverNodeDVPrograde(), fc.GetPersistentAsNumber("STS_FMSCompBuffer"), fc.ManeuverNodeDVRadial(), fc.UT() - fc.ManeuverNodeTime()) and fc.LogMessage("Editing Normal DV"), fc.AddManeuverNode(fc.ManeuverNodeDVPrograde(), fc.ManeuverNodeDVNormal(), fc.GetPersistentAsNumber("STS_FMSCompBuffer"), fc.UT() - fc.ManeuverNodeTime()) and fc.LogMessage("Editing Radial DV")))))
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("STS_FMS_EditNodeError", 1 - FMSEditNode(fc.GetPersistentAsNumber("STS_FMS_EditMode"), fc.GetPersistentAsNumber("STS_FMSCompBuffer"), fc.ManeuverNodeDVPrograde(), fc.ManeuverNodeDVNormal(), fc.ManeuverNodeDVRadial(), -fc.ManeuverNodeTime())))
+ onRelease = fc.SetPersistent("%AUTOID%", fc.SetPersistent("STS_FMS_EditNodeError", 0))
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ // variable = fc.GetPersistentAsNumber("MAS_MJComp_On")
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Upper Legend
+ transform = Legend_Upper
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = EDIT
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = NODE
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() and fc.GetPersistentAsNumber("STS_FMS_EditMode") >= 0 and fc.ManeuverNodeExists())
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ TEXT_LABEL
+ {
+ name = Lower Legend
+ transform = Legend_Lower
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("STS_FMS_EditNodeError"))
+ activeColor = COLOR_MOARdV_IndicatorLampRed
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ERR
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Lower Legend Bullets
+ // transform = Legend_Lower
+ // fontSize = 3.9
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Center
+ // anchor = MiddleCenter
+ // emissive = active
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_MJComp_Exec") * (fc.GetPersistentAsNumber("MAS_MJComp_Status") == 1))
+ // activeColor = COLOR_MOARdV_IndicatorLampGreen
+ // passiveColor = COLOR_MOARdV_PassiveBacklightText
+ // text = ● ●
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_MatchPlane.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_MatchPlane.cfg
new file mode 100644
index 00000000..ddd37301
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_MatchPlane.cfg
@@ -0,0 +1,128 @@
+PROP
+{
+ name = MAS_pb_FMS_MatchPlane
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("STS_FMS_MatchPlaneError", 1 - transfer.MatchPlane()))
+ onRelease = fc.SetPersistent("%AUTOID%", fc.SetPersistent("STS_FMS_MatchPlaneError", 0))
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ // variable = fc.GetPersistentAsNumber("MAS_MJComp_On")
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Upper Legend
+ transform = Legend_Upper
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = MATCH
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = PLN
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() and fc.TargetSameSoI())
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ TEXT_LABEL
+ {
+ name = Lower Legend
+ transform = Legend_Lower
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("STS_FMS_MatchPlaneError"))
+ activeColor = COLOR_MOARdV_IndicatorLampRed
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ERR
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Lower Legend Bullets
+ // transform = Legend_Lower
+ // fontSize = 3.9
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Center
+ // anchor = MiddleCenter
+ // emissive = active
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_MJComp_Exec") * (fc.GetPersistentAsNumber("MAS_MJComp_Status") == 1))
+ // activeColor = COLOR_MOARdV_IndicatorLampGreen
+ // passiveColor = COLOR_MOARdV_PassiveBacklightText
+ // text = ● ●
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_MatchSpeed.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_MatchSpeed.cfg
new file mode 100644
index 00000000..b7856aab
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_MatchSpeed.cfg
@@ -0,0 +1,128 @@
+PROP
+{
+ name = MAS_pb_FMS_MatchSpeed
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("STS_FMS_MatchSpeedError", 1 - transfer.MatchVelocities()))
+ onRelease = fc.SetPersistent("%AUTOID%", fc.SetPersistent("STS_FMS_MatchSpeedError", 0))
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ // variable = fc.GetPersistentAsNumber("MAS_MJComp_On")
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Upper Legend
+ transform = Legend_Upper
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = MATCH
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = SPD
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() and fc.TargetSameSoI())
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ TEXT_LABEL
+ {
+ name = Lower Legend
+ transform = Legend_Lower
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("STS_FMS_MatchSpeedError"))
+ activeColor = COLOR_MOARdV_IndicatorLampRed
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ERR
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Lower Legend Bullets
+ // transform = Legend_Lower
+ // fontSize = 3.9
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Center
+ // anchor = MiddleCenter
+ // emissive = active
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_MJComp_Exec") * (fc.GetPersistentAsNumber("MAS_MJComp_Status") == 1))
+ // activeColor = COLOR_MOARdV_IndicatorLampGreen
+ // passiveColor = COLOR_MOARdV_PassiveBacklightText
+ // text = ● ●
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_OrbInsertion.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_OrbInsertion.cfg
new file mode 100644
index 00000000..52a3e6db
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_FMS_OrbInsertion.cfg
@@ -0,0 +1,128 @@
+PROP
+{
+ name = MAS_pb_FMS_OrbInsertion
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("STS_FMS_OrbInsError", 1 - fc.AddManeuverNode(fc.CircularOrbitSpeed(fc.Periapsis()) - (fc.BodyGM(fc.CurrentBodyIndex()) * (2 / (fc.Periapsis() + fc.BodyRadius(fc.CurrentBodyIndex())) - 1 / fc.SemiMajorAxis() )) ^ 0.5, 0, 0, fc.UT() + fc.TimeToPe() )))
+ onRelease = fc.SetPersistent("%AUTOID%", fc.SetPersistent("STS_FMS_OrbInsError", 0))
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ // variable = fc.GetPersistentAsNumber("MAS_MJComp_On")
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Upper Legend
+ transform = Legend_Upper
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = ORB
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = INS
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.VesselFlying() and fc.Eccentricity() >= 1 and fc.TimeToPe() > 0)
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ TEXT_LABEL
+ {
+ name = Lower Legend
+ transform = Legend_Lower
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("STS_FMS_OrbInsError"))
+ activeColor = COLOR_MOARdV_IndicatorLampRed
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ERR
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Lower Legend Bullets
+ // transform = Legend_Lower
+ // fontSize = 3.9
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Center
+ // anchor = MiddleCenter
+ // emissive = active
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_MJComp_Exec") * (fc.GetPersistentAsNumber("MAS_MJComp_Status") == 1))
+ // activeColor = COLOR_MOARdV_IndicatorLampGreen
+ // passiveColor = COLOR_MOARdV_PassiveBacklightText
+ // text = ● ●
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_RefNextDock.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_RefNextDock.cfg
new file mode 100644
index 00000000..1660676a
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_RefNextDock.cfg
@@ -0,0 +1,110 @@
+PROP
+{
+ name = MAS_pb_RefNextDock
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Glow Border Type 5 - 3/4 wrap around, text on top
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Bcklt_5
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetNextDockToReference())
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = PanelTextTop_bklt
+ fontSize = 5.8
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = REF NEXT$$$DOCK
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.HasDock())
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = LOCK
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetDockIsReference() >= 0)
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_ResetThrustLimit.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_ResetThrustLimit.cfg
new file mode 100644
index 00000000..e94536c6
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_ResetThrustLimit.cfg
@@ -0,0 +1,111 @@
+PROP
+{
+ name = MAS_pb_ResetThrustLimit
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Glow Border Type 5 - 3/4 wrap around, text on top
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Bcklt_5
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetThrottleLimit(1))
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = PanelTextTop_bklt
+ fontSize = 5.8
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = THROTTLE$$$LIMIT
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.0
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned((0.25 + 0.75 * (fc.GetThrottleLimit() < 1)) * fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = RESET
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetThrottleLimit() < 1 and fc.GetEnginesEnabled())
+ activeColor = COLOR_MOARdV_IndicatorLampAmber
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_TargetDock.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_TargetDock.cfg
new file mode 100644
index 00000000..bf397d89
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_TargetDock.cfg
@@ -0,0 +1,110 @@
+PROP
+{
+ name = MAS_pb_TargetDock
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Glow Border Type 5 - 3/4 wrap around, text on top
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Bcklt_5
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.TargetNextDock())
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = PanelTextTop_bklt
+ fontSize = 5.8
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = TGT$$$DOCK
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.TargetDockCount())
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = LOCK
+ }
+
+ TEXT_LABEL
+ {
+ name = Center Legend Bullets
+ transform = Legend_Center
+ fontSize = 3.9
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetTargetDockIndex() >= 0)
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ● ●
+ }
+
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_ThrottleCut.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_ThrottleCut.cfg
new file mode 100644
index 00000000..627e91a7
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_ThrottleCut.cfg
@@ -0,0 +1,119 @@
+PROP
+{
+ name = MAS_pb_ThrottleCut
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Glow Border Type 5 - 3/4 wrap around, text on top
+ // MODEL
+ // {
+ // model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Bcklt_5
+ // texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ // }
+
+ // Guard
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Guard01
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetThrottle(0))
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Caption
+ // transform = PanelTextTop_bklt
+ // fontSize = 5.8
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Center
+ // anchor = LowerCenter
+ // emissive = active
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ // blend = true
+ // activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ // passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ // text = THROTTLE$$$LIMIT
+ // }
+
+ TEXT_LABEL
+ {
+ name = Upper Legend
+ transform = Legend_Upper
+ fontSize = 4.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = CUT
+ }
+
+ TEXT_LABEL
+ {
+ name = Lower Legend Arrow
+ transform = Legend_Lower
+ fontSize = 8
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetThrottle() == 0)
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ▼
+ }
+
+ // COLOR_SHIFT
+ // {
+ // name = Border
+ // transform = GlowBorder
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ // passiveColor = 0,0,0,255
+ // activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ // blend = true
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_ThrottleFull.cfg b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_ThrottleFull.cfg
new file mode 100644
index 00000000..e3f3d95c
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Push_Button_Modular/MAS_pb_ThrottleFull.cfg
@@ -0,0 +1,119 @@
+PROP
+{
+ name = MAS_pb_ThrottleFull
+
+ // Black full cap
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap
+ texture = pb_Full_Cap_Black,ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Full_Cap_Black
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Glow Border Type 5 - 3/4 wrap around, text on top
+ // MODEL
+ // {
+ // model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Bcklt_5
+ // texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ // }
+
+ // Guard
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Guard01
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Push_Button_Modular/models/pb_Collider
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = pb_Collider
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetThrottle(1))
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ sound = ASET/ASET_Props/Sounds/pb_Push02
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Button press animation
+ animation = pb_PushAnim
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Caption
+ // transform = PanelTextTop_bklt
+ // fontSize = 5.8
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Center
+ // anchor = LowerCenter
+ // emissive = active
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ // blend = true
+ // activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ // passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ // text = THROTTLE$$$LIMIT
+ // }
+
+ TEXT_LABEL
+ {
+ name = Lower Legend
+ transform = Legend_Lower
+ fontSize = 4.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ blend = true
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ activeColor = COLOR_MOARdV_ActiveBacklightText
+ passiveColor = COLOR_MOARdV_UnlitText
+ text = FULL
+ }
+
+ TEXT_LABEL
+ {
+ name = Upper Legend Arrow
+ transform = Legend_Upper
+ fontSize = 8
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetThrottle() == 1)
+ activeColor = COLOR_MOARdV_IndicatorLampGreen
+ passiveColor = COLOR_MOARdV_PassiveBacklightText
+ text = ▲
+ }
+
+ // COLOR_SHIFT
+ // {
+ // name = Border
+ // transform = GlowBorder
+ // variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ // passiveColor = 0,0,0,255
+ // activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ // blend = true
+ // }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/RNDZ_RadarSignalIndicator/MAS_NASA_ChargeRateIndicator.cfg b/GameData/MOARdV/MAS_ASET/RNDZ_RadarSignalIndicator/MAS_NASA_ChargeRateIndicator.cfg
index 1bfb811a..0bed1b70 100644
--- a/GameData/MOARdV/MAS_ASET/RNDZ_RadarSignalIndicator/MAS_NASA_ChargeRateIndicator.cfg
+++ b/GameData/MOARdV/MAS_ASET/RNDZ_RadarSignalIndicator/MAS_NASA_ChargeRateIndicator.cfg
@@ -36,7 +36,7 @@ PROP
{
name = Arrow position
transform = Arrow01Loc
- variable = fc.PowerDelta()
+ variable = fc.Select(fc.GetPersistentAsNumber("MAS_ElecOutput_Scale") > 0, 10, 1) * fc.PowerDelta()
startRotation = 0,0,0
endRotation = 0,270,0
range = 5.0, -5.0
diff --git a/GameData/MOARdV/MAS_ASET/STS_EventTimer_Indicator/MAS_STS_FMSCompBuffer_Indicator.cfg b/GameData/MOARdV/MAS_ASET/STS_EventTimer_Indicator/MAS_STS_FMSCompBuffer_Indicator.cfg
new file mode 100644
index 00000000..89ae0ef9
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/STS_EventTimer_Indicator/MAS_STS_FMSCompBuffer_Indicator.cfg
@@ -0,0 +1,117 @@
+PROP
+{
+ name = MAS_STS_FMSCompBuffer_Indicator
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/STS_EventTimer_Indicator/MissionTime_Indicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ // TEXT_LABEL
+ // {
+ // name = DigitIndicatorTextObj
+ // transform = DigitIndicatorTextObj
+ // fontSize = 20
+ // transformOffset = 0.093,0
+ // lineSpacing = 0.9
+ // font = Digital-7 Mono
+ // style = Italic
+ // alignment = Right
+ // anchor = UpperRight
+ // emissive = active
+ // variable = fc.Conditioned(1)
+ // activeColor = COLOR_ASET_NUMINPUT_DISPLAY_POSITIVECOLOR
+ // passiveColor = 0, 0, 0, 255
+ // text = <=0=>$#$ fc.Select(fc.GetPersistentAsNumber("STS_MISSION_TIMER") - 1, fc.Select(fc.PeriodStep(2) > 0, "888:88:88:88", " : : : "), fc.FormatString("<=0:METddd:hh:mm:ss=>", fc.MET()), fc.FormatString("<=0:KDTddd:hh:mm:ss=>", fc.UT()))
+ // }
+
+ // TEXT_LABEL
+ // {
+ // name = DigitIndicatorText2Obj
+ // transform = DigitIndicatorText2Obj
+ // fontSize = 20
+ // transformOffset = 0.093,0
+ // lineSpacing = 0.9
+ // font = Digital-7 Mono
+ // style = Italic
+ // alignment = Right
+ // anchor = UpperRight
+ // emissive = active
+ // variable = fc.Conditioned(1)
+ // activeColor = COLOR_ASET_NUMINPUT_DISPLAY_GHOSTCOLOR
+ // passiveColor = 0, 0, 0, 255
+ // text = "888:88:88:88"
+ // }
+
+ COLOR_SHIFT
+ {
+ name = EventTimerLightObj
+ transform = EventTimerLightObj
+ passiveColor = 0,0,0,255
+ activeColor = 255,60,0,255
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale") < 0)
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Title
+ transform = TextTopObj
+ fontSize = 5.5
+ transformOffset = 0,0
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.GetPersistentAsNumber("Backlight")
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ┌───────────── FMS BUFFER ─────────────┐
+ }
+
+ // TEXT_LABEL
+ // {
+ // name = Units
+ // transform = TextTopObj2
+ // fontSize = 4.5
+ // transformOffset = 0, 0
+ // lineSpacing = 0.9
+ // font = Liberation Sans
+ // style = Bold
+ // alignment = Left
+ // anchor = LowerCenter
+ // emissive = active
+ // variable = fc.GetPersistentAsNumber("Backlight")
+ // blend = true
+ // activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ // passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ // text = DAY HR MIN SEC
+ // }
+
+ TEXT_LABEL
+ {
+ name = TimeTextObj
+ transform = TimeTextObj
+ alignment = Right
+ anchor = LowerRight
+ font = Digital-7 Mono
+ fontSize = 25
+ style = Italic
+ transformOffset = 0.0, 0.0
+ emissive = active
+ passiveColor = 0,0,0,0
+ activeColor = 255,80,0,255
+ variable = fc.Conditioned(1)
+ blend = true
+ text = <=0=>$#$ fc.Select(fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale") < 0, fc.Select(fc.PeriodStep(2) > 0, "888,888,888", " "), fc.FormatString("<=0:#,0=>", (fc.GetPersistentAsNumber("STS_FMSCompBuffer") / (10 ^ (3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale")))) % 1000000000))
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/STS_EventTimer_Indicator/MAS_STS_MissionTimer_Indicator.cfg b/GameData/MOARdV/MAS_ASET/STS_EventTimer_Indicator/MAS_STS_MissionTimer_Indicator.cfg
new file mode 100644
index 00000000..b3e55355
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/STS_EventTimer_Indicator/MAS_STS_MissionTimer_Indicator.cfg
@@ -0,0 +1,117 @@
+PROP
+{
+ name = MAS_STS_MissionTimer_Indicator
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/STS_EventTimer_Indicator/MissionTime_Indicator
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ // TEXT_LABEL
+ // {
+ // name = DigitIndicatorTextObj
+ // transform = DigitIndicatorTextObj
+ // fontSize = 20
+ // transformOffset = 0.093,0
+ // lineSpacing = 0.9
+ // font = Digital-7 Mono
+ // style = Italic
+ // alignment = Right
+ // anchor = UpperRight
+ // emissive = active
+ // variable = fc.Conditioned(1)
+ // activeColor = COLOR_ASET_NUMINPUT_DISPLAY_POSITIVECOLOR
+ // passiveColor = 0, 0, 0, 255
+ // text = <=0=>$#$ fc.Select(fc.GetPersistentAsNumber("STS_MISSION_TIMER") - 1, fc.Select(fc.PeriodStep(2) > 0, "888:88:88:88", " : : : "), fc.FormatString("<=0:METddd:hh:mm:ss=>", fc.MET()), fc.FormatString("<=0:KDTddd:hh:mm:ss=>", fc.UT()))
+ // }
+
+ // TEXT_LABEL
+ // {
+ // name = DigitIndicatorText2Obj
+ // transform = DigitIndicatorText2Obj
+ // fontSize = 20
+ // transformOffset = 0.093,0
+ // lineSpacing = 0.9
+ // font = Digital-7 Mono
+ // style = Italic
+ // alignment = Right
+ // anchor = UpperRight
+ // emissive = active
+ // variable = fc.Conditioned(1)
+ // activeColor = COLOR_ASET_NUMINPUT_DISPLAY_GHOSTCOLOR
+ // passiveColor = 0, 0, 0, 255
+ // text = "888:88:88:88"
+ // }
+
+ COLOR_SHIFT
+ {
+ name = EventTimerLightObj
+ transform = EventTimerLightObj
+ passiveColor = 0,0,0,255
+ activeColor = 255,60,0,255
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("STS_MISSION_TIMER") < 2)
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Title
+ transform = TextTopObj
+ fontSize = 5.5
+ transformOffset = 0,0
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.GetPersistentAsNumber("Backlight")
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ┌───────────── MISSION TIME ─────────────┐
+ }
+
+ TEXT_LABEL
+ {
+ name = Units
+ transform = TextTopObj2
+ fontSize = 4.5
+ transformOffset = 0, 0
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.GetPersistentAsNumber("Backlight")
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = DAY HR MIN SEC
+ }
+
+ TEXT_LABEL
+ {
+ name = TimeTextObj
+ transform = TimeTextObj
+ alignment = Right
+ anchor = LowerRight
+ font = Digital-7 Mono
+ fontSize = 25
+ style = Italic
+ transformOffset = 0.0, 0.0
+ emissive = active
+ passiveColor = 0,0,0,0
+ activeColor = 255,80,0,255
+ variable = fc.Conditioned(1)
+ blend = true
+ text = <=0=>$#$ fc.Select(fc.GetPersistentAsNumber("STS_MISSION_TIMER") - 1, fc.Select(fc.PeriodStep(2) > 0, "888:88:88:88", " : : : "), fc.FormatString("<=0:METddd:hh:mm:ss=>", fc.MET()), fc.FormatString("<=0:KDTddd:hh:mm:ss=>", fc.UT()))
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/STS_Thumbwheels_Assembly/MAS_STS_FMSCompBuffer_TWs.cfg b/GameData/MOARdV/MAS_ASET/STS_Thumbwheels_Assembly/MAS_STS_FMSCompBuffer_TWs.cfg
new file mode 100644
index 00000000..b6f5c6c5
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/STS_Thumbwheels_Assembly/MAS_STS_FMSCompBuffer_TWs.cfg
@@ -0,0 +1,196 @@
+PROP
+{
+ name = MAS_STS_FMSCompBuffer_TWs
+
+ // model
+ MODEL
+ {
+ model = ASET/ASET_Props/Instruments/STS_Thumbwheels_Assembly/STS_Thumbwheels_Assembly_4W
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ TEXT_LABEL
+ {
+ name = Bottom Caption
+ transform = TextTopObj2
+ fontSize = 9
+ oneshot = true
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ┌── BUFFER ADJUST ──┐
+ }
+
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = TW_W1_Drum_Obj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = TW_W2_Drum_Obj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = TW_W3_Drum_Obj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = TW_W4_Drum_Obj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Ones +
+ collider = TW_W4_Collider_UP
+ onClick = fc.AddPersistent("STS_FMSCompBuffer", (10 ^ fc.Max(0, 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ sound = ASET/ASET_Props/Sounds/click-027
+ autoRepeat = 0.25
+ volume = 1
+ }
+ COLLIDER_EVENT
+ {
+ name = Ones -
+ collider = TW_W4_Collider_DOWN
+ onClick = fc.AddPersistent("STS_FMSCompBuffer", -(10 ^ fc.Max(0, 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ sound = ASET/ASET_Props/Sounds/click-027
+ autoRepeat = 0.25
+ volume = 1
+ }
+ ROTATION
+ {
+ name = Ones thumbwheel
+ transform = TW_W4_Grp
+ variable = fc.Floor(fc.Abs(fc.GetPersistentAsNumber("STS_FMSCompBuffer") / (10 ^ fc.Max(0, 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale")))))
+ startRotation = 0,0,0
+ endRotation = -360,0,0
+ range = 0, 10 + fc.Abs(fc.GetPersistentAsNumber("STS_FMSCompBuffer") / (10 ^ fc.Max(0, 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ blend = true
+ longPath = true
+ speed = 1.0
+ modulo = 10
+ }
+ COLLIDER_EVENT
+ {
+ name = Tens +
+ collider = TW_W3_Collider_UP
+ onClick = fc.AddPersistent("STS_FMSCompBuffer", (10 ^ fc.Max(1, 1 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ sound = ASET/ASET_Props/Sounds/click-027
+ autoRepeat = 0.25
+ volume = 1
+ }
+ COLLIDER_EVENT
+ {
+ name = Tens -
+ collider = TW_W3_Collider_DOWN
+ onClick = fc.AddPersistent("STS_FMSCompBuffer", -(10 ^ fc.Max(1, 1 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ sound = ASET/ASET_Props/Sounds/click-027
+ autoRepeat = 0.25
+ volume = 1
+ }
+ ROTATION
+ {
+ name = Tens thumbwheel
+ transform = TW_W3_Grp
+ variable = fc.Floor(fc.Abs(fc.GetPersistentAsNumber("STS_FMSCompBuffer") / (10 ^ fc.Max(1, 1 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale")))))
+ startRotation = 0,0,0
+ endRotation = -360,0,0
+ range = 0, 10 + fc.Abs(fc.GetPersistentAsNumber("STS_FMSCompBuffer") / (10 ^ fc.Max(1, 1 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ blend = true
+ longPath = true
+ speed = 1
+ modulo = 10
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Hundreds +
+ collider = TW_W2_Collider_UP
+ onClick = fc.AddPersistent("STS_FMSCompBuffer", (10 ^ fc.Max(2, 2 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ sound = ASET/ASET_Props/Sounds/click-027
+ autoRepeat = 0.25
+ volume = 1
+ }
+ COLLIDER_EVENT
+ {
+ name = Hundreds -
+ collider = TW_W2_Collider_DOWN
+ onClick = fc.AddPersistent("STS_FMSCompBuffer", -(10 ^ fc.Max(2, 2 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ sound = ASET/ASET_Props/Sounds/click-027
+ autoRepeat = 0.25
+ volume = 1
+ }
+ ROTATION
+ {
+ name = Hundreds thumbwheel
+ transform = TW_W2_Grp
+ variable = fc.Floor(fc.Abs(fc.GetPersistentAsNumber("STS_FMSCompBuffer") / (10 ^ fc.Max(2, 2 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale")))))
+ startRotation = 0,0,0
+ endRotation = -360,0,0
+ range = 0, 10 + fc.Abs(fc.GetPersistentAsNumber("STS_FMSCompBuffer") / (10 ^ fc.Max(2, 2 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ blend = true
+ longPath = true
+ speed = 1
+ modulo = 10
+ }
+ COLLIDER_EVENT
+ {
+ name = Thousands +
+ collider = TW_W1_Collider_UP
+ onClick = fc.AddPersistent("STS_FMSCompBuffer", (10 ^ fc.Max(3, 3 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ sound = ASET/ASET_Props/Sounds/click-027
+ autoRepeat = 0.25
+ volume = 1
+ }
+ COLLIDER_EVENT
+ {
+ name = Thousands -
+ collider = TW_W1_Collider_DOWN
+ onClick = fc.AddPersistent("STS_FMSCompBuffer", -(10 ^ fc.Max(3, 3 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ sound = ASET/ASET_Props/Sounds/click-027
+ autoRepeat = 0.25
+ volume = 1
+ }
+ ROTATION
+ {
+ name = Thousands thumbwheel
+ transform = TW_W1_Grp
+ variable = fc.Floor(fc.Abs(fc.GetPersistentAsNumber("STS_FMSCompBuffer") / (10 ^ fc.Max(3, 3 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale")))))
+ startRotation = 0,0,0
+ endRotation = -360,0,0
+ range = 0, 10 + fc.Abs(fc.GetPersistentAsNumber("STS_FMSCompBuffer") / (10 ^ fc.Max(3, 3 + 3 * fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale"))))
+ blend = true
+ longPath = true
+ speed = 1
+ modulo = 10
+ }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/SmallLabelPlate/MAS_SmallPlate_IMPACT.cfg b/GameData/MOARdV/MAS_ASET/SmallLabelPlate/MAS_SmallPlate_IMPACT.cfg
new file mode 100644
index 00000000..a9d32a22
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/SmallLabelPlate/MAS_SmallPlate_IMPACT.cfg
@@ -0,0 +1,54 @@
+PROP
+{
+ name = MAS_Label_IMPACT
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Misc/SmallLabelPlate/SmallLabelPlate
+ texture = SmallLablePlateDiffuse,ASET/ASET_Props/Misc/SmallLabelPlate/SmallLablePlateDiffuse
+ texture = SmallLablePlateEmissive,ASET/ASET_Props/Misc/SmallLabelPlate/SmallLablePlateEmissive
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ TEXT_LABEL
+ {
+ name = Name Plate
+ transform = TextObj
+ fontSize = 6.1
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.048,-0.006
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ emissive = active
+ passiveColor = COLOR_MOARdV_UnlitText
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ text = IMPACT IN
+ }
+
+ COLOR_SHIFT
+ {
+ name = Plate Diffuse
+ transform = SmallLablePlate
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ colorName = _Color
+ }
+
+ COLOR_SHIFT
+ {
+ name = Plate Emissive
+ transform = SmallLablePlate
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ colorName = _EmissiveColor
+ }
+
+ }
+
+
+}
+
diff --git a/GameData/MOARdV/MAS_ASET/SmallLabelPlate/MAS_SmallPlate_MNODE.cfg b/GameData/MOARdV/MAS_ASET/SmallLabelPlate/MAS_SmallPlate_MNODE.cfg
new file mode 100644
index 00000000..8cc1476a
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/SmallLabelPlate/MAS_SmallPlate_MNODE.cfg
@@ -0,0 +1,53 @@
+PROP
+{
+ name = MAS_Label_MNODE
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Misc/SmallLabelPlate/SmallLabelPlate
+ texture = SmallLablePlateDiffuse,ASET/ASET_Props/Misc/SmallLabelPlate/SmallLablePlateDiffuse
+ texture = SmallLablePlateEmissive,ASET/ASET_Props/Misc/SmallLabelPlate/SmallLablePlateEmissive
+ }
+
+MODULE
+ {
+ name = MASComponent
+
+ TEXT_LABEL
+ {
+ name = Name Plate
+ transform = TextObj
+ fontSize = 6.1
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.048,-0.006
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ emissive = active
+ passiveColor = COLOR_MOARdV_UnlitText
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ text = NODE BURN TIME
+ }
+
+ COLOR_SHIFT
+ {
+ name = Plate Diffuse
+ transform = SmallLablePlate
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ colorName = _Color
+ }
+
+ COLOR_SHIFT
+ {
+ name = Plate Emissive
+ transform = SmallLablePlate
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ colorName = _EmissiveColor
+ }
+
+ }
+
+}
+
diff --git a/GameData/MOARdV/MAS_ASET/SmallLabelPlate/MAS_SmallPlate_TERMINALBURN.cfg b/GameData/MOARdV/MAS_ASET/SmallLabelPlate/MAS_SmallPlate_TERMINALBURN.cfg
new file mode 100644
index 00000000..17d1fcb5
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/SmallLabelPlate/MAS_SmallPlate_TERMINALBURN.cfg
@@ -0,0 +1,53 @@
+PROP
+{
+ name = MAS_Label_TERMINALBURN
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Misc/SmallLabelPlate/SmallLabelPlate
+ texture = SmallLablePlateDiffuse,ASET/ASET_Props/Misc/SmallLabelPlate/SmallLablePlateDiffuse
+ texture = SmallLablePlateEmissive,ASET/ASET_Props/Misc/SmallLabelPlate/SmallLablePlateEmissive
+ }
+
+MODULE
+ {
+ name = MASComponent
+
+ TEXT_LABEL
+ {
+ name = Name Plate
+ transform = TextObj
+ fontSize = 6.1
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.048,-0.006
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ emissive = active
+ passiveColor = COLOR_MOARdV_UnlitText
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ text = TERM BURN
+ }
+
+ COLOR_SHIFT
+ {
+ name = Plate Diffuse
+ transform = SmallLablePlate
+ passiveColor = COLOR_ASET_PLATEBKG_DIFFUSE_PASSIVECOLOR
+ colorName = _Color
+ }
+
+ COLOR_SHIFT
+ {
+ name = Plate Emissive
+ transform = SmallLablePlate
+ passiveColor = COLOR_ASET_PLATEBKG_EMISSIVE_PASSIVECOLOR
+ colorName = _EmissiveColor
+ }
+
+ }
+
+}
+
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_EngineMode.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_EngineMode.cfg
new file mode 100644
index 00000000..c0d480e7
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_EngineMode.cfg
@@ -0,0 +1,136 @@
+PROP
+{
+ name = MAS_Switch_v1_EngineMode
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Backlight
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_3
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Guard
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Single Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.ToggleMultiModeEngineMode()
+ // onRelease = fc.SetPersistent("%AUTOID%", 0)
+ // variable = fc.Conditioned(fc.ResourceLocked("MonoPropellant"))
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 1
+ variable = 1 - fc.GetMultiModeEngineMode()
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.009
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = MAIN ENGINE$$$MODE
+ }
+
+ TEXT_LABEL
+ {
+ name = On Label
+ transform = TextTopObj
+ fontSize = 4.6
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.02526,-0.010
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = PRIMARY
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, -0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = SECONDARY
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj, GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_HighG_Power.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_HighG_Power.cfg
new file mode 100644
index 00000000..88f70df0
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_HighG_Power.cfg
@@ -0,0 +1,113 @@
+PROP
+{
+ name = MAS_Switch_v1_HighG_Power
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Switch
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ texture = Tggl_Cap_Diffuse,ASET/ASET_Props/Control/Switch_Toggle_Modular/models/Tggl_Cap_White
+ }
+
+ // Guard
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Glow border
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Simple Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/tumbleClick01
+ volume = 1
+ onClick = fc.TogglePersistent("ASET_WARN_G_ON")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("ASET_WARN_G_ON")
+ }
+
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = GlowBorder, TumblerMarkObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 3.8
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.009
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = HIGH G$$$ALARM
+ }
+
+ TEXT_LABEL
+ {
+ name = Off Label
+ transform = TextBottomObj
+ fontSize = 4.6
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,0.0055
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = OFF
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_Slope_Power.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_Slope_Power.cfg
new file mode 100644
index 00000000..44adc8da
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_Slope_Power.cfg
@@ -0,0 +1,113 @@
+PROP
+{
+ name = MAS_Switch_v1_Slope_Power
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Switch
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ texture = Tggl_Cap_Diffuse,ASET/ASET_Props/Control/Switch_Toggle_Modular/models/Tggl_Cap_White
+ }
+
+ // Guard
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Glow border
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Simple Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/tumbleClick01
+ volume = 1
+ onClick = fc.TogglePersistent("ASET_WARN_SLOPE_ON")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("ASET_WARN_SLOPE_ON")
+ }
+
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = GlowBorder, TumblerMarkObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 3.8
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.009
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = HIGH SLOPE$$$ALARM
+ }
+
+ TEXT_LABEL
+ {
+ name = Off Label
+ transform = TextBottomObj
+ fontSize = 4.6
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,0.0055
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = OFF
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_Tumble_Power.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_Tumble_Power.cfg
new file mode 100644
index 00000000..995f7ac6
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_Switch_v1_Tumble_Power.cfg
@@ -0,0 +1,113 @@
+PROP
+{
+ name = MAS_Switch_v1_Tumble_Power
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Switch
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ texture = Tggl_Cap_Diffuse,ASET/ASET_Props/Control/Switch_Toggle_Modular/models/Tggl_Cap_White
+ }
+
+ // Guard
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Glow border
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Simple Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/tumbleClick01
+ volume = 1
+ onClick = fc.TogglePersistent("ASET_WARN_TUMBLE_ON")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("ASET_WARN_TUMBLE_ON")
+ }
+
+ COLOR_SHIFT
+ {
+ name = Border
+ transform = GlowBorder, TumblerMarkObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 3.8
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.009
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = TUMBLE$$$ALARM
+ }
+
+ TEXT_LABEL
+ {
+ name = Off Label
+ transform = TextBottomObj
+ fontSize = 4.6
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,0.0055
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = OFF
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_ARM_CHUTES_T1_G3_B15_C1G.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_ARM_CHUTES_T1_G3_B15_C1G.cfg
new file mode 100644
index 00000000..3c5369e9
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_ARM_CHUTES_T1_G3_B15_C1G.cfg
@@ -0,0 +1,142 @@
+PROP
+{
+ name = MAS_tggl_ARM_CHUTES_T1_G3_B15_C1G
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Backlight
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_12
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Red Cover
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCover_Type1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ texture = Tggl_COVER_Diffuse,ASET/ASET_Props/Control/Switch_Toggle_Modular/models/Tggl_COVER_Gray
+ }
+
+ // Guard
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_4
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Single Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.SetPersistent("%AUTOID%", parachute.ToggleParachuteArmed())
+ // onRelease = fc.SetPersistent("%AUTOID%", 0)
+ variable = parachute.ParachuteCount()
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = CoverCollider
+ onClick = fc.TogglePersistent("%AUTOID%-cover")
+ sound = ASET/ASET_Props/Sounds/OpenSwitchCover
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Cover animation
+ animation = TgglCover_ANIM
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%-cover")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ARM$$$CHUTES
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, -0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = SAFE
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj, GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_CUT_CHUTES_T1_G3_B15_C1Y.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_CUT_CHUTES_T1_G3_B15_C1Y.cfg
new file mode 100644
index 00000000..21762ef8
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_CUT_CHUTES_T1_G3_B15_C1Y.cfg
@@ -0,0 +1,142 @@
+PROP
+{
+ name = MAS_tggl_CUT_CHUTES_T1_G3_B15_C1Y
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Backlight
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_15
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Red Cover
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCover_Type1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ texture = Tggl_COVER_Diffuse,ASET/ASET_Props/Control/Switch_Toggle_Modular/models/Tggl_COVER_Diffuse
+ }
+
+ // Guard
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_4
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Single Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.SetPersistent("%AUTOID%", parachute.CutParachute() + 1)
+ // onRelease = fc.SetPersistent("%AUTOID%", 0)
+ variable = parachute.GetParachuteDeployed()
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = CoverCollider
+ onClick = fc.TogglePersistent("%AUTOID%-cover")
+ sound = ASET/ASET_Props/Sounds/OpenSwitchCover
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Cover animation
+ animation = TgglCover_ANIM
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%-cover")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = CUT$$$CHUTES
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.02526, 0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = SAFE
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj, GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_DEPLOY_CHUTES_T1_G3_B15_C1G.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_DEPLOY_CHUTES_T1_G3_B15_C1G.cfg
new file mode 100644
index 00000000..664f550f
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_DEPLOY_CHUTES_T1_G3_B15_C1G.cfg
@@ -0,0 +1,142 @@
+PROP
+{
+ name = MAS_tggl_DEPLOY_CHUTES_T1_G3_B15_C1G
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Backlight
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_12
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Red Cover
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCover_Type1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ texture = Tggl_COVER_Diffuse,ASET/ASET_Props/Control/Switch_Toggle_Modular/models/Tggl_COVER_Gray
+ }
+
+ // Guard
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_4
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Single Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.SetPersistent("%AUTOID%", parachute.DeployParachute() + 1)
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ variable = parachute.ParachuteCount()
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = CoverCollider
+ onClick = fc.TogglePersistent("%AUTOID%-cover")
+ sound = ASET/ASET_Props/Sounds/OpenSwitchCover
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Cover animation
+ animation = TgglCover_ANIM
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%-cover")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = DEPLOY$$$CHUTES
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, -0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = SAFE
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj, GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_GEAR_CTRL_T5W_B14_S.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_GEAR_CTRL_T5W_B14_S.cfg
new file mode 100644
index 00000000..0f403101
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_GEAR_CTRL_T5W_B14_S.cfg
@@ -0,0 +1,128 @@
+PROP
+{
+ name = MAS_tggl_GEAR_CTRL_T5W_B14_S
+
+// MODEL ASSEMBLY ----------------------------------------------------------------------
+
+// Base
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+// Lever
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_5
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ texture = Tggl_Cap_Diffuse,ASET/ASET_Props/Control/Switch_Toggle_Modular/models/Tggl_Cap_White
+ }
+
+// Backlight
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_14
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+// Collider
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ startupScript = fc.SetPersistent("MAS_GEAR_AUTO", 0)
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.TogglePersistent("MAS_GEAR_AUTO")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 1
+ variable = 1 - fc.GetPersistentAsNumber("MAS_GEAR_AUTO")
+ }
+
+ TRIGGER_EVENT
+ {
+ name = GearAutoDeploy
+ event = fc.SetGear(true)
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_GEAR_AUTO") and (fc.AltitudeTerrain(false) < 2000) and (fc.GearPosition() < 1) and (fc.GearCount() > 0))
+ }
+ TRIGGER_EVENT
+ {
+ name = GearAutoRetract
+ event = fc.SetGear(false)
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("MAS_GEAR_AUTO") and (fc.AltitudeTerrain(false) > 2000) and (fc.GearPosition() > 0) and (fc.GearCount() > 0))
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.008
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = GEAR$$$CONTROL
+ }
+
+ TEXT_LABEL
+ {
+ name = OnOff
+ transform = TextTopObj
+ fontSize = 4.6
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = MiddleCenter
+ transformOffset = 0.02526,-0.052
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = MANUAL$$$ $$$ $$$ $$$ $$$ $$$ $$$ $$$AUTO$$$< 2000 M
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj, GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_KAC_SetReset.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_KAC_SetReset.cfg
new file mode 100644
index 00000000..29c09fab
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_KAC_SetReset.cfg
@@ -0,0 +1,137 @@
+PROP
+{
+ name = MAS_tggl_KAC_SetReset
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Full Guard
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Double Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_DBL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchColliderUP
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.SetPersistent("%AUTOID%", 1 + fc.AddPersistentClamped("KAC_Alarm_Created", SetKACAlarm(fc.GetPersistentAsNumber("KAC_Mode_Sel_A"), fc.GetPersistentAsNumber("KAC_Mode_Sel_B"), fc.GetPersistentAsNumber("KAC_Threshold_Sel")), 0, 1))
+ // onClick = fc.SetPersistent("%AUTOID%", 1 + fc.SetPersistent("KAC_Error", 1 - fc.AddPersistentClamped("KAC_Alarm_Created", SetKACAlarm(fc.GetPersistentAsNumber("KAC_Mode_Sel_A"), fc.GetPersistentAsNumber("KAC_Mode_Sel_B"), fc.GetPersistentAsNumber("KAC_Threshold_Sel")), 0, 1)))
+ onRelease = fc.SetPersistent("%AUTOID%", fc.SetPersistent("KAC_Error", 0))
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchColliderDOWN
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.SetPersistent("%AUTOID%", -1 - fc.AddPersistentClamped("KAC_Alarm_Created", -1 + fc.SetPersistent("KAC_Error", 1 - kac.DeleteAlarm(fc.GetPersistent("MAS_Clock_AlarmId"))), 0, 1))
+ onRelease = fc.SetPersistent("%AUTOID%", fc.SetPersistent("KAC_Error", 0))
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = -1, 1
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ALARM
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Top Label
+ transform = TextPlateTopObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.01947,-0.012
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = SET
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, 0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = RESET
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_FMS_Apsis.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_FMS_Apsis.cfg
new file mode 100644
index 00000000..fa077157
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_FMS_Apsis.cfg
@@ -0,0 +1,155 @@
+PROP
+{
+ name = MAS_tggl_STS_FMS_Apsis
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Full Guard
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Double Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_DBL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchColliderUP
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.AddPersistentClamped("STS_FMS_Apsis", 1, -1, 1)
+ // onRelease = fc.SetPersistent("%AUTOID%", 0)
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchColliderDOWN
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.AddPersistentClamped("STS_FMS_Apsis", -1, -1, 1)
+ // onRelease = fc.SetPersistent("%AUTOID%", 0)
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = -1, 1
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("STS_FMS_Apsis")
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = FMS PARAM
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Top Label
+ transform = TextPlateTopObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.01947,-0.012
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = AP
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Middle Label
+ transform = TextPlateTopObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = -0.01,-0.05
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = A$$$L$$$T
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, 0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = PE
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_FMS_OwnShip.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_FMS_OwnShip.cfg
new file mode 100644
index 00000000..157fb9f8
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_FMS_OwnShip.cfg
@@ -0,0 +1,125 @@
+PROP
+{
+ name = MAS_tggl_STS_FMS_OwnShip
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Full Guard
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Single Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.TogglePersistent("STS_FMS_OwnOrTarget")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("STS_FMS_OwnOrTarget")
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = FMS SOURCE
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Top Label
+ transform = TextPlateTopObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.01947,-0.012
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = TARGET
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, 0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = OWN SHIP
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_FMS_SetReset.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_FMS_SetReset.cfg
new file mode 100644
index 00000000..94da8479
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_FMS_SetReset.cfg
@@ -0,0 +1,136 @@
+PROP
+{
+ name = MAS_tggl_STS_FMS_SetReset
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Full Guard
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Double Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_DBL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchColliderUP
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.SetPersistent("%AUTOID%", fc.Max(fc.SetPersistent("STS_FMSCompBuffer", fc.Select(fc.GetPersistentAsNumber("STS_FMS_EditMode"), fc.Select(fc.GetPersistentAsNumber("STS_FMS_Apsis"), fc.Select(fc.GetPersistentAsNumber("STS_FMS_OwnOrTarget") == 0, fc.Periapsis(), fc.TargetPeriapsis()), fc.Select(fc.GetPersistentAsNumber("STS_FMS_OwnOrTarget") == 0, fc.Altitude(), fc.TargetAltitude()), fc.Select(fc.GetPersistentAsNumber("STS_FMS_OwnOrTarget") == 0, fc.Apoapsis(), fc.TargetApoapsis())), -fc.ManeuverNodeTime() + fc.TimeOfDay(fc.UT()), fc.Select(fc.GetPersistentAsNumber("STS_FMS_EditMode") - 2, fc.ManeuverNodeDVPrograde(), fc.ManeuverNodeDVNormal(),fc.ManeuverNodeDVRadial() ))), 1))
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchColliderDOWN
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.SetPersistent("%AUTOID%", fc.SetPersistent("STS_FMSCompBuffer", 0) - 1)
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = -1, 1
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = BUFFER
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Top Label
+ transform = TextPlateTopObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.01947,-0.012
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = SET
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, 0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = RESET
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_MissionTimer_MODE.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_MissionTimer_MODE.cfg
new file mode 100644
index 00000000..7b16275f
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_STS_MissionTimer_MODE.cfg
@@ -0,0 +1,173 @@
+PROP
+{
+ name = MAS_tggl_STS_MissionTimer_MODE
+
+// MODEL ASSEMBLY ----------------------------------------------------------------------
+
+// Base
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+// Lever
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+// Guard
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+// Backlight
+//
+// MODEL
+// {
+// model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_2
+// texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+// }
+
+// Collider
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_DBL
+ }
+
+// switcher input ---------------------------------------------------------------------
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchColliderUP
+ // onRelease = fc.SetPersistent("%AUTOID%", 0)
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ autoRepeat = 0.1
+ onClick = fc.AddPersistentClamped("STS_MISSION_TIMER", 1, 0, 2)
+ variable = fc.GetPersistentAsNumber("STS_MISSION_TIMER") < 2
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchColliderDOWN
+ // onRelease = fc.SetPersistent("%AUTOID%", 0)
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ autoRepeat = 0.1
+ onClick = fc.AddPersistentClamped("STS_MISSION_TIMER", -1, 0, 2)
+ variable = fc.GetPersistentAsNumber("STS_MISSION_TIMER") > 0
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ variable = fc.GetPersistentAsNumber("STS_MISSION_TIMER") - 1
+ range = -1, 1
+ blend = true
+ cycleRate = 0.5
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = MISSION TIMER
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Top Label
+ transform = TextPlateTopObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.01947,-0.012
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = UT
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Middle Label
+ transform = TextPlateTopObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = -0.01,-0.05
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = M$$$E$$$T
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, 0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = TEST
+ }
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_UNLOCK_RES_FUEL.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_UNLOCK_RES_FUEL.cfg
new file mode 100644
index 00000000..12fa31c8
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_UNLOCK_RES_FUEL.cfg
@@ -0,0 +1,141 @@
+PROP
+{
+ name = MAS_tggl_UNLOCK_RES_FUEL
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Backlight
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_12
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Red Cover
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCover_Type1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ texture = Tggl_COVER_Diffuse,ASET/ASET_Props/Control/Switch_Toggle_Modular/models/Tggl_COVER_Gray
+ }
+
+ // Guard
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_4
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Single Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.SetPersistent("%AUTOID%", fc.SetResourceLock("LiquidFuel", false) and fc.SetResourceLock("Oxidizer", false) and fc.SetResourceLock("LqdHydrogen", false) and 1)
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = CoverCollider
+ onClick = fc.TogglePersistent("%AUTOID%-cover")
+ sound = ASET/ASET_Props/Sounds/OpenSwitchCover
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Cover animation
+ animation = TgglCover_ANIM
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%-cover")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = RESERVE$$$FUEL
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, -0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = LOCKED
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj, GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_UNLOCK_RES_Monoprop.cfg b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_UNLOCK_RES_Monoprop.cfg
new file mode 100644
index 00000000..d7264355
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/Switch_Toggle_Modular/MAS_tggl_UNLOCK_RES_Monoprop.cfg
@@ -0,0 +1,142 @@
+PROP
+{
+ name = MAS_tggl_UNLOCK_RES_Monoprop
+
+ // Base
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Apollo toggle
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglLever_Type_1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Backlight
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglBase_Bcklt_12
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Red Cover
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCover_Type1
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ texture = Tggl_COVER_Diffuse,ASET/ASET_Props/Control/Switch_Toggle_Modular/models/Tggl_COVER_Gray
+ }
+
+ // Guard
+
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglGuard_Type_4
+ texture = Switch_TUMBLEDiffuse,ASET/ASET_Props/Control/Switch_Tumble/Switch_TUMBLEDiffuse
+ }
+
+ // Single Collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/Switch_Toggle_Modular/models/TgglCollider_SNGL
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = SwitchCollider
+ sound = ASET/ASET_Props/Sounds/RPB01
+ volume = 1
+ onClick = fc.SetPersistent("%AUTOID%", fc.SetResourceLock("MonoPropellant", false) and 1)
+ onRelease = fc.SetPersistent("%AUTOID%", 0)
+ // variable = fc.Conditioned(fc.ResourceLocked("MonoPropellant"))
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider
+ collider = CoverCollider
+ onClick = fc.TogglePersistent("%AUTOID%-cover")
+ sound = ASET/ASET_Props/Sounds/OpenSwitchCover
+ volume = 1
+ }
+
+ ANIMATION_PLAYER
+ {
+ name = Cover animation
+ animation = TgglCover_ANIM
+ animationSpeed = 1.0
+ variable = fc.GetPersistentAsNumber("%AUTOID%-cover")
+ }
+
+ ROTATION
+ {
+ name = Lever Movement
+ transform = SwitchGrp
+ startRotation = 30,0,0
+ endRotation = -30,0,0
+ range = 0, 1
+ blend = true
+ cycleRate = 1
+ variable = fc.GetPersistentAsNumber("%AUTOID%")
+ }
+
+ TEXT_LABEL
+ {
+ name = Top Label
+ transform = TextTopObj
+ fontSize = 6.1
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ transformOffset = 0.02526,-0.015
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = RESERVE$$$MONOPROP
+ }
+
+ TEXT_LABEL
+ {
+ name = Plate Bottom Label
+ transform = TextPlateBottomObj
+ fontSize = 5.5
+ lineSpacing = 0.9
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = UpperCenter
+ transformOffset = 0.01947, -0.005
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = LOCKED
+ }
+
+ COLOR_SHIFT
+ {
+ name = Switch Mark Glow
+ transform = TumblerMarkObj, GlowBorder
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_DockingAngle.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_DockingAngle.cfg
index 20d18d6c..5b5e8cbe 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_DockingAngle.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_DockingAngle.cfg
@@ -54,6 +54,14 @@
exitEvent = fc.SetPersistent("ALCOR_DOCKINGANGLEALARM_ON", 0)
variable = fc.Conditioned(fc.TargetDistance() < 10 and (fc.PitchTarget() > 1.5 or fc.YawTarget() > 1.5))
}
+ AUDIO_PLAYER
+ {
+ name = DockAngleTone
+ sound = ASET/ASET_Props/Sounds/beep-04
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_DOCKINGANGLEALARM_ON"))
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_EngineFailure.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_EngineFailure.cfg
index 2c335019..c4985a2f 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_EngineFailure.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_EngineFailure.cfg
@@ -54,6 +54,14 @@
exitEvent = fc.SetPersistent("ALCOR_ENGFAILURE_ON", 0)
variable = fc.Conditioned(fc.EngineFlameout())
}
+ AUDIO_PLAYER
+ {
+ name = FlameoutTone
+ sound = ASET/ASET_Props/Sounds/AlarmBeep02
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.EngineFlameout())
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_EngineOverheat.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_EngineOverheat.cfg
index f186f565..ed27aefb 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_EngineOverheat.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_EngineOverheat.cfg
@@ -54,6 +54,14 @@
exitEvent = fc.SetPersistent("ALCOR_ENGINEOVERHEATALARM_ON", 0)
variable = fc.Conditioned(fc.HottestEngineTemperature(true) > 0.85 * fc.HottestEngineMaxTemperature(true))
}
+ AUDIO_PLAYER
+ {
+ name = EngHeatTone
+ sound = ASET/ASET_Props/Sounds/AlarmBeep01
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.HottestEngineTemperature(true) > 0.85 * fc.HottestEngineMaxTemperature(true))
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GPWS.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GPWS.cfg
index bac93b53..d61ae6f3 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GPWS.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GPWS.cfg
@@ -11,6 +11,8 @@
{
name = MASComponent
+ startupScript = fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/beep_A_long_x1")
+
// This prop implements all of the GPWS functionality.
COLOR_SHIFT
{
@@ -21,5 +23,175 @@
variable = fc.Conditioned(0)
}
+ AUDIO_PLAYER
+ {
+ name = AVASCallTone
+ variableSound = fc.GetPersistent("AVAS_Call_Sound")
+ volume = 1.0
+ trigger = ON
+ mustPlayOnce = true
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("AVAS_Annunciation_On"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall2
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws2") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 2.5 and fc.AltitudeBottom() > 1.5 and fc.GetPersistentAsNumber("AVAS_ON") and fc.GetLaunchClampCount() == 0)
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall5
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws5") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 6 and fc.AltitudeBottom() > 4 and fc.GetPersistentAsNumber("AVAS_ON") and fc.GetLaunchClampCount() == 0)
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall10
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws10") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 12 and fc.AltitudeBottom() > 8 and fc.GetPersistentAsNumber("AVAS_ON") and fc.GetLaunchClampCount() == 0)
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall20
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws20") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 22 and fc.AltitudeBottom() > 18 and fc.GetPersistentAsNumber("AVAS_ON") and fc.GetLaunchClampCount() == 0)
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall25
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws25") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 27 and fc.AltitudeBottom() > 23 and fc.GetPersistentAsNumber("AVAS_ON") and fc.GetLaunchClampCount() == 0)
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall50
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws50") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 52 and fc.AltitudeBottom() > 48 and fc.GetPersistentAsNumber("AVAS_ON") and fc.GetLaunchClampCount() == 0)
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall100
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws100") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 105 and fc.AltitudeBottom() > 95 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall200
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws200") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 205 and fc.AltitudeBottom() > 195 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall300
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws300") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 305 and fc.AltitudeBottom() > 295 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall400
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws400") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 405 and fc.AltitudeBottom() > 395 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall500
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws500") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeBottom() < 505 and fc.AltitudeBottom() > 495 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall1000
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws1000") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeTerrain(false) < 1010 and fc.AltitudeTerrain(false) > 990 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall1500
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws1500") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeTerrain(false) < 1510 and fc.AltitudeTerrain(false) > 1490 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall2000
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws2000") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeTerrain(false) < 2030 and fc.AltitudeTerrain(false) > 1970 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall2500
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws2500") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeTerrain(false) < 2530 and fc.AltitudeTerrain(false) > 2470 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall3000
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws3000") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeTerrain(false) < 3030 and fc.AltitudeTerrain(false) > 2970 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall4000
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws4000") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeTerrain(false) < 4030 and fc.AltitudeTerrain(false) > 3970 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall5000
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws5000") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeTerrain(false) < 5030 and fc.AltitudeTerrain(false) > 4970 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall10000
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws10000") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeTerrain(false) < 10030 and fc.AltitudeTerrain(false) > 9970 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
+ TRIGGER_EVENT
+ {
+ name = AVASCall20000
+ event = fc.Conditioned(fc.SetPersistent("AVAS_Call_Sound", "ASET/ASET_Props/Sounds/gpws/gpws20000") and fc.SetPersistent("AVAS_Annunciation_On",1))
+ exitEvent = fc.SetPersistent("AVAS_Annunciation_On", 0)
+ variable = fc.Conditioned(fc.AltitudeTerrain(false) < 20030 and fc.AltitudeTerrain(false) > 19970 and fc.GetPersistentAsNumber("AVAS_ON"))
+ }
+
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GearBroken.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GearBroken.cfg
index eb5e9b8a..32ea920a 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GearBroken.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GearBroken.cfg
@@ -46,6 +46,14 @@
variable = fc.Conditioned(fc.GearBrokenCount())
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = GearBrokenTone
+ sound = ASET/ASET_Props/Sounds/beep_F_short_x2
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.GearBrokenCount())
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GroundProximity.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GroundProximity.cfg
index ce05b552..e2a97691 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GroundProximity.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_GroundProximity.cfg
@@ -54,6 +54,14 @@
exitEvent = fc.SetPersistent("ALCOR_GROUNDPROXIMITYALARM_ON", 0)
variable = fc.Conditioned(fc.GetPersistentAsNumber("GPWS_ON") > 0 and fc.VerticalSpeed() < -1 and fc.AltitudeBottom() < 15)
}
+ AUDIO_PLAYER
+ {
+ name = GroundProxTone
+ sound = ASET/ASET_Props/Sounds/GroundProximity
+ volume = 1.0
+ trigger = LOOP
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_GROUNDPROXIMITYALARM_ON"))
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HeatshieldOverheat.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HeatshieldOverheat.cfg
index 2341eee3..b9ae351f 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HeatshieldOverheat.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HeatshieldOverheat.cfg
@@ -25,7 +25,7 @@
activeColor = 255,190,150,255
passiveColor = 145,80,80,255
text = SHIELD$$$OVERHEAT
- variable = fc.Conditioned(fc.HeatShieldMaxTemperature(true) - fc.HeatShieldTemperature(true) < 700)
+ variable = fc.Conditioned(fc.HeatShieldMaxTemperature(true) > 0 and fc.HeatShieldMaxTemperature(true) - fc.HeatShieldTemperature(true) < 700)
}
COLOR_SHIFT
@@ -34,7 +34,7 @@
transform = TabloColorPlate
activeColor = 255,180,180,255
passiveColor = 0,0,0,255
- variable = fc.Conditioned(fc.HeatShieldMaxTemperature(true) - fc.HeatShieldTemperature(true) < 700)
+ variable = fc.Conditioned(fc.HeatShieldMaxTemperature(true) > 0 and fc.HeatShieldMaxTemperature(true) - fc.HeatShieldTemperature(true) < 700)
}
TEXTURE_SHIFT
@@ -43,9 +43,17 @@
transform = TabloColorPlate
startUV = 0, 0
endUV = 0, 0.6
- variable = fc.Conditioned(fc.HeatShieldMaxTemperature(true) - fc.HeatShieldTemperature(true) < 700)
+ variable = fc.Conditioned(fc.HeatShieldMaxTemperature(true) > 0 and fc.HeatShieldMaxTemperature(true) - fc.HeatShieldTemperature(true) < 700)
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = ShieldHeatTone
+ sound = ASET/ASET_Props/Sounds/beep_F_short_x1
+ volume = 1.0
+ trigger = LOOP
+ variable = fc.Conditioned(fc.HeatShieldMaxTemperature(true) > 0 and fc.HeatShieldMaxTemperature(true) - fc.HeatShieldTemperature(true) < 700)
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HighG.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HighG.cfg
index 1543f4ed..15da840c 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HighG.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HighG.cfg
@@ -25,7 +25,7 @@
activeColor = 255,190,150,255
passiveColor = 145,80,80,255
text = HIGH G
- variable = fc.Conditioned(fc.GForce() > 3)
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_HIGH_G_ALARM_ON"))
}
COLOR_SHIFT
@@ -34,7 +34,7 @@
transform = TabloColorPlate
activeColor = 255,180,180,255
passiveColor = 0,0,0,255
- variable = fc.Conditioned(fc.GForce() > 3)
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_HIGH_G_ALARM_ON"))
}
TEXTURE_SHIFT
@@ -43,9 +43,24 @@
transform = TabloColorPlate
startUV = 0, 0
endUV = 0, 0.2
- variable = fc.Conditioned(fc.GForce() > 3)
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_HIGH_G_ALARM_ON"))
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = HighGTone
+ sound = ASET/ASET_Props/Sounds/HighG
+ volume = 1.0
+ trigger = LOOP
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_HIGH_G_ALARM_ON"))
+ }
+ TRIGGER_EVENT
+ {
+ name = trigger
+ event = fc.SetPersistent("ASET_HIGH_G_ALARM_ON", 1)
+ exitEvent = fc.SetPersistent("ASET_HIGH_G_ALARM_ON", 0)
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_WARN_G_ON") and fc.GForce() > 3)
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HighSlope.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HighSlope.cfg
index a954a55b..af2faeaf 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HighSlope.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_HighSlope.cfg
@@ -54,6 +54,14 @@
exitEvent = fc.SetPersistent("ALCOR_SLOPEALARM_ON", 0)
variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_WARN_SLOPE_ON") > 0 and fc.AltitudeBottom() < 15 and fc.SlopeAngle() > 15)
}
+ AUDIO_PLAYER
+ {
+ name = PodHeatTone
+ sound = ASET/ASET_Props/Sounds/AlarmBeep01
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_SLOPEALARM_ON"))
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LandingGear.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LandingGear.cfg
index d9a60749..4f56bffa 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LandingGear.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LandingGear.cfg
@@ -25,7 +25,7 @@
activeColor = 255,190,150,255
passiveColor = 145,80,80,255
text = LANDING$$$GEAR
- variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_GROUNDPROXIMITYALARM_ON"))
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_GEARALARM_ON_LANDING"))
}
COLOR_SHIFT
@@ -34,7 +34,7 @@
transform = TabloColorPlate
activeColor = 255,180,180,255
passiveColor = 0,0,0,255
- variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_GROUNDPROXIMITYALARM_ON"))
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_GEARALARM_ON_LANDING"))
}
TEXTURE_SHIFT
@@ -43,7 +43,7 @@
transform = TabloColorPlate
startUV = 0, 0
endUV = 0, 0.2
- variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_GROUNDPROXIMITYALARM_ON"))
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_GEARALARM_ON_LANDING"))
layers = _MainTex _Emissive
}
@@ -52,7 +52,16 @@
name = trigger
event = fc.SetPersistent("ALCOR_GEARALARM_ON_LANDING", 1)
exitEvent = fc.SetPersistent("ALCOR_GEARALARM_ON_LANDING", 0)
- variable = fc.Conditioned(fc.VerticalSpeed() < 1 and fc.AltitudeBottom() < 1000 and fc.GetGear() == 0)
+ variable = fc.Conditioned((fc.VerticalSpeed() < 1) and (fc.AltitudeBottom() < 1000) and (fc.GetGear() == 0) and (fc.GearCount() > (fc.GetLaunchClampCount() * 100)))
+ }
+
+ AUDIO_PLAYER
+ {
+ name = TooLowGearTone
+ sound = ASET/ASET_Props/Sounds/TooLowGear
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_GEARALARM_ON_LANDING"))
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LandingGear_Broken.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LandingGear_Broken.cfg
index 58f189bb..a332501d 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LandingGear_Broken.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LandingGear_Broken.cfg
@@ -46,6 +46,14 @@
variable = fc.Conditioned(fc.GearBrokenCount() > 0)
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = LandingGearBrokenTone
+ sound = ASET/ASET_Props/Sounds/beep_D_long_x1
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.GearBrokenCount() > 0)
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowAltitude.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowAltitude.cfg
index e47975ec..0b1412b3 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowAltitude.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowAltitude.cfg
@@ -25,7 +25,7 @@
activeColor = 255,190,150,255
passiveColor = 145,80,80,255
text = ALTITUDE
- variable = fc.Conditioned(0)
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_ALTITUDE_WARN_INPUT") > fc.AltitudeTerrain(false))
}
COLOR_SHIFT
@@ -34,7 +34,7 @@
transform = TabloColorPlate
activeColor = 255,180,180,255
passiveColor = 0,0,0,255
- variable = fc.Conditioned(0)
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_ALTITUDE_WARN_INPUT") > fc.AltitudeTerrain(false))
}
TEXTURE_SHIFT
@@ -43,9 +43,17 @@
transform = TabloColorPlate
startUV = 0, 0
endUV = 0, 0.2
- variable = fc.Conditioned(0)
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_ALTITUDE_WARN_INPUT") > fc.AltitudeTerrain(false))
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = LowAltTone
+ sound = ASET/ASET_Props/Sounds/LOWALT
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_ALTITUDE_WARN_INPUT") > fc.AltitudeTerrain(false))
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowFuel.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowFuel.cfg
index 588b9da3..9cf1a7c8 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowFuel.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowFuel.cfg
@@ -25,7 +25,7 @@
activeColor = 255,190,150,255
passiveColor = 145,80,80,255
text = LIQUID$$$FUEL
- variable = fc.Conditioned(fc.ResourceExists("LiquidFuel") > 0 and fc.ResourcePercent("LiquidFuel") < 0.1)
+ variable = fc.Conditioned(fc.PropellantStageThreshold(0,0.1))
}
COLOR_SHIFT
@@ -34,7 +34,7 @@
transform = TabloColorPlate
activeColor = 255,180,180,255
passiveColor = 0,0,0,255
- variable = fc.Conditioned(fc.ResourceExists("LiquidFuel") > 0 and fc.ResourcePercent("LiquidFuel") < 0.1)
+ variable = fc.Conditioned(fc.PropellantStageThreshold(0,0.1))
}
TEXTURE_SHIFT
@@ -43,9 +43,17 @@
transform = TabloColorPlate
startUV = 0, 0
endUV = 0, 0.2
- variable = fc.Conditioned(fc.ResourceExists("LiquidFuel") > 0 and fc.ResourcePercent("LiquidFuel") < 0.1)
+ variable = fc.Conditioned(fc.PropellantStageThreshold(0,0.1))
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = LowFuelTone
+ sound = ASET/ASET_Props/Sounds/apollospec
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.PropellantStageThreshold(0,0.1))
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowMonopropellant.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowMonopropellant.cfg
index 53709dbf..f9dc5917 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowMonopropellant.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowMonopropellant.cfg
@@ -46,6 +46,14 @@
variable = fc.Conditioned(fc.ResourceExists("MonoPropellant") > 0 and fc.ResourcePercent("MonoPropellant") < 0.1)
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = LowMonopropellantTone
+ sound = ASET/ASET_Props/Sounds/apollospec
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.ResourceExists("MonoPropellant") > 0 and fc.ResourcePercent("MonoPropellant") < 0.1)
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowOxidizer.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowOxidizer.cfg
index 38f1bb76..9952da02 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowOxidizer.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowOxidizer.cfg
@@ -25,7 +25,7 @@
activeColor = 255,190,150,255
passiveColor = 145,80,80,255
text = OXIDIZER
- variable = fc.Conditioned(fc.ResourceExists("Oxidizer") > 0 and fc.ResourcePercent("Oxidizer") < 0.1)
+ variable = fc.Conditioned(fc.ResourceStageThreshold("Oxidizer",0,0.1))
}
COLOR_SHIFT
@@ -34,7 +34,7 @@
transform = TabloColorPlate
activeColor = 255,180,180,255
passiveColor = 0,0,0,255
- variable = fc.Conditioned(fc.ResourceExists("Oxidizer") > 0 and fc.ResourcePercent("Oxidizer") < 0.1)
+ variable = fc.Conditioned(fc.ResourceStageThreshold("Oxidizer",0,0.1))
}
TEXTURE_SHIFT
@@ -43,9 +43,17 @@
transform = TabloColorPlate
startUV = 0, 0
endUV = 0, 0.2
- variable = fc.Conditioned(fc.ResourceExists("Oxidizer") > 0 and fc.ResourcePercent("Oxidizer") < 0.1)
+ variable = fc.Conditioned(fc.ResourceStageThreshold("Oxidizer",0,0.1))
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = LowOxidizerTone
+ sound = ASET/ASET_Props/Sounds/apollospec
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.ResourceStageThreshold("Oxidizer",0,0.1))
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowPower.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowPower.cfg
index 71b14332..e76af241 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowPower.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowPower.cfg
@@ -46,6 +46,14 @@
variable = fc.Conditioned(fc.PowerPercent() < 0.2)
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = LowPowerTone
+ sound = ASET/ASET_Props/Sounds/beep_C_short_x1
+ volume = 2.0
+ trigger = ON
+ variable = fc.Conditioned(fc.PowerPercent() < 0.2)
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowXenon.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowXenon.cfg
index 7ca8d652..c5bf7f9c 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowXenon.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_LowXenon.cfg
@@ -46,6 +46,14 @@
variable = fc.Conditioned(fc.ResourceExists("XenonGas") > 0 and fc.ResourcePercent("XenonGas") < 0.1)
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = LowXenonTone
+ sound = ASET/ASET_Props/Sounds/apollospec
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.ResourceExists("XenonGas") > 0 and fc.ResourcePercent("XenonGas") < 0.1)
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_PodHeat.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_PodHeat.cfg
index c9e97d64..76771fd3 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_PodHeat.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_PodHeat.cfg
@@ -54,6 +54,14 @@
exitEvent = fc.SetPersistent("ALCOR_PODTEMPERATUREALARM_ON", 0)
variable = fc.Conditioned(fc.PodTemperature(true) > 0.7 * fc.PodMaxTemperature(true))
}
+ AUDIO_PLAYER
+ {
+ name = PodHeatTone
+ sound = ASET/ASET_Props/Sounds/beep_F_short_x2
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.PodTemperature(true) > 0.7 * fc.PodMaxTemperature(true))
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_SolarArray_Broken.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_SolarArray_Broken.cfg
index 8badae7f..6a997bd7 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_SolarArray_Broken.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_SolarArray_Broken.cfg
@@ -46,6 +46,14 @@
variable = fc.Conditioned(fc.SolarPanelDamaged() > 0)
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = SolarPanelBrokenTone
+ sound = ASET/ASET_Props/Sounds/beep_D_long_x1
+ volume = 1.0
+ trigger = ON
+ variable = fc.Conditioned(fc.SolarPanelDamaged() > 0)
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_Stall.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_Stall.cfg
index 2a3e3166..8463d131 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_Stall.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_Stall.cfg
@@ -46,6 +46,14 @@
variable = fc.Conditioned(far.StallFraction() > 0.02 and fc.VesselFlying() > 0)
layers = _MainTex _Emissive
}
+ AUDIO_PLAYER
+ {
+ name = StallTone
+ sound = ASET/ASET_Props/Sounds/beep_G_short_x1
+ volume = 1.0
+ trigger = LOOP
+ variable = fc.Conditioned(far.StallFraction() > 0.02 and fc.VesselFlying() > 0)
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_Tumble.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_Tumble.cfg
index 37b7ecab..afee15bd 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_Tumble.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Alarm_Tumble.cfg
@@ -54,6 +54,14 @@
exitEvent = fc.SetPersistent("ALCOR_TUMBLEALARM_ON", 0)
variable = fc.Conditioned(fc.GetPersistentAsNumber("ASET_WARN_TUMBLE_ON") > 0 and fc.AltitudeBottom() < 15 and fc.HorizontalSpeed() > 5)
}
+ AUDIO_PLAYER
+ {
+ name = TumbleTone
+ sound = ASET/ASET_Props/Sounds/beep-04
+ volume = 1.0
+ trigger = LOOP
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("ALCOR_TUMBLEALARM_ON"))
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Fake_AlarmEPG.cfg b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Fake_AlarmEPG.cfg
index 548ff889..7eb02a55 100644
--- a/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Fake_AlarmEPG.cfg
+++ b/GameData/MOARdV/MAS_ASET/TabloIndicator/MAS_Tablo_Fake_AlarmEPG.cfg
@@ -36,6 +36,14 @@
passiveColor = 0,0,0,255
variable = fc.GetPersistentAsNumber("ALCOR_EPG_FAKE")
}
+ AUDIO_PLAYER
+ {
+ name = EPGTone
+ sound = ASET/ASET_Props/Sounds/AlarmBeep03
+ volume = 1.0
+ trigger = ON
+ variable = fc.GetPersistentAsNumber("ALCOR_EPG_FAKE")
+ }
}
}
diff --git a/GameData/MOARdV/MAS_ASET/Xpointer/MAS_X-pointer.cfg b/GameData/MOARdV/MAS_ASET/Xpointer/MAS_X-pointer.cfg
index 1c4bf909..ddec1a9c 100644
--- a/GameData/MOARdV/MAS_ASET/Xpointer/MAS_X-pointer.cfg
+++ b/GameData/MOARdV/MAS_ASET/Xpointer/MAS_X-pointer.cfg
@@ -15,14 +15,14 @@ PROP
name = XPtr Mode 0 Validation
event = fc.SetBits("MAS_Xpointer_Validation", 1)
exitEvent = fc.ClearBits("MAS_Xpointer_Validation", 1)
- variable = fc.GetPersistentAsNumber("MAS_Xpointer_Power") and (fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 0) and (fc.AltitudeBottom() <= 5000)
+ variable = fc.GetPersistentAsNumber("MAS_Xpointer_Power") and (fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == -1) and (fc.AltitudeBottom() <= 5000)
}
TRIGGER_EVENT
{
name = XPtr Mode 1-2 Validation
event = fc.SetBits("MAS_Xpointer_Validation", 2)
exitEvent = fc.ClearBits("MAS_Xpointer_Validation", 2)
- variable = fc.GetPersistentAsNumber("MAS_Xpointer_Power") and (fc.GetPersistentAsNumber("MAS_Xpointer_Mode") > 0) and (fc.TargetIsVessel() > 0)
+ variable = fc.GetPersistentAsNumber("MAS_Xpointer_Power") and (fc.GetPersistentAsNumber("MAS_Xpointer_Mode") >= 0) and (fc.TargetIsVessel() > 0)
}
TRIGGER_EVENT
{
@@ -38,7 +38,7 @@ PROP
name = Vertical Needle position
transform = XpointerVerticalNeedle
// LATERAL
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Enable") * fc.Select(fc.GetPersistentAsNumber("MAS_Xpointer_Scale"), 0.1, 1, 10)) * fc.Select(fc.GetPersistentAsNumber("MAS_Xpointer_Mode") - 1, fc.SurfaceLateralSpeed(), fc.TargetDistanceX(), fc.TargetVelocityX()))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Enable") * fc.Select(fc.GetPersistentAsNumber("MAS_Xpointer_Scale"), 0.1, 1, 10)) * fc.Select(fc.GetPersistentAsNumber("MAS_Xpointer_Mode"), fc.SurfaceLateralSpeed(), fc.TargetDistanceX(), fc.TargetVelocityX()))
startRotation = -11.8,0,0
endRotation = 11.8,0,0
range = -20, 20
@@ -50,7 +50,7 @@ PROP
name = Horizontal Needle position
transform = XpointerHorizontalNeedle
// FWD
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Enable") * fc.Select(fc.GetPersistentAsNumber("MAS_Xpointer_Scale"), 0.1, 1, 10)) * fc.Select(fc.GetPersistentAsNumber("MAS_Xpointer_Mode") - 1, fc.SurfaceForwardSpeed(), fc.TargetDistanceY(), fc.TargetVelocityY()))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Enable") * fc.Select(fc.GetPersistentAsNumber("MAS_Xpointer_Scale"), 0.1, 1, 10)) * fc.Select(fc.GetPersistentAsNumber("MAS_Xpointer_Mode"), fc.SurfaceForwardSpeed(), fc.TargetDistanceY(), fc.TargetVelocityY()))
startRotation = 11.8,0,0
endRotation = -11.8,0,0
range = -20, 20
@@ -146,7 +146,7 @@ PROP
transform = Xpointer_IND_FWD
passiveColor = 0,0,0,255
activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 0) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == -1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
TEXTURE_SHIFT
{
@@ -155,7 +155,7 @@ PROP
layers = _MainTex _Emissive
startUV = 0, 0
endUV = 0.09, 0
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 0) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == -1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
COLOR_SHIFT
{
@@ -163,7 +163,7 @@ PROP
transform = Xpointer_IND_LATVEL
passiveColor = 0,0,0,255
activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 0) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == -1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
TEXTURE_SHIFT
{
@@ -172,7 +172,7 @@ PROP
layers = _MainTex _Emissive
startUV = 0, 0
endUV = 0.09, 0
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 0) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == -1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
// REL. DISTANCE MODE (DIST X/DIST Y)
@@ -182,7 +182,7 @@ PROP
transform = Xpointer_IND_DISTX
passiveColor = 0,0,0,255
activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 0) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
TEXTURE_SHIFT
{
@@ -191,7 +191,7 @@ PROP
layers = _MainTex _Emissive
startUV = 0, 0
endUV = 0.09, 0
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 0) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
COLOR_SHIFT
{
@@ -199,7 +199,7 @@ PROP
transform = Xpointer_IND_DISTY
passiveColor = 0,0,0,255
activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 0) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
TEXTURE_SHIFT
{
@@ -208,7 +208,7 @@ PROP
layers = _MainTex _Emissive
startUV = 0, 0
endUV = 0.09, 0
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 0) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
// REL. VELOCITY MODE (VEL X/VEL Y)
@@ -218,7 +218,7 @@ PROP
transform = Xpointer_IND_VELX
passiveColor = 0,0,0,255
activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 2) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
TEXTURE_SHIFT
{
@@ -227,7 +227,7 @@ PROP
layers = _MainTex _Emissive
startUV = 0, 0
endUV = 0.09, 0
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 2) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
COLOR_SHIFT
{
@@ -235,7 +235,7 @@ PROP
transform = Xpointer_IND_VELY
passiveColor = 0,0,0,255
activeColor = COLOR_ASET_NASAGAUGEHAND_ACTIVECOLOR
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 2) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
TEXTURE_SHIFT
{
@@ -244,7 +244,7 @@ PROP
layers = _MainTex _Emissive
startUV = 0, 0
endUV = 0.09, 0
- variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 2) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
+ variable = fc.Conditioned((fc.GetPersistentAsNumber("MAS_Xpointer_Mode") == 1) and (fc.GetPersistentAsNumber("MAS_Xpointer_Power")))
}
}
}
diff --git a/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_6pos_KACModeSelA.cfg b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_6pos_KACModeSelA.cfg
new file mode 100644
index 00000000..55561ca5
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_6pos_KACModeSelA.cfg
@@ -0,0 +1,201 @@
+PROP
+{
+ name = MAS_swRotary_6pos_KACModeSelA
+
+ // Knob model
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_Model
+ texture = SwitchRotaryDiffuse,ASET/ASET_Props/Control/SwitchRotary/model/SwitchRotaryDiffuse
+ }
+
+ // Double collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_DoubleCollider_L-R
+ }
+
+ // Switcher position marks with text objects
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_6_Marks
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider -
+ collider = ColliderMinus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.Conditioned(fc.AddPersistentClamped("KAC_Mode_Sel_A", -1, 0, 5))
+ autoRepeat = 0.2
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider +
+ collider = ColliderPlus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.Conditioned(fc.AddPersistentClamped("KAC_Mode_Sel_A", 1, 0, 5))
+ autoRepeat = 0.2
+ }
+
+ ROTATION
+ {
+ name = Knob position
+ transform = swRotaryLoc
+ startRotation = 0,-100,0
+ endRotation = 0,100,0
+ longPath = true
+ range = 0, 5
+ blend = true
+ speed = 6.0
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("KAC_Mode_Sel_A"))
+ }
+
+ TEXT_LABEL
+ {
+ name = 1 Mark
+ transform = Pos_1_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = MiddleRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = FMS
+ }
+
+ TEXT_LABEL
+ {
+ name = 2 Mark
+ transform = Pos_2_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = SOI
+ }
+
+ TEXT_LABEL
+ {
+ name = 3 Mark
+ transform = Pos_3_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = TGT
+ }
+
+ TEXT_LABEL
+ {
+ name = 4 Mark
+ transform = Pos_4_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ALT
+ }
+
+ TEXT_LABEL
+ {
+ name = 5 Mark
+ transform = Pos_5_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = MNVR
+ }
+
+ TEXT_LABEL
+ {
+ name = 6 Mark
+ transform = Pos_6_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = MODE B
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = TopNameTextObj
+ fontSize = 5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ALARM MODE A
+ }
+
+ COLOR_SHIFT
+ {
+ name = Pointer Backlight
+ transform = swRotaryPointerObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ COLOR_SHIFT
+ {
+ name = Circle Mark and Rotary Circle Backlight
+ transform = swRotaryCircleMarkObj, swRotaryCircleObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_6pos_KACModeSelB.cfg b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_6pos_KACModeSelB.cfg
new file mode 100644
index 00000000..8dc33f1e
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_6pos_KACModeSelB.cfg
@@ -0,0 +1,201 @@
+PROP
+{
+ name = MAS_swRotary_6pos_KACModeSelB
+
+ // Knob model
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_Model
+ texture = SwitchRotaryDiffuse,ASET/ASET_Props/Control/SwitchRotary/model/SwitchRotaryDiffuse
+ }
+
+ // Double collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_DoubleCollider_L-R
+ }
+
+ // Switcher position marks with text objects
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_6_Marks
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider -
+ collider = ColliderMinus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.Conditioned(fc.AddPersistentClamped("KAC_Mode_Sel_B", -1, 0, 5))
+ autoRepeat = 0.2
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider +
+ collider = ColliderPlus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.Conditioned(fc.AddPersistentClamped("KAC_Mode_Sel_B", 1, 0, 5))
+ autoRepeat = 0.2
+ }
+
+ ROTATION
+ {
+ name = Knob position
+ transform = swRotaryLoc
+ startRotation = 0,-100,0
+ endRotation = 0,100,0
+ longPath = true
+ range = 0, 5
+ blend = true
+ speed = 6.0
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("KAC_Mode_Sel_B"))
+ }
+
+ TEXT_LABEL
+ {
+ name = 1 Mark
+ transform = Pos_1_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = MiddleRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = AP
+ }
+
+ TEXT_LABEL
+ {
+ name = 2 Mark
+ transform = Pos_2_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = PE
+ }
+
+ TEXT_LABEL
+ {
+ name = 3 Mark
+ transform = Pos_3_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = AN
+ }
+
+ TEXT_LABEL
+ {
+ name = 4 Mark
+ transform = Pos_4_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = DN
+ }
+
+ TEXT_LABEL
+ {
+ name = 5 Mark
+ transform = Pos_5_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = XFR
+ }
+
+ TEXT_LABEL
+ {
+ name = 6 Mark
+ transform = Pos_6_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = CREW
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = TopNameTextObj
+ fontSize = 5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ALARM MODE B
+ }
+
+ COLOR_SHIFT
+ {
+ name = Pointer Backlight
+ transform = swRotaryPointerObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ COLOR_SHIFT
+ {
+ name = Circle Mark and Rotary Circle Backlight
+ transform = swRotaryCircleMarkObj, swRotaryCircleObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_6pos_KACThresholdSel.cfg b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_6pos_KACThresholdSel.cfg
new file mode 100644
index 00000000..2213e027
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_6pos_KACThresholdSel.cfg
@@ -0,0 +1,201 @@
+PROP
+{
+ name = MAS_swRotary_6pos_KACThresholdSel
+
+ // Knob model
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_Model
+ texture = SwitchRotaryDiffuse,ASET/ASET_Props/Control/SwitchRotary/model/SwitchRotaryDiffuse
+ }
+
+ // Double collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_DoubleCollider_L-R
+ }
+
+ // Switcher position marks with text objects
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_6_Marks
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider -
+ collider = ColliderMinus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.Conditioned(fc.AddPersistentClamped("KAC_Threshold_Sel", -1, 1, 6))
+ autoRepeat = 0.2
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider +
+ collider = ColliderPlus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.Conditioned(fc.AddPersistentClamped("KAC_Threshold_Sel", 1, 1, 6))
+ autoRepeat = 0.2
+ }
+
+ ROTATION
+ {
+ name = Knob position
+ transform = swRotaryLoc
+ startRotation = 0,-100,0
+ endRotation = 0,100,0
+ longPath = true
+ range = 1, 6
+ blend = true
+ speed = 6.0
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("KAC_Threshold_Sel"))
+ }
+
+ TEXT_LABEL
+ {
+ name = 1 Mark
+ transform = Pos_1_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = MiddleRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = 5
+ }
+
+ TEXT_LABEL
+ {
+ name = 2 Mark
+ transform = Pos_2_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = 15
+ }
+
+ TEXT_LABEL
+ {
+ name = 3 Mark
+ transform = Pos_3_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = 30
+ }
+
+ TEXT_LABEL
+ {
+ name = 4 Mark
+ transform = Pos_4_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = 60
+ }
+
+ TEXT_LABEL
+ {
+ name = 5 Mark
+ transform = Pos_5_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = 120
+ }
+
+ TEXT_LABEL
+ {
+ name = 6 Mark
+ transform = Pos_6_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = 300
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = TopNameTextObj
+ fontSize = 5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ALARM THLD$$$(SEC)
+ }
+
+ COLOR_SHIFT
+ {
+ name = Pointer Backlight
+ transform = swRotaryPointerObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ COLOR_SHIFT
+ {
+ name = Circle Mark and Rotary Circle Backlight
+ transform = swRotaryCircleMarkObj, swRotaryCircleObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_AA_FD_HNAV.cfg b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_AA_FD_HNAV.cfg
new file mode 100644
index 00000000..48b6bfa5
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_AA_FD_HNAV.cfg
@@ -0,0 +1,148 @@
+PROP
+{
+ name = MAS_swRotary_AA_FD_HNAV_mode
+
+ // Knob model
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_Model
+ texture = SwitchRotaryDiffuse,ASET/ASET_Props/Control/SwitchRotary/model/SwitchRotaryDiffuse
+ }
+
+ // Double collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_DoubleCollider_L-R
+ }
+
+ // Switcher position marks with text objects
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_3_Marks
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider -
+ collider = ColliderMinus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = AAUpdateHNAV(fc.AddPersistentClamped("AA_FD_HNAV_mode", -1, 0, 2))
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider +
+ collider = ColliderPlus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = AAUpdateHNAV(fc.AddPersistentClamped("AA_FD_HNAV_mode", 1, 0, 2))
+ }
+
+ ROTATION
+ {
+ name = Knob position
+ transform = swRotaryLoc
+ startRotation = 0,-55,0
+ endRotation = 0,55,0
+ longPath = true
+ range = 0, 2
+ blend = true
+ speed = 6.0
+ variable = fc.GetPersistentAsNumber("AA_FD_HNAV_mode")
+ }
+
+ TEXT_LABEL
+ {
+ name = 1 Mark
+ transform = LeftTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = MAN
+ }
+
+ TEXT_LABEL
+ {
+ name = 2 Mark
+ transform = CenterTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = HDG
+ }
+
+ TEXT_LABEL
+ {
+ name = 3 Mark
+ transform = RightTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = WPT
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = TopNameTextObj
+ fontSize = 5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = HNAV MODE
+ }
+
+ COLOR_SHIFT
+ {
+ name = Pointer Backlight
+ transform = swRotaryPointerObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ COLOR_SHIFT
+ {
+ name = Circle Mark and Rotary Circle Backlight
+ transform = swRotaryCircleMarkObj, swRotaryCircleObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_AA_FD_ParamSelect.cfg b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_AA_FD_ParamSelect.cfg
new file mode 100644
index 00000000..66ae40fa
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_AA_FD_ParamSelect.cfg
@@ -0,0 +1,199 @@
+PROP
+{
+ name = MAS_swRotary_AA_FD_ParamSelect
+
+ // Knob model
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_Model
+ texture = SwitchRotaryDiffuse,ASET/ASET_Props/Control/SwitchRotary/model/SwitchRotaryDiffuse
+ }
+
+ // Double collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_DoubleCollider_L-R
+ }
+
+ // Switcher position marks with text objects
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_6_Marks
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider -
+ collider = ColliderMinus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.AddPersistentClamped("AA_FD_ParamSelect", -1, 0, 5)
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider +
+ collider = ColliderPlus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.AddPersistentClamped("AA_FD_ParamSelect", 1, 0, 5)
+ }
+
+ ROTATION
+ {
+ name = Knob position
+ transform = swRotaryLoc
+ startRotation = 0,-100,0
+ endRotation = 0,100,0
+ longPath = true
+ range = 0, 5
+ blend = true
+ speed = 6.0
+ variable = fc.GetPersistentAsNumber("AA_FD_ParamSelect")
+ }
+
+ TEXT_LABEL
+ {
+ name = 1 Mark
+ transform = Pos_1_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = MiddleRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = HDG
+ }
+
+ TEXT_LABEL
+ {
+ name = 2 Mark
+ transform = Pos_2_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = LAT
+ }
+
+ TEXT_LABEL
+ {
+ name = 3 Mark
+ transform = Pos_3_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = LON
+ }
+
+ TEXT_LABEL
+ {
+ name = 4 Mark
+ transform = Pos_4_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ALT
+ }
+
+ TEXT_LABEL
+ {
+ name = 5 Mark
+ transform = Pos_5_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = VS
+ }
+
+ TEXT_LABEL
+ {
+ name = 6 Mark
+ transform = Pos_6_TextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = MiddleLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = FPA
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = TopNameTextObj
+ fontSize = 5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = FD PARAM
+ }
+
+ COLOR_SHIFT
+ {
+ name = Pointer Backlight
+ transform = swRotaryPointerObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ COLOR_SHIFT
+ {
+ name = Circle Mark and Rotary Circle Backlight
+ transform = swRotaryCircleMarkObj, swRotaryCircleObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_AA_FD_VNAV.cfg b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_AA_FD_VNAV.cfg
new file mode 100644
index 00000000..51b65ea5
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_AA_FD_VNAV.cfg
@@ -0,0 +1,148 @@
+PROP
+{
+ name = MAS_swRotary_AA_FD_VNAV_mode
+
+ // Knob model
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_Model
+ texture = SwitchRotaryDiffuse,ASET/ASET_Props/Control/SwitchRotary/model/SwitchRotaryDiffuse
+ }
+
+ // Double collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_DoubleCollider_L-R
+ }
+
+ // Switcher position marks with text objects
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_3_Marks
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider -
+ collider = ColliderMinus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = AAUpdateVNAV(fc.AddPersistentClamped("AA_FD_VNAV_mode", -1, 0, 2))
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider +
+ collider = ColliderPlus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = AAUpdateVNAV(fc.AddPersistentClamped("AA_FD_VNAV_mode", 1, 0, 2))
+ }
+
+ ROTATION
+ {
+ name = Knob position
+ transform = swRotaryLoc
+ startRotation = 0,-55,0
+ endRotation = 0,55,0
+ longPath = true
+ range = 0, 2
+ blend = true
+ speed = 6.0
+ variable = fc.GetPersistentAsNumber("AA_FD_VNAV_mode")
+ }
+
+ TEXT_LABEL
+ {
+ name = 1 Mark
+ transform = LeftTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ALT
+ }
+
+ TEXT_LABEL
+ {
+ name = 2 Mark
+ transform = CenterTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = VS
+ }
+
+ TEXT_LABEL
+ {
+ name = 3 Mark
+ transform = RightTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = FPA
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = TopNameTextObj
+ fontSize = 5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = VNAV MODE
+ }
+
+ COLOR_SHIFT
+ {
+ name = Pointer Backlight
+ transform = swRotaryPointerObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ COLOR_SHIFT
+ {
+ name = Circle Mark and Rotary Circle Backlight
+ transform = swRotaryCircleMarkObj, swRotaryCircleObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_STS_FMS_EditMode.cfg b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_STS_FMS_EditMode.cfg
new file mode 100644
index 00000000..40960dee
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_STS_FMS_EditMode.cfg
@@ -0,0 +1,182 @@
+PROP
+{
+ name = MAS_swRotary_STS_FMS_EditMode
+
+ // Knob model
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_Model
+ texture = SwitchRotaryDiffuse,ASET/ASET_Props/Control/SwitchRotary/model/SwitchRotaryDiffuse
+ }
+
+ // Double collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_DoubleCollider_L-R
+ }
+
+ // Switcher position marks with text objects
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_5_Marks
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider -
+ collider = ColliderMinus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.AddPersistentClamped("STS_FMS_EditMode", -1, -1, 3)
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider +
+ collider = ColliderPlus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.AddPersistentClamped("STS_FMS_EditMode", 1, -1, 3)
+ }
+
+ ROTATION
+ {
+ name = Knob position
+ transform = swRotaryLoc
+ startRotation = 0,-80,0
+ endRotation = 0,80,0
+ longPath = true
+ range = -1, 3
+ blend = true
+ speed = 6.0
+ variable = fc.GetPersistentAsNumber("STS_FMS_EditMode")
+ }
+
+ TEXT_LABEL
+ {
+ name = 1 Mark
+ transform = LeftTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = ORB
+ }
+
+ TEXT_LABEL
+ {
+ name = 2 Mark
+ transform = CenterLeftTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = TIME
+ }
+
+ TEXT_LABEL
+ {
+ name = 3 Mark
+ transform = CenterTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = PRO
+ }
+
+ TEXT_LABEL
+ {
+ name = 4 Mark
+ transform = CenterRightTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = NORM
+ }
+
+ TEXT_LABEL
+ {
+ name = 5 Mark
+ transform = RightTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = RAD
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = TopNameTextObj
+ fontSize = 5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = FMS MODE
+ }
+
+ COLOR_SHIFT
+ {
+ name = Pointer Backlight
+ transform = swRotaryPointerObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ COLOR_SHIFT
+ {
+ name = Circle Mark and Rotary Circle Backlight
+ transform = swRotaryCircleMarkObj, swRotaryCircleObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_STS_FMS_Scale.cfg b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_STS_FMS_Scale.cfg
new file mode 100644
index 00000000..b67e7c55
--- /dev/null
+++ b/GameData/MOARdV/MAS_ASET/swRotary/MAS_swRotary_STS_FMS_Scale.cfg
@@ -0,0 +1,182 @@
+PROP
+{
+ name = MAS_swRotary_STS_FMSCompBuffer_Scale
+
+ // Knob model
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_Model
+ texture = SwitchRotaryDiffuse,ASET/ASET_Props/Control/SwitchRotary/model/SwitchRotaryDiffuse
+ }
+
+ // Double collider
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_DoubleCollider_L-R
+ }
+
+ // Switcher position marks with text objects
+ MODEL
+ {
+ model = ASET/ASET_Props/Control/SwitchRotary/model/Switch_Rotary_5_Marks
+ }
+
+ MODULE
+ {
+ name = MASComponent
+
+ COLLIDER_EVENT
+ {
+ name = Collider -
+ collider = ColliderMinus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.AddPersistentClamped("STS_FMSCompBuffer_Scale", -1, -1, 3)
+ }
+
+ COLLIDER_EVENT
+ {
+ name = Collider +
+ collider = ColliderPlus
+ sound = ASET/ASET_Props/Sounds/click-027
+ volume = 1
+ onClick = fc.AddPersistentClamped("STS_FMSCompBuffer_Scale", 1, -1, 3)
+ }
+
+ ROTATION
+ {
+ name = Knob position
+ transform = swRotaryLoc
+ startRotation = 0,-80,0
+ endRotation = 0,80,0
+ longPath = true
+ range = -1, 3
+ blend = true
+ speed = 6.0
+ variable = fc.GetPersistentAsNumber("STS_FMSCompBuffer_Scale")
+ }
+
+ TEXT_LABEL
+ {
+ name = 1 Mark
+ transform = LeftTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = TEST
+ }
+
+ TEXT_LABEL
+ {
+ name = 2 Mark
+ transform = CenterLeftTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Right
+ anchor = LowerRight
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = M
+ }
+
+ TEXT_LABEL
+ {
+ name = 3 Mark
+ transform = CenterTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = KM
+ }
+
+ TEXT_LABEL
+ {
+ name = 4 Mark
+ transform = CenterRightTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = MM
+ }
+
+ TEXT_LABEL
+ {
+ name = 5 Mark
+ transform = RightTextObj
+ fontSize = 4
+ font = Liberation Sans
+ style = Bold
+ alignment = Left
+ anchor = LowerLeft
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = GM
+ }
+
+ TEXT_LABEL
+ {
+ name = Caption
+ transform = TopNameTextObj
+ fontSize = 5
+ font = Liberation Sans
+ style = Bold
+ alignment = Center
+ anchor = LowerCenter
+ emissive = active
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
+ passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
+ text = FMS SCALE
+ }
+
+ COLOR_SHIFT
+ {
+ name = Pointer Backlight
+ transform = swRotaryPointerObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_MARK_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ COLOR_SHIFT
+ {
+ name = Circle Mark and Rotary Circle Backlight
+ transform = swRotaryCircleMarkObj, swRotaryCircleObj
+ passiveColor = 0,0,0,255
+ activeColor = COLOR_ASET_SWITCHER_BORDER_POSITIVECOLOR
+ variable = fc.Conditioned(fc.GetPersistentAsNumber("Backlight"))
+ blend = true
+ }
+
+ }
+}
diff --git a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_FDAI1_ErrorScale.cfg b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_FDAI1_ErrorScale.cfg
index 215f7e25..57818461 100644
--- a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_FDAI1_ErrorScale.cfg
+++ b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_FDAI1_ErrorScale.cfg
@@ -32,6 +32,7 @@
sound = ASET/ASET_Props/Sounds/click-027
volume = 1
onClick = fc.AddPersistentClamped("MAS_FDAI1_Error", -1, 0, 2)
+ onRelease = fdaiInitialize(1)
}
COLLIDER_EVENT
@@ -41,6 +42,7 @@
sound = ASET/ASET_Props/Sounds/click-027
volume = 1
onClick = fc.AddPersistentClamped("MAS_FDAI1_Error", 1, 0, 2)
+ onRelease = fdaiInitialize(1)
}
ROTATION
diff --git a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_FDAI2_ErrorScale.cfg b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_FDAI2_ErrorScale.cfg
index 52c707e8..67c241ce 100644
--- a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_FDAI2_ErrorScale.cfg
+++ b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_FDAI2_ErrorScale.cfg
@@ -32,6 +32,7 @@
sound = ASET/ASET_Props/Sounds/click-027
volume = 1
onClick = fc.AddPersistentClamped("MAS_FDAI2_Error", -1, 0, 2)
+ onRelease = fdaiInitialize(2)
}
COLLIDER_EVENT
@@ -41,6 +42,7 @@
sound = ASET/ASET_Props/Sounds/click-027
volume = 1
onClick = fc.AddPersistentClamped("MAS_FDAI2_Error", 1, 0, 2)
+ onRelease = fdaiInitialize(2)
}
ROTATION
diff --git a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_XPtrScale.cfg b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_XPtrScale.cfg
index ff0dc9a1..be9948cd 100644
--- a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_XPtrScale.cfg
+++ b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_3pos_XPtrScale.cfg
@@ -31,7 +31,7 @@
collider = ColliderMinus
sound = ASET/ASET_Props/Sounds/click-027
volume = 1
- onClick = fc.AddPersistentClamped("MAS_Xpointer_Scale", -1, -1, 1)
+ onClick = fc.AddPersistentClamped("MAS_Xpointer_Scale", 1, -1, 1)
}
COLLIDER_EVENT
@@ -40,7 +40,7 @@
collider = ColliderPlus
sound = ASET/ASET_Props/Sounds/click-027
volume = 1
- onClick = fc.AddPersistentClamped("MAS_Xpointer_Scale", 1, -1, 1)
+ onClick = fc.AddPersistentClamped("MAS_Xpointer_Scale", -1, -1, 1)
}
ROTATION
diff --git a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_4pos_IMPMode.cfg b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_4pos_IMPMode.cfg
index 07255da0..1954bf91 100644
--- a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_4pos_IMPMode.cfg
+++ b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_4pos_IMPMode.cfg
@@ -87,7 +87,7 @@
blend = true
activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
- text = VSSL
+ text = TGT
}
TEXT_LABEL
@@ -104,7 +104,7 @@
blend = true
activeColor = COLOR_ASET_SWITCHER_NAME_POSITIVECOLOR
passiveColor = COLOR_ASET_SWITCHER_NAME_ZEROCOLOR
- text = TGT
+ text = VSSL
}
TEXT_LABEL
diff --git a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_4pos_XPtrMode.cfg b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_4pos_XPtrMode.cfg
index e03776ac..562e9b43 100644
--- a/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_4pos_XPtrMode.cfg
+++ b/GameData/MOARdV/MAS_ASET/switchRotary/MAS_swRotary_4pos_XPtrMode.cfg
@@ -53,7 +53,7 @@
range = 0, 3
blend = true
speed = 6.0
- variable = fc.GetPersistentAsNumber("MAS_Xpointer_Power") * (fc.GetPersistentAsNumber("MAS_Xpointer_Mode") + 1))
+ variable = fc.GetPersistentAsNumber("MAS_Xpointer_Power") * (fc.GetPersistentAsNumber("MAS_Xpointer_Mode") + 2))
}
TEXT_LABEL
diff --git a/GameData/MOARdV/Patches/001_ASET-To-MAS.nocfg b/GameData/MOARdV/Patches/001_ASET-To-MAS.nocfg
index b0913dbd..916b6db3 100644
--- a/GameData/MOARdV/Patches/001_ASET-To-MAS.nocfg
+++ b/GameData/MOARdV/Patches/001_ASET-To-MAS.nocfg
@@ -890,6 +890,72 @@
{
@name=MAS_pb_GIMBAL_LOCK-FD1-B2
}
+ @PROP[pb_CHATTERER_PTT-F03-G1],*
+ {
+ @name=MAS_pb_Chatterer
+ }
+ @PROP[pb_sas_STAB-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_StabilityAssist
+ // @name=MAS_pb_SAS_StabilityAssist_2
+ }
+ @PROP[pb_sas_MANEUVER-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_ManeuverNode
+ // @name=MAS_pb_SAS_ManeuverNode_2
+ }
+ @PROP[pb_sas_PROGRADE-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_Prograde
+ // @name=MAS_pb_SAS_Prograde_2
+ }
+ @PROP[pb_sas_RETROGRADE-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_Retrograde
+ // @name=MAS_pb_SAS_Retrograde_2
+ }
+
+ @PROP[pb_sas_NORMAL-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_Normal
+ // @name=MAS_pb_SAS_Normal_2
+ }
+ @PROP[pb_sas_ANTINORMAL-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_AntiNormal
+ // @name=MAS_pb_SAS_AntiNormal_2
+ }
+ @PROP[pb_sas_RADIALIN-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_RadialIn
+ // @name=MAS_pb_SAS_RadialIn_2
+ }
+ @PROP[pb_sas_RADIALOUT-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_RadialOut
+ // @name=MAS_pb_SAS_RadialOut_2
+ }
+ @PROP[pb_sas_TARGET-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_Target
+ // @name=MAS_pb_SAS_Target_2
+ }
+ @PROP[pb_sas_ANTITARGET-FD2-G1],*
+ {
+ @name=MAS_pb_SAS_AntiTarget
+ // @name=MAS_pb_SAS_AntiTarget_2
+ }
+
+ @PROP[pb_CLEAR_MNVR_NODE-F01-B1-G1],*
+ {
+ @name=MAS_pb_ClearNode
+ // @name=MAS_pb_rb_ClearNode
+ }
+ @PROP[pb_CLEAR_TARGET-F01-B1-G1],*
+ {
+ @name=MAS_pb_ClearTarget
+ // @name=MAS_pb_rb_ClearTarget
+ }
// Props/Control/StageSwitch
@PROP[StageSwitch],*
@@ -1104,6 +1170,74 @@
{
@name=MAS_tggl_AG10_T4W-S
}
+ @PROP[tggl_GAUGE_RES_MON_T1-S],*
+ {
+ @name=MAS_Switch_v1_ResourceMonitorMode
+ }
+ @PROP[tggl_SOLAR_DEPLOY_T3-G4-B1-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_tggl_SolarPanel_T1_G1_S
+ }
+ @PROP[tggl_FUEL_CELL_T3-G4-B1-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_tggl_FuelCell_T1_G1_S
+ }
+ @PROP[tggl_TWR_MON_T1-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_Switch_v1_TWRIndicatorMode
+ }
+ @PROP[tggl_ARRT_ON_T1-G1-B0-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_Switch_v1_ARRT_Power
+ }
+ @PROP[tggl_ARRT_MODE_T1-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_Switch_v1_ARRT_Mode
+ }
+ @PROP[tggl_SAS_T2-G2-B2-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_Switch_v1_SAS
+ }
+ @PROP[tggl_PREC_CTRL_T1-G1-B2-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_Switch_v1_PrecisionCtrl
+ }
+ @PROP[tggl_RCS_T1-G1-B3-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_Switch_v1_RCS
+ }
+ @PROP[tggl_GIMBAL_LOCK_T3-G4-B1-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_Switch_v1_GimbalLock
+ }
+ @PROP[tggl_ENGINE_ENABLE_T2_G3-B3-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_tggl_EngineEnable_T1_G1_C1_S
+ }
+ @PROP[tggl_GEAR_T2-G2-B3-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_Switch_v1_Gear
+ }
+ @PROP[tggl_AVAS-T1-G1-B1-S],*
+ {
+ // direct equivalent not modelled
+ @name=MAS_Switch_v1_AVAS_Power
+ }
+ @PROP[tggl_GPWS-T1-G1-B1-S],*
+ {
+ @name=MAS_Switch_v1_GPWS_Power
+ }
// Props/Control/Switch_Tumble
@PROP[switchTumbleAG01],*
@@ -1495,6 +1629,12 @@
@name=MAS_ASET_ClockTimer
}
+ // Props/Instruments/ASET_CRT_Display
+ @PROP[ASET_CRT_Display],*
+ {
+ @name=MAS_ASET_CRT_Display
+ }
+
// Props/Instruments/ASET_DSKY
@PROP[ASET_DSKY],*
{
@@ -1755,6 +1895,16 @@
@name=MAS_DigitalIndicator_12char_OrbitNumInput
}
+ // Props/Instruments/FlagIndicator
+ @PROP[FI_ARRT-ERROR],*
+ {
+ @name=MAS_FI_ARRTError
+ }
+ @PROP[FI_X-Pointer01-ERROR],*
+ {
+ @name=MAS_FI_XPtrError
+ }
+
// Props/Instruments/FuelMonitor
@PROP[FuelMonitor],*
{
@@ -1918,6 +2068,42 @@
@name=MAS_IP5x3_Blank
}
+ // Props/Instruments/NASA_Elec_Output
+ @PROP[NASA_Elec_Output],*
+ {
+ @name=MAS_NASA_Elec_Output
+ }
+
+ // Props/Instruments/NASA_G_Units_Indicator
+ @PROP[NASA_CommNetSignalIndicator],*
+ {
+ @name=MAS_NASA_CommNetSignalIndicator
+ }
+ @PROP[NASA_G_Units_Indicator],*
+ {
+ @name=MAS_NASA_G_Units_Indicator
+ }
+
+ // Props/Instruments/NASA_Gauge_Temperature
+ @PROP[NASA_GaugeSngl_CHARGE],*
+ {
+ @name=MAS_NASA_Gauge_Power
+ }
+ @PROP[NASA_GaugeSngl_MONO],*
+ {
+ @name=MAS_NASA_Gauge_Monopropellant
+ }
+ @PROP[NASA_GaugeSngl_ABLATIVE],*
+ {
+ @name=MAS_NASA_Gauge_Ablator
+ }
+
+ // Props/Instruments/NASA_GaugeDblPerc
+ @PROP[NASA_Gauge_ENGINE],*
+ {
+ @name=MAS_NASA_GaugeDbl_Throttle
+ }
+
// Props/Instruments/PhaseAngleIndicator
@PROP[ASET_PhaseAngleIndicator],*
{
@@ -1939,6 +2125,16 @@
{
@name=MAS_GPS_Nav_LCD_Display
}
+ @PROP[RetroAltitudeDisplay],*
+ {
+ @name=MAS_RetroAltitudeDisplay
+ }
+
+ // Props/Instruments/RNDZ_RadarSignal Indicator
+ @PROP[NASA_ChargeRateIndicator],*
+ {
+ @name=MAS_NASA_ChargeRateIndicator
+ }
// Props/Instruments/STS_EventTimer_Indicator
@PROP[STS_EventTimer_Indicator],*
@@ -2404,6 +2600,18 @@
@name=MAS_ALCOR_MFD40x20
}
+ // Props/MFDs/ALCORMFD60x30
+ @PROP[ALCORMFD60x30],*
+ {
+ @name=MAS_ALCOR_MFD60x30
+ }
+
+ // Props/MFDs/kOSTerminal
+ @PROP[kOSTerminal],*
+ {
+ @name=MAS_kOSTerminal
+ }
+
// --- Props/Misc ---
// Props/Misc/ALCORinternalHatch
diff --git a/GameData/MOARdV/Patches/DockingPortPatches.cfg b/GameData/MOARdV/Patches/DockingPortPatches.cfg
new file mode 100644
index 00000000..7cdbdd8f
--- /dev/null
+++ b/GameData/MOARdV/Patches/DockingPortPatches.cfg
@@ -0,0 +1,227 @@
+@PART[dockingPortLarge]:NEEDS[AvionicsSystems]:HAS[!MODULE[MASCamera]]
+{
+ MODULE
+ {
+ name = MASRadar
+
+ // 250km Radar
+ maxRange = 250
+
+ // 0.6 ec/sec
+ resourceAmount = 0.6
+
+ // Refine targets to available docking ports
+ targetDockingPorts = true
+ }
+
+ MODULE
+ {
+ name = MASCamera
+
+ cameraName = DockCam
+
+ fovRange = 10, 10
+
+ panRange = 0, 0
+
+ tiltRange = 0, 0
+
+ cameraTransformName = dockingNode
+ }
+}
+
+@PART[docking-linear-1|docking-linear-2|truss-circular-docking-01|truss-octo-docking-125|truss-octo-docking-25|truss-octo-docking-octo|truss-spinal-docking-01]:NEEDS[AvionicsSystems,NearFutureConstruction]:HAS[!MODULE[MASCamera]]
+{
+ MODULE
+ {
+ name = MASRadar
+
+ // 250km Radar
+ maxRange = 250
+
+ // 0.6 ec/sec
+ resourceAmount = 0.6
+
+ // Refine targets to available docking ports
+ targetDockingPorts = true
+ }
+
+ MODULE
+ {
+ name = MASCamera
+
+ cameraName = DockCam
+
+ fovRange = 10, 10
+
+ panRange = 0, 0
+
+ tiltRange = 0, 0
+
+ cameraTransformName = dockingNode
+ }
+}
+
+@PART[docking-5-1|nflv-docking-5-1]:NEEDS[AvionicsSystems,NearFutureLaunchVehicles]:HAS[!MODULE[MASCamera]]
+{
+ MODULE
+ {
+ name = MASRadar
+
+ // 250km Radar
+ maxRange = 250
+
+ // 0.6 ec/sec
+ resourceAmount = 0.6
+
+ // Refine targets to available docking ports
+ targetDockingPorts = true
+ }
+
+ MODULE
+ {
+ name = MASCamera
+
+ cameraName = DockCam
+
+ fovRange = 10, 10
+
+ panRange = 0, 0
+
+ tiltRange = 0, 0
+
+ cameraTransformName = dockingNode
+ }
+}
+
+@PART[docking-nose-0625-1]:NEEDS[AvionicsSystems,NearFutureSpacecraft]:HAS[!MODULE[MASCamera]]
+{
+ MODULE
+ {
+ name = MASRadar
+
+ // 250km Radar
+ maxRange = 250
+
+ // 0.6 ec/sec
+ resourceAmount = 0.6
+
+ // Refine targets to available docking ports
+ targetDockingPorts = true
+ }
+
+ MODULE
+ {
+ name = MASCamera
+
+ cameraName = DockCam
+
+ fovRange = 10, 10
+
+ panRange = 0, 0
+
+ tiltRange = 0, 0
+
+ cameraTransformName = dockingNode
+ }
+}
+
+@PART[restock-airlock-1|restock-docking-375-1]:NEEDS[AvionicsSystems,ReStockPlus]:HAS[!MODULE[MASCamera]]
+{
+ MODULE
+ {
+ name = MASRadar
+
+ // 250km Radar
+ maxRange = 250
+
+ // 0.6 ec/sec
+ resourceAmount = 0.6
+
+ // Refine targets to available docking ports
+ targetDockingPorts = true
+ }
+
+ MODULE
+ {
+ name = MASCamera
+
+ cameraName = DockCam
+
+ fovRange = 10, 10
+
+ panRange = 0, 0
+
+ tiltRange = 0, 0
+
+ cameraTransformName = dockingNode
+ }
+}
+
+@PART[mk2DockingPort|InflatableAirlock]:NEEDS[AvionicsSystems]:HAS[!MODULE[MASCamera]]
+{
+ MODULE
+ {
+ name = MASCamera
+
+ cameraName = DockCam
+
+ fovRange = 10, 10
+
+ panRange = 0, 0
+
+ tiltRange = 0, 0
+
+ cameraTransformName = dockingNode
+ }
+}
+
+@PART[sspx-docking-125-1|sspx-airlock-25-1]:NEEDS[AvionicsSystems,StationPartsExpansionRedux]:HAS[!MODULE[MASCamera]]
+{
+ MODULE
+ {
+ name = MASCamera
+
+ cameraName = DockCam
+
+ fovRange = 10, 10
+
+ panRange = 0, 0
+
+ tiltRange = 0, 0
+
+ cameraTransformName = dockingNode
+ }
+}
+
+@PART[ConstructionPort0|ConstructionPort1|ConstructionPort2]:NEEDS[AvionicsSystems,UmbraSpaceIndustries/Konstruction]:HAS[!MODULE[MASCamera]]
+{
+ MODULE
+ {
+ name = MASRadar
+
+ // 250km Radar
+ maxRange = 250
+
+ // 0.6 ec/sec
+ resourceAmount = 0.6
+
+ // Refine targets to available docking ports
+ targetDockingPorts = true
+ }
+
+ MODULE
+ {
+ name = MASCamera
+
+ cameraName = DockCam
+
+ fovRange = 10, 10
+
+ panRange = 0, 0
+
+ tiltRange = 0, 0
+
+ cameraTransformName = dockingNode
+ }
+}
\ No newline at end of file
diff --git a/Source/ApproachSolverBW.cs b/Source/ApproachSolverBW.cs
index 01aa5e73..58b40057 100644
--- a/Source/ApproachSolverBW.cs
+++ b/Source/ApproachSolverBW.cs
@@ -359,12 +359,15 @@ internal void SolveOrbitIntercept(Orbit vesselOrbit, Orbit targetOrbit)
while (target1 != target2)
{
+
FindClosest(vessel, target1, Math.Max(now, target1.StartUT), target1.EndUT, 0, ref closestDistance, ref closestUT);
+
target1 = target1.nextPatch;
}
FindClosest(vessel, target1, now, then, 0, ref closestDistance, ref closestUT);
+
vessel = vessel.nextPatch;
}
@@ -392,11 +395,14 @@ internal void SolveOrbitIntercept(Orbit vesselOrbit, Orbit targetOrbit)
while (target1 != target2)
{
+
FindClosest(vessel, target1, Math.Max(now, target1.StartUT), target1.EndUT, 0, ref closestDistance, ref closestUT);
+
target1 = target1.nextPatch;
}
FindClosest(vessel, target1, now, then, 0, ref closestDistance, ref closestUT);
+
now = then;
then += vessel.period;
}
diff --git a/Source/MASComponentAudioPlayer.cs b/Source/MASComponentAudioPlayer.cs
index 55e5b4b8..c211a5bf 100644
--- a/Source/MASComponentAudioPlayer.cs
+++ b/Source/MASComponentAudioPlayer.cs
@@ -153,7 +153,7 @@ internal MASComponentAudioPlayer(ConfigNode config, InternalProp prop, MASFlight
}
variableName = variableName.Trim();
- audioSource.mute = (CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.IVA);
+ audioSource.mute = ((CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.IVA) && (CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.Internal));
GameEvents.OnCameraChange.Add(OnCameraChange);
@@ -182,7 +182,14 @@ internal MASComponentAudioPlayer(ConfigNode config, InternalProp prop, MASFlight
///
private void OnCameraChange(CameraManager.CameraMode newCameraMode)
{
- audioSource.mute = (newCameraMode != CameraManager.CameraMode.IVA);
+ try
+ {
+ audioSource.mute = ((CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.IVA) && (CameraManager.Instance.currentCameraMode != CameraManager.CameraMode.Internal));
+ }
+ catch (Exception e)
+ {
+ throw new ArgumentException("Error in AudioPlayer OnCameraChange: \"" + e.Source + e.TargetSite + e.Data + e.StackTrace + CameraManager.Instance.currentCameraMode + "\"", e);
+ }
}
///
diff --git a/Source/MASFlightComputer.cs b/Source/MASFlightComputer.cs
index 01f887ef..eda5bf0c 100644
--- a/Source/MASFlightComputer.cs
+++ b/Source/MASFlightComputer.cs
@@ -1828,6 +1828,10 @@ internal bool PlayAudio(string clipName, float volume, bool stopCurrent)
///
internal Kerbal FindCurrentKerbal()
{
+ if (vessel.GetCrewCount() == 0)
+ {
+ return null;
+ }
Kerbal activeKerbal = CameraManager.Instance.IVACameraActiveKerbal;
if (activeKerbal.InPart == part)
{
diff --git a/Source/MASFlightComputerProxy.cs b/Source/MASFlightComputerProxy.cs
index 0d752431..0c8f830c 100644
--- a/Source/MASFlightComputerProxy.cs
+++ b/Source/MASFlightComputerProxy.cs
@@ -245,9 +245,15 @@ private void UpdateNeighboringVessels()
if (arrayLength > 1)
{
distanceComparer.vesselPosition = vessel.GetTransform().position;
- Array.Sort(neighboringVessels, distanceComparer);
+ try
+ {
+ Array.Sort(neighboringVessels, distanceComparer);
+ }
+ catch (Exception e)
+ {
+ throw new ArgumentException("Error in UpdateNeighboringVessels due to distanceComparer: \"" + e.Source + e.TargetSite + e.Data + e.StackTrace + neighboringVessels + "\"", e);
+ }
}
-
neighboringVesselsCurrent = true;
}
}
@@ -3920,6 +3926,55 @@ public double SetDockToReference()
}
}
+ ///
+ /// Set the next docking port to be the reference transform.
+ ///
+ /// 1 if the reference was changed, 0 otherwise.
+ public double SetNextDockToReference()
+ {
+ /*if (vc.dockingNode != null)
+ {
+ vessel.SetReferenceTransform(vc.dockingNode.part);
+ return 1.0;
+ }
+ else
+ {
+ return 0.0;
+ }*/
+
+ if (vc.ownDockingPorts.Length == 0)
+ {
+ return 0.0;
+ }
+ else if (fc.part == vessel.GetReferenceTransformPart())
+ {
+ vessel.SetReferenceTransform(vc.ownDockingPorts[0].part);
+ return 1.0;
+ }
+ else if (vc.referenceTransformType == MASVesselComputer.ReferenceType.DockingPort)
+ {
+ if (vc.ownDockingPorts.Length == 1)
+ {
+ // We're already referencing the only docking port.
+ return 1.0;
+ }
+
+ ModuleDockingNode activeOwnNode = vc.dockingNode as ModuleDockingNode;
+ int currentOwnIndex = Array.FindIndex(vc.ownDockingPorts, x => x == activeOwnNode);
+ if (currentOwnIndex == -1)
+ {
+ vessel.SetReferenceTransform(vc.ownDockingPorts[0].part);
+ }
+ else
+ {
+ vessel.SetReferenceTransform(vc.ownDockingPorts[(currentOwnIndex + 1) % vc.ownDockingPorts.Length].part);
+ }
+ return 1.0;
+ }
+
+ return 0.0;
+ }
+
///
/// Set the primary grapple to be the reference transform.
///
diff --git a/Source/MASFlightComputerProxy2.cs b/Source/MASFlightComputerProxy2.cs
index b6ffdd9f..55611cef 100644
--- a/Source/MASFlightComputerProxy2.cs
+++ b/Source/MASFlightComputerProxy2.cs
@@ -272,6 +272,26 @@ public double ClearManeuverNode()
return 0.0;
}
+ ///
+ /// Clear first scheduled maneuver node.
+ ///
+ /// 1 if any nodes were cleared, 0 if no nodes were cleared.
+ public double ClearOneManeuverNode()
+ {
+ if (vessel.patchedConicSolver != null)
+ {
+ int nodeCount = vessel.patchedConicSolver.maneuverNodes.Count;
+ if (nodeCount > 0)
+ {
+ vessel.patchedConicSolver.maneuverNodes[0].RemoveSelf();
+ }
+
+ return (nodeCount > 0) ? 1.0 : 0.0;
+ }
+
+ return 0.0;
+ }
+
///
/// Returns the apoapsis of the orbit that results from the scheduled maneuver.
///
@@ -955,6 +975,8 @@ public double SafeModulo(double numerator, double denominator)
}
}
+
+
#endregion
///
diff --git a/Source/MASIKAC.cs b/Source/MASIKAC.cs
index cf5037e6..115aa547 100644
--- a/Source/MASIKAC.cs
+++ b/Source/MASIKAC.cs
@@ -186,6 +186,42 @@ public string CreateAlarm(string name, double UT)
return string.Empty;
}
+ ///
+ /// Create an alarm of specified at the time specified by `UT`, using the name `name`. This alarm is
+ /// assigned to the current vessel ID.
+ ///
+ /// The type of alarm to create."
+ /// The short name to apply to the alarm.
+ /// The UT when the alarm should fire.
+ /// The alarm ID (a string), or an empty string if the method failed.
+ public string CreateTypeAlarm(string alarmTypeStr, string name, double UT)
+ {
+ if (KACWrapper.InstanceExists)
+ {
+ KACWrapper.KACAPI.AlarmTypeEnum alarmType = (KACWrapper.KACAPI.AlarmTypeEnum)Enum.Parse(typeof(KACWrapper.KACAPI.AlarmTypeEnum), alarmTypeStr);
+
+ string alarmID = KACWrapper.KAC.CreateAlarm(alarmType, name, UT);
+
+ if (string.IsNullOrEmpty(alarmID))
+ {
+ return string.Empty;
+ }
+ else
+ {
+ var newAlarm = KACWrapper.KAC.Alarms.Find(x => x.ID == alarmID);
+ if (newAlarm != null)
+ {
+ newAlarm.VesselID = vessel.id.ToString();
+ }
+
+ return alarmID;
+ }
+
+ }
+
+ return string.Empty;
+ }
+
///
/// Attempts to remove the alarm identified by `alarmID`. Normally, `alarmID` is the return
/// value from `fc.CreateAlarm()`.
diff --git a/Source/MASITransfer.cs b/Source/MASITransfer.cs
index 31a6264b..2e814146 100644
--- a/Source/MASITransfer.cs
+++ b/Source/MASITransfer.cs
@@ -732,6 +732,62 @@ public double CircularizeAltitude(double newAltitude)
return 0.0;
}
+
+ ///
+ /// Circularize the vessel's orbit at the specified altitude, in meters. This new altitude
+ /// must be between the current periapsis and the SoI limit. If the orbit is hyperbolic and the craft
+ /// is past the periapsis, the altitude must also be greater than the current altitude. This method
+ /// uses calculations derived from first principles rather than the KSP orbit functions.
+ ///
+ /// The altitude at which the orbit will be circularized, in meters.
+ /// 1 if a node was created, 0 otherwise.
+ public double CircularizeAltitudeHypVis(double newAltitude)
+ {
+ Orbit current = vessel.orbit;
+ double newSMA = newAltitude + current.referenceBody.Radius;
+
+ if ((newSMA >= current.PeR && vc.orbit.timeToPe >= 0 || newSMA >= vessel.altitude) && newSMA <= vessel.mainBody.sphereOfInfluence && vessel.patchedConicSolver != null)
+ {
+ CelestialBody referenceBody = current.referenceBody;
+
+ // required velocity is entirely circumferential and equal to circular orbit speed
+
+ double vNew = Math.Sqrt(referenceBody.gravParameter / newSMA);
+
+ // get true anomaly when passing through altitude, and time at which that happens
+
+ double tAAtNewSMA = current.TrueAnomalyAtRadius(newSMA);
+ double maneuverUt = current.GetUTforTrueAnomaly(tAAtNewSMA, 0);
+
+ // pre-burn speed found using vis-viva equation.
+ double vPreBurn = Math.Sqrt(referenceBody.gravParameter * (2 / newSMA - 1 / current.semiMajorAxis));
+
+ // get specific angular momentum and use to find circumferential speed at the burn,
+ // and the elevation angle at the burn
+ double spAngMom = current.PeR * current.getOrbitalSpeedAtDistance(current.PeR);
+ double vPreBurnCirc = spAngMom / newSMA;
+ double elevationAngle = Math.Acos(vPreBurnCirc / vPreBurn);
+
+ // delta-V magnitude is the magnitude of the vector difference between pre- and post-burn velocities
+ double deltaVTotal = Math.Sqrt(Math.Pow(vNew, 2) + Math.Pow(vPreBurn, 2) - 2 * vNew * vPreBurn * Math.Cos(elevationAngle));
+
+ // orthogonal components of the delta-V (no normal since never going to need inclination change)
+ double deltaVPrograde = -(vPreBurn - vNew * Math.Cos(elevationAngle));
+ double deltaVRadial = -vNew * Math.Sin(elevationAngle);
+
+ // create the maneuver node
+ Vector3d maneuverdV = Utility.ManeuverNode(deltaVPrograde, 0, deltaVRadial);
+
+ vessel.patchedConicSolver.maneuverNodes.Clear();
+ ManeuverNode mn = vessel.patchedConicSolver.AddManeuverNode(maneuverUt);
+ mn.OnGizmoUpdated(maneuverdV, maneuverUt);
+
+ return 1.0;
+ }
+
+ return 0.0;
+ }
+
///
/// Generate a maneuver to conduct a Hohmann transfer to the current target. If there is no
/// target, or the transfer is not a simple transfer to a nearly co-planar target, nothing happens.
diff --git a/Source/MASVesselComputer.cs b/Source/MASVesselComputer.cs
index a31b5585..acaac58b 100644
--- a/Source/MASVesselComputer.cs
+++ b/Source/MASVesselComputer.cs
@@ -132,6 +132,7 @@ private void RefreshData()
UpdateAttitude();
UpdateAltitudes();
UpdateManeuverNode();
+ UpdateOwnDockingPorts();
UpdateTarget();
UpdateMisc();
// Last step:
@@ -318,7 +319,8 @@ public void Awake()
InitResourceData();
UpdateReferenceTransform(vessel.GetReferenceTransformPart(), true);
- vesselCrewed = (vessel.GetCrewCount() > 0);
+ //vesselCrewed = (vessel.GetCrewCount() > 0);
+ vesselCrewed = true;
vesselActive = ActiveVessel(vessel);
if (vesselCrewed)
{
@@ -372,6 +374,41 @@ private static bool ActiveVessel(Vessel vessel)
return vessel.isActiveVessel && (CameraManager.Instance.currentCameraMode == CameraManager.CameraMode.IVA || CameraManager.Instance.currentCameraMode == CameraManager.CameraMode.Internal);
}
+ internal ModuleDockingNode[] ownDockingPorts = new ModuleDockingNode[0];
+
+ private void UpdateOwnDockingPorts()
+ {
+
+ List potentialOwnDocks = vessel.FindPartModulesImplementing();
+ List validOwnDocks = new List();
+
+ if (dockingNode != null)
+ {
+ for (int i = potentialOwnDocks.Count - 1; i >= 0; --i)
+ {
+ ModuleDockingNode checkDock = potentialOwnDocks[i];
+
+ if (checkDock.state == "Ready")
+ {
+ validOwnDocks.Add(checkDock);
+ }
+ }
+ }
+
+ if (ownDockingPorts.Length != validOwnDocks.Count)
+ {
+ ownDockingPorts = validOwnDocks.ToArray();
+ }
+ else
+ {
+ for (int i = ownDockingPorts.Length - 1; i >= 0; --i)
+ {
+ ownDockingPorts[i] = validOwnDocks[i];
+ }
+ }
+
+ }
+
// Time in seconds until impact. 0 if there is no impact.
private double timeToImpact_;
internal double timeToImpact
@@ -636,6 +673,10 @@ internal double GetSlopeAngle()
void UpdateAttitude()
{
+ if (vessel.GetReferenceTransformPart() == null)
+ {
+ UpdateReferenceTransform(vessel.GetReferenceTransformPart(), true);
+ }
navballAttitudeGimbal = vesselOrientationCorrection * Quaternion.Inverse(referenceTransform.rotation);
Vector3 relativePositionVector = (referenceTransform.position - mainBody.position).normalized;
@@ -1279,9 +1320,12 @@ private void UpdateReferenceTransform(Part referencePart, bool forceEvaluate)
{
if (referencePart == null)
{
- // During staging, it's possible for referencePart to be null. If it is, let's skip
- // this processing. Things will sort out later.
- return;
+ // During staging, it's possible for referencePart to be null. If it is, must set to
+ // root part in order to avoid failure to initialize.
+ Utility.LogMessage(this, "Null referencePart for {0}; setting to root!", vessel.id);
+ vessel.SetReferenceTransform(vessel.rootPart);
+ referencePart = vessel.GetReferenceTransformPart();
+ //return;
}
Transform newRefXform = referencePart.GetReferenceTransform();
@@ -1345,9 +1389,10 @@ private void onVesselChange(Vessel who)
{
if (who.id == vesselId)
{
- vesselCrewed = (vessel.GetCrewCount() > 0) && HighLogic.LoadedSceneIsFlight;
+ vesselCrewed = true && HighLogic.LoadedSceneIsFlight;
vesselActive = ActiveVessel(vessel);
InvalidateModules();
+ Utility.LogMessage(this, "onVesselChange for {0}", who.id);
}
}
@@ -1364,9 +1409,10 @@ private void onVesselWasModified(Vessel who)
{
if (who.id == vesselId)
{
- vesselCrewed = (vessel.GetCrewCount() > 0) && HighLogic.LoadedSceneIsFlight;
+ vesselCrewed = true && HighLogic.LoadedSceneIsFlight;
vesselActive = ActiveVessel(vessel);
InvalidateModules();
+ Utility.LogMessage(this, "onVesselWasModified for {0}", who.id);
}
}
@@ -1374,8 +1420,9 @@ private void onVesselDestroy(Vessel who)
{
if (who.id == vesselId)
{
- vesselCrewed = (vessel.GetCrewCount() > 0) && HighLogic.LoadedSceneIsFlight;
+ vesselCrewed = true && HighLogic.LoadedSceneIsFlight;
vesselActive = ActiveVessel(vessel);
+ Utility.LogMessage(this, "onVesselDestroy for {0}", who.id);
}
}
@@ -1383,8 +1430,9 @@ private void onVesselCreate(Vessel who)
{
if (who.id == vesselId)
{
- vesselCrewed = (vessel.GetCrewCount() > 0) && HighLogic.LoadedSceneIsFlight;
+ vesselCrewed = true && HighLogic.LoadedSceneIsFlight;
vesselActive = ActiveVessel(vessel);
+ Utility.LogMessage(this, "onVesselCreate for {0}", who.id);
}
}
@@ -1392,8 +1440,9 @@ private void onVesselCrewWasModified(Vessel who)
{
if (who.id == vessel.id)
{
- vesselCrewed = (vessel.GetCrewCount() > 0) && HighLogic.LoadedSceneIsFlight;
+ vesselCrewed = true && HighLogic.LoadedSceneIsFlight;
vesselActive = ActiveVessel(vessel);
+ Utility.LogMessage(this, "onVesselCrewWasModified for {0}", who.id);
}
}
#endregion
diff --git a/Source/MASVesselComputerModules.cs b/Source/MASVesselComputerModules.cs
index f47d7ecf..e3f76440 100644
--- a/Source/MASVesselComputerModules.cs
+++ b/Source/MASVesselComputerModules.cs
@@ -314,11 +314,13 @@ private void UpdateDockingNode(Part referencePart)
else
{
uint shipFlightNumber = 0;
- if (referenceTransformType == ReferenceType.Self)
+ if (referenceTransformType == ReferenceType.Self || referenceTransformType == ReferenceType.RemoteCommand)
{
// If the reference transform is the current IVA, we need
// to look for another part that has a docking node and the
// same ID as our part.
+ // If using ProbeControlRoom, referenceTransform isn't self,
+ // it's RemoteCommand.
shipFlightNumber = referencePart.launchID;
}
else