diff options
| author | Vadim ProductEngine <vsavchuk@productengine.com> | 2011-05-16 17:17:22 +0300 |
|---|---|---|
| committer | Vadim ProductEngine <vsavchuk@productengine.com> | 2011-05-16 17:17:22 +0300 |
| commit | 912f021bb11ef48f352ea85cca27c2bca6ca06b1 (patch) | |
| tree | 422165b7f4e2d7e3ad8a4821edc56158a0c80170 /indra/newview/llwlparammanager.cpp | |
| parent | cccca566bd2365c88cca819729c5432af9dfa52f (diff) | |
STORM-1245 WIP Implement loading and applying region environment settings.
Diffstat (limited to 'indra/newview/llwlparammanager.cpp')
| -rw-r--r-- | indra/newview/llwlparammanager.cpp | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/indra/newview/llwlparammanager.cpp b/indra/newview/llwlparammanager.cpp index 43f0cdae93..4431b3f5c0 100644 --- a/indra/newview/llwlparammanager.cpp +++ b/indra/newview/llwlparammanager.cpp @@ -583,23 +583,33 @@ void LLWLParamManager::update(LLViewerCamera * cam) void LLWLParamManager::applyUserPrefs() { LL_DEBUGS("Windlight") << "Applying sky prefs" << LL_ENDL; + clearParamSetsOfScope(LLEnvKey::SCOPE_REGION); if (LLEnvManagerNew::instance().getUseRegionSettings()) // apply region-wide settings { - llwarns << "Using region settings has not been implemented" << llendl; + // *TODO: Support fixed sky from region. + LL_DEBUGS("Windlight") << "Applying region sky" << LL_ENDL; + + const LLEnvironmentSettings& region_settings = LLEnvManagerNew::instance().getRegionSettings(); + + if (0) // *TODO: interpolate? + { + mAnimator.startInterpolation(region_settings.getWaterParams()); + } + + addAllSkies(LLEnvKey::SCOPE_REGION, region_settings.getSkyMap()); + mDay.loadDayCycle(region_settings.getWLDayCycle(), LLEnvKey::SCOPE_REGION); + resetAnimator(region_settings.getDayTime(), true); } else // apply user-specified settings { - bool use_day_cycle = LLEnvManagerNew::instance().getUseDayCycle(); + // Load day cycle anyway so that we can switch to it from a fixed sky. + LL_DEBUGS("Windlight") << "Loading day cycle " << LLEnvManagerNew::instance().getDayCycleName() << LL_ENDL; + mDay.loadDayCycleFromFile(LLEnvManagerNew::instance().getDayCycleName() + ".xml"); - if (use_day_cycle) - { - LL_DEBUGS("Windlight") << "Loading day cycle " << LLEnvManagerNew::instance().getDayCycleName() << LL_ENDL; - mDay.loadDayCycleFromFile(LLEnvManagerNew::instance().getDayCycleName() + ".xml"); - } - else + bool use_day_cycle = LLEnvManagerNew::instance().getUseDayCycle(); + if (!use_day_cycle) // if we should use fixed sky { - // *HACK - sets cloud scrolling to what we want... fix this better in the future std::string sky = LLEnvManagerNew::instance().getSkyPresetName(); LL_DEBUGS("Windlight") << "Loading fixed sky " << sky << LL_ENDL; getParamSet(LLWLParamKey(sky, LLWLParamKey::SCOPE_LOCAL), mCurParams); |
