From 2a66a01fedbe4a48aa93f7fd59c6e3326da613b2 Mon Sep 17 00:00:00 2001
From: ThorstenB <brehmt@gmail.com>
Date: Sun, 28 Aug 2011 10:08:15 +0200
Subject: [PATCH 1/6] Apply defaults to each tutorial separately Configured
 step/exit intervals configured for one tutorial affected all following
 tutorials.

---
 Nasal/tutorial/tutorial.nas | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Nasal/tutorial/tutorial.nas b/Nasal/tutorial/tutorial.nas
index 67aceb08a..6d1a5f74d 100644
--- a/Nasal/tutorial/tutorial.nas
+++ b/Nasal/tutorial/tutorial.nas
@@ -2,8 +2,8 @@
 # ---------------------------------------------------------------------------------------
 
 
-var step_interval = 5;   # time between tutorial steps
-var exit_interval = 1;   # time between fulfillment of a step and the start of the next step
+var step_interval = 0.0;   # time between tutorial steps (default is set below)
+var exit_interval = 0.0;   # time between fulfillment of a step and the start of the next step (default is set below)
 
 var loop_id = 0;
 var tutorialN = nil;
@@ -67,8 +67,8 @@ var startTutorial = func {
 	last_step_time = time_elapsedN.getValue();
 	steps = tutorialN.getChildren("step");
 
-	step_interval = read_double(tutorialN, "step-time", step_interval);
-	exit_interval = read_double(tutorialN, "exit-time", exit_interval);
+	step_interval = read_double(tutorialN, "step-time", 5.0); # time between tutorial steps
+	exit_interval = read_double(tutorialN, "exit-time", 1.0); # time between fulfillment of steps
 	run_nasal(tutorialN);
 	set_models(tutorialN.getNode("models"));
 

From 2e9bc8bdb88bdf762a3af277da0660e65c8a2adb Mon Sep 17 00:00:00 2001
From: BARANGER Emmanuel <embaranger@free.fr>
Date: Tue, 30 Aug 2011 00:12:50 +0200
Subject: [PATCH 2/6] Merge branch 'master' of git://gitorious.org/fg/fgdata


From 9d238ccbd736942a71719301ace0bb58749bc2bf Mon Sep 17 00:00:00 2001
From: Durk Talsma <durk@localhost.(none)>
Date: Sat, 3 Sep 2011 11:23:16 +0200
Subject: [PATCH 3/6] Added a new property that controls the caching of
 groundnetwork elevation data.

---
 preferences.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/preferences.xml b/preferences.xml
index ec3b28b33..a714cb827 100644
--- a/preferences.xml
+++ b/preferences.xml
@@ -714,6 +714,7 @@ Started September 2000 by David Megginson, david@megginson.com
 		<ai>
 			<enabled type="bool">true</enabled>
 			<scenario>nimitz_demo</scenario>
+                        <groundnet-cache type="bool">true</groundnet-cache>
 			<!-- <scenario>balloon_demo</scenario> -->
 			<!-- <scenario>aircraft_demo</scenario> -->
 			<!-- <scenario>refueling_demo</scenario> -->

From 91c202e1cf1b66751ec64c05fc7f15da2f101766 Mon Sep 17 00:00:00 2001
From: Anders Gidenstam <anders@gidenstam.org>
Date: Sat, 3 Sep 2011 20:59:57 +0200
Subject: [PATCH 4/6] Added the help text for the new --materials-file option.

---
 Translations/strings-default.xml | 1 +
 options.xml                      | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/Translations/strings-default.xml b/Translations/strings-default.xml
index 0b8938d6d..e689a2676 100644
--- a/Translations/strings-default.xml
+++ b/Translations/strings-default.xml
@@ -225,6 +225,7 @@
  <enable-skyblend-desc>Enable sky blending</enable-skyblend-desc>
  <disable-textures-desc>Disable textures</disable-textures-desc>
  <enable-textures-desc>Enable textures</enable-textures-desc>
+ <materials-file-desc>Specify the materials file used to render the scenery (default: materials.xml)</materials-file-desc>
  <texture-filtering-desc>Anisotropic Texture Filtering: values should be 1 (default),2,4,8 or 16</texture-filtering-desc>
  <disable-wireframe-desc>Disable wireframe drawing mode</disable-wireframe-desc>
  <enable-wireframe-desc>Enable wireframe drawing mode</enable-wireframe-desc>
diff --git a/options.xml b/options.xml
index 763fcc37b..293cfd616 100644
--- a/options.xml
+++ b/options.xml
@@ -452,6 +452,12 @@
     <description>strings/enable-textures-desc</description>
    </option>
 
+   <option>
+    <name>materials-file</name>
+    <arg>file</arg>
+    <description>strings/materials-file-desc</description>
+   </option>
+
    <option>
     <name>texture-filtering</name>
     <arg>value</arg>

From 8421d75cb9ae32c6d960d0409c56cd8cf86cce54 Mon Sep 17 00:00:00 2001
From: ThorstenB <brehmt@gmail.com>
Date: Sun, 4 Sep 2011 18:51:05 +0200
Subject: [PATCH 5/6] Fix low-pass filter and adapt to speed-up factor.
 Low-pass filter should not use real-time, but simulation time to filter
 effects. Obey speed-up factor.

---
 Nasal/aircraft.nas | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Nasal/aircraft.nas b/Nasal/aircraft.nas
index 7d020dc87..be362807d 100644
--- a/Nasal/aircraft.nas
+++ b/Nasal/aircraft.nas
@@ -270,7 +270,7 @@ var lowpass = {
 		me.value = v;
 	},
 	_filter_: func(v) {
-		var dt = getprop("/sim/time/delta-sec");
+		var dt = getprop("/sim/time/delta-sec")*getprop("/sim/speed-up");
 		var c = dt / (me.coeff + dt);
 		me.value = v * c + me.value * (1 - c);
 	},

From 1a9a58945294c61928f9df90c4f3723f5307109b Mon Sep 17 00:00:00 2001
From: ThorstenB <brehmt@gmail.com>
Date: Sun, 4 Sep 2011 19:13:21 +0200
Subject: [PATCH 6/6] Add documentation and more config options to tyre-smoke
 effect. Make vspeed/diff_norm configurable. Allow effect to be independent of
 vspeed, so it works for all gear (after main gear touch down, vspeed is 0, so
 smoke effects for nose-gear usually wouldn't work).

---
 Nasal/aircraft.nas | 32 ++++++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)

diff --git a/Nasal/aircraft.nas b/Nasal/aircraft.nas
index be362807d..7c88f8d3d 100644
--- a/Nasal/aircraft.nas
+++ b/Nasal/aircraft.nas
@@ -788,12 +788,31 @@ var autotrim = {
 #	var tyresmoke_0 = aircraft.tyresmoke.new(0);
 #	tyresmoke_0.update();
 #
+# PARAMETERS:
+#
+#    number: index of gear to be animated, i.e. "2" for /gear/gear[2]/...
+#
+#    auto: 1 when tyresmoke should start on update loop. 0 when you're going
+#      to call the update method from one of your own loops.
+#
+#    diff_norm: value adjusting the necessary percental change of roll-speed
+#      to trigger tyre smoke. Default value is 0.05. More realistic results can
+#      be achieved with significantly higher values (i.e. use 0.8).
+#
+#    check_vspeed: 1 when tyre smoke should only be triggered when vspeed is negative
+#      (usually doesn't work for all gear, since vspeed=0.0 after the first gear touches
+#      ground). Use 0 to make tyre smoke independent of vspeed.
+#      Note: in reality, tyre smoke doesn't depend on vspeed, but only on acceleration
+#      and friction.
+#
+
 var tyresmoke = {
-	new: func(number, auto = 0) {
+	new: func(number, auto = 0, diff_norm = 0.05, check_vspeed=1) {
 		var m = { parents: [tyresmoke] };
-		me.vertical_speed = props.globals.initNode("velocities/vertical-speed-fps");
-		me.speed = props.globals.initNode("velocities/groundspeed-kt");
-		me.rain = props.globals.initNode("environment/metar/rain-norm");
+		m.vertical_speed = (!check_vspeed) ? nil : props.globals.initNode("velocities/vertical-speed-fps");
+		m.diff_norm = diff_norm;
+		m.speed = props.globals.initNode("velocities/groundspeed-kt");
+		m.rain = props.globals.initNode("environment/metar/rain-norm");
 
 		var gear = props.globals.getNode("gear/gear[" ~ number ~ "]/");
 		m.wow = gear.initNode("wow");
@@ -827,7 +846,7 @@ var tyresmoke = {
 	},
 	update: func {
 		var rollspeed = me.get_rollspeed();
-		var vert_speed = me.vertical_speed.getValue();
+		var vert_speed = (me.vertical_speed) ? me.vertical_speed.getValue() : -999;
 		var groundspeed = me.speed.getValue();
 		var friction_factor = me.friction_factor.getValue();
 		var wow = me.wow.getValue();
@@ -837,7 +856,8 @@ var tyresmoke = {
 		var diff = math.abs(rollspeed - filtered_rollspeed);
 		var diff_norm = diff > 0 ? diff / rollspeed : 0;
 
-		if (wow and vert_speed < -1.2 and diff_norm > 0.05
+		if (wow and vert_speed < -1.2
+				and diff_norm > me.diff_norm
 				and friction_factor > 0.7 and groundspeed > 50
 				and rain < 0.20) {
 			me.tyresmoke.setValue(1);