SaveMgr: Difference between revisions

imported>Leoetlino
No edit summary
NiceneNerd (talk | contribs)
Added Wii U init address
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Subsystem infobox|name=SaveMgr|is_name_official=1|description=Loads game data into GameDataMgr or writes it to saves.|init_addr_switch150=0000007100E03214}}
{{Subsystem infobox|name=SaveMgr|is_name_official=1|description=Loads game data into GameDataMgr or writes it to saves.|init_addr_switch150=0000007100E03214|init_addr_wiiu150=0324E6AC}}
{{stub}}
{{stub}}


== savedataformat loading ==
== savedataformat loading ==
Similarly to GameDataMgr, SaveMgr loads every file that is in the [[savedataformat]] archive and assumes it is a [[bgsvdata]] resource<ref>SaveMgr code: 0x7100E0EE24</ref>.
Similarly to GameDataMgr, SaveMgr loads every file that is in the [[savedataformat]] archive and assumes it is a [[bgsvdata]] resource<ref>SaveMgr code: 0x7100E0EE24</ref>. The file name does not matter.


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.