Nintendo MessageStudio ヘルプ

# リソースの出力設定

## 出力設定について

データの出力設定を行うことで、利用可能なビルダーの中からどれを利用するかを選択することが出来ます。 また、この出力設定の中で、プロジェクトが利用するように指定したビルダーごとに、細かな調整を行うことが出来ます。 出力設定はすべてプロジェクトファイル(msproj)に記述され、プロジェクト全体で共有されます。 ビルダーは、プロジェクトファイルと各コンテンツファイルによって適切なリソースファイルを出力します。

なお、プロジェクトファイルを作成したときに、最後までプロジェクトウィザードを利用して作成された場合、 バイナリメッセージファイル(*,msbt)を出力するための設定がプロジェクトに作成されています。

## 設定を行うには

リソースファイルを出力するための設定を変更するためには、 「プロジェクト」メニューから「データの出力設定」を選択します。 変更にはパーミッションが必要になります。詳しくはロールとパーミッションの項をご覧ください。

設定ダイアログは以下のようになります。

まず、ダイアログの左側に並んでいるチェックボックスは、現在このプロジェクトが利用できるビルダーの一覧を表します。 ビルダーはチェックマークが付いているものが有効、そうでないものは無効になっていることを示します。 ユーザーが「ビルド」を行ったときに、有効にされているビルダーが 順番に処理を行ってリソースファイルを出力していきます。

このビルダーの種類は、プラグインによって増やすことが出来ますが、 プラグインを本体に組み込んだだけでは動作しないことに注意してください。 必ず、この出力設定画面で左側にチェックを入れて有効にしなければなりません。

ダイアログの右側は、ビルダーの詳細な設定が行える画面が表示されます。 以下に、標準で組み込まれているビルダーの設定項目の説明を行います。

### メッセージバイナリ出力

メッセージバイナリファイル(*.msbt)は、メッセージファイル(*.mstxt)に入力された テキスト情報をゲームに組み込むために最適な形式に変換したものです。 以下のような設定項目があります。

出力先パス | 出力するリソースファイルの名称を設定します。 この名称には、マクロを利用して 柔軟に出力先を変更することが出来ます。通常設定では、プロジェクト直下のディレクトリに binという名前のディレクトリを作り、その下にさらに言語名ごとのディレクトリを作成して、 さらにその下に入力ファイル名と同じファイルを出力するようになっています。
エンディアン設定 | 出力するバイトの並びを設定できます。 利用するゲーム機のアーキテクチャに合わせて調整してください。 なお、Wiiはビッグエンディアン、DS/DSiはリトルエンディアンのコンピューターです。 異なったエンディアン設定のリソースを読み込ませようとした場合、 libmsはアサートに失敗して以後の処理が実行できなくなります。
改行コード設定 | 改行に対してどの制御コードを割り当てるかを設定することが出来ます。 Nintendo Ware for RevolutionやTWL Systemを利用する場合はLF(Line Feed)を利用してください。
文字コード設定 | リソースファイルに埋め込まれるテキストのエンコード方式を設定することが出来ます。 ゲームプログラムが読み込みやすい形式を設定してください。 なお、UTF16およびUTF32は、上で設定したエンディアン設定が有効も考慮されます。 たとえば、UTF16を選択して、ビッグエンディアンを選択していれば、 出力される形式はUTF16 BEになることに注意してください。
色変更タグの埋め込み方法 | 色変更タグをテキスト中に打ち込まれた場合、 リソースファイルをどのように出力するかという情報を表します。 詳しくはタグについての項をご覧ください。
テキストラベルの対応ブロック(LBL1)を埋め込む | Message Studioは、ラベルに設定された文字列を元にしてテキスト情報を取得することが出来ます。 ラベル文字列からテキスト情報へアクセスするためにハッシュテーブルを利用します。 この方法のため、ゲームは比較的高速にテキスト情報を引くことが出来ますが、 このハッシュテーブルを埋め込むと、メッセージバイナリファイル(*.msbt)は4KB以上容量が大きくなります。 フローチャートを利用するなどして別の方法でテキストのインデックス番号を取得できる場合は省略可能です。 詳しくはメッセージバイナリファイルのフォーマットの項もご覧ください。

