View Single Post
Old 09-08-2008, 10:28 AM   #1
Shadow Stranger
Avatar
 

Join Date: December 9, 2007
Posts: 594
Default Editing Save Game Files

If a game has a save game editor then use that. Most of the main games on these boards have them. If there is no such editor then you will need to hex – edit the save game files. Following notes are for a Windows system.

These notes will deal with decrypting the SSI 3D game Ravenloft: Stone Prophet in particular. I will also try to generalize them into decrypting any game. With SSI D&D games the pregenerated parties and the NPCs usually left a lot to be desired. The ability to edit them is useful.

Things to try
First test for hot keys, press every key on the board. Then try with Caps Lock toggled on.
When party is on a given square, is there any way to learn the coordinates?
When playing MS Dos games, Print Screen works quite well in windowed mode. Quite useless in full screen mode though.
Get any clue books.
Start opening files in hex editors.
MS Dos Edit allows the opening of files, with a predetermined number of bytes per line. If there are 65 bytes in the record of each item, open the relevant file with Open Binary checked and Line Width set to 65. This will enable you to learn what number each item has.
I created a map of a level using the automap information, a spreadsheet and the Blades of Exile (by Spiderweb Software) scenario editor. (Automap is basic stuff, doesn’t show much but it does show the coordinates of each square.)
What does a number do? Alter it and see what happens, if the game does not crash.

Generally, if you want to import data from a file into an Excel spreadsheet:
If the data has a constant N bytes per line, find a hex editor that exports data with the number of bytes per line that you select. Most don’t have this ability.
One that does is the Java based Data Workshop
http://www.dataworkshop.de
If the number N has at least one divisor less than or equal to twenty:
http://catch22.net/software/hexedit
(Say we want 65 bytes per line, now 65 = 5*13. In this case, export the data at thirteen bytes per line. Now assign each line a number, then find the remainder of that number when it is divided by 5. Then filter the data so that only the one remainder shows at a time, starting with remainder 0. Copy and paste the lines across the page, one remainder at a time.)
Shadow Stranger is offline   Reply With Quote