Beispiel #1
0
        private void MessagePings()
        {
            if (!demo.ConvertNetworkProtocol() || demo.NetworkProtocol > 43)
            {
                parser.MessagePings();
                return;
            }

            // read into new message
            Int32     messageStartOffset = parser.BitBuffer.CurrentByte;
            BitWriter bitWriter          = new BitWriter();

            parser.BitBuffer.Endian = BitBuffer.EndianType.Big;

            while (parser.BitBuffer.ReadBoolean())
            {
                bitWriter.WriteBoolean(true);
                bitWriter.WriteUnsignedBits(parser.BitBuffer.ReadUnsignedBits(5), 5);   // slot
                bitWriter.WriteUnsignedBits(parser.BitBuffer.ReadUnsignedBits(12), 12); // ping
                bitWriter.WriteUnsignedBits(parser.BitBuffer.ReadUnsignedBits(7), 7);   // loss
            }

            bitWriter.WriteBoolean(false);

            parser.BitBuffer.SkipRemainingBits();
            parser.BitBuffer.Endian = BitBuffer.EndianType.Little;

            // insert new message
            ReWriteMessage(messageStartOffset, bitWriter.Data);
        }