Wednesday, February 4, 2009

R-Type Final

So I've been taking a break from Metal Gear Solid before I do some in depth reverse engineering to finalize the KMD format.

In the meantime I started work on R-Type Final and Wipeout Fusion. From R-Type I have all of the data ripped and Wipeout I am in the process of writing the ripper still. Some minor issues in the Wipeout archive format that I haven't worked out yet.

The data in R Type is something like this. Initially everything is stored in a few pairs of DAT/FAT files. Inside these DAT's are a bunch of P6T files, presumably textures or other still images, some more DAT files, and the audio for the game stored as BD/HQ/SQ files(presumably samples and sequences). There is another DAT/FAT that I haven't extracted but appears to contain MPEG2 streams and some other FMV related odds and ends.

The stored DAT files are the same format as the DAT/FAT pairs except the FAT prepends the DAT instead of existing in a separate file. These sub-DAT's appear to contain all the mesh(IMD) and texture(P6T) files for the entire game.

It appears that the enemies, player, maps and all other 3D models share the IMD format and all images are P6T format with the exception of a few that have DAT extensions and don't share any of the charactersistics of DAT/FAT or P6T.

After a brief examination of the code, P6T files look like they are probably compressed. After some other investigation I am assuming that IMD's are also in a compressed format but I have not yet verified.