Any experienced reverse engineers here? Any who also like Smuggler's Run 2?

stinkee2
MM2X Newbie
MM2X Newbie
Posts: 3
Registered for: 1 year 7 months

Any experienced reverse engineers here? Any who also like Smuggler's Run 2?

Postby stinkee2 » Fri Aug 05, 2022 11:19 am

Hello, I realize this might be kind of a long shot but...

I've been working on reverse engineering and reimplementing Smuggler's Run 2 for the PC for a few years now and I have made quite a lot of progress. The reason I think this is relevant to this forum is that the game engine used by Midtown Madness has very much in common with the engine used by Smuggler's Run 2. It's just a different version of the same game engine which was likely adapted some amount for each game. For example, Smuggler's Run 2 also uses the .vehCarSim files, among other things that they share.

I feel lonely on this project because I can't find any other reverse engineers with the same childhood connection to this game. My hope is that I might find someone here.

Here's a video demonstrating the progress I made as of April 2021: https://www.youtube.com/watch?v=xGO7mzRu82Q
I've made a lot of progress since then, including fixing how the roads / train tracks are rendered. ...But there's still an overwhelmingly insane amount of stuff left to figure out. The physics engine is a big one... I've got a lot of that figured out but I estimate I have only touched on about 30% of it.

All this time spent on this one game has afforded me secret knowledge from the depths of the angel game engine. I've unlocked secret debug displays and tests which are mildly interesting. I've also figured out how to patch the game in a way that forces it to load the game files from my computer instead of the game disc when running it with PCSX2.

As you might expect, this allows me to modify the game in strange and often funny ways in an effort to understand the effects of the game files. Check this out: https://www.youtube.com/watch?v=P6lplMX21sg

I haven't tried it yet, but I could probably even get it to load the vehicles from Midtown Madness 2.

My ultimate goal is to have it fully ported, not get sued by Rockstar, and add online multiplayer with up to 16 people.


Sorry for the wall of text. As I said I'm pretty lonely on this project. If you're interested in joining me, please let me know! The tools I'm using for RE are Ghidra, PCSX2, and Cheat Engine.

aaro4130
MM2X Super Active User
MM2X Super Active User
Posts: 2405
Registered for: 15 years 10 months
Location: Canada
Been thanked: 1 time

Re: Any experienced reverse engineers here? Any who also like Smuggler's Run 2?

Postby aaro4130 » Fri Aug 05, 2022 2:45 pm

There have been reverse engineering efforts in the past, yes.

In recent years I've essentially recreated the game engine in C#, running atop Unity, but it natively loads the Angel Game Engine files
viewtopic.php?t=5550&start=345#p112048

There's also mm2hook for MM2, which is a C++ project that hooks into, and rewrites parts of MM2 natively
https://github.com/Fireboyd78/mm2hook
[img]https://i61.tinypic.com/25zrngo.jpg[/img][color=white]
- Most creative active member
- Most smart active member
- Best MM2 innovation of the year
- Best programmer

[img]https://i60.tinypic.com/2m4c2h5.jpg[/img]
- Most helpful active member[/color]

stinkee2
MM2X Newbie
MM2X Newbie
Posts: 3
Registered for: 1 year 7 months

Re: Any experienced reverse engineers here? Any who also like Smuggler's Run 2?

Postby stinkee2 » Fri Aug 05, 2022 6:52 pm

Hey that's cool! Did you make the source code public?

I've seen mm2hook, I referenced it a little bit a couple years ago for some of the class hierarchy they've found. I wish I could do something like that for PCSX2. I've already added a GDB stub to PCSX2, I wonder if I could also extend it to let me override function calls with my own without slowing performance to a halt

aaro4130
MM2X Super Active User
MM2X Super Active User
Posts: 2405
Registered for: 15 years 10 months
Location: Canada
Been thanked: 1 time

Re: Any experienced reverse engineers here? Any who also like Smuggler's Run 2?

Postby aaro4130 » Fri Aug 05, 2022 9:00 pm

The source code never ended up being public , it's a bit of a mess, as you can imagine a single person rewriting a whole game+engine would get sloppy :P

If you have Discord, there's an invite link somewhere on this forum where there's an mm2hook-dev channel, and a channel for general Angel Game Engine games where you could show your stuff ;)
[img]https://i61.tinypic.com/25zrngo.jpg[/img][color=white]
- Most creative active member
- Most smart active member
- Best MM2 innovation of the year
- Best programmer

[img]https://i60.tinypic.com/2m4c2h5.jpg[/img]
- Most helpful active member[/color]

stinkee2
MM2X Newbie
MM2X Newbie
Posts: 3
Registered for: 1 year 7 months

Re: Any experienced reverse engineers here? Any who also like Smuggler's Run 2?

Postby stinkee2 » Fri Aug 05, 2022 9:27 pm

Yes indeed I can imagine, lol. I've been there many times... The worst part I think is that when it's just one person there's no drive to document code. If it were messy but documented then at least someone else could find their way around. In the past few years I've been trying to fight the urge to devolve into writing spaghetti code.

Thanks for the tip, that sounds like just the place I've been looking for. I'll see if I can find that link

Jeremiahjobling
MM2X Occasional User
MM2X Occasional User
Posts: 319
Registered for: 12 years 2 months
Location: London
Been thanked: 2 times
Great Britain

Re: Any experienced reverse engineers here? Any who also like Smuggler's Run 2?

Postby Jeremiahjobling » Sat Aug 06, 2022 12:40 am

The link is also here in case you can't find it: https://discord.com/invite/hFsM2WVThW
Dubai = Supercarland

When it comes to normal street driving, any car is as good as good as any other. Only the racetrack can truly separate the cars' abilities.

--

In my opinion, BlameTruth is the Jeremy Clarkson of gamers and gameplay video commentators on the internet. You can follow him on Twitter here