Esempio n. 1
0
 public MainForm()
 {
     InitializeComponent();
     ThpsWad.InitDictionary();
 }
Esempio n. 2
0
        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.";
             *      }
             *  }
             * }
             *
             */
        }