private void OpenFile(string filename = "") { var ofd = new OpenFileDialog { Filter = "Ridge Racer BGMDB Binary (*.bin)|*.bin" }; DialogResult dr = DialogResult.OK; if (filename == string.Empty) { dr = ofd.ShowDialog(); filename = ofd.FileName; } if (dr == DialogResult.OK) { try { _file = new FileInfo(filename); _fileOpen = true; _bgmdb = BGMDB.Load(File.OpenRead(_file.FullName)); LoadForm(); _hasChanges = false; } catch (Exception ex) { MessageBox.Show(ex.ToString(), ex.Message, MessageBoxButtons.OK); _fileOpen = false; _hasChanges = false; } UpdateForm(); } }
public static BGMDB Load(Stream input) { var bgmdb = new BGMDB(); using (var br = new BinaryReaderX(input)) { br.BaseStream.Position = bgmdb.nIDOffset; // Values bgmdb.Data = br.ReadStruct <DataBlock>(); bgmdb.Data.nID += 1; // BgmName br.BaseStream.Position = bgmdb.Data.pstrBgmNameOffset; bgmdb.BgmName = br.ReadASCIIStringUntil(0); // ArtistName br.BaseStream.Position = bgmdb.Data.pstrArtistNameOffset; bgmdb.ArtistName = br.ReadASCIIStringUntil(0); // FileName br.BaseStream.Position = bgmdb.Data.pstrFileNameOffset; bgmdb.FileName = br.ReadASCIIStringUntil(0); // Rcid br.BaseStream.Position = bgmdb.Data.pstrRcidOffset; bgmdb.Rcid = br.ReadASCIIStringUntil(0); } return(bgmdb); }
private void NewFile() { _file = null; _fileOpen = true; _bgmdb = new BGMDB(); LoadForm(); _hasChanges = false; UpdateForm(); }