LightShare compatible WindLight reset fix, not fully tested

This commit is contained in:
Siana Gearz
2011-07-11 03:27:59 +02:00
parent 59ec4eba2a
commit 47b7fdb5e0
2 changed files with 26 additions and 9 deletions

View File

@@ -111,6 +111,10 @@ void process_generic_message(LLMessageSystem* msg, void**)
LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
LLWaterParamSet & param_set = param_mgr->mCurParams;
LLWaterParamSet backup;
if(!param_mgr->getParamSet("LightShare-Backup", backup)) {
param_mgr->addParamSet("LightShare-Backup", param_set);
}
param_set.set("waterFogColor", wl->waterColor.red / 256.f, wl->waterColor.green / 256.f, wl->waterColor.blue / 256.f);
param_set.set("waterFogDensity", pow(2.0f, wl->waterFogDensityExponent));
@@ -147,11 +151,16 @@ void process_generic_message(LLMessageSystem* msg, void**)
normalMapTexture.set(out);
param_mgr->setParamSet( "Meta7CurrentRegion", param_set);
param_mgr->setParamSet( "LightShare-CurrentRegion", param_set);
param_mgr->setNormalMapID(normalMapTexture);
LLWLParamManager * wl_param_mgr = LLWLParamManager::instance();
LLWLParamSet & wl_param_set = wl_param_mgr->mCurParams;
LLWLParamSet wl_backup;
if(!wl_param_mgr->getParamSet("LightShare-Backup", wl_backup)) {
wl_param_mgr->addParamSet("LightShare-Backup", wl_param_set);
}
wl_param_set.setSunAngle(F_TWO_PI * wl->sunMoonPosiiton);
wl_param_set.setEastAngle(F_TWO_PI * wl->eastAngle);
wl_param_set.set("sunlight_color", wl->sunMoonColor.red * 3.0f, wl->sunMoonColor.green * 3.0f, wl->sunMoonColor.blue * 3.0f, wl->sunMoonColor.alpha * 3.0f);
@@ -175,12 +184,12 @@ void process_generic_message(LLMessageSystem* msg, void**)
wl_param_set.setEnableCloudScrollX(!wl->cloudScrollXLock);
wl_param_set.setEnableCloudScrollY(!wl->cloudScrollYLock);
wl_param_set.setStarBrightness(wl->starBrightness);
wl_param_mgr->removeParamSet("Meta7-CurrentRegion",true);
wl_param_mgr->addParamSet( "Meta7-CurrentRegion", wl_param_set);
wl_param_mgr->savePreset( "Meta7-CurrentRegion");
wl_param_mgr->removeParamSet("LightShare-CurrentRegion",true);
wl_param_mgr->addParamSet( "LightShare-CurrentRegion", wl_param_set);
wl_param_mgr->savePreset( "LightShare-CurrentRegion");
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
wl_param_mgr->loadPreset( "Meta7-CurrentRegion",true);
wl_param_mgr->loadPreset( "LightShare-CurrentRegion",true);
}
}
}

View File

@@ -3759,10 +3759,18 @@ void process_teleport_finish(LLMessageSystem* msg, void**)
*/
//Reset the windlight profile to default
/*LLWLParamManager::instance()->mAnimator.mIsRunning = false;
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
LLWLParamManager::instance()->loadPreset("Default", true);
LLWaterParamManager::instance()->loadPreset("Default",true);*/
//LLWLParamManager::instance()->mAnimator.mIsRunning = false;
//LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
LLWLParamSet wl_backup;
if(LLWLParamManager::instance()->getParamSet("LightShare-Backup", wl_backup)) {
LLWLParamManager::instance()->propagateParameters();
LLWLParamManager::instance()->removeParamSet("LightShare-Backup", true);
}
LLWaterParamSet backup;
if(LLWaterParamManager::instance()->getParamSet("LightShare-Backup", backup)) {
LLWaterParamManager::instance()->propagateParameters();
LLWaterParamManager::instance()->removeParamSet("LightShare-Backup", true);
}
// now, use the circuit info to tell simulator about us!
LL_INFOS("Messaging") << "process_teleport_finish() Enabling "