Code: Select all
for i = 0
    findloc OFFSET binary "\x01\x00\x00\x00\x48\x00\x00\x00"
    math OFFSET + 8
    goto OFFSET
    get SIZE long
    get SIZE long
    get OFFSET longlong
    math TMP = OFFSET
    math TMP + SIZE
    goto TMP
    get WIDTH long
    get LENGTH long
    string NAME p "%d_%dx%d.raw" i WIDTH LENGTH
    log NAME OFFSET SIZE
next iNow I'm looking to build a .dds from the extracted .raw files. I've borrowed the following code from another script we use, and adjusted it for Tekken 7's format:
Code: Select all
for i = 0
get null long
get Tsize long
get Tsize longlong
get offset long //offset in uasset package
get null long
savepos Toffset // texture offset
// go to bottom
set footer = Toffset
math footer + Tsize
goto footer 
get WIDTH long
get HEIGHT long
//building DDS file
//add blank DDS header to memory
set MEMORY_FILE binary "\x44\x44\x53\x20\x7C\x00\x00\x00\x07\x10\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x04\x00\x00\x00\x44\x58\x31\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
// Modify Header with HEIGHT and WIDTH
putVarChr MEMORY_FILE 0xC HEIGHT long
putVarChr MEMORY_FILE 0x10 WIDTH long
   append
   log MEMORY_FILE Toffset Tsize //append texture body to memory
   append
 if i = 0
string OUT P "%offset|hex%_%Name%.dds"
endif
math Tsize + 0x80 // append Header size
log OUT 0 Tsize MEMORY_FILE // output to file
next iThe only thing that's in that script, that i'm somewhat confident needs to be there is the Binary portion, which I've adjusted to follow format for tekken 7. Do I simply append this portion of the script to the previous& test if it'll work, is there something that's incorrect or missing, or should I try something different?
EDIT: Well the script doesn't seem to work. It's not creating any additional files. It only runs the 1st part of the script, which extracts the .raw files. I know that I've screwed up somewhere in the 2nd part.
set MEMORY_FILE binary - is correct
MEMORY_FILE 0xC HEIGHT long - is correct offset
MEMORY_FILE 0x10 WIDTH long - is correct offset

