Line 599: |
Line 599: |
| === SaveData.dat === | | === SaveData.dat === |
| | | |
− | == [[Home_Menu/Themes|Theme]] cache SD [[Extdata|ExtData]] == | + | == Home Menu [[Home_Menu/Themes|Theme]] SD [[Extdata|ExtData]] == |
− | The SD ExtData [[Extdata#Filesystem|File System]] for the [[Home_Menu/Themes|theme]] cache is as follows: | + | The filesystem for this extdata is as follows: |
| | | |
| root | | root |
Line 606: |
Line 606: |
| ├── boss | | ├── boss |
| └── user | | └── user |
| + | ├── ThemeManage.bin |
| ├── BodyCache.bin | | ├── BodyCache.bin |
− | ├── ThemeManage.bin
| |
| └── BgmCache.bin | | └── BgmCache.bin |
| | | |
Line 620: |
Line 620: |
| |- | | |- |
| | ThemeManage.bin | | | ThemeManage.bin |
− | | Theme management info. Home Menu reads the first 8-bytes during startup. Home Menu only uses the first 4-bytes from this, which is the 4-byte aligned size of the compressed BodyCache data. The filesize must match 0x800, otherwise the Home Menu code returns an error. | + | | Theme management info. The filesize must match 0x800, otherwise the Home Menu code returns an error. |
| | 0x800 | | | 0x800 |
| | 00000003 | | | 00000003 |
Line 639: |
Line 639: |
| |} | | |} |
| | | |
− | This is the theme cache, for the currently used DLC theme. This is loaded by Home Menu during startup, when a DLC theme is selected. This also contains [[SpotPass]] [[News_Services|notifications]] for themes.
| + | BodyCache.bin and BgmCache.bin contain cached theme data for the currently used DLC theme. ThemeManage.bin is loaded by Home Menu during startup. The cached theme data is loaded at startup when a DLC theme is selected. This also contains [[SpotPass]] [[News_Services|notifications]] for themes. |
| + | |
| + | BodyCache.bin and BgmCache.bin are all-zero when no theme is selected. |
| | | |
− | When no theme is actually used, the u32 stored at offset 0x0 in ThemeManage.bin is value 0x1, with offset 0x10 u32 set to value 0x1 too. BodyCache.bin and BgmCache.bin are all-zero here when no theme is selected. | + | === ThemeManage.bin === |
| + | When no theme is actually used, the u32 stored at offset 0x0 in ThemeManage.bin is value 0x1, with offset 0x10 u32 set to value 0x1 too. |
| | | |
| == Savedata and extdata loaded by Home Menu during startup == | | == Savedata and extdata loaded by Home Menu during startup == |
Line 703: |
Line 706: |
| | This is used to read the cached icon data for the currently inserted gamecard, if any. | | | This is used to read the cached icon data for the currently inserted gamecard, if any. |
| |- | | |- |
− | | SD extdata theme cache | + | | Home Menu Theme SD extdata |
| | "/BodyCache.bin" | | | "/BodyCache.bin" |
| | 0x150000 | | | 0x150000 |
| | Before opening the file, Home Menu firsts opens this archive under a new archive-handle again, then closes it. Prior to doing the read, Home Menu uses [[FSFile:GetSize]]. | | | Before opening the file, Home Menu firsts opens this archive under a new archive-handle again, then closes it. Prior to doing the read, Home Menu uses [[FSFile:GetSize]]. |
| |- | | |- |
− | | SD extdata theme cache | + | | Home Menu Theme SD extdata |
| | "/ThemeManage.bin" | | | "/ThemeManage.bin" |
| | 0x8 | | | 0x8 |
| | Prior to doing the read, Home Menu uses [[FSFile:GetSize]](the result is filesize 0x800). | | | Prior to doing the read, Home Menu uses [[FSFile:GetSize]](the result is filesize 0x800). |
| |- | | |- |
− | | SD extdata theme cache | + | | Home Menu Theme SD extdata |
| | "/BgmCache.bin" | | | "/BgmCache.bin" |
| | | | | |