diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index 7c7f5a1..6f3249d 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | |||
@@ -200,8 +200,8 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
200 | EntityBase presenceEntity; | 200 | EntityBase presenceEntity; |
201 | if (m_scene.Entities.TryGetValue(client.AgentId, out presenceEntity) && presenceEntity is ScenePresence) | 201 | if (m_scene.Entities.TryGetValue(client.AgentId, out presenceEntity) && presenceEntity is ScenePresence) |
202 | { | 202 | { |
203 | SendParcelOverlay(client); | ||
204 | SendLandUpdate((ScenePresence)presenceEntity, true); | 203 | SendLandUpdate((ScenePresence)presenceEntity, true); |
204 | SendParcelOverlay(client); | ||
205 | } | 205 | } |
206 | */ | 206 | */ |
207 | } | 207 | } |
@@ -396,17 +396,17 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
396 | if (!m_scene.TryGetScenePresence(remoteClient.AgentId, out avatar)) | 396 | if (!m_scene.TryGetScenePresence(remoteClient.AgentId, out avatar)) |
397 | return; | 397 | return; |
398 | 398 | ||
399 | SendParcelOverlay(remoteClient); | ||
400 | |||
401 | if (avatar.IsChildAgent) | ||
402 | return; | ||
403 | 399 | ||
404 | ILandObject over = GetLandObject(avatar.AbsolutePosition.X,avatar.AbsolutePosition.Y); | 400 | if (!avatar.IsChildAgent) |
405 | if (over == null) | 401 | { |
406 | return; | 402 | ILandObject over = GetLandObject(avatar.AbsolutePosition.X, avatar.AbsolutePosition.Y); |
403 | if (over == null) | ||
404 | return; | ||
407 | 405 | ||
408 | avatar.currentParcelUUID = over.LandData.GlobalID; | 406 | avatar.currentParcelUUID = over.LandData.GlobalID; |
409 | over.SendLandUpdateToClient(avatar.ControllingClient); | 407 | over.SendLandUpdateToClient(avatar.ControllingClient); |
408 | } | ||
409 | SendParcelOverlay(remoteClient); | ||
410 | } | 410 | } |
411 | 411 | ||
412 | public void SendLandUpdate(ScenePresence avatar, bool force) | 412 | public void SendLandUpdate(ScenePresence avatar, bool force) |
@@ -977,9 +977,9 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
977 | //Now add the new land object | 977 | //Now add the new land object |
978 | ILandObject result = AddLandObject(newLand); | 978 | ILandObject result = AddLandObject(newLand); |
979 | UpdateLandObject(startLandObject.LandData.LocalID, startLandObject.LandData); | 979 | UpdateLandObject(startLandObject.LandData.LocalID, startLandObject.LandData); |
980 | m_scene.ForEachClient(SendParcelOverlay); | ||
981 | result.SendLandUpdateToAvatarsOverMe(); | 980 | result.SendLandUpdateToAvatarsOverMe(); |
982 | startLandObject.SendLandUpdateToAvatarsOverMe(); | 981 | startLandObject.SendLandUpdateToAvatarsOverMe(); |
982 | m_scene.ForEachClient(SendParcelOverlay); | ||
983 | } | 983 | } |
984 | 984 | ||
985 | /// <summary> | 985 | /// <summary> |
@@ -1043,8 +1043,8 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1043 | } | 1043 | } |
1044 | } | 1044 | } |
1045 | 1045 | ||
1046 | m_scene.ForEachClient(SendParcelOverlay); | ||
1047 | masterLandObject.SendLandUpdateToAvatarsOverMe(); | 1046 | masterLandObject.SendLandUpdateToAvatarsOverMe(); |
1047 | m_scene.ForEachClient(SendParcelOverlay); | ||
1048 | } | 1048 | } |
1049 | 1049 | ||
1050 | public void Join(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id) | 1050 | public void Join(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id) |
@@ -1105,12 +1105,12 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1105 | //Sale type | 1105 | //Sale type |
1106 | tempByte = (byte)LandChannel.LAND_TYPE_IS_FOR_SALE; | 1106 | tempByte = (byte)LandChannel.LAND_TYPE_IS_FOR_SALE; |
1107 | } | 1107 | } |
1108 | else if(currentParcelBlock.LandData.OwnerID == UUID.Zero) | 1108 | else if (currentParcelBlock.LandData.OwnerID == UUID.Zero) |
1109 | { | 1109 | { |
1110 | //Public type | 1110 | //Public type |
1111 | tempByte = (byte)LandChannel.LAND_TYPE_PUBLIC; // this does nothing, its zero | 1111 | tempByte = (byte)LandChannel.LAND_TYPE_PUBLIC; // this does nothing, its zero |
1112 | } | 1112 | } |
1113 | // LAND_TYPE_IS_BEING_AUCTIONED still unsuported | 1113 | // LAND_TYPE_IS_BEING_AUCTIONED still unsuported |
1114 | else | 1114 | else |
1115 | { | 1115 | { |
1116 | //Other Flag | 1116 | //Other Flag |
@@ -1169,6 +1169,12 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1169 | } | 1169 | } |
1170 | } | 1170 | } |
1171 | } | 1171 | } |
1172 | |||
1173 | } | ||
1174 | |||
1175 | if (byteArrayCount > 0) | ||
1176 | { | ||
1177 | remote_client.SendLandParcelOverlay(byteArray, sequenceID); | ||
1172 | } | 1178 | } |
1173 | } | 1179 | } |
1174 | 1180 | ||