## プロジェクトバイナリファイル

プロジェクト全体の設定をリソースファイルとして出力することが出来ます。 たとえば、ファイルの構成や、タグの設定などが含まれます。

エンディアンの設定と、どのブロックを出力するかを設定できます。 詳しくは、プロジェクトバイナリフォーマットの項をご覧ください。

## xllt文字フィルタファイル

このファイルの中身はXML形式になっていて、文字のフィルタリングを行うことが出来ます。 Message Studioで入力した文字によってフィルタファイルを生成したあとに、 フォントに対して適用すると、含まれる文字の数を最適化して容量を削減できます。 詳しくはフォントのワークフローの項をご覧ください。

xlltファイルを正確に出力するためには、スタイル設定および フォント設定が正確に行われている必要があります。出力する前にまずそちらの設定をご確認ください。

「必ず出力する文字」にチェックを入れると、 メッセージファイルの中に文字が入力されていなくても、該当する文字をフィルタに出力できます。 たとえば、Wiiには、Miiと呼ばれる、ユーザーがゲームで登場するキャラクターを自由に 作成できる仕組みがあります。このMiiにはユーザーが自分で名前をつけることが出来ます。 もし、フォントがMiiの名前を表示する場合は、Message Studioに文字が入力されている されていないに関わらず、フィルタファイルにMiiで利用可能な名前を付け加えておく必要があります。 そうしなければ、ユーザーがつけた名前によっては文字がうまく表示できない可能性があります。

## 属性定義 / タグ定義ヘッダファイル

これらのビルダーを利用すれば、プロジェクト設定によってC言語で利用できるヘッダファイルを自動出力できます。 ヘッダファイルを利用すれば、プロジェクトの設定をプログラムに反映しやすくなりますし、 利用するためのオーバーヘッドも少なくて済みます。 このヘッダファイルを利用すると、更新されるごとにプログラム全体をリビルドしなければならない場合があります。 もし頻繁にプロジェクト設定が変更されるようなゲームを作成する場合、 ヘッダファイルの代わりにプロジェクトバイナリファイル(*.msbp)を利用することを検討してください。

- はじめに
- Message Studioの基礎
  - ゲーム製作のフロー
  - プロジェクトファイルについて
  - プロジェクトエクスプローラの操作
  - ウインドウ操作
  - 言語設定
  - カラーの設定
  - 属性の設定
- メッセージ編集
  - 基本操作
  - テキストの種類
  - クリップボードを利用した操作
  - 言語セルステータス
  - 表示のカスタマイズ
  - メッセージ一覧画面のTips
- タグ
  - 概要
  - タグを用いた編集
  - タグのソース文字列
  - タグ比較について
- 検索機能
  - 概要
  - 簡易検索
  - 詳細検索
  - 正規表現
- スペルチェック
  - スペルチェックについて
  - スペルチェックの利用方法
- ロールとパーミッション
  - 概要
  - ロールの追加とパーミッションの設定
  - ロールの選択
- メッセージの統計情報
  - 統計情報について
  - 統計情報の利用方法
- スタイル機能と幅計算
  - スタイルと幅計算について
  - テキスト幅の全体チェック
  - レンダリング方式について
  - スタイルの設定方法
- フォント
  - フォント機能の概要
  - フォントに関するワークフローについて
  - フォントの設定
- チーム管理機能
  - 概要
  - ファイル管理のされ方
  - チーム管理機能を利用する
  - 基本操作
  - コミットログを表示する
  - 差分(diff)を表示する
  - 競合とマージ
  - プロキシサーバの設定
  - サーバーの設定
