Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

wow, this is amazing. every once in a while i chip away at a project of mine to reverse engineer the playstation 2 game "007 agent under fire," because i have a lot of nostalgia for that game. maybe im just really bad at RE but i have found it incredibly difficult to make any progress.

some of the game data is not compressed. i was able to extract all of that in a single afternoon with a tool i wrote from scratch in C -- trivial stuff. but that was just audio and video files and other things -- the interesting data, maps and models, is compressed.

maybe i should have guessed which compression algorithm they are using and tried to decompress it with that. but i decided to start out by loading the games code into ghidra and finding the algorithms in there. while i have made a lot of progress, the task overwhelms me. its a sea of nonsense.

so then i tried to load the game up in an emulator and then get the uncompressed data from the virtual ps2 memory. that worked and i am able to edit the memory in real time. with that setup i tried just poking around, changing individual bytes, hoping that i would stumble across a vertex of something i was looking at. that worked actually. so as it stands i have vertex data but i still have to figure out the layout and then write something to extract that data and then translate into something i can use.

but this isnt ideal because there are some things that might have never been put into a level but are nonetheless on the disk. and there are other data that might be lost between the disk and memory.

i love zanarkand from FFX. i think its one of the most aesthetically pleasing settings in any videogame.

https://noclip.website/#ffx/014;ShareData=AMwnv9fi/38AMV_9u4...

edit: wow, how did i not find this until now? looks like im not the only one having some trouble.

https://forum.xentax.com/viewtopic.php?t=22213



I'm hoping to have the FFX particle system (mostly) implemented soon, which will make a big difference. If you join the discord, I'd be happy to help give you some help with that process. Compression algorithms themselves are often standard, but the underlying data formats can be more involved.


The Zanarkand brings back so much memories I've spent hundreds of hours with


These level designs for FFX are SO TRICKY. I never realized just how carefully constructed for the camera each map was.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: