コード例 #1
0
ファイル: UnrealNetwork.cs プロジェクト: Kuinox/ChartsNite
        public virtual bool ReadHeader(BitArchive reader)
        {
            uint header           = reader.ReadUInt32();
            uint historyWordCount = GetHistoryWordCount(header);

            for (int i = 0; i < historyWordCount; i++)
            {
                reader.ReadBit();
            }
            return(true);
        }
コード例 #2
0
ファイル: UnrealNetwork.cs プロジェクト: Kuinox/ChartsNite
        public virtual bool ProcessRawPacket(BitArchive reader)
        {
            Incoming(reader);
            ReceivedPacket(reader);
            if (reader.Offset == reader.Length)
            {
                return(true);
            }

            return(true);
        }
コード例 #3
0
ファイル: UnrealNetwork.cs プロジェクト: Kuinox/ChartsNite
        public virtual bool ReadPacketInfo(BitArchive reader)
        {
            bool hasServerFrameTime = reader.ReadBit();

            if (hasServerFrameTime)
            {
                byte frameTimeByte = reader.ReadByte();
            }
            byte remoteInKBytesPerSecondByte = reader.ReadByte();

            return(true);
        }
コード例 #4
0
ファイル: UnrealNetwork.cs プロジェクト: Kuinox/ChartsNite
        public virtual bool Incoming(BitArchive reader)
        {
            reader.RemoveTrailingZeros();
            //We need to know the handlers components used in the


            //byte[] dump = bitReader.ReadBytes( (int)((bitReader.BitCount - bitReader.BitPosition) / 8) );
            //FileDump.Write( dump );
            //FileDump.Write( new byte[128 - (dump.Length % 128)] );
            //Console.WriteLine( BitConverter.ToString( dump ) );
            return(true);
        }
コード例 #5
0
ファイル: UnrealNetwork.cs プロジェクト: Kuinox/ChartsNite
        /// <summary>
        /// https://github.com/EpicGames/UnrealEngine/blob/70bc980c6361d9a7d23f6d23ffe322a2d6ef16fb/Engine/Source/Runtime/Engine/Private/NetConnection.cpp#L1525
        /// </summary>
        /// <param name="ar"></param>
        /// <returns></returns>
        public virtual bool ReceivedPacket(BitArchive ar)
        {
            ReadHeader(ar);
            ReadPacketInfo(ar);

            //TODO LOOP while( !Reader.AtEnd() && State!=USOCK_Closed )
            //while( ar.Offset < ar.Length )
            {
                if (DemoHeader !.EngineNetworkProtocolVersion < DemoHeader.EngineNetworkVersionHistory.HISTORY_ACKS_INCLUDED_IN_HEADER)
                {
                    ar.ReadBit();
                }

                InBunch bunch = ar.ReadInBunch();

                int bunchDataBits = (int)ar.ReadUInt32(2048 * 8);
            }
            return(true);
        }