Been doing a fun new reverse engineering project: Figuring out the file formats of the 1999 Windows/PS1 game Attack of the Saucerman.
-
Been doing a fun new reverse engineering project: Figuring out the file formats of the 1999 Windows/PS1 game Attack of the Saucerman. It's the first time I'm doing this on a 3D game. I'm now at a point where I can partially display the levels, and extract most of the assets:
https://github.com/lethal-guitar/SaucerMapViewerI already made an attempt many many years ago, but was only armed with a hex editor at the time and couldn't make any sense of the data. (cont.)
-
Niko (lethal_guitar)replied to Niko (lethal_guitar) last edited by
This time, I started by disassembling the EXE using Ida, and was able to identify the overall structure of the files. Once I knew how the level files are laid out, I was then able to make targeted changes and observe the result when running the game, which helped fill in most of the gaps, alongside more disassembly. What also helped a ton was a good number of debug log strings left in the code by the devs. (cont.)
-
Niko (lethal_guitar)replied to Niko (lethal_guitar) last edited by
It even still calls the OutputDebugString API, so when you run the game with a debugger attached, you can see all these log messages!
Here's a selection of some funny messages:
"You madman! You're running a 24-bit desktop! It'll be slow.."
"Created Too Many Models! TALK TOO [sic] TIM NOW!!!"I'll probably put this on pause for a little bit, but intend to continue at some point - I'd like to at least get 3D models displaying in the level viewer, and ideally figure out the lighting system.
-
Foone🏳️⚧️replied to Niko (lethal_guitar) last edited by
@lethal_guitar very cool!