diff options
Added Basic Parcel Support
*Created Parcel class to handle each parcel
*Created ParcelManager class to handle the Parcel Object
*For now, by default it is assigned to a fake avatar key and set for sale to L$0
Diffstat (limited to 'OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs')
-rw-r--r-- | OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs b/OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs index 7340bea..a5ab78a 100644 --- a/OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs +++ b/OpenSim/OpenSim.RegionServer/ClientView.ProcessPackets.cs | |||
@@ -32,6 +32,7 @@ namespace OpenSim | |||
32 | public delegate void UpdatePrimRotation(uint localID, LLQuaternion rot, ClientView remoteClient); | 32 | public delegate void UpdatePrimRotation(uint localID, LLQuaternion rot, ClientView remoteClient); |
33 | public delegate void StatusChange(bool status); | 33 | public delegate void StatusChange(bool status); |
34 | 34 | ||
35 | |||
35 | public event ChatFromViewer OnChatFromViewer; | 36 | public event ChatFromViewer OnChatFromViewer; |
36 | public event RezObject OnRezObject; | 37 | public event RezObject OnRezObject; |
37 | public event GenericCall4 OnDeRezObject; | 38 | public event GenericCall4 OnDeRezObject; |
@@ -53,18 +54,21 @@ namespace OpenSim | |||
53 | public event UpdatePrimRotation OnUpdatePrimRotation; | 54 | public event UpdatePrimRotation OnUpdatePrimRotation; |
54 | public event UpdatePrimVector OnUpdatePrimScale; | 55 | public event UpdatePrimVector OnUpdatePrimScale; |
55 | public event StatusChange OnChildAgentStatus; | 56 | public event StatusChange OnChildAgentStatus; |
57 | public event ParcelPropertiesRequest OnParcelPropertiesRequest; | ||
56 | 58 | ||
57 | protected override void ProcessInPacket(Packet Pack) | 59 | protected override void ProcessInPacket(Packet Pack) |
58 | { | 60 | { |
59 | ack_pack(Pack); | 61 | ack_pack(Pack); |
62 | debug = true; | ||
60 | if (debug) | 63 | if (debug) |
61 | { | 64 | { |
62 | if (Pack.Type != PacketType.AgentUpdate) | 65 | if (Pack.Type != PacketType.AgentUpdate) |
63 | { | 66 | { |
64 | Console.WriteLine(Pack.Type.ToString()); | 67 | Console.WriteLine("IN: " + Pack.Type.ToString()); |
65 | } | 68 | } |
66 | } | 69 | } |
67 | 70 | ||
71 | |||
68 | if (this.ProcessPacketMethod(Pack)) | 72 | if (this.ProcessPacketMethod(Pack)) |
69 | { | 73 | { |
70 | //there is a handler registered that handled this packet type | 74 | //there is a handler registered that handled this packet type |
@@ -447,6 +451,13 @@ namespace OpenSim | |||
447 | break; | 451 | break; |
448 | #endregion | 452 | #endregion |
449 | 453 | ||
454 | #region Parcel Packets | ||
455 | case PacketType.ParcelPropertiesRequest: | ||
456 | ParcelPropertiesRequestPacket propertiesRequest = (ParcelPropertiesRequestPacket)Pack; | ||
457 | OnParcelPropertiesRequest((int)Math.Round(propertiesRequest.ParcelData.West), (int)Math.Round(propertiesRequest.ParcelData.South), (int)Math.Round(propertiesRequest.ParcelData.East), (int)Math.Round(propertiesRequest.ParcelData.North),propertiesRequest.ParcelData.SequenceID,propertiesRequest.ParcelData.SnapSelection, this); | ||
458 | break; | ||
459 | #endregion | ||
460 | |||
450 | #region unimplemented handlers | 461 | #region unimplemented handlers |
451 | case PacketType.AgentIsNowWearing: | 462 | case PacketType.AgentIsNowWearing: |
452 | // AgentIsNowWearingPacket wear = (AgentIsNowWearingPacket)Pack; | 463 | // AgentIsNowWearingPacket wear = (AgentIsNowWearingPacket)Pack; |
@@ -455,6 +466,33 @@ namespace OpenSim | |||
455 | case PacketType.ObjectScale: | 466 | case PacketType.ObjectScale: |
456 | //OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, Pack.ToString()); | 467 | //OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, Pack.ToString()); |
457 | break; | 468 | break; |
469 | case PacketType.MoneyBalanceRequest: | ||
470 | //This need to be actually done and not thrown back with fake info | ||
471 | MoneyBalanceRequestPacket incoming = (MoneyBalanceRequestPacket)Pack; | ||
472 | MoneyBalanceReplyPacket outgoing = new MoneyBalanceReplyPacket(); | ||
473 | outgoing.MoneyData.AgentID = incoming.AgentData.AgentID; | ||
474 | outgoing.MoneyData.MoneyBalance = 31337; | ||
475 | outgoing.MoneyData.SquareMetersCommitted = 0; | ||
476 | outgoing.MoneyData.SquareMetersCredit = 100000000; | ||
477 | outgoing.MoneyData.TransactionID = incoming.MoneyData.TransactionID; | ||
478 | outgoing.MoneyData.TransactionSuccess = true; | ||
479 | outgoing.MoneyData.Description = libsecondlife.Helpers.StringToField(""); | ||
480 | this.OutPacket((Packet)outgoing); | ||
481 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Sent Temporary Money packet (they have leet monies)"); | ||
482 | |||
483 | break; | ||
484 | |||
485 | case PacketType.EstateCovenantRequest: | ||
486 | //This should be actually done and not thrown back with fake info | ||
487 | EstateCovenantRequestPacket estateCovenantRequest = (EstateCovenantRequestPacket)Pack; | ||
488 | EstateCovenantReplyPacket estateCovenantReply = new EstateCovenantReplyPacket(); | ||
489 | estateCovenantReply.Data.EstateName = libsecondlife.Helpers.StringToField("Leet Estate"); | ||
490 | estateCovenantReply.Data.EstateOwnerID = LLUUID.Zero; | ||
491 | estateCovenantReply.Data.CovenantID = LLUUID.Zero; | ||
492 | estateCovenantReply.Data.CovenantTimestamp = (uint)0; | ||
493 | this.OutPacket((Packet)estateCovenantReply); | ||
494 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Sent Temporary Estate packet (they are in leet estate)"); | ||
495 | break; | ||
458 | #endregion | 496 | #endregion |
459 | } | 497 | } |
460 | } | 498 | } |