From 79fff8c0583c2b27bc216f718332d12d4623ebbc Mon Sep 17 00:00:00 2001 From: cloudwalk Date: Sun, 24 May 2020 14:18:15 +0000 Subject: [PATCH] Fix FS_Seek for compressed file from PK3 From Slava: "Currently FS_Seek works incorrectly with compressed files from PK3 but this issue isn't noticed because in most cases engine is using FS_LoadFile which reads file sequentially without seeking." git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12564 d7cf8633-e32d-0410-b094-e92efae38249 --- fs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs.c b/fs.c index f93ada9d..99f43e4a 100644 --- a/fs.c +++ b/fs.c @@ -3249,9 +3249,9 @@ int FS_Seek (qfile_t* file, fs_offset_t offset, int whence) buffer = (unsigned char *)Mem_Alloc (tempmempool, buffersize); // Skip all data until we reach the requested offset - while (offset > file->position) + while (offset > (file->position - file->buff_len + file->buff_ind)) { - fs_offset_t diff = offset - file->position; + fs_offset_t diff = offset - (file->position - file->buff_len + file->buff_ind); fs_offset_t count, len; count = (diff > buffersize) ? buffersize : diff; -- 2.39.2