Much like the previous Tales games, Zestiria uses 2 folders for its textures the first, TOTEXB_D are uncompressed 1kb files and rather bluntly point at what they want from the other file.
Example:
TOTEXB_D
Simply points to the TOTEXP_P that contains the data it wants, not entirely sure how it knows which TOTEXP_P contains that data though.
The TOTEXP_P file is TLZC compressed, but there is this QuickBMS script to extract it:
Code: Select all
idstring "TLZC"
get name basename
string name + ".FPS4"
comtype MSF
get version long
get tzsize long
get tsize long
goto 0x1D
set blockcount tsize
math blockcount += 0xFFFF
math blockcount /= 0x10000
for i = 0 < blockcount
get zsize short
putarray 0 i zsize
next i
for i = 0 < blockcount
savepos offset
getarray ZSIZE 0 i
if tsize >= 0x10000
append
clog MEMORY_FILE OFFSET ZSIZE 0x10000
append
else
append
if ZSIZE == 0
log MEMORY_FILE OFFSET tsize
else
clog MEMORY_FILE OFFSET ZSIZE tsize
endif
append
endif
math tsize -= 0x10000
math offset + ZSIZE
goto offset
next i
get SIZE asize MEMORY_FILE
log name 0 SIZE MEMORY_FILE
This outputs the following .fps4 file: https://dl.dropboxusercontent.com/u/779 ... EXP_P.FPS4
However that file is either compressed or encrypted, I don't understand it at all. I'm not any good with QuickBMS scripts, but this file seems to have no header whatsoever, I can't gather anything whatsoever from looking at it.
Incase its possible that the file has been extracted incorrectly from the TOTEXP_P archive, I've provided both the TOTEXB_D and the TOTEXP_P file for anyone who's interested to take a look at here