static void Update(string fileName) { string dir = fileName.Substring(0, fileName.Length - 4); if (Directory.Exists(dir)) { VDriveMibFile outfile = new VDriveMibFile(fileName); foreach (var item in outfile.Entries) { if (item.isDDS) { DDSFile dds = new DDSFile(); if (dds.ReadData(string.Format("{0}/{1}.dds", dir, item.InternalID))) { item.UpdateFromDDS(dds); } } } outfile.UpdateOffsets(); outfile.WriteFile(fileName); } else { Console.WriteLine("Dump the file first"); } }
public Form1() { InitializeComponent(); MIBFileNames = new BindingList <string>(); textBox1.Text = "."; MIBFiles.DataSource = MIBFileNames; currentMIB = null; }
private void MIBFiles_SelectedIndexChanged(object sender, EventArgs e) { if (MIBFiles.SelectedIndex >= 0) { var fileName = string.Format("{0}/{1}", textBox1.Text, MIBFileNames[MIBFiles.SelectedIndex]); currentMIB = new VDriveMibFile(fileName); DDSFiles.Items.Clear(); foreach (var item in currentMIB.Entries) { var tempLVI = new ListViewItem(item.Name); tempLVI.SubItems.Add(item.EncodingType.ToString()); tempLVI.SubItems.Add(item.Width.ToString()); tempLVI.SubItems.Add(item.Height.ToString()); DDSFiles.Items.Add(tempLVI); } } }
static void dump(string fileName) { VDriveMibFile file = new VDriveMibFile(fileName); int i = 0; string dir = fileName.Substring(0, fileName.Length - 4); Directory.CreateDirectory(dir); using (var mapping = new StreamWriter(dir + "\\mapping.txt")) { foreach (var item in file.Entries) { if (item.isDDS) { var ddsHeader = item.GetDDSFile(); ddsHeader.WriteData(string.Format("{0}\\{1}.dds", dir, item.InternalID)); } i++; } } }