diff --git a/indra/newview/llenvmanager.cpp b/indra/newview/llenvmanager.cpp index fadb298eb5..caa6ffe935 100644 --- a/indra/newview/llenvmanager.cpp +++ b/indra/newview/llenvmanager.cpp @@ -510,9 +510,11 @@ void LLEnvManagerNew::onRegionSettingsResponse(const LLSD& content) // Let interested parties know about the region settings update. mRegionSettingsChangeSignal(); - + +// FIRE-8063: Aurora-sim windlight refresh // reset - mInterpNextChangeMessage = false; + //mInterpNextChangeMessage = false; +// } void LLEnvManagerNew::onRegionSettingsApplyResponse(bool ok) @@ -702,3 +704,50 @@ void LLEnvManagerNew::onRegionChange(bool interpolate) // Let interested parties know agent region has been changed. mRegionChangeSignal(); } + +// FIRE-8063: Aurora-sim windlight refresh +class WindLightRefresh : public LLHTTPNode +{ + /*virtual*/ void post( + LLHTTPNode::ResponsePtr response, + const LLSD& context, + const LLSD& input) const + { + if (!input || !context || !input.isMap() || !input.has("body")) { + llinfos << "malformed WindLightRefresh!" << llendl; + return; + } + + //std::string dump = input["body"].asString(); + //llwarns << dump << llendl; + + LLSD body = input["body"]; + LLEnvManagerNew *env = &LLEnvManagerNew::instance(); + + LLViewerRegion* regionp = gAgent.getRegion(); + LLUUID region_uuid = regionp ? regionp->getRegionID() : LLUUID::null; + + env->mNewRegionPrefs.clear(); + env->mCurRegionUUID = region_uuid; + + if(body.has("Interpolate")) { + if(body["Interpolate"].asInteger() == 1) { + env->mInterpNextChangeMessage = true; + } + else { + env->mInterpNextChangeMessage = false; + } + } + else { + env->mInterpNextChangeMessage = true; + } + llinfos << "Windlight Refresh , interpolate:" << env->mInterpNextChangeMessage << llendl; + env->requestRegionSettings(); + env->mRegionChangeSignal(); + } +}; + +LLHTTPRegistration +gHTTPRegistrationWindLightRefresh( + "/message/WindLightRefresh"); +// FIRE-8063: Aurora-sim windlight refresh diff --git a/indra/newview/llenvmanager.h b/indra/newview/llenvmanager.h index 3bdd343e19..fa2c338b57 100644 --- a/indra/newview/llenvmanager.h +++ b/indra/newview/llenvmanager.h @@ -33,6 +33,9 @@ class LLWLParamManager; class LLWaterParamManager; class LLWLAnimator; +// FIRE-8063: Aurora-sim windlight refresh +class WindLightRefresh; +// // generic key struct LLEnvKey @@ -250,6 +253,9 @@ public: bool useRegionWater(); private: +// FIRE-8063: Aurora-sim windlight refresh + friend class WindLightRefresh; +// bool useDefaultSky(); bool useDefaultWater();