コード例 #1
0
            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);
            }
コード例 #2
0
            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);
            }