diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Tools/pCampBot/Bot.cs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs index 45a6682..4f28733 100644 --- a/OpenSim/Tools/pCampBot/Bot.cs +++ b/OpenSim/Tools/pCampBot/Bot.cs | |||
@@ -35,6 +35,7 @@ using System.Timers; | |||
35 | using log4net; | 35 | using log4net; |
36 | using OpenMetaverse; | 36 | using OpenMetaverse; |
37 | using OpenMetaverse.Assets; | 37 | using OpenMetaverse.Assets; |
38 | using OpenMetaverse.Packets; | ||
38 | using Nini.Config; | 39 | using Nini.Config; |
39 | using OpenSim.Framework; | 40 | using OpenSim.Framework; |
40 | using OpenSim.Framework.Console; | 41 | using OpenSim.Framework.Console; |
@@ -56,6 +57,27 @@ namespace pCampBot | |||
56 | { | 57 | { |
57 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 58 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
58 | 59 | ||
60 | public int PacketDebugLevel | ||
61 | { | ||
62 | get { return m_packetDebugLevel; } | ||
63 | set | ||
64 | { | ||
65 | if (value == m_packetDebugLevel) | ||
66 | return; | ||
67 | |||
68 | m_packetDebugLevel = value; | ||
69 | |||
70 | if (Client != null) | ||
71 | { | ||
72 | if (m_packetDebugLevel <= 0) | ||
73 | Client.Network.UnregisterCallback(PacketType.Default, PacketReceivedDebugHandler); | ||
74 | else | ||
75 | Client.Network.RegisterCallback(PacketType.Default, PacketReceivedDebugHandler, false); | ||
76 | } | ||
77 | } | ||
78 | } | ||
79 | private int m_packetDebugLevel; | ||
80 | |||
59 | public delegate void AnEvent(Bot callbot, EventType someevent); // event delegate for bot events | 81 | public delegate void AnEvent(Bot callbot, EventType someevent); // event delegate for bot events |
60 | 82 | ||
61 | /// <summary> | 83 | /// <summary> |
@@ -231,6 +253,9 @@ namespace pCampBot | |||
231 | 253 | ||
232 | if (Client != null) | 254 | if (Client != null) |
233 | { | 255 | { |
256 | // Remove any registered debug handlers | ||
257 | Client.Network.UnregisterCallback(PacketType.Default, PacketReceivedDebugHandler); | ||
258 | |||
234 | newClient.Settings.LOGIN_SERVER = Client.Settings.LOGIN_SERVER; | 259 | newClient.Settings.LOGIN_SERVER = Client.Settings.LOGIN_SERVER; |
235 | newClient.Settings.ALWAYS_DECODE_OBJECTS = Client.Settings.ALWAYS_DECODE_OBJECTS; | 260 | newClient.Settings.ALWAYS_DECODE_OBJECTS = Client.Settings.ALWAYS_DECODE_OBJECTS; |
236 | newClient.Settings.AVATAR_TRACKING = Client.Settings.AVATAR_TRACKING; | 261 | newClient.Settings.AVATAR_TRACKING = Client.Settings.AVATAR_TRACKING; |
@@ -273,6 +298,9 @@ namespace pCampBot | |||
273 | newClient.Network.Disconnected += Network_OnDisconnected; | 298 | newClient.Network.Disconnected += Network_OnDisconnected; |
274 | newClient.Objects.ObjectUpdate += Objects_NewPrim; | 299 | newClient.Objects.ObjectUpdate += Objects_NewPrim; |
275 | 300 | ||
301 | if (m_packetDebugLevel > 0) | ||
302 | newClient.Network.RegisterCallback(PacketType.Default, PacketReceivedDebugHandler); | ||
303 | |||
276 | Client = newClient; | 304 | Client = newClient; |
277 | } | 305 | } |
278 | 306 | ||
@@ -705,5 +733,16 @@ namespace pCampBot | |||
705 | // SaveAsset((AssetWearable) asset); | 733 | // SaveAsset((AssetWearable) asset); |
706 | // } | 734 | // } |
707 | } | 735 | } |
736 | |||
737 | private void PacketReceivedDebugHandler(object o, PacketReceivedEventArgs args) | ||
738 | { | ||
739 | Packet p = args.Packet; | ||
740 | Header h = p.Header; | ||
741 | Simulator s = args.Simulator; | ||
742 | |||
743 | m_log.DebugFormat( | ||
744 | "[BOT]: Bot {0} received from {1} packet {2} #{3}, rel {4}, res {5}", | ||
745 | Name, s.Name, p.Type, h.Sequence, h.Reliable, h.Resent); | ||
746 | } | ||
708 | } | 747 | } |
709 | } | 748 | } |