Ready 2 Rumble (PSX, DC) compressed textures

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
McCunyao
Posts: 21
Joined: Fri Jan 06, 2017 12:33 pm

Ready 2 Rumble (PSX, DC) compressed textures

Post by McCunyao »

Greetings. I've been trying to identify the hidden compression found on the textures of Ready 2 Rumble 1 for the PSX (though I suspect it is also used on both the sequel and their versions for Dreamcast). This file in particular contains the first screen with some legal credits.

I have tried to put a uncompressed texture for modding, but the game expects it compressed.

Here's the specs I could get from the header format, which will include info from the uncompressed TIM equivalents:

Code: Select all

An element is composed of a 0x20 byte header followed by its contents.

--------------------
ELEMENT HEADER
--------------------

0x04 bytes = Element's Magic word
0x04 bytes = File size
0x04 bytes = Possible file format flag:
 - 0x00 = models, anims
 - 0x01 = compressed TIM
 - 0x02 = uncompressed TIM
0x04 bytes = Possible file content flag
 - 0x01 = anims
 - 0x02 = TIM (both compressed and uncompressed)
 - 0x0D = models

0x04 bytes = File size
0x0C bytes = File name (Windows 3.1 method)

TIMs may have a sequence of pointers that contain a list of subTIMs within a TIM.
 - 0x04 bytes = amount of pointers
 - 0x04 bytes = size of this mini block
If the first value is higher than 1, will mean that there is more than one TIM and that the pointer list will extend, 0x04 bytes per pointer, all of them relative to the beginning of the file.
The other thing I know is that the first thing that appears in the TIM area is the uncompressed size of the file. After that, I am lost.