diff options
author | UbitUmarov | 2014-09-05 12:28:57 +0100 |
---|---|---|
committer | UbitUmarov | 2014-09-05 12:28:57 +0100 |
commit | 25bc349ec9f4d161b67e42aa126d907200638f10 (patch) | |
tree | d8921e5332f80beff8fe016ba38c6a0c50f2fe41 /OpenSim/Region/CoreModules | |
parent | reduce MIN_CALLBACK_MS guard time. A value too high introduces a extra (diff) | |
download | opensim-SC_OLD-25bc349ec9f4d161b67e42aa126d907200638f10.zip opensim-SC_OLD-25bc349ec9f4d161b67e42aa126d907200638f10.tar.gz opensim-SC_OLD-25bc349ec9f4d161b67e42aa126d907200638f10.tar.bz2 opensim-SC_OLD-25bc349ec9f4d161b67e42aa126d907200638f10.tar.xz |
near region check on tp needs to be a full current view check.
sp.KnownRegions is unreliable for this.
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 4be265a..19c068a 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -986,15 +986,15 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
986 | // Well, this is it. The agent is over there. | 986 | // Well, this is it. The agent is over there. |
987 | // KillEntity(sp.Scene, sp.LocalId); | 987 | // KillEntity(sp.Scene, sp.LocalId); |
988 | 988 | ||
989 | bool nearRegion = sp.KnownRegions.ContainsKey(destinationHandle); | 989 | bool l_needsclosing = NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg); |
990 | sp.HasMovedAway(nearRegion); | 990 | sp.HasMovedAway(!l_needsclosing); |
991 | 991 | ||
992 | // Now let's make it officially a child agent | 992 | // Now let's make it officially a child agent |
993 | sp.MakeChildAgent(destinationHandle); | 993 | sp.MakeChildAgent(destinationHandle); |
994 | 994 | ||
995 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone | 995 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone |
996 | 996 | ||
997 | if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) | 997 | if (l_needsclosing) |
998 | { | 998 | { |
999 | if (!sp.Scene.IncomingPreCloseClient(sp)) | 999 | if (!sp.Scene.IncomingPreCloseClient(sp)) |
1000 | return; | 1000 | return; |
@@ -1144,8 +1144,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1144 | 1144 | ||
1145 | m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); | 1145 | m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); |
1146 | 1146 | ||
1147 | bool nearRegion = sp.KnownRegions.ContainsKey(destinationHandle); | 1147 | bool l_needsclosing = NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg); |
1148 | sp.HasMovedAway(nearRegion); | 1148 | sp.HasMovedAway(!l_needsclosing); |
1149 | 1149 | ||
1150 | // Need to signal neighbours whether child agents may need closing irrespective of whether this | 1150 | // Need to signal neighbours whether child agents may need closing irrespective of whether this |
1151 | // one needed closing. We also need to close child agents as quickly as possible to avoid complicated | 1151 | // one needed closing. We also need to close child agents as quickly as possible to avoid complicated |
@@ -1163,7 +1163,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1163 | sp.MakeChildAgent(destinationHandle); | 1163 | sp.MakeChildAgent(destinationHandle); |
1164 | 1164 | ||
1165 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone | 1165 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone |
1166 | if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) | 1166 | if (l_needsclosing) |
1167 | { | 1167 | { |
1168 | if (!sp.Scene.IncomingPreCloseClient(sp)) | 1168 | if (!sp.Scene.IncomingPreCloseClient(sp)) |
1169 | return; | 1169 | return; |