# makebanner.TWL

## 説明

このコマンドは TWL ROM 用のものです。NITRO ROM については `makebanner` を参照してください。

`makebanner.TWL` は、バナーファイルと呼ばれる TWL 本体や DS/DS Lite 本体起動時のランチャーで表示されるアプリケーションの識別画像情報などをまとめたファイルを作成するためのツールです。

バナーファイルには画像データと各言語毎のゲームタイトル名の情報が含まれており、バナースペックファイル（BSF）と呼ばれるファイルの記述を元に生成されます。生成されたバナーファイルは `makerom.TWL` によってアプリケーション ROM イメージへ格納されます。

TWL ROM 用のバナーファイルには、NITRO ROM用のバナーファイル（NTR バナー）の他に8枚の画像からなるパターンアニメーションを持つことができます。 TWL のランチャーでは、バナーデータの中にアニメーションデータがあればアニメーションが表示され、存在しない場合にはNTR バナーが表示されます。 `makebanner` と同じようにバナーを作成した場合は、NTR バナーのみ作成され、アニメーションデータは作成されません。

NITRO-CHARACTER で作成したアニメーションのファイルを`bannercvtr` で変換し、 そのデータを使って`makebanner.TWL`でバナーを作成するとアニメーションデータを持つバナーを作成することができます。 この場合 NTR バナーにはアニメーションデータの0 番目のデータが設定されます。 何番目を使用するかはオプションによって変更も可能です。アニメーションデータを持ったバナーでHYBRID ROM を作成すると、 DS/DS Lite 本体 で起動した場合はNTR バナーが表示され、TWL 本体で起動した場合はアニメーションバナーが表示されるようになります。

## 使用方法

### 起動コマンド

    % makebanner.TWL [-d] [-N ICON_BASENAME] [-A ANIMEFILE] [-i IMAGE_INDEX]
                 [-j PALETTE_INDEX] [-s] SPECFILE [BANNERFILE]

`SPECFILE` で指定されたバナースペックファイル(後述)の記述にしたがってファイルを結合し、 `BANNERFILE` という名前で作成します。
`BANNERFILE` は省略可能です。省略時には `SPECFILE` で指定されたファイル名の拡張子部分を `.bnr` としたファイル名が使用されます。

`-A` オプションによって`bannercvtr` から出力されたファイルを指定します。`SPECFILE`でアニメーションファイルの指定がない場合は必須になります。

`-i` オプションによって`bannercvtr` から出力されたファイルからNTR バナーを出力する時に使用するイメージのインデックスを指定します。指定がない場合は0になります。

`-j` オプションによって`bannercvtr` から出力されたファイルからNTR バナーを出力する時に使用するパレットのインデックスを指定します。指定がない場合は0になります。

`-s` オプションによって`サブバナーファイル`を出力します。

`-N` オプションによって静止画のバナーを出力するためのアイコンファイルをコマンドラインから指定できます。`ICON_BASENAME` に指定されたベース名に拡張子 `.nbfc` および `.nbfp` を付けたものをそれぞれ画像イメージファイルおよび画像パレットファイル名とします。これはバナースペックファイル内で `ImageFile:` および `PlttFile:` パラメータで指定する値を上書きします。`-A`オプションと共に指定することはできません。

`-d` オプションは `makebanner.TWL` のデバグ用メッセージ出力用のオプションで実行時にデバグ用メッセージを出力します。普段は必要ありません。

### バナースペックファイルフォーマット

バナースペックファイルは画像データのファイルや各言語のゲームタイトル名を指定するテキストファイルです。Unicode (UTF-16LE BOM 付き) で記述、保存する必要があります。MS-Windows 2000/XP のメモ帳 (US版:NotePad) は Unicode に対応しています。保存時の文字コード (US版:Encoding) 指定タブで Unicode を選択してください。

### パラメータ

パラメータの指定と値は `':'`(コロン)で区切ります。

#### 画像ファイルパラメータ

> `AnimeFile:` [`bannercvtr`から出力されたファイル名]
>   `bannercvtr` から出力されたファイルを指定します。
>   詳細は`bannercvtr`マニュアルを参照してください。
> `AnimeImageIndex:` [イメージのインデックス]
>   `AnimeFile:` パラメータで指定したアニメーションファイルから、NTR バナーを出力する時に使用するイメージのインデックスを指定します。
> `AnimePlttIndex:` [パレットのインデックス]
>   `AnimeFile:` パラメータで指定したアニメーションファイルから、NTR バナーを出力する時に使用するパレットのインデックスを指定します。
> `AnimeFile:` [`bannercvtr`から出力されたファイル名]
>   `bannercvtr` から出力されたファイルを指定します。
>   詳細は`bannercvtr`マニュアルを参照してください。
> `ImageFile:` [画像イメージファイル名]
>   32×32の16色の画像イメージのバイナリを指定します。
>   キャラクタデータを1次元マッピングで格納して下さい。
>   先頭の512バイトがバナーファイルへ書き込まれます。
> `PlttFile:` [画像パレットファイル名]
>   画像パレットのバイナリを指定します。
>   先頭の32バイトがバナーファイルへ書き込まれます。

`ImageFile:` , `PlttFile:` パラメータはNTR バナーを作成するときに使用します。
アニメーションバナーを作成する場合は、`AnimeFile:` , `AnimeImageIndex:` , `AnimePlttIndex:` パラメータを使用してください。

