private void ReadDat4File(string filename) { if (filename.Length < 1 || !File.Exists(filename)) { return; } StringBuilder builder = new StringBuilder(); var md = new RageAudioMetadata5(); using (RageDataFileReadReference file = new RageDataFileReadReference(filename)) { md.Read(file); } // using (RageDataFileWriteReference file = new RageDataFileWriteReference(Path.ChangeExtension(filename, ".output.rel54"))) // { // md.Write(file); // } // File.WriteAllText(Path.ChangeExtension(filename, ".txt"), md.ToString()); var xml = new ResourceXmlWriter5(Path.ChangeExtension(filename, ".xml")); xml.WriteData(md); /* * using (StreamWriter writer = new StreamWriter(Path.ChangeExtension(filename, ".txt"))) * { * writer.Write(md.ToString()); * }*/ }
private void button1_Click(object sender, EventArgs e) { _filename = string.Empty; _currentFile = null; using (var ofd = new OpenFileDialog() { Multiselect = true, Filter = "RAGE audio files (*.dat54.rel,*.dat151.rel,*.dat4.rel,*.xml)|*.dat54.rel;*.dat151.rel;*.dat4.rel;*.xml" }) { var result = ofd.ShowDialog(); switch (result) { case DialogResult.Cancel: break; case DialogResult.OK: _filename = ofd.FileName; Text = "RageAudioTool - [" + _filename + "]"; if (_filename.EndsWith(".dat54.rel") || _filename.EndsWith(".dat151.rel") || Path.GetFileNameWithoutExtension(_filename) == "speech2.dat4" || Path.GetFileNameWithoutExtension(_filename) == "speech.dat4") { _currentFile = new RageAudioMetadata5(); using (RageDataFileReadReference file = new RageDataFileReadReference(_filename)) { _currentFile.Read(file); } } else if (_filename.EndsWith(".dat4.rel")) { _currentFile = new RageAudioMetadata4(); using (RageDataFileReadReference file = new RageDataFileReadReference(_filename)) { _currentFile.Read(file); } } else if (Path.GetExtension(_filename) == ".xml") { var xml = new ResourceXmlReader5(_filename); _currentFile = xml.ReadData(); } break; } ofd.Dispose(); } FillDataTable(); // var xmlReader = new ResourceXMLReader5("audio/config/sounds.dat54.xml"); // var data = xmlReader.ReadData(); // var xmlWriter = new ResourceXMLWriter5("audio/config/sounds1.dat54.xml"); // xmlWriter.WriteData(data); /* StringBuilder builder = new StringBuilder(); * * var md = new RageAudioMetadata4(); * * using (RageDataFileReadReference file = new RageDataFileReadReference("audio/config/audioconfig.dat4.rel")) * { * md.Read(file); * } * * using (StreamWriter writer = new StreamWriter(Path.ChangeExtension("audioconfig.dat4.rel", ".txt"))) * { * writer.Write(md.ToString()); * }*/ /* using (var xmlWriter = System.Xml.XmlWriter.Create("xml.xml")) * { * var item = new audMultitrackSound(); * * var serializer = new DataContractSerializer(typeof(audMultitrackSound)); * * serializer.WriteObject(xmlWriter, item); * } */ // RageDataFileReadParameters p = new RageDataFileReadParameters("output.dat54"); // var md = new RageAudioMetadata5(); // md.Read(ref p); // var result = md.Rebuild(); // File.WriteAllBytes("output.md1", result); // ReadDat4File("audio/config/sounds.dat54.rel"); // ReadDat4File("audio/config/dlcbeach_sounds.dat54.rel"); // var md = new ResourceXMLReader5("audio/config/dlcjanuary2016_sounds.xml"); // var result = md.ReadData(); // MessageBox.Show(result.Length.ToString()); // ReadDat4File("audio/config/dlcmpheist_sounds.dat54.rel"); }