Difference between revisions of "User:Rz/Track Listing For LE-Code (Japanese)"

From Custom Mario Kart
Jump to navigation Jump to search
(i decided to translate the original article in english)
m
Line 16: Line 16:
 
  d_file  = sprintf("%03x_d.szs",slot);
 
  d_file  = sprintf("%03x_d.szs",slot);
 
マルチプレイに必要な、''~_d.szs''が存在しない場合は、シングルプレイ用ファイルが代わりに読み込まれます。
 
マルチプレイに必要な、''~_d.szs''が存在しない場合は、シングルプレイ用ファイルが代わりに読み込まれます。
 +
 
===<span id=random>特別なランダムスロット</span>===
 
===<span id=random>特別なランダムスロット</span>===
 
いくつかのスロットは既におまかせ機能を定義されています。特定のスロットIDを[[#cup|カップ]]内に配置されることで作動させます。[[#bmg|テキスト]]は0x703e~0x7041に定義されています。
 
いくつかのスロットは既におまかせ機能を定義されています。特定のスロットIDを[[#cup|カップ]]内に配置されることで作動させます。[[#bmg|テキスト]]は0x703e~0x7041に定義されています。
Line 30: Line 31:
 
===共通ファイル===
 
===共通ファイル===
 
コースファイルは''./files/Race/Course/*.szs''に配置されています。いくつかのコースファイルはサブディレクトリ''./Common/''に異なるファイルの非公開のバージョンと一緒に配置されています。これらのファイルは%Nにスロット番号として''./files/Race/Common/%N''に展開する必要があります。詳細は[[LE-CODE/Distribution FAQ#common|Distribution FAQ: Common Files]]を参照下さい。
 
コースファイルは''./files/Race/Course/*.szs''に配置されています。いくつかのコースファイルはサブディレクトリ''./Common/''に異なるファイルの非公開のバージョンと一緒に配置されています。これらのファイルは%Nにスロット番号として''./files/Race/Common/%N''に展開する必要があります。詳細は[[LE-CODE/Distribution FAQ#common|Distribution FAQ: Common Files]]を参照下さい。
 +
 
===<span id=flags>コースフラグ</span>===
 
===<span id=flags>コースフラグ</span>===
 
[[LE-CODE]]はコースIDとミュージックIDの横に存在する、''フラグ''と呼ばれる三つ目のプロパティに対応しています。3つのプロパティはそれぞれ4096つの配列に保持されます。
 
[[LE-CODE]]はコースIDとミュージックIDの横に存在する、''フラグ''と呼ばれる三つ目のプロパティに対応しています。3つのプロパティはそれぞれ4096つの配列に保持されます。
Line 43: Line 45:
 
<dd>[[#flag-rhead|上記のフラグ]]が指定されたスロット以下のスロットに指定することでメンバーとして配置されます。</dd>
 
<dd>[[#flag-rhead|上記のフラグ]]が指定されたスロット以下のスロットに指定することでメンバーとして配置されます。</dd>
 
<dl>
 
<dl>
 +
 
===<span id=cup>カップ</span>===
 
===<span id=cup>カップ</span>===
 
現在、[[LE-CODE]]は5つのステージを持つ2カップと4コースを持つ1024カップに対応しています。バトル用カップとステージには、通常の定義方法が使われます。コースIDとミュージックIDを除いて、SZSファイルとステージ名を交換することが可能です。これは将来的に変更されます。
 
現在、[[LE-CODE]]は5つのステージを持つ2カップと4コースを持つ1024カップに対応しています。バトル用カップとステージには、通常の定義方法が使われます。コースIDとミュージックIDを除いて、SZSファイルとステージ名を交換することが可能です。これは将来的に変更されます。
 
レース用カップには、スロットとコースを割り当て、定義するために[[CT-CODE]]の構成ファイルを使用します。任意で上記のフラグを使うことができます。詳細は以下の章を参照下さい。
 
レース用カップには、スロットとコースを割り当て、定義するために[[CT-CODE]]の構成ファイルを使用します。任意で上記のフラグを使うことができます。詳細は以下の章を参照下さい。
 
カップには名前を設定できません。カップセレクトでカップをスクロールした際にカップ名がそれに倣って変更されないためです。
 
カップには名前を設定できません。カップセレクトでカップをスクロールした際にカップ名がそれに倣って変更されないためです。
 +
 
===<span id=bmg>BMG</span>===
 
===<span id=bmg>BMG</span>===
 
[[LE-CODE]]では、テキストIDの7000~7FFFをスロット0x000~0xfffとして使用します。テキストID6800~6c01と8000~8fffはカップ名とカップの参照に使われます。前記のカップの参照は[[mkw-ana]]でコース選択に関する情報を描画するために使われます。
 
[[LE-CODE]]では、テキストIDの7000~7FFFをスロット0x000~0xfffとして使用します。テキストID6800~6c01と8000~8fffはカップ名とカップの参照に使われます。前記のカップの参照は[[mkw-ana]]でコース選択に関する情報を描画するために使われます。
Line 78: Line 82:
 
| <tt>7044-7fff</tt> || 4028つのカスタムトラックの名前
 
| <tt>7044-7fff</tt> || 4028つのカスタムトラックの名前
 
|}
 
|}
 +
 
===BMGコースリストの作成===
 
===BMGコースリストの作成===
 
'''[[Wiimms SZS Tools|wctct]]'''を使うことで定義ファイルから[[BMG]]リストを作成することができます:
 
'''[[Wiimms SZS Tools|wctct]]'''を使うことで定義ファイルから[[BMG]]リストを作成することができます:
 
  wctct bmg --le-code --long CTFILE.txt > tracks.bmg.txt
 
  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'''として出力する部分になります。
 
'''bmg'''コマンドはBMGを作成、通常の出力を行います。'''--le-code'''オプションは[[LE-CODE]]に対応するために必須です。'''--long'''オプションは[[mkw-ana]]に必要な記述を出力させます。'''CTFILE.txt'''は定義ファイルのファイル名の一例です。'''>tracks.bmg.txt'''は'''tracks.bmg.txt'''として出力する部分になります。
 +
 +
===<span id=opt-lecode>Wiimms SZS Toolsと--le-codeオプション</span>===
 +
[[Wiimms SZS Tools]]はv2.00aから、全てのツールに'''--le-code'''オプションが追加されています。このオプションはLE-CODEへの対応を有効化します。ただしこのオプションは以下のツールとコマンドにのみ関連付けされます:
 +
* '''wlect''' - LE-CODE関連用ツール
 +
* '''wszst'''、'''wctct'''と'''wbmgt'''は--le-codeを使用することでその動作が変化します。
 +
* その他ツールはこのオプションを無視します。

Revision as of 07:48, 24 February 2020

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.
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バイトが使われます:

合計で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つの配列に保持されます。 フラグは以下の特徴を持つビットフィールドです:

New (ビット0 = 0x01、符号: LE$F_NEW)
指定されたスロットは新コースとして配置されます。上記のランダムセレクトに使用します。
Random header (ビット1 = 0x02、符号: LE$F_HEAD)
おまかせ用グループの先頭です。以下のフラグが設定されていない、もしくは次のグループの先頭が設定された場合、グループの終点が配置されます。 これが指定されているコースを選択した場合、これ以下にそのメンバーとして配置されているコースの中からランダムで選択されます。これ自体もメンバーとして配置されている場合、ランダムセレクトに含まれますが、おおよそ除外されます。
Random group (ビット2=0x04、符号: LF$F_GROUP)
上記のフラグが指定されたスロット以下のスロットに指定することでメンバーとして配置されます。

カップ

現在、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でコース選択に関する情報を描画するために使われます。

BMGテキストID
テキスト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
テキスト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.txttracks.bmg.txtとして出力する部分になります。

Wiimms SZS Toolsと--le-codeオプション

Wiimms SZS Toolsはv2.00aから、全てのツールに--le-codeオプションが追加されています。このオプションはLE-CODEへの対応を有効化します。ただしこのオプションは以下のツールとコマンドにのみ関連付けされます:

  • wlect - LE-CODE関連用ツール
  • wszstwctctwbmgtは--le-codeを使用することでその動作が変化します。
  • その他ツールはこのオプションを無視します。