Fixing Prism Ark’s Choices with Simple Code Injection

This is actually the title screen I have since I was mucking around with images to figure out the file format.

Prism Ark has been a project that’s been on and off a few times, being translated by Aroduc. Part of the reason for the ‘off’ parts was because of technical issues, things I wasn’t able to or didn’t have time to fix. I take a lot of the blame, it’s easy to have too many things to do and not have time to dedicate on some projects. Part of the reason though is that some of the work required was beyond my technical understanding. Fixing technical problems are hard when you don’t know how to do so.

The main issue is that unlike past technical issues I tackled on other games, which I sort of fudged my way past with IdaPro and a hex editor, this game definately required the ability to modify or rewrite some of the code in order to make it work. I procrastinated a lot, to the point where I’m not sure if Aroduc has just completely given up and dropped the project or not. Still, I wanted to make good on my promise to fix the remaining technical issues, even if the project no longer is moving forward.

The breakthrough came when I got SVN access to the Rance VI project. SLC, the programmer involved in the project, performed a series of elaborate changes to the game in order to upgrade the game for the English release, and I was able to see how it worked. I used that as a starting point to try to understand how to do changes directly to a games code. I experimented, and eventually came to an understanding of how it works on a simple level.

This post is a tutorial of sorts, explaining how to do the changes to fix a text related issue on the game. Some of the terminology and methodology might be rough, since I’m just learning as I go, but I hope that this might be helpful in getting someone pointed in the right direction. Read more of this post