Platform SDK: DirectX |
次の表記法は、コード マップ ファイルの最上位レベルのチャンク、または形式の構成を示している。
RIFF( 'DMPR' <perh-ck> // コード マップ ヘッダー チャンク [ <guid-ck> ] // GUID チャンク [ <vers-ck> ] // バージョン チャンク [ <UNFO-list> ] // UNFO リスト <chdt-ck> // コード データ チャンク <chpl-list> // コード パレット <cmap-list> // コード グラフ <spsq-list> // サインポスト リスト )
GUID チャンク、バージョン チャンク、および UNFO リストを除く、各項目が必要である。「共通のチャンク」を参照すること。
必要なチャンクと、そのサブチャンクは次のとおりである。
<perh-ck> -> perh( <DMUS_IO_CHORDMAP> )
これは、コード マップの基本的なヘッダー情報である。
<chdt-ck> -> chdt( <WORD> // DMUS_IO_CHORDMAP_SUBCHORD のサイズ <DMUS_IO_CHORDMAP_SUBCHORD>... )
<chdt-ck> チャンクには、サブコード当たりのバイト数を表す WORD 値と、固有のサブコードの配列が含まれる。このファイルのほかのパートで参照されているサブコード識別子はすべて、この配列のインデックスに直接対応する。
<chpl-list> -> LIST( 'chpl' <chrd-list>... )
このリストにはコード パレットが含まれる。現在、このリストには 24 の項目が必要である。
<chrd-list> -> LIST( 'chrd' <UNAM-ck> // コード名 <sbcn-ck> // サブコードのインデックス )
このリストには、基本的なコード情報が含まれる。この情報は、コードの名前と、サブコードの識別子のリストを表す。
<UNAM-ck> -> UNAM ( <WCHAR>... )
UNAM チャンクは、コードの名前を格納する。
<sbcn-ck> -> sbcn( <WORD>... )
"sbcn" チャンクには、1 つまたは複数のサブコード識別子が含まれる。これらは、<chdt-ck> にある配列のインデックスに直接対応する。現在、最大で 4 つのコードがサポートされている。
<cmap-list> -> LIST( 'cmap' <choe-list>... )
"cmap" リストには、コード マップのコード接続グラフ全体が含まれる。コード マップの大部分のデータは、このチャンクに存在する。
<choe-list> -> LIST( 'choe' <cheh-ck> // コード エントリ データ。 <chrd-list> // コード データ。上の説明を参照。 <ncsq-ck> // 次のコード リスト。 )
"choe" リストには、コード グラフの 1 つのエントリのデータと、次にコード グラフに現れるすべてのコードへのポインタが含まれる。
<cheh-ck> -> cheh( <DMUS_IO_CHORDENTRY> )
これは、コード エントリ ヘッダーである。構造体の識別子は、コード接続グラフの識別子であり、サブコード識別子ではない。
<ncsq-ck> -> ncsq ( <WORD> // DMUS_IO_NEXTCHORD のサイズ <DMUS_IO_NEXTCHORD>... )
"ncsq" チャンクには、接続グラフのコードを別のコードに接続するデータが含まれる。接続グラフの各コードは、16 ビットの識別子で表される。
<spsq-list> -> LIST( 'spsq' <spst-list>... )
"spsq" リストには、サインポストそれぞれのデータが含まれる。
<spst-list> -> LIST( 'spst' <spsh-ck> <chrd-list> // コード データ。上の説明を参照。 [ <cade-list> ] )
"spst" リストには、1 つのサインポストのデータが含まれる。データは、ヘッダー、コード情報、およびオプションのカデンツァ コードで構成される。
<cade-list> -> LIST( 'cade' <chrd-list>... )
"cade" リストには、カデンツァ コードの情報が含まれる。現在、このリストでは 2 つまでのカデンツァ コードがサポートされている。その他の追加コードや情報は無視される。
<spsh-ck> -> spsh( <DMUS_IO_CHORDMAP_SIGNPOST> )
最後に、"spsh" チャンクにはサインポスト データが含まれる。