Mario Strikers Charged .rlt, .rlg, etc.

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Larsenv
Posts: 137
Joined: Thu Jun 04, 2015 11:20 pm

Mario Strikers Charged .rlt, .rlg, etc.

Post by Larsenv »

aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by aluigi »

For decompressing the zlb files:

Code: Select all

get SIZE long
savepos OFFSET
get ZSIZE asize
math ZSIZE - OFFSET
get NAME basename
clog NAME OFFSET ZSIZE SIZE

The others are probably not archives but just game files, in case someone is interested in working on them.
Xiron
Posts: 104
Joined: Sat Sep 12, 2015 7:09 am

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by Xiron »

Geeze, I like this game. How could I have forgotten about it? :P

.; So that just dumps the .res file out of the .zlib? I 'm guessing the .res holds resources?
What about the .bun files? Not bundles?

I know I know. Extensions aren't equivalent to file types, although there is cases where they do actually represent something.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by aluigi »

Xiron
Posts: 104
Joined: Sat Sep 12, 2015 7:09 am

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by Xiron »

*looks at script* Awesome, you added .res support. The only problem is I get errors...

Code: Select all

Error: incomplete input file 0: PathTOFile.res
Can't read 4 bytes from offset ########(offset)

*bunch of other text*

Last script line before the error or that produced the error!
20 get DUMMY long


Attaching one of the files that give error...
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by aluigi »

That's not a res file.
All the gameworld files I have seen have a tmp extension, have you renamed it?
Xiron
Posts: 104
Joined: Sat Sep 12, 2015 7:09 am

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by Xiron »

Ehehe. That was a file I got out of gameworld.res.zlib (there is also a corresponding gameworld.tmp.zlib file in the folder I just noticed) back when I used:
aluigi wrote:For decompressing the zlb files:

Code: Select all

get SIZE long
savepos OFFSET
get ZSIZE asize
math ZSIZE - OFFSET
get NAME basename
clog NAME OFFSET ZSIZE SIZE


Using the new script on either files mentioned still doesn't produce anything anyhow.
Larsenv
Posts: 137
Joined: Thu Jun 04, 2015 11:20 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by Larsenv »

Probably because he forgot to set comtype zlib?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by aluigi »

It's simply that the specific file is not a RES like all the others. It's the SAME format of the TMP files.

Anyway I have recognized some fields that may allow to extract something (not everything) so I have updated the script.
GoldNobody
Posts: 2
Joined: Thu Oct 18, 2018 3:24 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by GoldNobody »

Hi everybody,
is there anyone here who could extract a texture? Maybe I'm too stupid, but neither the addressed zlibs nor the *.rlt files (PTLG header) can be extracted. Maybe someone can try this again and tell me what I'm doing wrong...

I've added new files (gameworld.tmp.zlib, *.rlt or related model *.rlg).

Many thanks for the help
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by aluigi »

@GoldNobody
The first step is decompressing the zlib files:

Code: Select all

endian big
get SIZE long
savepos OFFSET
get ZSIZE asize
math ZSIZE - OFFSET
get NAME basename
clog NAME OFFSET ZSIZE SIZE

The RES files contain strings and data so I don't think they are textures.
RLG seem some 16bit graphics data to me (not my field so I'm probably wrong)
RLT has the magic PTLG and definitely image data.
Probably you have to post in the Graphics section.
GoldNobody
Posts: 2
Joined: Thu Oct 18, 2018 3:24 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by GoldNobody »

Thanks for your response ..
If I get new Info how to extract the other files I'll post it here.
root
Posts: 3
Joined: Mon Aug 03, 2020 3:00 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by root »

I know this messages are kind of old but I haven't seen anything on the faq about necrobumping so I'll post it here.

The file WorldNPCs.ini (in files/ini) contains some interesting data about the files, they are described as such :

animationFile = .sanim.slib
hierarchyFile = .shier
hierarchyname = something
textureBundleFile .rlt
modelFile = .rlg

using the file command on some .rlt files (such as the ones in files/art/jumbotron) return GLS_BINARY_MSB_FIRST, but not all of them, maybe it's like the sounds where some of them are uncompressed and others not.

maybe something can be found by fiddling around with the dolphin emulator debugger.
root
Posts: 3
Joined: Mon Aug 03, 2020 3:00 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by root »

After "fidling around with a debuger" i've managed to charge other 3d models, but when it comes to try to guess how the game loads files, it is way to advanced for me. So I started looking at the files, and their similarities. I don't know if it can be useful but it seems that the game first loads the textures and then the 3d model.

It seems that the data in the file is always packed in chuncks of 4 bytes, there's something interesting in them : while the first 4 bytes are used for the file magic, bytes 5 to 8 have some sort of "type id". which seems to be (again) a 4 byte integer. The files <sidekick>.rlt have a type id of 0x07, other files with a sidekick_team.rlt have a type id of 0x01. If my guess is correct then it also means that the files have a big endian endianness.

It is kind of weird for captains, Mario, Peach and DK all have 0x0D as a type id, then Waluigi, Bowser and Daisy 0x0C, Luigi, Wario, yoshi 0x0B. I'll have to look at more files.

Then, we have 4 bytes of giberish, 4 bytes of 0s, and then they all have different data.
root
Posts: 3
Joined: Mon Aug 03, 2020 3:00 pm

Re: Mario Strikers Charged .rlt, .rlg, etc.

Post by root »

If someone wanders here again in the future, someon has built a tool that supports all of those formats and more called Switch Toolbox :

https://github.com/KillzXGaming/Switch-Toolbox