I had a look too at the new archives. Here's what I found and my current interrogations.
Does any one know if "TAFS" is a known format? My guess is that it's proprietary (as is everything in every TR games...). Is it "TAFS" like "TA" file system, or "FATS" like File Allocation Table "S"??
I used the work done by Rick on DX3 and TR for the following. I made a copy of his code here:
https://github.com/sephiroth99/gibbedtr
About the format of the archive, it's pretty basic, looks a lot like TRU. The thing that is different is how the DRM files are built. Before, in TRU, there was the main DRM file (compressed "CDRM") and you had some pointers to data elsewhere (what Rick called "Resolvers", see :
HERE
Now, for TR9, it looks like the DRM file entry in the bigfile is only an index file of those kind of "Resolvers" and the "real" data is elsewhere in the bigfile. But that "real" data is not in the index of the bigfile. I made a basic extractor, and indeed you only extract like 900MB out of the 2.7GB of the bigfile. see
HERE for my shitty extractor that doesn't work.
I also started looking for filenames, you can see what I have here:
https://github.com/sephiroth99/gibbedtr ... n%29/files
So I guess we need to find a way to generate/extract the full DRM file. And after that, see if the format of the mesh, textures, etc ... changed compared to TRU.
Edit: Looks like the DRM file is more similar to the TRU version than I thought. Still, the part about having hidden data in the bigfile stays true I think.
The new DRM Header has the following format:
Code: Select all
DRM Header
u32 version; // 0x16 for TR9
u32 unknown[5]; // all zero? must check all DRM files
u32 SectionCount;
u32 UnknownCount;
(Total length: 32 bytes)
It looks like the following parts (section header, resolvers, data) are the same as TRU (the section header anyway, can't say for the resolvers).
to be continued...