diff --git a/Aircraft/ufo/ufo-sound.xml b/Aircraft/ufo/ufo-sound.xml
index 6a3cf4a93..47780e613 100644
--- a/Aircraft/ufo/ufo-sound.xml
+++ b/Aircraft/ufo/ufo-sound.xml
@@ -12,7 +12,8 @@
    <volume>
     <property>/velocities/airspeed-kt</property>
     <factor>0.0001</factor>
-    <min>0.3</min>
+    <min>0.0</min>
+    <max>0.0</max>
    </volume>
    <pitch>
     <property>/velocities/airspeed-kt</property>
diff --git a/Effects/cloud.eff b/Effects/cloud.eff
index 93f2c3747..ee9cce00a 100644
--- a/Effects/cloud.eff
+++ b/Effects/cloud.eff
@@ -5,18 +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>
-        <property>/sim/rendering/shader-effects</property>
-        <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. -->
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..49c59d298 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>
@@ -246,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>
@@ -262,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>
@@ -294,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>
@@ -312,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>
@@ -336,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>
diff --git a/materials-dds.xml b/materials-dds.xml
index 0198fc0a7..c5555b11c 100644
--- a/materials-dds.xml
+++ b/materials-dds.xml
@@ -1280,6 +1280,7 @@ Shared parameters for various materials.
     <name>ShrubCover</name>
     <name>ShrubGrassCover</name>
     <name>ScrubCover</name>
+    <name>Scrub</name>
     <name>Sclerophyllous</name>
     <name>Heath</name>
     <texture>Terrain/shrub.dds</texture>
@@ -2553,6 +2554,7 @@ Shared parameters for various materials.
     <name>ShrubCover</name>
     <name>ShrubGrassCover</name>
     <name>ScrubCover</name>
+    <name>Scrub</name>
     <name>Sclerophyllous</name>
     <name>Heath</name>
     <texture>Terrain.winter/shrub.png</texture>
diff --git a/materials.xml b/materials.xml
index 277b1c5f9..03ffca995 100644
--- a/materials.xml
+++ b/materials.xml
@@ -1065,6 +1065,7 @@ Shared parameters for various materials.
   <name>ShrubCover</name>
   <name>ShrubGrassCover</name>
   <name>ScrubCover</name>
+  <name>Scrub</name>
   <name>Sclerophyllous</name>
   <texture>Terrain/shrub1.png</texture>
 <!--
@@ -1986,6 +1987,7 @@ Shared parameters for various materials.
   <name>ShrubCover</name>
   <name>ShrubGrassCover</name>
   <name>ScrubCover</name>
+  <name>Scrub</name>
   <name>Sclerophyllous</name>
   <texture>Terrain.winter/shrub.png</texture>
   <texture>Terrain.winter/shrub2.png</texture>
diff --git a/preferences.xml b/preferences.xml
index 61dc1cc01..fd3e3041b 100644
--- a/preferences.xml
+++ b/preferences.xml
@@ -21,7 +21,7 @@ Started September 2000 by David Megginson, david@megginson.com
 		<reset-on-crash type="bool">false</reset-on-crash>
 
 		<!-- Limit the time we need to spend in simulation loops to 1 second -->
-		<max-simtime-per-frame>1.0</max-simtime-per-frame>
+		<max-simtime-per-frame type="double">1.0</max-simtime-per-frame>
 
 		<session type="int"
 						 userarchive="y">0</session>
@@ -65,8 +65,8 @@ Started September 2000 by David Megginson, david@megginson.com
 		</startup>
 		<rendering>
 			<debug type="bool">false</debug>
-			<realism>5</realism>
-			<filtering>8</filtering>
+			<realism type="int">5</realism>
+			<filtering type="int">8</filtering>
 			<mie type="float"
 					 userarchive="y">0.003</mie>
 			<rayleigh type="float"
@@ -87,11 +87,11 @@ Started September 2000 by David Megginson, david@megginson.com
        CullThreadPerCameraDrawThreadPerContext
    -->
 			<static-lod>
