summaryrefslogtreecommitdiff
path: root/indra/newview/llenvmanager.cpp
diff options
context:
space:
mode:
authorGlenn Glazer <coyot@lindenlab.com>2017-05-23 07:59:15 -0700
committerGlenn Glazer <coyot@lindenlab.com>2017-05-23 07:59:15 -0700
commit3fda9bea31327f166dd1067f7e5c9ce251b40289 (patch)
treed7bbf85ac5d6b15ed7d5db8b8b67a1cccbaca4f9 /indra/newview/llenvmanager.cpp
parent4bf1f1d618d61f0cc2ec0dd22cea7d1c5b909b8f (diff)
parentcf5865c6e2b27918b526431ccc4309bfc702534e (diff)
pull from gate
Diffstat (limited to 'indra/newview/llenvmanager.cpp')
-rw-r--r--indra/newview/llenvmanager.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/indra/newview/llenvmanager.cpp b/indra/newview/llenvmanager.cpp
index c58a21d0c8..fa1c3b983e 100644
--- a/indra/newview/llenvmanager.cpp
+++ b/indra/newview/llenvmanager.cpp
@@ -492,7 +492,7 @@ void LLEnvManagerNew::onRegionSettingsResponse(const LLSD& content)
mCachedRegionPrefs = new_settings;
// Load region sky presets.
- LLWLParamManager::instance().refreshRegionPresets();
+ LLWLParamManager::instance().refreshRegionPresets(getRegionSettings().getSkyMap());
// If using server settings, update managers.
if (getUseRegionSettings())
@@ -525,6 +525,25 @@ void LLEnvManagerNew::initSingleton()
LL_DEBUGS("Windlight") << "Initializing LLEnvManagerNew" << LL_ENDL;
loadUserPrefs();
+
+ // preferences loaded, can set params
+ std::string preferred_day = getDayCycleName();
+ if (!useDayCycle(preferred_day, LLEnvKey::SCOPE_LOCAL))
+ {
+ LL_WARNS() << "No day cycle named " << preferred_day << ", reverting LLWLParamManager to defaults" << LL_ENDL;
+ LLWLParamManager::instance().setDefaultDay();
+ }
+
+ std::string sky = getSkyPresetName();
+ if (!useSkyPreset(sky))
+ {
+ LL_WARNS() << "No sky preset named " << sky << ", falling back to defaults" << LL_ENDL;
+ LLWLParamManager::instance().setDefaultSky();
+
+ // *TODO: Fix user preferences accordingly.
+ }
+
+ LLWLParamManager::instance().resetAnimator(0.5 /*noon*/, getUseDayCycle());
}
void LLEnvManagerNew::updateSkyFromPrefs()