test
parent
65983cc4fc
commit
e883fb519b
|
@ -1912,6 +1912,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
return;
|
return;
|
||||||
sog.SendFullUpdateToClient(p.ControllingClient);
|
sog.SendFullUpdateToClient(p.ControllingClient);
|
||||||
SendFullUpdateToClient(p.ControllingClient); // resend our data by updates path
|
SendFullUpdateToClient(p.ControllingClient); // resend our data by updates path
|
||||||
|
SendTerseUpdateToAgent(p);
|
||||||
});
|
});
|
||||||
|
|
||||||
sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource());
|
sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource());
|
||||||
|
@ -3370,11 +3371,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
#region Update Client(s)
|
#region Update Client(s)
|
||||||
|
|
||||||
// this is diferente from SendTerseUpdateToClient
|
public void SendUpdateToAgent(ScenePresence p)
|
||||||
// this sends bypassing ententies updates
|
|
||||||
public void SendAgentTerseUpdate(ISceneEntity p)
|
|
||||||
{
|
{
|
||||||
ControllingClient.SendAgentTerseUpdate(p);
|
IClientAPI remoteClient = p.ControllingClient;
|
||||||
|
|
||||||
|
if (remoteClient.IsActive)
|
||||||
|
{
|
||||||
|
//m_log.DebugFormat("[SCENE PRESENCE]: " + Name + " sending TerseUpdate to " + remoteClient.Name + " : Pos={0} Rot={1} Vel={2}", m_pos, Rotation, m_velocity);
|
||||||
|
remoteClient.SendEntityUpdate(this, PrimUpdateFlags.FullUpdate);
|
||||||
|
m_scene.StatsReporter.AddAgentUpdates(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendFullUpdateToClient(IClientAPI remoteClient)
|
public void SendFullUpdateToClient(IClientAPI remoteClient)
|
||||||
|
@ -3387,6 +3393,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// this is diferente from SendTerseUpdateToClient
|
||||||
|
// this sends bypassing entities updates
|
||||||
|
public void SendAgentTerseUpdate(ISceneEntity p)
|
||||||
|
{
|
||||||
|
ControllingClient.SendAgentTerseUpdate(p);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sends a location update to the client connected to this scenePresence
|
/// Sends a location update to the client connected to this scenePresence
|
||||||
/// via entity updates
|
/// via entity updates
|
||||||
|
@ -3408,7 +3421,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendTerseUpdateToAgentClient(ScenePresence p)
|
public void SendTerseUpdateToAgent(ScenePresence p)
|
||||||
{
|
{
|
||||||
IClientAPI remoteClient = p.ControllingClient;
|
IClientAPI remoteClient = p.ControllingClient;
|
||||||
|
|
||||||
|
@ -3427,6 +3440,18 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_scene.StatsReporter.AddAgentUpdates(1);
|
m_scene.StatsReporter.AddAgentUpdates(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendTerseUpdateToAgentNF(ScenePresence p)
|
||||||
|
{
|
||||||
|
IClientAPI remoteClient = p.ControllingClient;
|
||||||
|
if (remoteClient.IsActive)
|
||||||
|
{
|
||||||
|
//m_log.DebugFormat("[SCENE PRESENCE]: " + Name + " sending TerseUpdate to " + remoteClient.Name + " : Pos={0} Rot={1} Vel={2}", m_pos, Rotation, m_velocity);
|
||||||
|
remoteClient.SendEntityUpdate(this, PrimUpdateFlags.FullUpdate);
|
||||||
|
m_scene.StatsReporter.AddAgentUpdates(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// vars to support reduced update frequency when velocity is unchanged
|
// vars to support reduced update frequency when velocity is unchanged
|
||||||
private Vector3 lastVelocitySentToAllClients = Vector3.Zero;
|
private Vector3 lastVelocitySentToAllClients = Vector3.Zero;
|
||||||
private Vector3 lastPositionSentToAllClients = Vector3.Zero;
|
private Vector3 lastPositionSentToAllClients = Vector3.Zero;
|
||||||
|
@ -3468,7 +3493,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
// Console.WriteLine("Scheduled update for {0} in {1}", Name, Scene.Name);
|
// Console.WriteLine("Scheduled update for {0} in {1}", Name, Scene.Name);
|
||||||
// m_scene.ForEachClient(SendTerseUpdateToClient);
|
// m_scene.ForEachClient(SendTerseUpdateToClient);
|
||||||
m_scene.ForEachScenePresence(SendTerseUpdateToAgentClient);
|
m_scene.ForEachScenePresence(SendTerseUpdateToAgent);
|
||||||
}
|
}
|
||||||
TriggerScenePresenceUpdated();
|
TriggerScenePresenceUpdated();
|
||||||
}
|
}
|
||||||
|
@ -5487,13 +5512,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
if (p.IsChildAgent)
|
if (p.IsChildAgent)
|
||||||
continue;
|
continue;
|
||||||
m_log.Debug("[AVATAR]: viewMe: " + Lastname + " " + p.Lastname);
|
|
||||||
ControllingClient.SendAvatarDataImmediate(p);
|
p.SendUpdateToAgent(this);
|
||||||
|
p.SendAgentTerseUpdate(this);
|
||||||
p.SendAppearanceToAgent(this);
|
p.SendAppearanceToAgent(this);
|
||||||
p.SendAttachmentsToAgentNF(this);
|
|
||||||
if (p.Animator != null)
|
if (p.Animator != null)
|
||||||
p.Animator.SendAnimPackToClient(ControllingClient);
|
p.Animator.SendAnimPackToClient(ControllingClient);
|
||||||
|
p.SendAttachmentsToAgentNF(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5804,8 +5829,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
foreach (ScenePresence p in viewsToSendto)
|
foreach (ScenePresence p in viewsToSendto)
|
||||||
{
|
{
|
||||||
p.ControllingClient.SendAvatarDataImmediate(this);
|
SendUpdateToAgent(p);
|
||||||
// m_log.Debug("[AVATAR]: viewTo: " + Lastname + " " + p.Lastname);
|
SendAgentTerseUpdate(p);
|
||||||
SendAppearanceToAgent(p);
|
SendAppearanceToAgent(p);
|
||||||
if (Animator != null)
|
if (Animator != null)
|
||||||
Animator.SendAnimPackToClient(p.ControllingClient);
|
Animator.SendAnimPackToClient(p.ControllingClient);
|
||||||
|
@ -5820,7 +5845,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (p.IsChildAgent)
|
if (p.IsChildAgent)
|
||||||
continue;
|
continue;
|
||||||
// m_log.Debug("[AVATAR]: viewMe: " + Lastname + "<-" + p.Lastname);
|
// m_log.Debug("[AVATAR]: viewMe: " + Lastname + "<-" + p.Lastname);
|
||||||
ControllingClient.SendAvatarDataImmediate(p);
|
|
||||||
|
p.SendUpdateToAgent(this);
|
||||||
|
p.SendAgentTerseUpdate(this);
|
||||||
p.SendAppearanceToAgent(this);
|
p.SendAppearanceToAgent(this);
|
||||||
if (p.Animator != null)
|
if (p.Animator != null)
|
||||||
p.Animator.SendAnimPackToClient(ControllingClient);
|
p.Animator.SendAnimPackToClient(ControllingClient);
|
||||||
|
|
Loading…
Reference in New Issue