diff options
author | UbitUmarov | 2014-10-19 15:51:12 +0100 |
---|---|---|
committer | UbitUmarov | 2014-10-19 15:51:12 +0100 |
commit | f44c29effbd0d14427f288470aee028e9e09d6e3 (patch) | |
tree | e36ceb596388272eace994827f210ff56749d554 /OpenSim/Region/Framework/Scenes | |
parent | change position in new region estimation. Reduce border jitter margin (diff) | |
download | opensim-SC-f44c29effbd0d14427f288470aee028e9e09d6e3.zip opensim-SC-f44c29effbd0d14427f288470aee028e9e09d6e3.tar.gz opensim-SC-f44c29effbd0d14427f288470aee028e9e09d6e3.tar.bz2 opensim-SC-f44c29effbd0d14427f288470aee028e9e09d6e3.tar.xz |
try to fix propagation of seeds to all relevante regions
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 26 |
2 files changed, 19 insertions, 15 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 829d4ce..4a6f72c 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -4558,8 +4558,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
4558 | // a UseCircuitCode packet which in turn calls AddNewAgent which finally creates the ScenePresence. | 4558 | // a UseCircuitCode packet which in turn calls AddNewAgent which finally creates the ScenePresence. |
4559 | ScenePresence sp = WaitGetScenePresence(cAgentData.AgentID); | 4559 | ScenePresence sp = WaitGetScenePresence(cAgentData.AgentID); |
4560 | 4560 | ||
4561 | if (sp != null) | 4561 | if (sp != null) |
4562 | { | 4562 | { |
4563 | if (!sp.IsChildAgent) | ||
4564 | { | ||
4565 | m_log.WarnFormat("[SCENE]: Ignoring a child update on a root agent {0} {1} in {2}", | ||
4566 | sp.Name, sp.UUID, Name); | ||
4567 | return false; | ||
4568 | } | ||
4563 | if (cAgentData.SessionID != sp.ControllingClient.SessionId) | 4569 | if (cAgentData.SessionID != sp.ControllingClient.SessionId) |
4564 | { | 4570 | { |
4565 | m_log.WarnFormat( | 4571 | m_log.WarnFormat( |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index fbb18b7..405ad73 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1684,20 +1684,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1684 | return; | 1684 | return; |
1685 | } | 1685 | } |
1686 | 1686 | ||
1687 | // Prevent teleporting to an underground location | ||
1688 | // (may crash client otherwise) | ||
1689 | // | ||
1690 | |||
1691 | /* this is done in MakeRootAgent | ||
1692 | Vector3 pos = AbsolutePosition; | ||
1693 | float ground = m_scene.GetGroundHeight(pos.X, pos.Y); | ||
1694 | if (pos.Z < ground + 1.5f) | ||
1695 | { | ||
1696 | pos.Z = ground + 1.5f; | ||
1697 | AbsolutePosition = pos; | ||
1698 | } | ||
1699 | */ | ||
1700 | |||
1701 | m_log.DebugFormat("[CompleteMovement] WaitForUpdateAgent: {0}ms", Util.EnvironmentTickCountSubtract(ts)); | 1687 | m_log.DebugFormat("[CompleteMovement] WaitForUpdateAgent: {0}ms", Util.EnvironmentTickCountSubtract(ts)); |
1702 | 1688 | ||
1703 | bool flying = ((m_AgentControlFlags & AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0); | 1689 | bool flying = ((m_AgentControlFlags & AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0); |
@@ -1904,7 +1890,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1904 | { | 1890 | { |
1905 | IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); | 1891 | IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); |
1906 | if (m_agentTransfer != null) | 1892 | if (m_agentTransfer != null) |
1893 | { | ||
1907 | m_agentTransfer.EnableChildAgents(this); | 1894 | m_agentTransfer.EnableChildAgents(this); |
1895 | } | ||
1908 | } | 1896 | } |
1909 | } | 1897 | } |
1910 | 1898 | ||
@@ -4171,6 +4159,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
4171 | if ((cAgentData.Throttles != null) && cAgentData.Throttles.Length > 0) | 4159 | if ((cAgentData.Throttles != null) && cAgentData.Throttles.Length > 0) |
4172 | ControllingClient.SetChildAgentThrottle(cAgentData.Throttles); | 4160 | ControllingClient.SetChildAgentThrottle(cAgentData.Throttles); |
4173 | 4161 | ||
4162 | if(cAgentData.ChildrenCapSeeds != null && cAgentData.ChildrenCapSeeds.Count >0) | ||
4163 | { | ||
4164 | if (Scene.CapsModule != null) | ||
4165 | { | ||
4166 | Scene.CapsModule.SetChildrenSeed(UUID, cAgentData.ChildrenCapSeeds); | ||
4167 | } | ||
4168 | |||
4169 | KnownRegions = cAgentData.ChildrenCapSeeds; | ||
4170 | } | ||
4171 | |||
4174 | //cAgentData.AVHeight; | 4172 | //cAgentData.AVHeight; |
4175 | //m_velocity = cAgentData.Velocity; | 4173 | //m_velocity = cAgentData.Velocity; |
4176 | } | 4174 | } |