FIRE-8063: Add support for Aurora-sim WindlightRefresh message

meow-7.2.2
Cinders 2012-11-24 13:40:00 -07:00
parent cf022b6045
commit 718aecb2ee
2 changed files with 57 additions and 2 deletions

View File

@ -510,9 +510,11 @@ void LLEnvManagerNew::onRegionSettingsResponse(const LLSD& content)
// Let interested parties know about the region settings update.
mRegionSettingsChangeSignal();
// <FS:CR> FIRE-8063: Aurora-sim windlight refresh
// reset
mInterpNextChangeMessage = false;
//mInterpNextChangeMessage = false;
// </FS:CR>
}
void LLEnvManagerNew::onRegionSettingsApplyResponse(bool ok)
@ -702,3 +704,50 @@ void LLEnvManagerNew::onRegionChange(bool interpolate)
// Let interested parties know agent region has been changed.
mRegionChangeSignal();
}
// <FS:CR> 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<WindLightRefresh>
gHTTPRegistrationWindLightRefresh(
"/message/WindLightRefresh");
// </FS:CR> FIRE-8063: Aurora-sim windlight refresh

View File

@ -33,6 +33,9 @@
class LLWLParamManager;
class LLWaterParamManager;
class LLWLAnimator;
// <FS:CR> FIRE-8063: Aurora-sim windlight refresh
class WindLightRefresh;
// </FS:CR>
// generic key
struct LLEnvKey
@ -250,6 +253,9 @@ public:
bool useRegionWater();
private:
// <FS:CR> FIRE-8063: Aurora-sim windlight refresh
friend class WindLightRefresh;
// </FS:CR>
bool useDefaultSky();
bool useDefaultWater();