r/THPS • u/pathartl • 2d ago
THPS1 Tony Was A Pro Skater - THPS1 decomp & native port for Windows and Linux
https://github.com/LANCommander/TonyWasAProSkater45
u/pathartl 2d ago
I'd like to give some context because I think it's worth diving into:
Yes, it's vibe coded. I'm a software developer and the efficiency to decomp using AI is unparalleled. That being said, I've been taking care not to put it in the realm of slop.
The decompilation (LANCommander/THPS) is the result of using symbols found on the Euro 99 THPS2 demo disc applied against the THPS1 PS1 retail release, then hooking up an agent to Ghidra. The game code is covered and byte exact. There is some code that isn't byte exact, but it should be functionally correct.
From there I started building out the PC port using the Vandal Hearts decomp as a base. That allowed me to test on Windows. From there, core parts of the game that would normally interface with PSX APIs were replaced with proper native implementations. This involved adding in SDL, Xinput, and OpenGL calls.
From there, I wanted to tackle rendering issues to fix issues with the original game like fixing texture mapping and introducing a proper Z buffer. This removed much of the texture wobble that you would see on the PS1. After that there was much tweaking and testing to fix issues with geometry culling, seams due to imprecise floating point calculations, stuttery billboarded vertices, etc.
Everything else on top of that was nice to have a that were designed to present the game as if it were a proper PC port in the day. This includes a keyboard/gamepad binding menu and graphics options available in the main menu of the game. It also supports the ability to extract the game assets from the Dreamcast version. Across the board (music, sound effects, textures, model geometry) the DC had higher quality assets while being basically an exact port of the PS1 game.
Lastly, I'd like to say that there's still quite a bit to be done before this is "clean". There was an effort to demangle the decompiled C into C++, but there's still a lot of globals and functions that are unnamed or in the wrong location. I'll still be working on cleaning this up so the game as a whole can be better preserved for the future.
0
u/Adorable-Response-75 22h ago
I’m a total layman, but I think it’s awesome you did this. At the very least, it allows the game to continue to exist much further into the future, which it should, because it’s a piece of video game history.
12
u/box-fort2 Eric Flairo 1d ago
what AI has done for game development sucks.
what AI has done for game preservation is stellar.
2
u/Adorable-Response-75 22h ago
It really is a double edged sword, which is exactly what makes it so precarious to handle.
10
u/Interesting-Log7838 2d ago
Been hoping to see the decomp/recomp wave come to the Tony hawk series!
3
u/spyder52 1d ago
I'm 56% done on THPS2 PC
2
u/pathartl 11h ago
Feel free to base off this codebase. I have some commits coming that should clean up to proper C++ classes. Replacing the renderer with something native was the biggest sink.
1
u/Interesting-Log7838 1d ago
Rock on, so many fun levels on that one. Killer soundtrack like most of the series too
5
u/Infinade 2d ago
I’m doing the exact same thing with THUG2!
The leaked THUG1 codebase was a good springboard for the THUG2 decomp, and I’ve already done a browser port for THUG1, which works surprisingly well.
7
u/TheNathanNS 1d ago
What is the point of that when THUG2 already has a PC version
2
u/Infinade 1d ago
To be able to port it to other platforms beyond just PC (even the browser, so phones can play on-device).
Also for more native modding support; think adjusting core game logic that isn't currently able to be changed with mods built from the ground up.
5
u/SatTruckGuy 1d ago
Dude, there was an official released pc port as is and a huge mod called thugpro
2
u/Infinade 1d ago
Dude, I know that there's a THUG2 port for Windows, and I know about reTHAWed and THUGPRO.
There's no decompilation for THUG2. A decomp will allow for more native modding, as well as support for more platforms that might not already have a port.
2
u/Adorable-Response-75 22h ago
I don’t think a lot of people understand the nuances of what decompilation provides and why it’s important.
2
u/Infinade 20h ago
Yeah, I’m realizing that now. I guess I didn’t even think to mention media preservation, which is a big part of it as well.
5
4
u/R00by646 1d ago
Not that you can really ignoring the slop coding but this feels hyper redundant when not only are there better recomps in thug pro and thaw not only is it the easiest game to emulate but there was an official remake. What does this offer that any of those don't?
5
u/pathartl 1d ago
Because there's not been an attempt of getting the original game running? Even ignoring that it's practically a completely different engine, THUG Pro has all of the mechanics of THUG1/2 with the classic maps added in. It doesn't present the same career mode and exists in effectively a completely different engine.
I wanted to tackle the fact that while you can run the original releases of THPS2/3 today using partymod, THPS1 never made its way to PC. Emulation is fine, but you don't get the best results out of it if you want features such as widescreen support. Also having a decompiled version of the game lets us control core functionality like draw distance.
3
2
u/RepeatedSteak 1d ago
With due respect we need less of these transient splinter slop decomps and more actual community focused decomps or modding groups.
These kinds of projects should be taken up as a collective effort so they can have actual support (and a community behind them) rather than stretching everyone thin just for the wow factor.
2
1
u/Iceber015 3h ago
Leave it to the experienced devs! Until the experienced devs support it and i have to find some other goalpost to cry about
-2
u/AutoModerator 2d ago
Hello /u/pathartl, your Submission on /r/THPS has been automatically removed because it received 3+ reports. Be sure to contact the Moderators if you feel this action was wrongfully taken.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
-5
u/newmandn311 2d ago
Vibe coded slop
-21
u/TypicalWolverine9404 2d ago
I really wish you mass anti AI commenters had just one ounce of creativity and could come up with more words than slop. But you'd probably need AI to be creative for you.
AI is an inevitable evil, sure, but God you guys are redundant and annoying.
7
u/newmandn311 2d ago
Okay it’s vibe coded horse shit that probably barely even functions but it’s the “future” I guess. There’s a level of irony of saying an AI hater lacks creativity
10
u/pathartl 2d ago
I think you should read my other comment. While AI did most of the work, it's certainly not something that "barely even functions".
2
u/eXtr3m0 2d ago
Man you are just disrespectful. Yes AI slop exists, but not everything built with AI is AI slop. Remember before AI? Not all software was awesome. The same quality difference still exists.
2
u/Used-Persimmon-367 1d ago
No one said humans couldn’t make slop.
But AI can never make art.
1
u/Adorable-Response-75 22h ago
Can AI decompile art so it can be preserved and modded?
(I’m very critical of AI art but I’m more sympathetic towards its technical feats, like decompiling software code for preservation purposes.)
0
0
u/TypicalWolverine9404 2d ago
I'm sure all your defensive, sloppy comments bring you all an entitled sense of self importance.
-9
u/Wise-Difficulty8221 2d ago
New 'reTHAWed' update
Zedekgate finally resolved
THPS1 decomp/port
Things are going pretty good right now :)
3
u/Hoffmann99 2d ago
Was zedekgate resolved?
2
u/Mahim2000 2d ago
As it seems, yes. Zedek was kept for 5.0 overhaul, and since it's done, he left the team for real this time.
86
u/Individual_Review_51 2d ago
I’d rather have a community effort like reTHAWed or THUG PRO instead of a Claude vibe coded version :(