public void SendTargetedWindlightProfile(UUID agentID, WindlightSkyData skyData, WindlightWaterData waterData) { m_OverrideLightSharePerAgent[agentID] = true; IAgent agent; if (m_Scene.RootAgents.TryGetValue(agentID, out agent)) { agent.SendMessageIfRootAgent(CompileWindlightSettings(skyData, waterData), m_Scene.ID); } }
private GenericMessage CompileWindlightSettings(WindlightSkyData skyWindlight, WindlightWaterData waterWindlight) { var m = new GenericMessage { Method = "Windlight" }; var mBlock = new byte[249]; int pos = 0; AddToCompiledWL(waterWindlight.Color, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.FogDensityExponent, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.UnderwaterFogModifier, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.ReflectionWaveletScale, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.FresnelScale, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.FresnelOffset, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.RefractScaleAbove, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.RefractScaleBelow, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.BlurMultiplier, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.BigWaveDirection, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.LittleWaveDirection, ref mBlock, ref pos); AddToCompiledWL(waterWindlight.NormalMapTexture, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.Horizon, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.HazeHorizon, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.BlueDensity, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.HazeDensity, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.DensityMultiplier, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.DistanceMultiplier, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.SunMoonColor, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.SunMoonPosition, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.Ambient, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.EastAngle, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.SunGlowFocus, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.SunGlowSize, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.SceneGamma, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.StarBrightness, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.CloudColor, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.CloudXYDensity, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.CloudCoverage, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.CloudScale, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.CloudDetailXYDensity, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.CloudScroll, ref mBlock, ref pos); AddToCompiledWL((ushort)skyWindlight.MaxAltitude, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.CloudScrollXLock, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.CloudScrollYLock, ref mBlock, ref pos); AddToCompiledWL(skyWindlight.DrawClassicClouds, ref mBlock, ref pos); m.ParamList.Add(mBlock); return(m); }