-				<detailed userarchive="y">1500</detailed>
-				<rough userarchive="y">9000</rough>
-				<bare userarchive="y">30000</bare>
-				<ai-detailed userarchive="y">10000</ai-detailed>
-				<!-- ai-bare userarchive="y">10000</ai-bare -->
+				<detailed type="double" userarchive="y">1500</detailed>
+				<rough type="double" userarchive="y">9000</rough>
+				<bare type="double" userarchive="y">30000</bare>
+				<ai-detailed type="double" userarchive="y">10000</ai-detailed>
+				<!-- ai-bare type="double" userarchive="y">10000</ai-bare -->
 			</static-lod>
 			<random-objects type="bool"
 											userarchive="y">true</random-objects>
@@ -184,23 +184,23 @@ Started September 2000 by David Megginson, david@megginson.com
 				<enabled type="bool"
 								 userarchive="y">true</enabled>
 				<parameters>
-					<blackout-onset-g>3.5</blackout-onset-g>
-					<blackout-complete-g>5</blackout-complete-g>
-					<redout-onset-g>-2</redout-onset-g>
-					<redout-complete-g>-4</redout-complete-g>
+					<blackout-onset-g type="double">3.5</blackout-onset-g>
+					<blackout-complete-g type="double">5</blackout-complete-g>
+					<redout-onset-g type="double">-2</redout-onset-g>
+					<redout-complete-g type="double">-4</redout-complete-g>
 				</parameters>
 			</redout>
 			<headshake>
 				<enabled type="bool"
 								 userarchive="y">false</enabled>
-				<rate-m-g>0.005</rate-m-g>
+				<rate-m-g type="double">0.005</rate-m-g>
 			</headshake>
-			<crop-shader userarchive="y">0</crop-shader>
-			<landmass-shader userarchive="y">0</landmass-shader>
-			<transition-shader userarchive="y">0</transition-shader>
-			<water-shader userarchive="y">0</water-shader>
-			<urban-shader userarchive="y">0</urban-shader>
-			<contrail-shader userarchive="y">0</contrail-shader>
+			<crop-shader type="bool" userarchive="y">false</crop-shader>
+			<landmass-shader type="bool" userarchive="y">false</landmass-shader>
+			<transition-shader type="bool" userarchive="y">false</transition-shader>
+			<water-shader type="bool" userarchive="y">false</water-shader>
+			<urban-shader type="bool" userarchive="y">false</urban-shader>
+			<contrail-shader type="bool" userarchive="y">false</contrail-shader>
 			<snow-level-m type="double">2000.0</snow-level-m>
 			<quality-level type="double"
 										 userarchive="y">0.0</quality-level>
@@ -217,8 +217,8 @@ Started September 2000 by David Megginson, david@megginson.com
 		<model-hz type="int">120</model-hz>
 		<navdb>
 			<localizers>
-				<auto-align>true</auto-align>
-				<auto-align-threshold-deg>5.0</auto-align-threshold-deg>
+				<auto-align type="bool">true</auto-align>
+				<auto-align-threshold-deg type="double">5.0</auto-align-threshold-deg>
 			</localizers>
 		</navdb>
 		<sound>
@@ -356,8 +356,7 @@ Started September 2000 by David Megginson, david@megginson.com
 				</color>
 			</palette>
 		</hud>
-		<lon-lat-format type="int"
-										userarchive="y">2</lon-lat-format>
+		<lon-lat-format type="int" userarchive="y">2</lon-lat-format>
 		<systems>
 			<path>Aircraft/Generic/generic-systems.xml</path>
 			<autopilot>
@@ -638,9 +637,9 @@ Started September 2000 by David Megginson, david@megginson.com
 				<x-offset-m type="double">0</x-offset-m>
 				<y-offset-m type="double">0</y-offset-m>
 				<z-offset-m type="double">100</z-offset-m>
-				<heading-offset-deg>0</heading-offset-deg>
-				<pitch-offset-deg>0</pitch-offset-deg>
-				<roll-offset-deg>0</roll-offset-deg>
+				<heading-offset-deg type="double">0</heading-offset-deg>
+				<pitch-offset-deg type="double">0</pitch-offset-deg>
+				<roll-offset-deg type="double">0</roll-offset-deg>
 			</config>
 		</view>
 
@@ -692,12 +691,12 @@ Started September 2000 by David Megginson, david@megginson.com
 
 		<airport>
 			<runways>
-				<start-offset-m>5.0</start-offset-m>
+				<start-offset-m type="double">5.0</start-offset-m>
 				<search>
