Microsoft DirectX 8.0 (C++) |
次の表記法は、コード マップ ファイルの最上位レベルのチャンク、または形式の構成を示している。
RIFF( 'DMPR' <perh-ck> // コード マップ ヘッダー チャンク [ <guid-ck> ] // GUID チャンク [ <vers-ck> ] // バージョン チャンク [ <UNFO-list> ] // UNFO リスト <chdt-ck> // コード データ チャンク <chpl-list> // コード パレット <cmap-list> // コード グラフ <spsq-list> // サインポスト リスト )
これは、コード マップの基本的なヘッダー情報である。
<perh-ck> -> perh( <DMUS_IO_CHORDMAP> )
これらの 3 つのチャンクについては、「共通のチャンク」を参照すること。
<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>... )
各リストには、コード グラフの 1 つのエントリのデータと、次にコード グラフに現れるすべてのコードへのポインタが含まれる。
<choe-list> -> LIST( 'choe' <cheh-ck> // コード エントリ データ <chrd-list> // コード データ。上の説明を参照 <ncsq-ck> // 次のコード リスト ) <cheh-ck> -> cheh( <DMUS_IO_CHORDENTRY> )
これは、コード エントリ ヘッダーである。構造体の識別子は、コード接続グラフの識別子であり、サブコード識別子ではない。
<ncsq-ck> -> ncsq ( <WORD> // DMUS_IO_NEXTCHORD のサイズ <DMUS_IO_NEXTCHORD>... )
"ncsq" チャンクには、接続グラフのコードを別のコードに接続するデータが含まれる。接続グラフの各コードは、16 ビットの識別子で表される。
このチャンクには、各サインポストのデータが含まれる。
<spsq-list> -> LIST( 'spsq' <spst-list>... )
<spst-list> リストには、1 つのサインポストのデータが含まれる。データは、ヘッダー、コード情報、およびオプションのカデンツァ コードで構成される。
<spst-list> -> LIST( 'spst' <spsh-ck> <chrd-list> // コード データ [ <cade-list> ] // カデンツァ コード )
<spsh-ck> リストには、サインポスト データが含まれる。
<spsh-ck> -> spsh( <DMUS_IO_CHORDMAP_SIGNPOST> )
<chrd-list> については、前に説明した <chpl-list> を参照すること。
<cade-list> チャンクには、カデンツァ コードの情報が含まれる。このリストでは 2 つまでのカデンツァ コードがサポートされている。3 つ以上のコードは無視される。
<cade-list> -> LIST( 'cade' <chrd-list>... )