Merge next
Signed-off-by: fly <merspieler@airmail.cc>
9
AI/Aircraft/738/738-SolaseedAir.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList include="738-main.xml">
|
||||
<texture-path>Textures/SolaseedAir</texture-path>
|
||||
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
8
AI/Aircraft/738/73K-AmazonAir.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList include="738-main.xml">
|
||||
<texture-path>Textures/AmazonAir</texture-path>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
BIN
AI/Aircraft/738/Textures/AmazonAir/738-tex.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
AI/Aircraft/738/Textures/SolaseedAir/738-tex.png
Normal file
After Width: | Height: | Size: 83 KiB |
31
AI/Aircraft/757/757-200-ATI.xml
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<description>B757-200</description>
|
||||
<author>Unknown, modified by Brett Harrison</author>
|
||||
<path>Models/757-200.ac</path>
|
||||
<texture-path>Textures/ATI</texture-path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>gear</object-name>
|
||||
<condition>
|
||||
<less-than>
|
||||
<property>velocities/true-airspeed-kt</property>
|
||||
<value>170</value>
|
||||
</less-than>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
BIN
AI/Aircraft/757/Textures/ATI/757-200-tex.png
Normal file
After Width: | Height: | Size: 81 KiB |
15
AI/Aircraft/767/76Y-ATI.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
<texture-path>Textures/ATI</texture-path>
|
||||
<!-- Show Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
|
||||
<texture-path>Textures/AeroUnion</texture-path>
|
||||
|
||||
<texture-path>Textures/AeroUnion</texture-path>
|
||||
<!-- Hide Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
||||
|
|
15
AI/Aircraft/767/76Y-AmazonAir.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
<texture-path>Textures/AmazonAir</texture-path>
|
||||
<!-- Show Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
|
||||
<texture-path>Textures/Amerijet</texture-path>
|
||||
|
||||
<texture-path>Textures/Amerijet</texture-path>
|
||||
<!-- Hide Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
|
||||
<texture-path>Textures/Asiana</texture-path>
|
||||
|
||||
<texture-path>Textures/Asiana</texture-path>
|
||||
<!-- Hide Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
|
||||
<texture-path>Textures/NorthernAirCargo</texture-path>
|
||||
|
||||
<texture-path>Textures/NorthernAirCargo</texture-path>
|
||||
<!-- Show Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
|
||||
<texture-path>Textures/PolarAirCargo</texture-path>
|
||||
|
||||
<texture-path>Textures/PolarAirCargo</texture-path>
|
||||
<!-- Hide Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
|
||||
<texture-path>Textures/Qantas</texture-path>
|
||||
|
||||
<texture-path>Textures/Qantas</texture-path>
|
||||
<!-- Hide Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
|
||||
<texture-path>Textures/RoyalAirMaroc</texture-path>
|
||||
|
||||
<texture-path>Textures/RoyalAirMaroc</texture-path>
|
||||
<!-- Hide Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
|
||||
<texture-path>Textures/TasmanCargo</texture-path>
|
||||
|
||||
<texture-path>Textures/TasmanCargo</texture-path>
|
||||
<!-- Show Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="76Y-main.xml">
|
||||
|
||||
<texture-path>Textures/UPS</texture-path>
|
||||
|
||||
<texture-path>Textures/UPS</texture-path>
|
||||
<!-- Show Winglets -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>Winglets</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/sim/signals/fdm-initialized</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
||||
|
|
BIN
AI/Aircraft/767/Textures/ATI/76Y-tex.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
AI/Aircraft/767/Textures/AmazonAir/76Y-tex.png
Normal file
After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 40 KiB |
9
AI/Aircraft/777/77F-SouthernAir.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="77F-main.xml">
|
||||
|
||||
<texture-path>Textures/SouthernAir</texture-path>
|
||||
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
BIN
AI/Aircraft/777/Textures/SouthernAir/77F-tex.png
Normal file
After Width: | Height: | Size: 37 KiB |
9
AI/Aircraft/A321/A321-UNIAir.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList include="A321-main.xml">
|
||||
|
||||
<texture-path>Textures/UNIAir</texture-path>
|
||||
|
||||
</PropertyList>
|
||||
|
||||
|
BIN
AI/Aircraft/A321/Textures/UNIAir/A321-tex.png
Normal file
After Width: | Height: | Size: 69 KiB |
7
AI/Aircraft/A332/A33X-AirHongKong.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList include="A33X-main.xml">
|
||||
|
||||
<texture-path>Textures/DHL</texture-path>
|
||||
|
||||
</PropertyList>
|
BIN
AI/Aircraft/A332/Textures/DHL/A33X-tex.png
Normal file
After Width: | Height: | Size: 54 KiB |
6
AI/Aircraft/AT7/AT7-UNIAir.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList include="AT7-main.xml">
|
||||
<texture-path>Textures/UNIAir</texture-path>
|
||||
|
||||
</PropertyList>
|
BIN
AI/Aircraft/AT7/Textures/UNIAir/AT7-tex.png
Normal file
After Width: | Height: | Size: 54 KiB |
9
AI/Aircraft/CR7/CR7-IbexAirlines.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<PropertyList include="CR7-main.xml">
|
||||
|
||||
<texture-path>Textures/IbexAirlines</texture-path>
|
||||
|
||||
</PropertyList>
|
||||
|
||||
|
||||
|
BIN
AI/Aircraft/CR7/Textures/IbexAirlines/CR7-tex.png
Normal file
After Width: | Height: | Size: 52 KiB |
6
AI/Aircraft/DH4/DH4-ANAWings.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList include="DH4-main.xml">
|
||||
<texture-path>Textures/ANAWings</texture-path>
|
||||
|
||||
</PropertyList>
|
BIN
AI/Aircraft/DH4/Textures/ANAWings/DH4-tex.png
Normal file
After Width: | Height: | Size: 44 KiB |
0
AI/Aircraft/SpaceShuttle/Effects/shuttle-main.eff
Executable file → Normal file
0
AI/Aircraft/SpaceShuttle/OMSPods.ac
Executable file → Normal file
4
AI/Aircraft/SpaceShuttle/OMSPods.xml
Executable file → Normal file
|
@ -2,10 +2,10 @@
|
|||
|
||||
<PropertyList>
|
||||
|
||||
<path>Aircraft/SpaceShuttle/Models/OMSPods.ac</path>
|
||||
<path>OMSPods.ac</path>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Aircraft/SpaceShuttle/Models/Effects/shuttle-main</inherits-from>
|
||||
<inherits-from>Effects/shuttle-main</inherits-from>
|
||||
<object-name>omsLeftBase</object-name>
|
||||
<object-name>omsLeft.001</object-name>
|
||||
<object-name>omsLeft</object-name>
|
||||
|
|
0
AI/Aircraft/SpaceShuttle/SSME.ac
Executable file → Normal file
2
AI/Aircraft/SpaceShuttle/SSME1.xml
Executable file → Normal file
|
@ -4,7 +4,7 @@
|
|||
<path>SSME.ac</path>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Aircraft/SpaceShuttle/Models/Effects/shuttle-main</inherits-from>
|
||||
<inherits-from>Effects/shuttle-main</inherits-from>
|
||||
<object-name>SSME</object-name>
|
||||
</effect>
|
||||
|
||||
|
|
2
AI/Aircraft/SpaceShuttle/SSME2.xml
Executable file → Normal file
|
@ -4,7 +4,7 @@
|
|||
<path>SSME.ac</path>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Aircraft/SpaceShuttle/Models/Effects/shuttle-main</inherits-from>
|
||||
<inherits-from>Effects/shuttle-main</inherits-from>
|
||||
<object-name>SSME</object-name>
|
||||
</effect>
|
||||
|
||||
|
|
2
AI/Aircraft/SpaceShuttle/SSME3.xml
Executable file → Normal file
|
@ -4,7 +4,7 @@
|
|||
<path>SSME.ac</path>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Aircraft/SpaceShuttle/Models/Effects/shuttle-main</inherits-from>
|
||||
<inherits-from>Effects/shuttle-main</inherits-from>
|
||||
<object-name>SSME</object-name>
|
||||
</effect>
|
||||
|
||||
|
|
0
AI/Aircraft/SpaceShuttle/SpaceShuttle.ac
Executable file → Normal file
2
AI/Aircraft/SpaceShuttle/SpaceShuttle.xml
Executable file → Normal file
|
@ -12,7 +12,7 @@
|
|||
|
||||
|
||||
<effect>
|
||||
<inherits-from>Aircraft/SpaceShuttle/Models/Effects/shuttle-main</inherits-from>
|
||||
<inherits-from>Effects/shuttle-main</inherits-from>
|
||||
<object-name>spaceshutt_spstob_3</object-name>
|
||||
<object-name>spaceshutt_spstob_eal</object-name>
|
||||
<object-name>SpeedBrakeL</object-name>
|
||||
|
|
0
AI/Aircraft/SpaceShuttle/spstob_1.png
Executable file → Normal file
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
0
AI/Aircraft/SpaceShuttle/spstob_3.png
Executable file → Normal file
Before Width: | Height: | Size: 703 B After Width: | Height: | Size: 703 B |
0
AI/Aircraft/SpaceShuttle/spstob_4.png
Executable file → Normal file
Before Width: | Height: | Size: 291 B After Width: | Height: | Size: 291 B |
0
AI/Aircraft/SpaceShuttle/spstob_e.png
Executable file → Normal file
Before Width: | Height: | Size: 276 B After Width: | Height: | Size: 276 B |
2841
AI/Traffic/A/AHK.xml
Normal file
3152
AI/Traffic/A/AKX.xml
Normal file
29466
AI/Traffic/A/ANA.xml
6150
AI/Traffic/A/ATN.xml
Normal file
6472
AI/Traffic/B/BCS.xml
Normal file
64276
AI/Traffic/C/CCA.xml
1250
AI/Traffic/H/HBR.xml
1047
AI/Traffic/I/IBX.xml
Normal file
3557
AI/Traffic/S/SOO.xml
Normal file
1250
AI/Traffic/SNJ.xml
Normal file
2522
AI/Traffic/U/UIA.xml
Normal file
|
@ -4,9 +4,9 @@
|
|||
|
||||
<scenario>
|
||||
|
||||
<name>Space Shuttle landing</name>
|
||||
<name>Space Shuttle landing at KEDW</name>
|
||||
<description>
|
||||
The Space Shuttle returns from entry interface to a landing
|
||||
The Space Shuttle returns from entry interface to a landing at KEDW
|
||||
</description>
|
||||
|
||||
<entry>
|
||||
|
|
0
AI/truman_demo.xml
Executable file → Normal file
|
@ -4,12 +4,13 @@
|
|||
## ##
|
||||
## Improved redout/blackout system for Flightgear ##
|
||||
## ##
|
||||
## Author: Nikolai V. Chr. (property rules), Thorsten Renk (shaders) ##
|
||||
## Author: Nikolai V. Chr. (property rules), Thorsten Renk (shaders), ##
|
||||
## Benedikt Hallinger (groundshake effect) ##
|
||||
## ##
|
||||
## ##
|
||||
## ##
|
||||
## ##
|
||||
## Version 2.05 License: GPL 2.0 ##
|
||||
## Version 2.10 License: GPL 2.0 ##
|
||||
## ##
|
||||
###################################################################################
|
||||
-->
|
||||
|
@ -49,6 +50,24 @@
|
|||
<tunnel>sim/rendering/als-filters/black-factor</tunnel>
|
||||
<als>sim/rendering/shaders/skydome</als>
|
||||
<filters>sim/rendering/als-filters/use-filtering</filters>
|
||||
<groundshake>
|
||||
<!-- inputs -->
|
||||
<effect-factor>sim/rendering/headshake/groundshake/effect-factor</effect-factor>
|
||||
<aircraft-scale-prop>sim/rendering/headshake/groundshake/custom-aircraft-scaler</aircraft-scale-prop>
|
||||
<default-aircraft-scaler-minkts>sim/rendering/headshake/groundshake/default-aircraft-scaler-min-knots</default-aircraft-scaler-minkts>
|
||||
<default-aircraft-scaler-maxkts>sim/rendering/headshake/groundshake/default-aircraft-scaler-max-knots</default-aircraft-scaler-maxkts>
|
||||
<default-aircraft-scaler-factor>sim/rendering/headshake/groundshake/default-aircraft-scaler-factor</default-aircraft-scaler-factor>
|
||||
|
||||
<!-- internal -->
|
||||
<rng-source>sim/rendering/headshake/groundshake/internal/groundbump</rng-source>
|
||||
<terrain-bumpiness>/fdm/jsbsim/ground/bumpiness</terrain-bumpiness>
|
||||
<has-ground-contact>sim/rendering/headshake/groundshake/internal/ground-contact</has-ground-contact>
|
||||
<is-moving>sim/rendering/headshake/groundshake/internal/is-moving</is-moving>
|
||||
<default-aircraft-scaler>sim/rendering/headshake/groundshake/internal/default-aircraft-scaler</default-aircraft-scaler>
|
||||
|
||||
<!-- outputs -->
|
||||
<result>sim/rendering/headshake/groundshake/result-g</result>
|
||||
</groundshake>
|
||||
</params>
|
||||
|
||||
<filter><!-- check for NaN -->
|
||||
|
@ -227,10 +246,13 @@
|
|||
</enable>
|
||||
<input>
|
||||
<expression>
|
||||
<div>
|
||||
<property>accelerations/pilot/z-accel-fps_sec</property>
|
||||
<value>32.174</value>
|
||||
</div>
|
||||
<sum>
|
||||
<div>
|
||||
<property>accelerations/pilot/z-accel-fps_sec</property>
|
||||
<value>32.174</value>
|
||||
</div>
|
||||
<property alias="/params/groundshake/result" />
|
||||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<output alias="/params/g-force"/>
|
||||
|
@ -1010,4 +1032,164 @@
|
|||
<output alias="/params/greyout"/>
|
||||
</filter>
|
||||
|
||||
|
||||
<!-- Ground shake effect
|
||||
The ground shake effect simulates the roughness of the terrain and the
|
||||
resulting forces onto the pilot when moving over it.
|
||||
This is achieved by generating random g-forces depending on the current terrain bumpyness.
|
||||
The force is then applied to the pilot depending on movement speed of the aircraft.
|
||||
|
||||
Adjustments reside in sim/rendering/headshake/groundshake and can be done with this properties:
|
||||
- effect-factor: Overall effect scaling/enabling, so users can disable/adjust in cockpit-gui
|
||||
- default-aircraft-scaler-factor: allows to adjust the default aircraft effect output.
|
||||
To be overwritten from aircraft for which the default table is OK but the effect to small/big.
|
||||
Set to zero in case a separate scaler is provided
|
||||
- default-aircraft-scaler-min-knots: at this speed the effect starts
|
||||
- default-aircraft-scaler-max-knots: at this speed the effect reaches its maximum
|
||||
- custom-aircraft-scaler: aircraft devs calculate their own scaling algorythm result here.
|
||||
Most probably this is based on speed etc.
|
||||
Set default-aircraft-scaler-factor to zero, because otherwise the
|
||||
default still applies (default+custom effects are added)!
|
||||
-->
|
||||
<filter>
|
||||
<name>groundshake-terrain-g</name>
|
||||
<debug>false</debug>
|
||||
<type>gain</type>
|
||||
<gain><property alias="/params/groundshake/effect-factor"/></gain>
|
||||
<input>
|
||||
<condition>
|
||||
<!-- only act when having ground contact -->
|
||||
<property alias="/params/groundshake/has-ground-contact"/>
|
||||
<property alias="/params/groundshake/is-moving"/>
|
||||
</condition>
|
||||
<expression>
|
||||
<product>
|
||||
<!-- defines bumps of surface -->
|
||||
<property alias="/params/groundshake/rng-source"/>
|
||||
|
||||
<!-- apply bumpiness of terrain -->
|
||||
<product>
|
||||
<value>1</value>
|
||||
<sum>
|
||||
<value>0.1</value> <!-- so we have a effect even on taxiway/runway -->
|
||||
<property alias="/params/groundshake/terrain-bumpiness"/>
|
||||
</sum>
|
||||
</product>
|
||||
|
||||
<sum>
|
||||
<!-- apply the default aircraft scaling -->
|
||||
<!-- note: in case the aircraft dev wants his own model, he should deactivate the internal one -->
|
||||
<!-- this can be done by setting the deafualt-aircraft-factor to zero -->
|
||||
<property alias="/params/groundshake/default-aircraft-scaler" />
|
||||
|
||||
<!-- apply aircraft specific scaling -->
|
||||
<!-- (this is intended to model gear damping based on speed etc) -->
|
||||
<property alias="/params/groundshake/aircraft-scale-prop"/>
|
||||
</sum>
|
||||
|
||||
</product>
|
||||
</expression>
|
||||
</input>
|
||||
<input><value>0.0</value></input> <!-- in-air: no ground forces -->
|
||||
<output alias="/params/groundshake/result" />
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Ground bumps</name>
|
||||
<!-- calculate the ground bump number: The rate and ammount of change simulates bumps in the surface -->
|
||||
<type>coherent-noise</type>
|
||||
<debug>false</debug>
|
||||
<enable>
|
||||
<condition>
|
||||
<property alias="/params/groundshake/has-ground-contact"/>
|
||||
<property alias="/params/groundshake/is-moving"/>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<!-- depending on position: the faster we go, the faster the prop changes, the faster the bumps come in -->
|
||||
<expression>
|
||||
<product>
|
||||
<sum>
|
||||
<property>/position/latitude-deg</property>
|
||||
<property>/position/longitude-deg</property>
|
||||
</sum>
|
||||
<value>50</value>
|
||||
</product>
|
||||
</expression>
|
||||
</input>
|
||||
<output><property alias="/params/groundshake/rng-source"/></output>
|
||||
<amplitude>0.5</amplitude>
|
||||
<absolute type="bool">false</absolute>
|
||||
<discrete-resolution>1024</discrete-resolution> <!-- frequency of the changes/bumps: the smaller, the more wide the bumps are -->
|
||||
</filter>
|
||||
|
||||
<logic>
|
||||
<name>Aircraft has ground contact</name>
|
||||
<input>
|
||||
<or>
|
||||
<property>/gear/gear[0]/wow</property>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<property>/gear/gear[3]/wow</property>
|
||||
</or>
|
||||
</input>
|
||||
<output>
|
||||
<property alias="/params/groundshake/has-ground-contact"/>
|
||||
</output>
|
||||
</logic>
|
||||
|
||||
<logic>
|
||||
<name>Aircraft is moving</name>
|
||||
<input>
|
||||
<greater-than>
|
||||
<property>/velocities/groundspeed-kt</property>
|
||||
<value>1</value>
|
||||
</greater-than>
|
||||
</input>
|
||||
<output>
|
||||
<property alias="/params/groundshake/is-moving"/>
|
||||
</output>
|
||||
</logic>
|
||||
|
||||
<filter>
|
||||
<name>Default aircraft scaling by speed</name>
|
||||
<!-- This filter defines a table for applying the scaled effect by airspeed to
|
||||
simulate basic damping of the gear. It allows for defining dynamic min/max knots
|
||||
ranges and scales linearly bin between -->
|
||||
<debug>false</debug>
|
||||
<type>gain</type>
|
||||
<gain> <property alias="/params/groundshake/default-aircraft-scaler-factor"/> </gain>
|
||||
<input>
|
||||
<!-- Formula: (1/(max-min))*speed-(min/(max-min)) lets us scale linearly with given min/max values -->
|
||||
<expression>
|
||||
<difference>
|
||||
<prod>
|
||||
<div>
|
||||
<value>1</value>
|
||||
<difference>
|
||||
<property alias="/params/groundshake/default-aircraft-scaler-maxkts"/>
|
||||
<property alias="/params/groundshake/default-aircraft-scaler-minkts"/>
|
||||
</difference>
|
||||
</div>
|
||||
<property>/velocities/groundspeed-kt</property>
|
||||
</prod>
|
||||
|
||||
<div>
|
||||
<property alias="/params/groundshake/default-aircraft-scaler-minkts"/>
|
||||
<difference>
|
||||
<property alias="/params/groundshake/default-aircraft-scaler-maxkts"/>
|
||||
<property alias="/params/groundshake/default-aircraft-scaler-minkts"/>
|
||||
</difference>
|
||||
</div>
|
||||
</difference>
|
||||
</expression>
|
||||
|
||||
<min>0.0</min>
|
||||
<max>1.0</max>
|
||||
</input>
|
||||
<output>
|
||||
<property alias="/params/groundshake/default-aircraft-scaler" />
|
||||
</output>
|
||||
</filter>
|
||||
|
||||
</PropertyList>
|
||||
|
|
|
@ -94,6 +94,8 @@ var propFlightControls = props.globals.getNode(flightControls, 0);
|
|||
var elevatorControl = propFlightControls.getNode("elevator", 0);
|
||||
var elevatorTrimControl = propFlightControls.getNode("elevator-trim", 0);
|
||||
|
||||
var navHeadingValid = "/instrumentation/nav/in-range";
|
||||
var navGSValid = "/instrumentation/nav/gs-in-range";
|
||||
var headingNeedleDeflection = "/instrumentation/nav/heading-needle-deflection";
|
||||
var gsNeedleDeflection = "/instrumentation/nav/gs-needle-deflection-norm";
|
||||
var staticPressure = "systems/static/pressure-inhg";
|
||||
|
@ -457,6 +459,9 @@ var hdgButton = func {
|
|||
annunciatorNav.setBoolValue(0);
|
||||
annunciatorRol.setBoolValue(0);
|
||||
annunciatorRev.setBoolValue(0);
|
||||
annunciatorNavArm.setBoolValue(0);
|
||||
annunciatorAprArm.setBoolValue(0);
|
||||
annunciatorRevArm.setBoolValue(0);
|
||||
|
||||
settingTargetInterceptAngle.setDoubleValue(0.0);
|
||||
}
|
||||
|
@ -485,6 +490,8 @@ var hdgButton = func {
|
|||
annunciatorRol.setBoolValue(0);
|
||||
annunciatorRev.setBoolValue(0);
|
||||
annunciatorNavArm.setBoolValue(0);
|
||||
annunciatorAprArm.setBoolValue(0);
|
||||
annunciatorRevArm.setBoolValue(0);
|
||||
|
||||
settingTargetInterceptAngle.setDoubleValue(0.0);
|
||||
}
|
||||
|
@ -578,10 +585,16 @@ var navButton = func {
|
|||
# Disable button if too little power
|
||||
if (getprop(power) < minVoltageLimit) { return; }
|
||||
|
||||
if (lockPitchArm.getValue() == pitchArmModes["GS"]) {
|
||||
lockPitchArm.setIntValue(pitchArmModes["OFF"]);
|
||||
}
|
||||
|
||||
##
|
||||
# If we are in HDG mode we switch to the 45 degree angle intercept NAV mode
|
||||
# If we are in HDG (or radial) mode we switch to the 45 degree angle intercept NAV mode
|
||||
##
|
||||
if (lockRollMode.getValue() == rollModes["HDG"])
|
||||
if (lockRollMode.getValue() == rollModes["HDG"]
|
||||
or lockRollMode.getValue() == rollModes["APR"]
|
||||
or lockRollMode.getValue() == rollModes["REV"])
|
||||
{
|
||||
hdgFlasher.blink(8, 1).switch(0).switch(1);
|
||||
|
||||
|
@ -595,6 +608,14 @@ var navButton = func {
|
|||
lockRollMode.setIntValue(rollModes["NAV"]);
|
||||
|
||||
annunciatorNavArm.setBoolValue(1);
|
||||
annunciatorAprArm.setBoolValue(0);
|
||||
annunciatorRevArm.setBoolValue(0);
|
||||
annunciatorGsArm.setBoolValue(0);
|
||||
annunciatorNav.setBoolValue(0);
|
||||
annunciatorRol.setBoolValue(0);
|
||||
annunciatorRev.setBoolValue(0);
|
||||
annunciatorApr.setBoolValue(0);
|
||||
annunciatorGs.setBoolValue(0);
|
||||
|
||||
navArmFromHdg();
|
||||
}
|
||||
|
@ -615,6 +636,14 @@ var navButton = func {
|
|||
lockRollMode.setIntValue(rollModes["NAV"]);
|
||||
|
||||
annunciatorNavArm.setBoolValue(1);
|
||||
annunciatorAprArm.setBoolValue(0);
|
||||
annunciatorRevArm.setBoolValue(0);
|
||||
annunciatorGsArm.setBoolValue(0);
|
||||
annunciatorNav.setBoolValue(0);
|
||||
annunciatorRol.setBoolValue(0);
|
||||
annunciatorRev.setBoolValue(0);
|
||||
annunciatorApr.setBoolValue(0);
|
||||
annunciatorGs.setBoolValue(0);
|
||||
|
||||
navArmFromRol();
|
||||
}
|
||||
|
@ -652,10 +681,11 @@ var navArmFromHdg = func
|
|||
##
|
||||
lockNavHold.setBoolValue(1);
|
||||
deviation = getprop(headingNeedleDeflection);
|
||||
var deviationValid = getprop(navHeadingValid);
|
||||
##
|
||||
# If the deflection is more than 3 degrees wait 5 seconds and check again.
|
||||
##
|
||||
if (abs(deviation) > 3.0)
|
||||
if (!deviationValid or abs(deviation) > 3.0)
|
||||
{
|
||||
#print("deviation");
|
||||
settimer(navArmFromHdg, 5);
|
||||
|
@ -704,10 +734,11 @@ var navArmFromRol = func
|
|||
lockRollAxis.setBoolValue(1);
|
||||
settingTargetTurnRate.setDoubleValue(0.0);
|
||||
var deviation = getprop(headingNeedleDeflection);
|
||||
var deviationValid = getprop(navHeadingValid);
|
||||
##
|
||||
# If the deflection is more than 3 degrees wait 5 seconds and check again.
|
||||
##
|
||||
if (abs(deviation) > 3.0)
|
||||
if (!deviationValid or abs(deviation) > 3.0)
|
||||
{
|
||||
#print("deviation");
|
||||
settimer(navArmFromRol, 5);
|
||||
|
@ -739,11 +770,17 @@ var aprButton = func {
|
|||
##print("aprButton");
|
||||
# Disable button if too little power
|
||||
if (getprop(power) < minVoltageLimit) { return; }
|
||||
|
||||
if (lockPitchArm.getValue() == pitchArmModes["GS"]) {
|
||||
lockPitchArm.setIntValue(pitchArmModes["OFF"]);
|
||||
}
|
||||
|
||||
##
|
||||
# If we are in HDG mode we switch to the 45 degree intercept angle APR mode
|
||||
# If we are in HDG (or radial) mode we switch to the 45 degree intercept angle APR mode
|
||||
##
|
||||
if (lockRollMode.getValue() == rollModes["HDG"])
|
||||
if (lockRollMode.getValue() == rollModes["HDG"]
|
||||
or lockRollMode.getValue() == rollModes["NAV"]
|
||||
or lockRollMode.getValue() == rollModes["REV"])
|
||||
{
|
||||
hdgFlasher.blink(8, 1).switch(0).switch(1);
|
||||
|
||||
|
@ -756,7 +793,15 @@ var aprButton = func {
|
|||
lockRollArm.setIntValue(rollArmModes["APR"]);
|
||||
lockRollMode.setIntValue(rollModes["APR"]);
|
||||
|
||||
annunciatorNavArm.setBoolValue(0);
|
||||
annunciatorAprArm.setBoolValue(1);
|
||||
annunciatorRevArm.setBoolValue(0);
|
||||
annunciatorGsArm.setBoolValue(0);
|
||||
annunciatorNav.setBoolValue(0);
|
||||
annunciatorRol.setBoolValue(0);
|
||||
annunciatorRev.setBoolValue(0);
|
||||
annunciatorApr.setBoolValue(0);
|
||||
annunciatorGs.setBoolValue(0);
|
||||
|
||||
aprArmFromHdg();
|
||||
}
|
||||
|
@ -773,7 +818,15 @@ var aprButton = func {
|
|||
lockRollArm.setIntValue(rollArmModes["APR"]);
|
||||
lockRollMode.setIntValue(rollModes["APR"]);
|
||||
|
||||
annunciatorNavArm.setBoolValue(0);
|
||||
annunciatorAprArm.setBoolValue(1);
|
||||
annunciatorRevArm.setBoolValue(0);
|
||||
annunciatorGsArm.setBoolValue(0);
|
||||
annunciatorNav.setBoolValue(0);
|
||||
annunciatorRol.setBoolValue(0);
|
||||
annunciatorRev.setBoolValue(0);
|
||||
annunciatorApr.setBoolValue(0);
|
||||
annunciatorGs.setBoolValue(0);
|
||||
|
||||
aprArmFromRol();
|
||||
}
|
||||
|
@ -806,10 +859,11 @@ var aprArmFromHdg = func
|
|||
##
|
||||
lockAprHold.setBoolValue(1);
|
||||
var deviation = getprop(headingNeedleDeflection);
|
||||
var deviationValid = getprop(navHeadingValid);
|
||||
##
|
||||
# If the deflection is more than 3 degrees wait 5 seconds and check again.
|
||||
##
|
||||
if (abs(deviation) > 3.0)
|
||||
if (!deviationValid or abs(deviation) > 3.0)
|
||||
{
|
||||
#print("deviation");
|
||||
settimer(aprArmFromHdg, 5);
|
||||
|
@ -862,10 +916,11 @@ var aprArmFromRol = func
|
|||
lockRollAxis.setBoolValue(1);
|
||||
settingTargetTurnRate.setDoubleValue(0.0);
|
||||
var deviation = getprop(headingNeedleDeflection);
|
||||
var deviationValid = getprop(navHeadingValid);
|
||||
##
|
||||
# If the deflection is more than 3 degrees wait 5 seconds and check again.
|
||||
##
|
||||
if (abs(deviation) > 3.0)
|
||||
if (!deviationValid or abs(deviation) > 3.0)
|
||||
{
|
||||
#print("deviation");
|
||||
settimer(aprArmFromRol, 5);
|
||||
|
@ -911,10 +966,11 @@ var gsArm = func {
|
|||
annunciatorGsArm.setBoolValue(1);
|
||||
|
||||
var deviation = getprop(gsNeedleDeflection);
|
||||
var deviationValid = getprop(navGSValid);
|
||||
##
|
||||
# If the deflection is more than 50% (manual says '2 to 3 dots')
|
||||
##
|
||||
if (abs(deviation) > 0.5)
|
||||
if (!deviationValid or abs(deviation) > 0.5)
|
||||
{
|
||||
#print("deviation");
|
||||
settimer(gsArm, 5);
|
||||
|
@ -947,10 +1003,16 @@ var revButton = func {
|
|||
# Disable button if too little power
|
||||
if (getprop(power) < minVoltageLimit) { return; }
|
||||
|
||||
if (lockPitchArm.getValue() == pitchArmModes["GS"]) {
|
||||
lockPitchArm.setIntValue(pitchArmModes["OFF"]);
|
||||
}
|
||||
|
||||
##
|
||||
# If we are in HDG mode we switch to the 45 degree intercept angle REV mode
|
||||
# If we are in HDG (or radial) mode we switch to the 45 degree intercept angle REV mode
|
||||
##
|
||||
if (lockRollMode.getValue() == rollModes["HDG"])
|
||||
if (lockRollMode.getValue() == rollModes["HDG"]
|
||||
or lockRollMode.getValue() == rollModes["NAV"]
|
||||
or lockRollMode.getValue() == rollModes["APR"])
|
||||
{
|
||||
hdgFlasher.blink(8, 1).switch(0).switch(1);
|
||||
|
||||
|
@ -962,7 +1024,15 @@ var revButton = func {
|
|||
lockRollAxis.setBoolValue(1);
|
||||
lockRollArm.setIntValue(rollArmModes["REV"]);
|
||||
|
||||
annunciatorNavArm.setBoolValue(0);
|
||||
annunciatorAprArm.setBoolValue(0);
|
||||
annunciatorRevArm.setBoolValue(1);
|
||||
annunciatorGsArm.setBoolValue(0);
|
||||
annunciatorNav.setBoolValue(0);
|
||||
annunciatorRol.setBoolValue(0);
|
||||
annunciatorRev.setBoolValue(0);
|
||||
annunciatorApr.setBoolValue(0);
|
||||
annunciatorGs.setBoolValue(0);
|
||||
|
||||
revArmFromHdg();
|
||||
}
|
||||
|
@ -978,7 +1048,15 @@ var revButton = func {
|
|||
lockRollAxis.setBoolValue(1);
|
||||
lockRollArm.setIntValue(rollArmModes["REV"]);
|
||||
|
||||
annunciatorNavArm.setBoolValue(0);
|
||||
annunciatorAprArm.setBoolValue(0);
|
||||
annunciatorRevArm.setBoolValue(1);
|
||||
annunciatorGsArm.setBoolValue(0);
|
||||
annunciatorNav.setBoolValue(0);
|
||||
annunciatorRol.setBoolValue(0);
|
||||
annunciatorRev.setBoolValue(0);
|
||||
annunciatorApr.setBoolValue(0);
|
||||
annunciatorGs.setBoolValue(0);
|
||||
|
||||
revArmFromRol();
|
||||
}
|
||||
|
@ -1012,10 +1090,11 @@ var revArmFromHdg = func
|
|||
##
|
||||
lockRevHold.setBoolValue(1);
|
||||
var deviation = getprop(headingNeedleDeflection);
|
||||
var deviationValid = getprop(navHeadingValid);
|
||||
##
|
||||
# If the deflection is more than 3 degrees wait 5 seconds and check again.
|
||||
##
|
||||
if (abs(deviation) > 3.0)
|
||||
if (!deviationValid or abs(deviation) > 3.0)
|
||||
{
|
||||
#print("deviation");
|
||||
settimer(revArmFromHdg, 5);
|
||||
|
@ -1078,10 +1157,11 @@ var revArmFromRol = func
|
|||
lockRollAxis.setBoolValue(1);
|
||||
settingTargetTurnRate.setDoubleValue(0.0);
|
||||
var deviation = getprop(headingNeedleDeflection);
|
||||
var deviationValid = getprop(navHeadingValid);
|
||||
##
|
||||
# If the deflection is more than 3 degrees wait 5 seconds and check again.
|
||||
##
|
||||
if (abs(deviation) > 3.0)
|
||||
if (!deviationValid or abs(deviation) > 3.0)
|
||||
{
|
||||
#print("deviation");
|
||||
settimer(revArmFromRol, 5);
|
||||
|
@ -1256,6 +1336,12 @@ var armButton = func {
|
|||
#print("arm button");
|
||||
# Disable button if too little power
|
||||
if (getprop(power) < minVoltageLimit) { return; }
|
||||
|
||||
# Do nothing if the AP is not turned on
|
||||
if (lockPitchMode.getValue() == pitchModes["OFF"]) {
|
||||
lockPitchMode.setIntValue(pitchArmModes["OFF"]);
|
||||
return;
|
||||
}
|
||||
|
||||
var pitchArm = lockPitchArm.getValue();
|
||||
|
||||
|
|
|
@ -19,33 +19,23 @@
|
|||
var nasal_dir = getprop("/sim/fg-root") ~ "/Aircraft/Instruments-3d/FG1000/Nasal/";
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/PropertyPublisher.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/PropertyUpdater.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/NavDataInterface.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/GenericEISPublisher.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/GenericNavComPublisher.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/GenericNavComUpdater.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/GenericFMSPublisher.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/GenericFMSUpdater.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/GenericADCPublisher.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/GenericFuelInterface.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/GenericFuelPublisher.nas', "fg1000");
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/GFC700Interface.nas', "fg1000");
|
||||
|
||||
var GenericInterfaceController = {
|
||||
|
||||
_instance : nil,
|
||||
|
||||
INTERFACE_LIST : [
|
||||
"NavDataInterface",
|
||||
"GenericEISPublisher",
|
||||
"GenericNavComPublisher",
|
||||
"GenericNavComUpdater",
|
||||
"GenericFMSPublisher",
|
||||
"GenericFMSUpdater",
|
||||
"GenericADCPublisher",
|
||||
"GenericFuelInterface",
|
||||
"GenericFuelPublisher",
|
||||
"GFC700Publisher",
|
||||
"GFC700Interface",
|
||||
{ id:"NavDataInterface", path: nasal_dir ~ 'Interfaces/NavDataInterface.nas' },
|
||||
{ id:"GenericEISPublisher", path: nasal_dir ~ 'Interfaces/GenericEISPublisher.nas' },
|
||||
{ id:"GenericNavComPublisher", path: nasal_dir ~ 'Interfaces/GenericNavComPublisher.nas' },
|
||||
{ id:"GenericNavComUpdater", path: nasal_dir ~ 'Interfaces/GenericNavComUpdater.nas' },
|
||||
{ id:"GenericFMSPublisher", path: nasal_dir ~ 'Interfaces/GenericFMSPublisher.nas' },
|
||||
{ id:"GenericFMSUpdater", path: nasal_dir ~ 'Interfaces/GenericFMSUpdater.nas' },
|
||||
{ id:"GenericADCPublisher", path: nasal_dir ~ 'Interfaces/GenericADCPublisher.nas' },
|
||||
{ id:"GenericFuelInterface", path: nasal_dir ~ 'Interfaces/GenericFuelInterface.nas' },
|
||||
{ id:"GenericFuelPublisher", path: nasal_dir ~ 'Interfaces/GenericFuelPublisher.nas' },
|
||||
{ id:"GFC700Interface", path: nasal_dir ~ 'Interfaces/GFC700Interface.nas' },
|
||||
{ id:"GFC700Publisher", path: nasal_dir ~ 'Interfaces/GFC700Publisher.nas' }
|
||||
],
|
||||
|
||||
# Factory method
|
||||
|
@ -69,18 +59,15 @@ var GenericInterfaceController = {
|
|||
start : func() {
|
||||
if (me.running) return;
|
||||
|
||||
# Reload the interfaces afresh to make development easier. In normal
|
||||
# usage this interface will only be started once anyway.
|
||||
foreach (var interface; GenericInterfaceController.INTERFACE_LIST) {
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/' ~ interface ~ '.nas', "fg1000");
|
||||
var code = sprintf("me.%sInstance = fg1000.%s.new();", interface, interface);
|
||||
io.load_nasal(interface.path, "fg1000");
|
||||
var code = sprintf("me.%sInstance = fg1000.%s.new();", interface.id, interface.id);
|
||||
var instantiate = compile(code);
|
||||
instantiate();
|
||||
}
|
||||
|
||||
foreach (var interface; GenericInterfaceController.INTERFACE_LIST) {
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/' ~ interface ~ '.nas', "fg1000");
|
||||
var code = 'me.' ~ interface ~ 'Instance.start();';
|
||||
var code = 'me.' ~ interface.id ~ 'Instance.start();';
|
||||
var start_interface = compile(code);
|
||||
start_interface();
|
||||
}
|
||||
|
@ -92,11 +79,13 @@ var GenericInterfaceController = {
|
|||
if (me.running == 0) return;
|
||||
|
||||
foreach (var interface; GenericInterfaceController.INTERFACE_LIST) {
|
||||
io.load_nasal(nasal_dir ~ 'Interfaces/' ~ interface ~ '.nas', "fg1000");
|
||||
var code = 'me.' ~ interface ~ 'Instance.stop();';
|
||||
io.load_nasal(interface.path, "fg1000");
|
||||
var code = 'me.' ~ interface.id ~ 'Instance.stop();';
|
||||
var stop_interface = compile(code);
|
||||
stop_interface();
|
||||
}
|
||||
|
||||
me.running = 0;
|
||||
},
|
||||
|
||||
restart : func() {
|
||||
|
|
|
@ -152,7 +152,6 @@ var MFDDisplay =
|
|||
# Display the Surround, EIS and NavMap and the appropriate top level on startup.
|
||||
obj.Surround.setVisible(1);
|
||||
obj.EIS.setVisible(1);
|
||||
obj.EIS.ondisplay();
|
||||
obj._MFDDevice.selectPage(obj.NavigationMap);
|
||||
|
||||
return obj;
|
||||
|
|
BIN
Aircraft/Instruments-3d/glider/wool-thread/adhesive.png
Normal file
After Width: | Height: | Size: 856 B |
1042
Aircraft/Instruments-3d/glider/wool-thread/wool-thread.ac
Normal file
BIN
Aircraft/Instruments-3d/glider/wool-thread/wool-thread.png
Normal file
After Width: | Height: | Size: 648 B |
37
Aircraft/Instruments-3d/glider/wool-thread/wool-thread.xml
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>wool-thread.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>noshadow</type>
|
||||
<object-name>wool-thread</object-name>
|
||||
<object-name>adhesive</object-name>
|
||||
</animation>
|
||||
|
||||
<params>
|
||||
<use-prop type="string">instrumentation/yawstring</use-prop>
|
||||
</params>
|
||||
|
||||
<animation>
|
||||
<type>texrotate</type>
|
||||
<object-name>wool-thread</object-name>
|
||||
<property alias="../../params/use-prop"/>
|
||||
<factor>1</factor>
|
||||
<center>
|
||||
<x>0.5</x>
|
||||
<y>0.5</y>
|
||||
<z>0.5</z>
|
||||
</center>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<z>1</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
|
||||
</PropertyList>
|
||||
|
||||
|
|
@ -58,6 +58,7 @@
|
|||
<marker-beacon>
|
||||
<name>marker-beacon</name>
|
||||
<number>0</number>
|
||||
<blink-mode>standard</blink-mode>
|
||||
</marker-beacon>
|
||||
|
||||
<heading-indicator-fg>
|
||||
|
|
61
Aircraft/ufo/Models/ufo-pointlight.xml
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PropertyList>
|
||||
<params>
|
||||
<power-source>/controls/lighting/nav-light</power-source>
|
||||
<name>UfoLight</name>
|
||||
<r>0.5</r>
|
||||
<g>0.5</g>
|
||||
<b>0.5</b>
|
||||
<x-m/>
|
||||
<y-m/>
|
||||
<z-m/>
|
||||
<heading-deg/>
|
||||
</params>
|
||||
<!-- search lights -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name alias="/params/name"/>
|
||||
<condition>
|
||||
<property alias="/params/power-source"/>
|
||||
</condition>
|
||||
</animation>
|
||||
<light>
|
||||
<name alias="/params/name"/>
|
||||
<type>point</type>
|
||||
<position>
|
||||
<x alias="/params/x-m"/>
|
||||
<y alias="/params/y-m"/>
|
||||
<z alias="/params/z-m"/>
|
||||
</position>
|
||||
<ambient>
|
||||
<r alias="/params/r"/>
|
||||
<g alias="/params/g"/>
|
||||
<b alias="/params/b"/>
|
||||
<a>1.0</a>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<r>1.0</r>
|
||||
<g>0.9</g>
|
||||
<b>0.7</b>
|
||||
<a>1.0</a>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<r>0.99</r>
|
||||
<g>0.9</g>
|
||||
<b>0.7</b>
|
||||
<a>1.0</a>
|
||||
</specular>
|
||||
<debug-color>
|
||||
<r>0.5</r>
|
||||
<g>0.5</g>
|
||||
<b>0</b>
|
||||
<a>1.0</a>
|
||||
</debug-color>
|
||||
<attenuation>
|
||||
<c>1.0</c>
|
||||
<l>0.35</l>
|
||||
<q>0.44</q>
|
||||
</attenuation>
|
||||
<range-m>13</range-m>
|
||||
</light>
|
||||
</PropertyList>
|
68
Aircraft/ufo/Models/ufo-spotlight.xml
Normal file
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PropertyList>
|
||||
<params>
|
||||
<power-source>/controls/lighting/taxi-light</power-source>
|
||||
<name>UfoLight</name>
|
||||
<r>0.5</r>
|
||||
<g>0.5</g>
|
||||
<b>0.5</b>
|
||||
<x-m/>
|
||||
<y-m/>
|
||||
<z-m/>
|
||||
<heading-deg/>
|
||||
</params>
|
||||
<!-- search lights -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name alias="/params/name"/>
|
||||
<condition>
|
||||
<property alias="/params/power-source"/>
|
||||
</condition>
|
||||
</animation>
|
||||
<light>
|
||||
<name alias="/params/name"/>
|
||||
<type>spot</type>
|
||||
<position>
|
||||
<x alias="/params/x-m"/>
|
||||
<y alias="/params/y-m"/>
|
||||
<z alias="/params/z-m"/>
|
||||
</position>
|
||||
<direction>
|
||||
<pitch-deg>62.1</pitch-deg>
|
||||
<roll-deg>0</roll-deg>
|
||||
<heading-deg alias="/params/heading-deg"/>
|
||||
</direction>
|
||||
<ambient>
|
||||
<r alias="/params/r"/>
|
||||
<g alias="/params/g"/>
|
||||
<b alias="/params/b"/>
|
||||
<a>1.0</a>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<r>1.0</r>
|
||||
<g>0.9</g>
|
||||
<b>0.7</b>
|
||||
<a>1.0</a>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<r>0.99</r>
|
||||
<g>0.9</g>
|
||||
<b>0.7</b>
|
||||
<a>1.0</a>
|
||||
</specular>
|
||||
<debug-color>
|
||||
<r>0.5</r>
|
||||
<g>0</g>
|
||||
<b>1</b>
|
||||
<a>1.0</a>
|
||||
</debug-color>
|
||||
<attenuation>
|
||||
<c>1.0</c>
|
||||
<l>0.09</l>
|
||||
<q>0.0032</q>
|
||||
</attenuation>
|
||||
<spot-exponent>1</spot-exponent>
|
||||
<spot-cutoff>20.5</spot-cutoff>
|
||||
<range-m>50</range-m>
|
||||
</light>
|
||||
</PropertyList>
|
|
@ -57,6 +57,115 @@
|
|||
<y>0</y>
|
||||
<z>1</z>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
</animation>
|
||||
<model>
|
||||
<name>Port nav</name>
|
||||
<path>ufo-pointlight.xml</path>
|
||||
<overlay>
|
||||
<params>
|
||||
<name>Ufo port nav light</name>
|
||||
<power-source>/controls/lighting/nav-lights</power-source>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
<heading-deg>0</heading-deg>
|
||||
<r>0.95</r>
|
||||
<g>0.5</g>
|
||||
<b>0.5</b>
|
||||
<a>1.0</a>
|
||||
</params>
|
||||
</overlay>
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>-3.3</y-m>
|
||||
<z-m>-0.45</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
<model>
|
||||
<name>Starboard nav</name>
|
||||
<path>ufo-pointlight.xml</path>
|
||||
<overlay>
|
||||
<params>
|
||||
<name>Ufo starboard nav light</name>
|
||||
<power-source>/controls/lighting/nav-lights</power-source>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
<r>0.5</r>
|
||||
<g>0.95</g>
|
||||
<b>0.5</b>
|
||||
<a>1.0</a>
|
||||
<heading-deg>0</heading-deg>
|
||||
</params>
|
||||
</overlay>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>3.3</y-m>
|
||||
<z-m>-0.45</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
<model>
|
||||
<name>Port light</name>
|
||||
<path>ufo-spotlight.xml</path>
|
||||
<overlay>
|
||||
<params>
|
||||
<name>Ufo port light</name>
|
||||
<power-source>/controls/lighting/landing-lights</power-source>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
<heading-deg>22</heading-deg>
|
||||
<r>0.95</r>
|
||||
<g>0.5</g>
|
||||
<b>0.5</b>
|
||||
<a>1.0</a>
|
||||
</params>
|
||||
</overlay>
|
||||
<offsets>
|
||||
<x-m>-0.50</x-m>
|
||||
<y-m>-2.5</y-m>
|
||||
<z-m>-0.45</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
<model>
|
||||
<name>Starboard light</name>
|
||||
<path>ufo-spotlight.xml</path>
|
||||
<overlay>
|
||||
<params>
|
||||
<name>Ufo starboard light</name>
|
||||
<power-source>/controls/lighting/landing-lights</power-source>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
<r>0.5</r>
|
||||
<g>0.95</g>
|
||||
<b>0.5</b>
|
||||
<a>1.0</a>
|
||||
<heading-deg>-22</heading-deg>
|
||||
</params>
|
||||
</overlay>
|
||||
<offsets>
|
||||
<x-m>-0.50</x-m>
|
||||
<y-m>2.5</y-m>
|
||||
<z-m>-0.45</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
<model>
|
||||
<name>Nose light</name>
|
||||
<path>ufo-spotlight.xml</path>
|
||||
<overlay>
|
||||
<params>
|
||||
<name>Ufo nose light</name>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
<heading-deg>0</heading-deg>
|
||||
</params>
|
||||
</overlay>
|
||||
<offsets>
|
||||
<x-m>-2.8</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>-0.45</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
</PropertyList>
|
||||
|
|
|
@ -249,7 +249,13 @@
|
|||
<line>makes slider effects coarser/finer.</line>
|
||||
</help>
|
||||
</sim>
|
||||
|
||||
<controls>
|
||||
<lighting>
|
||||
<landing-lights>0</landing-lights>
|
||||
<taxi-light>0</taxi-light>
|
||||
<nav-lights>0</nav-lights>
|
||||
</lighting>
|
||||
</controls>
|
||||
<input>
|
||||
<keyboard>
|
||||
<key n="8">
|
||||
|
|
|
@ -12,7 +12,7 @@ controls.gearDown = func(x) gear_key_down = x != 0;
|
|||
# maximum speed -----------------------------------------------------------------------------------
|
||||
|
||||
var maxspeed = props.globals.getNode("engines/engine/speed-max-mps");
|
||||
var speed = [10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000, 100000];
|
||||
var speed = [10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000, 100000, 500000, 1000000];
|
||||
var current = 7;
|
||||
|
||||
|
||||
|
@ -26,7 +26,10 @@ controls.flapsDown = func(x) {
|
|||
|
||||
var s = speed[current];
|
||||
maxspeed.setDoubleValue(s);
|
||||
gui.popupTip("Max. Speed " ~ s ~ " m/s");
|
||||
if (s >= 1000)
|
||||
gui.popupTip("Max. Speed " ~ s/1000.0 ~ " km/s");
|
||||
else
|
||||
gui.popupTip("Max. Speed " ~ s ~ " m/s");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<type>2d</type>
|
||||
<width><property>/sim/rendering/shadows/sun-atlas-size</property></width>
|
||||
<height><property>/sim/rendering/shadows/sun-atlas-size</property></height>
|
||||
<format>depth24</format>
|
||||
<format>depth16</format>
|
||||
<wrap-s>clamp-to-border</wrap-s>
|
||||
<wrap-t>clamp-to-border</wrap-t>
|
||||
<wrap-r>clamp-to-border</wrap-r>
|
||||
|
@ -43,7 +43,7 @@
|
|||
<pass n="1" include="csm-pass.xml">
|
||||
<name>csm1</name>
|
||||
<near-m>3.0</near-m>
|
||||
<far-m>50.0</far-m>
|
||||
<far-m>70.0</far-m>
|
||||
<viewport>
|
||||
<x>0.5</x>
|
||||
<y>0.0</y>
|
||||
|
@ -53,8 +53,8 @@
|
|||
</pass>
|
||||
<pass n="2" include="csm-pass.xml">
|
||||
<name>csm2</name>
|
||||
<near-m>50.0</near-m>
|
||||
<far-m>150.0</far-m>
|
||||
<near-m>70.0</near-m>
|
||||
<far-m>300.0</far-m>
|
||||
<viewport>
|
||||
<x>0.0</x>
|
||||
<y>0.5</y>
|
||||
|
@ -64,8 +64,8 @@
|
|||
</pass>
|
||||
<pass n="3" include="csm-pass.xml">
|
||||
<name>csm3</name>
|
||||
<near-m>150.0</near-m>
|
||||
<far-m>1500.0</far-m>
|
||||
<near-m>300.0</near-m>
|
||||
<far-m>1000.0</far-m>
|
||||
<viewport>
|
||||
<x>0.5</x>
|
||||
<y>0.5</y>
|
||||
|
|
|
@ -6,6 +6,11 @@
|
|||
<use-shadow-pass>csm1</use-shadow-pass>
|
||||
<use-shadow-pass>csm2</use-shadow-pass>
|
||||
<use-shadow-pass>csm3</use-shadow-pass>
|
||||
<clustered-shading>
|
||||
<tile-size>128</tile-size>
|
||||
<depth-slices>1</depth-slices>
|
||||
<num-threads>1</num-threads>
|
||||
</clustered-shading>
|
||||
<binding>
|
||||
<buffer>sun-shadowmap-atlas</buffer>
|
||||
<unit>10</unit>
|
||||
|
|
|
@ -388,36 +388,21 @@ There are a large number of techniques used by the models, with complex
|
|||
inheritance. Here is a handy list of the techniques, what they are for, and
|
||||
where the base technique is defined
|
||||
|
||||
Non-Compositor
|
||||
Model
|
||||
|
||||
# Where Defined Summary
|
||||
4 model-combined.xml ALS, quality>0, model>0
|
||||
5 model-defaults.xml Base ALS
|
||||
7 model-combined-deferred.xml Rembrandt, model>0
|
||||
9 model-combined.xml quality>0, model>0
|
||||
10 model-defaults.xml Base Rembrandt
|
||||
11 model-defaults.xml Generic shaders, quality>0
|
||||
13 model-defaults.xml Fallback - no predicate
|
||||
4 model-combined.xml ALS, quality>0, model>0
|
||||
5 model-default.xml ALS, basic
|
||||
7 model-combined.xml quality>0, model>0
|
||||
11 model-default.xml generic>0, quality>0
|
||||
13 model-default.xml Fallback - no predicate
|
||||
|
||||
|
||||
Compositor
|
||||
|
||||
# Where Defined Summary
|
||||
4 model-combined.xml quality>0, model>0
|
||||
7 model-combined.xml ALS, quality>0, model>0
|
||||
8 model-default.xml generic>0, quality>0
|
||||
9 model-default.xml Fallback - no predicate
|
||||
19 model-default.xml ALS, basic
|
||||
|
||||
|
||||
Scenery Hierarchy
|
||||
-----------------
|
||||
|
||||
Compositor
|
||||
Scenery
|
||||
|
||||
# Where defined Summary
|
||||
8 terrain-default.xml quality>0, generic>0
|
||||
9 terrain-default.xml Fallback - no predicate
|
||||
17 terrain-default.xml ALS, landmass=6, transition=6
|
||||
18 terrain-default.xml ALS, landmass>3, transition>2
|
||||
19 terrain-default.xml ALS, basic
|
||||
3 terrain-default.xml ALS, landmass=6, transition=6
|
||||
4 terrain-default.xml ALS, landmass>3, transition>2
|
||||
5 terrain-default.xml ALS, basic
|
||||
11 terrain-default.xml Photoscenery, quality>0, generic>0
|
||||
12 terrain-default.xml Fallback - no predicate
|
||||
|
|
|
@ -252,6 +252,7 @@
|
|||
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>grain_strength</name>
|
||||
|
|
|
@ -147,6 +147,7 @@
|
|||
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>orthophotoTexCoord</name>
|
||||
<index>14</index>
|
||||
|
|
|
@ -81,6 +81,7 @@
|
|||
<fragment-shader>Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>visibility</name>
|
||||
|
|
|
@ -97,6 +97,7 @@
|
|||
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>intrinsic_wetness</name>
|
||||
|
|
|
@ -93,6 +93,7 @@
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/crop.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>NoiseTex</name>
|
||||
|
|
|
@ -148,6 +148,7 @@
|
|||
<fragment-shader n="4">Shaders/secondary_lights.frag</fragment-shader>
|
||||
<fragment-shader n="5">Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader n="6">Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader n="7">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>visibility</name>
|
||||
|
|
|
@ -151,6 +151,7 @@
|
|||
<fragment-shader>Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>colorMode</name>
|
||||
|
@ -433,7 +434,8 @@
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/default.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
</program>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<!--<uniform>
|
||||
<name>texture</name>
|
||||
<type>sampler-2d</type>
|
||||
|
|
|
@ -166,6 +166,7 @@
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/forest.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>tangent</name>
|
||||
<index>6</index>
|
||||
|
|
|
@ -162,6 +162,7 @@
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/forest.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>tangent</name>
|
||||
<index>6</index>
|
||||
|
|
|
@ -140,6 +140,7 @@
|
|||
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>orthophotoTexCoord</name>
|
||||
<index>14</index>
|
||||
|
|
|
@ -162,6 +162,7 @@
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/forest.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>tangent</name>
|
||||
<index>6</index>
|
||||
|
|
|
@ -88,9 +88,17 @@
|
|||
</environment>
|
||||
</texture-unit>
|
||||
<polygon-offset>
|
||||
<factor>-0.5</factor>
|
||||
<units>-2.0</units>
|
||||
<factor>-2.0</factor>
|
||||
<units>-5.0</units>
|
||||
</polygon-offset>
|
||||
</pass>
|
||||
</technique>
|
||||
<technique n="5">
|
||||
<pass n="0">
|
||||
<polygon-offset>
|
||||
<factor>-2.0</factor>
|
||||
<units>-5.0</units>
|
||||
</polygon-offset>
|
||||
</pass>
|
||||
</technique>
|
||||
</PropertyList>
|
||||
|
|
|
@ -450,7 +450,8 @@ please see Docs/README.model-combined.eff for documentation
|
|||
<fragment-shader n="4">Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader n="5">Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader n="6">Shaders/shadows-include.frag</fragment-shader>
|
||||
</program>
|
||||
<fragment-shader n="7">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
|
||||
<uniform>
|
||||
<name>BaseTex</name>
|
||||
|
@ -1519,7 +1520,8 @@ please see Docs/README.model-combined.eff for documentation
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/ubershader.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
</program>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
|
||||
<uniform>
|
||||
<name>BaseTex</name>
|
||||
|
@ -2114,7 +2116,8 @@ please see Docs/README.model-combined.eff for documentation
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/ubershader.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
</program>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
|
||||
<uniform>
|
||||
<name>BaseTex</name>
|
||||
|
|
|
@ -137,6 +137,7 @@
|
|||
<fragment-shader>Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>visibility</name>
|
||||
|
@ -488,6 +489,7 @@
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader> <!--fog include-->
|
||||
<fragment-shader n="1">Shaders/default.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<!-- BEGIN fog include -->
|
||||
<uniform>
|
||||
|
|
|
@ -109,6 +109,7 @@
|
|||
<fragment-shader>Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>visibility</name>
|
||||
|
|
|
@ -148,6 +148,7 @@
|
|||
<fragment-shader>Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>visibility</name>
|
||||
|
@ -565,6 +566,7 @@
|
|||
<fragment-shader>Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>visibility</name>
|
||||
|
|
|
@ -457,7 +457,8 @@
|
|||
<fragment-shader n="5">Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader n="6">Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader n="7">Shaders/shadows-include.frag</fragment-shader>
|
||||
</program>
|
||||
<fragment-shader n="8">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
|
||||
<uniform>
|
||||
<name>BaseTex</name>
|
||||
|
@ -1550,6 +1551,7 @@
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/ubershader.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
|
||||
<uniform>
|
||||
|
|
|
@ -315,6 +315,7 @@
|
|||
<fragment-shader>Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>tangent</name>
|
||||
<index>6</index>
|
||||
|
|
|
@ -97,6 +97,7 @@
|
|||
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>intrinsic_wetness</name>
|
||||
|
|
|
@ -213,6 +213,7 @@
|
|||
<fragment-shader n="5">Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader n="6">Shaders/lightspot-ALS.frag</fragment-shader>
|
||||
<fragment-shader n="7">Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader n="8">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>visibility</name>
|
||||
|
@ -1046,7 +1047,8 @@
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/runway.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>tangent</name>
|
||||
<index>6</index>
|
||||
</attribute>
|
||||
|
|
|
@ -330,6 +330,7 @@
|
|||
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>orthophotoTexCoord</name>
|
||||
<index>14</index>
|
||||
|
@ -982,6 +983,7 @@
|
|||
<fragment-shader>Shaders/hazes.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>orthophotoTexCoord</name>
|
||||
<index>14</index>
|
||||
|
@ -1300,6 +1302,7 @@
|
|||
<fragment-shader>Shaders/noise.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>orthophotoTexCoord</name>
|
||||
<index>14</index>
|
||||
|
@ -1561,6 +1564,7 @@
|
|||
<fragment-shader>Shaders/default.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>orthophotoTexCoord</name>
|
||||
<index>14</index>
|
||||
|
|
|
@ -160,6 +160,7 @@
|
|||
<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
|
||||
<attribute>
|
||||
<name>orthophotoTexCoord</name>
|
||||
<index>14</index>
|
||||
|
|
|
@ -251,6 +251,7 @@ parameters :
|
|||
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
|
||||
<fragment-shader n="1">Shaders/transition.frag</fragment-shader>
|
||||
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
|
||||
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
|
||||
</program>
|
||||
|
||||
<uniform>
|
||||
|
|