Difference between revisions of "Home Menu/Themes"

From 3dbrew
Jump to navigation Jump to search
(Created page with "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 ...")
 
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=
 +
{| class="wikitable" border="1"
 +
|-
 +
!  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 Address (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 Address (Rgb565 at 320x240)
 +
 +
|}
 
=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 06:15, 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).

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 Address (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 Address (Rgb565 at 320x240)

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.