Users browsing this thread: 11 Guest(s)
Tropical Freeze Textures: the TXTR format. RTB and Parax pretty much figured it out.
#16
So in the mean time, I will be extracting the models for pretty much anything that's a "character". Including the Octopus in Irate Eight. Cute
I'm an opera-crossover singer undergoing classical voice training and I'm also making Super Smash Bros. Feud.

Discord: kold_virus
Reply
Thanked by:
#17
Hey! Just for the record, my pak unpacking tool PakTool, which Tabuu mentioned, already has the ability to decompress the TXTR files at unpack time. Use the -e option when unpacking. It will also decompress all the models and shaders with that option on. All this stuff is described in the readme.

I can give you guys the info I've got on TXTR's META section so far if you want, but I'm not sure that section is useful after the image data is decompressed. The META sections are normally integrated into the pak format, and PakTool appends it to the end of the file when you extract without decompressing.

MaterialArchive.arc is irrelevant and I'm fairly sure it's unused - it contains a bunch of compiled HLSL shaders which I believe is a leftover from a DX11 build of the game that Retro used during development. The shaders the game actually uses are in the MTRL files in the paks, which are compressed with zlib (PakTool can decompress them as well).

I'd love to see the TXTR format cracked properly (not using SDK tools) since that's the main thing that's prevented me from doing more work with Tropical Freeze's files. The TXTR format from Retro's prior games were basically the usual GX texture formats in a custom container, and I assume the new TXTR format is the same concept but with GX2 formats instead.
Reply
#18
Welcome back from your sleep, man.

We have a lot of stuff known already, including the basic internal format. It's basically a reformated GTX like in most Wii U games. We just gotta be able to use TexConv2 like other GTX files. I still haven't heard back from RTB yet, but I have faith in him. He's busy anyway, so I don't blame him.

But hey, fire away with the META stuff if you want. Smile
I'm an opera-crossover singer undergoing classical voice training and I'm also making Super Smash Bros. Feud.

Discord: kold_virus
Reply
Thanked by:
#19
Well, it's likely the same image formats and metadata values that are found in GTX files (because those are the image formats that the hardware is optimized for), but AFAIK it's in a completely custom format.

I dug into my old notes on this format and made a wiki page for it with all the info I have on it. I'd really appreciate if you guys could add whatever you come up with to the wiki page so it'll stay documented somewhere anyone can easily find it! Having to scour the Internet for little hints about formats that other people have already figured out but didn't document properly is the most annoying thing ever so I like to try to keep things organized. Here it is: http://www.metroid2002.com/retromodding/...al_Freeze)

On META, keep in mind that it's originally a data blob from the pak. The pak has one giant META section which contains the meta info for every file in the pak that has it. The unpacker locates the data for the resource it's unpacking and creates a new META section at the end of the file to place the data into. That's why the META data is split off into a separate part of the page from the normal TXTR format description, and why the META header isn't described on the page (but if you need to know how it's formatted it's the same section header format you can find everywhere in basically any Tropical Freeze format).
Reply
#20
Wow, man. This'll hopefully help RTB some.

Weird... I hope he'll still be able to crack it. If they could at least be converted to actual GTX files then TexConv2.exe could do the rest of the work.

Thanks!
I'm an opera-crossover singer undergoing classical voice training and I'm also making Super Smash Bros. Feud.

Discord: kold_virus
Reply
Thanked by:
#21
Yeah, sure. I would've jumped in earlier if I knew about this thread. Tongue I saw ThatTrueStruggle making edits on the wiki, made a guess and found this thread on google.

The notes are really old so apologies if there are any inaccuracies.

One other thing - Tropical Freeze has an unstripped binary and -all- of the symbols for the game are in the RPX, so if anyone wants to try disassembling it there's probably some very useful info that could be uncovered in there without too much trouble. (this is how we figured out the compression format in models/textures)
Reply
Thanked by: Kold-Virus
#22
(12-23-2015, 08:36 PM)Parax Wrote: Yeah, sure. I would've jumped in earlier if I knew about this thread. Tongue I saw ThatTrueStruggle making edits on the wiki, made a guess and found this thread on google.

