public void UnpackAllFiles()
        {
            var resourcePacker  = new ResourceFilePacker(RPK_FILE);
            var packedFileInfos = resourcePacker.GetPackedFiles();

            var unpacDir = "unpacked";

            if (!Directory.Exists(unpacDir))
            {
                Directory.CreateDirectory(unpacDir);
            }
            var unpackedFiles      = resourcePacker.UnpackFiles(packedFileInfos, $"{unpacDir}");
            var sizeCorrectedFiles = ResourceFilePacker.UpdatePackedFileData(unpackedFiles);

            Assert.True(sizeCorrectedFiles.Select(i => i.size)
                        .SequenceEqual(unpackedFiles.Select(i => i.size)));

            Assert.True(unpackedFiles.All(i => i.coldStorageLocation != default));

            var newPackedFile = "..\\..\\..\\TestData\\Sound_ManualEdits.rpk";

            ResourceFilePacker.PackFile(unpackedFiles, newPackedFile);
            Directory.Delete(unpacDir, true);

            var originalFileInfo = new FileInfo(RPK_FILE);
            var myPackedFileInfo = new FileInfo(newPackedFile);

            Assert.Equal(originalFileInfo.Length, myPackedFileInfo.Length);
        }
        private void EditPackedFileClicked(object sender, EventArgs e)
        {
            if (packedFilesListView.SelectedItem is null)
            {
                MessageBox.Show("Please select an item to edit.");
                return;
            }

            if (!SetupEditor())
            {
                return;
            }

            var openFile = new OpenFileDialog();

            if (openFile.ShowDialog() == DialogResult.OK)
            {
                var selectedFile = _packedFiles.Single(i =>
                                                       i.name == (string)packedFilesListView.SelectedItem);

                var fileData = File.ReadAllBytes(openFile.FileName);
                var fileExt  = selectedFile.extension;
                fileExt = fileExt != "" ? $".{fileExt}" : "";

                File.WriteAllBytes($"{UNPACK_DIRECTORY}{Path.DirectorySeparatorChar}{selectedFile.name}{fileExt}", fileData);
                _packedFiles = ResourceFilePacker.UpdatePackedFileData(_packedFiles);
            }

            SelectedPackedFiledChanged(default, default);