guide:febuildergba:タイルパレットの変更

タイルパレットの変更

タイルパレットを変更する方法(マップエディタによる簡易設定)

タイルパレットを変更する一番簡単な方法は、マップエディタのプリセットから選択することです。

StepA1

マップエディタを選択します。
i.imgur.com_s0da5vl.jpg

StepA2

タイルのプリセットを変更します。
i.imgur.com_qaci1xd.jpg

StepA3

「書き込み」ボタンを押します。
i.imgur.com_qiw8fe2.jpg

StepA4

F5キーで動作を確認してみましょう。
無事動作していることがわかりますね。
i.imgur.com_gkc90ig.jpg

タイルパレットを変更する方法(未知の組み合わせ)

プリセットには存在しない組み合わせを行いたい場合は、章設定のPLIST IDを直接設定します。
PLSIT構造は、後で説明します。
とりあえず、章設定を選択して、PLISTの値を変更してみましょう。
既存の組み合わせはプリセットとして、すべて登録されているため、今回は村のパレットを強引に指定します。

StepB1

章設定を選択します。
i.imgur.com_nj93fnb.jpg

StepB2

右上に表示されているPLISTの値を変更してください。
「Change Map Plist」を使うとより簡単です。
i.imgur.com_qembd2e.jpg

Palette 0xFを選択してみましょう。
Palette 0xFは、村のパレットです。
i.imgur.com_26zoouy.jpg

StepB3

「書き込み」ボタンを押します。
i.imgur.com_8eefyd9.jpg

StepB4

ここで設定した設定は、マップエディタのプリセットに、「追加設定」として表示されます。
i.imgur.com_ckbpgsb.jpg

フィールドに村のタイルセットを指定したので、画面が乱れています。
ただ、設定の方法はわかったと思います。

PLSIT構造の説明

PLISTの構造について説明します。
興味がない場合は、PLST分割まで読み飛ばしてください。
PLISTとは、マップに関するいろいろなもののポインタを格納したリストです。
このリストは最大255個の配列になります。(PLSIT IDはBYTE型で格納されため上限は255になります。)


void* map[Max 255] = {CH0_OBJ, CH0_PAL, CH0_PAL , CH0_MAP , CH1_OBJ, CH1_PAL… };

PLISTのポインタの値は、詳細メニューの「マップポインタ」から確認できます。
それぞれ格納されている値から、実際にデータへの接続は以下のようになります。

もし、地図やパレットを追加したい場合、空きPLISTを見つけて来ればよいということになります。
しかしながら、PLISTの大部分は使用されています。
PLIST IDはBYTE型で設定するため、255個を超えることができません。
再利用できれば、それが一番良いですが、再利用できない場合は、PLIST分割を行う必要があります。

PLSIT分割

PLIST分割とは、PLISTを種類ごとに分散させて、空きを作る方法です。
PLISTは、マップに切要なデータが、すべての項目が一つの配列に格納されています。
詳しく知りたい方は、この記事の末尾の「PLIST相関図」をご覧ください。

これだと、空き領域を作れないので、この構造を変更します。
すべてを一つの配列に入れるのではなく、それぞれの種類ごとの配列に振り分けるように変更します。

DEFAULTPLIST Split
DefualtPALListOBJListCONFIGList ….
OBJNULLOBJNULL
PALPALNULLNULL
CONFIGNULLNULLCONFIG
MAPNULLNULLNULL
EVENTNULLNULLNULL
OBJNULLOBJNULL
PALPALNULLNULL
CONFIGNULLNULLCONFIG
MAPNULLNULLNULL
EVENTNULLNULLNULL

こうすることで、それぞれ項目ごとのリストになるため、大量の余白を確保することが出来ます。

PLIST分割のやり方は簡単です。
詳細メニューのマップポインタから、PLIST分割のボタンを押すだけです。(この画面以外からでも呼び出すことが出来ます。)
ボタンを押せば、FEBuilderGBAが自動的に種類ごとにPLISTを分割します。

StepC1

i.imgur.com_7qvftti.jpg

StepC2

i.imgur.com_qgthm6c.jpg

StepC3

i.imgur.com_zelr9b8.jpg

