SaveMgr: Difference between revisions
imported>Leoetlino |
imported>Leoetlino No edit summary |
||
Line 7: | Line 7: | ||
SaveMgr can only load up to 0x20 files<ref>SaveMgr code: 0x7100E0EE50</ref>. | SaveMgr can only load up to 0x20 files<ref>SaveMgr code: 0x7100E0EE50</ref>. | ||
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"<ref>Bgsvdata resource code: 0x710127B060</ref>. | 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"<ref>Bgsvdata resource code: 0x710127B060</ref>. 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<ref>0x7100E0F22C</ref> in all previously loaded resources. | 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<ref>0x7100E0F22C</ref> in all previously loaded resources. |
Revision as of 17:02, 16 March 2019
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 |
This article is a stub. You can help ZeldaMods (Breath of the Wild) by expanding it. (For a list of non-stub pages, see Project:Pages.) |
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].