From 3b612cd369a2e9c1e380c21ee65c143c826bfcda Mon Sep 17 00:00:00 2001
From: Aimee Linden <aimee@lindenlab.com>
Date: Mon, 28 Jun 2010 18:33:25 +0100
Subject: VWR-7054 FIXED Flycam movement in build mode is reduced.

Removed hard coded scaling of movements when in build mode, made it a debug setting defaulted to 1 to disable it.
---
 indra/newview/app_settings/settings.xml | 11 +++++++++++
 indra/newview/llviewerjoystick.cpp      |  8 +++-----
 2 files changed, 14 insertions(+), 5 deletions(-)

(limited to 'indra/newview')

diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index d3cc5d6cb7..1eb3732e65 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -3309,6 +3309,17 @@
       <key>Value</key>
       <real>1.0</real>
     </map>
+    <key>FlycamBuildModeScale</key>
+    <map>
+      <key>Comment</key>
+      <string>Scale factor to apply to flycam movements when in build mode.</string>
+      <key>Persist</key>
+      <integer>1</integer>
+      <key>Type</key>
+      <string>F32</string>
+      <key>Value</key>
+      <real>1.0</real>
+    </map>
     <key>FlycamFeathering</key>
     <map>
       <key>Comment</key>
diff --git a/indra/newview/llviewerjoystick.cpp b/indra/newview/llviewerjoystick.cpp
index 240a539f2e..79d8fc7df9 100644
--- a/indra/newview/llviewerjoystick.cpp
+++ b/indra/newview/llviewerjoystick.cpp
@@ -57,9 +57,6 @@
 #define RY_I	5
 #define RZ_I	3
 
-// flycam translations in build mode should be reduced
-const F32 BUILDMODE_FLYCAM_T_SCALE = 3.f;
-
 // minimum time after setting away state before coming back
 const F32 MIN_AFK_TIME = 2.f;
 
@@ -924,14 +921,15 @@ void LLViewerJoystick::moveFlycam(bool reset)
 			cur_delta[i] = llmin(cur_delta[i]+dead_zone[i], 0.f);
 		}
 
-		// we need smaller camera movements in build mode
+		// We may want to scale camera movements up or down in build mode.
 		// NOTE: this needs to remain after the deadzone calculation, otherwise
 		// we have issues with flycam "jumping" when the build dialog is opened/closed  -Nyx
 		if (in_build_mode)
 		{
 			if (i == X_I || i == Y_I || i == Z_I)
 			{
-				cur_delta[i] /= BUILDMODE_FLYCAM_T_SCALE;
+				static LLCachedControl<F32> build_mode_scale(gSavedSettings,"FlycamBuildModeScale");
+				cur_delta[i] *= build_mode_scale;
 			}
 		}
 
-- 
cgit v1.2.3