aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs91
1 files changed, 58 insertions, 33 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 2c6795f..34d72ac 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4272,8 +4272,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4272 OutPacket(packet, ThrottleOutPacketType.Task); 4272 OutPacket(packet, ThrottleOutPacketType.Task);
4273 } 4273 }
4274 4274
4275 public void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags) 4275 public void SendLandProperties(
4276 int sequence_id, bool snap_selection, int request_result, ILandObject lo,
4277 float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags)
4276 { 4278 {
4279// m_log.DebugFormat("[LLCLIENTVIEW]: Sending land properties for {0} to {1}", lo.LandData.GlobalID, Name);
4280
4281 LandData landData = lo.LandData;
4282
4277 ParcelPropertiesMessage updateMessage = new ParcelPropertiesMessage(); 4283 ParcelPropertiesMessage updateMessage = new ParcelPropertiesMessage();
4278 4284
4279 updateMessage.AABBMax = landData.AABBMax; 4285 updateMessage.AABBMax = landData.AABBMax;
@@ -4281,15 +4287,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4281 updateMessage.Area = landData.Area; 4287 updateMessage.Area = landData.Area;
4282 updateMessage.AuctionID = landData.AuctionID; 4288 updateMessage.AuctionID = landData.AuctionID;
4283 updateMessage.AuthBuyerID = landData.AuthBuyerID; 4289 updateMessage.AuthBuyerID = landData.AuthBuyerID;
4284
4285 updateMessage.Bitmap = landData.Bitmap; 4290 updateMessage.Bitmap = landData.Bitmap;
4286
4287 updateMessage.Desc = landData.Description; 4291 updateMessage.Desc = landData.Description;
4288 updateMessage.Category = landData.Category; 4292 updateMessage.Category = landData.Category;
4289 updateMessage.ClaimDate = Util.ToDateTime(landData.ClaimDate); 4293 updateMessage.ClaimDate = Util.ToDateTime(landData.ClaimDate);
4290 updateMessage.ClaimPrice = landData.ClaimPrice; 4294 updateMessage.ClaimPrice = landData.ClaimPrice;
4291 updateMessage.GroupID = landData.GroupID; 4295 updateMessage.GroupID = landData.GroupID;
4292 updateMessage.GroupPrims = landData.GroupPrims;
4293 updateMessage.IsGroupOwned = landData.IsGroupOwned; 4296 updateMessage.IsGroupOwned = landData.IsGroupOwned;
4294 updateMessage.LandingType = (LandingType) landData.LandingType; 4297 updateMessage.LandingType = (LandingType) landData.LandingType;
4295 updateMessage.LocalID = landData.LocalID; 4298 updateMessage.LocalID = landData.LocalID;
@@ -4310,9 +4313,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4310 updateMessage.Name = landData.Name; 4313 updateMessage.Name = landData.Name;
4311 updateMessage.OtherCleanTime = landData.OtherCleanTime; 4314 updateMessage.OtherCleanTime = landData.OtherCleanTime;
4312 updateMessage.OtherCount = 0; //TODO: Unimplemented 4315 updateMessage.OtherCount = 0; //TODO: Unimplemented
4313 updateMessage.OtherPrims = landData.OtherPrims; 4316 updateMessage.OwnerID = landData.OwnerID;
4314 updateMessage.OwnerID = landData.OwnerID;
4315 updateMessage.OwnerPrims = landData.OwnerPrims;
4316 updateMessage.ParcelFlags = (ParcelFlags) landData.Flags; 4317 updateMessage.ParcelFlags = (ParcelFlags) landData.Flags;
4317 updateMessage.ParcelPrimBonus = simObjectBonusFactor; 4318 updateMessage.ParcelPrimBonus = simObjectBonusFactor;
4318 updateMessage.PassHours = landData.PassHours; 4319 updateMessage.PassHours = landData.PassHours;
@@ -4327,10 +4328,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4327 4328
4328 updateMessage.RentPrice = 0; 4329 updateMessage.RentPrice = 0;
4329 updateMessage.RequestResult = (ParcelResult) request_result; 4330 updateMessage.RequestResult = (ParcelResult) request_result;
4330 updateMessage.SalePrice = landData.SalePrice; 4331 updateMessage.SalePrice = landData.SalePrice;
4331 updateMessage.SelectedPrims = landData.SelectedPrims;
4332 updateMessage.SelfCount = 0; //TODO: Unimplemented 4332 updateMessage.SelfCount = 0; //TODO: Unimplemented
4333 updateMessage.SequenceID = sequence_id; 4333 updateMessage.SequenceID = sequence_id;
4334
4334 if (landData.SimwideArea > 0) 4335 if (landData.SimwideArea > 0)
4335 { 4336 {
4336 int simulatorCapacity = (int)(((float)landData.SimwideArea / 65536.0f) * (float)m_scene.RegionInfo.ObjectCapacity * (float)m_scene.RegionInfo.RegionSettings.ObjectBonus); 4337 int simulatorCapacity = (int)(((float)landData.SimwideArea / 65536.0f) * (float)m_scene.RegionInfo.ObjectCapacity * (float)m_scene.RegionInfo.RegionSettings.ObjectBonus);
@@ -4340,22 +4341,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4340 { 4341 {
4341 updateMessage.SimWideMaxPrims = 0; 4342 updateMessage.SimWideMaxPrims = 0;
4342 } 4343 }
4343 updateMessage.SimWideTotalPrims = landData.SimwidePrims; 4344
4344 updateMessage.SnapSelection = snap_selection; 4345 updateMessage.SnapSelection = snap_selection;
4345 updateMessage.SnapshotID = landData.SnapshotID; 4346 updateMessage.SnapshotID = landData.SnapshotID;
4346 updateMessage.Status = (ParcelStatus) landData.Status; 4347 updateMessage.Status = (ParcelStatus) landData.Status;
4347 updateMessage.TotalPrims = landData.OwnerPrims + landData.GroupPrims + landData.OtherPrims + 4348 updateMessage.UserLocation = landData.UserLocation;
4348 landData.SelectedPrims; 4349 updateMessage.UserLookAt = landData.UserLookAt;
4349 updateMessage.UserLocation = landData.UserLocation; 4350
4350 updateMessage.UserLookAt = landData.UserLookAt; 4351 updateMessage.MediaType = landData.MediaType;
4351 4352 updateMessage.MediaDesc = landData.MediaDescription;
4352 updateMessage.MediaType = landData.MediaType; 4353 updateMessage.MediaWidth = landData.MediaWidth;
4353 updateMessage.MediaDesc = landData.MediaDescription; 4354 updateMessage.MediaHeight = landData.MediaHeight;
4354 updateMessage.MediaWidth = landData.MediaWidth; 4355 updateMessage.MediaLoop = landData.MediaLoop;
4355 updateMessage.MediaHeight = landData.MediaHeight; 4356 updateMessage.ObscureMusic = landData.ObscureMusic;
4356 updateMessage.MediaLoop = landData.MediaLoop; 4357 updateMessage.ObscureMedia = landData.ObscureMedia;
4357 updateMessage.ObscureMusic = landData.ObscureMusic; 4358
4358 updateMessage.ObscureMedia = landData.ObscureMedia; 4359 IPrimCounts pc = lo.PrimCounts;
4360 updateMessage.OwnerPrims = pc.Owner;
4361 updateMessage.GroupPrims = pc.Group;
4362 updateMessage.OtherPrims = pc.Others;
4363 updateMessage.SelectedPrims = pc.Selected;
4364 updateMessage.TotalPrims = pc.Total;
4365 updateMessage.SimWideTotalPrims = pc.Simulator;
4359 4366
4360 try 4367 try
4361 { 4368 {
@@ -4363,13 +4370,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4363 if (eq != null) 4370 if (eq != null)
4364 { 4371 {
4365 eq.ParcelProperties(updateMessage, this.AgentId); 4372 eq.ParcelProperties(updateMessage, this.AgentId);
4366 } else { 4373 }
4367 m_log.Warn("No EQ Interface when sending parcel data."); 4374 else
4375 {
4376 m_log.Warn("[LLCLIENTVIEW]: No EQ Interface when sending parcel data.");
4368 } 4377 }
4369 } 4378 }
4370 catch (Exception ex) 4379 catch (Exception ex)
4371 { 4380 {
4372 m_log.Error("Unable to send parcel data via eventqueue - exception: " + ex.ToString()); 4381 m_log.Error("[LLCLIENTVIEW]: Unable to send parcel data via eventqueue - exception: " + ex.ToString());
4373 } 4382 }
4374 } 4383 }
4375 4384
@@ -4929,7 +4938,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4929 AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); 4938 AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest);
4930 AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false); 4939 AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false);
4931 AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); 4940 AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest);
4932 AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest, false); 4941 AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest);
4933 AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false); 4942 AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false);
4934 AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false); 4943 AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false);
4935 AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false); 4944 AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false);
@@ -8800,13 +8809,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8800 case "instantmessage": 8809 case "instantmessage":
8801 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false)) 8810 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
8802 { 8811 {
8803 if (messagePacket.ParamList.Length < 5) 8812 if (messagePacket.ParamList.Length < 2)
8804 return true; 8813 return true;
8814
8805 UUID invoice = messagePacket.MethodData.Invoice; 8815 UUID invoice = messagePacket.MethodData.Invoice;
8806 UUID SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter));
8807 string SenderName = Utils.BytesToString(messagePacket.ParamList[3].Parameter);
8808 string Message = Utils.BytesToString(messagePacket.ParamList[4].Parameter);
8809 UUID sessionID = messagePacket.AgentData.SessionID; 8816 UUID sessionID = messagePacket.AgentData.SessionID;
8817
8818 UUID SenderID;
8819 string SenderName;
8820 string Message;
8821
8822 if (messagePacket.ParamList.Length < 5)
8823 {
8824 SenderID = AgentId;
8825 SenderName = Utils.BytesToString(messagePacket.ParamList[0].Parameter);
8826 Message = Utils.BytesToString(messagePacket.ParamList[1].Parameter);
8827 }
8828 else
8829 {
8830 SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter));
8831 SenderName = Utils.BytesToString(messagePacket.ParamList[3].Parameter);
8832 Message = Utils.BytesToString(messagePacket.ParamList[4].Parameter);
8833 }
8834
8810 OnEstateBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message); 8835 OnEstateBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message);
8811 } 8836 }
8812 return true; 8837 return true;