PC textures DDS DXT3-DXT5
Header 0x30(hex)
with Widht and Height
some flags about format(DXT3-DXT5)
PS2 textures raw 8bpp some 4bpp without swizzle
Header 0x40(hex)
with Widht and Height
some flags about format(4bpp-8bpp)
XBOX textures need test ii
But i sure there is raw 8bpp some 4bpp with Morton swizzle
aluigi scripts Drakan.bms https://aluigi.altervista.org/bms/drakan.bms perfectly works to extract/reimport all textures in .TDU
but i fix it for suffering game
there is fix
Code: Select all
# Drakan
#
# The archive uses lot of compressed data in each file,
# so the script tries to dump directly the decompressed
# data instead of the file "as-is"
math DUMP_ORIGINAL_FILES = 0
comtype zlib_noerror
idstring "SRSC"
get DUMMY byte
get DUMMY byte
get OFFSET long
get FILES short
goto OFFSET
for i = 0 < FILES
get TYPE byte
get TYPE2 byte
get DUMMY long
get OFFSET long
get SIZE long
if DUMP_ORIGINAL_FILES != 0
log "" OFFSET SIZE
else
math SKIP_BYTES = 0
if TYPE == 0x40
math SKIP_BYTES = 0x0 # skip bytes 0 for extract textures with correct headers
elif TYPE == 2
if TYPE2 == 3
callfunction SKIP_BYTES_TYPE_2 1
endif
endif
math OFFSET + SKIP_BYTES
math SIZE - SKIP_BYTES
clog "" OFFSET SIZE SIZE
endif
next i
startfunction SKIP_BYTES_TYPE_2
savepos TMP_OFF
goto OFFSET
callfunction GET_NAME 1
get DUMMY long
get CHANNELS short
get BITS short
get FREQUENCY long
getdstring DUMMY 0xc
get TMP_SIZE long
get TMP_ZIP long
get TMP_ZSIZE long
savepos SKIP_BYTES
math SKIP_BYTES - OFFSET
goto TMP_OFF
endfunction
startfunction GET_NAME
get NAMESZ short
getdstring NAME NAMESZ
endfunction
If could someone create a tool for textures to convert them in standart DDS(pc) and TGA(ps2) we can change them in game
(translate, or change some skin, repaint them and other stuff)