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 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/ClientStack') 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; -- cgit v1.1 From 0487092d15e6e456d8516bd7ae2487809c50ffc6 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 16 Oct 2009 13:28:40 +0100 Subject: Thank you, Fly man, for plumbing the AvatarInterestsUpdate packet --- .../Region/ClientStack/LindenUDP/LLClientView.cs | 27 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/ClientStack') diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 4b27fa2..05a2a63 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -9969,11 +9969,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP Utils.BytesToString(avatarNotesUpdate.Data.Notes)); break; -// case PacketType.AvatarInterestsUpdate: -// AvatarInterestsUpdatePacket avatarInterestUpdate = -// (AvatarInterestsUpdatePacket)Pack; -// -// break; + case PacketType.AvatarInterestsUpdate: + AvatarInterestsUpdatePacket avatarInterestUpdate = + (AvatarInterestsUpdatePacket)Pack; + + #region Packet Session and User Check + if (m_checkPackets) + { + if (avatarInterestUpdate.AgentData.SessionID != SessionId || + avatarInterestUpdate.AgentData.AgentID != AgentId) + break; + } + #endregion + + AvatarInterestUpdate handlerAvatarInterestUpdate = OnAvatarInterestUpdate; + if (handlerAvatarInterestUpdate != null) + handlerAvatarInterestUpdate(this, + avatarInterestUpdate.PropertiesData.WantToMask, + Utils.BytesToString(avatarInterestUpdate.PropertiesData.WantToText), + avatarInterestUpdate.PropertiesData.SkillsMask, + Utils.BytesToString(avatarInterestUpdate.PropertiesData.SkillsText), + Utils.BytesToString(avatarInterestUpdate.PropertiesData.LanguagesText)); + break; case PacketType.PlacesQuery: PlacesQueryPacket placesQueryPacket = -- cgit v1.1