From 6fc8b10667282e592ad8a05fd89167ba2585ed18 Mon Sep 17 00:00:00 2001
From: Stuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
Date: Thu, 24 Nov 2011 21:41:05 +0000
Subject: [PATCH 1/3] Fixes for random vegetation: 1) Remove dependency on the
 /sim/rendering/shader-effects 2) Fix
 http://code.google.com/p/flightgear-bugs/issues/detail?id=494 where toggling
 the random vegetation on, iff initiall set off, did not generate new random
 vegetation. Fixed by forcing a tile reload in the same way as used for random
 objects.

---
 Effects/tree.eff          | 3 +--
 gui/dialogs/rendering.xml | 7 ++++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Effects/tree.eff b/Effects/tree.eff
index 226b7e7d3..9acc2a19a 100644
--- a/Effects/tree.eff
+++ b/Effects/tree.eff
@@ -20,8 +20,7 @@
   <technique n="10">
     <predicate>
       <and>
-        <property>/sim/rendering/shader-effects</property>
-		<property>/sim/rendering/random-vegetation</property>
+	<property>/sim/rendering/random-vegetation</property>
         <less-equal>
           <value type="float">1.0</value>
           <shader-language/>
diff --git a/gui/dialogs/rendering.xml b/gui/dialogs/rendering.xml
index d22ee4571..d9ad756ca 100644
--- a/gui/dialogs/rendering.xml
+++ b/gui/dialogs/rendering.xml
@@ -197,14 +197,15 @@
 				<halign>left</halign>
 				<label>Random vegetation</label>
 				<name>random-vegetation</name>
-				<enable>
-					<property>/sim/rendering/shader-effects</property>
-				</enable>
 				<property>/sim/rendering/random-vegetation</property>
 				<binding>
 					<command>dialog-apply</command>
 					<object-name>random-vegetation</object-name>
 				</binding>
+				<binding>
+					<command>reinit</command>
+					<subsystem>tile-manager</subsystem>
+				</binding>
 			</checkbox>
 
 			<checkbox>

From cc58f7e32ede12edda71be2fe7c2c33ccded44d2 Mon Sep 17 00:00:00 2001
From: Stuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
Date: Thu, 24 Nov 2011 22:30:36 +0000
Subject: [PATCH 2/3] Remove reliance of 3d clouds on
 /sim/rendering/shader-effects

---
 Effects/cloud.eff         |  1 -
 gui/dialogs/rendering.xml | 33 ++++++---------------------------
 2 files changed, 6 insertions(+), 28 deletions(-)

diff --git a/Effects/cloud.eff b/Effects/cloud.eff
index 93f2c3747..e25f5f4b4 100644
--- a/Effects/cloud.eff
+++ b/Effects/cloud.eff
@@ -11,7 +11,6 @@
   <technique n="10">
     <predicate>
       <and>
-        <property>/sim/rendering/shader-effects</property>
         <less-equal>
           <value type="float">1.0</value>
           <shader-language/>
diff --git a/gui/dialogs/rendering.xml b/gui/dialogs/rendering.xml
index d9ad756ca..49c59d298 100644
--- a/gui/dialogs/rendering.xml
+++ b/gui/dialogs/rendering.xml
@@ -247,9 +247,6 @@
 				<halign>left</halign>
 				<label>3D clouds</label>
 				<name>3d-clouds</name>
-				<enable>
-					<property>/sim/rendering/shader-effects</property>
-				</enable>
 				<property>/sim/rendering/clouds3d-enable</property>
 				<binding>
 					<command>dialog-apply</command>
@@ -263,19 +260,13 @@
 				<text>
 					<label>Cloud density</label>
 					<enable>
-						<and>
-							<property>/sim/rendering/shader-effects</property>
-							<property>/sim/rendering/clouds3d-enable</property>
-						</and>
+						<property>/sim/rendering/clouds3d-enable</property>
 					</enable>
 				</text>
 				<slider>
 					<name>cloud-density</name>
 					<enable>
-						<and>
-							<property>/sim/rendering/shader-effects</property>
-							<property>/sim/rendering/clouds3d-enable</property>
-						</and>
+						<property>/sim/rendering/clouds3d-enable</property>
 					</enable>
 					<min>0</min>
 					<max>1.0</max>
@@ -295,10 +286,7 @@
 				</slider>
 				<text>
 					<enable>
-						<and>
-							<property>/sim/rendering/shader-effects</property>
-							<property>/sim/rendering/clouds3d-enable</property>
-						</and>
+						<property>/sim/rendering/clouds3d-enable</property>
 					</enable>
 					<label>12345678</label>
 					<format>%.2f</format>
@@ -313,19 +301,13 @@
 				<text>
 					<label>Cloud visibility range</label>
 					<enable>
-						<and>
-							<property>/sim/rendering/shader-effects</property>
-							<property>/sim/rendering/clouds3d-enable</property>
-						</and>
+						<property>/sim/rendering/clouds3d-enable</property>
 					</enable>
 				</text>
 				<slider>
 					<name>cloud-vis-range</name>
 					<enable>
-						<and>
-							<property>/sim/rendering/shader-effects</property>
-							<property>/sim/rendering/clouds3d-enable</property>
-						</and>
+						<property>/sim/rendering/clouds3d-enable</property>
 					</enable>
 					<min>1000.0</min>
 					<max>45000.0</max>
@@ -337,10 +319,7 @@
 				</slider>
 				<text>
 					<enable>
-						<and>
-							<property>/sim/rendering/shader-effects</property>
-							<property>/sim/rendering/clouds3d-enable</property>
-						</and>
+						<property>/sim/rendering/clouds3d-enable</property>
 					</enable>
 					<label>12345678</label>
 					<format>%.fm</format>

From d8e7c3a62a20afe2c7a9d8ba2dc47898dc62c5cc Mon Sep 17 00:00:00 2001
From: Stuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
Date: Thu, 24 Nov 2011 22:43:40 +0000
Subject: [PATCH 3/3] Minor clean-up of cloud.eff

---
 Effects/cloud.eff | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/Effects/cloud.eff b/Effects/cloud.eff
index e25f5f4b4..ee9cce00a 100644
--- a/Effects/cloud.eff
+++ b/Effects/cloud.eff
@@ -5,17 +5,15 @@
     <texture n ="0">
     </texture>
     <range>
-		  <use>/sim/rendering/clouds3d-vis-range</use>
+      <use>/sim/rendering/clouds3d-vis-range</use>
     </range>    
   </parameters>
   <technique n="10">
     <predicate>
-      <and>
-        <less-equal>
-          <value type="float">1.0</value>
-          <shader-language/>
-        </less-equal>
-      </and>
+      <less-equal>
+        <value type="float">1.0</value>
+        <shader-language/>
+      </less-equal>
     </predicate>
     <pass n="0">
       <!-- This is apparently not used, so maybe we'll blow it way soon. -->