Skip to content

Commit a23cbec

Browse files
authored
Merge pull request #19860 from hrydgard/zip-texture-pack-regression-fix
Fix regression loading zipped texture packs
2 parents b8ba52b + e67b673 commit a23cbec

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

Common/File/VFS/ZipFileReader.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,11 @@ VFSOpenFile *ZipFileReader::OpenFileForRead(VFSFileReference *vfsReference, size
290290
void ZipFileReader::Rewind(VFSOpenFile *vfsOpenFile) {
291291
ZipFileReaderOpenFile *file = (ZipFileReaderOpenFile *)vfsOpenFile;
292292
_assert_(file);
293+
// Unless the zip file is compressed, can't seek directly, so we re-open.
294+
// This version of libzip doesn't even have zip_file_is_seekable(), should probably upgrade.
295+
zip_fclose(file->zf);
296+
file->zf = zip_fopen_index(zip_file_, file->reference->zi, 0);
293297
_dbg_assert_(file->zf != nullptr);
294-
zip_fseek(file->zf, 0, SEEK_SET);
295298
}
296299

297300
size_t ZipFileReader::Read(VFSOpenFile *vfsOpenFile, void *buffer, size_t length) {

0 commit comments

Comments
 (0)