Changes

→‎Specialised: add new load stages in SMAPI 3.9.3 (CreatedInitialLocations, SaveAddedLocations, and ReturningToTitle)
Line 689: Line 689:     
* <code>None</code>: a save is not loaded or loading. (For example, the player is on the title screen.)
 
* <code>None</code>: a save is not loaded or loading. (For example, the player is on the title screen.)
* <code>CreatedBasicInfo</code>: the game is creating a new save slot, and has initialised the basic save info.
+
* When creating a new save slot:
* <code>CreatedLocations</code>: the game is creating a new save slot, and has initialised the in-game locations.
+
** <code>CreatedBasicInfo</code>: the game has initialised the basic save info.
* <code>CreatedSaveFile</code>: the game is creating a new save slot, and has created the physical save files.
+
** <code>CreatedInitialLocations</code>: the game has added the location instances, but hasn't fully initialized them yet.
* <code>SaveParsed</code>: the game is loading a save slot, and has read the raw save data into <tt>StardewValley.SaveGame.loaded</tt>. Not applicable when connecting to a multiplayer host. This is equivalent to <tt>StardewValley.SaveGame.getLoadEnumerator</tt> value 20.
+
** <code>CreatedLocations</code>: the game has initialised the in-game locations.
* <code>SaveLoadedBasicInfo</code>: the game is loading a save slot, and has applied the basic save info (including player data). Not applicable when connecting to a multiplayer host. Note that some basic info (like daily luck) is not initialised at this point. This is equivalent to <tt>StardewValley.SaveGame.getLoadEnumerator</tt> value 36.
+
** <code>CreatedSaveFile</code>: the game has created the physical save files.
* <code>SaveLoadedLocations</code>: the game is loading a save slot, and has applied the in-game location data. Not applicable when connecting to a multiplayer host. This is equivalent to <tt>StardewValley.SaveGame.getLoadEnumerator</tt> value 50.
+
* When loading an existing save slot:
 +
** <code>SaveParsed</code>: the game has read the raw save data into <tt>StardewValley.SaveGame.loaded</tt>. Not applicable when connecting to a multiplayer host. This is equivalent to <tt>StardewValley.SaveGame.getLoadEnumerator</tt> value 20.
 +
** <code>SaveLoadedBasicInfo</code>: the game has applied the basic save info (including player data). Not applicable when connecting to a multiplayer host. Note that some basic info (like daily luck) is not initialised at this point. This is equivalent to <tt>StardewValley.SaveGame.getLoadEnumerator</tt> value 36.
 +
** <code>SaveAddedLocations</code>: the game has added the location instances to the game, but hasn't restored their save data yet.
 +
** <code>SaveLoadedLocations</code>: the game has restored the in-game location data. Not applicable when connecting to a multiplayer host. This is equivalent to <tt>StardewValley.SaveGame.getLoadEnumerator</tt> value 50.
 
* <code>Preloaded</code>: the final metadata has been loaded from the save file. This happens before the game applies problem fixes, checks for achievements, starts music, etc. Not applicable when connecting to a multiplayer host.
 
* <code>Preloaded</code>: the final metadata has been loaded from the save file. This happens before the game applies problem fixes, checks for achievements, starts music, etc. Not applicable when connecting to a multiplayer host.
 
* <code>Loaded</code>: the save is fully loaded, but the world may not be fully initialised yet.
 
* <code>Loaded</code>: the save is fully loaded, but the world may not be fully initialised yet.
 
* <code>Ready</code>: the save is fully loaded, the world has been initialised, and [[Modding:Modder Guide/APIs/Utilities#Context|<tt>Context.IsWorldReady</tt>]] is now true.
 
* <code>Ready</code>: the save is fully loaded, the world has been initialised, and [[Modding:Modder Guide/APIs/Utilities#Context|<tt>Context.IsWorldReady</tt>]] is now true.
 +
* <code>ReturningToTitle</code>: The game is exiting the loaded save and returning to the title screen. This happens before it returns to title; the stage ''after'' it returns to title is <code>None</code>.
    
  |arg name 2 = <tt>e.OldStage</tt>
 
  |arg name 2 = <tt>e.OldStage</tt>
translators
8,446

edits