Difference between revisions of "User:Rz/Track Listing For LE-Code (Japanese)"
m |
(i decided to translate the original article in english) |
||
Line 1: | Line 1: | ||
{{textbox|center grey|To the Wiiki Administrator|This is an article about how changing the track list in [[LE-CODE]] for some Japanese who can not read English.<br>But if this violates the Wiiki rules, please delete it.}} | {{textbox|center grey|To the Wiiki Administrator|This is an article about how changing the track list in [[LE-CODE]] for some Japanese who can not read English.<br>But if this violates the Wiiki rules, please delete it.}} | ||
− | 「Leseratte Code(通称、'''LE-CODE''')」とは、従来の[[CT-CODE]]の32つ以上のコースを追加する機能に加えて、それ以外の便利な拡張機能が[[Cheat Code|チートコード]]なしで格納された新しいフレームワークです。詳細は、[[LE-CODE]]をご参照ください。(英語です) | + | 「Leseratte Code(通称、'''LE-CODE''')」とは、従来の[[CT-CODE]]の32つ以上のコースを追加する機能に加えて、それ以外の便利な拡張機能が[[Cheat Code|チートコード]]なしで格納された新しいフレームワークです。詳細は、[[LE-CODE]]をご参照ください。(英語です) |
− | |||
− | + | ここではLE-CODEを使用したCTパックの作成方法を[[9Paran|Rz]]の'''拙い日本語'''で記載しています。追加として、英語ですが[[LE-CODE/Distribution FAQ|Distribution FAQ]]にここでは書き足りない詳しい情報が記載されています。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | ==導入== |
− | + | ===スロットとファイル名=== | |
− | + | [[LE-CODE]]では、4028スロット(68~4095、16進数で0x044~0xfff)がカスタムトラックに使われます。具体的には、32つの任天堂コース、10つの任天堂バトルステージに加えて、その他残りの特別なスロットが使用可能です。詳細は英語になりますが、[[Slot_Usage#LE-CODE|LE-CODE Slot Usage]]を参照下さい。 | |
− | + | 各ストットでは、以下の3バイトが使われます: | |
− | + | * 指定したコースに合わせたコースID | |
− | + | * ミュージックID | |
− | + | * [[#flags|フラグ]]([[#flag-new|新しいコース]]、[[#flag-rhead|ランダムセレクト用スロットの始点]]もしくは[[#flag-rgroup|ランダムセレクト用スロットの内容の指定]]) | |
− | </ | + | 合計で12KBを4096スロットを定義するのに使われます。それに対し、従来の[[CT-CODE]]では256バイトが必要でした。使用するメモリ量を削減するために、[[CT-CODE]]ではわざわざ文字列を利用してコースファイル名を定義していますが、LE-CODEでは代わりに任天堂コースを含めたすべてのスロットのIDを使用しています: |
− | + | std_file = sprintf(“%03x.szs”,slot); | |
− | + | d_file = sprintf("%03x_d.szs",slot); | |
− | + | マルチプレイに必要な、''~_d.szs''が存在しない場合は、シングルプレイ用ファイルが代わりに読み込まれます。 | |
− | + | ===<span id=random>特別なランダムスロット</span>=== | |
− | + | いくつかのスロットは既におまかせ機能を定義されています。特定のスロットIDを[[#cup|カップ]]内に配置されることで作動させます。[[#bmg|テキスト]]は0x703e~0x7041に定義されています。 | |
− | + | <dl> | |
− | + | <dt id=slot-03e>0x03e: 全てのコース</dt> | |
− | + | <dd>コースをランダムに選択します。</dd> | |
+ | <dt id=slot-03f>0x03f: 任天堂コース</dt> | ||
+ | <dd>任天堂コースの中からランダムに選択します。</dd> | ||
+ | <dt id=slot-040>0x40: カスタムトラック</dt> | ||
+ | <dd>スロット68から配置されているコースからランダムに選択します。</dd> | ||
+ | <dt id=slot-041>0x41: 新コース</dt> | ||
+ | <dd>新しいコースとして配置されたコースのみからランダムに選択します。存在しない場合は上記と同じ動作をします。</dd> | ||
+ | </dl> | ||
+ | ===共通ファイル=== | ||
+ | コースファイルは''./files/Race/Course/*.szs''に配置されています。いくつかのコースファイルはサブディレクトリ''./Common/''に異なるファイルの非公開のバージョンと一緒に配置されています。これらのファイルは%Nにスロット番号として''./files/Race/Common/%N''に展開する必要があります。詳細は[[LE-CODE/Distribution FAQ#common|Distribution FAQ: Common Files]]を参照下さい。 | ||
+ | ===<span id=flags>コースフラグ</span>=== | ||
+ | [[LE-CODE]]はコースIDとミュージックIDの横に存在する、''フラグ''と呼ばれる三つ目のプロパティに対応しています。3つのプロパティはそれぞれ4096つの配列に保持されます。 | ||
+ | ''フラグ''は以下の特徴を持つビットフィールドです: | ||
+ | :<dl> | ||
+ | <dt id=flag-new>New (ビット0 = 0x01、符号: LE$F_NEW)</dt> | ||
+ | <dd>指定されたスロットは新コースとして配置されます。上記のランダムセレクトに使用します。</dd> | ||
+ | <dt id=flag-rhead>Random header (ビット1 = 0x02、符号: LE$F_HEAD)</dt> | ||
+ | <dd>おまかせ用グループの先頭です。[[#flag-rgroup|以下のフラグ]]が設定されていない、もしくは次のグループの先頭が設定された場合、グループの終点が配置されます。 | ||
− | == | + | これが指定されているコースを選択した場合、これ以下にそのメンバーとして配置されているコースの中からランダムで選択されます。これ自体もメンバーとして配置されている場合、ランダムセレクトに含まれますが、おおよそ除外されます。</dd> |
− | '' | + | <dt id=flag-rgroup>Random group (ビット2=0x04、符号: LF$F_GROUP)</dt> |
+ | <dd>[[#flag-rhead|上記のフラグ]]が指定されたスロット以下のスロットに指定することでメンバーとして配置されます。</dd> | ||
+ | <dl> | ||
+ | ===<span id=cup>カップ</span>=== | ||
+ | 現在、[[LE-CODE]]は5つのステージを持つ2カップと4コースを持つ1024カップに対応しています。バトル用カップとステージには、通常の定義方法が使われます。コースIDとミュージックIDを除いて、SZSファイルとステージ名を交換することが可能です。これは将来的に変更されます。 | ||
+ | レース用カップには、スロットとコースを割り当て、定義するために[[CT-CODE]]の構成ファイルを使用します。任意で上記のフラグを使うことができます。詳細は以下の章を参照下さい。 | ||
+ | カップには名前を設定できません。カップセレクトでカップをスクロールした際にカップ名がそれに倣って変更されないためです。 | ||
+ | ===<span id=bmg>BMG</span>=== | ||
+ | [[LE-CODE]]では、テキストIDの7000~7FFFをスロット0x000~0xfffとして使用します。テキストID6800~6c01と8000~8fffはカップ名とカップの参照に使われます。前記のカップの参照は[[mkw-ana]]でコース選択に関する情報を描画するために使われます。 | ||
+ | {| class="textbox grid" | ||
+ | |+ BMGテキストID | ||
+ | ! テキストID !! 使用される媒体 !! 概要 | ||
+ | |- | ||
+ | | <tt>6800-6bff</tt> || mkw-ana || 1024カップそれぞれの名前 | ||
+ | |- | ||
+ | | <tt>6c00-6c01</tt> || mkw-ana || 2カップそれぞれの名前 | ||
+ | |- | ||
+ | | <tt>7000-7fff</tt> || mkw-ana & LE-CODE || スロット0x000-0xfffそれぞれのコース名。詳細は次のテーブルを参照下さい。 | ||
+ | |- | ||
+ | | <tt>8000-8fff</tt> || mkw-ana || スロット0x000-0xfffそれぞれのコースとカップの結びつき | ||
+ | |} | ||
+ | 7000-7fffの範囲はコース名が定義され、ゲーム上でもっとも大切なものです。テキストIDはスロット番号に関連付けされます: | ||
+ | {| class="textbox grid" | ||
+ | |+ コースとステージに使われるテキストID | ||
+ | ! テキストID !! 概要 | ||
+ | |- | ||
+ | | <tt>7000-701f</tt> || 32つの任天堂コースの名前 | ||
+ | |- | ||
+ | | <tt>7020-7029</tt> || 10つ任天堂ステージ、もしくはカスタムステージの名前 | ||
+ | |- | ||
+ | | <tt>702a-703d</tt> || 使われません | ||
+ | |- | ||
+ | | <tt>703e-7041</tt> || 4つの[[#random|ランダムセレクト]]の名前 | ||
+ | |- | ||
+ | | <tt>7042-7043</tt> || 使われません | ||
+ | |- | ||
+ | | <tt>7044-7fff</tt> || 4028つのカスタムトラックの名前 | ||
+ | |} | ||
+ | ===BMGコースリストの作成=== | ||
+ | '''[[Wiimms SZS Tools|wctct]]'''を使うことで定義ファイルから[[BMG]]リストを作成することができます: | ||
+ | wctct bmg --le-code --long CTFILE.txt > tracks.bmg.txt | ||
+ | '''bmg'''コマンドはBMGを作成、通常の出力を行います。'''--le-code'''オプションは[[LE-CODE]]に対応するために必須です。'''--long'''オプションは[[mkw-ana]]に必要な記述を出力させます。'''CTFILE.txt'''は定義ファイルのファイル名の一例です。'''>tracks.bmg.txt'''は'''tracks.bmg.txt'''として出力する部分になります。 |
Revision as of 06:56, 24 February 2020
But if this violates the Wiiki rules, please delete it.
「Leseratte Code(通称、LE-CODE)」とは、従来のCT-CODEの32つ以上のコースを追加する機能に加えて、それ以外の便利な拡張機能がチートコードなしで格納された新しいフレームワークです。詳細は、LE-CODEをご参照ください。(英語です)
ここではLE-CODEを使用したCTパックの作成方法をRzの拙い日本語で記載しています。追加として、英語ですがDistribution FAQにここでは書き足りない詳しい情報が記載されています。
導入
スロットとファイル名
LE-CODEでは、4028スロット(68~4095、16進数で0x044~0xfff)がカスタムトラックに使われます。具体的には、32つの任天堂コース、10つの任天堂バトルステージに加えて、その他残りの特別なスロットが使用可能です。詳細は英語になりますが、LE-CODE Slot Usageを参照下さい。 各ストットでは、以下の3バイトが使われます:
- 指定したコースに合わせたコースID
- ミュージックID
- フラグ(新しいコース、ランダムセレクト用スロットの始点もしくはランダムセレクト用スロットの内容の指定)
合計で12KBを4096スロットを定義するのに使われます。それに対し、従来のCT-CODEでは256バイトが必要でした。使用するメモリ量を削減するために、CT-CODEではわざわざ文字列を利用してコースファイル名を定義していますが、LE-CODEでは代わりに任天堂コースを含めたすべてのスロットのIDを使用しています:
std_file = sprintf(“%03x.szs”,slot); d_file = sprintf("%03x_d.szs",slot);
マルチプレイに必要な、~_d.szsが存在しない場合は、シングルプレイ用ファイルが代わりに読み込まれます。
特別なランダムスロット
いくつかのスロットは既におまかせ機能を定義されています。特定のスロットIDをカップ内に配置されることで作動させます。テキストは0x703e~0x7041に定義されています。
- 0x03e: 全てのコース
- コースをランダムに選択します。
- 0x03f: 任天堂コース
- 任天堂コースの中からランダムに選択します。
- 0x40: カスタムトラック
- スロット68から配置されているコースからランダムに選択します。
- 0x41: 新コース
- 新しいコースとして配置されたコースのみからランダムに選択します。存在しない場合は上記と同じ動作をします。
共通ファイル
コースファイルは./files/Race/Course/*.szsに配置されています。いくつかのコースファイルはサブディレクトリ./Common/に異なるファイルの非公開のバージョンと一緒に配置されています。これらのファイルは%Nにスロット番号として./files/Race/Common/%Nに展開する必要があります。詳細はDistribution FAQ: Common Filesを参照下さい。
コースフラグ
LE-CODEはコースIDとミュージックIDの横に存在する、フラグと呼ばれる三つ目のプロパティに対応しています。3つのプロパティはそれぞれ4096つの配列に保持されます。 フラグは以下の特徴を持つビットフィールドです:
カップ
現在、LE-CODEは5つのステージを持つ2カップと4コースを持つ1024カップに対応しています。バトル用カップとステージには、通常の定義方法が使われます。コースIDとミュージックIDを除いて、SZSファイルとステージ名を交換することが可能です。これは将来的に変更されます。 レース用カップには、スロットとコースを割り当て、定義するためにCT-CODEの構成ファイルを使用します。任意で上記のフラグを使うことができます。詳細は以下の章を参照下さい。 カップには名前を設定できません。カップセレクトでカップをスクロールした際にカップ名がそれに倣って変更されないためです。
BMG
LE-CODEでは、テキストIDの7000~7FFFをスロット0x000~0xfffとして使用します。テキストID6800~6c01と8000~8fffはカップ名とカップの参照に使われます。前記のカップの参照はmkw-anaでコース選択に関する情報を描画するために使われます。
テキストID | 使用される媒体 | 概要 |
---|---|---|
6800-6bff | mkw-ana | 1024カップそれぞれの名前 |
6c00-6c01 | mkw-ana | 2カップそれぞれの名前 |
7000-7fff | mkw-ana & LE-CODE | スロット0x000-0xfffそれぞれのコース名。詳細は次のテーブルを参照下さい。 |
8000-8fff | mkw-ana | スロット0x000-0xfffそれぞれのコースとカップの結びつき |
7000-7fffの範囲はコース名が定義され、ゲーム上でもっとも大切なものです。テキストIDはスロット番号に関連付けされます:
テキストID | 概要 |
---|---|
7000-701f | 32つの任天堂コースの名前 |
7020-7029 | 10つ任天堂ステージ、もしくはカスタムステージの名前 |
702a-703d | 使われません |
703e-7041 | 4つのランダムセレクトの名前 |
7042-7043 | 使われません |
7044-7fff | 4028つのカスタムトラックの名前 |
BMGコースリストの作成
wctctを使うことで定義ファイルからBMGリストを作成することができます:
wctct bmg --le-code --long CTFILE.txt > tracks.bmg.txt
bmgコマンドはBMGを作成、通常の出力を行います。--le-codeオプションはLE-CODEに対応するために必須です。--longオプションはmkw-anaに必要な記述を出力させます。CTFILE.txtは定義ファイルのファイル名の一例です。>tracks.bmg.txtはtracks.bmg.txtとして出力する部分になります。