public MainForm() { InitializeComponent(); ThpsWad.InitDictionary(); }
private void ProcessFile(string filename) { //detect whether its a directory or file if ((File.GetAttributes(filename) & FileAttributes.Directory) == FileAttributes.Directory) { ThpsWad wad = ThpsWad.FromFolder(filename); wad.archiveType = GetArchiveType(); wad.Write(Path.Combine(Directory.GetParent(filename).FullName, Path.GetFileName(filename) + ".wad")); } else { switch (Path.GetExtension(filename).ToLower()) { case ".hed": case ".wad": { string path = Path.Combine(Path.GetDirectoryName(filename), Path.GetFileNameWithoutExtension(filename)); ThpsWad wad = ThpsWad.FromFile(filename); wad.Extract(path); break; } case ".txt": { ThpsWad wad = ThpsWad.FromList(filename); wad.archiveType = GetArchiveType(); wad.Write(filename); break; } case ".pre": throw new NotImplementedException("Can't read legacy PRE yet."); default: MessageBox.Show("Doesn't look like a supported file."); break; } } //MessageBox.Show("wow"); /* * if (filename.ToLower().Contains(".hed")) * { * hed = new ThpsWad(filename); * * StringBuilder sb = new StringBuilder(); * * foreach (ThpsWadEntry ss in hed.files) * { * // if (ss.name[0] == '_') * sb.Append(ss.ToString() + "\r\n"); * } * * checksumBox.Text = sb.ToString(); * * hed.ExtractWAD(Path.ChangeExtension(filename, ".wad")); * * MessageBox.Show("I'm here"); * } * else * { * if (filename.ToLower().Contains("__layout")) * { * hed = new ThpsWad(); * hed.LoadFromLayout(filename); * * hed.BuildWAD(filename); * } * else * { * if (filename.ToLower().Contains(".pre")) * { * hed = new ThpsWad(); * hed.ParsePre(filename); * * StringBuilder sb = new StringBuilder(); * foreach (ThpsWadEntry ss in hed.files) * { * // if (ss.name[0] == '_') * sb.Append(ss.ToString() + "\r\n"); * } * * checksumBox.Text = sb.ToString(); * } * else * { * checksumBox.Text = Path.GetFileName(filename) + " doesn't look like WAD, PRE, or layout file."; * } * } * } * */ }