protected override void Parse(ref ByteStreamReader bsr) { SourceFileHeader = new SourceFileHeader(this); SourceFileHeader.ParseStream(ref bsr); SaveInfo.ParseContext.CurrentSymbolTable = bsr.ReadSymbolTable(SourceFileHeader.TokenCount, SourceFileHeader.TokenTableSize) !; GameHeader = bsr.ReadDataMap("GameHeader", SaveInfo); Globals = bsr.ReadDataMap("GLOBAL", SaveInfo); StateFiles = new EmbeddedStateFile[bsr.ReadSInt()]; for (int i = 0; i < StateFiles.Length; i++) { StateFiles[i] = EmbeddedStateFile.CreateFromName(this, bsr.ReadCharArray(260)); int fileLength = bsr.ReadSInt(); StateFiles[i].ParseStream(bsr.SplitAndSkip(fileLength)); } SaveInfo.Cleanup(); Debug.Assert(bsr.BytesRemaining == 0); SaveInfo.PrintDeterminedDatamaps(); }
protected override void Parse(ref ByteStreamReader bsr) { Id = bsr.ReadCharArray(4); }