<no subject>

mtm2 and other sensible chat
User avatar
Fila
Member
Posts: 1604
Joined: Mon Jul 02, 2001 2:01 pm
Location: Lost in Translation
Contact:

Re: <no subject>

Post by Fila »

Yeah Photex engine was definitely advanced for its time but also an incredible spaghetti code. Partly it is also the fault of coding standards back then, they had to do a lot of workarounds to get stuff working and those workarounds add another layer of difficulty in porting the code over to newer render software.
User avatar
Fila
Member
Posts: 1604
Joined: Mon Jul 02, 2001 2:01 pm
Location: Lost in Translation
Contact:

Re: <no subject>

Post by Fila »

Kmaster wrote: Mon May 04, 2026 8:48 pm
StrikerTheHedgefox wrote: Mon May 04, 2026 3:15 pm
Kmaster wrote: Fri Jul 11, 2025 12:46 am

That looks quite promising. I hope he reads this, we're all willing to help!
Terminal Fury. Hmm.. bring backs memories, I called my TV windows port using the Fury3 engine the same way https://www.youtube.com/watch?v=8DI4EQ43HeA
Been wanting to reply to this for a while now. Funnily enough, TerminalFury actually has some shared origins with your project.

Before I got the source code to Terminal Velocity/Fury3/Hellbender, it started as a reverse-engineered patch of Terminal Fury, done in IDA Pro, to bump it up to 640x480 resolution, and add support for higher sample rate sound effects. Then, once I got the source, I applied those same changes to the actual source in a modified version of the Fury3 codebase. Then eventually, I ported Hellbender back into Fury3's CyberUI interface (since the Hellbender MFC one is a spaghetti code nightmare that's hard to compile), and the name just kind of stuck, because it fits considering it supports all of Terminal Velocity, and the Fury series (Fury3/Hellbender aka. Fury6 in code).

Also, I am definitely looking for some help, because I'm currently stuck with some things, main thing is getting everything ported over to OpenGL world space and getting the rotation/translation/scale all working on the GPU instead of having Photex handle that all before uploading to the GPU polygon by polygon (which is incredibly slow).
Nice timing! I was using terminalFury (the classic one) yesterday to debug JTraxx TV/F3 level support. So you took F3 code and basically added ground box support. Makes me wonder how much of a mess is the HB code.
To give you an idea... there's some legacy HB code inside the MTM2 code :D :D :D :D :D

Took me forever to understand it doesn't apply to MTM. I kept wondering what is the purpose of it until I finally realized it belongs to a different game.
User avatar
Fila
Member
Posts: 1604
Joined: Mon Jul 02, 2001 2:01 pm
Location: Lost in Translation
Contact:

Re: <no subject>

Post by Fila »

StrikerTheHedgefox wrote: Mon May 04, 2026 3:15 pm
Kmaster wrote: Fri Jul 11, 2025 12:46 am
SparkTB11 wrote:You've done the best you can, Fila.

I was hoping StrikerTheHedgefox, who joined here not too long ago, would be a great helping hand at porting the game to DX11/OpenGL, he's already been working on a source port for TRI games such as Terminal Velocity, Hellbender, and Fury3 known as "TerminalFury", and man does it look good.

https://www.youtube.com/watch?v=KDEMkyCl0aw&t=313s

https://www.youtube.com/watch?v=c-e9uaA4kNA

https://www.youtube.com/watch?v=BxVk8up ... EJAYcqIYzv

Honestly, it would be a blessing to have him on board, but like I've said before, it is not within my right to start pestering people into doing something that would be stressful as it is right now.
That looks quite promising. I hope he reads this, we're all willing to help!
Terminal Fury. Hmm.. bring backs memories, I called my TV windows port using the Fury3 engine the same way https://www.youtube.com/watch?v=8DI4EQ43HeA
Been wanting to reply to this for a while now. Funnily enough, TerminalFury actually has some shared origins with your project.

Before I got the source code to Terminal Velocity/Fury3/Hellbender, it started as a reverse-engineered patch of Terminal Fury, done in IDA Pro, to bump it up to 640x480 resolution, and add support for higher sample rate sound effects. Then, once I got the source, I applied those same changes to the actual source in a modified version of the Fury3 codebase. Then eventually, I ported Hellbender back into Fury3's CyberUI interface (since the Hellbender MFC one is a spaghetti code nightmare that's hard to compile), and the name just kind of stuck, because it fits considering it supports all of Terminal Velocity, and the Fury series (Fury3/Hellbender aka. Fury6 in code).

Also, I am definitely looking for some help, because I'm currently stuck with some things, main thing is getting everything ported over to OpenGL world space and getting the rotation/translation/scale all working on the GPU instead of having Photex handle that all before uploading to the GPU polygon by polygon (which is incredibly slow).
I just realized I think this is what MTM2 is doing as well, uploading polygon by polygon which is why when there are too many objects on screen and/or the high resolution trucks, the FPS count absolutely plummets.
User avatar
StrikerTheHedgefox
Member
Posts: 27
Joined: Sun Aug 11, 2024 11:59 am
Location: Canada
Contact:

Re: <no subject>

Post by StrikerTheHedgefox »

That absolutely would be why. The MRGL model system just traverses the file structure of the models, and uploads any polygon lists one at a time. What needs to happen, is the models need to be loaded/traversed once, any polygons put together into VBOs that can be re-used. I generally know what needs to be done, but how to get there is the problem.
Post Reply