ctr_makebanner is a tool for creating BNR (ctr BaNneR model data) and ICN (ctr ICoN data).
BNR and ICN files are created based on the content in BSF files.
BNR files record banner model data and sound data. ICN files record banner headers and 2D icon data.
You will need the following to create BNR and ICN files:
ctr_BannerModelConverterctr_TexturePackagerctr_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.
Excluding the comments, spaces and tab characters at the beginning or end of the line 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 file name
LittleIconFile: # 24x24-pixel icon file name
ModelFile: # Banner model file name
SoundFile: # Sound file name
MatchMakeGameCode: # Matchmaking game ID
MatchMakeGameCodeBit: # Matchmaking game mode bit flag
CecID: # StreetPass 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: # 2-line display title name (Japanese)
ENLongName: # 2-line display title name (English)
FRLongName: # 2-line display title name (French)
GELongName: # 2-line display title name (German)
ITLongName: # 2-line display title name (Italian)
SPLongName: # 2-line display title name (Spanish)
CNLongName: # 2-line display title name (Chinese)
KOLongName: # 2-line display title name (Korean)
DULongName: # 2-line display title name (Dutch)
POLongName: # 2-line display title name (Portuguese)
RULongName: # 2-line display title name (Russian)
JPShortName: # 1-line display title name (Japanese)
ENShortName: # 1-line display title name (English)
FRShortName: # 1-line display title name (French)
GEShortName: # 1-line display title name (German)
ITShortName: # 1-line display title name (Italian)
SPShortName: # 1-line display title name (Spanish)
CNShortName: # 1-line display title name (Chinese)
KOShortName: # 1-line display title name (Korean)
DUShortName: # 1-line display title name (Dutch)
POShortName: # 1-line display title name (Portuguese)
RUShortName: # 1-line display title name (Russian)
JPPublisher: # Publisher name (Japanese)
ENPublisher: # Publisher name (English)
FRPublisher: # Publisher name (French)
GEPublisher: # Publisher name (German)
ITPublisher: # Publisher name (Italian)
SPPublisher: # Publisher name (Spanish)
CNPublisher: # Publisher name (Chinese)
KOPublisher: # Publisher name (Korean)
DUPublisher: # Publisher name (Dutch)
POPublisher: # Publisher name (Portuguese)
RUPublisher: # Publisher name (Russian)
RatingRequired: # Rating flag
CERO: # CERO rating (Japan)
ESRB: # ESRB rating (North America)
USK: # USK rating (Europe)
PEGI_GEN: # PEGI_GEN rating (Europe)
PEGI_PRT: # PEGI_PRT rating (Europe)
PEGI_BBFC: # PEGI_BBFC rating (Europe)
COB: # COB rating (Australia)
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 file name. Specifies an icon file name as a file path. Either a relative or absolute path may be used. Be sure to specify a *.ctpk file (CTR icon package file) containing a 48x48 icon created using the CTR-SDK TexturePackager. The icon must be created using the -dsl option. |
|
LittleIconFile |
A 24x24-pixel icon file name. Specifies an icon file name as a file path. Either a relative or absolute path may be used. Be sure to specify a *.ctpk file (CTR icon package file) containing a 24x24 icon created using the CTR-SDK TexturePackager. The icon must be created using the -dsl option. |
|
ModelFile |
Specifies a banner model file name. Be sure to specify a *.cbmd file created using BannerModelConverter included in the CTR-SDK. |
|
SoundFile |
Specifies a sound file name. Be sure to specify a *.bcwav file created using WaveConverter included in the CTR-SDK. |
|
MatchMakeGameCode |
The matchmaking game ID. This information is to identify game titles that support online titles. Specify as an 8-digit hexadecimal value. A prefix indicating hexadecimal notation (such as 0x or h) is not required. |
|
MatchMakeGameCodeBit |
Represents the matchmaking game mode bit flag. Specify as an 16-digit hexadecimal value. A prefix indicating hexadecimal notation (such as 0x or h) is not required. |
|
| CecID | The StreetPass ID. Specify as an 8-digit hexadecimal value. A prefix indicating hexadecimal notation (such as 0x or h) is not required. |
|
Region |
Indicates the card region. Software runs only when this matches the console's region. The following character strings can be specified.Japan JapanAmerica North AmericaEurope Europe or AustraliaChina ChinaKorea KoreaTaiwan TaiwanAll Unrestricted. (For debug use only. Not available for submitted ROMs.) |
|
Ulcd |
Be sure to specify true for applications that use stereoscopic vision. Specify either true or false. |
Default: true |
AgreeEula |
Be sure to specify true for applications requiring a EULA. Specify either true or false. |
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. For each line, be sure that text fits in a display space equivalent to 17 full-width characters of the Japanese code set. You can use 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. | |
| CNLongName (Not yet supported) | This is the Chinese title, displayed on two lines. Everything else is the same as above. | Required for Chinese region. |
| KOLongName (Not yet supported) | This is the Korean title, displayed on two lines. Everything else is the same as above. | Required for Korean region. |
| 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. | |
| JPShortName | Indicates a one-line display title name in Japanese. Be sure that text fits in a display space equivalent to 17 full-width characters of the Japanese code set. Up to 64 characters (including newlines and null terminator) can 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. | |
| CNShortName (Not yet supported) | This is the Chinese title, displayed on one line. Everything else is the same as above. | Required for Chinese region. |
| KOShortName (Not yet supported) | This is the Korean title, displayed on one line. Everything else is the same as above. | Required for Korean region. |
| 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. | |
| JPPublisher | Indicates the Japanese publisher name. Be sure that text fits in a display space equivalent to 17 full-width characters of the Japanese code set. However, up to 64 characters (including newlines and null terminator) can 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. | |
| CNPublisher (Not yet supported) | Indicates the Chinese publisher name. Everything else is the same as above. | Required for Chinese region. |
| KOPublisher (Not yet supported) | Indicates the Korean publisher name. Everything else is the same as above. | Required for Korean region. |
| 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. | |
| 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 (North America). 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 North American region. |
| USK | Sets the USK rating (Europe). Specify as a numeric value. 0 No age restriction 6 age 6 and up 12 age 12 and up 16 age 16 and up 18 Inappropriate for minors Pending : Under review |
For European region. |
| PEGI_GEN | Sets the PEGI_GEN rating (Europe). Specify as a numeric value. 3 age 3 and up 7 age 7 and up 12 age 12 and up 16 age 16 and up 18 age 18 and up Pending : Under review |
For European region. |
| PEGI_PRT | Sets the PEGI_PRT rating (Europe). Specify as a numeric value. 4 age 4 and up 6 age 6 and up 12 age 12 and up 16 age 16 and up 18 age 18 and up Pending : Under review |
For European region. |
| PEGI_BBFC | Sets the PEGI_BBFC rating (Europe). Specify as a numeric value. 3 age 3 and up 4 U, Uc (recommended for age 4 and up) 7 age 7 and up 8 PG (recommended for age 8 and up) 12 age 12 and up 15 age 16 and up 16 age 16 and up 18 age 18 and up Pending : Under review |
For European region. |
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. |
The following 7374 characters can be used in title names and publisher names in the Japanese, American, European, and Australian regions.
(Depending on the browser environment, some characters might not display correctly.)
In addition to these, you can also use the single-byte space (Space 0x0020), double-byte space (IDEOGRAPHIC SPACE 0x3000) and non-breaking space (NO-BREAK SPACE 0x00a0).
The following restrictions apply to banner data.
Note: These restrictions are provisional. Subject to change in the future.
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.)
Refer to Build Rules (ctr_makebanner) for more information about variables defined within the OMakefile.
CONFIDENTIAL