<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Clienthax</id>
	<title>3dbrew - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Clienthax"/>
	<link rel="alternate" type="text/html" href="https://www.3dbrew.org/wiki/Special:Contributions/Clienthax"/>
	<updated>2026-04-12T18:15:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10756</id>
		<title>Home Menu/Themes</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10756"/>
		<updated>2014-11-18T16:41:41Z</updated>

		<summary type="html">&lt;p&gt;Clienthax: /* Frame Types */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats/structure of the data stored in RomFS for [[Home Menu]] DLC, for themes.&lt;br /&gt;
&lt;br /&gt;
=Control Content=&lt;br /&gt;
The control content has content-index 0. It&#039;s unknown what if any of this is Home Menu specific.&lt;br /&gt;
&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;MetaDataContentHeader.bin&amp;quot;: Unknown, size is 0x44-bytes.&lt;br /&gt;
* &amp;quot;ContentInfoArchive_&amp;lt;region&amp;gt;_&amp;lt;lang&amp;gt;.bin&amp;quot; Contains the list of &#039;&#039;all&#039;&#039; DLC content available under this DLC title(which can include DLC that&#039;s not yet accessible via the shop). &amp;lt;region&amp;gt; can be &amp;quot;USA&amp;quot;, etc. &amp;lt;lang&amp;gt;, for the US title: &amp;quot;en&amp;quot;, &amp;quot;es&amp;quot;, &amp;quot;fr&amp;quot;, and &amp;quot;pt&amp;quot;.&lt;br /&gt;
* &amp;quot;icons/&amp;lt;decimal_id&amp;gt;.icn&amp;quot; Contains the raw DLC icon image data, without any header. 48x48 tiled RGB565.&lt;br /&gt;
&lt;br /&gt;
ContentInfoArchive entry format, size 0xC8(this file contains the following entry for each of the DLC content):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content index - 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x0 = disabled, 0x1 = enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x40&lt;br /&gt;
| char string for the title text.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x88&lt;br /&gt;
| char string for the description text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first entry is a &amp;quot;header&amp;quot;: contentindex val=1, second word = &amp;lt;total DLC content excluding DLC control content&amp;gt;. The two strings are set to dummy text.&lt;br /&gt;
&lt;br /&gt;
=Theme Content=&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;bgm.bcstm&amp;quot;: Background music, see [[CSTRM|here]].&lt;br /&gt;
* &amp;quot;body_LZ.bin&amp;quot;: LZ11 compressed blob containing the rest of the theme data(graphics + optional [[BCWAV|CWAVs]]).&lt;br /&gt;
&lt;br /&gt;
=Decompressed body_LZ.bin structure=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Version (Must be 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x1&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0 = disable usage of bgm.bcstm, non-zero = enable usage of bgm.bcstm.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Normally zero(not used?).&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4. Top screen draw type: 0 = none, 1 = solid color(see below), 2 = extension of val1(see below), 3 = texture.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top screen frame type, when draw-type is 3: 0 = texture1, 1 = texture0, 3 = texture1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the top screen solid color data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top screen texture offset, see below.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Additional top-screen texture offset, used with draw-type val2. This is optional when using draw-type val2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4. Bottom screen draw type: 0 = none, 1 = solid color(see below), 2 = invalid, 3 = texture.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom screen frame type, when draw-type is 3: 0 = texture4, 1 = texture2, 2 = texture3, 3 = texture4, 4 = texture3.&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Solid Color/Texture offset, see below.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture6.&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture7.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture8.&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture9.&lt;br /&gt;
|-&lt;br /&gt;
| 0x5C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x64&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x9-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x78&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;3. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x7C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x80&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x84&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x9-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x90&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x94&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x98&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x9C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x15-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xAC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x6-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = below audio data section is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xBC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Audio data section size, this must be &amp;lt;=0x2DC00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the audio data section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize is aligned to 0x10-bytes. The filesize must be at least 0xC4-bytes, due to padding/alignment the first block of data after the header is normally located at 0xD0.&lt;br /&gt;
&lt;br /&gt;
With the solid-color data, there&#039;s 5-bytes located at the solid-color data offset. With draw-type val2, there&#039;s 7-bytes located here. The first 4-bytes located here is RGBA8888 pixel data, the rest is unknown.&lt;br /&gt;
&lt;br /&gt;
With draw-type val2, texture5 is also used(this likely isn&#039;t used for the entire top-screen). With draw-type val2, an extra texture with the same format/dimensions as texture5 can be used, when the additional texture offset field is set.&lt;br /&gt;
&lt;br /&gt;
==Frame Types==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! FrameType&lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Animated when pointer moved, split into 3 sections of 320*240 and displayed in the order 0 &amp;gt; 1 &amp;gt; 2&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Animated when pointer moved, split into 3 sections of 320*240 and displayed in the order 0 &amp;gt; 1 &amp;gt; 2 &amp;gt; 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Color format&lt;br /&gt;
!  Texture display dimensions&lt;br /&gt;
!  Texture data dimensions&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 412x240&lt;br /&gt;
| 512x256&lt;br /&gt;
| This is the texture used for the top-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 1008x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the top-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 320x240&lt;br /&gt;
| 512x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 960x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 1008x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Tiled A8&lt;br /&gt;
| 64x64&lt;br /&gt;
| 64x64&lt;br /&gt;
| This is used with the top-screen when top-screen draw-type is val2, see above.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 74x64&lt;br /&gt;
| 128x64&lt;br /&gt;
| This is used for folder&#039;s on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 82x64&lt;br /&gt;
| 128x64&lt;br /&gt;
| This is used for open folder&#039;s on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 36x72&lt;br /&gt;
| 64x128&lt;br /&gt;
| This is used for 48x48 icon borders on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 25x50&lt;br /&gt;
| 32x64&lt;br /&gt;
| This is used for 24x24 icon borders on the main menu.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Audio data section==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| Beginning of the audio data entries.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The audio data section contains the sound effects for this theme.&lt;br /&gt;
&lt;br /&gt;
Audio data entry structure:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| Y (see below)&lt;br /&gt;
| Additional data for CWAV 6, see below.&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| CWAV size.&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x8&lt;br /&gt;
| X (see below)&lt;br /&gt;
| Additional data for CWAV 4, see below.&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x8 + X&lt;br /&gt;
| &lt;br /&gt;
| [[BCWAV|CWAV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Structure of the data starting at offset 0x0, from the above entry, for the additional data with CWAV 7:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Y / the size of this block, is 0x10-bytes.&lt;br /&gt;
&lt;br /&gt;
Structure of the data starting at offset 0x8, from the above entry, for the additional data with CWAV 4:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x2C&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
X / the size of this block, is 0x2C-bytes.&lt;br /&gt;
&lt;br /&gt;
It&#039;s unknown how exactly the number of CWAVs is controlled. The CWAVs are used for the following:&lt;br /&gt;
* 0: Cursor movement&lt;br /&gt;
* 1: Application launch&lt;br /&gt;
* 2: Certain buttons&lt;br /&gt;
* 3: Cancel buttons&lt;br /&gt;
* 4: When cursor would be moved off the screen, left/right&lt;br /&gt;
* 5: When cursor is moved a screen-worth of icons across&lt;br /&gt;
* 6: Folder buttons&lt;br /&gt;
&lt;br /&gt;
=Built-in themes=&lt;br /&gt;
The built-in themes are stored at Home Menu RomFS:/theme/&amp;lt;Color&amp;gt;_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content.&lt;/div&gt;</summary>
		<author><name>Clienthax</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10754</id>
		<title>Home Menu/Themes</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10754"/>
		<updated>2014-11-18T16:39:10Z</updated>

		<summary type="html">&lt;p&gt;Clienthax: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats/structure of the data stored in RomFS for [[Home Menu]] DLC, for themes.&lt;br /&gt;
&lt;br /&gt;
=Control Content=&lt;br /&gt;
The control content has content-index 0. It&#039;s unknown what if any of this is Home Menu specific.&lt;br /&gt;
&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;MetaDataContentHeader.bin&amp;quot;: Unknown, size is 0x44-bytes.&lt;br /&gt;
* &amp;quot;ContentInfoArchive_&amp;lt;region&amp;gt;_&amp;lt;lang&amp;gt;.bin&amp;quot; Contains the list of &#039;&#039;all&#039;&#039; DLC content available under this DLC title(which can include DLC that&#039;s not yet accessible via the shop). &amp;lt;region&amp;gt; can be &amp;quot;USA&amp;quot;, etc. &amp;lt;lang&amp;gt;, for the US title: &amp;quot;en&amp;quot;, &amp;quot;es&amp;quot;, &amp;quot;fr&amp;quot;, and &amp;quot;pt&amp;quot;.&lt;br /&gt;
* &amp;quot;icons/&amp;lt;decimal_id&amp;gt;.icn&amp;quot; Contains the raw DLC icon image data, without any header. 48x48 tiled RGB565.&lt;br /&gt;
&lt;br /&gt;
ContentInfoArchive entry format, size 0xC8(this file contains the following entry for each of the DLC content):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content index - 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x0 = disabled, 0x1 = enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x40&lt;br /&gt;
| char string for the title text.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x88&lt;br /&gt;
| char string for the description text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first entry is a &amp;quot;header&amp;quot;: contentindex val=1, second word = &amp;lt;total DLC content excluding DLC control content&amp;gt;. The two strings are set to dummy text.&lt;br /&gt;
&lt;br /&gt;
=Theme Content=&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;bgm.bcstm&amp;quot;: Background music, see [[CSTRM|here]].&lt;br /&gt;
* &amp;quot;body_LZ.bin&amp;quot;: LZ11 compressed blob containing the rest of the theme data(graphics + optional [[BCWAV|CWAVs]]).&lt;br /&gt;
&lt;br /&gt;
=Decompressed body_LZ.bin structure=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Version (Must be 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x1&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0 = disable usage of bgm.bcstm, non-zero = enable usage of bgm.bcstm.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Normally zero(not used?).&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4. Top screen draw type: 0 = none, 1 = solid color(see below), 2 = extension of val1(see below), 3 = texture.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top screen frame type, when draw-type is 3: 0 = texture1, 1 = texture0, 3 = texture1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the top screen solid color data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top screen texture offset, see below.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Additional top-screen texture offset, used with draw-type val2. This is optional when using draw-type val2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4. Bottom screen draw type: 0 = none, 1 = solid color(see below), 2 = invalid, 3 = texture.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom screen frame type, when draw-type is 3: 0 = texture4, 1 = texture2, 2 = texture3, 3 = texture4, 4 = texture3.&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Solid Color/Texture offset, see below.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture6.&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture7.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture8.&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture9.&lt;br /&gt;
|-&lt;br /&gt;
| 0x5C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x64&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x9-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x78&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;3. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x7C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x80&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x84&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x9-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x90&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x94&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x98&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x9C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x15-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xAC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x6-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = below audio data section is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xBC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Audio data section size, this must be &amp;lt;=0x2DC00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the audio data section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize is aligned to 0x10-bytes. The filesize must be at least 0xC4-bytes, due to padding/alignment the first block of data after the header is normally located at 0xD0.&lt;br /&gt;
&lt;br /&gt;
With the solid-color data, there&#039;s 5-bytes located at the solid-color data offset. With draw-type val2, there&#039;s 7-bytes located here. The first 4-bytes located here is RGBA8888 pixel data, the rest is unknown.&lt;br /&gt;
&lt;br /&gt;
With draw-type val2, texture5 is also used(this likely isn&#039;t used for the entire top-screen). With draw-type val2, an extra texture with the same format/dimensions as texture5 can be used, when the additional texture offset field is set.&lt;br /&gt;
&lt;br /&gt;
==Frame Types==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! FrameType&lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Animated, split into 3 sections of 320*240 and displayed in the order 0 &amp;gt; 1 &amp;gt; 2&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Animated, split into 3 sections of 320*240 and displayed in the order 0 &amp;gt; 1 &amp;gt; 2 &amp;gt; 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Color format&lt;br /&gt;
!  Texture display dimensions&lt;br /&gt;
!  Texture data dimensions&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 412x240&lt;br /&gt;
| 512x256&lt;br /&gt;
| This is the texture used for the top-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 1008x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the top-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 320x240&lt;br /&gt;
| 512x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 960x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 1008x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Tiled A8&lt;br /&gt;
| 64x64&lt;br /&gt;
| 64x64&lt;br /&gt;
| This is used with the top-screen when top-screen draw-type is val2, see above.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 74x64&lt;br /&gt;
| 128x64&lt;br /&gt;
| This is used for folder&#039;s on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 82x64&lt;br /&gt;
| 128x64&lt;br /&gt;
| This is used for open folder&#039;s on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 36x72&lt;br /&gt;
| 64x128&lt;br /&gt;
| This is used for 48x48 icon borders on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 25x50&lt;br /&gt;
| 32x64&lt;br /&gt;
| This is used for 24x24 icon borders on the main menu.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Audio data section==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| Beginning of the audio data entries.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The audio data section contains the sound effects for this theme.&lt;br /&gt;
&lt;br /&gt;
Audio data entry structure:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| Y (see below)&lt;br /&gt;
| Additional data for CWAV 6, see below.&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| CWAV size.&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x8&lt;br /&gt;
| X (see below)&lt;br /&gt;
| Additional data for CWAV 4, see below.&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x8 + X&lt;br /&gt;
| &lt;br /&gt;
| [[BCWAV|CWAV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Structure of the data starting at offset 0x0, from the above entry, for the additional data with CWAV 7:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Y / the size of this block, is 0x10-bytes.&lt;br /&gt;
&lt;br /&gt;
Structure of the data starting at offset 0x8, from the above entry, for the additional data with CWAV 4:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x2C&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
X / the size of this block, is 0x2C-bytes.&lt;br /&gt;
&lt;br /&gt;
It&#039;s unknown how exactly the number of CWAVs is controlled. The CWAVs are used for the following:&lt;br /&gt;
* 0: Cursor movement&lt;br /&gt;
* 1: Application launch&lt;br /&gt;
* 2: Certain buttons&lt;br /&gt;
* 3: Cancel buttons&lt;br /&gt;
* 4: When cursor would be moved off the screen, left/right&lt;br /&gt;
* 5: When cursor is moved a screen-worth of icons across&lt;br /&gt;
* 6: Folder buttons&lt;br /&gt;
&lt;br /&gt;
=Built-in themes=&lt;br /&gt;
The built-in themes are stored at Home Menu RomFS:/theme/&amp;lt;Color&amp;gt;_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content.&lt;/div&gt;</summary>
		<author><name>Clienthax</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10753</id>
		<title>Home Menu/Themes</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10753"/>
		<updated>2014-11-18T07:20:51Z</updated>

		<summary type="html">&lt;p&gt;Clienthax: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats/structure of the data stored in RomFS for [[Home Menu]] DLC, for themes.&lt;br /&gt;
&lt;br /&gt;
=Control Content=&lt;br /&gt;
The control content has content-index 0. It&#039;s unknown what if any of this is Home Menu specific.&lt;br /&gt;
&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;MetaDataContentHeader.bin&amp;quot;: Unknown, size is 0x44-bytes.&lt;br /&gt;
* &amp;quot;ContentInfoArchive_&amp;lt;region&amp;gt;_&amp;lt;lang&amp;gt;.bin&amp;quot; Contains the list of &#039;&#039;all&#039;&#039; DLC content available under this DLC title(which can include DLC that&#039;s not yet accessible via the shop). &amp;lt;region&amp;gt; can be &amp;quot;USA&amp;quot;, etc. &amp;lt;lang&amp;gt;, for the US title: &amp;quot;en&amp;quot;, &amp;quot;es&amp;quot;, &amp;quot;fr&amp;quot;, and &amp;quot;pt&amp;quot;.&lt;br /&gt;
* &amp;quot;icons/&amp;lt;decimal_id&amp;gt;.icn&amp;quot; Contains the raw DLC icon image data, without any header. 48x48 tiled RGB565.&lt;br /&gt;
&lt;br /&gt;
ContentInfoArchive entry format, size 0xC8(this file contains the following entry for each of the DLC content):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content index - 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x0 = disabled, 0x1 = enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x40&lt;br /&gt;
| char string for the title text.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x88&lt;br /&gt;
| char string for the description text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first entry is a &amp;quot;header&amp;quot;: contentindex val=1, second word = &amp;lt;total DLC content excluding DLC control content&amp;gt;. The two strings are set to dummy text.&lt;br /&gt;
&lt;br /&gt;
=Theme Content=&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;bgm.bcstm&amp;quot;: Background music, see [[CSTRM|here]].&lt;br /&gt;
* &amp;quot;body_LZ.bin&amp;quot;: LZ11 compressed blob containing the rest of the theme data(graphics + optional [[BCWAV|CWAVs]]).&lt;br /&gt;
&lt;br /&gt;
=Decompressed body_LZ.bin structure=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Version (Must be 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x1&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0 = disable usage of bgm.bcstm, non-zero = enable usage of bgm.bcstm.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Normally zero(not used?).&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4. Top screen draw type: 0 = none, 1 = solid color(see below), 2 = extension of val1(see below), 3 = texture.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top screen frame type, when draw-type is 3: 0 = texture1, 1 = texture0, 3 = texture1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the top screen solid color data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top screen texture offset, see below.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Additional top-screen texture offset, used with draw-type val2. This is optional when using draw-type val2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4. Bottom screen draw type: 0 = none, 1 = solid color(see below), 2 = invalid, 3 = texture.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom screen frame type, when draw-type is 3: 0 = texture4, 1 = texture2, 2 = texture3, 3 = texture4, 4 = texture3.&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Solid Color/Texture offset, see below.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture6.&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture7.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture8.&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture9.&lt;br /&gt;
|-&lt;br /&gt;
| 0x5C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x64&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x9-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x78&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;3. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x7C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x80&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x84&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x9-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x90&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x94&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x98&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x9C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x15-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xAC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x6-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = below audio data section is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xBC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Audio data section size, this must be &amp;lt;=0x2DC00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the audio data section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize is aligned to 0x10-bytes. The filesize must be at least 0xC4-bytes, due to padding/alignment the first block of data after the header is normally located at 0xD0.&lt;br /&gt;
&lt;br /&gt;
With the solid-color data, there&#039;s 5-bytes located at the solid-color data offset. With draw-type val2, there&#039;s 7-bytes located here. The first 4-bytes located here is RGBA8888 pixel data, the rest is unknown.&lt;br /&gt;
&lt;br /&gt;
With draw-type val2, texture5 is also used(this likely isn&#039;t used for the entire top-screen). With draw-type val2, an extra texture with the same format/dimensions as texture5 can be used, when the additional texture offset field is set.&lt;br /&gt;
&lt;br /&gt;
==Frame Types==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! FrameType&lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Animated, split into 3 sections of 320*240 and displayed in the order 0 &amp;gt; 1 &amp;gt; 0 &amp;gt; 2&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Animated, split into 3 sections of 320*240 and displayed in the order 0 &amp;gt; 1 &amp;gt; 2 &amp;gt; 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Color format&lt;br /&gt;
!  Texture display dimensions&lt;br /&gt;
!  Texture data dimensions&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 412x240&lt;br /&gt;
| 512x256&lt;br /&gt;
| This is the texture used for the top-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 1008x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the top-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 320x240&lt;br /&gt;
| 512x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 960x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 1008x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Tiled A8&lt;br /&gt;
| 64x64&lt;br /&gt;
| 64x64&lt;br /&gt;
| This is used with the top-screen when top-screen draw-type is val2, see above.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 74x64&lt;br /&gt;
| 128x64&lt;br /&gt;
| This is used for folder&#039;s on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 82x64&lt;br /&gt;
| 128x64&lt;br /&gt;
| This is used for open folder&#039;s on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 36x72&lt;br /&gt;
| 64x128&lt;br /&gt;
| This is used for 48x48 icon borders on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 25x50&lt;br /&gt;
| 32x64&lt;br /&gt;
| This is used for 24x24 icon borders on the main menu.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Audio data section==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| Beginning of the audio data entries.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The audio data section contains the sound effects for this theme.&lt;br /&gt;
&lt;br /&gt;
Audio data entry structure:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| Y (see below)&lt;br /&gt;
| Additional data for CWAV 6, see below.&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| CWAV size.&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x8&lt;br /&gt;
| X (see below)&lt;br /&gt;
| Additional data for CWAV 4, see below.&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x8 + X&lt;br /&gt;
| &lt;br /&gt;
| [[BCWAV|CWAV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Structure of the data starting at offset 0x0, from the above entry, for the additional data with CWAV 7:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Y / the size of this block, is 0x10-bytes.&lt;br /&gt;
&lt;br /&gt;
Structure of the data starting at offset 0x8, from the above entry, for the additional data with CWAV 4:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x2C&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
X / the size of this block, is 0x2C-bytes.&lt;br /&gt;
&lt;br /&gt;
It&#039;s unknown how exactly the number of CWAVs is controlled. The CWAVs are used for the following:&lt;br /&gt;
* 0: Cursor movement&lt;br /&gt;
* 1: Application launch&lt;br /&gt;
* 2: Certain buttons&lt;br /&gt;
* 3: Cancel buttons&lt;br /&gt;
* 4: When cursor would be moved off the screen, left/right&lt;br /&gt;
* 5: When cursor is moved a screen-worth of icons across&lt;br /&gt;
* 6: Folder buttons&lt;br /&gt;
&lt;br /&gt;
=Built-in themes=&lt;br /&gt;
The built-in themes are stored at Home Menu RomFS:/theme/&amp;lt;Color&amp;gt;_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content.&lt;/div&gt;</summary>
		<author><name>Clienthax</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10693</id>
		<title>Home Menu/Themes</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10693"/>
		<updated>2014-11-15T06:21:51Z</updated>

		<summary type="html">&lt;p&gt;Clienthax: /* Textures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats/structure of the data stored in RomFS for [[Home Menu]] DLC, for themes.&lt;br /&gt;
&lt;br /&gt;
=Control Content=&lt;br /&gt;
The control content has content-index 0. It&#039;s unknown what if any of this is Home Menu specific.&lt;br /&gt;
&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;MetaDataContentHeader.bin&amp;quot;: Unknown, size is 0x44-bytes.&lt;br /&gt;
* &amp;quot;ContentInfoArchive_&amp;lt;region&amp;gt;_&amp;lt;lang&amp;gt;.bin&amp;quot; Contains the list of &#039;&#039;all&#039;&#039; DLC content available under this DLC title(which can include DLC that&#039;s not yet accessible via the shop). &amp;lt;region&amp;gt; can be &amp;quot;USA&amp;quot;, etc. &amp;lt;lang&amp;gt;, for the US title: &amp;quot;en&amp;quot;, &amp;quot;es&amp;quot;, &amp;quot;fr&amp;quot;, and &amp;quot;pt&amp;quot;.&lt;br /&gt;
* &amp;quot;icons/&amp;lt;decimal_id&amp;gt;.icn&amp;quot; Contains the raw DLC icon image data, without any header. 48x48 tiled RGB565.&lt;br /&gt;
&lt;br /&gt;
ContentInfoArchive entry format, size 0xC8(this file contains the following entry for each of the DLC content):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content index - 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x0 = disabled, 0x1 = enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x40&lt;br /&gt;
| char string for the title text.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x88&lt;br /&gt;
| char string for the description text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first entry is a &amp;quot;header&amp;quot;: contentindex val=1, second word = &amp;lt;total DLC content excluding DLC control content&amp;gt;. The two strings are set to dummy text.&lt;br /&gt;
&lt;br /&gt;
=Theme Content=&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;bgm.bcstm&amp;quot;: Background music, see [[CSTRM|here]].&lt;br /&gt;
* &amp;quot;body_LZ.bin&amp;quot;: LZ11 compressed blob containing the rest of the theme data(graphics + optional [[BCWAV|CWAVs]]).&lt;br /&gt;
&lt;br /&gt;
=Decompressed body_LZ.bin structure=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Version (Must be 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x1&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0 = unknown, non-zero = unknown.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Normally zero(not used?).&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4. Top screen draw type: 0 = none, 1 = solid color(see below), 2 = extension of val1(see below), 3 = texture.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top screen frame type: 0 = solid color(uses texture1 internally), 1 = texture0, 3 = texture1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the top screen solid color data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top screen texture offset, see below.&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Additional top-screen texture offset, used with draw-type val2. This is optional when using draw-type val2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4. Bottom screen draw type: 0 = none, 1 = solid color(see below), 2 = invalid, 3 = texture.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom screen frame type: 0 = solid color(uses texture4 internally), 1 = texture2, 2 = texture3, 3 = texture4, 4 = texture3.&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Solid Color/Texture offset, see below.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture6.&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture7.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture8.&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for texture9.&lt;br /&gt;
|-&lt;br /&gt;
| 0x5C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x64&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x9-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following two fields.&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x74&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x78&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;3. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x7C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x80&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x84&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x9-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x90&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x94&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xD-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x98&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0x9C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x20-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x15-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xAC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0xC-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = enables usage of the following field.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to a 0x6-byte block.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = below audio data section is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xBC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Audio data section size, this must be &amp;lt;=0x2DC00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the audio data section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize is aligned to 0x10-bytes. The filesize must be at least 0xC4-bytes, due to padding/alignment the first block of data after the header is normally located at 0xD0.&lt;br /&gt;
&lt;br /&gt;
With the solid-color data, there&#039;s 5-bytes located at the solid-color data offset. With draw-type val2, there&#039;s 7-bytes located here. The first 4-bytes located here is RGBA8888 pixel data, the rest is unknown.&lt;br /&gt;
&lt;br /&gt;
With draw-type val2, texture5 is also used(this likely isn&#039;t used for the entire top-screen). With draw-type val2, an extra texture with the same format/dimensions as texture5 can be used, when the additional texture offset field is set.&lt;br /&gt;
&lt;br /&gt;
==Textures==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Color format&lt;br /&gt;
!  Texture display dimensions&lt;br /&gt;
!  Texture data dimensions&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 412x240&lt;br /&gt;
| 512x256&lt;br /&gt;
| This is the texture used for the top-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 1008x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the top-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 320x240&lt;br /&gt;
| 512x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 960x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Tiled RGB565&lt;br /&gt;
| 1008x240&lt;br /&gt;
| 1024x256&lt;br /&gt;
| This is the texture used for the bottom-screen background, when the frame-type is set for this one.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| RGBA8888&lt;br /&gt;
| 64x64&lt;br /&gt;
| 64x64&lt;br /&gt;
| This is used with the top-screen when top-screen draw-type is val2, see above.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 74x64&lt;br /&gt;
| 128x64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 82x64&lt;br /&gt;
| 128x64&lt;br /&gt;
| This is used for folder&#039;s on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 36x72&lt;br /&gt;
| 64x128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Tiled BGR888&lt;br /&gt;
| 25x50&lt;br /&gt;
| 32x64&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Audio data section==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| Beginning of the audio data entries.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The audio data section contains the sound effects for this theme.&lt;br /&gt;
&lt;br /&gt;
Audio data entry structure:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| CWAV size.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| [[BCWAV|CWAV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In certain cases there may be more data starting at offset 0x8 than what&#039;s listed above, before the CWAV.&lt;br /&gt;
&lt;br /&gt;
=Built-in themes=&lt;br /&gt;
The built-in themes are stored at Home Menu RomFS:/theme/&amp;lt;Color&amp;gt;_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content.&lt;/div&gt;</summary>
		<author><name>Clienthax</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10666</id>
		<title>Home Menu/Themes</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10666"/>
		<updated>2014-11-14T18:56:41Z</updated>

		<summary type="html">&lt;p&gt;Clienthax: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats/structure of the data stored in RomFS for [[Home Menu]] DLC, for themes.&lt;br /&gt;
&lt;br /&gt;
=Control Content=&lt;br /&gt;
The control content has content-index 0. It&#039;s unknown what if any of this is Home Menu specific.&lt;br /&gt;
&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;MetaDataContentHeader.bin&amp;quot;: Unknown, size is 0x44-bytes.&lt;br /&gt;
* &amp;quot;ContentInfoArchive_&amp;lt;region&amp;gt;_&amp;lt;lang&amp;gt;.bin&amp;quot; Contains the list of &#039;&#039;all&#039;&#039; DLC content available under this DLC title(which can include DLC that&#039;s not yet accessible via the shop). &amp;lt;region&amp;gt; can be &amp;quot;USA&amp;quot;, etc. &amp;lt;lang&amp;gt;, for the US title: &amp;quot;en&amp;quot;, &amp;quot;es&amp;quot;, &amp;quot;fr&amp;quot;, and &amp;quot;pt&amp;quot;.&lt;br /&gt;
* &amp;quot;icons/&amp;lt;decimal_id&amp;gt;.icn&amp;quot; Contains the raw DLC icon image data, without any header. 48*48 RGB565.&lt;br /&gt;
&lt;br /&gt;
ContentInfoArchive entry format, size 0xC8(this file contains the following entry for each of the DLC content):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content index - 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x0 = disabled, 0x1 = enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x40&lt;br /&gt;
| char string for the title text.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x88&lt;br /&gt;
| char string for the description text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first entry is a &amp;quot;header&amp;quot;: contentindex val=1, second word = &amp;lt;total DLC content excluding DLC control content&amp;gt;. The two strings are set to dummy text.&lt;br /&gt;
&lt;br /&gt;
=Theme Content=&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;bgm.bcstm&amp;quot;: Background music, see [[CSTRM|here]].&lt;br /&gt;
* &amp;quot;body_LZ.bin&amp;quot;: LZ11 compressed blob containing the rest of the theme data(graphics + optional [[BCWAV|CWAVs]]).&lt;br /&gt;
&lt;br /&gt;
=Decompressed body_LZ.bin structure=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Version (Must be 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x1&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0 = unknown, non-zero = unknown.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top Screen Frame Count (If 0 then solid color at 0x14, else texture at 0x18)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the top screen solid color data, with format RGB888.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top Screen Texture offset (Rgb565 at (512*(Top Screen Frame Count))*240)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x4&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Frame Count, must be &amp;lt;4.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Type (0=SolidColor, 2=Rgb565)&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Solid Color/Texture offset (Rgb565 at 256x240)&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x64&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x78&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;3.&lt;br /&gt;
|-&lt;br /&gt;
| 0x80&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x90&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x98&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = the word at offset 0xB4 is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;=6.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = below audio data section is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xBC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Audio data section size, this must be &amp;lt;=0x2DC00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the audio data section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize is aligned to 0x10-bytes. The filesize must be at least 0xC4-bytes. The size of the above header is 0xD0-bytes(0xC4-bytes aligned to 0x10-bytes?).&lt;br /&gt;
&lt;br /&gt;
==Audio data section==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| Beginning of the audio data entries.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The audio data section contains the sound effects for this theme.&lt;br /&gt;
&lt;br /&gt;
Audio data entry structure:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| CWAV size.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| [[BCWAV|CWAV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In certain cases there may be more data starting at offset 0x8 than what&#039;s listed above, before the CWAV.&lt;br /&gt;
&lt;br /&gt;
=Built-in themes=&lt;br /&gt;
The built-in themes are stored at Home Menu RomFS:/theme/&amp;lt;Color&amp;gt;_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content.&lt;/div&gt;</summary>
		<author><name>Clienthax</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10665</id>
		<title>Home Menu/Themes</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10665"/>
		<updated>2014-11-14T18:27:12Z</updated>

		<summary type="html">&lt;p&gt;Clienthax: /* Control Content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats/structure of the data stored in RomFS for [[Home Menu]] DLC, for themes.&lt;br /&gt;
&lt;br /&gt;
=Control Content=&lt;br /&gt;
The control content has content-index 0. It&#039;s unknown what if any of this is Home Menu specific.&lt;br /&gt;
&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;MetaDataContentHeader.bin&amp;quot;: Unknown, size is 0x44-bytes.&lt;br /&gt;
* &amp;quot;ContentInfoArchive_&amp;lt;region&amp;gt;_&amp;lt;lang&amp;gt;.bin&amp;quot; Contains the list of &#039;&#039;all&#039;&#039; DLC content available under this DLC title(which can include DLC that&#039;s not yet accessible via the shop). &amp;lt;region&amp;gt; can be &amp;quot;USA&amp;quot;, etc. &amp;lt;lang&amp;gt;, for the US title: &amp;quot;en&amp;quot;, &amp;quot;es&amp;quot;, &amp;quot;fr&amp;quot;, and &amp;quot;pt&amp;quot;.&lt;br /&gt;
* &amp;quot;icons/&amp;lt;decimal_id&amp;gt;.icn&amp;quot; Contains the raw DLC icon image data, without any header. 32*32 RGB565.&lt;br /&gt;
&lt;br /&gt;
ContentInfoArchive entry format, size 0xC8(this file contains the following entry for each of the DLC content):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content index - 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x0 = disabled, 0x1 = enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x40&lt;br /&gt;
| char string for the title text.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x88&lt;br /&gt;
| char string for the description text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first entry is a &amp;quot;header&amp;quot;: contentindex val=1, second word = &amp;lt;total DLC content excluding DLC control content&amp;gt;. The two strings are set to dummy text.&lt;br /&gt;
&lt;br /&gt;
=Theme Content=&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;bgm.bcstm&amp;quot;: Background music, see [[CSTRM|here]].&lt;br /&gt;
* &amp;quot;body_LZ.bin&amp;quot;: LZ11 compressed blob containing the rest of the theme data(graphics + optional [[BCWAV|CWAVs]]).&lt;br /&gt;
&lt;br /&gt;
=Decompressed body_LZ.bin structure=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Version (Must be 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x1&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0 = unknown, non-zero = unknown.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top Screen Frame Count (If 0 then solid color at 0x14, else texture at 0x18)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the top screen solid color data, with format RGB888.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top Screen Texture offset (Rgb565 at (512*(Top Screen Frame Count))*240)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x4&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Frame Count, must be &amp;lt;4.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Type (0=SolidColor, 2=Rgb565)&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Solid Color/Texture offset (Rgb565 at 256x240)&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x64&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x78&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;3.&lt;br /&gt;
|-&lt;br /&gt;
| 0x80&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x90&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x98&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = the word at offset 0xB4 is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;=6.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = below audio data section is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xBC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Audio data section size, this must be &amp;lt;=0x2DC00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the audio data section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize is aligned to 0x10-bytes. The filesize must be at least 0xC4-bytes. The size of the above header is 0xD0-bytes(0xC4-bytes aligned to 0x10-bytes?).&lt;br /&gt;
&lt;br /&gt;
==Audio data section==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| Beginning of the audio data entries.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The audio data section contains the sound effects for this theme.&lt;br /&gt;
&lt;br /&gt;
Audio data entry structure:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| CWAV size.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| [[BCWAV|CWAV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In certain cases there may be more data starting at offset 0x8 than what&#039;s listed above, before the CWAV.&lt;br /&gt;
&lt;br /&gt;
=Built-in themes=&lt;br /&gt;
The built-in themes are stored at Home Menu RomFS:/theme/&amp;lt;Color&amp;gt;_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content.&lt;/div&gt;</summary>
		<author><name>Clienthax</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10664</id>
		<title>Home Menu/Themes</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Home_Menu/Themes&amp;diff=10664"/>
		<updated>2014-11-14T18:00:50Z</updated>

		<summary type="html">&lt;p&gt;Clienthax: /* Decompressed body_LZ.bin structure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the formats/structure of the data stored in RomFS for [[Home Menu]] DLC, for themes.&lt;br /&gt;
&lt;br /&gt;
=Control Content=&lt;br /&gt;
The control content has content-index 0. It&#039;s unknown what if any of this is Home Menu specific.&lt;br /&gt;
&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;MetaDataContentHeader.bin&amp;quot;: Unknown, size is 0x44-bytes.&lt;br /&gt;
* &amp;quot;ContentInfoArchive_&amp;lt;region&amp;gt;_&amp;lt;lang&amp;gt;.bin&amp;quot; Contains the list of &#039;&#039;all&#039;&#039; DLC content available under this DLC title(which can include DLC that&#039;s not yet accessible via the shop). &amp;lt;region&amp;gt; can be &amp;quot;USA&amp;quot;, etc. &amp;lt;lang&amp;gt;, for the US title: &amp;quot;en&amp;quot;, &amp;quot;es&amp;quot;, &amp;quot;fr&amp;quot;, and &amp;quot;pt&amp;quot;.&lt;br /&gt;
* &amp;quot;icons/&amp;lt;decimal_id&amp;gt;.icn&amp;quot; Contains the raw DLC icon image data, without any header.&lt;br /&gt;
&lt;br /&gt;
ContentInfoArchive entry format, size 0xC8(this file contains the following entry for each of the DLC content):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Relative offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content index - 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x0 = disabled, 0x1 = enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x40&lt;br /&gt;
| char string for the title text.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x88&lt;br /&gt;
| char string for the description text.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first entry is a &amp;quot;header&amp;quot;: contentindex val=1, second word = &amp;lt;total DLC content excluding DLC control content&amp;gt;. The two strings are set to dummy text.&lt;br /&gt;
&lt;br /&gt;
=Theme Content=&lt;br /&gt;
RomFS structure:&lt;br /&gt;
* &amp;quot;bgm.bcstm&amp;quot;: Background music, see [[CSTRM|here]].&lt;br /&gt;
* &amp;quot;body_LZ.bin&amp;quot;: LZ11 compressed blob containing the rest of the theme data(graphics + optional [[BCWAV|CWAVs]]).&lt;br /&gt;
&lt;br /&gt;
=Decompressed body_LZ.bin structure=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Version (Must be 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x1&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0 = unknown, non-zero = unknown.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;4.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top Screen Frame Count (If 0 then solid color at 0x14, else texture at 0x18)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the top screen solid color data, with format RGB888.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Top Screen Texture offset (Rgb565 at (512*(Top Screen Frame Count))*240)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x4&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Frame Count, must be &amp;lt;4.&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Type (0=SolidColor, 2=Rgb565)&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Bottom Screen Solid Color/Texture offset (Rgb565 at 256x240)&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x64&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x78&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;3.&lt;br /&gt;
|-&lt;br /&gt;
| 0x80&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x90&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x98&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = the word at offset 0xB4 is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;=6.&lt;br /&gt;
|-&lt;br /&gt;
| 0xB8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Must be &amp;lt;2. 1 = below audio data section is used, otherwise it&#039;s not used.&lt;br /&gt;
|-&lt;br /&gt;
| 0xBC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Audio data section size, this must be &amp;lt;=0x2DC00.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset for the audio data section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize is aligned to 0x10-bytes. The filesize must be at least 0xC4-bytes. The size of the above header is 0xD0-bytes(0xC4-bytes aligned to 0x10-bytes?).&lt;br /&gt;
&lt;br /&gt;
==Audio data section==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| Beginning of the audio data entries.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The audio data section contains the sound effects for this theme.&lt;br /&gt;
&lt;br /&gt;
Audio data entry structure:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| CWAV size.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| &lt;br /&gt;
| [[BCWAV|CWAV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In certain cases there may be more data starting at offset 0x8 than what&#039;s listed above, before the CWAV.&lt;br /&gt;
&lt;br /&gt;
=Built-in themes=&lt;br /&gt;
The built-in themes are stored at Home Menu RomFS:/theme/&amp;lt;Color&amp;gt;_LZ.bin, the format appears to be the same as body_LZ.bin in the theme DLC content.&lt;/div&gt;</summary>
		<author><name>Clienthax</name></author>
	</entry>
</feed>