Merge branch 'master' of git://gitorious.org/fg/fgdata
|
@ -3,33 +3,30 @@
|
|||
<PropertyList>
|
||||
<sim>
|
||||
<model>
|
||||
|
||||
<livery>
|
||||
<name type="string">EI-MCF</name>
|
||||
<index type="int">2</index>
|
||||
<texture>Liveries/fuselage-eimcf.png</texture>
|
||||
</livery>
|
||||
|
||||
|
||||
<livery>
|
||||
<name type="string">EI-MCF</name>
|
||||
<index type="int">2</index>
|
||||
<texture>Liveries/fuselage.eimcf.png</texture>
|
||||
</livery>
|
||||
|
||||
<liverytail>
|
||||
<name type="string">EI-MCF</name>
|
||||
<index type="int">2</index>
|
||||
<texture>Liveries/tail.png</texture>
|
||||
</liverytail>
|
||||
<liverytail>
|
||||
<name type="string">EI-MCF</name>
|
||||
<index type="int">2</index>
|
||||
<texture>Liveries/tail.png</texture>
|
||||
</liverytail>
|
||||
|
||||
<liverywing>
|
||||
<name type="string">EI-MCF</name>
|
||||
<index type="int">2</index>
|
||||
<texture>Liveries/wing.png</texture>
|
||||
</liverywing>
|
||||
<name type="string">EI-MCF</name>
|
||||
<index type="int">2</index>
|
||||
<texture>Liveries/wing.png</texture>
|
||||
</liverywing>
|
||||
|
||||
<c172p>
|
||||
<immat>false</immat>
|
||||
<c172p>
|
||||
<immat>false</immat>
|
||||
<fairing1>true</fairing1>
|
||||
<fairing2>false</fairing2>
|
||||
<fairing3>false</fairing3>
|
||||
</c172p>
|
||||
</c172p>
|
||||
|
||||
</model>
|
||||
</sim>
|
||||
|
|
Before Width: | Height: | Size: 169 KiB After Width: | Height: | Size: 169 KiB |
Before Width: | Height: | Size: 221 KiB After Width: | Height: | Size: 221 KiB |
BIN
Aircraft/c172p/Models/c172p-01.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
Aircraft/c172p/Models/c172p-02.png
Normal file
After Width: | Height: | Size: 13 KiB |
|
@ -17,7 +17,7 @@ Legacy 2D instruments and actions for the 3D C172P cockpit.
|
|||
<instruments>
|
||||
|
||||
<!-- labels -->
|
||||
<instrument include="/labels/labelbcn.xml">
|
||||
<instrument include="/Labels/labelbcn.xml">
|
||||
<name>labelbcn</name>
|
||||
<x>495</x>
|
||||
<y>-270</y>
|
||||
|
@ -26,7 +26,7 @@ Legacy 2D instruments and actions for the 3D C172P cockpit.
|
|||
</instrument>
|
||||
|
||||
<!-- labels -->
|
||||
<instrument include="/labels/labelnav.xml">
|
||||
<instrument include="/Labels/labelnav.xml">
|
||||
<name>labelnav</name>
|
||||
<x>458</x>
|
||||
<y>-270</y>
|
||||
|
@ -35,7 +35,7 @@ Legacy 2D instruments and actions for the 3D C172P cockpit.
|
|||
</instrument>
|
||||
|
||||
<!-- labels -->
|
||||
<instrument include="/labels/labelpto.xml">
|
||||
<instrument include="/Labels/labelpto.xml">
|
||||
<name>labelpto</name>
|
||||
<x>422</x>
|
||||
<y>-270</y>
|
||||
|
@ -44,7 +44,7 @@ Legacy 2D instruments and actions for the 3D C172P cockpit.
|
|||
</instrument>
|
||||
|
||||
<!-- labels -->
|
||||
<instrument include="/labels/labelsto.xml">
|
||||
<instrument include="/Labels/Labelsto.xml">
|
||||
<name>labelsto</name>
|
||||
<x>525</x>
|
||||
<y>-270</y>
|
||||
|
@ -53,7 +53,7 @@ Legacy 2D instruments and actions for the 3D C172P cockpit.
|
|||
</instrument>
|
||||
|
||||
<!-- labels -->
|
||||
<instrument include="/labels/labeltax.xml">
|
||||
<instrument include="/Labels/labeltax.xml">
|
||||
<name>labeltax</name>
|
||||
<x>493</x>
|
||||
<y>-204</y>
|
||||
|
@ -62,7 +62,7 @@ Legacy 2D instruments and actions for the 3D C172P cockpit.
|
|||
</instrument>
|
||||
|
||||
<!-- labels -->
|
||||
<instrument include="/labels/labellng.xml">
|
||||
<instrument include="/Labels/labellng.xml">
|
||||
<name>labellng</name>
|
||||
<x>525</x>
|
||||
<y>-204</y>
|
||||
|
|
Before Width: | Height: | Size: 221 KiB After Width: | Height: | Size: 221 KiB |
BIN
Aircraft/c172p/Models/c172p-int-01.png
Normal file
After Width: | Height: | Size: 238 KiB |
BIN
Aircraft/c172p/Models/c172p-int-02.png
Normal file
After Width: | Height: | Size: 216 KiB |
|
@ -44,7 +44,7 @@ name "BottomLink"
|
|||
loc 0.0176049 -0.0188099 0
|
||||
data 8
|
||||
Mesh.009
|
||||
texture "c172p-02.rgb"
|
||||
texture "c172p-02.png"
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
-1.048 -0.921304 0.020872
|
||||
|
@ -65,7 +65,7 @@ name "TopLink"
|
|||
loc 0.0274526 -0.0318764 0
|
||||
data 8
|
||||
Mesh.009
|
||||
texture "c172p-02.rgb"
|
||||
texture "c172p-02.png"
|
||||
crease 30.000000
|
||||
numvert 4
|
||||
-0.881331 -0.859786 0.020872
|
||||
|
@ -6481,7 +6481,7 @@ OBJECT poly
|
|||
name "Panel_1"
|
||||
data 8
|
||||
Mesh.026
|
||||
texture "c172p-int-02.rgb"
|
||||
texture "c172p-int-02.png"
|
||||
crease 80.000000
|
||||
numvert 27
|
||||
-0.596017 0.059132 0.497091
|
||||
|
@ -21670,7 +21670,7 @@ OBJECT poly
|
|||
name "BackSeat"
|
||||
data 8
|
||||
Mesh.099
|
||||
texture "c172p-int-01.rgb"
|
||||
texture "c172p-int-01.png"
|
||||
crease 30.000000
|
||||
numvert 28
|
||||
1.0541 -0.62155 -0.460064
|
||||
|
@ -22051,7 +22051,7 @@ OBJECT poly
|
|||
name "BeaconSwitch"
|
||||
data 16
|
||||
RockerSwitch.006
|
||||
texture "c172p-int-01.rgb"
|
||||
texture "c172p-int-01.png"
|
||||
crease 30.000000
|
||||
numvert 10
|
||||
-0.355953 -0.258566 0.147111
|
||||
|
@ -25546,7 +25546,7 @@ OBJECT poly
|
|||
name "CopilotSeat"
|
||||
data 13
|
||||
FrontSeat.002
|
||||
texture "c172p-int-01.rgb"
|
||||
texture "c172p-int-01.png"
|
||||
crease 30.000000
|
||||
numvert 24
|
||||
0.324408 -0.59928 -0.432994
|
||||
|
@ -25811,7 +25811,7 @@ OBJECT poly
|
|||
name "Exhaust"
|
||||
data 8
|
||||
Mesh.108
|
||||
texture "c172p-02.rgb"
|
||||
texture "c172p-02.png"
|
||||
crease 30.000000
|
||||
numvert 16
|
||||
-1.29585 -0.770666 -0.290534
|
||||
|
@ -26519,7 +26519,7 @@ OBJECT poly
|
|||
name "LandingLightSwitch"
|
||||
data 16
|
||||
RockerSwitch.007
|
||||
texture "c172p-int-01.rgb"
|
||||
texture "c172p-int-01.png"
|
||||
crease 30.000000
|
||||
numvert 10
|
||||
-0.355953 -0.210915 0.122068
|
||||
|
@ -26847,7 +26847,7 @@ OBJECT poly
|
|||
name "LeftWheel"
|
||||
data 8
|
||||
Mesh.013
|
||||
texture "c172p-02.rgb"
|
||||
texture "c172p-02.png"
|
||||
crease 30.000000
|
||||
numvert 64
|
||||
0.660989 -1.02105 1.09349
|
||||
|
@ -27364,7 +27364,7 @@ OBJECT poly
|
|||
name "LeftWheelStrut"
|
||||
data 8
|
||||
Mesh.014
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 24
|
||||
0.764081 -0.650906 0.414912
|
||||
|
@ -30339,7 +30339,7 @@ OBJECT poly
|
|||
name "NavLightSwitch"
|
||||
data 16
|
||||
RockerSwitch.008
|
||||
texture "c172p-int-01.rgb"
|
||||
texture "c172p-int-01.png"
|
||||
crease 30.000000
|
||||
numvert 10
|
||||
-0.355953 -0.258566 0.17285
|
||||
|
@ -30410,7 +30410,7 @@ OBJECT poly
|
|||
name "NoseWheel"
|
||||
data 8
|
||||
Mesh.003
|
||||
texture "c172p-02.rgb"
|
||||
texture "c172p-02.png"
|
||||
crease 30.000000
|
||||
numvert 64
|
||||
-1.0174 -1.06218 -0.04389
|
||||
|
@ -30927,7 +30927,7 @@ OBJECT poly
|
|||
name "NoseWheelStrut"
|
||||
data 8
|
||||
Mesh.005
|
||||
texture "c172p-02.rgb"
|
||||
texture "c172p-02.png"
|
||||
crease 30.000000
|
||||
numvert 24
|
||||
-0.951212 -0.69659 0.025989
|
||||
|
@ -33719,7 +33719,7 @@ OBJECT poly
|
|||
name "PilotSeat"
|
||||
data 13
|
||||
FrontSeat.003
|
||||
texture "c172p-int-01.rgb"
|
||||
texture "c172p-int-01.png"
|
||||
crease 30.000000
|
||||
numvert 24
|
||||
0.324408 -0.59928 0.05193
|
||||
|
@ -33926,7 +33926,7 @@ OBJECT poly
|
|||
name "PitotHeatSwitch"
|
||||
data 16
|
||||
RockerSwitch.009
|
||||
texture "c172p-int-01.rgb"
|
||||
texture "c172p-int-01.png"
|
||||
crease 30.000000
|
||||
numvert 10
|
||||
-0.355953 -0.258566 0.198937
|
||||
|
@ -33997,7 +33997,7 @@ OBJECT poly
|
|||
name "PitotTube"
|
||||
data 8
|
||||
Mesh.111
|
||||
texture "c172p-02.rgb"
|
||||
texture "c172p-02.png"
|
||||
crease 30.000000
|
||||
numvert 9
|
||||
-0.227717 0.464279 1.53536
|
||||
|
@ -35166,7 +35166,7 @@ OBJECT poly
|
|||
name "Propeller"
|
||||
data 8
|
||||
Mesh.102
|
||||
texture "c172p-02.rgb"
|
||||
texture "c172p-02.png"
|
||||
crease 30.000000
|
||||
numvert 26
|
||||
-1.80489 -0.18863 0.878791
|
||||
|
@ -35401,7 +35401,7 @@ OBJECT poly
|
|||
name "Propeller.Fast"
|
||||
data 8
|
||||
Mesh.136
|
||||
texture "c172p-01.rgb"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 32
|
||||
-1.78664 0.657935 -0.710061
|
||||
|
@ -35622,7 +35622,7 @@ OBJECT poly
|
|||
name "Propeller.Slow"
|
||||
data 8
|
||||
Mesh.137
|
||||
texture "c172p-01.rgb"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 32
|
||||
-1.78664 0.657935 -0.710061
|
||||
|
@ -36100,7 +36100,7 @@ OBJECT poly
|
|||
name "RightWheel"
|
||||
data 8
|
||||
Mesh.070
|
||||
texture "c172p-02.rgb"
|
||||
texture "c172p-02.png"
|
||||
crease 30.000000
|
||||
numvert 64
|
||||
0.66085 -1.02854 -1.22172
|
||||
|
@ -36617,7 +36617,7 @@ OBJECT poly
|
|||
name "RightWheelStrut"
|
||||
data 8
|
||||
Mesh.004
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 24
|
||||
0.576418 -1.10992 -1.08343
|
||||
|
@ -36692,7 +36692,7 @@ OBJECT poly
|
|||
name "StrobeSwitch"
|
||||
data 16
|
||||
RockerSwitch.010
|
||||
texture "c172p-int-02.rgb"
|
||||
texture "c172p-int-02.png"
|
||||
crease 30.000000
|
||||
numvert 10
|
||||
-0.355953 -0.258566 0.122068
|
||||
|
@ -36763,7 +36763,7 @@ OBJECT poly
|
|||
name "TaxiLightSwitch"
|
||||
data 16
|
||||
RockerSwitch.011
|
||||
texture "c172p-int-01.rgb"
|
||||
texture "c172p-int-01.png"
|
||||
crease 30.000000
|
||||
numvert 10
|
||||
-0.355953 -0.211263 0.147111
|
||||
|
@ -42563,7 +42563,7 @@ OBJECT poly
|
|||
name "baggagedoor"
|
||||
data 8
|
||||
Mesh.072
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 44
|
||||
1.45499 -0.166666 0.478551
|
||||
|
@ -44122,7 +44122,7 @@ OBJECT poly
|
|||
name "charniere3"
|
||||
data 8
|
||||
Mesh.191
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 55.000000
|
||||
numvert 28
|
||||
-0.128478 -0.335913 0.535157
|
||||
|
@ -44317,7 +44317,7 @@ OBJECT poly
|
|||
name "charniere4"
|
||||
data 8
|
||||
Mesh.141
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 55.000000
|
||||
numvert 28
|
||||
-0.128478 -0.335913 -0.535158
|
||||
|
@ -45270,7 +45270,7 @@ OBJECT poly
|
|||
name "fairing1"
|
||||
data 9
|
||||
Plane.019
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 324
|
||||
-1.17802 -1.00328 0.034077
|
||||
|
@ -47857,7 +47857,7 @@ OBJECT poly
|
|||
name "fairing2"
|
||||
data 9
|
||||
Plane.021
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 324
|
||||
0.444673 -0.918008 1.18589
|
||||
|
@ -50444,7 +50444,7 @@ OBJECT poly
|
|||
name "fairing3"
|
||||
data 9
|
||||
Plane.020
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 324
|
||||
0.444673 -0.913253 -1.14083
|
||||
|
@ -53222,7 +53222,7 @@ OBJECT poly
|
|||
name "fuselage_1"
|
||||
data 8
|
||||
Mesh.073
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 80.000000
|
||||
numvert 1166
|
||||
1.73839 0.167172 0
|
||||
|
@ -64254,7 +64254,7 @@ OBJECT poly
|
|||
name "leftdoor"
|
||||
data 8
|
||||
Mesh.074
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 125
|
||||
-0.10498 -0.63518 0.50491
|
||||
|
@ -78790,7 +78790,7 @@ OBJECT poly
|
|||
name "rightdoor"
|
||||
data 8
|
||||
Mesh.075
|
||||
texture "fuselage.n301dp.png"
|
||||
texture "c172p-fuselage-skyhawk.png"
|
||||
crease 30.000000
|
||||
numvert 125
|
||||
-0.10498 -0.63518 -0.504908
|
||||
|
|
|
@ -2499,7 +2499,7 @@
|
|||
<object-name>LeftWheelStrut</object-name>
|
||||
<property-base>sim/model/livery/</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>fuselage.n301dp.png</texture>
|
||||
<texture>fuselage-n301dp.png</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
|
@ -2508,7 +2508,7 @@
|
|||
<object-name>fairing1</object-name>
|
||||
<property-base>sim/model/livery/</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>fuselage.n301dp.png</texture>
|
||||
<texture>fuselage-n301dp.png</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
|
@ -2517,7 +2517,7 @@
|
|||
<object-name>fairing2</object-name>
|
||||
<property-base>sim/model/livery/</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>fuselage.n301dp.png</texture>
|
||||
<texture>fuselage-n301dp.png</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
|
@ -2526,7 +2526,7 @@
|
|||
<object-name>fairing3</object-name>
|
||||
<property-base>sim/model/livery/</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>fuselage.n301dp.png</texture>
|
||||
<texture>fuselage-n301dp.png</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
|
@ -2535,7 +2535,7 @@
|
|||
<object-name>fuselage</object-name>
|
||||
<property-base>sim/model/livery/</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>fuselage.n301dp.png</texture>
|
||||
<texture>fuselage-n301dp.png</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
|
@ -2547,7 +2547,7 @@
|
|||
<object-name>charniere4</object-name>
|
||||
<property-base>sim/model/livery/</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>fuselage.n301dp.png</texture>
|
||||
<texture>fuselage-n301dp.png</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
|
@ -2556,7 +2556,7 @@
|
|||
<object-name>leftdoor</object-name>
|
||||
<property-base>sim/model/livery/</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>fuselage.n301dp.png</texture>
|
||||
<texture>fuselage-n301dp.png</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
|
@ -2565,7 +2565,7 @@
|
|||
<object-name>rightdoor</object-name>
|
||||
<property-base>sim/model/livery/</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>fuselage.n301dp.png</texture>
|
||||
<texture>fuselage-n301dp.png</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
|
@ -2574,7 +2574,7 @@
|
|||
<object-name>baggagedoor</object-name>
|
||||
<property-base>sim/model/livery/</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>fuselage.n301dp.png</texture>
|
||||
<texture>fuselage-n301dp.png</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<write-mask>false</write-mask>
|
||||
</depth>
|
||||
<render-bin>
|
||||
<bin-number>9</bin-number>
|
||||
<bin-number>10</bin-number>
|
||||
<bin-name>DepthSortedBin</bin-name>
|
||||
</render-bin>
|
||||
<texture-unit>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PropertyList>
|
||||
<name>Effects/cropgrass</name>
|
||||
<inherits-from>Effects/terrain-default</inherits-from>
|
||||
<inherits-from>Effects/crop</inherits-from>
|
||||
<parameters>
|
||||
<texture n="2">
|
||||
<image>Textures/Terrain/cropgrass.png</image>
|
||||
|
@ -18,92 +18,4 @@
|
|||
</texture>
|
||||
<snow-level><use>/sim/rendering/snow-level-m</use></snow-level>
|
||||
</parameters>
|
||||
<technique n="9">
|
||||
<predicate>
|
||||
<and>
|
||||
<property>/sim/rendering/crop-shader</property>
|
||||
<property>/sim/rendering/shader-effects</property>
|
||||
<or>
|
||||
<less-equal>
|
||||
<value type="float">2.0</value>
|
||||
<glversion/>
|
||||
</less-equal>
|
||||
<and>
|
||||
<extension-supported>GL_ARB_shader_objects</extension-supported>
|
||||
<extension-supported>GL_ARB_shading_language_100</extension-supported>
|
||||
<extension-supported>GL_ARB_vertex_shader</extension-supported>
|
||||
<extension-supported>GL_ARB_fragment_shader</extension-supported>
|
||||
</and>
|
||||
</or>
|
||||
</and>
|
||||
</predicate>
|
||||
<pass>
|
||||
<lighting>true</lighting>
|
||||
<!-- Use material values that are either inherited from the
|
||||
terrain-default effect or supplied by an effect derived
|
||||
from this one e.g., one created in the materials library. -->
|
||||
<material>
|
||||
<ambient><use>material/ambient</use></ambient>
|
||||
<diffuse><use>material/diffuse</use></diffuse>
|
||||
<specular><use>material/specular</use></specular>
|
||||
<color-mode>ambient-and-diffuse</color-mode>
|
||||
</material>
|
||||
<blend><use>transparent</use></blend>
|
||||
<alpha-test><use>transparent</use></alpha-test>
|
||||
<shade-model>smooth</shade-model>
|
||||
<cull-face>back</cull-face>
|
||||
<render-bin>
|
||||
<bin-number><use>render-bin/bin-number</use></bin-number>
|
||||
<bin-name><use>render-bin/bin-name</use></bin-name>
|
||||
</render-bin>
|
||||
<texture-unit>
|
||||
<unit>0</unit>
|
||||
<type>noise</type>
|
||||
</texture-unit>
|
||||
<texture-unit>
|
||||
<unit>1</unit>
|
||||
<image><use>texture[2]/image</use></image>
|
||||
<filter><use>texture[2]/filter</use></filter>
|
||||
<wrap-s><use>texture[2]/wrap-s</use></wrap-s>
|
||||
<wrap-t><use>texture[2]/wrap-t</use></wrap-t>
|
||||
<internal-format>
|
||||
<use>texture[2]/internal-format</use>
|
||||
</internal-format>
|
||||
</texture-unit>
|
||||
<texture-unit>
|
||||
<unit>2</unit>
|
||||
<type>1d</type>
|
||||
<image><use>texture[3]/image</use></image>
|
||||
<filter><use>texture[3]/filter</use></filter>
|
||||
<wrap-s><use>texture[3]/wrap-s</use></wrap-s>
|
||||
<internal-format>
|
||||
<use>texture[3]/internal-format</use>
|
||||
</internal-format>
|
||||
</texture-unit>
|
||||
<program>
|
||||
<vertex-shader>Shaders/crop.vert</vertex-shader>
|
||||
<fragment-shader>Shaders/crop.frag</fragment-shader>
|
||||
</program>
|
||||
<uniform>
|
||||
<name>NoiseTex</name>
|
||||
<type>sampler-3d</type>
|
||||
<value type="int">0</value>
|
||||
</uniform>
|
||||
<uniform>
|
||||
<name>SampleTex</name>
|
||||
<type>sampler-2d</type>
|
||||
<value type="int">1</value>
|
||||
</uniform>
|
||||
<uniform>
|
||||
<name>ColorsTex</name>
|
||||
<type>sampler-1d</type>
|
||||
<value type="int">2</value>
|
||||
</uniform>
|
||||
<uniform>
|
||||
<name>snowlevel</name>
|
||||
<type>float</type>
|
||||
<value><use>snow-level</use></value>
|
||||
</uniform>
|
||||
</pass>
|
||||
</technique>
|
||||
</PropertyList>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<technique n="9">
|
||||
<predicate>
|
||||
<and>
|
||||
<property>/sim/rendering/crop-shader</property>
|
||||
<property>/sim/rendering/transition-shader</property>
|
||||
<property>/sim/rendering/shader-effects</property>
|
||||
<or>
|
||||
<less-equal>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<technique n="9">
|
||||
<predicate>
|
||||
<and>
|
||||
<property>/sim/rendering/crop-shader</property>
|
||||
<property>/sim/rendering/transition-shader</property>
|
||||
<property>/sim/rendering/shader-effects</property>
|
||||
<or>
|
||||
<less-equal>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<technique n="9">
|
||||
<predicate>
|
||||
<and>
|
||||
<property>/sim/rendering/crop-shader</property>
|
||||
<property>/sim/rendering/transition-shader</property>
|
||||
<property>/sim/rendering/shader-effects</property>
|
||||
<or>
|
||||
<less-equal>
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
<aloft>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>3000</elevation-ft>
|
||||
<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>
|
||||
|
@ -128,7 +128,7 @@
|
|||
</entry>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>6000</elevation-ft>
|
||||
<elevation-ft>10000</elevation-ft>
|
||||
<wind-from-heading-deg>310</wind-from-heading-deg>
|
||||
<wind-speed-kt>20</wind-speed-kt>
|
||||
<turbulence>
|
||||
|
@ -141,7 +141,7 @@
|
|||
</entry>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>9000</elevation-ft>
|
||||
<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>
|
||||
|
@ -149,7 +149,7 @@
|
|||
</entry>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>30000</elevation-ft>
|
||||
<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>
|
||||
|
@ -157,7 +157,7 @@
|
|||
</entry>
|
||||
|
||||
<entry>
|
||||
<elevation-ft>40000</elevation-ft>
|
||||
<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>
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
<!-- split the wind vector into it's components -->
|
||||
|
||||
<filter>
|
||||
<name>MetarController:wind-from-north-kt</name>
|
||||
<name>MetarController:wind-from-north-fps</name>
|
||||
<type>exponential</type>
|
||||
<filter-time>30</filter-time>
|
||||
<enable>
|
||||
|
@ -119,22 +119,12 @@
|
|||
<property>/environment/metar/valid</property>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<expression>
|
||||
<cos>
|
||||
<product>
|
||||
<property>/environment/metar/base-wind-dir-deg</property>
|
||||
<value>0.0174533</value>
|
||||
</product>
|
||||
</cos>
|
||||
</expression>
|
||||
<scale>/environment/metar/base-wind-speed-kt</scale>
|
||||
</input>
|
||||
<output>/environment/metar/base-wind-from-north-kt</output>
|
||||
<input>/environment/metar/base-wind-from-north-fps</input>
|
||||
<output>/environment/config/boundary/entry[0]/wind-from-north-fps</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>MetarController:wind-from-east-kt</name>
|
||||
<name>MetarController:wind-from-east-fps</name>
|
||||
<type>exponential</type>
|
||||
<filter-time>30</filter-time>
|
||||
<enable>
|
||||
|
@ -142,71 +132,8 @@
|
|||
<property>/environment/metar/valid</property>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<expression>
|
||||
<sin>
|
||||
<product>
|
||||
<property>/environment/metar/base-wind-dir-deg</property>
|
||||
<value>0.0174533</value>
|
||||
</product>
|
||||
</sin>
|
||||
</expression>
|
||||
<scale>/environment/metar/base-wind-speed-kt</scale>
|
||||
</input>
|
||||
<output>/environment/metar/base-wind-from-east-kt</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>MetarController::wind-speed-kt</name>
|
||||
<enable>
|
||||
<condition>
|
||||
<property>/environment/metar/valid</property>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<expression>
|
||||
<!-- pythagoras in markup language -->
|
||||
<sqrt>
|
||||
<sum>
|
||||
<product>
|
||||
<property>/environment/metar/base-wind-from-east-kt</property>
|
||||
<property>/environment/metar/base-wind-from-east-kt</property>
|
||||
</product>
|
||||
<product>
|
||||
<property>/environment/metar/base-wind-from-north-kt</property>
|
||||
<property>/environment/metar/base-wind-from-north-kt</property>
|
||||
</product>
|
||||
</sum>
|
||||
</sqrt>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/environment/config/boundary/entry[0]/wind-speed-kt</output>
|
||||
<type>gain</type>
|
||||
<gain>1.0</gain>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>MetarController:wind-from-heading-deg</name>
|
||||
<enable>
|
||||
<condition>
|
||||
<property>/environment/metar/valid</property>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<expression>
|
||||
<atan2>
|
||||
<property>/environment/metar/base-wind-from-east-kt</property>
|
||||
<property>/environment/metar/base-wind-from-north-kt</property>
|
||||
</atan2>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/environment/config/boundary/entry[0]/wind-from-heading-deg</output>
|
||||
<type>gain</type>
|
||||
<gain>57.3</gain> <!-- radians to degree -->
|
||||
<period>
|
||||
<min>0</min>
|
||||
<max>360</max>
|
||||
</period>
|
||||
<input>/environment/metar/base-wind-from-east-fps</input>
|
||||
<output>/environment/config/boundary/entry[0]/wind-from-east-fps</output>
|
||||
</filter>
|
||||
|
||||
<!-- Adjust the wind-vector for the layers -->
|
||||
|
|
11
Nasal/seaport.nas
Normal file
|
@ -0,0 +1,11 @@
|
|||
_setlistener("/sim/presets/latitude-deg", func {
|
||||
print("*** NEW LOCATION ***");
|
||||
settimer(func {
|
||||
var typ = getprop("/sim/type");
|
||||
var lat = getprop("/position/latitude-deg");
|
||||
var lon = getprop("/position/longitude-deg");
|
||||
var g = geodinfo(lat, lon);
|
||||
if ((g != nil and g[1] != nil and g[1].solid) and (typ == "seaplane") )
|
||||
fgcommand("dialog-show", props.Node.new({ "dialog-name": "seaport" }));
|
||||
}, 8);
|
||||
}, 1);
|
|
@ -127,6 +127,7 @@ var MP_share_pp = "environment/wildfire/share-events";
|
|||
var save_on_exit_pp = "environment/wildfire/save-on-exit";
|
||||
var restore_on_startup_pp = "environment/wildfire/restore-on-startup";
|
||||
var crash_fire_pp = "environment/wildfire/fire-on-crash";
|
||||
var impact_fire_pp = "environment/wildfire/fire-on-impact";
|
||||
var report_score_pp = "environment/wildfire/report-score";
|
||||
# Internal properties to control the models
|
||||
var models_enabled_pp = "environment/wildfire/models/enabled";
|
||||
|
@ -820,6 +821,7 @@ _setlistener("/sim/signals/nasal-dir-initialized", func {
|
|||
});
|
||||
props.globals.initNode(MP_share_pp, 1, "BOOL");
|
||||
props.globals.initNode(crash_fire_pp, 1, "BOOL");
|
||||
props.globals.initNode(impact_fire_pp, 1, "BOOL");
|
||||
props.globals.initNode(save_on_exit_pp, 0, "BOOL");
|
||||
props.globals.initNode(restore_on_startup_pp, 0, "BOOL");
|
||||
props.globals.initNode(models_enabled_pp, 1, "BOOL");
|
||||
|
@ -855,6 +857,22 @@ _setlistener("/sim/signals/nasal-dir-initialized", func {
|
|||
wildfire.ignite(geo.aircraft_position());
|
||||
});
|
||||
|
||||
# Detect impact
|
||||
var impact_node = props.globals.getNode("sim/ai/aircraft/impact/bomb", 1);
|
||||
setlistener("sim/ai/aircraft/impact/bomb", func(n) {
|
||||
|
||||
if (getprop(impact_fire_pp) and n.getBoolValue()){
|
||||
var node = props.globals.getNode(n.getValue(), 1);
|
||||
var impactpos = geo.Coord.new();
|
||||
impactpos.set_latlon(
|
||||
node.getNode("impact/latitude-deg").getValue(),
|
||||
node.getNode("impact/longitude-deg").getValue()
|
||||
);
|
||||
wildfire.ignite(impactpos);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
printlog("info", "Wildfire ... initialized.");
|
||||
});
|
||||
###############################################################################
|
||||
|
@ -917,6 +935,7 @@ var dialog = {
|
|||
["Share over MP", MP_share_pp],
|
||||
["Show 3d models", models_enabled_pp],
|
||||
["Crash starts fire", crash_fire_pp],
|
||||
["Impact starts fire", impact_fire_pp],
|
||||
["Report score", report_score_pp],
|
||||
["Save on exit", save_on_exit_pp]]) {
|
||||
var w = content.addChild("checkbox");
|
||||
|
|
|
@ -9,6 +9,8 @@ uniform sampler3D NoiseTex;
|
|||
uniform sampler2D SampleTex;
|
||||
uniform sampler1D ColorsTex;
|
||||
|
||||
varying vec4 constantColor;
|
||||
|
||||
uniform float snowlevel; // From /sim/rendering/snow-level-m
|
||||
|
||||
const float scale = 1.0;
|
||||
|
@ -57,7 +59,7 @@ void main (void)
|
|||
c1 = mix(c1, clamp(n+nvL[2]*4.1+vec4(0.1, 0.1, nvL[2]*2.2, 1.0), 0.7, 1.0), smoothstep(snowlevel+300.0, snowlevel+360.0, (rawpos.z)+nvL[1]*3000.0));
|
||||
|
||||
vec3 diffuse = gl_Color.rgb * max(0.0, dot(VNormal, gl_LightSource[0].position.xyz));
|
||||
vec4 ambient_light = gl_LightSource[0].diffuse * vec4(diffuse, 1.0);
|
||||
vec4 ambient_light = constantColor + gl_LightSource[0].diffuse * vec4(diffuse, 1.0);
|
||||
|
||||
c1 *= ambient_light;
|
||||
vec4 finalColor = c1;
|
||||
|
|
|
@ -4,6 +4,7 @@ varying vec4 rawpos;
|
|||
varying vec4 ecPosition;
|
||||
varying vec3 VNormal;
|
||||
varying vec3 Normal;
|
||||
varying vec4 constantColor;
|
||||
|
||||
void main(void)
|
||||
{
|
||||
|
@ -14,6 +15,10 @@ void main(void)
|
|||
VNormal = normalize(gl_NormalMatrix * gl_Normal);
|
||||
Normal = normalize(gl_Normal);
|
||||
|
||||
gl_FrontColor = gl_Color;
|
||||
gl_FrontColor = gl_Color;
|
||||
|
||||
constantColor = gl_FrontMaterial.emission
|
||||
+ gl_Color * (gl_LightModel.ambient + gl_LightSource[0].ambient);
|
||||
|
||||
gl_Position = ftransform();
|
||||
}
|
|
@ -7,6 +7,7 @@ varying vec3 VBinormal;
|
|||
varying vec3 VNormal;
|
||||
varying vec3 Normal;
|
||||
varying float bump;
|
||||
varying float fogCoord;
|
||||
|
||||
uniform sampler3D NoiseTex;
|
||||
uniform sampler2D SampleTex;
|
||||
|
@ -98,13 +99,11 @@ void main (void)
|
|||
|
||||
float vegetationlevel = (rawpos.z)+nvL[2]*3000.0;
|
||||
|
||||
float fogFactor;
|
||||
float fogCoord = ecPosition.z;
|
||||
const float LOG2 = 1.442695;
|
||||
fogFactor = exp2(-gl_Fog.density * gl_Fog.density * fogCoord * fogCoord * LOG2);
|
||||
float fogFactor = exp(-gl_Fog.density * gl_Fog.density * fogCoord * fogCoord);
|
||||
float biasFactor = exp2(-0.00000002 * fogCoord * fogCoord * LOG2);
|
||||
|
||||
float n=0.06;
|
||||
float n = 0.06;
|
||||
n += nvL[0]*0.4;
|
||||
n += nvL[1]*0.6;
|
||||
n += nvL[2]*2.0;
|
||||
|
@ -114,7 +113,9 @@ void main (void)
|
|||
|
||||
n += noisevec[2]*0.8;
|
||||
n += noisevec[3]*2.1;
|
||||
n = mix(0.6, n, biasFactor);
|
||||
|
||||
//very low n/biasFactor mix, to keep forest color
|
||||
n = mix(0.05, n, biasFactor);
|
||||
|
||||
vec4 c1;
|
||||
c1 = basecolor * vec4(smoothstep(-1.3, 0.5, n), smoothstep(-1.3, 0.5, n), smoothstep(-2.0, 0.9, n), 0.0);
|
||||
|
|
|
@ -6,6 +6,7 @@ varying vec3 VBinormal;
|
|||
varying vec3 Normal;
|
||||
varying vec4 constantColor;
|
||||
varying float bump;
|
||||
varying float fogCoord;
|
||||
|
||||
attribute vec3 tangent;
|
||||
attribute vec3 binormal;
|
||||
|
@ -25,4 +26,7 @@ void main(void)
|
|||
+ gl_FrontColor * (gl_LightModel.ambient + gl_LightSource[0].ambient);
|
||||
gl_Position = ftransform();
|
||||
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
|
||||
|
||||
fogCoord = abs(ecPosition.z / ecPosition.w);
|
||||
|
||||
}
|
||||
|
|
|
@ -270,6 +270,15 @@
|
|||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
</checkbox>
|
||||
|
||||
<checkbox>
|
||||
<halign>left</halign>
|
||||
<label>Transition effects</label>
|
||||
<property>/sim/rendering/transition-shader</property>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
</checkbox>
|
||||
|
||||
<checkbox>
|
||||
<halign>left</halign>
|
||||
|
|
123
gui/dialogs/seaport.xml
Normal file
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<name>seaport</name>
|
||||
<layout>vbox</layout>
|
||||
|
||||
<nasal>
|
||||
<!--
|
||||
Our coastlines are too unrealiable to just teleport to the nearest seaport.
|
||||
We may have to search around its reported location until we actually find water.
|
||||
-->
|
||||
<open>
|
||||
var label = cmdarg().getNode("text/label");
|
||||
var apt = airportinfo("seaport");
|
||||
var rwys = apt.runways;
|
||||
var lat = apt.lat;
|
||||
var lon = apt.lon;
|
||||
|
||||
label.setValue(" The nearest seaport is \"" ~ apt.name ~ "\" (" ~ apt.id ~ ") ");
|
||||
|
||||
var goto_seaport = func {
|
||||
var rwyid = keys(rwys)[0];
|
||||
var rwy = rwys[rwyid];
|
||||
print("SP: going to seaport ", apt.id, "/", rwyid, " (\"", apt.name, "\")");
|
||||
setprop("/sim/presets/airport-id", apt.id);
|
||||
teleport(rwy.lat, rwy.lon);
|
||||
settimer(verify, 4);
|
||||
}
|
||||
|
||||
var verify = func {
|
||||
var p = geo.aircraft_position();
|
||||
if (on_water(p.lat(), p.lon())) {
|
||||
print("SP: seaport center is on water");
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var r; keys(rwys)) {
|
||||
print("SP: trying runway ", r);
|
||||
var lat = rwys[r].lat;
|
||||
var lon = rwys[r].lon;
|
||||
if (on_water(lat, lon)) {
|
||||
setprop("/sim/presets/runway", r);
|
||||
setprop("/sim/presets/heading-deg", rwys[r].heading);
|
||||
print("SP: runway ", r, " is on water");
|
||||
return teleport(lat, lon);
|
||||
}
|
||||
}
|
||||
|
||||
print("SP: trying circle");
|
||||
for (var dist = 500; dist <= 1500; dist += 500) {
|
||||
print("SP:\tat distance ", dist, " m");
|
||||
|
||||
for (var course = 0; course < 360; course += 60) {
|
||||
print("SP:\t\tat course ", course, " degree");
|
||||
|
||||
p.set_latlon(apt.lat, apt.lon);
|
||||
p.apply_course_distance(course, dist);
|
||||
if (on_water(p.lat(), p.lon())) {
|
||||
print("SP: found water");
|
||||
setprop("/sim/presets/heading-deg", course);
|
||||
return teleport(p.lat(), p.lon());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print("SP: no water found");
|
||||
}
|
||||
|
||||
var teleport = func(lat, lon) {
|
||||
setprop("/sim/presets/latitude-deg", lat);
|
||||
setprop("/sim/presets/longitude-deg", lon);
|
||||
fgcommand("presets-commit");
|
||||
}
|
||||
|
||||
var on_water = func(lat, lon) {
|
||||
var g = geodinfo(lat, lon);
|
||||
return g != nil and g[1] != nil and !g[1].solid;
|
||||
}
|
||||
</open>
|
||||
</nasal>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<empty><stretch>1</stretch></empty>
|
||||
|
||||
<text>
|
||||
<label>Location inappropriate for a seaplane</label>
|
||||
</text>
|
||||
|
||||
<empty><stretch>1</stretch></empty>
|
||||
</group>
|
||||
|
||||
<hrule/>
|
||||
|
||||
<text>
|
||||
<label></label>
|
||||
</text>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<button>
|
||||
<legend>Stay anyway</legend>
|
||||
<equal>1</equal>
|
||||
<key>Esc</key>
|
||||
<binding>
|
||||
<command>dialog-close</command>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<legend>Go to seaport</legend>
|
||||
<default>1</default>
|
||||
<equal>1</equal>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>goto_seaport()</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>dialog-close</command>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
</PropertyList>
|
|
@ -596,7 +596,10 @@ Started September 2000 by David Megginson, david@megginson.com
|
|||
|
||||
<traffic-manager>
|
||||
<enabled type="bool">true</enabled>
|
||||
<heuristics type="bool">true</heuristics>
|
||||
<datafile type="string"></datafile>
|
||||
<instantaneous-action type="bool">false</instantaneous-action>
|
||||
<dumpdata type="bool">false</dumpdata>
|
||||
<proportion>1.0</proportion>
|
||||
</traffic-manager>
|
||||
|
||||
|
|