It may mess up weather its a dxt1 or 5 if its green and fuzzy looking just change it to dxt5 and your all set.
quickbms script
Code: Select all
FindLoc START string \x00\x00\x00\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF
print "%START%"
goto START
savepos BASEOFF
print "%BASEOFF%"
goto 0
for
ENDIAN BIG
FindLoc START string "z:/"
math start - 0x54
goto start
get unk01 long
get unk02 long
get unk03 long
get unk04 long
get unk05 long
get unk06 long
get unk07 long
get unk08 long
get unk09 long
get OFFSET long
math OFFSET + BASEOFF
get SIZE long
get unk12 long
get TYPE long
get unk14 long
get unk15 long
get MIPS long
get WIDTH long
get HEIGHT long
get unk19 long
get unk20 long
get unk21 long
getdstring null 0x3
get name string
string name - 24
string name + .dds
if unk19 == 0x1
print "%name%"
callfunction addDDSheader
math size + 0x80
log NAME 0 size MEMORY_FILE
endif
next
startfunction addDDSheader
endian little
set MEMORY_FILE binary "\x44\x44\x53\x20\x7C\x00\x00\x00\x07\x10\x0A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x05\x00\x00\x00\x44\x58\x54\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
putVarChr MEMORY_FILE 0x10 WIDTH long
putVarChr MEMORY_FILE 0xC HEIGHT long
putVarChr MEMORY_FILE 0x1C MIPS long
if type == 0x1
putVarChr MEMORY_FILE 0x57 0x31
endif
if type == 0x2
putVarChr MEMORY_FILE 0x57 0x35
endif
endian big
append
log MEMORY_FILE OFFSET SIZE
append
endfunction