トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

解説/FEBuilderGBA/背景とCGの変更方法_JP

Last-modified: 2018-08-02 (木) 00:05:53 (819d)

FEの背景とCGの変更方法について説明します。

FE8の背景とCGについて説明します。
FE7,FE6も基本的に考え方は同じです。

この例では、FE7にある青空の背景をFE8に移植します。

背景

FE7の背景をFE8に移植してみます。

StepA1

まず、FE7のROMを開いてください。

StepA2

「画像設定」を選択してください。
https://i.imgur.com/rqdFCKC.jpg

StepA3

「背景」を選択してください。
https://i.imgur.com/vgZp70x.jpg

StepA4

FE7Jでは青空は、0x59にあります。
https://i.imgur.com/KMs8gjI.jpg

StepA5

「画像取出」ボタンを押して、画像をpng形式で保存してください。
https://i.imgur.com/in13YGe.jpg

StepA6

次は、FE8のROMを開いてください。

StepA7

先ほど同様に、「画像設定」を選択してください。
https://i.imgur.com/mVwXHS2.jpg

StepA8

「背景」を選択してください。
https://i.imgur.com/FvN8pOi.jpg

StepA9

今回は、OPで表示される草原 (ID:0x25) に上書きしてみます。
(注意:FE8Uは番号が違います)
https://i.imgur.com/XXAaAhh.jpg

StepA10

「画像読込」ボタンを押して、先ほど保存した青空の画像をロードしてください。
https://i.imgur.com/UAwh8JE.jpg

StepA11

これで完成です。
https://i.imgur.com/bilmrF3.jpg
F5キーを押して、エミュレータを立ち上げて、動作を確認してください。
https://i.imgur.com/phdYZl7.jpg

CG

FE7のリンのCGを、FE8に移植してみましょう。

StepB1

まず、FE7のROMを開いてください。

StepB2

「画像設定」を選択してください。
https://i.imgur.com/rqdFCKC.jpg

StepB3

「CG」を選択してください。
https://i.imgur.com/65ij9wH.jpg

StepB4

FE7JではリンのかわいいCGは、0x00にあります。

StepB5

「画像取出」ボタンを押して、画像をpng形式で保存してください。
https://i.imgur.com/Ymt9MF1.jpg

StepB6

次は、FE8のROMを開いてください。

StepB7

先ほど同様に、「画像設定」を選択してください。
https://i.imgur.com/mVwXHS2.jpg

StepB8

「CG」を選択してください。
https://i.imgur.com/xyPrJlv.jpg

StepB9

EDで表示される3人組みのCG(0x00)を上書きします。

StepB10

「画像読込」ボタンを押して、先ほど保存したリンの画像をロードしてください。
https://i.imgur.com/p102ds8.jpg
https://i.imgur.com/FBHuCta.jpg

StepB11

これで画像を、はめ込めました。
しかし、画像を出すには、エンディングまで行かないといけません。
それは手間です。
そのため、序章にCGを出すコードを入れます。

開始イベントをクリックしてください。
https://i.imgur.com/Zn812m0.jpg

StepB12

今回は、チュートリアル分岐の命令を潰して書き換えたいと思います。
チュートリアル分岐をタブルクリックしてください。
https://i.imgur.com/LDtSCHW.jpg

StepB13

命令変更ボタンを押してください。
https://i.imgur.com/z9VcXKf.jpg

StepB14

カテゴリから「背景」を選択してください。
https://i.imgur.com/lv4jNuF.jpg

StepB15

「エンディングのエフラム、リオンの一枚絵」を選択してください。
https://i.imgur.com/0yrSUOt.jpg
これは、CG 0x00を表示する命令です。
FE8には、任意のCGを表示する命令がありません。
しかし、拡張パッチを当てることで、任意のCGを表示することができます。
これについては後で説明します。
今回は、0x00に入れたCGを表示するので、「エンディングのエフラム、リオンの一枚絵」を選択してください。

StepB16

変更ボタンを押してください。
https://i.imgur.com/5XhHP5H.jpg
命令がはめ込まれます。
https://i.imgur.com/IHxICwZ.jpg

StepB17

書き込みボタンを押して、結果を確定させてください。
https://i.imgur.com/2GEVo16.jpg

StepB18

F5キーを押して、エミュレータを立ち上げて、動作を確認してください。
絵が表示されたでしょうか?
(表示場所は、ヴァルターからダメージを受けて、エイリークとゼトが逃げたところです。レイピアを受け取る前のシーンです。)
https://i.imgur.com/cdkT1Gy.jpg
会話などを入れると、カットインぽくなります。

