aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Tools/pCampBot/Bot.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Tools/pCampBot/Bot.cs')
-rw-r--r--OpenSim/Tools/pCampBot/Bot.cs39
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;
35using log4net; 35using log4net;
36using OpenMetaverse; 36using OpenMetaverse;
37using OpenMetaverse.Assets; 37using OpenMetaverse.Assets;
38using OpenMetaverse.Packets;
38using Nini.Config; 39using Nini.Config;
39using OpenSim.Framework; 40using OpenSim.Framework;
40using OpenSim.Framework.Console; 41using 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}