From: cloudwalk Date: Sun, 24 May 2020 14:18:15 +0000 (+0000) Subject: Fix FS_Seek for compressed file from PK3 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=79fff8c0583c2b27bc216f718332d12d4623ebbc;p=xonotic%2Fdarkplaces.git 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 --- 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;