1
0
Fork 0

Merge branch 'Work' of \New Git\fgdata

This commit is contained in:
Vivian Meazza 2011-01-24 22:10:19 +00:00
commit fea8ca4385
7 changed files with 889 additions and 246 deletions

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -138,7 +138,6 @@ command interface /autopilot/route-manager/input:
dest.getNode("runway").clearValue();
}
print("updated runways");
gui.dialog_update("route-manager");
}

View file

@ -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 -->

View file

@ -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,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>
@ -1004,6 +1009,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 +1073,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 +1151,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 +1270,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 +1372,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 +1438,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 +1505,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 +1547,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 +1609,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 +1727,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 +1766,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 +1863,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 +1935,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 +2013,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 +2128,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 +2228,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 +2295,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 +2361,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 +2404,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 +2586,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 +2598,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 +2608,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>

View file

@ -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>