Exemple #1
0
        public virtual async ValueTask <bool> ParseReplayHeader(CustomBinaryReaderAsync binaryReader)
        {
            if (!await ParseMagicNumber(binaryReader))
            {
                return(false);
            }
            ReplayHeader.ReplayVersionHistory fileVersion = (ReplayHeader.ReplayVersionHistory) await binaryReader.ReadUInt32Async();

            int lengthInMs = await binaryReader.ReadInt32Async();

            uint networkVersion = await binaryReader.ReadUInt32Async();

            uint changelist = await binaryReader.ReadUInt32Async();

            string friendlyName = await binaryReader.ReadStringAsync();

            bool isLive = await binaryReader.ReadUInt32Async() != 0;

            DateTime timestamp = DateTime.MinValue;

            if (fileVersion >= ReplayHeader.ReplayVersionHistory.recordedTimestamp)
            {
                timestamp = DateTime.FromBinary(await binaryReader.ReadInt64Async());
            }
            bool compressed = false;

            if (fileVersion >= ReplayHeader.ReplayVersionHistory.compression)
            {
                compressed = await binaryReader.ReadUInt32Async() != 0;
            }
            ReplayHeader = new ReplayHeader(lengthInMs, networkVersion, changelist, friendlyName, timestamp, 0,
                                            isLive, compressed, fileVersion);
            return(true);
        }
Exemple #2
0
 public ReplayInfo(ReplayHeader replayHeader, DemoHeader demoHeader)
 {
     ReplayHeader = replayHeader;
     DemoHeader   = demoHeader;
 }