-					<length-weight>0.01</length-weight>
-					<width-weight>0.01</width-weight>
-					<surface-weight>10</surface-weight>
-					<deviation-weight>1</deviation-weight>
+					<length-weight type="double">0.01</length-weight>
+					<width-weight type="double">0.01</width-weight>
+					<surface-weight type="double">10</surface-weight>
+					<deviation-weight type="double">1</deviation-weight>
 				</search>
 			</runways>
 		</airport>
@@ -719,7 +718,7 @@ Started September 2000 by David Megginson, david@megginson.com
 			<datafile type="string"></datafile>
 			<instantaneous-action type="bool">false</instantaneous-action>
 			<dumpdata type="bool">false</dumpdata>
-			<proportion>1.0</proportion>
+			<proportion type="double">1.0</proportion>
 		</traffic-manager>
 
 		<ai>
@@ -795,7 +794,7 @@ Started September 2000 by David Megginson, david@megginson.com
 		<status>
 			<mice>
 				<mouse n="0">
-					<mode>0</mode>
+					<mode type="int">0</mode>
 				</mouse>
 			</mice>
 		</status>
@@ -852,12 +851,12 @@ Started September 2000 by David Megginson, david@megginson.com
 				<condition type="double">1.0</condition>
 				<propeller-pitch type="double">1.0</propeller-pitch>
 				<faults>
-					<serviceable>true</serviceable>
-					<left-magneto-serviceable>true</left-magneto-serviceable>
-					<right-magneto-serviceable>true</right-magneto-serviceable>
-					<spark-plugs-serviceable>true</spark-plugs-serviceable>
-					<oil-pressure-status>0</oil-pressure-status>
-					<fuel-pump-serviceable>true</fuel-pump-serviceable>
+					<serviceable type="bool">true</serviceable>
+					<left-magneto-serviceable type="bool">true</left-magneto-serviceable>
+					<right-magneto-serviceable type="bool">true</right-magneto-serviceable>
+					<spark-plugs-serviceable type="bool">true</spark-plugs-serviceable>
+					<oil-pressure-status type="bool">false</oil-pressure-status>
+					<fuel-pump-serviceable type="bool">true</fuel-pump-serviceable>
 				</faults>
 			</engine>
 			<engine n="1">
@@ -868,12 +867,12 @@ Started September 2000 by David Megginson, david@megginson.com
 				<condition type="double">1.0</condition>
 				<propeller-pitch type="double">1.0</propeller-pitch>
 				<faults>
-					<serviceable>true</serviceable>
-					<left-magneto-serviceable>true</left-magneto-serviceable>
-					<right-magneto-serviceable>true</right-magneto-serviceable>
-					<spark-plugs-serviceable>true</spark-plugs-serviceable>
-					<oil-pressure-status>0</oil-pressure-status>
-					<fuel-pump-serviceable>true</fuel-pump-serviceable>
+					<serviceable type="bool">true</serviceable>
+					<left-magneto-serviceable type="bool">true</left-magneto-serviceable>
+					<right-magneto-serviceable type="bool">true</right-magneto-serviceable>
+					<spark-plugs-serviceable type="bool">true</spark-plugs-serviceable>
+					<oil-pressure-status type="bool">false</oil-pressure-status>
+					<fuel-pump-serviceable type="bool">true</fuel-pump-serviceable>
 				</faults>
 			</engine>
 			<engine n="2">
@@ -884,12 +883,12 @@ Started September 2000 by David Megginson, david@megginson.com
 				<condition type="double">1.0</condition>
 				<propeller-pitch type="double">1.0</propeller-pitch>
 				<faults>
-					<serviceable>true</serviceable>
-					<left-magneto-serviceable>true</left-magneto-serviceable>
-					<right-magneto-serviceable>true</right-magneto-serviceable>
-					<spark-plugs-serviceable>true</spark-plugs-serviceable>
-					<oil-pressure-status>0</oil-pressure-status>
-					<fuel-pump-serviceable>true</fuel-pump-serviceable>
+					<serviceable type="bool">true</serviceable>
+					<left-magneto-serviceable type="bool">true</left-magneto-serviceable>
+					<right-magneto-serviceable type="bool">true</right-magneto-serviceable>
+					<spark-plugs-serviceable type="bool">true</spark-plugs-serviceable>
+					<oil-pressure-status type="bool">false</oil-pressure-status>
+					<fuel-pump-serviceable type="bool">true</fuel-pump-serviceable>
 				</faults>
 			</engine>
 			<engine n="3">
