aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares (Dan Olivares)2009-10-15 02:01:29 -0400
committerTeravus Ovares (Dan Olivares)2009-10-15 02:01:29 -0400
commit6d3d985511a8e70624c3a06a042890002f223978 (patch)
tree81fe4a32e0ebbf50969a4073713355767ed19515
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-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.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs7
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);