MightyMable Posted May 15 Posted May 15 (edited) So I did everything as told here but some alt color textures are missing(this applies to all characters as well and lots of other outfits) after extraction. These are the textures I ripped, showing the denim skirt for example: And the missing ones are inside the rectangle(yellow, blue, light blue and orange): It's the same thing with other characters wherein the colors that aren't included are on the 1st and last rows of the cusomization screen If anybody knows how to extract all textures out mygosh you're a hero 🙏🫡 I'm also looking into getting the texts and button input icons out Edited May 16 by MightyMable removed the spoilers for easier viewing
MightyMable Posted 23 hours ago Author Posted 23 hours ago Can anybody help or knows something? 😅😓 Perhaps the ps3 version ripping know how? without having to use emulators 🤔 Bump
Engineers Solution h3x3r Posted 18 hours ago Engineers Solution Posted 18 hours ago So after i decompressed BIN i used this bms from luigi to unpack it but without file names. Spoiler # Tekken 6 (script 0.2.3) # script for QuickBMS http://quickbms.aluigi.org endian big open FDDE "idx" open FDDE "bin" 1 EXISTS if EXISTS == 0 get TMP basename string TMP + "_.bin" open FDSE TMP 1 endif math ALIGN = 0x8000 math DO_CHUNKS = 1 get FILES asize math FILES / 8 goto -8 get OFFSET long get BIN_SIZE asize 1 math OFFSET * ALIGN if OFFSET u> BIN_SIZE math ALIGN = 0x80 math DO_CHUNKS = 0 endif goto 0 for i = 0 < FILES get OFFSET long get SIZE long if SIZE != 0xffffffff if SIZE != 0 math OFFSET * ALIGN callfunction DUMP 1 endif endif next i startfunction DUMP if DO_CHUNKS == 0 log "" OFFSET SIZE 1 else goto OFFSET 1 get CHUNKS long 1 if CHUNKS u< 0x200 # some files are chunked and others aren't... no way to know it! for x = 0 < CHUNKS get CHUNK_OFF long 1 get CHUNK_SIZE long 1 math CHUNK_OFF + OFFSET if CHUNK_SIZE != 0 savepos TMP_OFF 1 goto CHUNK_OFF 1 get TMP long 1 goto TMP_OFF 1 math TMP * 8 math TMP + 4 math TMP x 0x10 if TMP == CHUNK_SIZE # just an empty index, skip it else log "" CHUNK_OFF CHUNK_SIZE 1 endif endif next x else log "" OFFSET SIZE 1 endif endif endfunction You'll get *.NTX files. These are textures. I wrote Noesis script for them. from inc_noesis import * import noesis import rapi import os def registerNoesisTypes(): handle = noesis.register("Tekken 6 - Xbox 360 Texture", ".ntx") noesis.setHandlerTypeCheck(handle, noepyCheckType) noesis.setHandlerLoadRGBA(handle, noepyLoadRGBA) noesis.logPopup() return 1 def noepyCheckType(data): bs = NoeBitStream(data,NOE_BIGENDIAN) if len(data) < 20: return 0 return 1 def noepyLoadRGBA(data, texList): bs = NoeBitStream(data,NOE_BIGENDIAN) BaseName = rapi.getExtensionlessName(rapi.getLocalFileName(rapi.getInputName())) bs.read(7) TextureCount = bs.readUByte() bs.read(8) for i in range(TextureCount): TextureNum = "_{:04d}".format(i) cPos = bs.tell() bs.read(8) RawDataSize = bs.readUInt() RawDataOffset = bs.readUShort() Var3 = bs.readUShort() MipMaps = bs.readUShort() PixelFormat = bs.readUShort() TextureWidth = bs.readUShort() TextureHeight = bs.readUShort() bs.seek(cPos, NOESEEK_ABS) bs.read(RawDataOffset) data = bs.readBytes(RawDataSize) if PixelFormat == 0: data = rapi.swapEndianArray(data, 2) texFmt = noesis.NOESISTEX_DXT1 elif PixelFormat == 1: data = rapi.swapEndianArray(data, 2) texFmt = noesis.NOESISTEX_DXT3 elif PixelFormat == 2: data = rapi.swapEndianArray(data, 2) texFmt = noesis.NOESISTEX_DXT5 texList.append(NoeTexture(BaseName + TextureNum, TextureWidth, TextureHeight, data, texFmt)) return 1 1
MightyMable Posted 10 hours ago Author Posted 10 hours ago Oh gosh, this worked and I got the missing textures finally 😮 Thank you so much 🥺 Spoiler
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now