The notes are really old so apologies if there are any inaccuracies.

I would have told you, but I recall you being busy with your job and I didn't want to impose.
I'm an opera-crossover singer undergoing classical voice training and I'm also making Super Smash Bros. Feud.

Discord: kold_virus
Reply
Thanked by:
#23
Out of curiosity how much is known about the actual image formats used by Wii U games? I'm a lot more interested in seeing them extracted without using TexConv2, because the process of taking the file, converting it to GTX, dumping it to a temp file, running TexConv2 on it, and loading the output to actually use it something sounds painful compared to just loading the TXTR and decoding it directly (plus I'd rather not be writing programs that are dependent on leaked SDK tools). Although I'm all for it as a temporary thing if it helps figure out the header Tongue
Reply
Thanked by:
#24
(12-23-2015, 09:55 PM)Parax Wrote: Out of curiosity how much is known about the actual image formats used by Wii U games? I'm a lot more interested in seeing them extracted without using TexConv2, because the process of taking the file, converting it to GTX, dumping it to a temp file, running TexConv2 on it, and loading the output to actually use it something sounds painful compared to just loading the TXTR and decoding it directly (plus I'd rather not be writing programs that are dependent on leaked SDK tools). Although I'm all for it as a temporary thing if it helps figure out the header Tongue

Well, RTB knows a lot about GTX, having written programs for Smash Wii U and I think MK8 and Mario 3D World. The TXTR -> GTX thing was just a suggestion I came up with based on how the data seems to be formatted almost exactly like GTX.
I'm an opera-crossover singer undergoing classical voice training and I'm also making Super Smash Bros. Feud.

Discord: kold_virus
Reply
Thanked by:
#25
I got a bit too occupied with my other projects that I didn't get a chance to check this out yet, sorry. I'll have time on Christmas Day to do so, maybe/hopefully I'll have something working then?
Reply
Thanked by: Kold-Virus
#26
All right then. Good luck, man. And thanks. Smile

Checking out the binary as we speak. Is it compressed? Because not much info in there.

I am uploading it pronto

Link: http://www.mediafire.com/download/42tg8r...uction.zip
I'm an opera-crossover singer undergoing classical voice training and I'm also making Super Smash Bros. Feud.

Discord: kold_virus
Reply
Thanked by:
#27
My apologies for the double post yet again.

I'm trying to get my hands on IDA, a programmable universal decompiler/disassembler. With Tropical Freeze having it unstripped I may be able to get my hands on some juicy info. Someone, on, I think, GBATemp, made a RPL/RPX loader for Wii U, which I downloaded preemptively, for use with Tropical Freeze's rs10_production.rpx. If I find anything, I'll be sure to post it!
I'm an opera-crossover singer undergoing classical voice training and I'm also making Super Smash Bros. Feud.

Discord: kold_virus
Reply
Thanked by:
#28
(12-24-2015, 12:25 AM)TabuuForteAkugun Wrote: All right then. Good luck, man. And thanks. Smile

Checking out the binary as we speak. Is it compressed? Because not much info in there.

I am uploading it pronto

Link: http://www.mediafire.com/download/42tg8r...uction.zip

Yeah, Wii U binaries are compressed with zlib.

The symbols are in there but since IDA doesn't demangle them properly it's still pretty annoying to read anything, which is most of why I haven't bothered for most stuff. Not sure if there's any updates to the loader or a plugin or something to fix that.
Reply
Thanked by: Kold-Virus
#29
All righty, so I'll run it through a "un-ZLIB" thingamabob and see if anything changes.

I'm using this:

https://gbatemp.net/threads/ida-pro-wii-...433/page-2

EDIT: Can't seem to find anything to decompress this damn thing. I'm not even sure the IDA LDW file I use is for compressed or decompressed lol
I'm an opera-crossover singer undergoing classical voice training and I'm also making Super Smash Bros. Feud.

Discord: kold_virus
Reply
Thanked by:
#30
The IDA loader can handle it compressed just fine. You don't need to decompress it.
Reply
Thanked by:


Forum Jump: