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を考慮する減色ツールを搭載しました。 メニューの "ツール" -> "減色ツール" でアクセスできます。