예제 #1
0
        /// <summary>
        /// Renders a single WoW - Packet
        /// </summary>
        public static void Dump(ParsablePacketInfo info, IndentTextWriter writer)
        {
            var packet = info.Packet;

            if (packet.PacketId.IsUpdatePacket)
            {
                ParsedUpdatePacket.Dump(info.Timestamp, packet.ReadBytes(packet.Length - packet.HeaderSize), false, writer,
                                        packet.PacketId.RawId == (uint)RealmServerOpCode.SMSG_COMPRESSED_UPDATE_OBJECT);
            }
            else
            {
                var parser = new PacketParser(info);
                parser.Parse();
                parser.Dump(writer);
            }

            writer.WriteLine();
        }
예제 #2
0
 public PacketParser(ParsablePacketInfo info)
     : this(info.Packet, info.Sender, PacketAnalyzer.GetDefinition(info.Packet.PacketId, info.Sender))
 {
     Timestamp = info.Timestamp;
 }
예제 #3
0
 public ParsedUpdatePacket(ParsablePacketInfo info)
     : this(GetBytes(info.Packet), false)
 {
     TimeStamp = info.Timestamp;
 }