From c03ed7ee026479cdc6dfc2ae2eb950e22bee1f6c Mon Sep 17 00:00:00 2001 From: Torsten Dreyer <Torsten@t3r.de> Date: Sun, 23 Jan 2011 12:15:37 +0100 Subject: [PATCH 1/6] global-weather: add Curt's button and some tweaking - add Apply button for the METAR input - make the 'valid' checkbox disabled - it's a read-only property - cleanup some indention --- gui/dialogs/weather.xml | 111 ++++++++++++++++++++++++---------------- 1 file changed, 67 insertions(+), 44 deletions(-) diff --git a/gui/dialogs/weather.xml b/gui/dialogs/weather.xml index 471dde092..af363d4d8 100644 --- a/gui/dialogs/weather.xml +++ b/gui/dialogs/weather.xml @@ -56,7 +56,7 @@ <layout>hbox</layout> <text> <label>Cloud Layers (All Altitudes ft-AMSL)</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -74,7 +74,7 @@ <label>Altitude (ft)</label> <row>0</row> <col>1</col> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -84,7 +84,7 @@ <row>0</row> <col>2</col> <width>80</width> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -93,7 +93,7 @@ <label>Thickness (ft)</label> <row>0</row> <col>3</col> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -406,7 +406,7 @@ <layout>hbox</layout> <text> <label>Precipitation</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -424,7 +424,7 @@ <row>0</row> <col>0</col> <label>Rain</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -433,7 +433,7 @@ <row>0</row> <col>1</col> <label>Snow</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -478,7 +478,7 @@ <row>0</row> <col>3</col> <label>QNH (inHg)</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -1284,7 +1284,7 @@ <layout>hbox</layout> <text> <label>Boundary (All Elevations ft-AGL)</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -1303,7 +1303,7 @@ <row>0</row> <col>0</col> <label>Elevation</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -1313,7 +1313,7 @@ <col>1</col> <colspan>2</colspan> <label>Wind (dir/kt)</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -1322,7 +1322,7 @@ <row>0</row> <col>3</col> <label>Vis (m)</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -1331,7 +1331,7 @@ <row>0</row> <col>4</col> <label>Temp (C)</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -1340,7 +1340,7 @@ <row>0</row> <col>5</col> <label>Dewpt (C)</label> - <enable> + <enable> <property>/sim/gui/dialogs/weather-scenario/state</property> </enable> </text> @@ -1709,42 +1709,65 @@ <empty> <stretch>true</stretch> </empty> + <text> + <label>Data is valid</label> + </text> <checkbox> <property>/environment/metar/valid</property> - <label>valid</label> + <label/> <live>true</live> - <editable>false</editable> + <enable><false/></enable> </checkbox> </group> - <textbox> - <name>metar</name> - <halign>fill</halign> - <stretch>true</stretch> - <pref-width>180</pref-width> - <pref-height>50</pref-height> - <slider>20</slider> - <editable>true</editable> - <wrap>true</wrap> - <live>false</live> - <property>sim/gui/dialogs/weather-scenario/metar</property> - <enable> - <greater-than> - <property>/sim/gui/dialogs/weather-scenario/state</property> - <value type="int">1</value> - </greater-than>> - </enable> - <binding> - <command>dialog-apply</command> - <object-name>metar</object-name> - </binding> - <binding> - <command>nasal</command> - <script> - setprop( "/environment/metar/data", getprop( "sim/gui/dialogs/weather-scenario/metar") ); - </script> - </binding> - </textbox> + <group> + <layout>hbox</layout> + <textbox> + <name>metar</name> + <halign>fill</halign> + <stretch>true</stretch> + <pref-width>180</pref-width> + <pref-height>50</pref-height> + <slider>20</slider> + <editable>true</editable> + <wrap>true</wrap> + <live>false</live> + <property>sim/gui/dialogs/weather-scenario/metar</property> + <enable> + <greater-than> + <property>/sim/gui/dialogs/weather-scenario/state</property> + <value type="int">1</value> + </greater-than>> + </enable> + <binding> + <command>dialog-apply</command> + <object-name>metar</object-name> + </binding> + <binding> + <command>nasal</command> + <script> + setprop( "/environment/metar/data", getprop( "sim/gui/dialogs/weather-scenario/metar") ); + </script> + </binding> + </textbox> + <button> + <legend>Apply</legend> + <key>Esc</key> + <pref-width>50</pref-width> + <pref-height>50</pref-height> + <border>2</border> + <binding> + <command>dialog-apply</command> + <object-name>metar</object-name> + </binding> + <binding> + <command>nasal</command> + <script> + setprop( "/environment/metar/data", getprop( "sim/gui/dialogs/weather-scenario/metar") ); + </script> + </binding> + </button> + </group> <!-- Automatic Weather --> From 4c7527915272d05445280cd45137ffafb770edd3 Mon Sep 17 00:00:00 2001 From: Martin Spott <Martin.Spott@mgras.net> Date: Mon, 24 Jan 2011 17:56:29 +0100 Subject: [PATCH 2/6] Add more placeholders for differentiated land cover types. Requires someone to create the corresponding textures to make the best use of upcoming CORINE and custom land cover. Refers to this list: http://wiki.osgeo.org/wiki/LandcoverDB_CS_Detail --- materials.xml | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/materials.xml b/materials.xml index 4d77b60aa..321135430 100644 --- a/materials.xml +++ b/materials.xml @@ -748,6 +748,7 @@ Shared parameters for various materials. <name>DeciduousBroadCover</name> <name>DeciduousForest</name> <name>Bog</name> + <name>Heath</name> <texture>Terrain/deciduous1.png</texture> <texture>Terrain/deciduous2.png</texture> <texture>Terrain/deciduous4.png</texture> @@ -869,6 +870,7 @@ Shared parameters for various materials. <name>ShrubCover</name> <name>ShrubGrassCover</name> <name>ScrubCover</name> + <name>Sclerophyllous</name> <texture>Terrain/shrub1.png</texture> <!-- <texture>Terrain/shrub.png</texture> @@ -910,6 +912,10 @@ Shared parameters for various materials. </condition> <name>BuiltUpCover</name> <name>Urban</name> + <name>Construction</name> + <name>Construction</name> + <name>Industrial</name> + <name>Port</name> <effect>Effects/urban</effect> <texture-set> <texture>Terrain/city1.png</texture> @@ -1004,6 +1010,7 @@ Shared parameters for various materials. </equals> </condition> <name>Town</name> + <name>SubUrban</name> <texture>Terrain/Town1.png</texture> <xsize>1024</xsize> <ysize>1024</ysize> @@ -1067,6 +1074,8 @@ Shared parameters for various materials. <name>Stream</name> <name>Canal</name> <name>Lagoon</name> + <name>Estuary</name> + <name>Watercourse</name> <name>Saline</name> <texture>Terrain/water-lake.png</texture> <xsize>400</xsize> @@ -1143,6 +1152,7 @@ Shared parameters for various materials. <name>Marsh</name> <name>Littoral</name> <name>FloodLand</name> + <name>SaltMarsh</name> <name>HerbWetlandCover</name> <name>WoodedWetlandCover</name> <texture>Terrain/marsh2.png</texture> @@ -1261,6 +1271,7 @@ Shared parameters for various materials. <name>Grass</name> <name>Airport</name> <name>AirportKeep</name> + <name>Greenspace</name> <texture>Terrain/airport.png</texture> <xsize>125</xsize> <ysize>125</ysize> @@ -1362,6 +1373,8 @@ Shared parameters for various materials. <name>IrrCropPastureCover</name> <name>IrrCrop</name> <name>Orchard</name> + <name>Olives</name> + <name>Vineyard</name> <name>Rice</name> <texture>Terrain/irrcrop1.png</texture> <texture>Terrain/irrcrop2.png</texture> @@ -1426,6 +1439,7 @@ Shared parameters for various materials. <effect>Effects/crop</effect> <name>DryCropPastureCover</name> <name>DryCrop</name> + <name>NaturalCrop</name> <texture>Terrain/drycrop1.png</texture> <texture>Terrain/drycrop2.png</texture> <texture>Terrain/drycrop3.png</texture> @@ -1492,6 +1506,7 @@ Shared parameters for various materials. <effect>Effects/cropgrass</effect> <name>CropGrassCover</name> <name>CropGrass</name> + <name>Grassland</name> <texture>Terrain/cropgrass1.png</texture> <texture>Terrain/cropgrass2.png</texture> <texture>Terrain/cropgrass3.png</texture> @@ -1533,6 +1548,7 @@ Shared parameters for various materials. </condition> <name>CropWoodCover</name> <name>CropWood</name> + <name>AgroForest</name> <effect>Effects/landmass</effect> <texture>Terrain/cropwood.png</texture> <xsize>2000</xsize> @@ -1594,6 +1610,7 @@ Shared parameters for various materials. <name>DeciduousBroadCover</name> <name>DeciduousForest</name> <name>Bog</name> + <name>Heath</name> <texture>Terrain.winter/deciduous1.png</texture> <texture>Terrain.winter/deciduous2.png</texture> <texture>Terrain.winter/deciduous4.png</texture> @@ -1711,6 +1728,7 @@ Shared parameters for various materials. <name>ShrubCover</name> <name>ShrubGrassCover</name> <name>ScrubCover</name> + <name>Sclerophyllous</name> <texture>Terrain.winter/shrub.png</texture> <texture>Terrain.winter/shrub2.png</texture> <texture>Terrain.winter/shrub3.png</texture> @@ -1749,6 +1767,9 @@ Shared parameters for various materials. </condition> <name>BuiltUpCover</name> <name>Urban</name> + <name>Construction</name> + <name>Industrial</name> + <name>Port</name> <effect>Effects/urban</effect> <texture-set> <texture>Terrain/city1.png</texture> @@ -1843,6 +1864,7 @@ Shared parameters for various materials. </equals> </condition> <name>Town</name> + <name>SubUrban</name> <texture>Terrain.winter/Town1.png</texture> <xsize>1024</xsize> <ysize>1024</ysize> @@ -1914,6 +1936,8 @@ Shared parameters for various materials. <name>Stream</name> <name>Canal</name> <name>Lagoon</name> + <name>Estuary</name> + <name>Watercourse</name> <name>Saline</name> <texture>Terrain.winter/water-lake.png</texture> <xsize>400</xsize> @@ -1990,6 +2014,7 @@ Shared parameters for various materials. <name>Marsh</name> <name>Littoral</name> <name>FloodLand</name> + <name>SaltMarsh</name> <name>HerbWetlandCover</name> <name>WoodedWetlandCover</name> <texture>Terrain.winter/marsh2.png</texture> @@ -2104,6 +2129,7 @@ Shared parameters for various materials. <name>Grass</name> <name>Airport</name> <name>AirportKeep</name> + <name>Greenspace</name> <texture>Terrain.winter/airport.png</texture> <xsize>125</xsize> <ysize>125</ysize> @@ -2203,6 +2229,9 @@ Shared parameters for various materials. <name>IrrCropPastureCover</name> <name>IrrCrop</name> <name>Orchard</name> + <name>Olives</name> + <name>Vineyard</name> + <name>Rice</name> <texture>Terrain.winter/irrcrop1.png</texture> <texture>Terrain.winter/irrcrop2.png</texture> <texture>Terrain.winter/irrcrop3.png</texture> @@ -2267,6 +2296,7 @@ Shared parameters for various materials. </condition> <name>DryCropPastureCover</name> <name>DryCrop</name> + <name>NaturalCrop</name> <texture>Terrain.winter/drycrop1.png</texture> <texture>Terrain.winter/drycrop2.png</texture> <texture>Terrain.winter/drycrop3.png</texture> @@ -2332,6 +2362,7 @@ Shared parameters for various materials. </condition> <name>CropGrassCover</name> <name>CropGrass</name> + <name>Grassland</name> <texture>Terrain.winter/cropgrass1.png</texture> <texture>Terrain.winter/cropgrass2.png</texture> <texture>Terrain.winter/cropgrass3.png</texture> @@ -2374,6 +2405,7 @@ Shared parameters for various materials. </equals> </condition> <name>CropWoodCover</name> + <name>AgroForest</name> <texture>Terrain.winter/cropwood.png</texture> <xsize>2000</xsize> <ysize>2000</ysize> @@ -2555,6 +2587,7 @@ Shared parameters for various materials. <name>Dirt</name> <name>OpenMining</name> <name>Rock</name> + <name>Dump</name> <texture>Terrain/rock.png</texture> <xsize>500</xsize> <ysize>500</ysize> @@ -2566,6 +2599,7 @@ Shared parameters for various materials. <material> <name>Lava</name> + <name>Burnt</name> <texture>Terrain/lava.png</texture> <xsize>500</xsize> <ysize>500</ysize> @@ -2575,6 +2609,18 @@ Shared parameters for various materials. <bumpiness>0.3</bumpiness> </material> + <material> + <name>Asphalt</name> + <texture>Terrain/asphalt.png</texture> + <xsize>400</xsize> + <ysize>400</ysize> + <solid>1</solid> + <friction-factor>1.0</friction-factor> + <rolling-friction>0.02</rolling-friction> + <bumpiness>0.01</bumpiness> + <load-resistance>1e10</load-resistance> + </material> + <material> <name>Freeway</name> <name>Road</name> From 1e928f282ae2069e5b5c03734732f8d90f6c88b6 Mon Sep 17 00:00:00 2001 From: Martin Spott <Martin.Spott@mgras.net> Date: Mon, 24 Jan 2011 18:55:26 +0100 Subject: [PATCH 3/6] Mmmhhhh :-/ --- materials.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/materials.xml b/materials.xml index 321135430..ab5264a26 100644 --- a/materials.xml +++ b/materials.xml @@ -913,7 +913,6 @@ Shared parameters for various materials. <name>BuiltUpCover</name> <name>Urban</name> <name>Construction</name> - <name>Construction</name> <name>Industrial</name> <name>Port</name> <effect>Effects/urban</effect> From 17ac428f43c1fd4e16ca2374705be8aa2c900936 Mon Sep 17 00:00:00 2001 From: ThorstenB <brehmt@gmail.com> Date: Mon, 24 Jan 2011 19:35:35 +0100 Subject: [PATCH 4/6] Adrien Bailly: Thrustmaster T.Flight Hotas X joystick support thanks to him, 'flug' and the forum (also removed a debug line from route-manger GUI) --- .../ThrustMaster/T-Flight-Hotas-X.xml | 528 ++++++++++++++++++ gui/dialogs/route-manager.xml | 1 - 2 files changed, 528 insertions(+), 1 deletion(-) create mode 100644 Input/Joysticks/ThrustMaster/T-Flight-Hotas-X.xml diff --git a/Input/Joysticks/ThrustMaster/T-Flight-Hotas-X.xml b/Input/Joysticks/ThrustMaster/T-Flight-Hotas-X.xml new file mode 100644 index 000000000..1bbb5e386 --- /dev/null +++ b/Input/Joysticks/ThrustMaster/T-Flight-Hotas-X.xml @@ -0,0 +1,528 @@ +<?xml version="1.0"?> +<!-- +Joystick binding for ThrustMaster T.Flight Hotas X +Adrien Bailly + +Original file by 'flug': +http://www.flightgear.org/forums/viewtopic.php?f=2&t=5517 + + +Axis # (direction) mapped to +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +axis 0: (left-right) aileron +axis 1: (forward-backward) elevator +axis 2: (slider) throttle +axis 3: (twist) rudder +axis 4: (top hat) view left/right + +Note that internally, FG numbers buttons starting with 0. The markings on the +HOTAS-X start with Button 1, and I have used the HOTAS-X number markings below: + +Button # Location Function +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +button 1: (joystick R1) Brakes & reset view +button 2: (joystick L1) Push-To-Talk (for fgcom) +button 3: (joystick R3) Trim nose down +button 4: (joystick L3) Trim nose up + +NO MODIFIER: + button 5: (throttle) Flaps up + button 6: (throttle) Flaps down + button 7: (throttle) Gear up/down + button 8: (throttle) Switch view + +MODIFIER 1 (keep button R2 down): + button 5: (throttle) Mixture rich + button 6: (throttle) Mixture lean + button 7 (throttle) Propeller coarse + button 8: (throttle) Propeller fine + +MODIFIER 2 (keep button L2 down): + button 5: (throttle) Battery ON/OFF + button 6: (throttle) Fuel selector + button 7 (throttle) Magnetos + button 8: (throttle) ??? + +MODIFIER 1+2 (keep buttons L2 and R2 down): + button 5: (throttle) ??? + button 6: (throttle) ??? + button 7 (throttle) ??? + button 8: (throttle) ??? + +button 9: (throttle R2) Modifier 1 +button 10: (throttle L2) Modifier 2 + +button SE: (base SE) ??? +button ST: (base ST) ??? + +HAT SWITCH +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +With the rocker switch and throttle twist controlling view direction, it is easy +to look all around in different directions. +--> + +<PropertyList> + <name type="string">T.Flight Hotas X</name> + <name type="string">Hotas X</name> + <name type="string">Thrustmaster Hotas X</name> + <name type="string">Thrustmaster T.Flight Hotas X</name> + <nasal> + <script> + <![CDATA[ + setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1", 0); + setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2", 0); + ]]> + </script> + </nasal> + + <!-- ~~~~~~~~~~~~~~~~~~~~~~~~ Axis Bindings ~~~~~~~~~~~~~~~~~~~~~~~~ --> + <axis n="0"> + <desc>Joystick: Aileron</desc> + <binding> + <command>property-scale</command> + <property>/controls/flight/aileron</property> + <factor type="double">1.0</factor> + <power type="double">1.0</power> + </binding> + </axis> + + <axis n="1"> + <desc>Joystick: Elevator</desc> + <binding> + <command>property-scale</command> + <property>/controls/flight/elevator</property> + <factor type="double">-1.0</factor> + <power type="double">1.0</power> + </binding> + </axis> + + <axis n= "2"> + <desc>Throttle</desc> + <binding> + <command>nasal</command> + <script>controls.throttleAxis()</script> + </binding> + </axis> + + <axis n="3"> + <desc>Rudder</desc> + <binding> + <command>property-scale</command> + <property>/controls/flight/rudder</property> + <power type="double">1.0</power> + </binding> + </axis> + + <!-- Throttle rocker switch axis pans l/r --> + <axis n="4"> + <desc>Throttle rocker switch: View Left/Right</desc> + <dead-band type="double">0.05</dead-band> + <binding> + <command>property-scale</command> + <property>/sim/current-view/heading-offset-deg</property> + <factor type="double">-180</factor> + <power type="double">1.2</power> + </binding> + </axis> + + <!-- ~~~~~~~~~~~~~~~~~~~~~~~~ Hat Switch ~~~~~~~~~~~~~~~~~~~~~~~~ --> + <axis n="5"> + <desc>Hat Switch: View Direction (use mod buttons for different effects)</desc> + <low> + <repeatable>true</repeatable> + <binding> + <command>property-adjust</command> + <property>/sim/current-view/goal-heading-offset-deg</property> + <step type="double">5.0</step> + </binding> + </low> + <high> + <repeatable>true</repeatable> + <binding> + <command>property-adjust</command> + <property>/sim/current-view/goal-heading-offset-deg</property> + <step type="double">-5.0</step> + </binding> + </high> + </axis> + + <axis n="6"> + <desc>Hat Switch: View Elevation (use mod buttons for different effects)</desc> + <low> + <repeatable>true</repeatable> + <binding> + <command>property-adjust</command> + <property>/sim/current-view/goal-pitch-offset-deg</property> + <step type="double">5.0</step> + </binding> + </low> + <high> + <repeatable>true</repeatable> + <binding> + <command>property-adjust</command> + <property>/sim/current-view/goal-pitch-offset-deg</property> + <step type="double">-5.0</step> + </binding> + </high> + </axis> + +<!-- ~~~~~~~~~~~~~~~~~~~~~~~~ Button Bindings ~~~~~~~~~~~~~~~~~~~~~~~~ --> + + <!-- Trigger (R1) --> + <button n="0"> + <desc>Button R1(1) (trigger): Brakes + reset to pilot view</desc> + <repeatable type="bool">true</repeatable> + <binding> + <command>nasal</command> + <script> + controls.applyBrakes(1.0); + setprop("/sim/current-view/view-number", 0); + view.resetView(); + </script> + </binding> + <mod-up> + <binding> + <command>nasal</command> + <script> + controls.applyBrakes(0.0); + </script> + </binding> + </mod-up> + </button> + + <!-- Button right of Hat switch, Labeled L1(2) --> + <button n="1"> + <desc>Button L1(2) (joystick center): Push-To-Talk (for fgcom)</desc> + <binding> + <command>nasal</command> + <script> + controls.ptt(1); # push-to-talk (fgcom) ON + </script> + </binding> + <mod-up> + <binding> + <command>nasal</command> + <script> + controls.ptt(0); # push-to-talk (fgcom) OFF + </script> + </binding> + </mod-up> + </button> + + + <!-- Front button, right of trigger, (R3) --> + <button n="2"> + <desc>Button R3(3): Elevator trim down</desc> + <repeatable type="bool">true</repeatable> + <binding> + <command>nasal</command> + <script> + controls.elevatorTrim(1); + gui.popupTip(sprintf("Elevator trim: %d", 100 * getprop("/controls/flight/elevator-trim"))); + </script> + </binding> + </button> + + + <!-- Button far right of Hat switch, Labeled L3(4) --> + <button n="3"> + <desc>Button L3(4): Elevator trim down</desc> + <repeatable type="bool">true</repeatable> + <binding> + <command>nasal</command> + <script> + controls.elevatorTrim(-1); + gui.popupTip(sprintf("Elevator trim: %d", 100 * getprop("/controls/flight/elevator-trim"))); + </script> + </binding> + </button> + + + <!-- Throttle Button labeled 5 --> + <button n="4"> + <desc>Button (5): Flaps up / Mixture rich / Battery on-off / ???</desc> + <repeatable type="bool">false</repeatable> + <binding> + <command>nasal</command> + <script> + mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1"); + mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2"); + if(mod1==0 and mod2==0) { + controls.flapsDown(-1); + gui.popupTip(sprintf("Flaps: %d deg", 30*getprop("/controls/flight/flaps")+0.1)); + } + elsif(mod1==1 and mod2==0) { + controls.adjMixture(10); + gui.popupTip(sprintf("Mixture rich")); + } + elsif(mod1 == 0 and mod2==1) { + j = getprop("/controls/electric/battery-switch"); + if(j == 0) { + setprop("/controls/electric/battery-switch", 1); + gui.popupTip(sprintf("Battery ON")); + } else { + setprop("/controls/electric/battery-switch", 0); + gui.popupTip(sprintf("Battery OFF")); + } + } + elsif(mod1==1 and mod2==1) { + + } + </script> + </binding> + <mod-up> + <binding> + <command>nasal</command> + <script> + mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1"); + mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2"); + if(mod1==0 and mod2==0) { + controls.flapsDown(0); + gui.popupTip(sprintf("Flaps: %d deg", 30*getprop("/controls/flight/flaps")+0.1)); + } + elsif(mod1==1 and mod2==0) { + # mixture + } + elsif(mod1 == 0 and mod2==1) { + + } + elsif(mod1==1 and mod2==1) { + + } + </script> + </binding> + </mod-up> + </button> + + <!-- Throttle Button labeled 6 --> + <button n="5"> + <desc>Button (6): Flaps down / Mixture lean / Fuel selector / ???</desc> + <repeatable type="bool">false</repeatable> + <binding> + <command>nasal</command> + <script> + mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1"); + mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2"); + if(mod1==0 and mod2==0) { + controls.flapsDown(1); + gui.popupTip(sprintf("Flaps: %d deg", 30*getprop("/controls/flight/flaps")+0.1)); + } + elsif(mod1==1 and mod2==0) { + controls.adjMixture(-10); + gui.popupTip(sprintf("Mixture lean")); + } + elsif(mod1 == 0 and mod2==1) { + k = getprop("/controls/fuel/tank/fuel_selector"); + if (k == 0) { + setprop("/controls/fuel/tank/fuel_selector", 1); + setprop("/controls/engines/engine/fuel-pump", 1); + } else { + setprop("/controls/fuel/tank/fuel_selector", 0); + setprop("/controls/engines/engine/fuel-pump", 0); + } + } + elsif(mod1==1 and mod2==1) { + + } + </script> + </binding> + <mod-up> + <binding> + <command>nasal</command> + <script> + mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1"); + mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2"); + if(mod1==0 and mod2==0) { + controls.flapsDown(0); + gui.popupTip(sprintf("Flaps: %d deg", 30*getprop("/controls/flight/flaps")+0.1)); + } + elsif(mod1==1 and mod2==0) { + # mixture + } + elsif(mod1 == 0 and mod2==1) { + + } + elsif(mod1==1 and mod2==1) { + + } + </script> + </binding> + </mod-up> + </button> + + <!-- Throttle Button labeled 7 (circle)--> + <button n="6"> + <desc>Button (7): Landing Gear Toggle / Propeller coarse / Magnetos / ???</desc> + <repeatable type="bool">false</repeatable> + <binding> + <command>nasal</command> + <script> + mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1"); + mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2"); + if(mod1==0 and mod2==0) { + controls.gearToggle(); + } + elsif(mod1==1 and mod2==0) { + controls.adjPropeller(10); + gui.popupTip(sprintf("Propeller coarse")); + } + elsif(mod1 == 0 and mod2==1) { + l = getprop("/controls/engines/engine/magnetos"); + if (l == 0) { + props.setAll("/controls/engines/engine", "magnetos", 1); + } elsif ( l == 1 ) { + props.setAll("/controls/engines/engine", "magnetos", 2); + } elsif ( l == 2 ) { + props.setAll("/controls/engines/engine", "magnetos", 3); + } elsif ( l == 3 ) { + props.setAll("/controls/engines/engine", "magnetos", 0); + } + } + elsif(mod1==1 and mod2==1) { + + } + </script> + </binding> + <mod-up> + <binding> + <command>nasal</command> + <script> + mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1"); + mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2"); + if(mod1==0 and mod2==0) { + # gear + } + elsif(mod1==1 and mod2==0) { + # propeller + } + elsif(mod1 == 0 and mod2==1) { + # magnetos + } + elsif(mod1==1 and mod2==1) { + + } + </script> + </binding> + </mod-up> + </button> + + <!-- Throttle Button labeled 8 (triangle) --> + <button n="7"> + <desc>Button (8): Switch view / Propeller fine / Starter / ???</desc> + <repeatable type="bool">false</repeatable> + <binding> + <command>nasal</command> + <script> + mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1"); + mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2"); + if(mod1==0 and mod2==0) { + view.stepView(1); + } + elsif(mod1==1 and mod2==0) { + controls.adjPropeller(-10); + gui.popupTip(sprintf("Propeller fine")); + } + elsif(mod1==0 and mod2==1) { + setprop("/controls/engines/engine/starter", 1); + setprop("/controls/engines/engine[1]/starter", 1); + setprop("/controls/engines/engine[2]/starter", 1); + setprop("/controls/engines/engine[3]/starter", 1); + setprop("/controls/engines/engine[4]/starter", 1); + gui.popupTip(sprintf("Cranking...")); + } + elsif(mod1==1 and mod2==1) { + + } + </script> + </binding> + <mod-up> + <binding> + <command>nasal</command> + <script> + mod1 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1"); + mod2 = getprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2"); + if(mod1==0 and mod2==0) { + # switch views + } + elsif(mod1==1 and mod2==0) { + # propeller + } + elsif(mod1==0 and mod2==1) { + setprop("/controls/engines/engine/starter", 0); + setprop("/controls/engines/engine[1]/starter", 0); + setprop("/controls/engines/engine[2]/starter", 0); + setprop("/controls/engines/engine[3]/starter", 0); + setprop("/controls/engines/engine[4]/starter", 0); + } + elsif(mod1==1 and mod2==1) { + + } + </script> + </binding> + </mod-up> + </button> + + <!-- Throttle Button labeled R2(9) --> + <button n="8"> + <desc>Button R2(9): Modifier 1</desc> + <repeatable type="bool">false</repeatable> + <binding> + <command>nasal</command> + <script> + setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1", 1); + </script> + </binding> + <mod-up> + <binding> + <command>nasal</command> + <script> + setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier1", 0); + </script> + </binding> + </mod-up> + </button> + + <!-- Throttle Button labeled L2(10) --> + <button n="9"> + <desc>Button L2(10): Modifier2</desc> + <repeatable type="bool">false</repeatable> + <binding> + <command>nasal</command> + <script> + setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2", 1); + </script> + </binding> + <mod-up> + <binding> + <command>nasal</command> + <script> + setprop("/input/joysticks/js[0]/t-flight-hotas-x-modifier2", 0); + </script> + </binding> + </mod-up> + </button> + + <!-- Base Button SE --> + <button n="10"> + <desc>Button SE: ???</desc> + <repeatable type="bool">false</repeatable> + <binding> + <command>nasal</command> + <script> + gui.popupTip(sprintf("Button n=10 unused")); + </script> + </binding> + </button> + + <!-- Base Button ST --> + <button n="11"> + <desc>Button ST: ???</desc> + <repeatable type="bool">false</repeatable> + <binding> + <command>nasal</command> + <script> + gui.popupTip(sprintf("Button n=11 unused")); + </script> + </binding> + </button> +</PropertyList> diff --git a/gui/dialogs/route-manager.xml b/gui/dialogs/route-manager.xml index ed72e6310..90904b350 100644 --- a/gui/dialogs/route-manager.xml +++ b/gui/dialogs/route-manager.xml @@ -138,7 +138,6 @@ command interface /autopilot/route-manager/input: dest.getNode("runway").clearValue(); } - print("updated runways"); gui.dialog_update("route-manager"); } From bcfc08fe561355b128561130a2494a4c9b044e22 Mon Sep 17 00:00:00 2001 From: Torsten Dreyer <Torsten@t3r.de> Date: Mon, 24 Jan 2011 19:59:09 +0100 Subject: [PATCH 5/6] Environment: smoothing light and moderate turbulence a bit --- Environment/environment.xml | 414 +++++++++++++++++++---------------- Environment/interpolator.xml | 34 ++- 2 files changed, 248 insertions(+), 200 deletions(-) diff --git a/Environment/environment.xml b/Environment/environment.xml index 2d773f391..25f43c064 100644 --- a/Environment/environment.xml +++ b/Environment/environment.xml @@ -1,4 +1,4 @@ -<?xml version="1.0" ?> +<?xml version="1.0" ?> <!-- This file is part of FlightGear, the free flight simulator http://www.flightgear.org/ @@ -15,199 +15,212 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. --> - <PropertyList> +<PropertyList> <weather-scenarios> <scenario> - <name>Disabled</name> - <description>METAR weather generation is disabled. Use the above controls to setup your weather.</description> + <name type="string">Disabled</name> + <description type="string">METAR weather generation is disabled. Use the above controls to setup your weather.</description> </scenario> <scenario> - <name>Live data</name> - <description>Fetch live weather data for your nearest airport from noaa.gov. You need a working internet connection. - All the controls in this dialog are computed automatically, once a valid METAR is received. + <name type="string">Live data</name> + <description type="string"> + Fetch live weather data for your nearest airport from noaa.gov. You need a working internet connection. + All the controls in this dialog are computed automatically, once a valid METAR is received. </description> </scenario> <scenario> - <name>Manual input</name> - <description>Enter your favorite METAR weather in the textbox below. A valid METAR syntax is required.</description> + <name type="string">Manual input</name> + <description type="string">Enter your favorite METAR weather in the textbox below. A valid METAR syntax is required.</description> </scenario> <scenario> - <name>Fair weather</name> - <metar>XXXX 012345Z 15003KT 12SM SCT041 FEW200 20/08 Q1015 NOSIG</metar> - <description>A lovely day for trip to your favorite 100$ hamburger airfield</description> + <name type="string">Fair weather</name> + <metar type="string">XXXX 012345Z 15003KT 12SM SCT041 FEW200 20/08 Q1015 NOSIG</metar> + <description type="string">A lovely day for trip to your favorite 100$ hamburger airfield</description> </scenario> <scenario> - <name>Thunderstorm</name> - <metar>XXXX 012345Z 15012G25KT 4000 TSRA FEW030CB SCT035TCU 27/24 Q0995</metar> - <description>A hot and damp summer day with thunderstorms developing in the afternoon. - Be prepared for reduction of visibility in showers and strong gusts - near thunderstorms</description> + <name type="string">Thunderstorm</name> + <metar type="string">XXXX 012345Z 15012G25KT 4000 TSRA FEW030CB SCT035TCU 27/24 Q0995</metar> + <description type="string"> + A hot and damp summer day with thunderstorms developing in the afternoon. + Be prepared for reduction of visibility in showers and strong gusts + near thunderstorms + </description> </scenario> <scenario> - <name>Stormy Monday</name> - <metar>XXXX 012345Z 28035G50KT 250V300 9999 TSRA SCT022CB BKN030 13/09 Q1005</metar> - <description>You're out for an adventure? Gusty winds blowing from the west - and isolated thunderstorms should be avoided. Fasten your seatbelt!</description> + <name type="string">Stormy Monday</name> + <metar type="string">XXXX 012345Z 28035G50KT 250V300 9999 TSRA SCT022CB BKN030 13/09 Q1005</metar> + <description type="string"> + You're out for an adventure? Gusty winds blowing from the west + and isolated thunderstorms should be avoided. Fasten your seatbelt! + </description> </scenario> <scenario> - <name>Marginal VFR</name> - <metar>XXXX 012345Z 23010KT 5000 SHRA SCT012 BKN018 OVC060 15/11 Q1010</metar> - <description>After the storm - limited visibility and some showers. - Go or No-Go?</description> + <name type="string">Marginal VFR</name> + <metar type="string">XXXX 012345Z 23010KT 5000 SHRA SCT012 BKN018 OVC060 15/11 Q1010</metar> + <description type="string"> + After the storm - limited visibility and some showers. + Go or No-Go? + </description> </scenario> <scenario> - <name>CAT I minimum</name> - <metar>XXXX 012345Z 15015KT 0800 -RA BKN002 OVC004 08/06 Q0990</metar> - <description>If you just got your IFR rating, this is what you are allowed to do. But can you?</description> + <name type="string">CAT I minimum</name> + <metar type="string">XXXX 012345Z 15015KT 0800 -RA BKN002 OVC004 08/06 Q0990</metar> + <description type="string">If you just got your IFR rating, this is what you are allowed to do. But can you?</description> </scenario> <scenario> - <name>CAT II minimum</name> - <metar>XXXX 012345Z 15010KT 0400 -RA BKN001 OVC002 08/06 Q0990</metar> - <description>With just a 1/4 mile visibility and clouds at 100ft, you don't see much of the runway until - seconds before touchdown. Trust your instruments to stay alive.</description> + <name type="string">CAT II minimum</name> + <metar type="string">XXXX 012345Z 15010KT 0400 -RA BKN001 OVC002 08/06 Q0990</metar> + <description type="string"> + With just a 1/4 mile visibility and clouds at 100ft, you don't see much of the runway until + seconds before touchdown. Trust your instruments to stay alive. + </description> </scenario> <scenario> - <name>CAT IIIb minimum</name> - <metar>XXXX 012345Z VRB01KT 0100 -RA FG OVC001 OVC002 02/02 Q0990</metar> - <description>This is expert level. You will barely see the taxiway from the cockpit, even if you are - on ground. Fog and light drizzle, freezing level at 1000ft.</description> + <name type="string">CAT IIIb minimum</name> + <metar type="string">XXXX 012345Z VRB01KT 0100 -RA FG OVC001 OVC002 02/02 Q0990</metar> + <description type="string"> + This is expert level. You will barely see the taxiway from the cockpit, even if you are + on ground. Fog and light drizzle, freezing level at 1000ft. + </description> </scenario> <scenario> - <name>Early morning fog</name> - <metar>XXXX 012345Z 00000KT 0800 FG NCD 08/08 A3030</metar> - <description>Fog developed this autumn's morning. Expect good visibility above the layer. - However - getting through it can be a challenge. Stay alive for a 500' climb - and you'll see the sun!</description> + <name type="string">Early morning fog</name> + <metar type="string">XXXX 012345Z 00000KT 0800 FG NCD 08/08 A3030</metar> + <description type="string"> + Fog developed this autumn's morning. Expect good visibility above the layer. + However - getting through it can be a challenge. Stay alive for a 500' climb + and you'll see the sun! + </description> </scenario> </weather-scenarios> - <weather-scenario>Fair weather</weather-scenario> + <weather-scenario type="string">Fair weather</weather-scenario> <config> - <boundary-transition-ft>500</boundary-transition-ft> + <boundary-transition-ft type="double">500</boundary-transition-ft> - <boundary> + <boundary> - <entry> - <elevation-ft>0</elevation-ft> - <wind-from-heading-deg>270</wind-from-heading-deg> - <wind-speed-kt>3</wind-speed-kt> - <visibility-m>16093.44</visibility-m> - <pressure-sea-level-inhg>29.92</pressure-sea-level-inhg> - <temperature-degc>15.0</temperature-degc> - <dewpoint-degc>5.0</dewpoint-degc> - <turbulence> - <factor>0.2</factor> - <magnitude-norm>0.0</magnitude-norm> - <rate-hz>1.0</rate-hz> - </turbulence> - <wind-heading-change-deg>0</wind-heading-change-deg> - <wind-speed-change-rel>0</wind-speed-change-rel> - </entry> + <entry> + <elevation-ft type="double">0</elevation-ft> + <wind-from-heading-deg type="double">270</wind-from-heading-deg> + <wind-speed-kt type="double">3</wind-speed-kt> + <visibility-m type="double">16093.44</visibility-m> + <pressure-sea-level-inhg type="double">29.92</pressure-sea-level-inhg> + <temperature-degc type="double">15.0</temperature-degc> + <dewpoint-degc type="double">5.0</dewpoint-degc> + <turbulence> + <factor type="double">0.2</factor> + <magnitude-norm type="double">0.0</magnitude-norm> + <rate-hz type="double">1.0</rate-hz> + </turbulence> + <wind-heading-change-deg type="double">0</wind-heading-change-deg> + <wind-speed-change-rel type="double">0</wind-speed-change-rel> + </entry> - <entry> - <elevation-ft>500</elevation-ft> - <wind-from-heading-deg>280</wind-from-heading-deg> - <wind-speed-kt>6</wind-speed-kt> - <turbulence> - <factor>1.0</factor> - <magnitude-norm>0.1</magnitude-norm> - <rate-hz>1.0</rate-hz> - </turbulence> - <wind-heading-change-deg>5</wind-heading-change-deg> - <wind-speed-change-rel>0.3</wind-speed-change-rel> - </entry> + <entry> + <elevation-ft type="double">500</elevation-ft> + <wind-from-heading-deg type="double">280</wind-from-heading-deg> + <wind-speed-kt type="double">6</wind-speed-kt> + <turbulence> + <factor type="double">1.0</factor> + <magnitude-norm type="double">0.1</magnitude-norm> + <rate-hz type="double">1.0</rate-hz> + </turbulence> + <wind-heading-change-deg type="double">5</wind-heading-change-deg> + <wind-speed-change-rel type="double">0.3</wind-speed-change-rel> + </entry> - </boundary> + </boundary> - <aloft> + <aloft> - <entry> - <elevation-ft>5000</elevation-ft> - <wind-from-heading-deg>300</wind-from-heading-deg> - <wind-speed-kt>10</wind-speed-kt> - <visibility-m>16093.44</visibility-m> - <pressure-sea-level-inhg>29.92</pressure-sea-level-inhg> - <turbulence> - <factor>0.5</factor> - <magnitude-norm>0.05</magnitude-norm> - <rate-hz>1.0</rate-hz> - </turbulence> - <wind-heading-change-deg>25</wind-heading-change-deg> - <wind-speed-change-rel>1</wind-speed-change-rel> - </entry> + <entry> + <elevation-ft type="double">5000</elevation-ft> + <wind-from-heading-deg type="double">300</wind-from-heading-deg> + <wind-speed-kt type="double">10</wind-speed-kt> + <visibility-m type="double">16093.44</visibility-m> + <pressure-sea-level-inhg type="double">29.92</pressure-sea-level-inhg> + <turbulence> + <factor type="double">0.5</factor> + <magnitude-norm type="double">0.05</magnitude-norm> + <rate-hz type="double">1.0</rate-hz> + </turbulence> + <wind-heading-change-deg type="double">25</wind-heading-change-deg> + <wind-speed-change-rel type="double">1</wind-speed-change-rel> + </entry> - <entry> - <elevation-ft>10000</elevation-ft> - <wind-from-heading-deg>310</wind-from-heading-deg> - <wind-speed-kt>20</wind-speed-kt> - <turbulence> - <factor>0.0</factor> - <magnitude-norm>0.0</magnitude-norm> - <rate-hz>1.0</rate-hz> - </turbulence> - <wind-heading-change-deg>30</wind-heading-change-deg> - <wind-speed-change-rel>1.2</wind-speed-change-rel> - </entry> + <entry> + <elevation-ft type="double">10000</elevation-ft> + <wind-from-heading-deg type="double">310</wind-from-heading-deg> + <wind-speed-kt type="double">20</wind-speed-kt> + <turbulence> + <factor type="double">0.0</factor> + <magnitude-norm type="double">0.0</magnitude-norm> + <rate-hz type="double">1.0</rate-hz> + </turbulence> + <wind-heading-change-deg type="double">30</wind-heading-change-deg> + <wind-speed-change-rel type="double">1.2</wind-speed-change-rel> + </entry> - <entry> - <elevation-ft>18000</elevation-ft> - <wind-from-heading-deg>320</wind-from-heading-deg> - <wind-speed-kt>30</wind-speed-kt> - <wind-heading-change-deg>35</wind-heading-change-deg> - <wind-speed-change-rel>1.3</wind-speed-change-rel> - </entry> + <entry> + <elevation-ft type="double">18000</elevation-ft> + <wind-from-heading-deg type="double">320</wind-from-heading-deg> + <wind-speed-kt type="double">30</wind-speed-kt> + <wind-heading-change-deg type="double">35</wind-heading-change-deg> + <wind-speed-change-rel type="double">1.3</wind-speed-change-rel> + </entry> - <entry> - <elevation-ft>24000</elevation-ft> - <wind-from-heading-deg>330</wind-from-heading-deg> - <wind-speed-kt>50</wind-speed-kt> - <wind-heading-change-deg>35</wind-heading-change-deg> - <wind-speed-change-rel>1.3</wind-speed-change-rel> - </entry> + <entry> + <elevation-ft type="double">24000</elevation-ft> + <wind-from-heading-deg type="double">330</wind-from-heading-deg> + <wind-speed-kt type="double">50</wind-speed-kt> + <wind-heading-change-deg type="double">35</wind-heading-change-deg> + <wind-speed-change-rel type="double">1.3</wind-speed-change-rel> + </entry> - <entry> - <elevation-ft>30000</elevation-ft> - <wind-from-heading-deg>340</wind-from-heading-deg> - <wind-speed-kt>70</wind-speed-kt> - <wind-heading-change-deg>35</wind-heading-change-deg> - <wind-speed-change-rel>1.3</wind-speed-change-rel> - </entry> + <entry> + <elevation-ft type="double">30000</elevation-ft> + <wind-from-heading-deg type="double">340</wind-from-heading-deg> + <wind-speed-kt type="double">70</wind-speed-kt> + <wind-heading-change-deg type="double">35</wind-heading-change-deg> + <wind-speed-change-rel type="double">1.3</wind-speed-change-rel> + </entry> - </aloft> + </aloft> </config> <clouds> - <layer n="0"> - <coverage>clear</coverage> - <elevation-ft>-9999</elevation-ft> - <thickness-ft>600</thickness-ft> - <transition-ft>150</transition-ft> - <span-m>40000</span-m> - </layer> - <layer n="1"> - <coverage>clear</coverage> - <elevation-ft>-9999</elevation-ft> - <thickness-ft>65</thickness-ft> - <transition-ft>25</transition-ft> - <span-m>40000</span-m> - </layer> - <layer n="2"> - <coverage>clear</coverage> - <elevation-ft>-9999</elevation-ft> - <span-m>40000</span-m> - </layer> - <layer n="3"> - <coverage>clear</coverage> - <elevation-ft>-9999</elevation-ft> - <span-m>40000</span-m> - </layer> - <layer n="4"> - <coverage>clear</coverage> - <elevation-ft>-9999</elevation-ft> - <span-m>40000</span-m> - </layer> + <layer n="0"> + <coverage type="string">clear</coverage> + <elevation-ft type="double">-9999</elevation-ft> + <thickness-ft type="double">600</thickness-ft> + <transition-ft type="double">150</transition-ft> + <span-m>40000</span-m> + </layer> + <layer n="1"> + <coverage type="string">clear</coverage> + <elevation-ft type="double">-9999</elevation-ft> + <thickness-ft type="double">65</thickness-ft> + <transition-ft type="double">25</transition-ft> + <span-m type="double">40000</span-m> + </layer> + <layer n="2"> + <coverage type="string">clear</coverage> + <elevation-ft type="double">-9999</elevation-ft> + <span-m type="double">40000</span-m> + </layer> + <layer n="3"> + <coverage type="double">clear</coverage> + <elevation-ft type="double">-9999</elevation-ft> + <span-m type="double">40000</span-m> + </layer> + <layer n="4"> + <coverage type="string">clear</coverage> + <elevation-ft type="double">-9999</elevation-ft> + <span-m type="double">40000</span-m> + </layer> </clouds> <cloudlayers include="cloudlayers.xml"/> @@ -225,67 +238,80 @@ Wait for /environment/metar[10]/valid to become true. --> - <metar n="0">/environment/metar[0]</metar> <!-- nearest airport --> - <metar n="1">/environment/metar[1]</metar> <!-- NAV1 --> - <metar n="2">/environment/metar[2]</metar> <!-- NAV2 --> - <metar n="3">/environment/metar[3]</metar> <!-- VHF-COMM1 --> - <metar n="4">/environment/metar[4]</metar> <!-- VHF-COMM2 --> - <metar n="5">/environment/metar[5]</metar> <!-- UHF-COMM1 --> - <metar n="6">/environment/metar[6]</metar> <!-- UHF-COMM2 --> - + <metar n="0" type="string">/environment/metar[0]</metar> + <!-- nearest airport --> + <metar n="1" type="string">/environment/metar[1]</metar> + <!-- NAV1 --> + <metar n="2" type="string">/environment/metar[2]</metar> + <!-- NAV2 --> + <metar n="3" type="string">/environment/metar[3]</metar> + <!-- VHF-COMM1 --> + <metar n="4" type="string">/environment/metar[4]</metar> + <!-- VHF-COMM2 --> + <metar n="5" type="string">/environment/metar[5]</metar> + <!-- UHF-COMM1 --> + <metar n="6" type="string">/environment/metar[6]</metar> + <!-- UHF-COMM2 --> + <!-- User defined queries --> - <metar n="10">/environment/metar[10]</metar> - <metar n="11">/environment/metar[11]</metar> - + <metar n="10" type="string">/environment/metar[10]</metar> + <metar n="11" type="string">/environment/metar[11]</metar> + <!-- use NOAA for METAR (no aloft data) --> - <data-source>noaa</data-source> + <data-source type="string">noaa</data-source> <!-- use http://www.navlost.eu/ for METAR and aloft data --> <!-- data-source>nwx<data-source --> - <enabled>true</enabled> + <enabled type="bool">true</enabled> </realwx> <metar> - <!-- create a low-level cloud layer for fog/mist/haze from metar --> - <set-ground-cloud-layer type="bool">true</set-ground-cloud-layer> + <!-- create a low-level cloud layer for fog/mist/haze from metar --> + <set-ground-cloud-layer type="bool">true</set-ground-cloud-layer> </metar> + <turbulence> + <!-- the turbulence/magnitude-norm interpolator applies this value + as an exponent to the magnitude --> + <sensitivity type="double">2</sensitivity> + </turbulence> + <params> - <metar-max-age-min type="long">240</metar-max-age-min> - <metar-updates-environment type="bool">true</metar-updates-environment> - <metar-updates-winds-aloft type="bool">true</metar-updates-winds-aloft> - <control-fdm-atmosphere type="bool">true</control-fdm-atmosphere> - <contrail-altitude>30000</contrail-altitude> - <!-- definitions for the metar generated fog/mist/haze layer --> - <fog-mist-haze-layer> - <offset-from-station-elevation-ft>-200</offset-from-station-elevation-ft> - <visibility-above-layer-m>20000</visibility-above-layer-m> + <metar-max-age-min type="long">240</metar-max-age-min> + <metar-updates-environment type="bool">true</metar-updates-environment> + <metar-updates-winds-aloft type="bool">true</metar-updates-winds-aloft> + <control-fdm-atmosphere type="bool">true</control-fdm-atmosphere> + <contrail-altitude type="double">30000</contrail-altitude> + <!-- definitions for the metar generated fog/mist/haze layer --> + <fog-mist-haze-layer> + <offset-from-station-elevation-ft type="double">-200</offset-from-station-elevation-ft> + <visibility-above-layer-m type="double">20000</visibility-above-layer-m> - <fog-thickness-ft>500</fog-thickness-ft> - <fog-2dlayer-alpha>1.0</fog-2dlayer-alpha> - <fog-2dlayer-coverage>overcast</fog-2dlayer-coverage> - <fog-bc-2dlayer-coverage>broken</fog-bc-2dlayer-coverage> - <fog-shallow-thickness-ft>30</fog-shallow-thickness-ft> + <fog-thickness-ft type="double">500</fog-thickness-ft> + <fog-2dlayer-alpha type="double">1.0</fog-2dlayer-alpha> + <fog-2dlayer-coverage type="string">overcast</fog-2dlayer-coverage> + <fog-bc-2dlayer-coverage type="string">broken</fog-bc-2dlayer-coverage> + <fog-shallow-thickness-ft type="double">30</fog-shallow-thickness-ft> - <mist-thickness-ft>2000</mist-thickness-ft> - <mist-2dlayer-alpha>0.8</mist-2dlayer-alpha> - <mist-2dlayer-coverage>overcast</mist-2dlayer-coverage> + <mist-thickness-ft type="double">2000</mist-thickness-ft> + <mist-2dlayer-alpha type="double">0.8</mist-2dlayer-alpha> + <mist-2dlayer-coverage type="string">overcast</mist-2dlayer-coverage> - <haze-thickness-ft>2000</haze-thickness-ft> - <haze-2dlayer-alpha>0.6</haze-2dlayer-alpha> - <haze-2dlayer-coverage>overcast</haze-2dlayer-coverage> - </fog-mist-haze-layer> + <haze-thickness-ft type="double">2000</haze-thickness-ft> + <haze-2dlayer-alpha type="double">0.6</haze-2dlayer-alpha> + <haze-2dlayer-coverage type="string">overcast</haze-2dlayer-coverage> + </fog-mist-haze-layer> </params> <wildfire> - <enabled type="bool" userarchive="y">false</enabled> - <share-events type="bool" userarchive="y">false</share-events> - <save-on-exit type="bool" userarchive="y">false</save-on-exit> - <restore-on-startup type="bool" userarchive="y">false</restore-on-startup> - <fire-on-crash type="bool" userarchive="y">false</fire-on-crash> - <report-score type="bool" userarchive="y">false</report-score> - <data type="string"/> + <enabled type="bool" userarchive="y">false</enabled> + <share-events type="bool" userarchive="y">false</share-events> + <save-on-exit type="bool" userarchive="y">false</save-on-exit> + <restore-on-startup type="bool" userarchive="y">false</restore-on-startup> + <fire-on-crash type="bool" userarchive="y">false</fire-on-crash> + <report-score type="bool" userarchive="y">false</report-score> + <data type="string"/> </wildfire> </PropertyList> diff --git a/Environment/interpolator.xml b/Environment/interpolator.xml index 04f942d57..bbe155d67 100644 --- a/Environment/interpolator.xml +++ b/Environment/interpolator.xml @@ -22,7 +22,7 @@ All filters are enabled on /environment/config/enabled=true --> <PropertyList> - + <filter> <name>EnvironmentInterpolator:temperature-sea-level-degc</name> <enable> @@ -35,7 +35,7 @@ <type>noise-spike</type> <max-rate-of-change>0.1667</max-rate-of-change> </filter> - + <filter> <name>EnvironmentInterpolator:dewpoint-sea-level-degc</name> <enable> @@ -48,7 +48,7 @@ <type>noise-spike</type> <max-rate-of-change>0.1667</max-rate-of-change> </filter> - + <filter> <!-- transfer the interpolated QNH to the global environment @@ -127,7 +127,7 @@ </filter> <filter> - <name>EnvironmentInterpolator:turbulence-magnitude</name> + <name>EnvironmentInterpolator:turbulence-raw-magnitude</name> <enable> <condition> <property>/environment/config/enabled</property> @@ -139,12 +139,34 @@ </condition> <property>/environment/config/presets/turbulence-magnitude-norm-override</property> </input> - <input>/environment/config/interpolated/turbulence/magnitude-norm</input> - <output>/environment/turbulence/magnitude-norm</output> + <input> + <property>/environment/config/interpolated/turbulence/magnitude-norm</property> + </input> + <output>/environment/turbulence/raw-magnitude-norm</output> <type>exponential</type> <filter-time>1</filter-time> </filter> + <filter> + <name>EnvironmentInterpolator:turbulence-magnitude</name> + <enable> + <condition> + <property>/environment/config/enabled</property> + </condition> + </enable> + <input> + <expression> + <pow> + <property>/environment/turbulence/raw-magnitude-norm</property> + <property>/environment/turbulence/sensitivity</property> + </pow> + </expression> + </input> + <output>/environment/turbulence/magnitude-norm</output> + <type>gain</type> + <gain>1</gain> + </filter> + <filter> <name>EnvironmentInterpolator:turbulence-rate</name> <enable> From fd37daff0523200585e9b6f0ee8cedfdfe44492f Mon Sep 17 00:00:00 2001 From: ThorstenB <brehmt@gmail.com> Date: Mon, 24 Jan 2011 20:34:53 +0100 Subject: [PATCH 6/6] 777-200: integrated Gijs' CDU new CDU/radio panel view (and minor preferences.xml issue) --- preferences.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/preferences.xml b/preferences.xml index 42157e508..4a25675cf 100644 --- a/preferences.xml +++ b/preferences.xml @@ -575,7 +575,7 @@ Started September 2000 by David Megginson, david@megginson.com <mouse> <hide-cursor type="bool" userarchive="y">true</hide-cursor> - <cursor-timeout-sec type="int" userarchive="y">10.0</cursor-timeout-sec> + <cursor-timeout-sec type="double" userarchive="y">10.0</cursor-timeout-sec> </mouse> <replay>