[SFV] Hmm it's a very strange thing in the patches before this it did not happen, and in any case the materials are now unusable, I noticed that there are problems with Gildor's Umodel too, I hope it is not there some kind of half-tampering like Denuvo or similar.
Edit:
Ok after several tests something has definitely changed, first the material now they have different bytes here a sample
https://www.dropbox.com/s/5l5sqnw6ijwj5 ... l.rar?dl=0I unpacked the game with this bat: for %%s in (*.pak) do quickbms -Y sf5.bms %%s out
with an old script
Code: Select all
# Unreal Engine 4 - Unreal Tournament 4 (script 0.4)
# Modified by FluffyQuack for better SF5 support
# script for QuickBMS http://quickbms.aluigi.org
# set your AES_KEY here as text or C string ("\x11\x22...")
set AES_KEY binary "_aS4mfZK8M5s5KWC2Lz2VsFnGKI7azgl"
goto -0x2c
idstring "\xe1\x12\x6f\x5a" # 0x5a6f12e1
get VERSION long
get OFFSET longlong
get SIZE longlong
getdstring HASH 20
goto OFFSET
#Acquire base name
get NAMESZ signed_long
math NAMESZ -= 9
getdstring DUMMY 9 #Skip the "..\..\..\" part of the filepath
getdstring BASENAME NAMESZ
get FILES long
for i = 0 < FILES
callfunction GET_NAME 1
savepos TMP_OFF
get OFFSET longlong
get ZSIZE longlong
get SIZE longlong
get ZIP long
if VERSION <= 1
get TSTAMP longlong
endif
getdstring HASH 20
math CHUNKS = 0
if VERSION >= 3
if ZIP != 0
get CHUNKS long
for x = 0 < CHUNKS
get CHUNK_OFFSET longlong
get CHUNK_END_OFFSET longlong
putarray 0 x CHUNK_OFFSET
putarray 1 x CHUNK_END_OFFSET
next x
endif
get ENCRYPTED byte
get CHUNK_SIZE long
endif
comtype copy # for AES
if ZIP & 1
comtype zlib
elif ZIP & 2
comtype gzip
endif
if CHUNKS > 0
putvarchr MEMORY_FILE SIZE 0
log MEMORY_FILE 0 0
append
for x = 0 < CHUNKS
getarray CHUNK_OFFSET 0 x
getarray CHUNK_END_OFFSET 1 x
math CHUNK_ZSIZE = CHUNK_END_OFFSET
math CHUNK_ZSIZE - CHUNK_OFFSET
if ENCRYPTED != 0
encryption aes AES_KEY "" 0 32
math CHUNK_ZSIZE x 32
endif
clog MEMORY_FILE CHUNK_OFFSET CHUNK_ZSIZE CHUNK_SIZE
next x
append
encryption "" ""
log NAME 0 SIZE MEMORY_FILE
else
# the file offset points to an entry containing
# the "same" OFFSET ZSIZE SIZE ZIP HASH ZERO fields,
# just an additional backup... so let's skip them
savepos BASE_OFF
math BASE_OFF - TMP_OFF
math OFFSET += BASE_OFF
if ENCRYPTED != 0
encryption aes AES_KEY "" 0 32
math ZSIZE x 32
endif
clog NAME OFFSET ZSIZE SIZE
encryption "" ""
endif
next i
startfunction GET_NAME
get NAMESZ signed_long
if NAMESZ >= 0
getdstring NAME NAMESZ
else
math NAMESZ n NAMESZ
math NAMESZ * 2
getdstring NAME NAMESZ
set NAME unicode NAME
endif
set TMP BASENAME
string TMP += NAME
set NAME TMP
endfunction
The hierarchy is kept perfectly but the strangeness of the materials remains, I try the same bat file with the unreal engine 4 script (sfv key) but are created dat files in numerical sequence like 0000658 0000659 etc etc
I continue to study if I find a solution at least for the materials.