I'm attempting to reverse engineer the mesh and texture formats used by the 2005 GameCube game "TimeSplitters: Future Perfect". Unfortunately, I'm not nearly good enough at this kind of thing to figure it out myself and I was hoping that I'd be able to get help here.
I'm aware that there are other sites dedicated to this kind of thing (namely XenTaX and XenHax) however I thought I'd try here first as I'm more familiar with this community.
The game was released in 2005 by Free Radical Design. It was released for Xbox, GameCube and PS2, with all 3 releases using different formats. I'm focusing on the GameCube version here which uses "GCR" for meshes and "GCT" for textures. As far as I'm aware, the GCR files should pretty much just be the meshes with no animation or skeletal data as this data is stored elsewhere.
It seems the engine was built on top of the engine used for the previous entry in the series as these are the same file extensions used in that game.
In-fact, I have found a tool that documents and opens the files from TimeSplitters 2 however the format appears to have changed between games (or the tool I found was simply never correct) as many GCT files either don't load or load wrongly:
I've learned that this is "swizzling", which the tool is obviously failing to account for. The game can obviously tell which textures are swizzled and which are not, so perhaps there's some kind of flag in the texture header that indicates if it is swizzled or not.
Model files either don't load or don't get texture names correctly (textures are stored with their filenames as hexadecimal IDs, the program gets the correct ID but does not convert it to hexadecimal) and even if the texture loading issue is fixed the the viewer in the program simply shows a blue screen.
You can find this tool's GCR loader here: https://bitbucket.org/jas2o/gametools/src/f0170b6bcbe4447c8d4ff37b7779e5e9824d253e/GameTools2/Game/TimeSplitters2/ModelGCN.cs?at=master&fileviewer=file-view-default
At the moment, I'm stumped. I barely understand image formats and I don't have a hope right now of grasping the model format.
The technique of making changes to the files and testing them ingame to see what happens currently isn't possible as these files are normally packed up in special PAK files for which I have an unpacker but currently don't have a repacker (repacking will take some additional work).
I've uploaded some file samples here: https://drive.google.com/open?id=1wTqSm_GkFa_87GMQIde7pp37XE8V-0bP
"Textures" should contain most, if not all of the required textures for the models in the "Models" folder.
In the "Models" folder, there are 3 sample models. "zombiefatheadhead" should be a fairly simple, very basic model of a head. "zombiefathead" is a character model and "level1.gcr" is a large and complex level model.
I really hope that someone can help with this issue. If anyone is kind enough to help me, I'd really appreciate it if you detailed your steps and methodology to figuring it out as I'd really like help learning how to do this independently.
I'll gladly provide any more information or more samples if it would help.