SaveMgr

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
SaveMgr
Subsystem
Official name Yes
Description Loads game data into GameDataMgr or writes it to saves.
Init function Switch 1.5.0: 0000007100E03214
Wii U 1.5.0: ???
Debug only No


savedataformat loading

Similarly to GameDataMgr, SaveMgr loads every file that is in the savedataformat archive and assumes it is a bgsvdata resource[1]. The file name does not matter.

SaveMgr can only load up to 0x20 files[2].

For each file, one Bgsvdata resource object is created and save information is loaded from the resource. SaveMgr only supports a single file entry in the "file_list"[3]. The HashValue is ignored; the game always uses CRC32(DataName).

After all resources have been loaded, a different Bgsvdata resource object is created and internally populated with N file entries, where N is the number of distinct file_name values[4] in all previously loaded resources.

The flag array for each file in that Bgsvdata object is then sorted[5][6][7][8][check].

  1. SaveMgr code: 0x7100E0EE24
  2. SaveMgr code: 0x7100E0EE50
  3. Bgsvdata resource code: 0x710127B060
  4. 0x7100E0F22C
  5. 0x7100E0F270
  6. 0x710127B664
  7. 0x710127B6D4
  8. 0x710127BB5C