diff options
Diffstat (limited to 'indra/newview/llsettingsvo.h')
-rw-r--r-- | indra/newview/llsettingsvo.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/indra/newview/llsettingsvo.h b/indra/newview/llsettingsvo.h index fedb758b48..d314eed24e 100644 --- a/indra/newview/llsettingsvo.h +++ b/indra/newview/llsettingsvo.h @@ -89,7 +89,7 @@ public: static ptr_t buildFromLegacyPreset(const std::string &name, const LLSD &oldsettings); static ptr_t buildDefaultSky(); - virtual ptr_t buildClone() override; + virtual ptr_t buildClone() const SETTINGS_OVERRIDE; static ptr_t buildFromLegacyPresetFile(const std::string &name, const std::string &path); @@ -123,7 +123,7 @@ public: static ptr_t buildFromLegacyPreset(const std::string &name, const LLSD &oldsettings); static ptr_t buildDefaultWater(); - virtual ptr_t buildClone() override; + virtual ptr_t buildClone() const SETTINGS_OVERRIDE; static ptr_t buildFromLegacyPresetFile(const std::string &name, const std::string &path); @@ -146,6 +146,8 @@ private: class LLSettingsVODay : public LLSettingsDay { public: + typedef std::function<void(LLSettingsDay::ptr_t day)> asset_built_fn; + LLSettingsVODay(const LLSD &data); static ptr_t buildDay(LLSD settings); @@ -155,8 +157,9 @@ public: static ptr_t buildFromLegacyMessage(const LLUUID ®ionId, LLSD daycycle, LLSD skys, LLSD water); static ptr_t buildDefaultDayCycle(); static ptr_t buildFromEnvironmentMessage(LLSD settings); - virtual ptr_t buildClone() override; - virtual ptr_t buildDeepCloneAndUncompress(); + static void buildFromOtherSetting(LLSettingsBase::ptr_t settings, asset_built_fn cb); + virtual ptr_t buildClone() const SETTINGS_OVERRIDE; + virtual ptr_t buildDeepCloneAndUncompress() const SETTINGS_OVERRIDE; static LLSD convertToLegacy(const ptr_t &); @@ -167,6 +170,9 @@ public: protected: LLSettingsVODay(); + +private: + static void combineIntoDayCycle(LLSettingsDay::ptr_t, LLSettingsBase::ptr_t, asset_built_fn); }; |