diff --git a/Aircraft/Generic/g-forces.xml b/Aircraft/Generic/g-forces.xml
new file mode 100644
index 000000000..523afb8e9
--- /dev/null
+++ b/Aircraft/Generic/g-forces.xml
@@ -0,0 +1,863 @@
+
+
+
+
+
+ sim/rendering/redout/parameters/blackout-onset-g
+ sim/rendering/redout/parameters/blackout-complete-g
+ sim/rendering/redout/parameters/redout-onset-g
+ sim/rendering/redout/parameters/redout-complete-g
+ sim/rendering/redout/parameters/onset-blackout-sec
+ sim/rendering/redout/parameters/fast-blackout-sec
+ sim/rendering/redout/parameters/onset-redout-sec
+ sim/rendering/redout/parameters/fast-redout-sec
+ sim/rendering/redout/parameters/recover-fast-sec
+ sim/rendering/redout/parameters/recover-slow-sec
+
+ sim/rendering/redout/internal/log/g-force
+ sim/rendering/redout/internal/log/onset-b
+ sim/rendering/redout/internal/log/fast-b
+ sim/rendering/redout/internal/log/g-force-r
+ sim/rendering/redout/internal/log/onset-r
+ sim/rendering/redout/internal/log/fast-r
+
+ sim/rendering/redout/internal/g-force
+ sim/rendering/redout/internal/g-force-inv
+ sim/rendering/redout/internal/blackout
+ sim/rendering/redout/internal/redout
+
+ sim/rendering/redout/alpha
+ sim/rendering/redout/red
+ sim/current-view/internal
+ sim/rendering/redout/internal/sum
+ sim/rendering/redout/enabled
+
+
+
+ gain
+ 0
+
+
+
+
+
+
+ 1000.0
+
+
+
+ -1000.0
+
+
+
+
+
+ 0
+
+
+
+
+
+ gain
+ 0
+
+
+
+
+
+
+ 1000.0
+
+
+
+ -1000.0
+
+
+
+
+
+ 0
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+ 1.25
+
+
+
+
+
+
+
+
+ 1.25
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1.5
+
+
+
+
+
+
+
+
+
+ 0.50
+
+ 1.5
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+ -1.00
+
+
+
+
+
+
+
+
+ -1.00
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+
+ -1.25
+
+
+
+
+
+
+
+
+
+ -0.50
+
+ -1.25
+
+
+
+
+
+
+
+ gain
+ -1
+
+
+
+
+
+ fdm/jsbsim/aero/alpha-deg
+ 180.0
+
+
+ fdm/jsbsim/aero/alpha-deg
+ -180.0
+
+
+
+
+
+
+
accelerations/pilot/z-accel-fps_sec
+
32.174
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+ fdm/jsbsim/aero/alpha-deg
+ 180.0
+
+
+ fdm/jsbsim/aero/alpha-deg
+ -180.0
+
+
+
+
+
+ accelerations/pilot-g[0]
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ 0
+
+
+
+ sim/time/delta-sec
+
+
1
+
+ 0
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ 0
+
+
+
+ sim/time/delta-sec
+
+
1
+
+ 0
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+ -1
+
+
+ 2
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+ -1
+
+
+ 2
+
+
+
+
+
+
+
+
+
+ gain
+ -1
+
+
+
+
+
+
+
+
+
+ 2
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+ 0
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ 0
+
+
+
+ sim/time/delta-sec
+
+
1
+
+ 0
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ 0
+
+
+
+ sim/time/delta-sec
+
+
1
+
+ 0
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+
+
+
+
+ -1
+
+
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+ gain
+ 1
+
+
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+ gain
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+ gain
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ gain
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
diff --git a/Nasal/redout.nas b/Nasal/redout.nas
index 1a2126270..275cbc596 100644
--- a/Nasal/redout.nas
+++ b/Nasal/redout.nas
@@ -1,14 +1,9 @@
# Damped G value - starts at 1.
var GDamped = 1.0;
var previousG = 1.0;
-var running_redout = 0;
var running_compression = 0;
var fdm = "jsb";
-var blackout_start = nil;
-var blackout_end = nil;
-var redout_start = nil;
-var redout_end = nil;
var compression_rate = nil;
var internal = nil;
@@ -17,7 +12,7 @@ var lp_red = nil;
var run = func {
- if (running_redout or running_compression)
+ if (running_compression)
{
var GCurrent = 1.0;
@@ -51,28 +46,6 @@ var run = func {
if (internal)
{
- if (running_redout)
- {
- if (GDamped > blackout_start)
- {
- # Blackout
- setprop("/sim/rendering/redout/red",0);
- setprop("/sim/rendering/redout/alpha",
- (GDamped - blackout_start) / (blackout_end - blackout_start));
- }
- elsif (GDamped < redout_start)
- {
- # Redout
- setprop("/sim/rendering/redout/red",1);
- setprop("/sim/rendering/redout/alpha",
- abs((GDamped - redout_start) / (redout_end - redout_start)));
- }
- else
- {
- setprop("/sim/rendering/redout/alpha",0);
- }
- }
-
if (running_compression)
{
# Apply any compression due to G-forces
@@ -84,51 +57,20 @@ var run = func {
}
}
}
- else
- {
- # Not in cockpit view - remove all redout/blackout
- setprop("/sim/rendering/redout/alpha",0);
- }
settimer(run, 0);
}
- else
- {
- # Disabled - remove all redout/blackout
- setprop("/sim/rendering/redout/alpha",0);
- }
-}
-
-var check_params = func() {
- blackout_start = getprop("/sim/rendering/redout/parameters/blackout-onset-g");
- blackout_end = getprop("/sim/rendering/redout/parameters/blackout-complete-g");
- redout_start = getprop("/sim/rendering/redout/parameters/redout-onset-g");
- redout_end = getprop("/sim/rendering/redout/parameters/redout-complete-g");
- if ((blackout_start == nil) or
- (blackout_end == nil) or
- (redout_start == nil) or
- (redout_end == nil) )
- {
- # No valid properties - no point running
- running_redout = 0;
- }
}
var fdm_init_listener = _setlistener("/sim/signals/fdm-initialized",
func {
removelistener(fdm_init_listener); # uninstall, so we're only called once
fdm = getprop("/sim/flight-model");
- running_redout = getprop("/sim/rendering/redout/enabled");
running_compression = getprop("/sim/rendering/headshake/enabled");
internal = getprop("/sim/current-view/internal");
lp_black = aircraft.lowpass.new(0.2);
lp_red = aircraft.lowpass.new(0.25);
- setlistener("/sim/rendering/redout/parameters", func {
- # one parameter has changed, read them all in again
- check_params();
- }, 1, 2);
-
setlistener("/sim/current-view/internal", func(n) {
internal = n.getBoolValue();
});
@@ -138,7 +80,7 @@ var fdm_init_listener = _setlistener("/sim/signals/fdm-initialized",
}, 1);
setlistener("/sim/rendering/headshake/enabled", func(n) {
- if ((running_compression == 0) and (running_redout == 0) and n.getBoolValue())
+ if ((running_compression == 0) and n.getBoolValue())
{
running_compression = 1;
# start new timer now
@@ -150,19 +92,6 @@ var fdm_init_listener = _setlistener("/sim/signals/fdm-initialized",
}
}, 1);
- setlistener("/sim/rendering/redout/enabled", func(n) {
- if ((running_compression == 0) and (running_redout == 0) and n.getBoolValue())
- {
- running_redout = 1;
- # start new timer now
- run();
- }
- else
- {
- running_redout = n.getBoolValue();
- }
- }, 1);
-
# Now we've set up the listeners (which will have triggered), run it.
run();
}
diff --git a/preferences.xml b/preferences.xml
index 95d8956fe..f20786681 100644
--- a/preferences.xml
+++ b/preferences.xml
@@ -254,11 +254,32 @@ Started September 2000 by David Megginson, david@megginson.com
true
- 3.5
- 5
- -2
- -4
+ 2.5
+ 4.5
+ 300
+ 10
+ -2
+ -4
+ 45
+ 7.5
+ 7
+ 15
+
+ 1
+ 1
+ 0
+ 0
+ 0
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
false
@@ -510,6 +531,10 @@ Started September 2000 by David Megginson, david@megginson.com
Local Weather Rules
Environment/local-weather-rules.xml
+
+ g force effects
+ Aircraft/Generic/g-forces.xml
+
Aircraft/Generic/generic-instrumentation.xml