summaryrefslogtreecommitdiff
path: root/indra/newview/llenvmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llenvmanager.h')
-rw-r--r--indra/newview/llenvmanager.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/indra/newview/llenvmanager.h b/indra/newview/llenvmanager.h
index 62ec08b09f..7d4e647e90 100644
--- a/indra/newview/llenvmanager.h
+++ b/indra/newview/llenvmanager.h
@@ -99,6 +99,16 @@ public:
return mDayTime;
}
+ bool isEmpty() const
+ {
+ return mWLDayCycle.size() == 0;
+ }
+
+ void clear()
+ {
+ *this = LLEnvironmentSettings();
+ }
+
LLSD makePacket(const LLSD& metadata) const
{
LLSD full_packet = LLSD::emptyArray();
@@ -276,6 +286,14 @@ public:
/// @return cached env. settings of the current region.
const LLEnvironmentSettings& getRegionSettings() const;
+ /**
+ * Set new region settings without uploading them to the region.
+ *
+ * The override will be reset when the changes are applied to the region (=uploaded)
+ * or user teleports to another region.
+ */
+ void setRegionSettings(const LLEnvironmentSettings& new_settings);
+
// Change environment w/o changing user preferences.
bool usePrefs();
bool useDefaults();
@@ -335,6 +353,7 @@ private:
LLEnvPrefs mUserPrefs; /// User environment preferences.
LLEnvironmentSettings mCachedRegionPrefs; /// Cached region environment settings.
+ LLEnvironmentSettings mNewRegionPrefs; /// Not-yet-uploaded modified region env. settings.
bool mInterpNextChangeMessage; /// Interpolate env. settings on next region change.
LLUUID mCurRegionUUID; /// To avoid duplicated region env. settings requests.
LLUUID mLastReceivedID; /// Id of last received region env. settings.