- メタ情報の設定
  - メタ情報の設定について
  - 設定可能なメタ情報一覧
- リソースファイル関連
  - リソースについての概要
  - リソースファイルを出力する
  - 出力設定を行う
  - ビルドイベントについて
  - 共通のバイナリフォーマット
  - メッセージバイナリフォーマット
  - フローチャートバイナリフォーマット
  - プロジェクトバイナリフォーマット
    - プロジェクトバイナリフォーマット
    - カラー情報
    - コンテンツ情報
    - 属性情報
    - タグ情報
    - スタイル情報
  - タグについて
- マクロ文字列展開機能
  - マクロ文字列とは
  - 利用可能なマクロ一覧
- コマンドライン関連
  - コマンドライン制御について
  - /convertスイッチについて
- プラグインについて
  - プラグインの概要
  - プラグインの種類について
- プラグインの作成方法
  - 単純なプラグイン作成チュートリアル
  - 開発環境を利用しない作成方法
  - サンプルについて
- Message Studioのアセンブリ設定
  - Caspol：アセンブリセキュリティ設定
  - Ngen：ネイティブイメージ生成
- XML仕様
  - 概要
  - プロジェクトファイル（.msproj）のXML仕様
  - メッセージファイル（.mstxt）のXML仕様
- libmsについて
  - 概要
  - コンパイルの仕方
- 共通の関数
  - LMS_SetMemFuncs
- メッセージに関する関数
  - LMS_InitMessage
  - LMS_CloseMessage
  - LMS_SearchMessageBlockByName
  - LMS_GetMessageBlockInfoByName
  - LMS_GetTextNum
  - LMS_GetTextIndexByLabel
  - LMS_GetText
  - LMS_GetTextSize
  - LMS_GetTextByLabel
  - LMS_GetLabelByTextIndex
  - LMS_GetTextStyle
  - LMS_GetTextStyleByLabel
  - LMS_GetAttributeSize
  - LMS_GetAttribute
  - LMS_GetAttributeText
- フローチャートに関する関数
  - LMS_InitFlowchart
  - LMS_CloseFlowchart
  - LMS_GetNodeNum
  - LMS_GetEntryNodeIndex
  - LMS_GetNodeDataPtr
  - LMS_GetFlowNodeIndex
  - LMS_GetCaseIndexesFromBranchNode
  - LMS_GetFlowParamText
- プロジェクトに関する関数
  - LMS_InitProject
  - LMS_CloseProject
  - LMS_SearchProjectBlockByName
  - カラー情報に関する関数
    - LMS_GetColorIndexByName
    - LMS_GetColor
    - LMS_GetColorByName
    - LMS_GetColorNum
  - コンテンツ情報に関する関数
    - LMS_GetContentsNum
    - LMS_GetContentPath
  - 属性情報に関する関数
    - LMS_GetAttrInfoIndexByName
    - LMS_GetAttrType
    - LMS_GetAttrTypeByName
    - LMS_GetAttrOffset
    - LMS_GetAttrOffsetByName
    - LMS_GetAttrListItemName
    - LMS_GetAttrListItemNameByName
    - LMS_GetAttrNum
    - LMS_GetAttrListItemNum
  - タグ情報に関する関数
    - LMS_GetTagGroupName
    - LMS_GetTagName
    - LMS_GetTagParamName
    - LMS_GetTagParamType
    - LMS_GetTagListItemName
    - LMS_GetTagGroupNum
    - LMS_GetTagNum
    - LMS_GetTagParamNum
    - LMS_GetTagListItemNum
  - スタイル情報に関する関数
    - LMS_GetStyleIndexByName
    - LMS_GetRegionWidth
    - LMS_GetRegionWidthByName
    - LMS_GetLineNum
    - LMS_GetLineNumByName
    - LMS_GetFontIndex
    - LMS_GetFontIndexByName
    - LMS_GetStyleNum
- 扱うファイルの拡張子一覧
- よくある質問