Turok: Dinosaur Hunter Forums!
Turok Games => Turok Evolution => Turok Evolution Modding => Topic started by: PNill on April 07, 2025, 02:14:16 PM
-
As a project entirely separate from the Turok Evolution PC multiplayer online project I started a "T4_Research" project focused entirely on researching the engine, file formats its uses, and hopefully future documentation and building of tooling to deal with those file formats.
Maybe eventually the way hitscanning, or raycasting, works for projectile collision, or the ways collision and such is handled in general/further documentation on AI and the way it operates, level loading or the methodology they used to do specific things. Part of this is me learning more about game engines and documenting how they did things compared to other games or engines.
To begin with the engine documentation I'm planning to write on is going to be mostly code related to object definition related to player or AI interaction and document as much of how that works as I can or how the engine handles specific things at a high level, as well as how file formats work are defined, what they look like maybe some 010 editor templates for them.
This will eventually lead to the creation of an additional repo, likely named "T4_ModTools" or something along those lines where I want to create tools to deal with each file type, including "compiling" or "decompiling" actor files, plugins to load model files into Blender and allowing for the import and export of MTF possibly with bone, animation support unsure about that part, tooling to deal with TRE files decompressing, and recompressing them as well as dealing with the 'hashed' names that are contained within the TRE files.
Anyone interested can find a link to that here:
https://github.com/pnill/T4_Research
Ultimately the main reason this started was because I had a large focus on reverse engineering the engine after sort of taking a break from the original T4MP implementation due to a lack of understanding of things that were happening in the engine, I took a large step backwards and started focusing more and more on determining how the engine does or handles very specific things utilizing builds from other games to label as much as I could in the engine.
At this point I believe at least 50-60% of the engine is labeled in my IDA Pro databases, mostly anything non-game specific or Super Happy Fun Fun port specific should be labeled, and 95% of it should be accurate enough, you can mostly figure out how to hook/manipulate just about anything you want to in relation to a player. There's still a lot more research I've done that isn't uploaded or documented fully yet, but will get there eventually.
Understanding all of this will not only help with the T4MP project, but it will also assist in bug fixing, upgrades to the engine, and future modifications others want to do.