Merge branch 'master' of gitorious.org:fg/fgdata
This commit is contained in:
commit
70c2a6a974
3 changed files with 573 additions and 1 deletions
528
Input/Joysticks/ThrustMaster/T-Flight-Hotas-X.xml
Normal file
528
Input/Joysticks/ThrustMaster/T-Flight-Hotas-X.xml
Normal 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>
|
|
@ -138,7 +138,6 @@ command interface /autopilot/route-manager/input:
|
|||
dest.getNode("runway").clearValue();
|
||||
}
|
||||
|
||||
print("updated runways");
|
||||
gui.dialog_update("route-manager");
|
||||
}
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Reference in a new issue