Thanks guys;
UPDATE So I checked the files, and all of them have screwy headers. After changing Optimus' head to XPK2, I extracted some files using Aluigis XPK2 script:
Code: Select all
# F1 2016 obb (2KPX/XPK2) (script 0.1.1)
# script for QuickBMS http://quickbms.aluigi.org
comtype lz4
idstring "\x02KPX" # KPX/XPK
get FOLDERS long
get FILES long
get DUMMY long
math FOLDER_BASE = 20
math FILE_BASE = FOLDERS
math FILE_BASE *= 32
math FILE_BASE += FOLDER_BASE
math NAME_BASE = FILES
math NAME_BASE *= 32
math NAME_BASE += FILE_BASE
goto FILE_BASE
for i = 0 < FILES
get NAME_OFF long
get DUMMY long
get SIZE long
get OFFSET long
get ZIP long
get CRC long
get ZSIZE long
get DUMMY long
math NAME_OFF += NAME_BASE
savepos TMP
goto NAME_OFF
get NAME string
goto TMP
putarray 0 i NAME
putarray 1 i SIZE
putarray 2 i OFFSET
putarray 3 i ZIP
putarray 4 i ZSIZE
next i
goto FOLDER_BASE
for i = 0 < FOLDERS
get NAME_OFF long
get DUMMY long
get XFILES_POS long
get DUMMY long
get XFOLDERS_POS long
get DUMMY long
get XFILES long
get XFOLDERS long
math NAME_OFF += NAME_BASE
savepos TMP
goto NAME_OFF
get NAME string
goto TMP
putarray 5 i NAME
putarray 6 i XFILES
putarray 7 i XFOLDERS
putarray 8 i XFILES_POS
putarray 9 i XFOLDERS_POS
next i
getarray NAME 5 0
getarray XFILES 6 0
getarray XFOLDERS 7 0
getarray XFILES_POS 8 0
getarray XFOLDERS_POS 9 0
set PATH string ""
set NAME string ""
callfunction EXTRACT
startfunction EXTRACT
string PATH += NAME
string PATH += /
math FILES = XFILES
math FOLDERS = XFOLDERS
math FILES_POS = XFILES_POS
math FOLDERS_POS = XFOLDERS_POS
for i = 0 < FILES
math T = FILES_POS
math T += i
getarray NAME 0 T
getarray SIZE 1 T
getarray OFFSET 2 T
getarray ZIP 3 T
getarray ZSIZE 4 T
set FNAME string PATH
string FNAME += NAME
if ZIP == 0
log FNAME OFFSET SIZE
else
clog FNAME OFFSET ZSIZE SIZE
endif
next i
for i = 0 < FOLDERS
math T = FOLDERS_POS
math T += i
getarray NAME 5 T
getarray XFILES 6 T
getarray XFOLDERS 7 T
getarray XFILES_POS 8 T
getarray XFOLDERS_POS 9 T
callfunction EXTRACT
next i
endfunction