diff --git a/File_Format_Library/FileFormats/Archives/GFPAK.cs b/File_Format_Library/FileFormats/Archives/GFPAK.cs index bb35f8a9..05436c68 100644 --- a/File_Format_Library/FileFormats/Archives/GFPAK.cs +++ b/File_Format_Library/FileFormats/Archives/GFPAK.cs @@ -962,22 +962,16 @@ namespace FirstPlugin public bool DeleteFile(ArchiveFileInfo archiveFileInfo) { - int index = 0; - foreach (FileEntry file in files) + int removeindex = files.IndexOf((FileEntry)archiveFileInfo); + foreach (var folder in folders) { - //Remove folder references first - //Regenerate the indices after - foreach (var folder in folders) - { - for (int f = 0; f < folder.FileCount; f++) - if (folder.hashes[f].Index == index) - folder.hashes.RemoveAt(f); - } - - - index++; + for (int f = 0; f < folder.FileCount; f++) + if (folder.hashes[f].Index == removeindex) + folder.hashes.RemoveAt(f); } + RegenerateFileIndices(); + files.Remove((FileEntry)archiveFileInfo); return true;