Skip to content

SavePointList

Super Hackio edited this page Apr 4, 2023 · 1 revision

SavePointList.bcsv is a BCSV inside /ObjectData/SystemDataTable.arc. It's purpose is to control where you go when you load your save file.

Field Name Data Type Description
id BYTE The ID of this Save point. This is what gets saved to your save file on your Wii/SD Card. Each entry needs a unique value.
EntireLevelFlag BYTE Indicates if this entry can be activated anywhere in the provided galaxy.

The remaining BCSV fields are the same ones that the ChangeSceneListInfo uses, so read up on that for more information.

This BCSV also supports full Progress Checks, which let you enable/disable saving at these locations.

How it works:

You can save using "Save and Quit" in the Pause Menu (if it's enabled), or automatically when collecting a star.

There are two different types of Save Points, "Local" and "Global".

To save at a local save point, the player and BCSV must meet the following conditions:

  • The GalaxyName must match the current stage name.
  • The ScenarioNo must match the current scenario. Why can't I use -1?
  • The ZoneName must match the name of the zone that the current respawn point is located in.
  • The MarioNo must match the ID of the start position the current respawn point is set to.
  • The EntireLevelFlag must be disabled (set to 0).

To save at a global save point, the player and BCSV must meet the following conditions:

  • The GalaxyName must match the current stage name.
  • The ScenarioNo must match the current scenario. Why can't I use -1?
  • The EntireLevelFlag must be enabled (set to 1).

If none of the above conditions are met based on each type, then the Save Point is not updated. The previous Save Point will remain in the file instead.
The game will still save normally otherwise so you don't need to fear it not saving at all.

When you load your file from the File Select, or Game Over (without having an OnGameOver setup), this file is referenced, as it tells the game where to send you.

Note: You are REQUIRED to have at least ONE entry with an id of "0", as 0 is where the game will send you when you start a brand new save file. If this is not present, the game will either crash, or (if you're lucky) just restart the File Select.

Why can't I use -1?

SavePointList.bcsv is used for where you should go as well as where you can save. If we were to apply the common logic of "-1 is valid everywhere" then you would always spawn at the Scenario Select of the galaxy. Thus, the code does not support the use of -1 in this situation.

Clone this wiki locally