예제 #1
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);
        }
예제 #2
0
        private static BitWriterDeluxe GetDeleterPacketEntitiesData()
        {
            BitWriterDeluxe bw = new BitWriterDeluxe();

            for (int i = 0; i < 4095; ++i)
            {
                bw.WriteUnsignedBits(0, 6);
                bw.WriteBoolean(false);
                bw.WriteBoolean(true);
            }

            return(bw);
        }