public void Read(FileReader reader, GCDisk disk) { reader.SetByteOrder(true); GameCode = reader.ReadChars(6); DiskID = reader.ReadByte(); Version = reader.ReadByte(); AudioStreaming = reader.ReadBoolean(); StreamBufferSize = reader.ReadByte(); byte[] Padding = reader.ReadBytes(0x12); uint DvdMagic = reader.ReadUInt32(); GameName = reader.ReadChars(0x3e0); uint DebugMonitorOffset = reader.ReadUInt32(); uint DebugLoadAddress = reader.ReadUInt32(); byte[] Padding2 = reader.ReadBytes(0x18); uint DolOffset = reader.ReadUInt32(); uint FstOffset = reader.ReadUInt32(); uint FstSize = reader.ReadUInt32(); uint FstMaxSize = reader.ReadUInt32(); uint userPos = reader.ReadUInt32(); uint userLength = reader.ReadUInt32(); uint unknown = reader.ReadUInt32(); uint padding = reader.ReadUInt32(); reader.SeekBegin(FstOffset); FileTable = new FileSystemTable(); FileTable.Read(reader, disk.files, disk.FilePath); }
public void Write(FileWriter writer, GCDisk disk) { writer.Write(GameCode); writer.Write(DiskID); writer.Write(Version); writer.Write(AudioStreaming); writer.Write(StreamBufferSize); writer.Seek(0x12); writer.Write(1033843650); FileTable.Write(writer, disk.files); }