sunphase depends on the env where av is or has
parent
71d8bcd90c
commit
a568b759bc
|
@ -930,26 +930,6 @@ namespace OpenSim.Region.CoreModules.World.LightShare
|
||||||
if(m_scene.GetNumberOfClients() == 0)
|
if(m_scene.GetNumberOfClients() == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ViewerEnvironment env = GetRegionEnvironment();
|
|
||||||
float dayFrac = GetDayFractionTime(env);
|
|
||||||
|
|
||||||
float wldayFrac = dayFrac;
|
|
||||||
|
|
||||||
if (wldayFrac <= 0.25f)
|
|
||||||
wldayFrac += 1.5f;
|
|
||||||
else if (wldayFrac > 0.75f)
|
|
||||||
wldayFrac += 0.5f;
|
|
||||||
else if (wldayFrac >= 0.333333f)
|
|
||||||
wldayFrac = 3f * wldayFrac - 1f;
|
|
||||||
else
|
|
||||||
wldayFrac = 3f * wldayFrac + 1f;
|
|
||||||
|
|
||||||
wldayFrac = Utils.Clamp(wldayFrac, 0, 2f);
|
|
||||||
wldayFrac *= Utils.PI;
|
|
||||||
|
|
||||||
|
|
||||||
float eepDayFrac = dayFrac * Utils.TWO_PI;
|
|
||||||
|
|
||||||
//m_log.DebugFormat("{0} {1} {2} {3}", dayFrac, eepDayFrac, wldayFrac, Util.UnixTimeSinceEpoch_uS());
|
//m_log.DebugFormat("{0} {1} {2} {3}", dayFrac, eepDayFrac, wldayFrac, Util.UnixTimeSinceEpoch_uS());
|
||||||
|
|
||||||
m_scene.ForEachRootScenePresence(delegate (ScenePresence sp)
|
m_scene.ForEachRootScenePresence(delegate (ScenePresence sp)
|
||||||
|
@ -957,18 +937,36 @@ namespace OpenSim.Region.CoreModules.World.LightShare
|
||||||
if(sp.IsDeleted || sp.IsInTransit || sp.IsNPC)
|
if(sp.IsDeleted || sp.IsInTransit || sp.IsNPC)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
ViewerEnvironment VEnv;
|
||||||
|
if(sp.Environment != null)
|
||||||
|
VEnv = sp.Environment;
|
||||||
|
else
|
||||||
|
VEnv = GetEnvironment(sp.AbsolutePosition.X, sp.AbsolutePosition.Y);
|
||||||
|
|
||||||
|
float dayFrac = GetDayFractionTime(VEnv);
|
||||||
|
|
||||||
IClientAPI client = sp.ControllingClient;
|
IClientAPI client = sp.ControllingClient;
|
||||||
uint vflags = client.GetViewerCaps();
|
uint vflags = client.GetViewerCaps();
|
||||||
|
|
||||||
if ((vflags & 0x8000) != 0)
|
if ((vflags & 0x8000) != 0)
|
||||||
{
|
{
|
||||||
client.SendViewerTime(Vector3.Zero, eepDayFrac);
|
client.SendViewerTime(Vector3.Zero, dayFrac * Utils.TWO_PI);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
client.SendViewerTime(Vector3.Zero, wldayFrac);
|
if (dayFrac <= 0.25f)
|
||||||
//env.getWLPositions(sp.AbsolutePosition.Z, dayFrac, out Vector3 m_sunDir);
|
dayFrac += 1.5f;
|
||||||
//client.SendViewerTime(m_sunDir, wldayFrac);
|
else if (dayFrac > 0.75f)
|
||||||
|
dayFrac += 0.5f;
|
||||||
|
else if (dayFrac >= 0.333333f)
|
||||||
|
dayFrac = 3f * dayFrac - 1f;
|
||||||
|
else
|
||||||
|
dayFrac = 3f * dayFrac + 1f;
|
||||||
|
|
||||||
|
dayFrac = Utils.Clamp(dayFrac, 0, 2f);
|
||||||
|
dayFrac *= Utils.PI;
|
||||||
|
|
||||||
|
client.SendViewerTime(Vector3.Zero, dayFrac);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue