From a02b3500b9979c10336eb13674279b3c07367445 Mon Sep 17 00:00:00 2001
From: Graham Linden <graham@lindenlab.com>
Date: Fri, 22 Jun 2018 00:41:19 +0100
Subject: Make LLSettingsFoo::defaults() funcs only calculate the invariant
 values once (use static trick ala the validations).

Fix conversion of legacy settings w/ non-zero east angles to account for those values being CW radian angles.
---
 indra/newview/llsettingsvo.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

(limited to 'indra/newview')

diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp
index deaaffb1f5..44bb9fc6f5 100644
--- a/indra/newview/llsettingsvo.cpp
+++ b/indra/newview/llsettingsvo.cpp
@@ -525,10 +525,11 @@ void LLSettingsVOSky::updateSettings()
 	F32 sun_dynamic_range = llmax(gSavedSettings.getF32("RenderSunDynamicRange"), 0.0001f);
     mSceneLightStrength = 2.0f * (1.0f + sun_dynamic_range * dp);
 
-    // Axis swaps convert from +x right, +z up, +y at
-    // to CFR +x at, +z up, +y right coord sys
-    LLVector3 sun_direction_cfr(sun_direction.mV[0],   -sun_direction.mV[1],  sun_direction.mV[2]);
-    LLVector3 moon_direction_cfr(moon_direction.mV[0], -moon_direction.mV[1], moon_direction.mV[2]);
+    // Axis swaps convert from "normal" (+x right, +z up, +y at)
+    // to CFR (+x at, +z up, +y right) coord sys
+    LLVector3 sun_direction_cfr(sun_direction.mV[1],   sun_direction.mV[0],  sun_direction.mV[2]);
+    LLVector3 moon_direction_cfr(moon_direction.mV[1], moon_direction.mV[0], moon_direction.mV[2]);
+
     gSky.setSunAndMoonDirectionsCFR(sun_direction_cfr, moon_direction_cfr);
     gSky.setSunTextures(getSunTextureId(), getNextSunTextureId());
     gSky.setMoonTextures(getMoonTextureId(), getNextMoonTextureId());
-- 
cgit v1.2.3