View Single Post
Old 21-07-18, 15:22   #1
MontyTRC
Historian
 
MontyTRC's Avatar
 
Join Date: Mar 2010
Location: Italy
Posts: 489
Default Announcing the TR5Main Project

Hi

I've said in the past weeks that I was working on a new project. And now, it's time to announce it.

This new project is called TR5Main and takes its name from TR2Main by Arsunt, the project who inspired my work. Thanks to Asunt teachings, I was able to patch PCTomb5.exe for adding a new external DLL, of course called TR5Main.dll.

What will I do with this DLL? A lot of stuff

Decompilation of functions
With the ability of referencing functions and variables inside the EXE space, like for TR2Main, I can selectively decompile functions of my interest for expanding limits or changing some behaviours of the game.

Patching
Sometimes decompiling a function is too hard, expecially for changeing just a bit of code. In this case, the DLL patches at runtime the EXE memory for adding new functionalities.

Adding objects from past TRs
Exposing the EXE code inside the DLL, I can directly port objects and traps from other TRs to TR5. I've reused all the MIP slots and I have expanded a bit the object list up to 498 slots (TR5 unpatched has 460 slots).

New platform code
And now the part that mostly excited guys on Discord
For sure you know that TR5 is written with old APIs, all deprecated. DirectInput, DirectSound, DirectDraw, etc.
The main goal is to port everything to a more modern system using DirectX 9 and Win32 apis.
I've already deleted DirectInput from the EXE (I use only Win32 apis now).
And I'm writing a new renderer with DirectX 9

Here's what I've already done:
  • Expanded statics limit up to 1000 statics
  • Increased number of concurrent active items up to 32
  • Removed DirectInput and used Win32 apis
  • Ported some old decompiled enemies to TR5: shark, diver, tiger, cobra, spikey wall, tribes man, tiger, baracudda, t-rex, spinning disk blade
  • New renderer: I can already render and play levels. Already working: Lara with skinning, hairs with skinning, rooms with vertex colors, moveables and statics, flyby cameras, triggers, text rendering (with true type fonts!), horizon, bars
  • Bigger game buffer (128 MB instead of... 5 MB)
  • Some bugs of the original EXE already fixed

If the project will be completed, TR5Main will become the official engine of Tomb Editor and this will allow me to do also small little changes inside the file format for adding custom functionalities.


Now it's time for some pictures







__________________
Tomb Editor Main developer

Last edited by MontyTRC; 21-07-18 at 15:29.
MontyTRC is offline   Reply With Quote