In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Opening.bnr"

From WiiBrew
Jump to navigation Jump to search
(Mostly formatting changes but highlighting areas that need updating where new info is found.)
m (Changing brlan and brlyt to link to dasda's Wii Animations page.)
Line 41: Line 41:
  
 
===brlan Files===
 
===brlan Files===
'''Outdated info - in progress of being updated''':
+
brlan files are described in the [[Wii Animations#Animations_.28.2A.brlan.29|Wii Animations]] section.
The brlan files (located in the "anim" folder), are some kind of animation scripts. There could be multiple scripts, for example:
 
  Banner_Start.brlan
 
  Banner_Loop.brlan
 
The scripts doesn't use the names of the TPL-files when using images in the animation, instead it uses names which are defined in the blyt-file.
 
 
 
Currently the following info has been worked out from the file used in the icon.bin (banner.bin should be similar) (this is from looking at the file in a standard hex editor - e.g WinHex):
 
<pre>
 
First Line:
 
first 8 bytes RLAN FE FF 00 08
 
next 4 bytes = Size of data from RLAN (inclusive)
 
next 2 bytes = Offset to first "section"? (so far 00 10 only)
 
next 2 bytes = 00 01 = not sure
 
 
 
2nd Line:
 
first 4 bytes = pai1
 
next 4 bytes = size of section
 
next 4 bytes........
 
RRR - 09 60 01 00
 
SPM - 03 20 01 00
 
MOH2- 02 B2 01 00
 
NMH - 00 78 01 00
 
 
 
next 4 bytes = number of brlyt image references (00 00 00 01 for RRR, 00 00 00 03 for SPM, 00 00 00 02 for MOH2)
 
 
 
 
 
3rd line:
 
First 4 bytes = unknown, so far has been
 
00 00 00 14
 
Next 4 bytes * brlyt image references = unknown, Offset (from p in pai1) to first name of some sort? (name that is in BRLYT file).
 
</pre>
 
  
 
===brlyt Files (Layout)===
 
===brlyt Files (Layout)===
'''Outdated info - in progress of being updated''':
+
brlyt files are described in the [[Wii Animations#Textures_and_Material_lists_.28.2A.brlyt.29|Wii Animations]] section.
The blyt-file contains information about every object, what file it is in, index in file (a TPL can hold more than 1 picture), plus a bunch of unknown properties.
 
I've also found if-statements in the bottom of the .brlyt file. They change the objects depending on what language your system uses (either TM or (R)).
 
 
 
 
 
The data structure worked out so far has been (as with brlan, only icon.bin has been used so far):
 
<pre>
 
First Line:
 
first 8 bytes RLYT FE FF 08
 
next 4 bytes = size of data including RLYT
 
next 2 bytes = offset to first section (00 10)
 
next 2 bytes = unsure:
 
RRR - 00 09
 
SPM - 00 0B
 
MOH2- 00 0B
 
NMH - 00 09
 
 
 
2nd line:
 
first 4 bytes = lyt1
 
next 4 bytes = size of lyt1
 
next 8 bytes = seems to always be
 
01 00 00 00 44 18 00 00
 
 
 
3rd line:
 
first 4 bytes (continuation of last 8 bytes?):
 
43 E4 00 00
 
next 4 bytes: txl1
 
next 4 bytes: size of txl1
 
next 2 bytes: number of files
 
next 2 bytes: 00 00
 
4th Line:
 
next 4 bytes * number of files = offset of names
 
 
 
 
 
From txl1 + size of txl1:
 
mat1
 
Next 4 bytes: Size of mat1.
 
Next 2 bytes: number of "Pictures"
 
Next 2 bytes: nulls
 
Next 4 bytes * number of pictures: offset of picture names.
 
Not sure on the rest at the moment
 
 
 
 
 
From mat1 + size of mat1.
 
pan1
 
Next 4 bytes: Size of pan1. (always 4c?)
 
Next 4 bytes: 01 04 FF 00 ?
 
Next x bytes: RootPane usually + ??
 
 
 
 
 
From pan1 + Size of pan1.
 
pas1
 
Next 4 bytes: Size of pas1 (has been 8 pan1 + 4 bytes for size)
 
 
 
 
 
From pas1 + size of pas1
 
bnd1 or pic1
 
 
 
 
 
bnd1
 
Next 4 bytes: Size of bnd1
 
Next 4 bytes: 01 04 FF 00 ??
 
</pre>
 
  
 
==sound.bin==
 
==sound.bin==

Revision as of 12:00, 7 May 2008

Opening.bnr is a file related to Wii homebrew development. The file is one of the first read by the Wii when a new DVD is inserted, and it is used to display the banner (the channel animation). Even though it shares the name with the file on the GameCube, the content of the file has no resemblance to the GC Opening.bnr file.

Description

Opening.bnr consists of two parts, an IMET header which is (almost) identical to the latter of part A (starting from Zeroes_1) in Content.bin (see Content.bin file structure). However, the last 16 bytes contain some randomly-looking bytes, most likely an MD5 sum.

Opening.bnr is also stored in the console specific encrypted area of content.bin (a copy of icon.bin is in the SD encrypted area). For some of the channels a generic opening.bnr (which doesn't resemble the actual banner) is stored in the NAND under the \META tree as TITLE.MET. Their purpose is unknown. The proper ones can be found in the unencrypted NAND as one of the .app files, however currently there doesn't appear to be any logic to which one is which. Also some of those the offset to the IMET header is at 0x80 instead of 0x40.

After the header follows an U8 archive. This is an archive consisting of the following contents:


Template:Table Template:Table/Header Template:Table/Row Template:Table/Row Template:Table/Row Template:Table/Row |}

banner.bin and icon.bin

The banner.bin and icon.bin files are LZ77 compressed U8 archives themselves, each with an IMD5 header, containing the MD5 of the file.

More information on LZ77 compression can be found on Wikipedia. Example C# source is available in the Tools and Example Source section.

The banner.bin and icon.bin U8 archives have a file format like this:

/arc/
/arc/anim/
/arc/anim/*.brlan
/arc/blyt/
/arc/blyt/*.brlyt
/arc/timg/
/arc/timg/*.tpl

TPL Files

The TPL files are textures. They can be read by the tplx program from the gcube library.


The format is also described in YAGCD at http://pabut.homeip.net:8000/yagcd/chap14.html#sec14.4.

brlan Files

brlan files are described in the Wii Animations section.

brlyt Files (Layout)

brlyt files are described in the Wii Animations section.

sound.bin

sound.bin has an IMD5 header, currently 3 formats have been discovered.


Template:Table Template:Table/Header Template:Table/Row Template:Table/Row Template:Table/Row |}

Tools and Example Source

Template:Table Template:Table/Header Template:Table/Row Template:Table/Row Template:Table/Row Template:Table/Row Template:Table/Row |}