@@ -900,12 +899,12 @@ Started September 2000 by David Megginson, david@megginson.com
 				<condition type="double">1.0</condition>
 				<propeller-pitch type="double">1.0</propeller-pitch>
 				<faults>
-					<serviceable>true</serviceable>
-					<left-magneto-serviceable>true</left-magneto-serviceable>
-					<right-magneto-serviceable>true</right-magneto-serviceable>
-					<spark-plugs-serviceable>true</spark-plugs-serviceable>
-					<oil-pressure-status>0</oil-pressure-status>
-					<fuel-pump-serviceable>true</fuel-pump-serviceable>
+					<serviceable type="bool">true</serviceable>
+					<left-magneto-serviceable type="bool">true</left-magneto-serviceable>
+					<right-magneto-serviceable type="bool">true</right-magneto-serviceable>
+					<spark-plugs-serviceable type="bool">true</spark-plugs-serviceable>
+					<oil-pressure-status type="bool">false</oil-pressure-status>
+					<fuel-pump-serviceable type="bool">true</fuel-pump-serviceable>
 				</faults>
 			</engine>
 		</engines>
@@ -965,7 +964,7 @@ Started September 2000 by David Megginson, david@megginson.com
 				<standby-mhz type="double">118.850</standby-mhz>
 			</frequencies>
 			<volume type="double">0.6</volume>
-			<serviceable>true</serviceable>
+			<serviceable type="bool">true</serviceable>
 			<ptt type="int">0</ptt>
 		</comm>
 
@@ -975,7 +974,7 @@ Started September 2000 by David Megginson, david@megginson.com
 				<standby-mhz type="double">133.775</standby-mhz>
 			</frequencies>
 			<volume type="double">0.6</volume>
-			<serviceable>true</serviceable>
+			<serviceable type="bool">true</serviceable>
 			<ptt type="int">0</ptt>
 		</comm>
 
@@ -987,15 +986,15 @@ Started September 2000 by David Megginson, david@megginson.com
 			<radials>
 				<selected-deg type="double">280.0</selected-deg>
 			</radials>
-			<serviceable>true</serviceable>
+			<serviceable type="bool">true</serviceable>
 			<cdi>
-				<serviceable>true</serviceable>
+				<serviceable type="bool">true</serviceable>
 			</cdi>
 			<gs>
-				<serviceable>true</serviceable>
+				<serviceable type="bool">true</serviceable>
 			</gs>
 			<to-from>
-				<serviceable>true</serviceable>
+				<serviceable type="bool">true</serviceable>
 			</to-from>
 			<slaved-to-gps type="bool">false</slaved-to-gps>
 		</nav>
@@ -1008,22 +1007,22 @@ Started September 2000 by David Megginson, david@megginson.com
 			<radials>
 				<selected-deg type="double">029.0</selected-deg>
 			</radials>
-			<serviceable>true</serviceable>
+			<serviceable type="bool">true</serviceable>
 			<cdi>
-				<serviceable>true</serviceable>
+				<serviceable type="bool">true</serviceable>
 			</cdi>
 			<gs>
-				<serviceable>true</serviceable>
+				<serviceable type="bool">true</serviceable>
 			</gs>
 			<to-from>
-				<serviceable>true</serviceable>
+				<serviceable type="bool">true</serviceable>
 			</to-from>
 			<slaved-to-gps type="bool">false</slaved-to-gps>
 		</nav>
 
 		<transponder>
 			<inputs>
-				<serviceable>true</serviceable>
+				<serviceable type="bool">true</serviceable>
 			</inputs>
 		</transponder>
 
@@ -1223,7 +1222,7 @@ Started September 2000 by David Megginson, david@megginson.com
 	<logging>
 		<log n="0">
 			<enabled type="bool">false</enabled>
-			<interval-ms>1000</interval-ms>
+			<interval-ms type="long">1000</interval-ms>
 			<filename>fg_log.csv</filename>
 			<delimiter>,</delimiter>
 			<entry n="0">