注意1

CG表示後に画面が乱れることがあります。
その場合は、別の背景画像を表示してください。
綺麗に後始末してくれます。

注意2

川などのタイルアニメーションがあるマップでCGを表示すると、おかしなことになります。
タイルアニメーションがない領域で表示してください。

任意のCGを表示する

CG ID:0x00だけではなく、ID:0x01 などの好きなCGを表示する方法を説明します。

StepC1

メニューの ツール->パッチを選択してください。
https://i.imgur.com/nLJzwkX.jpg

StepC2

「10分割CG表示」を選択してください。
https://i.imgur.com/yNLxFSK.jpg

StepC3

Writeで書き込みをしてください。
これでパッチが組み込まれました。
https://i.imgur.com/NSwgqUw.jpg

StepC4

次は、表示する命令を書きます。
先ほど、「エンディングのエフラム、リオンの一枚絵」を設定した命令を書き換えて、CG 0x01 を表示してみましょう。

先ほどと同じく、開始イベントを選択してください。

StepC5

先ほど、「エンディングのエフラム、リオンの一枚絵」にしたところをダブルクリックして、コントロールパネルを出してください。
https://i.imgur.com/0wU4GIg.jpg

StepC6

命令変更ボタンを押してください。
https://i.imgur.com/LQLyWR0.jpg

StepC7

カテゴリから「背景」を選択してください。
https://i.imgur.com/jISB5dC.jpg

StepC8

「[XX:CG:CG]一枚絵表示するパッチを当てた場合に絵を表示する」を選択してください。
https://i.imgur.com/j5AXATW.jpg
https://i.imgur.com/ND0OODM.jpg

StepC9

引数を設定する箇所に 0x01 を設定してください。
https://i.imgur.com/V3qq4eK.jpg

StepC10

変更ボタンを押してください。
https://i.imgur.com/LHJoWGG.jpg
命令が、はめ込まれます。 https://i.imgur.com/ewUAVkg.jpg

StepC11

書き込みボタンを押して、結果を確定させてください。
https://i.imgur.com/1gShHAg.jpg

StepC12

F5キーを押して、エミュレータを立ち上げて、動作を確認してください。
CG ID:0x01の絵が表示されたでしょうか?
https://i.imgur.com/g7Fn4fd.jpg

背景を拡張した場合の注意点

背景を増やしたい場合、リストを拡張することがあると思います。
しかし、FE8には特定の番号のCGが欠番扱いになっているものがあります。

FE8Jの場合、0x51番目が欠番です。
これを解決するには、ツール->パッチから、「SYSTEM_背景0x51番を解放する」パッチを適応してください。
0x51番目が利用できるようになります。

FE8Eの場合は、0x37番目が欠番かもしれません。
回避方法は今のところありません。
これ以外の場所を利用してください。

TSAについて

TSAの技術的な制約はこちらをご覧ください。 解説/TSA
ここでは、TSAに対応した画像をどう作るかについて説明します。

GBAでは、TSAという仕組みを利用することで、16色以上の色を表示することができます。
具体的には、CGでは6パレット(6*16色)、BGでは8パレット(8*16色)利用できます。
ただ、TSAには条件があります。

それは、8x8のタイル内で利用できるパレットは1つだけということです。

画像を8x8のタイルに分断します。
そして、それぞれのタイル内で利用できるパレットは1つだけになります。

http://ngmansion.xyz/wiki/hackfe/index.php?plugin=attach&refer=%E8%A7%A3%E8%AA%AC%2FTSA&openfile=tile2.png
例えば、0のタイルでは、パレット0の16色を利用する
1のタイルでは、パレット1の16色を利用する
2のタイルでは、パレット0の16色を利用する
3のタイルでは、パレット4の16色を利用する
...
このように、それぞれの8x8のタイルごとにパレットを切り替える仕組みです。
https://i.imgur.com/2P6fR3c.png
そのため、単純に減色処理をした画像では、TSAルールを逸脱してしまいます。
TSAルールにしたがった画像を作る必要があります。

画像を作るコツとしては、
まずは16色だけで画像を作り、特別に色を追加したいタイルだけに、TSAルールに従い色を割り振るというものです。
これならば、TSAルールを最大限生かすことができるでしょう。

UPDATE

FEBuilderGBAは、TSAを考慮する減色ツールを搭載しました。 メニューの "ツール" -> "減色ツール" でアクセスできます。