Skip to content

IsaacSaveManager - v2.1.0

Compare
Choose a tag to compare
@BenevolusGoat BenevolusGoat released this 05 Aug 17:09
· 28 commits to main since this release

IsaacSaveManager - v2.1.0

Some additions and tweaks after having some time to test out many of the manager's features myself to be more flexible.

Additions:

  • Add SaveManager.TryGetRun/Floor/RoomFloor/RoomSave(), where data will not be automatically created if it does not exist. Good for checking if data exists without unnecessarily creating data for everything.
  • Add POST_DATA_SAVE and PRE_DATA_LOAD custom callbacks.
  • If REPENTOGON is enabled, data can now be loaded when selecting a save file on the main menu. It's recommended to use the POST_DATA_LOAD callback for loading arbitrary save data so that your data is properly loaded per-save file.
  • Added region comments inside the manager so that sections are collapsible.

Changes

  • Change NoRerollSave to be the save that is reset instead of RerollSave for pickups when a pickup is rerolled. Think of it as RerollSave is the "Reroll persistent save" and NoRerollSave as "Not Reroll persistent save"
  • All internal callbacks now use AddPriorityCallback instead of AddCallback. Loading data has an earlier priority while saving data has a later priority.
  • The manager's PRE_GAME_EXIT callback now takes advantage of the "ShouldSave" argument. If exiting a game should not create a continuable save (such as when ending a run), all game data will be cleared out as if you were starting a new game. This of course does not affect arbitrary file data.

Fixes

  • Fix slot data not initializing if REPENTOGON isn't enabled.
  • Removed any loose print statements.
  • roomFloor save data created within rooms from the goto command are treated like room saves, appropriately being removed when exiting the room.