`ImageFile:` , `PlttFile:` パラメータを使用してNTR バナーを作成するときは、
`ntexconv (-no -bg -bgb -bgnc)` などを使用して画像ファイルからイメージとパレットのバイナリデータを作成して下さい。

`-N` オプションによってコマンドラインから画像ファイルパラメータを指定することもできます。

#### バージョンパラメータ

> `Version:` [バナーバージョン]
>   バナーバージョンを指定します。
>   TWLでは常に`'3'`を指定します。指定がない場合は`'3'`が設定されます。

#### 言語パラメータ

> `JP:` [日本語ゲームタイトル名]
> `EN:` [英語ゲームタイトル名]
> `FR:` [フランス語ゲームタイトル名]
> `GE:` [ドイツ語ゲームタイトル名]
> `IT:` [イタリア語ゲームタイトル名]
> `SP:` [スペイン語ゲームタイトル名]
> `CN:` [中国語ゲームタイトル名]
> `HN:` [韓国語ゲームタイトル名]
>   各言語毎のゲームタイトル名を記述します。最大で3行128文字まで指定できます（改行文字を含みます）。
>   1行目には必ず文字列を指定して下さい。スペースまたはタブから始めた場合、前の行の続きの行となります。
>   空行をはさんだ場合には次の言語パラメータまでの内容は破棄されます。1行目または2行目を空欄にして3行目に記述したい場合は、空欄にしたい行の内容を " " としてください。
>   記述の順番に関わらず、日本語/英語/フランス語/ドイツ語/イタリア語/スペイン語/中国語/韓国語の順にバナーファイルへ格納されます。
>   `CN:` や`HN:` の指定がない場合は、それぞれの言語に空欄が設定されます。
>   格納フォーマットはバナースペックファイルと同じ UTF-16LE (ただしBOM無し) となります。
> `JP:` [英語ゲームタイトル名]
> `EN:` [英語ゲームタイトル名]
> `FR:` [英語ゲームタイトル名]
> `GE:` [英語ゲームタイトル名]
> `IT:` [英語ゲームタイトル名]
> `SP:` [英語ゲームタイトル名]
> `CN:` [中国語ゲームタイトル名]
> `HN:` [英語ゲームタイトル名]
>   中国向けアプリケーションの場合は上記の形式で中国語のバナーを指定します。
> `JP:` [英語ゲームタイトル名]
> `EN:` [英語ゲームタイトル名]
> `FR:` [英語ゲームタイトル名]
> `GE:` [英語ゲームタイトル名]
> `IT:` [英語ゲームタイトル名]
> `SP:` [英語ゲームタイトル名]
> `CN:` [英語ゲームタイトル名]
> `HN:` [韓国語ゲームタイトル名]
>   韓国向けアプリケーションの場合は上記の形式で韓国語のバナーを指定します。
>   このとき韓国語用のゲームタイトル名以外は、すべて英語で記述します。
> 使用可能な文字や文字コードなどに関しては別途配布されているDSバナーガイドラインをご参照ください。

### 書式について

パラメータ指定は各行の初めから記述する必要があります。'#' から始まる行はコメントとして扱われます。
先頭以外の空白は文字列へ含まれますが、`"` (ダブルクォーテーション) で囲むことで、先頭の空白や文字列中の `"` を含むことができます。

>     #BSF --- Banner Spec File

>     Version: 3

>     JP:  ティーダブリュエル
>          " にほんご"
>     EN:  Twl1
>          English
>     FR:  Twl2
>     GE:  Twl3
>     IT:  Twl4
>     SP:  " Twl5"
>     CN:  Twl6
>     HN:  Twl7

### 警告について

設定したゲームタイトルがTWL 本体や DS/DS Lite 本体起動時のランチャーで正しく表示されない場合は、 以下のような警告が出力されます。

ランチャーで表示不可能である文字が設定された場合は以下の警告が出力されます。

>     Warning: !!!!  JP in line 1
>     Warning: !!!!  Game title includes undisplayable characters.

実際にはTWL 本体や DS/DS Lite 本体では一部の漢字や記号を表示することができますが、これらの文字を指定することはできません。
使用できる文字コードについては別途配布していますDS バナーガイドラインをご参照ください。

ランチャーで表示した場合に表示枠よりゲームタイトルの横幅が大きく、 正しく表示されない場合に以下の警告が出力されます。
TWL 本体と DS/DS Lite 本体の表示可能サイズでチェックしています。 以下はTWL 本体で１ピクセル枠よりはみ出すことを示しています。

>     Warning: !!!!  EN in line 1
>     Warning: !!!!  Game title exceeds TWL menu size(240 pixel) by 1 pixel.

## 場所

`$TwlSDK/tools/bin/makebanner.TWL.exe`

## 参照

``バナー (overview), bannercvtr, makerom.TWL``

## 履歴

2009/06/18 使用可能な文字についてはDSバナーガイドラインを参照してもらうよう説明追記
2009/06/02 漢字の警告を削除。使用できる文字コードに関する説明追記
2009/05/12 中国語、韓国語の指定がない場合の空欄設定を追加
2009/05/08 中国向けアプリケーションのゲームタイトル名の指定方法を一部削除
2009/04/13 中国向けアプリケーションのための説明追加
2008/11/27 例中のゲームタイトルを修正、漢字の警告追加
2008/11/05 -N オプションの記述を修正
2008/10/20 ゲームタイトルの横幅の警告を追加
2008/10/17 DS バナーに関するドキュメントのリンク先を変更
2008/09/12 新規作成