aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorTeravus Ovares2009-03-28 01:40:33 +0000
committerTeravus Ovares2009-03-28 01:40:33 +0000
commitf5812b3702f38d4535f042303eef4bd37f8a448c (patch)
tree01a5a1565d97ce02e5910b153cbfe71f86fd3926 /OpenSim/Region/ClientStack
parentSmall bugs fixed related to ownership and permissions. (diff)
downloadopensim-SC_OLD-f5812b3702f38d4535f042303eef4bd37f8a448c.zip
opensim-SC_OLD-f5812b3702f38d4535f042303eef4bd37f8a448c.tar.gz
opensim-SC_OLD-f5812b3702f38d4535f042303eef4bd37f8a448c.tar.bz2
opensim-SC_OLD-f5812b3702f38d4535f042303eef4bd37f8a448c.tar.xz
* Adds AgentUUIDs into the CourseLocationUpdate to improve compatibility with LibOMV based clients.
* Modifies the IClientAPI! So client stacks will need to be modified!
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs9
1 files changed, 7 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 47585f9..07f72c3 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -2674,7 +2674,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2674 OutPacket(terse, ThrottleOutPacketType.Task); 2674 OutPacket(terse, ThrottleOutPacketType.Task);
2675 } 2675 }
2676 2676
2677 public void SendCoarseLocationUpdate(List<Vector3> CoarseLocations) 2677 public void SendCoarseLocationUpdate(List<UUID> users, List<Vector3> CoarseLocations)
2678 { 2678 {
2679 if (!IsActive) return; // We don't need to update inactive clients. 2679 if (!IsActive) return; // We don't need to update inactive clients.
2680 2680
@@ -2684,14 +2684,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2684 CoarseLocationUpdatePacket.IndexBlock ib = 2684 CoarseLocationUpdatePacket.IndexBlock ib =
2685 new CoarseLocationUpdatePacket.IndexBlock(); 2685 new CoarseLocationUpdatePacket.IndexBlock();
2686 loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total]; 2686 loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total];
2687 loc.AgentData = new CoarseLocationUpdatePacket.AgentDataBlock[total];
2688
2687 for (int i = 0; i < total; i++) 2689 for (int i = 0; i < total; i++)
2688 { 2690 {
2689 CoarseLocationUpdatePacket.LocationBlock lb = 2691 CoarseLocationUpdatePacket.LocationBlock lb =
2690 new CoarseLocationUpdatePacket.LocationBlock(); 2692 new CoarseLocationUpdatePacket.LocationBlock();
2691 lb.X = (byte)CoarseLocations[i].X; 2693 lb.X = (byte)CoarseLocations[i].X;
2692 lb.Y = (byte)CoarseLocations[i].Y; 2694 lb.Y = (byte)CoarseLocations[i].Y;
2693 lb.Z = (byte)(CoarseLocations[i].Z / 4); 2695
2696 lb.Z = CoarseLocations[i].Z > 1024 ? (byte)0 : (byte)(CoarseLocations[i].Z * 0.25);
2694 loc.Location[i] = lb; 2697 loc.Location[i] = lb;
2698 loc.AgentData[i] = new CoarseLocationUpdatePacket.AgentDataBlock();
2699 loc.AgentData[i].AgentID = users[i];
2695 } 2700 }
2696 ib.You = -1; 2701 ib.You = -1;
2697 ib.Prey = -1; 2702 ib.Prey = -1;