Ejemplo n.º 1
0
 public void Read(CustomBinaryReader reader)
 {
     header     = reader.ReadBytes(4);
     headerName = Encoding.UTF8.GetString(header);
     size       = reader.ReadUInt32();
     data       = reader.ReadBytes((int)size);
 }
Ejemplo n.º 2
0
        public void Read(CustomBinaryReader reader)
        {
            header     = reader.ReadBytes(4);
            headerName = Encoding.UTF8.GetString(header);
            headerSize = reader.ReadUInt32();
            long _headerStartPos = reader.Position;

            version    = reader.ReadUInt32();
            headerData = reader.ReadBytes((int)(_headerStartPos - reader.Position + headerSize));
            didx       = new DIDXData(reader);
            data       = new DATAData(reader);
            hirc       = new HIRCDataObject(reader);
        }
Ejemplo n.º 3
0
        public void Read(CustomBinaryReader reader)
        {
            header     = reader.ReadBytes(4);
            headerName = Encoding.UTF8.GetString(header);
            size       = reader.ReadUInt32();
            long _doubleCheck = reader.Position;

            if (size % 12 != 0)
            {
                throw new ParseException($"Failed to parse DIDXData.dataIndexes! {size} / {12} is not an integer!");
            }
            dataIndexes = new DataIndex[size / 12];
            for (int i = 0; i < size / 12; i++)
            {
                dataIndexes[i] = new DataIndex(reader);
            }
            if (reader.Position - _doubleCheck - size != 0)
            {
                throw new ParseException($"Failed to parse DIDXData! Attempted to read: {size} bytes, but actually read: {reader.Position - _doubleCheck} bytes!");
            }
        }