Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - PNill

Pages: [1]
1
Turok Evolution Modding / T4 Engine Research
« 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.

2
Info/Help / Forum kind of small?
« on: April 25, 2016, 02:14:50 AM »
Just a random question the forum seems quite small / inactive for the amount of players there actually are of the Turok games is this due to lack of advertising it?

I've just noticed there's quite a few people on steam groups / communities and stuff since the remaster came out but there's not quite as many people hanging around here.

3
Turok Evolution Modding / Turok4.god aka gameobjectdata.txt
« on: December 13, 2015, 01:33:52 AM »
So in my recent travels I stumbled across this and found it intriguing,
Basically it's the structure for all the object definition stuff in the engine along with the values and comments.

https://www.sendspace.com/file/je1soy

4
Turok Evolution Modding / PC Version Multiplayer - Online Modification
« on: December 13, 2015, 01:17:47 AM »
UPDATE 3/16/2021:
This is still being worked on, just very slowly and the progress is not really there yet; I've reversed a lot more of the engine and have a lot of plans for this.

Some things that I want to do is move to a different networking engine for starters (ENet, or Yojimbo) than writing/using my own raw UDP implementation (If you want to help with this project, and know C/C++ that could be a place to start even if you don't know how to reverse engineer things).

All of that being said I had released a "Pre-Alpha" awhile back that was burried in this forum I'm bringing it up to here now, currently this is the only way to play the MP mod:
Quote
There's now an pre-alpha version of the browser/launcher for the game which can be used to host/join multiplayer games and will automatically install the mod for you;
https://cdn.discordapp.com/attachments/364499772112896001/569032869729533978/SPOILER_T4Browser_-_Pre-Alpha_0.4.rar

This has not be tested much and you will encounter plenty of bugs.

If you have an issue while playing in the game itself report it on this github:
https://github.com/pnill/T4MP/issues

If you have an issue with the launcher/browser report it on this github:
https://github.com/pnill/T4Browser

Thanks and I hope everyone enjoys this, hopefully we can improve this and make things just like the other classics.


UPDATE 10/7/17:
For those of you just tuning in, I've made a lot of progress and have been able to get most of the objects to sync over the network while also fixing some bugs that were present in the game due to the port.

An example of some very early gameplay can be seen here:



First to introduce myself, I'm a random lol... I've never hung out in any Turok communities and I've barely played the game.

I'm an experienced programmer and I reverse engineer as well, I write in a ton of different languages and have experience hacking/modifying games.

Back in about 2008 I had randomly stumbled across a PC port of Turok: Evolution and was intrigued upon looking at the game it was amazing, it didn't make sense that it didn't have online multiplayer and I had discovered Turok 2 and the game that was coming out later that year had it...

Digging around I managed to find various files in the build which was released online documenting object data (not model objects, but class objects/game objects).

Long story short I did have a working multiplayer online modification which was ghetto at best the health was synchronized but the way players were shot and such was pretty rigged we basically synchronized where the player was looking and when they fired and sent the event to the other side, the de-synchronization was crap and caused things to happen like a player wouldn't actually be shooting you even though on their screen they were.

Now to get to this point the first step was modifying the files to allow us to go into multiplayer mode (Split-screen) I had discovered split screen existed due to the fact none of the menu files for it were removed from when it was ported to PC from the original xbox platform.

The way I originally went about this was simply replacing the files in the cheat folder with the files from the Mutliplayer folder, that will get you  into the basic multiplayer screen beyond that there's some additional check I can't quite remember how I got past.

As of today I've started to look into this again and I hate to say all of my original code for that project I called "t4mp" is gone and sadly not even the website which once was, was properly indexed to where you could've seen some of the screenshots and such we took.

Code: [Select]
http://web.archive.org/web/20070801000000*/http://t4mp.org

Though I did happen to make some slight progress reverse engineering the menu format and replaced the cheats Menu with Multiplayer without replacing the files and actually modifying the atr instead.

I'm still trying to figure out what it was I originally did in order to make the "MultiplayerJoin" screen not back out, this was pretty hacky ( I believe I deleted the events for players 2-3 ).

But long story short when this was active we had actually disabled the split-screen view port and could actively spawn more then just the original 4 players, meaning actual online multiplayer support.

I may work on this but I just thought I should share that little story and see if I can help you guys out or if there's anything you know about the game's file formats which I don't currently.

Pages: [1]
SimplePortal 2.3.6 © 2008-2014, SimplePortal