Ejemplo n.º 1
0
        /// <summary>
        /// Opens the selected resource
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Open(object sender, EventArgs e)
        {
            if (FileList.SelectedIndex == -1)
            {
                return;
            }
            OContainer.FileEntry file = container.GetList()[FileList.SelectedIndex];
            byte[] data   = Read(file);
            Stream stream = new MemoryStream(data);

            OpenSubResource(this, new OpenSubResourceArgs(file.name, stream));
        }
Ejemplo n.º 2
0
 private void BtnExport_Click(object sender, EventArgs e)
 {
     if (FileList.SelectedIndex == -1)
     {
         return;
     }
     using (SaveFileDialog saveDlg = new SaveFileDialog())
     {
         var list = container.GetList();
         saveDlg.Title    = "Export file";
         saveDlg.FileName = list[FileList.SelectedIndex].name;
         saveDlg.Filter   = "All files|*.*";
         if (saveDlg.ShowDialog() == DialogResult.OK)
         {
             OContainer.FileEntry file = list[FileList.SelectedIndex];
             File.WriteAllBytes(saveDlg.FileName, Read(file));
         }
     }
 }
Ejemplo n.º 3
0
        private byte[] Read(OContainer.FileEntry file)
        {
            byte[] buffer;

            if (file.loadFromDisk)
            {
                buffer = new byte[file.fileLength];
                container.data.Seek(file.fileOffset, SeekOrigin.Begin);
                container.data.Read(buffer, 0, buffer.Length);
            }
            else
            {
                buffer = file.data;
            }

            if (file.doDecompression)
            {
                buffer = LZSS_Ninty.decompress(buffer);
            }
            return(buffer);
        }