Save Files
Handling game’s running and closed state, and simulation of save files:
savecommand saves to the manual save slot.save-as file-namecommand saves to a named save slot. You can later reload this save by its name. This is used to simulate auto-saves, but you can have unlimited number of them.reloadcommand reloads a manual or named save.new-gamereloads an imaginary save with the state of a new game.close-gamecloses the game.
Syntax
save
save-as FILE-NAME
reload
reload FILE-NAME
close-game
new-game
FILE-NAME can either be the same format as item identifier (like-this, or with _
instead of -), or a quoted string. Spaces and non-alphabetical characters are also
allowed in quoted names, like "Outside of Shrine" or "神庙外".
Example
# Save to the manual save slot
save
# Save to a named save called `my-save`
save-as my-save
# Reload the manual save
reload
# Reload a named save
reload my-save
Inspecting Save Files in the App
Amongst other things, a save file for the game includes a copy of savable flags in GameData, which contains the items in the save. Therefore, the simulator displays save files similar to how it displays GameData.
Using the Save Files extension, you will see a list of save names available at the
current step in the simulation. Clicking on a save will then display the items in that save.
Note that you can inspect saves even on steps where the game isn’t open.
New Game and Restarting the Game
The reload and new-game are the only 2 commands that can
restart the game after it’s closed, either due to crash or was manually closed.
Currently, new-game is implemented as reloading an imaginary save
made at new game. The implementation is as follows:
| Game State | Action | Implementation |
|---|---|---|
| Running | reload | Reload the save |
| Running | new-game | Reload the “new game” save |
| Closed | reload | Start a new game, then reload the save |
| Closed | new-game | Start a new game |
This is not 100% accurate to what the game does, but should be close enough.
Simulating the System menu
save (and save-as if in inventory) will currently automatically unhold
the currently held items, similar to how the game does that when you switch to the System menu.
Detail
saverequiresInventoryscreen.save-ascan be performed in eitherInventoryorOverworld.reloadrequiresInventoryscreen if the game is running.new-gameis similar, see implementation detail above.