From 6d3d985511a8e70624c3a06a042890002f223978 Mon Sep 17 00:00:00 2001 From: Teravus Ovares (Dan Olivares) Date: Thu, 15 Oct 2009 02:01:29 -0400 Subject: * 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. --- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 7 +++++-- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'OpenSim') 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 new CoarseLocationUpdatePacket.IndexBlock(); loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total]; loc.AgentData = new CoarseLocationUpdatePacket.AgentDataBlock[total]; - + int selfindex = -1; for (int i = 0; i < total; i++) { CoarseLocationUpdatePacket.LocationBlock lb = new CoarseLocationUpdatePacket.LocationBlock(); + lb.X = (byte)CoarseLocations[i].X; lb.Y = (byte)CoarseLocations[i].Y; @@ -3301,8 +3302,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP loc.Location[i] = lb; loc.AgentData[i] = new CoarseLocationUpdatePacket.AgentDataBlock(); loc.AgentData[i].AgentID = users[i]; + if (users[i] == AgentId) + selfindex = i; } - ib.You = -1; + ib.You = (short)selfindex; ib.Prey = -1; loc.Index = ib; 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 List avatars = m_scene.GetAvatars(); for (int i = 0; i < avatars.Count; i++) { - if (avatars[i] != this) - { + // Requested by LibOMV. Send Course Location on self. + //if (avatars[i] != this) + //{ if (avatars[i].ParentID != 0) { // sitting avatar @@ -2530,7 +2531,7 @@ namespace OpenSim.Region.Framework.Scenes CoarseLocations.Add(avatars[i].m_pos); AvatarUUIDs.Add(avatars[i].UUID); } - } + //} } m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations); -- cgit v1.1