Changes

284 bytes added ,  20:57, 13 November 2020
Fixed the rest of the offset values
Line 8: Line 8:  
When Home Menu loads extended-banners, it also attempts to load a "[[CBMD]]" banner via [[BOSS_Services|SpotPass]] service commands. Normally this CBMD banner doesn't exist in extended-banner extdata. This is [[BOSS_Services|broken]] with New3DS titles since Home Menu uses these BOSS commands with the New3DS bitmask in the programID set. The common and language-specific(when offset is non-zero) "CGFX" specified by the CBMD are decompressed and processed.
 
When Home Menu loads extended-banners, it also attempts to load a "[[CBMD]]" banner via [[BOSS_Services|SpotPass]] service commands. Normally this CBMD banner doesn't exist in extended-banner extdata. This is [[BOSS_Services|broken]] with New3DS titles since Home Menu uses these BOSS commands with the New3DS bitmask in the programID set. The common and language-specific(when offset is non-zero) "CGFX" specified by the CBMD are decompressed and processed.
   −
The "CGFX" sections in this CBMD are actually the exact same exbanners loaded from normal extdata. The exbanner data from SpotPass is stored to the same state as the extdata-exbanners. The exbanners from SpotPass must have a timestamp less than current_datetime, otherwise they won't be parsed. No CWAV is loaded from SpotPass data.
+
The "CGFX" sections in this CBMD are actually the exact same exbanners loaded from normal extdata. The exbanner data from SpotPass is stored to the same state as the extdata-exbanners. No CWAV is loaded from SpotPass data.
 +
 
 +
The exbanners from SpotPass must have a timestamp less than current_datetime, otherwise they won't be parsed. The timestamp for the banner is calculated with: <code>nintimestamp_mktime(out, exbanner->year, exbanner->month, exbanner->day, <hour=23>, <minute = 59>, <second = 59>, <millisecond = 999>);</code>
    
== Format ==
 
== Format ==
Line 32: Line 34:  
|  Texture colour format (if texture is used)
 
|  Texture colour format (if texture is used)
 
|-
 
|-
0x008
+
0x006
 
|  0x004
 
|  0x004
 
|  Year to expire
 
|  Year to expire
 
|-
 
|-
0x00C
+
0x00A
 
|  0x002
 
|  0x002
 
|  Month to expire
 
|  Month to expire
 
|-
 
|-
0x010
+
0x00C
 
|  0x002
 
|  0x002
 
|  Day to expire
 
|  Day to expire
 
|-
 
|-
0x014
+
0x00E
0x015
+
0x016
 
|  Name of texture (if texture is used)
 
|  Name of texture (if texture is used)
 
|-
 
|-
Line 52: Line 54:  
|  Plain text comment (255 character max) to be displayed in the banner on the HOME Menu
 
|  Plain text comment (255 character max) to be displayed in the banner on the HOME Menu
 
|-
 
|-
0x2A4
+
0x224
 
|   
 
|   
 
|  If used, this is where the extra texture is located, otherwise file ends.
 
|  If used, this is where the extra texture is located, otherwise file ends.
Line 58: Line 60:  
|}
 
|}
   −
The date used for never-expiring exbanners varies, on retail like with Mii Maker this is December 31, 2099, where year is 0x833, month is 0xC, and day is 0x1F.
+
The date used for never-expiring exbanners varies, on retail like with Mii Maker this is December 31, 2099, where year is 0x833, month is 0xC, and day is 0x1F. The expiration-timestamp is only used for SpotPass exbanners, not extdata-exbanners.
    
== Texture Colour Formats ==
 
== Texture Colour Formats ==
1

edit