ctr_makebannerctr_makebanner is a tool for creating BNR (ctr BaNneR model data) and ICN (ctr ICoN data).
BNR and ICN files are generated based on the content in banner spec files (BSF).
BNR files contain banner model data and sound data. ICN files contain banner headers and 2D icon data.
You will need the following to create BNR and ICN files:
ctr_BannerModelConverterctr_TexturePackager, or an NW4C TGA file for large and small icons created by the NW4C plug-in.
ctr_WaveConverter
BSF files contain the information required to create BNR and ICN files. They must be created individually for each application.
% ctr_makebanner32 [-d] BANNERSPECFILE [BANNERFILE] [ICONFILE]
% ctr_makebanner32 [-d] -noicn BANNERSPECFILE [BANNERFILE]
% ctr_makebanner32 [-d] -nobnr BANNERSPECFILE [ICONFILE]
You must specify BANNERSPECFILE (the BSF file). All other options are optional.
| Options | Description |
|---|---|
-noicn |
Does not output ICN files. |
-nobnr |
Does not output BNR files. |
-d |
Provides detailed output for debugging. |
BANNERFILE |
Specifies a BNR file. If omitted, the output file will have the same basename as the BSF file used as input, but will have a file extension of .bnr instead of .bsf. |
ICONFILE |
Specifies an ICN file. If omitted, the output file will have the same basename as the BSF file used as input, but will have a file extension of .icn instead of .bsf. |
This file contains the settings for the BNR and ICN files to be generated.
It must be coded and saved in Unicode (UTF-16LE with BOM).
Notepad in Microsoft Windows 2000, Windows XP, Windows Vista, and Windows 7 supports Unicode.
Select Unicode from the Encoding drop-down list when saving the file.
The delimiter between parameter specifications and values is a colon (:). If the same parameter occurs more than once, the instance written last in the file is used.
Parameter specifications must come at the beginning of each line.
All characters after a "#" are treated as a comment.
Space and tab characters at the beginning and ending of the value are ignored. All other spaces are included in the string. If you want to include leading spaces or if you want to include quotation marks ("), "#" symbols, or colons (:) in the string, surround the string with quotation marks ("").
The BSF file format is shown below.
BigIconFile: # 48x48-pixel icon filename
LittleIconFile: # 24x24-pixel icon filename
ModelFile: # Banner model filename
SoundFile: # Sound filename
JoinGameId: # Join-in game ID
JoinGameModeMask: # Join-in game mode mask
CecUniqueId: # StreetPass unique ID
Region: # Card region
Ulcd: # Stereoscopic vision flag
AgreeEula: # EULA agreement required flag
AutoSave: # Auto save flag
ExBanner: # Extended banner use flag
SaveData: # Save data use flag
ThumbnailFrame: # Banner animation best frame
JPLongName: # Title name displayed on two lines (Japanese)
ENLongName: # Title name displayed on two lines (English)
FRLongName: # Title name displayed on two lines (French)
GELongName: # Title name displayed on two lines (German)
ITLongName: # Title name displayed on two lines (Italian)
SPLongName: # Title name displayed on two lines (Spanish)
DULongName: # Title name displayed on two lines (Dutch)
POLongName: # Title name displayed on two lines (Portuguese)
RULongName: # Title name displayed on two lines (Russian)
CNLongName: # Title name displayed on two lines (Simplified Chinese) Note: For this item only, characters are restricted to a maximum of 108 characters.
See the detailed description below.
KRLongName: # Title name displayed on two lines (Korean)
TWLongName: # Title name displayed on two lines (Traditional Chinese)
JPShortName: # Title name displayed on one line (Japanese)
ENShortName: # Title name displayed on one line (English)
FRShortName: # Title name displayed on one line (French)
GEShortName: # Title name displayed on one line (German)
ITShortName: # Title name displayed on one line (Italian)
SPShortName: # Title name displayed on one line (Spanish)
DUShortName: # Title name displayed on one line (Dutch)
POShortName: # Title name displayed on one line (Portuguese)
RUShortName: # Title name displayed on one line (Russian)
CNShortName: # Title name displayed on one line (Simplified Chinese)
KRShortName: # Title name displayed on one line (Korean)
TWShortName: # Title name displayed on one line (Traditional Chinese)
JPPublisher: # Publisher name (Japanese)
ENPublisher: # Publisher name (English)
FRPublisher: # Publisher name (French)
GEPublisher: # Publisher name (German)
ITPublisher: # Publisher name (Italian)
SPPublisher: # Publisher name (Spanish)
DUPublisher: # Publisher name (Dutch)
POPublisher: # Publisher name (Portuguese)
RUPublisher: # Publisher name (Russian)
CNPublisher: # Publisher name (Simplified Chinese)
KRPublisher: # Publisher name (Korean)
TWPublisher: # Publisher name (Traditional Chinese)
RatingRequired: # Rating flag
CERO: # CERO rating (Japan)
ESRB: # ESRB rating (Americas)
USK: # USK rating (Europe)
PEGI_GEN: # PEGI rating (Required for titles sold in Europe outside of Portugal and the United Kingdom)
PEGI_PRT: # PEGI rating (Required for titles sold in Portugal)
PEGI_BBFC: # PEGI and BBFC ratings ((Required for titles sold in United Kingdom)
COB: # COB rating (Australia)
GRB: # GRB rating (Korea)
CGSRR: # CGSRR rating (Taiwan)
ISBN: # ISBN number (Required only in Chinese region. Note: There are exceptions. See the ISBN item below)
HTDJH: # Contract Registration Number (Required only in Chinese region. Note: There are exceptions. See the ISBN section later in this document.)
XCSZ_L: # GAPP Number (Required only in Chinese region. Note: There are exceptions. See the ISBN section later in this document.)
XCSZ_R: # Gapp Number (Required only in Chinese region. Note: There are exceptions. See the ISBN item below)
Set the values using the following format:
Key Name: Value
Use the following notation for two-line text, such as long title names.
Key Name Value Line 1
Value Line 2
BSF files contain the information required to create BNR and ICN files. They must be created individually for each application.
| Item | Description | Comments |
|---|---|---|
BigIconFile |
A 48x48-pixel icon filename. Specifies an icon filename as a file path. Either a relative or absolute path to the .bsf file may be used.Specify a TGA file created by the NW4C plug-in (48*48 RGB 565, no mipmap) or a 48*48 CTPK file (CTR icon package) created by the CTR-SDK TexturePackager with the -dsl option. |
You must select the For Layout check box in the plug-in dialog box to save a 48*48 TGA file. There is a bug where a few pixels of the top centers of large icons do not appear correctly in some built-in applications. See Known Issues (posted on WarioWorld) for details about workarounds. |
LittleIconFile |
A 24x24-pixel icon filename. Specifies an icon filename as a file path. Either a relative or absolute path to the .bsf file may be used.Specify a TGA file created by the NW4C plug-in (24*24 RGB 565, no mipmap) or a 24*24 CTPK file (CTR icon package) created by the CTR-SDK TexturePackager with the -dsl option. |
You must select the For Layout check box in the plug-in dialog box when saving a 24*24 TGA file. |
ModelFile |
Specifies a banner model filename. Specify a .cbmd file that was created using BannerModelConverter, included in the CTR-SDK.Either a relative or absolute path to the .bsf file may be used.
|
|
SoundFile |
Specifies a sound filename. Specify a .bcwav file that was created using WaveConverter, included in the CTR-SDK.Either a relative or absolute path to the .bsf file may be used.
|
|
JoinGameId |
The matchmaking game ID. This information is to identify game titles that support online features. Specify as an 8-digit hexadecimal value. A prefix indicating hexadecimal notation (such as 0x or h) is not required. |
|
JoinGameModeMask |
The matchmaking game mode mask. Specify as a 16-digit hexadecimal value. A prefix indicating hexadecimal notation (such as 0x or h) is not required. |
|
CecUniqueId |
The StreetPass unique ID. Specify as a 6-digit hexadecimal value. A prefix indicating hexadecimal notation (such as 0x or &h) is not required. When there is newly arrived data for the StreetPass box for the unique ID specified here, an update indicator is displayed on the application icon displayed in the HOME Menu.You must generally specify the application's unique ID, but you can instead specify a different unique ID for StreetPass between multiple applications, such as between different versions of the same application or between applications in a series. |
|
Region |
Indicates the card region. Software runs only when this matches the console's region. The following strings can be specified.Japan JapanAmerica The AmericasEurope Europe and AustraliaChina ChinaKorea KoreaTaiwan Taiwan and Hong KongAll Unrestricted. (For debug use only. Not available for submitted ROMs.) |
|
Ulcd |
Be sure to specify true for applications that can use stereoscopic vision. Specify either true or false.This flag is used as a determinant when 3D screen display is restricted in Parental Controls. |
Default: true |
AgreeEula |
Specify true for applications that require Internet communication features or StreetPass to advance. Specify either TRUE or FALSE.When the application is launched before the EULA has been agreed to, the HOME Menu first seeks user agreement to the EULA. |
Default: false |
AutoSave |
Specify true for applications that always auto-save when exiting the application.The warning message that appears when exiting an application from the HOME Menu changes depending on this flag. True --- Exits without displaying message. (But if another application has been launched, this message displays: Would you like to close this software? (Data will be saved.))False --- This message displays: Would you like to close this software? (Anything not saved will be lost.)Specify either true or false. An auto-save is performed when the application exits, but if not all data will be saved at such times, decide whether to specify true or false based on what you think users expect to be saved at such times.
|
Default: false |
ExBanner |
Be sure to specify true for applications that use extended banners. Specify either true or false. |
Default: false |
SaveData |
Be sure to specify true for applications that use save data, extended save data, etc.With this flag, when terminating the application from the HOME Menu let the user know that auto save occurs and that the save data will be deleted. Specify either true or false. |
Default: true |
ThumbnailFrame |
Represents a representative frame of the banner animation. Specify a value greater than 0 and less than 600. Be sure to specify the most representative frame in the banner. Specify as a floating point number. Note: Used for displaying a stopped (static) banner. (Details to be decided.) |
|
JPLongName |
This is the Japanese title, displayed on two lines. Specify using a newline between the two lines. Leading spaces are ignored in this case. There are restrictions on character widths. For this region, each line can hold up to 16 double-byte characters plus the width equivalent to 3 sinlge-byte (ASCII) "i" characters. The restriction on the number of characters is a maximum of 128 characters (including the newline and the terminator) on these two lines. Only use one line if text can fit on one line. |
Required for Japanese region. |
ENLongName |
This is the English title, displayed on two lines. This item is required for every application in every region. If your application has no English title, configure this item with its title in one of the languages it does support. Everything else is the same as above. |
Required for all regions. |
FRLongName |
This is the French title, displayed on two lines. Everything else is the same as above. | |
GELongName |
This is the German title, displayed on two lines. Everything else is the same as above. | |
ITLongName |
This is the Italian title, displayed on two lines. Everything else is the same as above. | |
SPLongName |
This is the Spanish title, displayed on two lines. Everything else is the same as above. | |
DULongName |
This is the Dutch title, displayed on two lines. Everything else is the same as above. | |
POLongName |
This is the Portuguese title, displayed on two lines. Everything else is the same as above. | |
RULongName |
This is the Russian title, displayed on two lines. Everything else is the same as above. | |
| KRLongName | This is the Korean title, displayed on two lines. Everything else is the same as above. | Required for Korean region. |
| TWLongName | This is the Chinese title in traditional Chinese, displayed on two lines. Everything else is the same as above. | Required for Taiwan/Hong Kong region |
| CNLongName | This is the Chinese title in simplified Chinese, displayed on two lines. Note: ISBN and other information are embedded at the end of the title name in a region 20 characters in size. So for this item only, characters are restricted to a maximum 108 characters. |
Required for Chinese region. |
JPShortName |
Indicates a one-line display title name in Japanese. There is a restriction on character width. It should fit within the width of 17 double-byte characters. The restriction on the number of characters allows for up to 64 characters (including newlines and a null terminator) to be used. Either enter enough on one of the two lines to distinguish the title or omit some of the two lines of text. If you just can't make the short title fit one line, add an ellipsis (...) at the end to indicate the title has been cut off in the middle. |
Required for Japanese region. |
ENShortName |
This is the English title, displayed on one line. This item is required for every application in every region. If your application has no English title, configure this item with its title in one of the languages it does support. Everything else is the same as above. |
Required for all regions. |
FRShortName |
This is the French title, displayed on one line. Everything else is the same as above. | |
GEShortName |
This is the German title, displayed on one line. Everything else is the same as above. | |
ITShortName |
This is the Italian title, displayed on one line. Everything else is the same as above. | |
SPShortName |
This is the Spanish title, displayed on one line. Everything else is the same as above. | |
DUShortName |
This is the Dutch title, displayed on one line. Everything else is the same as above. | |
POShortName |
This is the Portuguese title, displayed on one line. Everything else is the same as above. | |
RUShortName |
This is the Russian title, displayed on one line. Everything else is the same as above. | |
| KRShortName | This is the Korean title, displayed on one line. Everything else is the same as above. | Required for Korean region. |
| TWShortName | This is the Chinese title in traditional Chinese, displayed on one line. Everything else is the same as above. | Required for Taiwan/Hong Kong region |
| CNShortName | This is the Chinese title in simplified Chinese, displayed on one line. Everything else is the same as above. | Required for Chinese region. |
JPPublisher |
Indicates the Japanese publisher name. There is a restriction on character width. It should fit within the width of 17 double-byte characters. The restriction on the number of characters allows for up to 64 characters (including newlines and a null terminator) to be used. |
Required for Japanese region. |
ENPublisher |
Indicates the English publisher name. Everything else is the same as above. | Required for all regions. |
FRPublisher |
Indicates the French publisher name. Everything else is the same as above. | |
GEPublisher |
Indicates the German publisher name. Everything else is the same as above. | |
ITPublisher |
Indicates the Italian publisher name. Everything else is the same as above. | |
SPPublisher |
Indicates the Spanish publisher name. Everything else is the same as above. | |
DUPublisher |
Indicates the Dutch publisher name. Everything else is the same as above. | |
POPublisher |
Indicates the Portuguese publisher name. Everything else is the same as above. | |
RUPublisher |
Indicates the Russian publisher name. Everything else is the same as above. | |
| KRPublisher | Indicates the Korean publisher name. Everything else is the same as above. | Required for Korean region. |
| TWPublisher | Indicates the Chinese publisher name in traditional Chinese. Everything else is the same as above. | Required for Taiwan/Hong Kong region |
| CNPublisher | Indicates the Chinese publisher name in simplified Chinese. Everything else is the same as above. | Required for Chinese region. |
RatingRequired |
Specifies whether a rating must be obtained for the application. Specify true for almost all applications. If false is specified, no ratings can be set from any rating organization.Specify either true or false. |
Default: true |
CERO |
Sets the CERO rating (Japan). Specify as a numeric value.0 A (all ages)12 B (age 12 and up)15 C (age 15 and up)17 D (age 17 and up)18 Z (age 18 and up)Pending Under review |
For Japanese region. |
ESRB |
Sets the ESRB rating (Americas). Specify as a numeric value. 3 EARLY CHILDHOOD (EC, all ages) 6 EVERYONE (E, age 6 and up) 10 EVERYONE10+ (E10+, age 10 and up) 13 TEEN (T, age 13 and up) 17 MATURE (M, age 17 and up)Pending Under review |
For Americas region |
USK |
Sets the USK rating (Europe). Specify as a numeric value.0 No age restriction6 age 6 and up12 age 12 and up16 age 16 and up18 Inappropriate for minorsPending Under review |
For European region. |
PEGI_GEN |
Sets the PEGI_GEN rating (Europe). Specify as a numeric value.3 age 3 and up7 age 7 and up12 age 12 and up16 age 16 and up18 age 18 and upPending Under review |
For European region (Required for titles sold in Europe outside of Portugal and the United Kingdom) |
PEGI_PRT |
Sets the PEGI_PRT rating (Europe). Specify as a numeric value.4 age 4 and up6 age 6 and up12 age 12 and up16 age 16 and up18 age 18 and upPending Under review |
For European region (Required for titles sold in Portugal) |
PEGI_BBFC |
Sets the PEGI_BBFC rating (Europe). Specify as a numeric value.3 age 3 and up4 U, Uc (recommended for age 4 and up)7 age 7 and up8 PG (recommended for age 8 and up)12 age 12 and up15 age 15 and up16 age 16 and up18 age 18 and upPending Under review |
For European region (Required for titles sold in United Kingdom) |
COB |
Sets the COB rating (Australia). Specify as a numeric value.0 G (General, no age specified)7 PG (Parental guidance recommended, no age specified)14 M (Recommended for adults, no age specified)15 MA15+ (Unsuitable for 15 years and younger, consent or a parent or guardian required for 15 years or younger)Pending Under review |
For European region. |
| GRB | Sets the GRB rating (Korea). Specify as a numeric value. 0 All ages 12 12 years or older 15 15 years or older 18 Not for minors Pending Under review |
For Korean region. |
| CGSRR | Sets the CGSRR rating (Taiwan). Specify as a numeric value. 0 General (all ages) 6 Protect (ages 6 and up) 12 Counsel 12 (ages 12 and up) 15 Counsel 15 (ages 15 and up) 18 Restrict (ages 18 and up) Pending Under review |
For Taiwan/Hong Kong region. |
| ISBN | The ISBN number. Maximum 17 characters of ASCII code, hyphens included. (Example: AAA-B-CCCCC-DDD-X). Use hyphens when entering ISBN numbers. The positions of the hyphens may vary depending on the application. Note: If you specify Pending for the ISBN item, then ISBN, HTDJH, XCSZ_L, XCSZ_R are no longer required. Specify Pending for applications that are still under development, and for special applications that do not require ISBN display. |
Item required for the Chinese region. Cannot be set for other regions. |
| HTDJH | The Contract Registration Number. Maximum of 12 characters of ASCII code. | Item required for the Chinese region. Cannot be set for other regions. |
| XCSZ_L | GAPP Number (China-specific information displayed on left side). Maximum of 4 characters of ASCII code. | Item required for the Chinese region. Cannot be set for other regions. |
| XCSZ_R | GAPP Number (China-specific information displayed on right side). Maximum of 4 characters of ASCII code. | Item required for the Chinese region. Cannot be set for other regions. |
| Japanese | English | French | German | Italian | Spanish | Simplified Chinese | Korean | Dutch | Portuguese | Russian | Traditional Chinese | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Japanese market | ◎ | ◎ | ||||||||||
| American market | ◎ | ○ | ○ | ○ | ||||||||
| European and Australian markets | ◎ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||
| Chinese market | ◎ | ◎ | ||||||||||
| Korean market | ◎ | ◎ | ||||||||||
| Taiwan/Hong Kong region | ◎ | ◎ |
sample.bsf
#BSF --- Banner Spec File
LittleIconFile: little.ctpk
BigIconFile: big.ctpk
ModelFile: model.cbmd
SoundFile: sound.bcwav
Region:Japan # Comment
Ulcd:True
AutoSave:False
SaveData:True
ThumbnailFrame:0
CERO:0
JPLongName: Long title name
"subtitle:symbol#"
JPShortName: Short title name
JPPublisher: Publisher
.bsf file with a CERO rating of all ages and 3D display with save data.
The usable characters will vary for different regions.
For details, see the lists of charters allowed in different regions.
The following restrictions apply to banner data.
The compressed volume of data after conversion must be no larger than 1MB.
For details, see ctr_BannerModelConverter.
Note: Data in violation of these restrictions causes an error during conversion by BannerModelConverter.
The following restrictions apply to sound files.
Note: Data in violation of these restrictions causes an error during conversion by BannerModelConverter. (Not implemented.)
OMakefile
See Build Rules for more information about the variables defined in OMakefile.
.tga files with a format other than ETC were specified in BigIconFile or LittleIconFile.CecId item and added CecUniqueId item.BigIconFile and other items that this is the relative path to the BSF file.LongName to 16 full-width characters plus 3 half-width "i" characters per line.makebanner to output files to a relative path from the current directory instead of a AgreeEULA flag.CBMD) or no sound file (BCWAV),KR to the correct KO.CONFIDENTIAL