示例#1
0
                    public Entry(EndianBinaryReader er)
                    {
                        this.GroupOffset      = er.ReadUInt32();
                        this.SubRecordsOffset = er.ReadUInt32();
                        long position = er.BaseStream.Position;

                        er.BaseStream.Position = (long)this.GroupOffset + er.GetMarker("Symbol");
                        this.GroupName         = er.ReadStringNT(Encoding.ASCII);
                        er.BaseStream.Position = (long)this.SubRecordsOffset + er.GetMarker("Symbol");
                        this.SubRecords        = new SDAT.SymbolBlock.SymbolRecord(er);
                        er.BaseStream.Position = position;
                    }
示例#2
0
            public SymbolBlock(EndianBinaryReader er, out bool OK)
            {
                er.SetMarkerOnCurrentOffset("Symbol");
                bool OK1;

                this.Header = new DataBlockHeader(er, "SYMB", out OK1);
                if (!OK1)
                {
                    OK = false;
                }
                else
                {
                    this.nRecOffset = er.ReadUInt32s(8);
                    er.ReadBytes(24);
                    long position = er.BaseStream.Position;
                    er.BaseStream.Position = (long)this.nRecOffset[0] + er.GetMarker("Symbol");
                    this.SEQRecord         = new SDAT.SymbolBlock.SymbolRecord(er);
                    er.BaseStream.Position = (long)this.nRecOffset[1] + er.GetMarker("Symbol");
                    this.SEQARCRecord      = new SDAT.SymbolBlock.SymbolRecord2(er);
                    er.BaseStream.Position = (long)this.nRecOffset[2] + er.GetMarker("Symbol");
                    this.BANKRecord        = new SDAT.SymbolBlock.SymbolRecord(er);
                    er.BaseStream.Position = (long)this.nRecOffset[3] + er.GetMarker("Symbol");
                    this.WAVEARCRecord     = new SDAT.SymbolBlock.SymbolRecord(er);
                    er.BaseStream.Position = (long)this.nRecOffset[4] + er.GetMarker("Symbol");
                    this.PLAYERRecord      = new SDAT.SymbolBlock.SymbolRecord(er);
                    er.BaseStream.Position = (long)this.nRecOffset[5] + er.GetMarker("Symbol");
                    this.GROUPRecord       = new SDAT.SymbolBlock.SymbolRecord(er);
                    er.BaseStream.Position = (long)this.nRecOffset[6] + er.GetMarker("Symbol");
                    this.PLAYER2Record     = new SDAT.SymbolBlock.SymbolRecord(er);
                    er.BaseStream.Position = (long)this.nRecOffset[7] + er.GetMarker("Symbol");
                    this.STRMRecord        = new SDAT.SymbolBlock.SymbolRecord(er);
                    er.BaseStream.Position = position;
                    er.RemoveMarker("Symbol");
                    OK = true;
                }
            }