ctr_makebanner

Table of Contents

  1. Introduction
  2. How to Use
  3. BSF
  4. List of Characters Allowed in Title Names and Publisher Names
  5. Data Restrictions
  6. Variables Defined Within OMakefiles
  7. Revision History

Introduction

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.

How to Use

What's Required

You will need the following to create BNR and ICN files:

BSF files contain the information required to create BNR and ICN files. They must be created individually for each application.

Commands

% 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

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.

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.

Parameters

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.

Format

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 ("").

Format

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:

Specifying Single Values

Specify single values as follows:

Key Name: Value

Use the following notation for two-line text, such as long title names.
Although Unicode includes several characters that indicate a newline, use CR LF (0x00d 0x000a) for line breaks.
The newline code entered when using Notepad included in Microsoft Windows 2000, XP, Vista, and 7 is okay as is.

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.

Notes

Descriptions of the settings for each of these items are shown below.
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.
Specify a CBMD file that was created using BannerModelConverter (included in the CTR-SDK).
Either a relative or absolute path may be used.
SoundFile Specifies a sound file name.
Specify a BCWAV file that was created using WaveConverter (included in the CTR-SDK).
Either a relative or absolute path may be used.
MatchMakeGameCode The matchmaking game ID. This information is to identify game titles that support online titles.
Specify as an 8-digit hexadecimal value. You do not need to use a prefix indicating hexadecimal notation (such as 0x and &h) .
This is not currently supported, so do not configure anything.
MatchMakeGameCodeBit Represents the matchmaking game mode bit flag.
Specify as a 16-digit hexadecimal value. You do not need to use a prefix indicating hexadecimal notation (such as 0x and &h) .
This is not currently supported, so do not configure anything.
CecID The StreetPass ID obtained by the nn::cec::MakeCecTitleId function.
Specify as an 8-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 ID specified here, a New Mail Mark is displayed on the application icon displayed in the HOME Menu.
Region Indicates the card region. Software runs only when this matches the console's region. The following character strings can be specified.
Japan   Japan
America  North America
Europe    Europe or Australia
China      China
Korea      Korea
Taiwan    Taiwan
All      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.
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.

List of Characters Allowed in Title Names and Publisher Names

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).

Data Restrictions

The following restrictions apply to banner data.
Note: These restrictions are provisional. Subject to change in the future.

Restriction on Data Size

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.

Sound File Restrictions

The following restrictions apply to sound files.
Note: Data in violation of these restrictions causes an error during conversion by BannerModelConverter. (Not implemented.)

Variables Defined Within OMakefiles

Refer to Build Rules (ctr_makebanner) for more information about variables defined within the OMakefile.

Revision History

2011/4/12
The correction made in version 2011/2/4 did not fix the problem with error message output when the matchmaking game ID and matchmaking game mode bit were configured.

2011/2/4
An error message is now output when the matchmaking game ID and matchmaking game mode bit have been configured.
Added a description of the AgreeEULA flag.
2011/1/18
When there is no banner model data (CBMD) or no sound file (BCWAV)
,
an error message now is output.
2010/12/30
Fixed bug that caused incorrect checking of data capacity restriction for BNR files.
2010/12/25
An error is now generated when the created BNR file violates the restriction on data capacity.
2010/12/21
Fixed the check of required languages for each region. (Previously this check did not work correctly.)
Fixed the code for Korean from "KR" to the correct "KO".
Changed the status of Korean and Chinese to "not yet supported."
2010/11/24
Added a check for required languages in each region.
Fixed bug where BSF two-line titles would not be properly configured if the second line consisted of only a newline.
2010/11/19
Added Data Restrictions.
2010/10/20
Removed the Australian region and integrated it with the European region.
2010/10/15
Changed the Matchmake Game code to the Matchmaking game ID.
Changed the Matchmake Game code bit to the Matchmaking game mode bit flag.
2010/10/13
Added the StreetPass ID item.
Revised the specifiable region items.
2010/10/09
Removed mention of non-support of banner confirmation.
2010/09/28
Initial version.

CONFIDENTIAL