I am working on a level viewer for the 3D Rayman games
, and this time I am trying to read the Rayman 2 PS1 .DAT bigfile.
I uploaded the first ~30MB here: https://mega.nz/#!8Sx3kAoK!sxKRNp_MsP_k5RZTpY5tqdaP4tw2_p6X1bMAHO3vA3Y
I've figured out part of the format, but got stuck. What I've figured out looks like this:
DWORD - sz_decompressed
DWORD - sz_compressed
BYTE[sz_compressed] - Compressed with LZO1X
DWORD - 0x0 (End of file?)
(Optional) Padding. If there is more than one 0x0 dword in succession, the next block will start at a multiple of 0x800.
The padding can also be 0xFFFFFFFF instead of 0x0. This happens at 0x0E135F
The format looks different after that (at 0x0E1800
), and I can't figure it out.
Please take a look at the file, I would love to view the levels of this (and the PS1 games that share the same format), and I can only do it with your help.