FEの背景とCGの変更方法について説明します。
FE8の背景とCGについて説明します。
FE7,FE6も基本的に考え方は同じです。
この例では、FE7にある青空の背景をFE8に移植します。
FE7の背景をFE8に移植してみます。
まず、FE7のROMを開いてください。
次は、FE8のROMを開いてください。
FE7のリンのCGを、FE8に移植してみましょう。
まず、FE7のROMを開いてください。
FE7JではリンのかわいいCGは、0x00にあります。
次は、FE8のROMを開いてください。
EDで表示される3人組みのCG(0x00)を上書きします。
「エンディングのエフラム、リオンの一枚絵」を選択してください。
これは、CG 0x00を表示する命令です。
FE8には、任意のCGを表示する命令がありません。
しかし、拡張パッチを当てることで、任意のCGを表示することができます。
これについては後で説明します。
今回は、0x00に入れたCGを表示するので、「エンディングのエフラム、リオンの一枚絵」を選択してください。
F5キーを押して、エミュレータを立ち上げて、動作を確認してください。
絵が表示されたでしょうか?
(表示場所は、ヴァルターからダメージを受けて、エイリークとゼトが逃げたところです。レイピアを受け取る前のシーンです。)
会話などを入れると、カットインぽくなります。
CG表示後に画面が乱れることがあります。
その場合は、別の背景画像を表示してください。
綺麗に後始末してくれます。
川などのタイルアニメーションがあるマップでCGを表示すると、おかしなことになります。
タイルアニメーションがない領域で表示してください。
CG ID:0x00だけではなく、ID:0x01 などの好きなCGを表示する方法を説明します。
次は、表示する命令を書きます。
先ほど、「エンディングのエフラム、リオンの一枚絵」を設定した命令を書き換えて、CG 0x01 を表示してみましょう。
先ほどと同じく、開始イベントを選択してください。
背景を増やしたい場合、リストを拡張することがあると思います。
しかし、FE8には特定の番号のCGが欠番扱いになっているものがあります。
FE8Jの場合、0x51番目が欠番です。
これを解決するには、ツール→パッチから、「SYSTEM_背景0x51番を解放する」パッチを適応してください。
0x51番目が利用できるようになります。
FE8Eの場合は、0x37番目が欠番かもしれません。
回避方法は今のところありません。
これ以外の場所を利用してください。
TSAの技術的な制約はこちらをご覧ください。 TSA
ここでは、TSAに対応した画像をどう作るかについて説明します。
GBAでは、TSAという仕組みを利用することで、16色以上の色を表示することができます。
具体的には、CGでは6パレット(6*16色)、BGでは8パレット(8*16色)利用できます。
ただ、TSAには条件があります。
それは、8×8のタイル内で利用できるパレットは1つだけということです。
画像を8×8のタイルに分断します。
そして、それぞれのタイル内で利用できるパレットは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色を利用する
…
このように、それぞれの8×8のタイルごとにパレットを切り替える仕組みです。
https://i.imgur.com/2P6fR3c.png
そのため、単純に減色処理をした画像では、TSAルールを逸脱してしまいます。
TSAルールにしたがった画像を作る必要があります。
画像を作るコツとしては、
まずは16色だけで画像を作り、特別に色を追加したいタイルだけに、TSAルールに従い色を割り振るというものです。
これならば、TSAルールを最大限生かすことができるでしょう。
FEBuilderGBAは、TSAを考慮する減色ツールを搭載しました。
メニューの “ツール” → “減色ツール” でアクセスできます。