aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs310
1 files changed, 134 insertions, 176 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 440392a..071a1bb 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -47,7 +47,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
47{ 47{
48 public delegate bool PacketMethod(IClientAPI simClient, Packet packet); 48 public delegate bool PacketMethod(IClientAPI simClient, Packet packet);
49 49
50 public class PacketDupeLimiter 50 public class PacketDupeLimiter
51 { 51 {
52 public PacketType pktype; 52 public PacketType pktype;
53 public int timeIn; 53 public int timeIn;
@@ -658,7 +658,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
658 { 658 {
659 // this will normally trigger at least one packet (ping response) 659 // this will normally trigger at least one packet (ping response)
660 SendStartPingCheck(0); 660 SendStartPingCheck(0);
661
662 } 661 }
663 } 662 }
664 else 663 else
@@ -666,7 +665,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
666 // Something received in the meantime - we can reset the counters 665 // Something received in the meantime - we can reset the counters
667 m_probesWithNoIngressPackets = 0; 666 m_probesWithNoIngressPackets = 0;
668 m_lastPacketsReceived = m_packetsReceived; 667 m_lastPacketsReceived = m_packetsReceived;
669
670 } 668 }
671 //SendPacketStats(); 669 //SendPacketStats();
672 } 670 }
@@ -726,7 +724,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
726 // Previously ClientView.API partial class 724 // Previously ClientView.API partial class
727 public event Action<IClientAPI> OnLogout; 725 public event Action<IClientAPI> OnLogout;
728 public event ObjectPermissions OnObjectPermissions; 726 public event ObjectPermissions OnObjectPermissions;
729
730 public event Action<IClientAPI> OnConnectionClosed; 727 public event Action<IClientAPI> OnConnectionClosed;
731 public event ViewerEffectEventHandler OnViewerEffect; 728 public event ViewerEffectEventHandler OnViewerEffect;
732 public event ImprovedInstantMessage OnInstantMessage; 729 public event ImprovedInstantMessage OnInstantMessage;
@@ -788,12 +785,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
788 public event DisconnectUser OnDisconnectUser; 785 public event DisconnectUser OnDisconnectUser;
789 public event RequestAvatarProperties OnRequestAvatarProperties; 786 public event RequestAvatarProperties OnRequestAvatarProperties;
790 public event SetAlwaysRun OnSetAlwaysRun; 787 public event SetAlwaysRun OnSetAlwaysRun;
791
792 public event FetchInventory OnAgentDataUpdateRequest; 788 public event FetchInventory OnAgentDataUpdateRequest;
793 public event FetchInventory OnUserInfoRequest; 789 public event FetchInventory OnUserInfoRequest;
794 public event TeleportLocationRequest OnSetStartLocationRequest; 790 public event TeleportLocationRequest OnSetStartLocationRequest;
795 public event UpdateAvatarProperties OnUpdateAvatarProperties; 791 public event UpdateAvatarProperties OnUpdateAvatarProperties;
796
797 public event CreateNewInventoryItem OnCreateNewInventoryItem; 792 public event CreateNewInventoryItem OnCreateNewInventoryItem;
798 public event CreateInventoryFolder OnCreateNewInventoryFolder; 793 public event CreateInventoryFolder OnCreateNewInventoryFolder;
799 public event UpdateInventoryFolder OnUpdateInventoryFolder; 794 public event UpdateInventoryFolder OnUpdateInventoryFolder;
@@ -816,9 +811,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
816 public event MoveTaskInventory OnMoveTaskItem; 811 public event MoveTaskInventory OnMoveTaskItem;
817 public event RemoveTaskInventory OnRemoveTaskItem; 812 public event RemoveTaskInventory OnRemoveTaskItem;
818 public event RequestAsset OnRequestAsset; 813 public event RequestAsset OnRequestAsset;
819
820 public event UUIDNameRequest OnNameFromUUIDRequest; 814 public event UUIDNameRequest OnNameFromUUIDRequest;
821
822 public event ParcelAccessListRequest OnParcelAccessListRequest; 815 public event ParcelAccessListRequest OnParcelAccessListRequest;
823 public event ParcelAccessListUpdateRequest OnParcelAccessListUpdateRequest; 816 public event ParcelAccessListUpdateRequest OnParcelAccessListUpdateRequest;
824 public event ParcelPropertiesRequest OnParcelPropertiesRequest; 817 public event ParcelPropertiesRequest OnParcelPropertiesRequest;
@@ -829,36 +822,24 @@ namespace OpenSim.Region.ClientStack.LindenUDP
829 public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest; 822 public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
830 public event ParcelAbandonRequest OnParcelAbandonRequest; 823 public event ParcelAbandonRequest OnParcelAbandonRequest;
831 public event ParcelReturnObjectsRequest OnParcelReturnObjectsRequest; 824 public event ParcelReturnObjectsRequest OnParcelReturnObjectsRequest;
832
833 public event RegionInfoRequest OnRegionInfoRequest; 825 public event RegionInfoRequest OnRegionInfoRequest;
834 public event EstateCovenantRequest OnEstateCovenantRequest; 826 public event EstateCovenantRequest OnEstateCovenantRequest;
835
836 public event FriendActionDelegate OnApproveFriendRequest; 827 public event FriendActionDelegate OnApproveFriendRequest;
837 public event FriendActionDelegate OnDenyFriendRequest; 828 public event FriendActionDelegate OnDenyFriendRequest;
838 public event FriendshipTermination OnTerminateFriendship; 829 public event FriendshipTermination OnTerminateFriendship;
839
840 public event PacketStats OnPacketStats; 830 public event PacketStats OnPacketStats;
841
842 public event MoneyTransferRequest OnMoneyTransferRequest; 831 public event MoneyTransferRequest OnMoneyTransferRequest;
843 public event EconomyDataRequest OnEconomyDataRequest; 832 public event EconomyDataRequest OnEconomyDataRequest;
844
845 public event MoneyBalanceRequest OnMoneyBalanceRequest; 833 public event MoneyBalanceRequest OnMoneyBalanceRequest;
846 public event ParcelBuy OnParcelBuy; 834 public event ParcelBuy OnParcelBuy;
847
848 public event UUIDNameRequest OnTeleportHomeRequest; 835 public event UUIDNameRequest OnTeleportHomeRequest;
849
850 public event UUIDNameRequest OnUUIDGroupNameRequest; 836 public event UUIDNameRequest OnUUIDGroupNameRequest;
851
852 public event ScriptAnswer OnScriptAnswer; 837 public event ScriptAnswer OnScriptAnswer;
853 public event RequestPayPrice OnRequestPayPrice; 838 public event RequestPayPrice OnRequestPayPrice;
854 public event AgentSit OnUndo; 839 public event AgentSit OnUndo;
855
856 public event ForceReleaseControls OnForceReleaseControls; 840 public event ForceReleaseControls OnForceReleaseControls;
857
858 public event GodLandStatRequest OnLandStatRequest; 841 public event GodLandStatRequest OnLandStatRequest;
859
860 public event RequestObjectPropertiesFamily OnObjectGroupRequest; 842 public event RequestObjectPropertiesFamily OnObjectGroupRequest;
861
862 public event DetailedEstateDataRequest OnDetailedEstateDataRequest; 843 public event DetailedEstateDataRequest OnDetailedEstateDataRequest;
863 public event SetEstateFlagsRequest OnSetEstateFlagsRequest; 844 public event SetEstateFlagsRequest OnSetEstateFlagsRequest;
864 public event SetEstateTerrainBaseTexture OnSetEstateTerrainBaseTexture; 845 public event SetEstateTerrainBaseTexture OnSetEstateTerrainBaseTexture;
@@ -1049,7 +1030,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1049 //} 1030 //}
1050 } 1031 }
1051 1032
1052
1053 private void DoSendLayerData(object o) 1033 private void DoSendLayerData(object o)
1054 { 1034 {
1055 float[] map = (float[])o; 1035 float[] map = (float[])o;
@@ -1083,7 +1063,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1083 OutPacket(layerpack, ThrottleOutPacketType.Land); 1063 OutPacket(layerpack, ThrottleOutPacketType.Land);
1084 } 1064 }
1085 1065
1086
1087 /// <summary> 1066 /// <summary>
1088 /// Sends a specified patch to a client 1067 /// Sends a specified patch to a client
1089 /// </summary> 1068 /// </summary>
@@ -1449,7 +1428,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1449 1428
1450 if (i < MAX_ITEMS_PER_PACKET) 1429 if (i < MAX_ITEMS_PER_PACKET)
1451 { 1430 {
1452
1453 OutPacket(descend, ThrottleOutPacketType.Asset); 1431 OutPacket(descend, ThrottleOutPacketType.Asset);
1454 } 1432 }
1455 } 1433 }
@@ -1748,7 +1726,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1748 economyData.Info.TeleportPriceExponent = TeleportPriceExponent; 1726 economyData.Info.TeleportPriceExponent = TeleportPriceExponent;
1749 economyData.Header.Reliable = true; 1727 economyData.Header.Reliable = true;
1750 OutPacket(economyData, ThrottleOutPacketType.Unknown); 1728 OutPacket(economyData, ThrottleOutPacketType.Unknown);
1751
1752 } 1729 }
1753 1730
1754 public void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List<AvatarPickerReplyDataArgs> Data) 1731 public void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List<AvatarPickerReplyDataArgs> Data)
@@ -2209,7 +2186,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2209 2186
2210 ObjectUpdatePacket outPacket = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate); 2187 ObjectUpdatePacket outPacket = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate);
2211 2188
2212 2189
2213 2190
2214 // TODO: don't create new blocks if recycling an old packet 2191 // TODO: don't create new blocks if recycling an old packet
2215 outPacket.RegionData.RegionHandle = regionHandle; 2192 outPacket.RegionData.RegionHandle = regionHandle;
@@ -2256,8 +2233,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2256 outPacket.ObjectData[0].OwnerID = ownerID; 2233 outPacket.ObjectData[0].OwnerID = ownerID;
2257 outPacket.ObjectData[0].Gain = (float) SoundGain; 2234 outPacket.ObjectData[0].Gain = (float) SoundGain;
2258 outPacket.ObjectData[0].Radius = (float) SoundRadius; 2235 outPacket.ObjectData[0].Radius = (float) SoundRadius;
2259 outPacket.ObjectData[0].Flags = SoundFlags; 2236 outPacket.ObjectData[0].Flags = SoundFlags;
2260
2261 2237
2262 byte[] pb = pos.GetBytes(); 2238 byte[] pb = pos.GetBytes();
2263 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); 2239 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
@@ -2318,6 +2294,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2318 terse.Header.Zerocoded = true; 2294 terse.Header.Zerocoded = true;
2319 OutPacket(terse, ThrottleOutPacketType.Task); 2295 OutPacket(terse, ThrottleOutPacketType.Task);
2320 } 2296 }
2297
2321 public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, LLUUID AssetFullID) 2298 public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, LLUUID AssetFullID)
2322 { 2299 {
2323 AssetUploadCompletePacket newPack = new AssetUploadCompletePacket(); 2300 AssetUploadCompletePacket newPack = new AssetUploadCompletePacket();
@@ -2327,6 +2304,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2327 newPack.Header.Zerocoded = true; 2304 newPack.Header.Zerocoded = true;
2328 OutPacket(newPack, ThrottleOutPacketType.Asset); 2305 OutPacket(newPack, ThrottleOutPacketType.Asset);
2329 } 2306 }
2307
2330 public void SendXferRequest(ulong XferID, short AssetType, LLUUID vFileID, byte FilePath, byte[] FileName) 2308 public void SendXferRequest(ulong XferID, short AssetType, LLUUID vFileID, byte FilePath, byte[] FileName)
2331 { 2309 {
2332 RequestXferPacket newPack = new RequestXferPacket(); 2310 RequestXferPacket newPack = new RequestXferPacket();
@@ -2337,8 +2315,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2337 newPack.XferID.Filename = FileName; 2315 newPack.XferID.Filename = FileName;
2338 newPack.Header.Zerocoded = true; 2316 newPack.Header.Zerocoded = true;
2339 OutPacket(newPack, ThrottleOutPacketType.Asset); 2317 OutPacket(newPack, ThrottleOutPacketType.Asset);
2340
2341 } 2318 }
2319
2342 public void SendConfirmXfer(ulong xferID, uint PacketID) 2320 public void SendConfirmXfer(ulong xferID, uint PacketID)
2343 { 2321 {
2344 ConfirmXferPacketPacket newPack = new ConfirmXferPacketPacket(); 2322 ConfirmXferPacketPacket newPack = new ConfirmXferPacketPacket();
@@ -2347,6 +2325,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2347 newPack.Header.Zerocoded = true; 2325 newPack.Header.Zerocoded = true;
2348 OutPacket(newPack, ThrottleOutPacketType.Asset); 2326 OutPacket(newPack, ThrottleOutPacketType.Asset);
2349 } 2327 }
2328
2350 public void SendImagePart(ushort numParts, LLUUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec) 2329 public void SendImagePart(ushort numParts, LLUUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec)
2351 { 2330 {
2352 ImageDataPacket im = new ImageDataPacket(); 2331 ImageDataPacket im = new ImageDataPacket();
@@ -2362,6 +2341,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2362 im.Header.Zerocoded = true; 2341 im.Header.Zerocoded = true;
2363 OutPacket(im, ThrottleOutPacketType.Texture); 2342 OutPacket(im, ThrottleOutPacketType.Texture);
2364 } 2343 }
2344
2365 public void SendShutdownConnectionNotice() 2345 public void SendShutdownConnectionNotice()
2366 { 2346 {
2367 OutPacket(PacketPool.Instance.GetPacket(PacketType.DisableSimulator), ThrottleOutPacketType.Unknown); 2347 OutPacket(PacketPool.Instance.GetPacket(PacketType.DisableSimulator), ThrottleOutPacketType.Unknown);
@@ -2449,125 +2429,126 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2449 #endregion 2429 #endregion
2450 2430
2451 #region Estate Data Sending Methods 2431 #region Estate Data Sending Methods
2452 private bool convertParamStringToBool(byte[] field)
2453 {
2454 string s = Helpers.FieldToUTF8String(field);
2455 if (s == "1" || s.ToLower() == "y" || s.ToLower() == "yes" || s.ToLower() == "t" || s.ToLower() == "true")
2456 {
2457 return true;
2458 }
2459 return false;
2460 }
2461 2432
2462 public void sendEstateManagersList(LLUUID invoice, LLUUID[] EstateManagers, uint estateID) 2433 private bool convertParamStringToBool(byte[] field)
2434 {
2435 string s = Helpers.FieldToUTF8String(field);
2436 if (s == "1" || s.ToLower() == "y" || s.ToLower() == "yes" || s.ToLower() == "t" || s.ToLower() == "true")
2463 { 2437 {
2464 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket(); 2438 return true;
2465 packet.AgentData.TransactionID = LLUUID.Random(); 2439 }
2466 packet.AgentData.AgentID = this.AgentId; 2440 return false;
2467 packet.AgentData.SessionID = this.SessionId; 2441 }
2468 packet.MethodData.Invoice = invoice;
2469 packet.MethodData.Method = Helpers.StringToField("setaccess");
2470 2442
2471 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + EstateManagers.Length]; 2443 public void sendEstateManagersList(LLUUID invoice, LLUUID[] EstateManagers, uint estateID)
2444 {
2445 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
2446 packet.AgentData.TransactionID = LLUUID.Random();
2447 packet.AgentData.AgentID = this.AgentId;
2448 packet.AgentData.SessionID = this.SessionId;
2449 packet.MethodData.Invoice = invoice;
2450 packet.MethodData.Method = Helpers.StringToField("setaccess");
2472 2451
2473 for (int i = 0; i < (6 + EstateManagers.Length); i++) 2452 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + EstateManagers.Length];
2474 {
2475 returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock();
2476 }
2477 int j = 0;
2478
2479 returnblock[j].Parameter = Helpers.StringToField(estateID.ToString()); j++;
2480 returnblock[j].Parameter = Helpers.StringToField(((int)Constants.EstateAccessCodex.EstateManagers).ToString()); j++;
2481 returnblock[j].Parameter = Helpers.StringToField("0"); j++;
2482 returnblock[j].Parameter = Helpers.StringToField("0"); j++;
2483 returnblock[j].Parameter = Helpers.StringToField("0"); j++;
2484 returnblock[j].Parameter = Helpers.StringToField(EstateManagers.Length.ToString()); j++;
2485 for (int i = 0; i < EstateManagers.Length; i++)
2486 {
2487 returnblock[j].Parameter = EstateManagers[i].GetBytes(); j++;
2488 }
2489 packet.ParamList = returnblock;
2490 packet.Header.Reliable = false;
2491 this.OutPacket(packet, ThrottleOutPacketType.Task);
2492 }
2493 2453
2494 public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) 2454 for (int i = 0; i < (6 + EstateManagers.Length); i++)
2495 { 2455 {
2496 RegionInfoPacket rinfopack = new RegionInfoPacket(); 2456 returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock();
2497 RegionInfoPacket.RegionInfoBlock rinfoblk = new RegionInfoPacket.RegionInfoBlock();
2498 rinfopack.AgentData.AgentID = this.AgentId;
2499 rinfopack.AgentData.SessionID = this.SessionId;
2500 rinfoblk.BillableFactor =args.billableFactor;
2501 rinfoblk.EstateID = args.estateID;
2502 rinfoblk.MaxAgents = args.maxAgents;
2503 rinfoblk.ObjectBonusFactor =args.objectBonusFactor;
2504 rinfoblk.ParentEstateID = args.parentEstateID;
2505 rinfoblk.PricePerMeter = args.pricePerMeter;
2506 rinfoblk.RedirectGridX = args.redirectGridX;
2507 rinfoblk.RedirectGridY = args.redirectGridY;
2508 rinfoblk.RegionFlags = args.regionFlags;
2509 rinfoblk.SimAccess = args.simAccess;
2510 rinfoblk.SunHour = args.sunHour;
2511 rinfoblk.TerrainLowerLimit = args.terrainLowerLimit;
2512 rinfoblk.TerrainRaiseLimit = args.terrainRaiseLimit;
2513 rinfoblk.UseEstateSun = args.useEstateSun;
2514 rinfoblk.WaterHeight = args.waterHeight;
2515 rinfoblk.SimName = Helpers.StringToField(args.simName);
2516
2517
2518 rinfopack.RegionInfo = rinfoblk;
2519
2520 this.OutPacket(rinfopack, ThrottleOutPacketType.Task);
2521 } 2457 }
2522 2458 int j = 0;
2523 public void sendEstateCovenantInformation() 2459
2460 returnblock[j].Parameter = Helpers.StringToField(estateID.ToString()); j++;
2461 returnblock[j].Parameter = Helpers.StringToField(((int)Constants.EstateAccessCodex.EstateManagers).ToString()); j++;
2462 returnblock[j].Parameter = Helpers.StringToField("0"); j++;
2463 returnblock[j].Parameter = Helpers.StringToField("0"); j++;
2464 returnblock[j].Parameter = Helpers.StringToField("0"); j++;
2465 returnblock[j].Parameter = Helpers.StringToField(EstateManagers.Length.ToString()); j++;
2466 for (int i = 0; i < EstateManagers.Length; i++)
2524 { 2467 {
2525 EstateCovenantReplyPacket einfopack = new EstateCovenantReplyPacket(); 2468 returnblock[j].Parameter = EstateManagers[i].GetBytes(); j++;
2526 EstateCovenantReplyPacket.DataBlock edata = new EstateCovenantReplyPacket.DataBlock();
2527 edata.CovenantID = m_scene.RegionInfo.CovenantID;
2528 edata.CovenantTimestamp = 0;
2529 edata.EstateOwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID;
2530 edata.EstateName =
2531 Helpers.StringToField(m_scene.RegionInfo.MasterAvatarFirstName + " " + m_scene.RegionInfo.MasterAvatarLastName);
2532 einfopack.Data = edata;
2533 this.OutPacket(einfopack, ThrottleOutPacketType.Task);
2534 } 2469 }
2470 packet.ParamList = returnblock;
2471 packet.Header.Reliable = false;
2472 this.OutPacket(packet, ThrottleOutPacketType.Task);
2473 }
2535 2474
2536 public void sendDetailedEstateData(LLUUID invoice, string estateName, uint estateID) 2475 public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args)
2476 {
2477 RegionInfoPacket rinfopack = new RegionInfoPacket();
2478 RegionInfoPacket.RegionInfoBlock rinfoblk = new RegionInfoPacket.RegionInfoBlock();
2479 rinfopack.AgentData.AgentID = this.AgentId;
2480 rinfopack.AgentData.SessionID = this.SessionId;
2481 rinfoblk.BillableFactor =args.billableFactor;
2482 rinfoblk.EstateID = args.estateID;
2483 rinfoblk.MaxAgents = args.maxAgents;
2484 rinfoblk.ObjectBonusFactor =args.objectBonusFactor;
2485 rinfoblk.ParentEstateID = args.parentEstateID;
2486 rinfoblk.PricePerMeter = args.pricePerMeter;
2487 rinfoblk.RedirectGridX = args.redirectGridX;
2488 rinfoblk.RedirectGridY = args.redirectGridY;
2489 rinfoblk.RegionFlags = args.regionFlags;
2490 rinfoblk.SimAccess = args.simAccess;
2491 rinfoblk.SunHour = args.sunHour;
2492 rinfoblk.TerrainLowerLimit = args.terrainLowerLimit;
2493 rinfoblk.TerrainRaiseLimit = args.terrainRaiseLimit;
2494 rinfoblk.UseEstateSun = args.useEstateSun;
2495 rinfoblk.WaterHeight = args.waterHeight;
2496 rinfoblk.SimName = Helpers.StringToField(args.simName);
2497
2498 rinfopack.RegionInfo = rinfoblk;
2499
2500 this.OutPacket(rinfopack, ThrottleOutPacketType.Task);
2501 }
2502
2503 public void sendEstateCovenantInformation()
2504 {
2505 EstateCovenantReplyPacket einfopack = new EstateCovenantReplyPacket();
2506 EstateCovenantReplyPacket.DataBlock edata = new EstateCovenantReplyPacket.DataBlock();
2507 edata.CovenantID = m_scene.RegionInfo.CovenantID;
2508 edata.CovenantTimestamp = 0;
2509 edata.EstateOwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID;
2510 edata.EstateName =
2511 Helpers.StringToField(m_scene.RegionInfo.MasterAvatarFirstName + " " + m_scene.RegionInfo.MasterAvatarLastName);
2512 einfopack.Data = edata;
2513 this.OutPacket(einfopack, ThrottleOutPacketType.Task);
2514 }
2515
2516 public void sendDetailedEstateData(LLUUID invoice, string estateName, uint estateID)
2517 {
2518 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
2519 packet.MethodData.Invoice = invoice;
2520 packet.AgentData.TransactionID = LLUUID.Random();
2521 packet.MethodData.Method = Helpers.StringToField("estateupdateinfo");
2522 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[9];
2523
2524 for (int i = 0; i < 9; i++)
2537 { 2525 {
2538 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket(); 2526 returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock();
2539 packet.MethodData.Invoice = invoice;
2540 packet.AgentData.TransactionID = LLUUID.Random();
2541 packet.MethodData.Method = Helpers.StringToField("estateupdateinfo");
2542 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[9];
2543
2544 for (int i = 0; i < 9; i++)
2545 {
2546 returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock();
2547 }
2548
2549 //Sending Estate Settings
2550 returnblock[0].Parameter = Helpers.StringToField(estateName);
2551 returnblock[1].Parameter = Helpers.StringToField(m_scene.RegionInfo.MasterAvatarAssignedUUID.ToString());
2552 returnblock[2].Parameter = Helpers.StringToField(estateID.ToString());
2553
2554 // TODO: Resolve Magic numbers here
2555 returnblock[3].Parameter = Helpers.StringToField("269516800");
2556 returnblock[4].Parameter = Helpers.StringToField("0");
2557 returnblock[5].Parameter = Helpers.StringToField("1");
2558 returnblock[6].Parameter = Helpers.StringToField(m_scene.RegionInfo.RegionID.ToString());
2559 returnblock[7].Parameter = Helpers.StringToField("1160895077");
2560 returnblock[8].Parameter = Helpers.StringToField("1");
2561
2562 packet.ParamList = returnblock;
2563 packet.Header.Reliable = false;
2564 //System.Console.WriteLine("[ESTATE]: SIM--->" + packet.ToString());
2565 this.OutPacket(packet, ThrottleOutPacketType.Task);
2566 } 2527 }
2567 2528
2529 //Sending Estate Settings
2530 returnblock[0].Parameter = Helpers.StringToField(estateName);
2531 returnblock[1].Parameter = Helpers.StringToField(m_scene.RegionInfo.MasterAvatarAssignedUUID.ToString());
2532 returnblock[2].Parameter = Helpers.StringToField(estateID.ToString());
2533
2534 // TODO: Resolve Magic numbers here
2535 returnblock[3].Parameter = Helpers.StringToField("269516800");
2536 returnblock[4].Parameter = Helpers.StringToField("0");
2537 returnblock[5].Parameter = Helpers.StringToField("1");
2538 returnblock[6].Parameter = Helpers.StringToField(m_scene.RegionInfo.RegionID.ToString());
2539 returnblock[7].Parameter = Helpers.StringToField("1160895077");
2540 returnblock[8].Parameter = Helpers.StringToField("1");
2541
2542 packet.ParamList = returnblock;
2543 packet.Header.Reliable = false;
2544 //System.Console.WriteLine("[ESTATE]: SIM--->" + packet.ToString());
2545 this.OutPacket(packet, ThrottleOutPacketType.Task);
2546 }
2547
2568 #endregion 2548 #endregion
2569 2549
2570 #region Land Data Sending Methods 2550 #region Land Data Sending Methods
2551
2571 public void sendLandParcelOverlay(byte[] data, int sequence_id) 2552 public void sendLandParcelOverlay(byte[] data, int sequence_id)
2572 { 2553 {
2573 2554
@@ -2578,6 +2559,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2578 packet.Header.Zerocoded = true; 2559 packet.Header.Zerocoded = true;
2579 this.OutPacket(packet, ThrottleOutPacketType.Task); 2560 this.OutPacket(packet, ThrottleOutPacketType.Task);
2580 } 2561 }
2562
2581 public void sendLandProperties(IClientAPI remote_client,int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int simObjectCapacity, uint regionFlags) 2563 public void sendLandProperties(IClientAPI remote_client,int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int simObjectCapacity, uint regionFlags)
2582 { 2564 {
2583 ParcelPropertiesPacket updatePacket = (ParcelPropertiesPacket) PacketPool.Instance.GetPacket(PacketType.ParcelProperties); 2565 ParcelPropertiesPacket updatePacket = (ParcelPropertiesPacket) PacketPool.Instance.GetPacket(PacketType.ParcelProperties);
@@ -2743,8 +2725,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2743 notifyCount = 32; 2725 notifyCount = 32;
2744 } 2726 }
2745 2727
2746
2747
2748 ParcelObjectOwnersReplyPacket.DataBlock[] dataBlock 2728 ParcelObjectOwnersReplyPacket.DataBlock[] dataBlock
2749 = new ParcelObjectOwnersReplyPacket.DataBlock[notifyCount]; 2729 = new ParcelObjectOwnersReplyPacket.DataBlock[notifyCount];
2750 2730
@@ -2773,9 +2753,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2773 2753
2774 #endregion 2754 #endregion
2775 2755
2776 #region Helper Methods 2756 #region Helper Methods
2777 2757
2778 protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateAvatarImprovedBlock(uint localID, LLVector3 pos, 2758 protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateAvatarImprovedBlock(uint localID, LLVector3 pos,
2779 LLVector3 velocity, 2759 LLVector3 velocity,
2780 LLQuaternion rotation) 2760 LLQuaternion rotation)
2781 { 2761 {
@@ -2958,7 +2938,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2958 bytes[i++] = (byte)((rvelz >> 8) % 256); 2938 bytes[i++] = (byte)((rvelz >> 8) % 256);
2959 dat.Data = bytes; 2939 dat.Data = bytes;
2960 2940
2961
2962 return dat; 2941 return dat;
2963 } 2942 }
2964 2943
@@ -3034,7 +3013,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3034 objdata.ObjectData[47] = 63; 3013 objdata.ObjectData[47] = 63;
3035 } 3014 }
3036 3015
3037
3038 /// <summary> 3016 /// <summary>
3039 /// 3017 ///
3040 /// </summary> 3018 /// </summary>
@@ -3165,13 +3143,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3165 false); 3143 false);
3166 } 3144 }
3167 return true; 3145 return true;
3168
3169 } 3146 }
3170 else 3147 else
3171 { 3148 {
3172 return false; 3149 return false;
3173 } 3150 }
3174
3175 } 3151 }
3176 3152
3177 private bool HandleUUIDGroupNameRequest(IClientAPI sender, Packet Pack) 3153 private bool HandleUUIDGroupNameRequest(IClientAPI sender, Packet Pack)
@@ -3205,8 +3181,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3205 return true; 3181 return true;
3206 } 3182 }
3207 3183
3208
3209
3210 private bool HandleViewerEffect(IClientAPI sender, Packet Pack) 3184 private bool HandleViewerEffect(IClientAPI sender, Packet Pack)
3211 { 3185 {
3212 ViewerEffectPacket viewer = (ViewerEffectPacket)Pack; 3186 ViewerEffectPacket viewer = (ViewerEffectPacket)Pack;
@@ -3346,7 +3320,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3346 handlerUpdatePrimSinglePosition = OnUpdatePrimSinglePosition; 3320 handlerUpdatePrimSinglePosition = OnUpdatePrimSinglePosition;
3347 if (handlerUpdatePrimSinglePosition != null) 3321 if (handlerUpdatePrimSinglePosition != null)
3348 { 3322 {
3349
3350 // Console.WriteLine("new movement position is " + pos.X + " , " + pos.Y + " , " + pos.Z); 3323 // Console.WriteLine("new movement position is " + pos.X + " , " + pos.Y + " , " + pos.Z);
3351 handlerUpdatePrimSinglePosition(localId, pos1, this); 3324 handlerUpdatePrimSinglePosition(localId, pos1, this);
3352 } 3325 }
@@ -3357,7 +3330,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3357 handlerUpdatePrimSingleRotation = OnUpdatePrimSingleRotation; 3330 handlerUpdatePrimSingleRotation = OnUpdatePrimSingleRotation;
3358 if (handlerUpdatePrimSingleRotation != null) 3331 if (handlerUpdatePrimSingleRotation != null)
3359 { 3332 {
3360
3361 //Console.WriteLine("new tab rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W); 3333 //Console.WriteLine("new tab rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W);
3362 handlerUpdatePrimSingleRotation(localId, rot1, this); 3334 handlerUpdatePrimSingleRotation(localId, rot1, this);
3363 } 3335 }
@@ -3368,7 +3340,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3368 handlerUpdatePrimSingleRotation = OnUpdatePrimSingleRotation; 3340 handlerUpdatePrimSingleRotation = OnUpdatePrimSingleRotation;
3369 if (handlerUpdatePrimSingleRotation != null) 3341 if (handlerUpdatePrimSingleRotation != null)
3370 { 3342 {
3371
3372 //Console.WriteLine("new mouse rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W); 3343 //Console.WriteLine("new mouse rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W);
3373 handlerUpdatePrimSingleRotation(localId, rot2, this); 3344 handlerUpdatePrimSingleRotation(localId, rot2, this);
3374 } 3345 }
@@ -3381,11 +3352,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3381 handlerUpdatePrimScale = OnUpdatePrimScale; 3352 handlerUpdatePrimScale = OnUpdatePrimScale;
3382 if (handlerUpdatePrimScale != null) 3353 if (handlerUpdatePrimScale != null)
3383 { 3354 {
3384
3385 // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z); 3355 // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z);
3386 handlerUpdatePrimScale(localId, scale1, this); 3356 handlerUpdatePrimScale(localId, scale1, this);
3387 3357
3388
3389 handlerUpdatePrimSinglePosition = OnUpdatePrimSinglePosition; 3358 handlerUpdatePrimSinglePosition = OnUpdatePrimSinglePosition;
3390 if (handlerUpdatePrimSinglePosition != null) 3359 if (handlerUpdatePrimSinglePosition != null)
3391 { 3360 {
@@ -3405,40 +3374,34 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3405 } 3374 }
3406 break; 3375 break;
3407 case 10: 3376 case 10:
3408
3409 LLQuaternion rot3 = new LLQuaternion(block.Data, 0, true); 3377 LLQuaternion rot3 = new LLQuaternion(block.Data, 0, true);
3410 3378
3411 handlerUpdatePrimRotation = OnUpdatePrimGroupRotation; 3379 handlerUpdatePrimRotation = OnUpdatePrimGroupRotation;
3412 if (handlerUpdatePrimRotation != null) 3380 if (handlerUpdatePrimRotation != null)
3413 { 3381 {
3414
3415 // Console.WriteLine("new rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W); 3382 // Console.WriteLine("new rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W);
3416 handlerUpdatePrimRotation(localId, rot3, this); 3383 handlerUpdatePrimRotation(localId, rot3, this);
3417 } 3384 }
3418 break; 3385 break;
3419 case 11: 3386 case 11:
3420
3421 LLVector3 pos3 = new LLVector3(block.Data, 0); 3387 LLVector3 pos3 = new LLVector3(block.Data, 0);
3422 LLQuaternion rot4 = new LLQuaternion(block.Data, 12, true); 3388 LLQuaternion rot4 = new LLQuaternion(block.Data, 12, true);
3423 3389
3424 handlerUpdatePrimGroupRotation = OnUpdatePrimGroupMouseRotation; 3390 handlerUpdatePrimGroupRotation = OnUpdatePrimGroupMouseRotation;
3425 if (handlerUpdatePrimGroupRotation != null) 3391 if (handlerUpdatePrimGroupRotation != null)
3426 { 3392 {
3427
3428 //Console.WriteLine("new rotation position is " + pos.X + " , " + pos.Y + " , " + pos.Z); 3393 //Console.WriteLine("new rotation position is " + pos.X + " , " + pos.Y + " , " + pos.Z);
3429 // Console.WriteLine("new rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W); 3394 // Console.WriteLine("new rotation is " + rot.X + " , " + rot.Y + " , " + rot.Z + " , " + rot.W);
3430 handlerUpdatePrimGroupRotation(localId, pos3, rot4, this); 3395 handlerUpdatePrimGroupRotation(localId, pos3, rot4, this);
3431 } 3396 }
3432 break; 3397 break;
3433 case 13: 3398 case 13:
3434
3435 LLVector3 scale2 = new LLVector3(block.Data, 12); 3399 LLVector3 scale2 = new LLVector3(block.Data, 12);
3436 LLVector3 pos4 = new LLVector3(block.Data, 0); 3400 LLVector3 pos4 = new LLVector3(block.Data, 0);
3437 3401
3438 handlerUpdatePrimScale = OnUpdatePrimScale; 3402 handlerUpdatePrimScale = OnUpdatePrimScale;
3439 if (handlerUpdatePrimScale != null) 3403 if (handlerUpdatePrimScale != null)
3440 { 3404 {
3441
3442 //Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z); 3405 //Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z);
3443 handlerUpdatePrimScale(localId, scale2, this); 3406 handlerUpdatePrimScale(localId, scale2, this);
3444 3407
@@ -3464,7 +3427,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3464 3427
3465 if (handlerUpdateVector != null) 3428 if (handlerUpdateVector != null)
3466 { 3429 {
3467
3468 handlerUpdateVector(localId, pos5, this); 3430 handlerUpdateVector(localId, pos5, this);
3469 } 3431 }
3470 } 3432 }
@@ -3841,11 +3803,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3841 3803
3842 protected void AckTimer_Elapsed(object sender, ElapsedEventArgs ea) 3804 protected void AckTimer_Elapsed(object sender, ElapsedEventArgs ea)
3843 { 3805 {
3844
3845 SendAcks(); 3806 SendAcks();
3846 ResendUnacked(); 3807 ResendUnacked();
3847 SendPacketStats(); 3808 SendPacketStats();
3848
3849 } 3809 }
3850 3810
3851 protected void SendPacketStats() 3811 protected void SendPacketStats()
@@ -3858,6 +3818,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3858 m_lastPacketsSentSentToScene = m_packetsSent; 3818 m_lastPacketsSentSentToScene = m_packetsSent;
3859 } 3819 }
3860 } 3820 }
3821
3861 protected void ClearOldPacketDupeTracking() 3822 protected void ClearOldPacketDupeTracking()
3862 { 3823 {
3863 lock (m_dupeLimiter) 3824 lock (m_dupeLimiter)
@@ -3865,7 +3826,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3865 List<uint> toEliminate = new List<uint>(); 3826 List<uint> toEliminate = new List<uint>();
3866 try 3827 try
3867 { 3828 {
3868
3869 foreach (uint seq in m_dupeLimiter.Keys) 3829 foreach (uint seq in m_dupeLimiter.Keys)
3870 { 3830 {
3871 PacketDupeLimiter pkdata = null; 3831 PacketDupeLimiter pkdata = null;
@@ -3913,7 +3873,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3913 3873
3914 private bool m_packetProcessingEnabled = true; 3874 private bool m_packetProcessingEnabled = true;
3915 3875
3916 public bool IsActive { 3876 public bool IsActive
3877 {
3917 get { return m_packetProcessingEnabled; } 3878 get { return m_packetProcessingEnabled; }
3918 set { m_packetProcessingEnabled = value; } 3879 set { m_packetProcessingEnabled = value; }
3919 } 3880 }
@@ -3945,10 +3906,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3945 } 3906 }
3946 else 3907 else
3947 { 3908 {
3948
3949 switch (Pack.Type) 3909 switch (Pack.Type)
3950 { 3910 {
3951 #region Scene/Avatar 3911 #region Scene/Avatar
3952 3912
3953 case PacketType.AvatarPropertiesRequest: 3913 case PacketType.AvatarPropertiesRequest:
3954 AvatarPropertiesRequestPacket avatarProperties = (AvatarPropertiesRequestPacket)Pack; 3914 AvatarPropertiesRequestPacket avatarProperties = (AvatarPropertiesRequestPacket)Pack;
@@ -4425,9 +4385,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4425 } 4385 }
4426 break; 4386 break;
4427 4387
4428 #endregion 4388 #endregion
4429 4389
4430 #region Objects/m_sceneObjects 4390 #region Objects/m_sceneObjects
4431 4391
4432 case PacketType.ObjectLink: 4392 case PacketType.ObjectLink:
4433 ObjectLinkPacket link = (ObjectLinkPacket)Pack; 4393 ObjectLinkPacket link = (ObjectLinkPacket)Pack;
@@ -4816,9 +4776,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4816 } 4776 }
4817 break; 4777 break;
4818 4778
4819 #endregion 4779 #endregion
4820 4780
4821 #region Inventory/Asset/Other related packets 4781 #region Inventory/Asset/Other related packets
4822 4782
4823 case PacketType.RequestImage: 4783 case PacketType.RequestImage:
4824 RequestImagePacket imageRequest = (RequestImagePacket)Pack; 4784 RequestImagePacket imageRequest = (RequestImagePacket)Pack;
@@ -5346,8 +5306,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5346 } 5306 }
5347 break; 5307 break;
5348 5308
5349 #endregion 5309 #endregion
5350
5351 5310
5352 case PacketType.UUIDNameRequest: 5311 case PacketType.UUIDNameRequest:
5353 UUIDNameRequestPacket incoming = (UUIDNameRequestPacket)Pack; 5312 UUIDNameRequestPacket incoming = (UUIDNameRequestPacket)Pack;
@@ -5361,7 +5320,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5361 } 5320 }
5362 break; 5321 break;
5363 5322
5364 #region Parcel related packets 5323 #region Parcel related packets
5365 5324
5366 case PacketType.ParcelAccessListRequest: 5325 case PacketType.ParcelAccessListRequest:
5367 ParcelAccessListRequestPacket requestPacket = (ParcelAccessListRequestPacket)Pack; 5326 ParcelAccessListRequestPacket requestPacket = (ParcelAccessListRequestPacket)Pack;
@@ -5518,14 +5477,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5518 } 5477 }
5519 break; 5478 break;
5520 5479
5521 #endregion 5480 #endregion
5522 5481
5523 #region Estate Packets 5482 #region Estate Packets
5524 5483
5525 case PacketType.EstateOwnerMessage: 5484 case PacketType.EstateOwnerMessage:
5526 EstateOwnerMessagePacket messagePacket = (EstateOwnerMessagePacket)Pack; 5485 EstateOwnerMessagePacket messagePacket = (EstateOwnerMessagePacket)Pack;
5527 5486
5528
5529 switch (Helpers.FieldToUTF8String(messagePacket.MethodData.Method)) 5487 switch (Helpers.FieldToUTF8String(messagePacket.MethodData.Method))
5530 { 5488 {
5531 case "getinfo": 5489 case "getinfo":
@@ -5772,9 +5730,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5772 } 5730 }
5773 break; 5731 break;
5774 5732
5775 #endregion 5733 #endregion
5776 5734
5777 #region GodPackets 5735 #region GodPackets
5778 5736
5779 case PacketType.RequestGodlikePowers: 5737 case PacketType.RequestGodlikePowers:
5780 RequestGodlikePowersPacket rglpPack = (RequestGodlikePowersPacket)Pack; 5738 RequestGodlikePowersPacket rglpPack = (RequestGodlikePowersPacket)Pack;
@@ -5822,9 +5780,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5822 //OutPacket(kupack, ThrottleOutPacketType.Task); 5780 //OutPacket(kupack, ThrottleOutPacketType.Task);
5823 break; 5781 break;
5824 5782
5825 #endregion 5783 #endregion
5826 5784
5827 #region Economy/Transaction Packets 5785 #region Economy/Transaction Packets
5828 5786
5829 case PacketType.MoneyBalanceRequest: 5787 case PacketType.MoneyBalanceRequest:
5830 MoneyBalanceRequestPacket moneybalancerequestpacket = (MoneyBalanceRequestPacket)Pack; 5788 MoneyBalanceRequestPacket moneybalancerequestpacket = (MoneyBalanceRequestPacket)Pack;
@@ -5856,9 +5814,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5856 } 5814 }
5857 break; 5815 break;
5858 5816
5859 #endregion 5817 #endregion
5860 5818
5861 #region unimplemented handlers 5819 #region unimplemented handlers
5862 5820
5863 case PacketType.StartPingCheck: 5821 case PacketType.StartPingCheck:
5864 // Send the client the ping response back 5822 // Send the client the ping response back
@@ -5935,7 +5893,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5935 m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString()); 5893 m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString());
5936 break; 5894 break;
5937 5895
5938 #endregion 5896 #endregion
5939 } 5897 }
5940 } 5898 }
5941 5899