Due to Microsoft shutting down Games for Windows Live (I wish they did it right after they launched and spared everybody the headache), Batman Arkham City has been retooled for Steamworks. This is great, but Batman AC no longer recognizes my save. How can I take my old saves into the bright new era of Steam DRM?
It seems that it's a bit of a kerfuffle.
A forum post that Google found seems to have a solution, though it requires use of a Hex editor. According to that forum post, the solution is to:
- Open the file in your hex editor and go to position
0x0184(a list of Hex editors that may suit your needs)
- Delete everything prior to that location
- Overwrite the save (you made a backup first, right?)
<profilename>from the save file, if you have it.
- Open the game once, start a new game on the save slot where your game was saved in
- Make sure the game saves at least once
- Quit the game
C:\Program Files (x86)\Steam\userdata\<userid>\200260\
C:\Program Files (x86)\Steam\userdata\<userid>\200260\remote
- Start the game and STOP on the loader. Do not click START GAME on the loader.
sage0.gsdwith your hexedited save file from before
- Start the game
- Start a new game and make sure the game autosaves, then quit the game.
- Open your Steam folder and navigate to
userdata\######\xxxxx\remote, where ###### is your Steam ID and xxxxx is either 200260, 57400 or 57419 (depending on which edition of the game you have), and make a copy of your save, named
yyyyy-save0.sgd, where yyyyy is your nickname.
- Download XVI32 or use a different hex editor of your choice.
- Open the copied file with XVI32.
- In the menu, do
Address -> Go to..., make sure the mode is set to decimal, enter 407 in the input box and hit OK.
- In the menu, do
Edit -> Delete to cursor.
- Save the edited file.
- Replace the
save0.sgdfile with the edited save.
- Navigate to the parent directory and delete
- Disable Steam Cloud sync for the game and start. If the save works, exit the game, re-enable Steam Cloud sync and start again, choosing to overwrite cloud saves with local saves if prompted to. If the game does not work, delete the copied save and start again.
If the game considers the savegame to be corrupt, you may need to delete a different number of bytes in step 5. To calculate how many bytes need to be deleted, compare the size of your copied save and the save you created in step 1 as so: right-click both saves individually and hit properties, then subtract the size of the new save in bytes from the size of the old save in bytes. After you have the difference, subtract 1 from it and use it instead of 407 in step 5.
I figured it out, the position of where the required save-game data starts is dynamic. But you have to find 0000 0003 0000 0001. The save file should be starting from exactly that offset. I made the mistake to simply zero out all the previous contents, but "delete" here really means removing the whole section up to the above given byte range. Here is the complete answer (including the answer for Arkam Asylum): http://steamcommunity.com/app/200260/discussions/0/810938810549705289/