最新版1.91を用いて色々弄ってみましょう。
目次
基本編集
Level
Levelとはステージ番号のことで、例えば初めに起動して開く番号は105番(16進数)で、ヨースターとうコース1です。
- File -> Open Level No
- 番号を指定してLevelを開きます。
- File -> Save Level to ROM
- ROMに編集したマップを上書きできます。(*1)
- File -> Save Level to File
- File -> Open Level from File
- ファイルに保存、また呼び出しが出来ます。
編集
File -> Emulatorで実行するエミュレーターを選択することでデバッグ作業が容易になります。実行するときはF4を押すだけです。
ブロック・敵の設置
ツールバーにあるこの3つのボタンは左からそれぞれレイヤー1, レイヤー2, スプライトを編集するというモード切り替えボタンです。マリオワールドでは背景(ブロックなど)とスプライト(敵など)を分けて考えています。通常、ブロックを配置するときはレイヤー1, 敵を配置するときはスプライト、と考えてくれればいいでしょう。
続いて左からオブジェクトの選択ボタン、スプライトの選択ボタンです。背景を設置するときはオブジェクトの選択ボタンを押してその中から選びます。選んだらマップエディター上で右クリックすることにより設置できます。
フィールド上にあるブロックやスプライトを左クリックで選択した状態で他の場所で右クリックをすると複製されます。コピーするときに重宝します。複数選択するにはCtrlキーを押しながらクリックしていきます。また、ドラッグアンドドロップで選択することにより複数のオブジェクト等を選択できます。
オブジェクトを選択した状態でオブジェクトの端にカーソルを充てると形状が変化します。この状態でドラッグするとオブジェクト等を拡大できます。または、オブジェクトを選択した状態でShiftキー + 矢印キーで大きさを変更することも出来ます
実行するときはCtrl + I(またはFile -> Save Level to ROM)でROMに書き込んでから実行します。ただし、バックアップなどは必要ならば取っておきましょう。
表示設定
編集しやすいように画面の設定に関して述べます。改造には直接関係はありません。
- View -> Foreground Layer 1 (Level)
- レイヤー1を表示するかどうか。(デフォ)
- View -> Background Layer 2 (Level)
- レイヤー2にあるオブジェクトを表示するかどうか。(デフォ)(*2)
- View -> Background Layer 2 (Image)
- レイヤー2の背景を表示するかどうか。(デフォ)
- View -> Enemies (Sprites)
- 敵を表示するかどうか。(デフォ)
- View -> Sprite Data (HEX Code)
- 16進数でスプライトデータのコードを表示するかどうか。後に参照することもあるかも知れません。
- View -> Screen Exits
- マップのワープに関する情報を表示します。(*3)
- View -> Tile Grid
- マス目が分かるようになります。
- View -> Level Entrance
- マリオの初期位置を表示します。(デフォ)
- View -> Secondary Level Entrances
- ワープ後の位置を表示します。(デフォ)
- View -> Midway Point Entrance
- 中間地点を表示します。(デフォ)
あとは特に弄る必要はないでしょう。
ルーム移動
土管に入った先やまた元に戻ってくるような設定をします。先ずはLevel 105からLevel 106の初めにワープできるような土管を設置してみましょう。
画像の一番左側のアイコンをクリックします。この画面ではワープポイントの作成、修正、削除が出来ます。各Levelはスクリーン単位で存在しており、F1キーを押すことでその境を確認できます。左上にあるのがその番号(16進数表記)です。それではLevel 105のスクリーン01に土管を設置し、ワープしてみましょう。
このAdd Screen Exits画面で初めに「01」を選択します。これでスクリーン01にワープゾーンを作ります。続いてワープ先を指定します。今回はLevel 106に移動したいので106を指定します。ここでステージの途中へワープしたいときはUse the above value as a Secondary Exit Numberにチェックを入れて下さい。
続いてステージの途中へワープする場合の設定を行います。途中がどこだか分からないのでその設定をするのです。画像の左から3番目の「2のドア」のアイコンをクリックします。最初のプルダウンボックスで先ほど指定した数字106を選びます。というのも、先ほどチェックを入れた場合、この数字の意味するところはLevel 106ではなくワープ設定106だからです。
続いてDistination Level Noにワープ先Levelである106を指定します。続いて、ワープ先のスクリーン番号をScreen Number of Entranceに入力します。あとはX座標, Y座標を決めて、level 106に土管を設置するだけです。このときの土管は普通の土管の場合は一方通行となります。もう一度戻るには同じような作業をする必要があります。
ワープ先にもう一つのゴールゲートがなかったり、マップに戻るワープ土管がなかったりすると設置を促すエラーメッセージが出ます。双方向移動できるように設置しましょう。
また、土管から出る際は、「2のドア」の画面で「Mario Action」をPipe Exit系にしないと土管に挟まれて即死しますのでご注意下さい。
続いて背景モードにして土管を設置します。このとき「with exit enabled」の土管を設置します。
ルーム設定など
先ほどの左から2番目の「1のドア」のアイコンでは開始地点、中間地点の座標やマリオの行動を設定できます。4番目のアイコンではワープ設定のチェック、5番目のアイコンではスクリーンの区切り・ワープ先の確認画面の切り替えが出来ます。
- Change Properties in Header
- ステージのモード選択、レイヤー1の縦スクロール設定、BGM、制限時間、スクリーン数、イテムメモリインデックスの設定
- Change Properties in Sprlite Header
- スプライトのヘッダ設定
- Modify Other Properties
- レイヤー2のスクロール設定、レイヤー3に関して、ヨッシー禁止のイントロを流さないなどの設定
- Bypass Music & Time Limit Settings
- カスタムBGMや制限時間を設定できます。
SNES Registers and Level Mode
番号 | レイヤー2 | 形状 | 最大スクリーン数 | 備考 |
0x00 | 背景 | 横 | 0x20 (32) | |
0x01 | レベル(*4) | 横 | 0x10 (16) | |
0x02 | レベル, 有効(*5) | 横 | 0x10 (16) | |
0x07 | レベル | 縦 | 0x0E (14) | |
0x0A | 背景 | 縦 | 0x1C (28) | |
0x0C | 背景 | 横 | 0x20 (32) | 黒パレット |
0x0D | 背景 | 縦 | 0x1C (28) | 黒パレット |
0x0E | 背景 | 横 | 0x20 (32) | |
0x0F | レベル, 有効 | 横 | 0x10 (16) | |
0x11 | 背景 | 横 | 0x20 (32) | 背景が暗くなる |
0x1E | 背景 | 横 | 0x20 (32) | レイヤー1が半透明 |
0x1F | レベル, 有効 | 横 | 0x10 (16) | レイヤー2が半透明 |
その他の編集
16x16 Title Map Editor
ツールバーにある「?ブロックアイコン」をクリックします。もしくはEditors -> 16x16 Tile Map Editor Windowをクリックします。
このウィンドウではROMに記録されているオブジェクト(タイル)のグラフィックの変更や動作の選択をすることが出来ます。
基本操作
左クリックで選択、右クリックで選択したタイトルをコピーして貼り付けます。ドラッグして複数選択することも可能です。
ブロックの配置
タイトルを貼り付けるにはAdd Object WindowでDirect Map 16 Accessから選べばよいです。
Palette, Act as
Paletteでパレット(色の集団)選択、Act asでブロックの動作を指定します。ここで動作内容は既存のブロックの番号を指定すればその番号のブロックの効果を利用できます。ブロックを自作する場合はこのAct asに書き込んだ(変更した)番号を入れることでブロックの設定ができます。
ブロックの複製、編集
例として、
- 200に雲のタイトルをコピー
- そして左側のAct asに121を入力
- Save Map16data to ROMをクリック
- 配置する
実行してみると雲が変わってしまうものの、スターが出るという動作が出来ています。