Nintendo MessageStudio ヘルプ

# プロジェクトバイナリ - タグ情報

タググループ、タグ、パラメータの番号と、それぞれの名前を関連付けることが可能な情報です。また、リスト型のパラメータの値と、その値に対応する項目名を関連付けることが可能です。

## タググループ情報ブロック(TGG2)

タググループ情報ブロックには、そのタググループに含まれるタグのタグ情報のインデックス番号、およびタググループの名前が格納されます。このブロックはメッセージバイナリのTXTブロックに含まれるタググループ番号から、そのタググループの名前を取得する場合に必要となります。また、タグ情報ブロック（TAG2）からデータを引き出す必要がある場合にも必要となります。

タググループ情報ブロックは、ブロックヘッダの後に以下のようなデータ構造を持ちます。

※このイメージ内の値は基本的にでたらめです。

GROUPINFO NUM | タググループ情報の数が2バイトで記述されます。これはタググループの数と等しくなります。
PADDING | 2バイトのパディングです。常に0となります。
OFFSET OF GROUPINFO n | このブロックの先頭位置から数えて、タググループ情報が開始されるオフセット値を4バイトで記述します。この情報は GROUPINFO NUM 個だけ繰り返されます。

さらに1つ1つのタググループ情報は以下のようなデータ構造を持ちます。

TAG NUM | このタググループに含まれるタグの数が2バイトで記述されます。
PADDING n | 2バイトのパディングです。常に0となります。
INDEX OF TAGINFO m | このタググループに含まれるタグが、タグ情報ブロック（TAG2）のどこに配置されているかを示すインデックス番号です。この情報は TAG NUM 個だけ繰り返されます。タグ情報ブロックのOFFSET OF TAG INFO n の n に対応します。
GROUP NAME | タググループ名が入ります。エンコーディング形式はASCII形式となります。NULL終端です。
PADDING n | パディングです。図では2バイトになっていますが、実際は4バイトアライメントに合わせてパディングが入りますので、最小で0バイト、最大で3バイトになります。これらの値は常に0です。

## タグ情報ブロック(TAG2)

基本的な構造はタググループ情報ブロック（TGG2）と同じです。

タグ情報ブロックには、そのタグに含まれるタグパラメータのパラメータ情報のインデックス番号、およびタグの名前が格納されます。このブロックはメッセージバイナリのTXTブロックに含まれるタグ番号から、そのタグの名前を取得する場合に必要となります。また、タグパラメータ情報ブロック（TGP2）からデータを引き出す必要がある場合にも必要となります。

タグ情報ブロックは、ブロックヘッダの後に以下のようなデータ構造を持ちます。

※このイメージ内の値は基本的にでたらめです。

TAG INFO NUM | タグ情報の数が2バイトで記述されます。これはタグの数と等しくなります。
PADDING | 2バイトのパディングです。常に0となります。
OFFSET OF TAG INFO n | このブロックの先頭位置から数えて、タグ情報が開始されるオフセット値を4バイトで記述します。この情報は TAG INFO NUM 個だけ繰り返されます。

さらに1つ1つのタグ情報は以下のようなデータ構造を持ちます。

PARAM NUM | このタグに含まれるタグパラメータの数が2バイトで記述されます。
PADDING n | 2バイトのパディングです。常に0となります。
INDEX OF PARAM INFO m | このタグに含まれるパラメータが、タグパラメータ情報ブロック（TGP2）のどこに配置されているかを示すインデックス番号です。この情報は PARAM NUM 個だけ繰り返されます。タグパラメータ情報ブロックのOFFSET OF PARAM INFO n の n に対応します。
TAG NAME | タグ名が入ります。エンコーディング形式はASCII形式となります。NULL終端です。
PADDING n | パディングです。図では2バイトになっていますが、実際は4バイトアライメントに合わせてパディングが入りますので、最小で0バイト、最大で3バイトになります。これらの値は常に0です。

## タグパラメータ情報ブロック(TGP2)

基本的な構造はタググループ情報ブロック（TGG2）と同じです。

タグパラメータ情報ブロックには、そのパラメータに含まれるリスト項目のリスト名のインデックス番号、およびパラメータの名前が格納されます。このブロックはメッセージバイナリのTXTブロックに含まれるタグパラメータ番号から、そのパラメータの名前を取得する場合に必要となります。また、タグリスト項目名ブロック（TGL2）からリスト項目名を引き出す必要がある場合にも必要となります。

タグパラメータ情報ブロックは、ブロックヘッダの後に以下のようなデータ構造を持ちます。

※このイメージ内の値は基本的にでたらめです。

PARAM INFO NUM | タグパラメータ情報の数が2バイトで記述されます。これはタグパラメータの数と等しくなります。
PADDING | 2バイトのパディングです。常に0となります。
OFFSET OF PARAM INFO n | このブロックの先頭位置から数えて、タグパラメータ情報が開始されるオフセット値を4バイトで記述します。この情報は PARAM INFO NUM 個だけ繰り返されます。

さらに1つ1つのタグパラメータ情報は以下のようなデータ構造を持ちます。

ITEM NUM | このパラメータに含まれるリスト項目の数が2バイトで記述されます。
PADDING n | 2バイトのパディングです。常に0となります。
INDEX OF ITEM NAME m | このパラメータに含まれるリスト項目が、タグリスト項目名ブロック（TGL2）のどこに配置されているかを示すインデックス番号です。この情報は ITEM NUM 個だけ繰り返されます。タグリスト項目名ブロックのOFFSET OF ITEM NAME n の n に対応します。
PARAM NAME | パラメータ名が入ります。エンコーディング形式はASCII形式となります。NULL終端です。
PADDING n | パディングです。図では2バイトになっていますが、実際は4バイトアライメントに合わせてパディングが入りますので、最小で0バイト、最大で3バイトになります。これらの値は常に0です。

## タグリスト項目名ブロック(TGL2)

タグリスト項目名ブロックには、リスト型のタグパラメータの項目名が格納されます。このブロックはメッセージバイナリのTXTブロックに含まれるリスト型のタグパラメータ値から、その値に対応する項目の名前を取得する場合に必要となります。

タグリスト項目名ブロックは、ブロックヘッダの後に以下のようなデータ構造を持ちます。

※このイメージ内の値は基本的にでたらめです。

ITEM NUM | リスト項目の数が2バイトで入ります。これは、全てのリスト型パラメータの項目数の総数になります。
PADDING | 2バイトのパディングです。常に0です。
OFFSET OF ITEM NAME n | ブロックの先頭位置から数えて、項目名が開始されるオフセット値を4バイトで記述します。 この情報は、ITEM NUM個の数だけ繰り返されます。
ITEM NAME n | 実際の項目名が入ります。エンコーディング形式はASCIIとなります。NULL終端です。

- はじめに
- 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
- 扱うファイルの拡張子一覧
- よくある質問