この作業は、危険な作業なので、事前にバックアップを取ることを忘れないようにしてください。
分割後に、F5キーを押して、ゲームが正しく動作するか確認してください。

ゲームが正しく動作したら、PLIST分割の成功です。
おめでとう。あなたは広大な空き領域を確保できました。
ここに素敵なマップを作りましょう。

新しいマップスタイルの登録

前回のPLIST分割をしたことで、広大な空き領域を確保できました。
この空き領域を使って、FE6の雪のマップをインポートしてみましょう。

StepD1

FE6のROMをFEBuilderGBAで開いてください。
雪マップのシーンへ移動してください。
i.imgur.com_mzbsxfo.jpg

StepD2

マップエディタを選択してください。
i.imgur.com_mzbsxfo.jpg

StepD3

マップスタイルを選択してください。
i.imgur.com_p9xfgfs.jpg

StepD4

2つのファイルをexportします。
まずは、map_configをexportしてください。

map_configには、そのタイルが森なのか山なのか道なのかといった情報が格納されています。
また、マップを画像から切り抜きして組み立てる情報も入っています。

次に、マップのOBJとパレットをexportしてください。
png画像で取得できるので、両方のデータが含まれます。

i.imgur.com_vnxyndr.jpg

map_config と png の、2つのファイルを保存してください。

StepD5

データが手に入ったので、FE6を閉じしてください。

StepD6

FE8に戻ってきましょう。
i.imgur.com_s0da5vl.jpg

StepD7

章設定に入ります。
i.imgur.com_s0da5vl.jpg

StepD8

マップスタイルの変更を押します。
i.imgur.com_qaci1xd.jpg

StepD9

PLISTを拡張していなければ、前の項目を参考にしてPLISTを拡張してください。
PLISTが分割されていれば、分割済みであるという表示がされます。
i.imgur.com_vaic5df.jpg

StepD10

PLISTの空きIDを適当に設定してください。
OBJとPALとCONFIGの3つが必要です。

OBJ

i.imgur.com_vtnumpt.jpg

PAL

i.imgur.com_zjnnbsd.jpg

CONFIG

i.imgur.com_weftasi.jpg

今回は、マップアニメーションは利用しないので、アニメーション1とアニメーション2には0を設定してください。
i.imgur.com_aa4g6da.jpg

StepD11

OKを押してください。
i.imgur.com_60hbbt4.jpg

StepD12

「書き込み」ボタンを押してください。
i.imgur.com_tptxw8k.jpg

StepD13

マップエディタから、マップスタイルエディタに移動します。

未使用領域を割り当てたので、画面が真っ黒になります。
また、未使用領域を割り当てたため、FELintが警告を出しています。

i.imgur.com_xue2ceq.jpg

i.imgur.com_yyfnol6.jpg

StepD14

先程exportしたmap_configとpngを読み込ませてください。
i.imgur.com_94nq63u.jpg

StepD15

設定ができました。
i.imgur.com_7rgnqps.jpg

StepD16

設定できたので、地図が表示されているはずです。
また、FELintのエラーも消滅しています。
i.imgur.com_5t3oyfa.jpg

F5キーを押してゲームを開始してみましょう。
雪のタイルになりました。
フィールドを強引に雪にしたので、一部問題はありますが、とりあえず動きます。
i.imgur.com_uszsi6v.jpg

マップアニメーションの設定

マップアニメーションの設定もほぼ同じです。
マップアニメーションは、詳細メニューのマップアニメーションから設定できます。
こちらも、同様に、exportして importすれば、動作します。
i.imgur.com_mjxruc3.jpg

i.imgur.com_ztdaroc.jpg

i.imgur.com_ba6efmp.jpg

PLIST相関図

GBAFEのPLISTの相関図を付録としてつけておきます。

OBJ
i.imgur.com_3fvdwej.jpg

PAL
i.imgur.com_0wo2mva.jpg

CONFIG
i.imgur.com_ywktlnh.jpg

MAP
i.imgur.com_kr9xoq8.jpg

TILE CHANGE
i.imgur.com_hugzm23.jpg

EVENT
i.imgur.com_uzii1z1.jpg

guide/febuildergba/タイルパレットの変更.txt · 最終更新: 2019/10/02 07:08 by 211.14.62.243