Difference between revisions of "Home Menu/Themes"
Line 40: | Line 40: | ||
* "body_LZ.bin": LZ11 compressed blob containing the rest of the theme data(graphics + optional [[BCWAV|CWAVs]]). | * "body_LZ.bin": LZ11 compressed blob containing the rest of the theme data(graphics + optional [[BCWAV|CWAVs]]). | ||
− | =body_LZ.bin structure= | + | =Decompressed body_LZ.bin structure= |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 73: | Line 73: | ||
| 0x18 | | 0x18 | ||
| 0x4 | | 0x4 | ||
− | | Top Screen Texture | + | | Top Screen Texture offset (Rgb565 at (320*(Top Screen Frame Count))*240) |
|- | |- | ||
| 0x1C | | 0x1C | ||
Line 89: | Line 89: | ||
| 0x28 | | 0x28 | ||
| 0x4 | | 0x4 | ||
− | | Bottom Screen Solid Color/Texture | + | | Bottom Screen Solid Color/Texture offset (Rgb565 at 320x240) |
+ | |- | ||
+ | | 0xBC | ||
+ | | 0x4 | ||
+ | | Audio data section size. | ||
+ | |- | ||
+ | | 0xC0 | ||
+ | | 0x4 | ||
+ | | Offset for the audio data section. | ||
+ | |} | ||
+ | |||
+ | The filesize is aligned to 0x10-bytes. The size of the above header is 0xD0-bytes. | ||
+ | ==Audio data section== | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x4 | ||
+ | | Unknown | ||
+ | |- | ||
+ | | 0x4 | ||
+ | | 0x4 | ||
+ | | Unknown | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | | ||
+ | | Beginning of the audio data entries. | ||
|} | |} | ||
+ | |||
+ | The audio data section contains the sound effects for this theme. | ||
+ | |||
+ | Audio data entry structure: | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x4 | ||
+ | | CWAV size. | ||
+ | |- | ||
+ | | 0x4 | ||
+ | | 0x4 | ||
+ | | Unknown, type of the sound effect? | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | | ||
+ | | [[BCWAV|CWAV]] | ||
+ | |} | ||
+ | |||
+ | In certain cases there may be more data starting at offset 0x8 than what's listed above, before the CWAV. | ||
+ | |||
=Built-in themes= | =Built-in themes= | ||
The built-in themes are stored at Home Menu RomFS:/theme/<Color>_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content. | The built-in themes are stored at Home Menu RomFS:/theme/<Color>_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content. |
Revision as of 21:16, 13 November 2014
This page describes the formats/structure of the data stored in RomFS for Home Menu DLC, for themes.
Control Content
The control content has content-index 0. It's unknown what if any of this is Home Menu specific.
RomFS structure:
- "MetaDataContentHeader.bin": Unknown, size is 0x44-bytes.
- "ContentInfoArchive_<region>_<lang>.bin" Contains the list of all DLC content available under this DLC title(which can include DLC that's not yet accessible via the shop). <region> can be "USA", etc. <lang>, for the US title: "en", "es", "fr", and "pt".
- "icons/<decimal_id>.icn" Contains the raw DLC icon image data, without any header.
ContentInfoArchive entry format, size 0xC8(this file contains the following entry for each of the DLC content):
Relative offset | Size | Description |
---|---|---|
0x0 | 0x4 | Content index - 1 |
0x4 | 0x4 | 0x0 = disabled, 0x1 = enabled. |
0x8 | 0x40 | char string for the title text. |
0x48 | 0x88 | char string for the description text. |
The first entry is a "header": contentindex val=1, second word = <total DLC content excluding DLC control content>. The two strings are set to dummy text.
Theme Content
RomFS structure:
- "bgm.bcstm": Background music, see here.
- "body_LZ.bin": LZ11 compressed blob containing the rest of the theme data(graphics + optional CWAVs).
Decompressed body_LZ.bin structure
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Version (Must be 1?) |
0x4 | 0x4 | ? |
0x8 | 0x4 | ? |
0xC | 0x4 | Must be less than 4? |
0x10 | 0x4 | Top Screen Frame Count (If 0 then solid color at 0x14, else texture at 0x18) |
0x14 | 0x4 | Top Screen Solid Color (RGB8) |
0x18 | 0x4 | Top Screen Texture offset (Rgb565 at (320*(Top Screen Frame Count))*240) |
0x1C | 0x4 | ? |
0x20 | 0x4 | Bottom Screen Frame Count |
0x24 | 0x4 | Bottom Screen Type (0=SolidColor, 2=Rgb565) |
0x28 | 0x4 | Bottom Screen Solid Color/Texture offset (Rgb565 at 320x240) |
0xBC | 0x4 | Audio data section size. |
0xC0 | 0x4 | Offset for the audio data section. |
The filesize is aligned to 0x10-bytes. The size of the above header is 0xD0-bytes.
Audio data section
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Unknown |
0x4 | 0x4 | Unknown |
0x8 | Beginning of the audio data entries. |
The audio data section contains the sound effects for this theme.
Audio data entry structure:
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | CWAV size. |
0x4 | 0x4 | Unknown, type of the sound effect? |
0x8 | CWAV |
In certain cases there may be more data starting at offset 0x8 than what's listed above, before the CWAV.
Built-in themes
The built-in themes are stored at Home Menu RomFS:/theme/<Color>_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content.