09-08-2008, 10:28 AM | #1 |
Avatar
Join Date: December 9, 2007
Posts: 594
|
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.) |
09-10-2008, 10:09 AM | #2 |
Avatar
Join Date: December 9, 2007
Posts: 594
|
Re: Editing Save Game Files
Why hex edit save games? One good reason is to fix mistakes, your own or the designers’.
In Stone Prophet, in the one dungeon, the Harvest Temple, there should be a Shadow to kill but it is nowhere to be found. Here there are only two main monster types: Sand Mephits and Desert Zombies. Perusing the npcs.dat file yields numbers for these monster types: Desert Zombies are type 6 while Sand Mephits are type 20. Every time you enter a new zone, a new lev###.dat file is created in your save game file. Entering the Temple causes a new file to appear: lev012.dat. Now this file is 25,142 bytes, where in this file are the monster records? One approach is to screen out all numbers except 6 and 20. Here I use a vlookup to do this, every number except 6 and 20 is assigned a reference value of “-”. There are still quite a few occurences of 6 and 20. so I look for an area where the two numbers recur regularly and in a definite pattern. This starts at place 5,622. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Decrypting Save Game Files | Shadow Stranger | Wizards & Warriors Forum | 12 | 01-28-2014 08:56 AM |
Help! Editing movie files | Horatio | General Conversation Archives (11/2000 - 01/2005) | 6 | 01-28-2003 04:40 PM |
since im here, a ? about save game files | Darc_Mind | Baldurs Gate II: Shadows of Amn & Throne of Bhaal | 3 | 03-08-2002 05:37 AM |
Restoring my save game files??? | frostg1ant | Wizards & Warriors Forum | 3 | 10-27-2001 05:28 PM |
Editing the Infinity Game Files | joetbd | Baldurs Gate II Archives | 0 | 06-07-2001 10:05 AM |