예제 #1
0
 private void openFile(string file)
 {
     treeView1.Nodes.Clear();
     filename = file;
     Text     = file;
     if (Path.GetExtension(file).Equals(".szs"))
     {
         byte[] szs = YAZ0.Decompress(File.ReadAllBytes(file));
         Console.WriteLine("YAZ0 decompressed");
         if ((new FileData(szs)).readString(0, 4).Equals("SARC"))
         {
             SARC sarc = new SARC();
             sarc.Read(szs);
             globalPadding = sarc.padding;
             bigEndianToolStripMenuItem.Checked = (sarc.endian == Endianness.Big);
             foreach (string name in sarc.files.Keys)
             {
                 treeView1.Nodes.Add(new TreeNode(name)
                 {
                     Tag = sarc.files[name]
                 });
             }
         }
         else
         {
             treeView1.Nodes.Add(new TreeNode("contents.bin")
             {
                 Tag = szs
             });
         }
     }
     else
     {
         SARC sarc = new SARC(file);
         globalPadding = sarc.padding;
         bigEndianToolStripMenuItem.Checked = (sarc.endian == Endianness.Big);
         foreach (string name in sarc.files.Keys)
         {
             treeView1.Nodes.Add(new TreeNode(name)
             {
                 Tag = sarc.files[name]
             });
         }
     }
 }
예제 #2
0
 protected void openFile(string fileName)
 {
     nodeStore.Clear();
     if (String.IsNullOrEmpty(fileName))
     {
         //extractAllAction.Activated = false;
         return;
     }
     if (System.IO.Path.GetExtension(fileName).Equals(".szs") ||
         System.IO.Path.GetExtension(fileName).Equals(".carc"))
     {
         byte[] szs = YAZ0.Decompress(File.ReadAllBytes(fileName));
         Console.WriteLine("YAZ0 decompressed");
         if ((new FileData(szs)).readString(0, 4).Equals("SARC"))
         {
             SARC sarc = new SARC();
             sarc.Read(szs);
             //globalPadding = sarc.padding;
             endianToggle.Active = (sarc.endian == Endianness.Big);
             foreach (string name in sarc.files.Keys)
             {
                 nodeStore.AddNode(new TreeNode(name, sarc.files[name]));
                 //treeView1.Nodes.Add(new TreeNode(name) { Tag = sarc.files[name] });
             }
         }
         else
         {
             nodeStore.AddNode(new TreeNode("contents.bin", szs));
             //treeView1.Nodes.Add(new TreeNode("contents.bin") { Tag = szs });
         }
     }
     else
     {
         SARC sarc = new SARC(fileName);
         //globalPadding = sarc.padding;
         endianToggle.Active = (sarc.endian == Endianness.Big);
         foreach (string name in sarc.files.Keys)
         {
             nodeStore.AddNode(new TreeNode(name, sarc.files[name]));
             //treeView1.Nodes.Add(new TreeNode(name) { Tag = sarc.files[name] });
         }
     }
 }