Exemplo n.º 1
0
        public static byte[] GetPacketDataWithoutType(SourceDemoInfo info, byte[] data, IEnumerable <int> forbiddenFruits)
        {
            PacketReader    reader = new PacketReader(info, data);
            BitWriterDeluxe writer = new BitWriterDeluxe();

            reader.MessageRead += (s, e) =>
            {
                if (!forbiddenFruits.Contains(e.Type))
                {
                    writer.MoveBitsIn(e.DataBitWriter);
                }
            };

            reader.Parse();
            var newData = writer.Data;

            if (PacketFormatValid(info, newData))
            {
                return(newData);
            }
            else
            {
                return(data);
            }
        }
Exemplo n.º 2
0
        public static void WriteDeleterPacket(BinaryWriter writer, int tick)
        {
            // Packet stuff
            writer.Write((byte)ParsedDemo.MessageType.Packet);
            writer.Write(tick);
            writer.Write(new byte[0x54]);

            // svc_packetentities
            var bw2 = new BitWriterDeluxe();

            bw2.WriteUnsignedBits(26, 6);
            bw2.WriteUnsignedBits(4095, MAX_EDICT_BITS);
            bw2.WriteBoolean(false);
            //bw.WriteBits(deltaFrom, 32);
            bw2.WriteBoolean(true);
            bw2.WriteUnsignedBits(4095, MAX_EDICT_BITS);
            var bw3 = GetDeleterPacketEntitiesData();

            bw2.WriteUnsignedBits((uint)bw3.BitsWritten, DELTASIZE_BITS);
            bw2.MoveBitsIn(bw3);
            bw2.WriteBoolean(false);

            var bytes = bw2.Data;

            writer.Write(bytes.Count());
            writer.Write(bytes);
        }