Set ScenePresence.IsSyncedAvatar to true in right places, so that only the client manager
that has the client connection will trigger agent crossing.dsg
parent
ef4caa2c75
commit
f1800824eb
|
@ -1089,13 +1089,15 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
{
|
{
|
||||||
pos = part.PhysActor.Position;
|
pos = part.PhysActor.Position;
|
||||||
}
|
}
|
||||||
m_log.WarnFormat("-- part {0}, UUID {1}, LocalID {2}, GroupPos {3}, offset-position {4}, Position {5}, AggregateScriptEvents ={6}, AttachedAvatar={7}, AttachmentPoint = {8}, AttachedPos={9}",
|
string debugMsg = "Part " + part.Name + "," + part.UUID+", LocalID "+part.LocalId;
|
||||||
//Flags = {7}, LocalFlags {8}, Scale {9}",
|
if (part.ParentGroup.RootPart.UUID == part.UUID)
|
||||||
part.Name, part.UUID, part.LocalId, part.GroupPosition, part.OffsetPosition,
|
debugMsg += ", RootPart, ";
|
||||||
pos, part.AggregateScriptEvents,
|
else
|
||||||
//part.Flags, part.LocalFlags, part.Scale);
|
debugMsg += ", ChildPart, ";
|
||||||
part.AttachedAvatar, part.AttachmentPoint, part.AttachedPos
|
debugMsg += "ParentId = " + part.ParentID;
|
||||||
);
|
debugMsg += ", GroupPos " + part.GroupPosition + ", offset-position " + part.OffsetPosition;
|
||||||
|
debugMsg += ", AttachedAvatar="+part.AttachedAvatar+", AttachmentPoint = "+part.AttachmentPoint;
|
||||||
|
m_log.WarnFormat(debugMsg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3074,10 +3074,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public override void AddNewClient(IClientAPI client)
|
public override void AddNewClient(IClientAPI client)
|
||||||
{
|
{
|
||||||
//AddNewClient2(client, true);
|
//AddNewClient2(client, true);
|
||||||
AddNewClient2(client, true, true);
|
AddNewClient2(client, false, true);
|
||||||
}
|
}
|
||||||
//public void AddNewClient2(IClientAPI client, bool managed)
|
//public void AddNewClient2(IClientAPI client, bool managed)
|
||||||
public void AddNewClient2(IClientAPI client, bool managed, bool rezAttachment)
|
public void AddNewClient2(IClientAPI client, bool isSyncedAvatar, bool rezAttachment)
|
||||||
{
|
{
|
||||||
|
|
||||||
AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(client.CircuitCode);
|
AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(client.CircuitCode);
|
||||||
|
@ -3103,6 +3103,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
SubscribeToClientEvents(client);
|
SubscribeToClientEvents(client);
|
||||||
|
|
||||||
ScenePresence sp = m_sceneGraph.CreateAndAddChildScenePresence(client, aCircuit == null ? null : aCircuit.Appearance);
|
ScenePresence sp = m_sceneGraph.CreateAndAddChildScenePresence(client, aCircuit == null ? null : aCircuit.Appearance);
|
||||||
|
sp.IsSyncedAvatar = isSyncedAvatar;
|
||||||
m_eventManager.TriggerOnNewPresence(sp);
|
m_eventManager.TriggerOnNewPresence(sp);
|
||||||
|
|
||||||
//presence.initializeScenePresence(client, RegionInfo, this);
|
//presence.initializeScenePresence(client, RegionInfo, this);
|
||||||
|
|
|
@ -1232,10 +1232,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
SendInitialData();
|
SendInitialData();
|
||||||
|
|
||||||
// Create child agents in neighbouring regions
|
// Create child agents in neighbouring regions
|
||||||
if (!m_isChildAgent && !m_scene.IsAuthoritativeScene())
|
//if (!m_isChildAgent && !m_scene.IsAuthoritativeScene())
|
||||||
|
|
||||||
|
if (!m_isChildAgent && !IsSyncedAvatar)
|
||||||
{
|
{
|
||||||
m_log.DebugFormat("[SCENE PRESENCE]: Requesting neighbouring children. cagent={0}, auth={1}",
|
m_log.DebugFormat("[SCENE PRESENCE]: Requesting neighbouring children. cagent={0}",
|
||||||
m_isChildAgent.ToString(), m_scene.IsAuthoritativeScene());
|
m_isChildAgent.ToString());
|
||||||
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
|
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
|
||||||
if (m_agentTransfer != null)
|
if (m_agentTransfer != null)
|
||||||
m_agentTransfer.EnableChildAgents(this);
|
m_agentTransfer.EnableChildAgents(this);
|
||||||
|
|
Loading…
Reference in New Issue