diff --git a/Aircraft/c172p/Models/bumpspec-fuselage.eff b/Aircraft/c172p/Models/Effects/bumpspec-fuselage.eff similarity index 100% rename from Aircraft/c172p/Models/bumpspec-fuselage.eff rename to Aircraft/c172p/Models/Effects/bumpspec-fuselage.eff diff --git a/Aircraft/c172p/Models/bumpspec-tail.eff b/Aircraft/c172p/Models/Effects/bumpspec-tail.eff similarity index 100% rename from Aircraft/c172p/Models/bumpspec-tail.eff rename to Aircraft/c172p/Models/Effects/bumpspec-tail.eff diff --git a/Aircraft/c172p/Models/bumpspec-wing.eff b/Aircraft/c172p/Models/Effects/bumpspec-wing.eff similarity index 100% rename from Aircraft/c172p/Models/bumpspec-wing.eff rename to Aircraft/c172p/Models/Effects/bumpspec-wing.eff diff --git a/Aircraft/c172p/Models/Liveries/EI-MCF.xml b/Aircraft/c172p/Models/Liveries/EI-MCF.xml index 6e48e03a7..06b0f9eb6 100644 --- a/Aircraft/c172p/Models/Liveries/EI-MCF.xml +++ b/Aircraft/c172p/Models/Liveries/EI-MCF.xml @@ -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> diff --git a/Aircraft/c172p/Models/fuselage.eimcf.png b/Aircraft/c172p/Models/Liveries/fuselage-eimcf.png similarity index 100% rename from Aircraft/c172p/Models/fuselage.eimcf.png rename to Aircraft/c172p/Models/Liveries/fuselage-eimcf.png diff --git a/Aircraft/c172p/Models/Liveries/fuselage.n301dp.png b/Aircraft/c172p/Models/Liveries/fuselage-n301dp.png similarity index 100% rename from Aircraft/c172p/Models/Liveries/fuselage.n301dp.png rename to Aircraft/c172p/Models/Liveries/fuselage-n301dp.png diff --git a/Aircraft/c172p/Models/c172.14-fuselage.rgb b/Aircraft/c172p/Models/c172.14-fuselage.rgb deleted file mode 100644 index a8da40225..000000000 Binary files a/Aircraft/c172p/Models/c172.14-fuselage.rgb and /dev/null differ diff --git a/Aircraft/c172p/Models/c172.15-fuselage.rgb b/Aircraft/c172p/Models/c172.15-fuselage.rgb deleted file mode 100644 index 50a306a4d..000000000 Binary files a/Aircraft/c172p/Models/c172.15-fuselage.rgb and /dev/null differ diff --git a/Aircraft/c172p/Models/c172.16-fuselage.rgb b/Aircraft/c172p/Models/c172.16-fuselage.rgb deleted file mode 100644 index f63bc314b..000000000 Binary files a/Aircraft/c172p/Models/c172.16-fuselage.rgb and /dev/null differ diff --git a/Aircraft/c172p/Models/c172p-01.png b/Aircraft/c172p/Models/c172p-01.png new file mode 100644 index 000000000..a5dd6636b Binary files /dev/null and b/Aircraft/c172p/Models/c172p-01.png differ diff --git a/Aircraft/c172p/Models/c172p-01.rgb b/Aircraft/c172p/Models/c172p-01.rgb deleted file mode 100644 index b79aa20da..000000000 Binary files a/Aircraft/c172p/Models/c172p-01.rgb and /dev/null differ diff --git a/Aircraft/c172p/Models/c172p-02.png b/Aircraft/c172p/Models/c172p-02.png new file mode 100644 index 000000000..bce9c6303 Binary files /dev/null and b/Aircraft/c172p/Models/c172p-02.png differ diff --git a/Aircraft/c172p/Models/c172p-02.rgb b/Aircraft/c172p/Models/c172p-02.rgb deleted file mode 100644 index f4213b53f..000000000 Binary files a/Aircraft/c172p/Models/c172p-02.rgb and /dev/null differ diff --git a/Aircraft/c172p/Models/c172p-2d-panel.xml b/Aircraft/c172p/Models/c172p-2d-panel.xml index 161235788..4a2b3dcdf 100644 --- a/Aircraft/c172p/Models/c172p-2d-panel.xml +++ b/Aircraft/c172p/Models/c172p-2d-panel.xml @@ -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> diff --git a/Aircraft/c172p/Models/fuselage.n301dp.png b/Aircraft/c172p/Models/c172p-fuselage-skyhawk.png similarity index 100% rename from Aircraft/c172p/Models/fuselage.n301dp.png rename to Aircraft/c172p/Models/c172p-fuselage-skyhawk.png diff --git a/Aircraft/c172p/Models/c172p-int-01.png b/Aircraft/c172p/Models/c172p-int-01.png new file mode 100644 index 000000000..48a52a179 Binary files /dev/null and b/Aircraft/c172p/Models/c172p-int-01.png differ diff --git a/Aircraft/c172p/Models/c172p-int-01.rgb b/Aircraft/c172p/Models/c172p-int-01.rgb deleted file mode 100644 index 433d0eecc..000000000 Binary files a/Aircraft/c172p/Models/c172p-int-01.rgb and /dev/null differ diff --git a/Aircraft/c172p/Models/c172p-int-02.png b/Aircraft/c172p/Models/c172p-int-02.png new file mode 100644 index 000000000..8495d62e2 Binary files /dev/null and b/Aircraft/c172p/Models/c172p-int-02.png differ diff --git a/Aircraft/c172p/Models/c172p-int-02.rgb b/Aircraft/c172p/Models/c172p-int-02.rgb deleted file mode 100644 index e2e65a9d2..000000000 Binary files a/Aircraft/c172p/Models/c172p-int-02.rgb and /dev/null differ diff --git a/Aircraft/c172p/Models/c172p.ac b/Aircraft/c172p/Models/c172p.ac index eb59600a4..e2e65b2b7 100644 --- a/Aircraft/c172p/Models/c172p.ac +++ b/Aircraft/c172p/Models/c172p.ac @@ -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 diff --git a/Aircraft/c172p/Models/c172p.xml b/Aircraft/c172p/Models/c172p.xml index 6c5b0e21c..ddc67f296 100644 --- a/Aircraft/c172p/Models/c172p.xml +++ b/Aircraft/c172p/Models/c172p.xml @@ -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> diff --git a/Aircraft/c172p/Models/glass_shader.rgb b/Aircraft/c172p/Models/glass_shader.rgb deleted file mode 100644 index 2e89c032e..000000000 Binary files a/Aircraft/c172p/Models/glass_shader.rgb and /dev/null differ diff --git a/Effects/cloud.eff b/Effects/cloud.eff index c1f5c4183..bb6d3c31e 100644 --- a/Effects/cloud.eff +++ b/Effects/cloud.eff @@ -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> diff --git a/Effects/cropgrass.eff b/Effects/cropgrass.eff index 72d1b554c..ee78881ce 100644 --- a/Effects/cropgrass.eff +++ b/Effects/cropgrass.eff @@ -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> diff --git a/Effects/forest.eff b/Effects/forest.eff index e189b587a..438d30dfa 100644 --- a/Effects/forest.eff +++ b/Effects/forest.eff @@ -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> diff --git a/Effects/glacier.eff b/Effects/glacier.eff index da9a06146..c5fb1f2db 100644 --- a/Effects/glacier.eff +++ b/Effects/glacier.eff @@ -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> diff --git a/Effects/herbtundra.eff b/Effects/herbtundra.eff index 5f97c2112..6b819d16e 100644 --- a/Effects/herbtundra.eff +++ b/Effects/herbtundra.eff @@ -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> diff --git a/Environment/environment.xml b/Environment/environment.xml index 71e44e61e..69884a074 100644 --- a/Environment/environment.xml +++ b/Environment/environment.xml @@ -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> diff --git a/Environment/metarinterpolator.xml b/Environment/metarinterpolator.xml index 35775635f..d1b28e41f 100644 --- a/Environment/metarinterpolator.xml +++ b/Environment/metarinterpolator.xml @@ -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 --> diff --git a/Nasal/seaport.nas b/Nasal/seaport.nas new file mode 100644 index 000000000..5d9cb7fdb --- /dev/null +++ b/Nasal/seaport.nas @@ -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); diff --git a/Nasal/wildfire.nas b/Nasal/wildfire.nas index 710cc103a..accd57801 100644 --- a/Nasal/wildfire.nas +++ b/Nasal/wildfire.nas @@ -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"); diff --git a/Shaders/crop.frag b/Shaders/crop.frag index 555e673a2..c3534bc41 100644 --- a/Shaders/crop.frag +++ b/Shaders/crop.frag @@ -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; diff --git a/Shaders/crop.vert b/Shaders/crop.vert index b5c7314a5..9e70bfa6d 100644 --- a/Shaders/crop.vert +++ b/Shaders/crop.vert @@ -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(); } \ No newline at end of file diff --git a/Shaders/forest.frag b/Shaders/forest.frag index 4641a8000..b0b08697f 100644 --- a/Shaders/forest.frag +++ b/Shaders/forest.frag @@ -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); diff --git a/Shaders/forest.vert b/Shaders/forest.vert index de27c5ac3..8cf6cbb7e 100644 --- a/Shaders/forest.vert +++ b/Shaders/forest.vert @@ -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); + } diff --git a/gui/dialogs/rendering.xml b/gui/dialogs/rendering.xml index 114f1f0ca..29e42dbc8 100644 --- a/gui/dialogs/rendering.xml +++ b/gui/dialogs/rendering.xml @@ -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> diff --git a/gui/dialogs/seaport.xml b/gui/dialogs/seaport.xml new file mode 100644 index 000000000..08fab29ef --- /dev/null +++ b/gui/dialogs/seaport.xml @@ -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> diff --git a/preferences.xml b/preferences.xml index c3f8c3327..0c4debbd9 100644 --- a/preferences.xml +++ b/preferences.xml @@ -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>