diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.API.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs index c5a2284..43eb95a 100644 --- a/OpenSim/Region/ClientStack/ClientView.API.cs +++ b/OpenSim/Region/ClientStack/ClientView.API.cs | |||
@@ -941,6 +941,27 @@ namespace OpenSim.Region.ClientStack | |||
941 | this.OutPacket(terse); | 941 | this.OutPacket(terse); |
942 | } | 942 | } |
943 | 943 | ||
944 | public void SendCoarseLocationUpdate(List<LLVector3> CoarseLocations) | ||
945 | { | ||
946 | CoarseLocationUpdatePacket loc = new CoarseLocationUpdatePacket(); | ||
947 | int total = CoarseLocations.Count; | ||
948 | CoarseLocationUpdatePacket.IndexBlock ib = | ||
949 | new CoarseLocationUpdatePacket.IndexBlock(); | ||
950 | loc.Location = new CoarseLocationUpdatePacket.LocationBlock[total]; | ||
951 | for(int i=0; i<total; i++) { | ||
952 | CoarseLocationUpdatePacket.LocationBlock lb = | ||
953 | new CoarseLocationUpdatePacket.LocationBlock(); | ||
954 | lb.X = (byte)CoarseLocations[i].X; | ||
955 | lb.Y = (byte)CoarseLocations[i].Y; | ||
956 | lb.Z = (byte)(CoarseLocations[i].Z/4); | ||
957 | loc.Location[i] = lb; | ||
958 | } | ||
959 | ib.You = -1; | ||
960 | ib.Prey = -1; | ||
961 | loc.Index = ib; | ||
962 | this.OutPacket(loc); | ||
963 | } | ||
964 | |||
944 | #endregion | 965 | #endregion |
945 | 966 | ||
946 | #region Primitive Packet/data Sending Methods | 967 | #region Primitive Packet/data Sending Methods |