Пример #1
0
        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();
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
 private void NewFile()
 {
     _file     = null;
     _fileOpen = true;
     _bgmdb    = new BGMDB();
     LoadForm();
     _hasChanges = false;
     UpdateForm();
 }