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;
|
||||
}
|
||||
m_log.WarnFormat("-- part {0}, UUID {1}, LocalID {2}, GroupPos {3}, offset-position {4}, Position {5}, AggregateScriptEvents ={6}, AttachedAvatar={7}, AttachmentPoint = {8}, AttachedPos={9}",
|
||||
//Flags = {7}, LocalFlags {8}, Scale {9}",
|
||||
part.Name, part.UUID, part.LocalId, part.GroupPosition, part.OffsetPosition,
|
||||
pos, part.AggregateScriptEvents,
|
||||
//part.Flags, part.LocalFlags, part.Scale);
|
||||
part.AttachedAvatar, part.AttachmentPoint, part.AttachedPos
|
||||
);
|
||||
string debugMsg = "Part " + part.Name + "," + part.UUID+", LocalID "+part.LocalId;
|
||||
if (part.ParentGroup.RootPart.UUID == part.UUID)
|
||||
debugMsg += ", RootPart, ";
|
||||
else
|
||||
debugMsg += ", ChildPart, ";
|
||||
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)
|
||||
{
|
||||
//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, bool rezAttachment)
|
||||
public void AddNewClient2(IClientAPI client, bool isSyncedAvatar, bool rezAttachment)
|
||||
{
|
||||
|
||||
AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(client.CircuitCode);
|
||||
|
@ -3103,6 +3103,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
SubscribeToClientEvents(client);
|
||||
|
||||
ScenePresence sp = m_sceneGraph.CreateAndAddChildScenePresence(client, aCircuit == null ? null : aCircuit.Appearance);
|
||||
sp.IsSyncedAvatar = isSyncedAvatar;
|
||||
m_eventManager.TriggerOnNewPresence(sp);
|
||||
|
||||
//presence.initializeScenePresence(client, RegionInfo, this);
|
||||
|
|
|
@ -1232,10 +1232,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
SendInitialData();
|
||||
|
||||
// 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_isChildAgent.ToString(), m_scene.IsAuthoritativeScene());
|
||||
m_log.DebugFormat("[SCENE PRESENCE]: Requesting neighbouring children. cagent={0}",
|
||||
m_isChildAgent.ToString());
|
||||
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
|
||||
if (m_agentTransfer != null)
|
||||
m_agentTransfer.EnableChildAgents(this);
|
||||
|
|
Loading…
Reference in New Issue