Learn how to view and edit your save.
Locating your save file
At least on Windows, you can find your save file in the installation folder for the game. The full path depends on where you installed Steam or the game, but from the Steam directory it should be here:
Steam\steamapps\common\CSSecretSanta\secret_santa.dat
Opening and saving your save file
tl;dr: Save files are just a Base64 encoded JSON.
You should quit the game before doing this. Any changes you make will not apply if you don’t restart the game.
I wholeheartedly encourage you to get all achievements by playing the game as intended, rather than resorting to save editing. Remember: cheated cookies taste awful!
While the .dat extension might lead some to believe the file contains binary data, it’s actually plaintext. However, if you try opening it in a program like Notepad, you’ll be greeted by a jumble of letters and numbers. Something like this:
eyJtX1N0YWdlSW5mbyI6W3sibV9OYW1lIjoiU1RBR0VfTkFNRV9TQU5UQVNfSE9VU0UiLCJtX0lzD... ...you get the point.
That’s because the save file is Base64 encoded. You’ll need to use a tool that can decode Base64 to transform it into something usable. You can easily find a decoder by typing something like ‘base64 decode’ into your search engine of choice.
After decoding it, you will end up with something more readable, but pretty cramped. Something like this:
{"m_StageInfo":[{"m_Name":"STAGE_NAME_SANTAS_HOUSE","m_IsComplete":true,"m_Time":,... ...you get the point.
This is a minified JSON file. While you could start reading and editing it as is, it would be more convenient if you prettified/formatted it first. You can also search for a tool that does this. The end result is the exact same JSON file, but presented in a much more appealing way. Something like this:
{ "m_StageInfo": [ { "m_Name": "STAGE_NAME_SANTAS_HOUSE", "m_IsComplete": true, "m_Time": "0:16", "m_Bonus": "NONE", "m_Index": 2 }, { "m_Name": "STAGE_NAME_MALCOS_HOUSE", "m_IsComplete": true, "m_Time": "0:17", "m_Bonus": "NONE", "m_Index": 17 }, ...etc etc.
At this point, you can start reading the save file’s content and make guesses as to what’s what. You can start modifying it as well, if you wish. Read the next section of the guide for a description of each part of the save file.
If you did any modifications to your save, you will now need to apply all the steps to opening the file in reverse in order to save it and see it applied in-game. This consists of:
- Minifying the JSON file. You can also search for a tool that does this. I don’t think it’s strictly necessary to do this, but I recommend doing it anyways.
- Encoding it to Base64. Usually, any tool that can decode Base64 will also have a complimentary utility to encode to Base64.
- Replacing the contents of secret_santa.dat with the Base64 encoded text and saving it.
Afterwards, you should be able to start the game up and select ‘CONTINUE’ to load up the save along any changes you’ve made!
Save file contents
The following are descriptions of what each part of the save file means.
Name | Description |
---|---|
m_StageInfo | This is a list of any stages you’ve played through, with information for each one. You can find more info about them on the ‘Stage data’ section below |
m_Location | This is a number corresponding to the spot on the map on which you will spawn when you load your game. It could be the m_Index of a stage, or another number. For example, Jenka’s House is number 16. |
m_Language | The language your game is set to. 0 for English, 1 for Japanese. |
m_Violence | How many patrols you have womped. |
m_Caught | How many times you’ve been caught. |
m_Minimap | Whether you have found the Map System. You can find it somewhere in the Shack. It displays a minimap of the current area, akin to the original game, when paused on the map screen. Can be ‘true’ or ‘false’. Thanks to cubee – [steamcommunity.com] for the info! |
m_Effects | Whether you have the extra visual effects turned on. Can be ‘true’ or ‘false’. |
Stage data
The following are found for each stage listed in m_StageInfo.
Name | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
m_Name | The internal name for the stage. Can be one of the following:
| ||||||||||||||||||||||||||||||||||||||||
m_IsComplete | Whether the stage has been completed. Can be ‘true’ or ‘false’. | ||||||||||||||||||||||||||||||||||||||||
m_Time | Either your best time or latest time when beating a stage, I’m not sure. Stored as a string in the format %-M:%S / m:ss / (minutes):(zero-padded seconds). Examples: “1:03” or “0:35”. | ||||||||||||||||||||||||||||||||||||||||
m_Bonus | The bonus you collected on the stage. Can be “NONE” if you didn’t collect anything or “Cookies!”/”クッキー!” if you collected the milk and cookies in the stage. Whether the cookie text is in English or Japanese depends on the language you are playing on. | ||||||||||||||||||||||||||||||||||||||||
m_Index | A number unique to each stage, corresponding to a position on the map, not the order they are played in. The default numbers for each stage are as follows:
|
This is all we can share for Save Editing – Cave Story’s Secret Santa for today. I hope you enjoy the guide! If you have anything to add to this guide or we forget something please let us know via comment! We check each comment! Don’t forget to check SteamClue.com for MORE!
- All Cave Story's Secret Santa Posts List
Leave a Reply