For education purposes only · no game files included · bring your own THUG2
The story so far

How THUG turned into THUG2

A year after Tony Hawk's Underground, Neversoft shipped the sequel on the same engine: same file extensions, same version numbers, same everything, until you actually load something. This is the story of taking a working THUG1 port and feeding it THUG2 until it stopped spitting it back out. Told commit by commit, in order, with the code that did it and the dumb things that happened on the way.

Ground rulesEvery chapter is one commit. The hash on the sticker is real, the code is real, the bugs were real (and some of them were mine). New chapters show up as the port moves on.

Cast

WhoRole
THUG1's engineThe hero. Rewritten on SDL2 and OpenGL for the THUG1 port, now asked to run a game it has never met.
THUG2's Data folderThe guest. Scripts, levels, animations and fonts, mostly familiar, occasionally from another planet.
THUG2.exeThe oracle. No source, but a disassembler answers any question you ask it twice.
The logThe narrator. Every function THUG2 calls and THUG1 doesn't have shows up as THUG2 MISSING.
The test hookThe stunt double. Presses keys, takes screenshots, saves games, so nobody has to.
thug2onlineThe new kid. A Go service doing GameSpy's old job for THUG2, so the menus have someone to talk to.