Changes

Jump to navigation Jump to search
907 bytes added ,  03:30, 1 April 2009
Updates, new info
Line 1: Line 1: −
'''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.
+
'''Opening.bnr''', also known as 00000000.app, 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 (as is 00000000.app for channels), and it is used to display the banner (the channel animation). Even though Opening.bnr 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==
 
==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 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, which is a MD5 sum of 0x40 to 0x640 in the header.
    
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.
 
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.
Line 16: Line 16:  
|-
 
|-
 
| /meta/  
 
| /meta/  
| Directory  
+
| Directory
 
|-
 
|-
 
| [[#banner.bin and icon.bin|/meta/banner.bin]]  
 
| [[#banner.bin and icon.bin|/meta/banner.bin]]  
Line 29: Line 29:     
==banner.bin and icon.bin==
 
==banner.bin and icon.bin==
The banner.bin and icon.bin files are LZ77 compressed [[U8 archive|U8 archives]] themselves, each with an IMD5 header, containing the MD5 of the file.
+
The banner.bin and icon.bin files are (usually, though not required to be) LZ77 compressed [[U8 archive|U8 archives]] themselves, each with an IMD5 header, containing the MD5 of the file (described below).
    
More information on LZ77 compression can be found on [http://en.wikipedia.org/wiki/LZ77_and_LZ78 Wikipedia].  Example C# source is available in the [[#Tools and Example Source|Tools and Example Source]] section.
 
More information on LZ77 compression can be found on [http://en.wikipedia.org/wiki/LZ77_and_LZ78 Wikipedia].  Example C# source is available in the [[#Tools and Example Source|Tools and Example Source]] section.
    
The banner.bin and icon.bin U8 archives have a file format like this:
 
The banner.bin and icon.bin U8 archives have a file format like this:
<pre>
+
{| class="wikitable"
/arc/
+
|-
/arc/anim/
+
! Full Path
/arc/anim/*.brlan
+
! Description
/arc/blyt/
+
|-
/arc/blyt/*.brlyt
+
| /arc/  
/arc/timg/
+
| Directory
/arc/timg/*.tpl
+
|-
</pre>
+
| /arc/anim/  
 +
| Contains the images and animation displayed when the channel is selected.
 +
|-
 +
| /arc/anim/*.brlan
 +
| Contains the animation.
 +
|-
 +
| /arc/rlyt/  
 +
| Contains the images and animation displayed when the channel is selected.
 +
|-
 +
| /arc/rlyt/*.brlyt
 +
| Contains the layout used in the animation.
 +
|-
 +
| /arc/timg/
 +
| Contains the images used.
 +
|-
 +
| /arc/anim/*.tpl
 +
| The images, in standard GC TPL format.
 +
|}
    
===TPL Files===
 
===TPL Files===
The TPL files are textures. They can be read by the tplx program from the gcube library.
+
The TPL files are textures. They can be read by the tplx program from the gcube library, and created using gentpl from benzin.
 
     −
The format is also described in [[YAGCD]] at http://pabut.homeip.net:8000/yagcd/chap14.html#sec14.4.
+
The format is also described in [[YAGCD]] at http://pabut.homeip.net:8000/yagcd/chap14.html#sec14.4. It can contain many different independent texture formats, with varying sizes and supports, and can contain multiple textures in one file.
    
===brlan Files===
 
===brlan Files===
brlan files are described in the [[Wii Animations#Animations_.28.2A.brlan.29|Wii Animations]] section.
+
brlan files are described in the [[Wii Animations#Animations_.28.2A.brlan.29|Wii Animations]] section, and can be created and parsed with [[benzin]].
    
===brlyt Files (Layout)===
 
===brlyt Files (Layout)===
brlyt files are described in the [[Wii Animations#Textures_and_Material_lists_.28.2A.brlyt.29|Wii Animations]] section.
+
brlyt files are described in the [[Wii Animations#Textures_and_Material_lists_.28.2A.brlyt.29|Wii Animations]] section, and can be created and parsed with [[benzin]].
    
==sound.bin==
 
==sound.bin==
sound.bin has an IMD5 header, currently 3 formats have been discovered.
+
sound.bin also has an IMD5 header. Currently, three sound.bin formats have been discovered.
 
      
{| class="wikitable"
 
{| class="wikitable"
Line 72: Line 87:  
| WAV  
 
| WAV  
 
| 0x52 0x49 0x46 0x46 (RIFF)  
 
| 0x52 0x49 0x46 0x46 (RIFF)  
| Standard wav/pcm format, only plays once. Can be LZ77 compressed.
+
| Standard wav/(16 bit) PCM format, supports having an intro sound and a loop point using the tool Wavosaur (PC). Can be LZ77 compressed.
 
|-
 
|-
 
| AIFF  
 
| AIFF  
 
| 0x46 0x4F 0x52 0x4D (FORM)  
 
| 0x46 0x4F 0x52 0x4D (FORM)  
| Standard AIFF/pcm format, only plays once. Can be LZ77 compressed.
+
| Standard AIFF/PCM format, only plays once. Can be LZ77 compressed.
 
|}
 
|}
   Line 97: Line 112:  
     u32 sizes[3]; // icon.bin, banner.bin, sound.bin
 
     u32 sizes[3]; // icon.bin, banner.bin, sound.bin
 
     u32 flag1; // unknown
 
     u32 flag1; // unknown
u8 names[7][84]; // JP, EN, DE, FR, ES, IT, NL
+
    u8 names[7][84]; // JP, EN, DE, FR, ES, IT, NL
 
     u8 zeroes_2[0x348]; // padding
 
     u8 zeroes_2[0x348]; // padding
 
     u8 crypto[16]; // MD5 of 0x40 to 0x640 in header. crypto should be all 0's when calculating final MD5
 
     u8 crypto[16]; // MD5 of 0x40 to 0x640 in header. crypto should be all 0's when calculating final MD5

Navigation menu