* 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.prioritization
parent
b1c93cd3b1
commit
6d3d985511
|
@ -3289,11 +3289,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
new CoarseLocationUpdatePacket.IndexBlock();
|
new CoarseLocationUpdatePacket.IndexBlock();
|
||||||
loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total];
|
loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total];
|
||||||
loc.AgentData = new CoarseLocationUpdatePacket.AgentDataBlock[total];
|
loc.AgentData = new CoarseLocationUpdatePacket.AgentDataBlock[total];
|
||||||
|
int selfindex = -1;
|
||||||
for (int i = 0; i < total; i++)
|
for (int i = 0; i < total; i++)
|
||||||
{
|
{
|
||||||
CoarseLocationUpdatePacket.LocationBlock lb =
|
CoarseLocationUpdatePacket.LocationBlock lb =
|
||||||
new CoarseLocationUpdatePacket.LocationBlock();
|
new CoarseLocationUpdatePacket.LocationBlock();
|
||||||
|
|
||||||
lb.X = (byte)CoarseLocations[i].X;
|
lb.X = (byte)CoarseLocations[i].X;
|
||||||
lb.Y = (byte)CoarseLocations[i].Y;
|
lb.Y = (byte)CoarseLocations[i].Y;
|
||||||
|
|
||||||
|
@ -3301,8 +3302,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
loc.Location[i] = lb;
|
loc.Location[i] = lb;
|
||||||
loc.AgentData[i] = new CoarseLocationUpdatePacket.AgentDataBlock();
|
loc.AgentData[i] = new CoarseLocationUpdatePacket.AgentDataBlock();
|
||||||
loc.AgentData[i].AgentID = users[i];
|
loc.AgentData[i].AgentID = users[i];
|
||||||
|
if (users[i] == AgentId)
|
||||||
|
selfindex = i;
|
||||||
}
|
}
|
||||||
ib.You = -1;
|
ib.You = (short)selfindex;
|
||||||
ib.Prey = -1;
|
ib.Prey = -1;
|
||||||
loc.Index = ib;
|
loc.Index = ib;
|
||||||
loc.Header.Reliable = false;
|
loc.Header.Reliable = false;
|
||||||
|
|
|
@ -2507,8 +2507,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
List<ScenePresence> avatars = m_scene.GetAvatars();
|
List<ScenePresence> avatars = m_scene.GetAvatars();
|
||||||
for (int i = 0; i < avatars.Count; i++)
|
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)
|
if (avatars[i].ParentID != 0)
|
||||||
{
|
{
|
||||||
// sitting avatar
|
// sitting avatar
|
||||||
|
@ -2530,7 +2531,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
CoarseLocations.Add(avatars[i].m_pos);
|
CoarseLocations.Add(avatars[i].m_pos);
|
||||||
AvatarUUIDs.Add(avatars[i].UUID);
|
AvatarUUIDs.Add(avatars[i].UUID);
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations);
|
m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations);
|
||||||
|
|
Loading…
Reference in New Issue