diff options
author | Teravus Ovares (Dan Olivares) | 2009-10-15 02:01:29 -0400 |
---|---|---|
committer | Teravus Ovares (Dan Olivares) | 2009-10-15 02:01:29 -0400 |
commit | 6d3d985511a8e70624c3a06a042890002f223978 (patch) | |
tree | 81fe4a32e0ebbf50969a4073713355767ed19515 | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-6d3d985511a8e70624c3a06a042890002f223978.zip opensim-SC-6d3d985511a8e70624c3a06a042890002f223978.tar.gz opensim-SC-6d3d985511a8e70624c3a06a042890002f223978.tar.bz2 opensim-SC-6d3d985511a8e70624c3a06a042890002f223978.tar.xz |
* Request from lkalif to have the Sim send a coarselocationupdate for each avatar in the sim, including yourself.
* Apparently the LLClientView should have been doing this previously.. Also fixed the 'You' on the index block.. so the client doesn't display an extra green dot.
* Thanks lkalif for bringing it to our attention.
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 7 |
2 files changed, 9 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 8487adc..4b27fa2 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -3289,11 +3289,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3289 | new CoarseLocationUpdatePacket.IndexBlock(); | 3289 | new CoarseLocationUpdatePacket.IndexBlock(); |
3290 | loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total]; | 3290 | loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total]; |
3291 | loc.AgentData = new CoarseLocationUpdatePacket.AgentDataBlock[total]; | 3291 | loc.AgentData = new CoarseLocationUpdatePacket.AgentDataBlock[total]; |
3292 | 3292 | int selfindex = -1; | |
3293 | for (int i = 0; i < total; i++) | 3293 | for (int i = 0; i < total; i++) |
3294 | { | 3294 | { |
3295 | CoarseLocationUpdatePacket.LocationBlock lb = | 3295 | CoarseLocationUpdatePacket.LocationBlock lb = |
3296 | new CoarseLocationUpdatePacket.LocationBlock(); | 3296 | new CoarseLocationUpdatePacket.LocationBlock(); |
3297 | |||
3297 | lb.X = (byte)CoarseLocations[i].X; | 3298 | lb.X = (byte)CoarseLocations[i].X; |
3298 | lb.Y = (byte)CoarseLocations[i].Y; | 3299 | lb.Y = (byte)CoarseLocations[i].Y; |
3299 | 3300 | ||
@@ -3301,8 +3302,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3301 | loc.Location[i] = lb; | 3302 | loc.Location[i] = lb; |
3302 | loc.AgentData[i] = new CoarseLocationUpdatePacket.AgentDataBlock(); | 3303 | loc.AgentData[i] = new CoarseLocationUpdatePacket.AgentDataBlock(); |
3303 | loc.AgentData[i].AgentID = users[i]; | 3304 | loc.AgentData[i].AgentID = users[i]; |
3305 | if (users[i] == AgentId) | ||
3306 | selfindex = i; | ||
3304 | } | 3307 | } |
3305 | ib.You = -1; | 3308 | ib.You = (short)selfindex; |
3306 | ib.Prey = -1; | 3309 | ib.Prey = -1; |
3307 | loc.Index = ib; | 3310 | loc.Index = ib; |
3308 | loc.Header.Reliable = false; | 3311 | loc.Header.Reliable = false; |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 2a06f9e..646a483 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2507,8 +2507,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2507 | List<ScenePresence> avatars = m_scene.GetAvatars(); | 2507 | List<ScenePresence> avatars = m_scene.GetAvatars(); |
2508 | for (int i = 0; i < avatars.Count; i++) | 2508 | for (int i = 0; i < avatars.Count; i++) |
2509 | { | 2509 | { |
2510 | if (avatars[i] != this) | 2510 | // Requested by LibOMV. Send Course Location on self. |
2511 | { | 2511 | //if (avatars[i] != this) |
2512 | //{ | ||
2512 | if (avatars[i].ParentID != 0) | 2513 | if (avatars[i].ParentID != 0) |
2513 | { | 2514 | { |
2514 | // sitting avatar | 2515 | // sitting avatar |
@@ -2530,7 +2531,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2530 | CoarseLocations.Add(avatars[i].m_pos); | 2531 | CoarseLocations.Add(avatars[i].m_pos); |
2531 | AvatarUUIDs.Add(avatars[i].UUID); | 2532 | AvatarUUIDs.Add(avatars[i].UUID); |
2532 | } | 2533 | } |
2533 | } | 2534 | //} |
2534 | } | 2535 | } |
2535 | 2536 | ||
2536 | m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations); | 2537 | m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations); |