Difference between revisions of "CBMD"

From 3dbrew
Jump to navigation Jump to search
(Moved the BCWAV info from the BCWAV page to here. (As it only applies to BCWAVs found in banners.))
 
(8 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This page describes the format used for banners. These are stored in [[CXI]] ExeFS:/banner and optionally in [[extdata]] exbanner.
+
[[Category:File formats]]
 +
'''CBMD - CTR Banner Model Data'''
 +
 
 +
This page describes the format used for banners' models. These are stored in [[NCCH#CXI|CXI]] ExeFS:/banner and optionally in [[extdata]] exbanner.
 +
CBMD is a container file for [[CGFX]] blocks. This is used for banners of titles you see in the home menu. BNR used for the app banners in the CXI/exbanner is the same as CBMD with CWAV at the end.
  
 
== CBMD Header ==
 
== CBMD Header ==
Line 18: Line 22:
 
| 0x8
 
| 0x8
 
| 0x4
 
| 0x4
| Offset for common CGFX
+
| Offset for common [[CGFX]]
 
|-
 
|-
 
| 0xc
 
| 0xc
 
| 0x34
 
| 0x34
| Optional offsets for region/language specific CGFX
+
| Optional offsets for region/language specific [[CGFX]]
 
|-
 
|-
 
| 0x40
 
| 0x40
Line 30: Line 34:
 
| 0x84
 
| 0x84
 
| 0x4
 
| 0x4
| CWAV offset
+
| [[BCWAV]] offset
 
|}
 
|}
  
The common CGFX is used if the CGFX offset for the system region/language is zero. Those optional offsets can be used in extdata exbanner, but separate CBMD banner files for each region/language can be used as well.
+
The common [[CGFX]] is used if the CGFX offset for the system region/language is zero. Those optional offsets can be used in extdata exbanner, but separate CBMD banner files for each region/language can be used as well.
  
 
=== Indexes for CGFX offset array ===
 
=== Indexes for CGFX offset array ===
Line 82: Line 86:
  
 
== CGFX ==
 
== CGFX ==
CGFX might be compressed with LZSS? For CXI banner CGFX, the decompressed size must be no larger than 0x80000.
+
 
 +
[[CGFX]] are compressed using LZ11. For CXI banner CGFX, the decompressed size must be no larger than 0x80000.
 +
 
 +
Graphics containers. Contains: 3D Models, Shaders, Objects, Materials, Textures, etc. See [[CGFX]] for more information.
 +
 
 +
== BCWAV ==
 +
 
 +
The included [[BCWAV]] total channels must be 2, and the length of the audio must be 3 seconds or less, otherwise the sound will play incorrectly (beeping/clicking) or the model may fail to load.

Latest revision as of 13:33, 20 December 2020

CBMD - CTR Banner Model Data

This page describes the format used for banners' models. These are stored in CXI ExeFS:/banner and optionally in extdata exbanner. CBMD is a container file for CGFX blocks. This is used for banners of titles you see in the home menu. BNR used for the app banners in the CXI/exbanner is the same as CBMD with CWAV at the end.

CBMD Header[edit]

Offset Length Description
0x0 0x4 Magic "CBMD"
0x4 0x4 Zero
0x8 0x4 Offset for common CGFX
0xc 0x34 Optional offsets for region/language specific CGFX
0x40 0x44 Padding?
0x84 0x4 BCWAV offset

The common CGFX is used if the CGFX offset for the system region/language is zero. Those optional offsets can be used in extdata exbanner, but separate CBMD banner files for each region/language can be used as well.

Indexes for CGFX offset array[edit]

Index Description
0 EUR-English
1 EUR-French
2 EUR-German
3 EUR-Italian
4 EUR-Spanish
5 EUR-Dutch
6 EUR-Portuguese
7 EUR-Russian
8 JPN-Japanese
9 USA-English
10 USA-French
11 USA-Spanish
12 USA-Portuguese

CGFX[edit]

CGFX are compressed using LZ11. For CXI banner CGFX, the decompressed size must be no larger than 0x80000.

Graphics containers. Contains: 3D Models, Shaders, Objects, Materials, Textures, etc. See CGFX for more information.

BCWAV[edit]

The included BCWAV total channels must be 2, and the length of the audio must be 3 seconds or less, otherwise the sound will play incorrectly (beeping/clicking) or the model may fail to load.