summaryrefslogtreecommitdiff
path: root/indra/newview/llwlparammanager.cpp
diff options
context:
space:
mode:
authorVadim ProductEngine <vsavchuk@productengine.com>2011-05-26 15:11:01 +0300
committerVadim ProductEngine <vsavchuk@productengine.com>2011-05-26 15:11:01 +0300
commitc32b19f31d4d5d0b32fcf64cce1cebd7d79b9b05 (patch)
treefa4b051500577f346e80f647c454a900190c5ad7 /indra/newview/llwlparammanager.cpp
parent72d1efb1529ad0863d35b219a461f353a4b19353 (diff)
STORM-1253 WIP Implemented switching between multiple day cycles (locally and region-wide).
Diffstat (limited to 'indra/newview/llwlparammanager.cpp')
-rw-r--r--indra/newview/llwlparammanager.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/indra/newview/llwlparammanager.cpp b/indra/newview/llwlparammanager.cpp
index ec7889cb93..396c61b4b6 100644
--- a/indra/newview/llwlparammanager.cpp
+++ b/indra/newview/llwlparammanager.cpp
@@ -50,6 +50,7 @@
#include "llagent.h"
#include "llviewerregion.h"
+#include "lldaycyclemanager.h"
#include "llenvmanager.h"
#include "llwlparamset.h"
#include "llpostprocess.h"
@@ -613,7 +614,11 @@ void LLWLParamManager::applyUserPrefs(bool interpolate)
{
if (LLEnvManagerNew::instance().getUseDayCycle())
{
- applyDayCycle(LLEnvManagerNew::instance().getDayCycleName());
+ if (!applyDayCycle(LLEnvManagerNew::instance().getDayCycleName()))
+ {
+ // *TODO: fix user prefs
+ applyDefaults();
+ }
}
else
{
@@ -627,14 +632,21 @@ void LLWLParamManager::applyUserPrefs(bool interpolate)
void LLWLParamManager::applyDefaults()
{
- applyDayCycle("Default");
+ llassert(applyDayCycle("Default") == true);
}
-void LLWLParamManager::applyDayCycle(const std::string& day_cycle)
+bool LLWLParamManager::applyDayCycle(const std::string& day_cycle)
{
LL_DEBUGS("Windlight") << "Applying day cycle [" << day_cycle << "]" << LL_ENDL;
- mDay.loadDayCycleFromFile(day_cycle + ".xml");
+
+ if (!LLDayCycleManager::instance().getPreset(day_cycle, mDay))
+ {
+ llwarns << "No day cycle named " << day_cycle << llendl;
+ return false;
+ }
+
resetAnimator(0.5, true); // set to noon and start animator
+ return true;
}
void LLWLParamManager::resetAnimator(F32 curTime, bool run)