PSP版改造のススメ

基本的なやり方はPS版と大きく変わりません。
FFTPACKJのツールで展開した各ファイルを改造していくだけです。
ただPSP版特有の問題としてBOOT.BINの存在があります。
BOOT.BINにはPS版の個々のファイルに入ったいたものと同じ情報が書き込まれており、幾つかのデータはそちらが参照されています。
そのためfftpack.binに含まれるSLPS_007.70やBATTLE.BINなどは改造しても意味がありません。
fftpack.binとBOOT.BINのどちらを変更するかを把握するのが重要になります。
基本的に習得アビリティIDなどのパラメータ系はBOOT.BINに、SPRファイルなどの画像情報はfftpack.binの方を参照していることが多いようです。
テキスト系のデータはヘルプメッセージやキャラ名などはBOOT.BIN、詠唱メッセージや儲け話などはfftpack.binを参照しており内容によってバラバラ。
もしfftpack.binの方を変更したのに上手く反映されないと思ったら、周辺のデータと同じ内容でBOOT.BINに検索をかけてみてください。
大体はHITするはずなので同等のデータがあるアドレスを特定できればPS版と同じやり方が通用します。

また、改造したBOOT.BINはそのまま元のフォルダでISOに戻しても反映されません。
改造を反映するにはファイル名をEBOOT.BINに変更し、同名のファイルに上書きしてからISOに戻して下さい。

改造を反映させたISOファイルをBNE2で開くとアドレスがずれてしまい改造出来なくなります。
これを防ぐにはUMDGenであらかじめファイルリストをエクスポートしておき、
改造したBOOT.BINやfftpack.binを入れた後ファイルリストをインポートしてからISOを作成する。

PS版のデータ PSP版参照先
SLPS_007.70 BOOT.BIN
BATTLE.BIN BOOT.BIN
各SPRファイル fftpack.bin
ENTD1~4.ENT fftpack.bin
attack.out BOOT.BIN
TEST.EVT fftpack.bin
WLDFACE.BIN fftpack.bin
UNIT.BIN fftpack.bin
WLDHELP.LZW BOOT.BIN
HELP.LZW BOOT.BIN
ATCHELP.LZW fftpack.bin
SPELL.MES fftpack.bin
WLDCORE.BIN BOOT.BIN
WLDMES.BIN fftpack.bin
※上記以外は未調査です。


アビリティルーチンについて

CPUの違いによるためか、アビリティルーチンの部分はPS版からガラリとコードが変わっています。(ロジック自体は同じ)
全体的にjalの呼び出しが減ったり、nopを付けないことでサブルーチンより次の代入が先に動く部分もあったりで、読み解くのに煩雑になっています。

処理内容 BOOT.BINアドレス
攻撃力UP,両手持ち,二刀流などの補正 A2554
たたかう(01) A4654
マジックルーイン(1B) A7D54
真言(1F) A81D4
マジックブレイク(2C) A9ED4
聖剣技(2D) A9F94
白刃取り判定 B2214
乱れ撃ち,真言などの攻撃回数 CE85C


具体的な改造例


エフェクトをPS版と同じ速度にする

BOOT.BINの209094 1byteを04→02に変更
ただし音が高くなり少しチープに聞こえるようになります

キャラ追加

既存の重複キャラを削除して新キャラと入れ替える手順です。
FFTWRITEのような便利ツールが無いので今のところ簡単に空き領域にSPRを追加することはできません。
(あったとしてもテキスト関連の方は余裕がないので、既存キャラのどこかを削ることにはなると思われる)

  • 入れ替え対象としての候補
    • アルマ(ID=14)
      最終戦しか出番がないので最も簡単。3章アルマ(ID=30)と差し替えてやればよい。
    • メリアドール(ID=2F)
      こちらも自治都市ベルべニアの戦闘でしか出番なし。味方メリア(ID=2A)と差し替えてやればよい。
    • シモン
      重複はしていないがSPRの内部サイズ48KBあり、容量が大きなSPRファイルを差し替えたいときの候補になる。
      戦闘画像部分を削ればSHIMON.SPRの容量を落とせるので(黒で塗りつぶすかにするかFFTSPRWを使う)上記のアルマやメリアドールに移動させてやればキャパの大きなシモンの位置を自由に使える。
    • ラーグ公
      シモンと同様
    • ムスタディオ、アグリアス、ガフガリオン、マラーク
      ゲストユニットの重複があるので候補にはなるが下記の弊害を無くすためにイベントの方もかなり弄らなければならない。

1.入れ替えによる弊害を潰す
大概は追加キャラを実プレイ時に戦闘に参加させると思いますが、そこでよく入れ替え元のキャラの台詞を喋ってしまうという問題が起きます。
例えば上記の自治都市ベルべニアの戦闘イベントはTEST.EVEでユニットID=2Fのキャラが発言するように設定されています。
そのため2Fのメリアドールと入れ替えたキャラを戦闘に参加させるとメリアドールの台詞をそのキャラが奪ってしまいます。
これを防ぐにはENTD4.ENTの敵メリアドールをキャラIDだけでなくユニットIDも2Aするか、シモンのような戦闘マップで出番のないキャラをさらに入れ替えることになります。(シモン→2Fに移動、追加キャラ→13に上書き)
前者の場合、他にもTEST.EVEの発言者やBOOT.BINのイベント進行条件となるユニットIDを全て2F→2Aに変えなければいけないので結構手間は掛かります。
後者の場合、シモンが登場するイベントのキャラID(ENTD3.ENTのオープニングと2章開始の2箇所)だけ直せばいいので手間は少ないですがBNE2設定ファイルとの整合は取れなくなります。
14のアルマを入れ替える場合、ジョブまで30にすると本来ラストバトルでHP1になるところを全快になってしまうので、シモンと入れ替えるのが良いかと思われます。

2.追加キャラの画像データを上書きする
イベントの整合が上手く直せ、使用していないキャラIDが出来上がったらSPRおよび編成画面グラと顔グラを追加したいものと入れ替えます。
SPRはそのまま上書き、編成画面グラや顔グラはFFTEVGRPを使ってUNIT.BINとWLDFACE.BINを上書きします。
キャラIDに対応した編成画像や顔グラのIDは全てBOOT.BIN内で設定されているのでそこも書き換えます。
以下はメリアドール(2F)の対応アドレスです(計6箇所)
2984E2
2BC0B2
2C1B17(ここだけ1byte)
2DC7A6
2F6A02
2F8466

3.ジョブ特性やアビリティを設定する
BNE2を使って追加キャラの特性やアビリティを設定します。
オリジナルアビリティを設定したい場合、ゲストアグリアスやゲストガフガリオンなどの重複しているものを利用しましょう。
ただPS版ではアクションアビリティの空き枠が10以上ありましたが、PSP版では暗黒騎士と某空賊さんに食いつぶされ空きが1枠しかありません。
既存のシーフとほぼ変わらない技なのに専用アビリティになっている頂く系を召し上げてやるのが良いと思います。
設定はあるがほぼ使われないマジックルーインなどでもいいでしょう。

4.テキストを変更する
BOOT.BINのテキスト部分を書き換えます。文字数の制約などはPS版と変わらないのでここでは割愛。
書き換え対象のアドレスは、charConverterで探したい名称の文字コードを作り検索をかければすぐ見つかると思います。

ジョブ名称:6箇所
ジョブヘルプ:3箇所(厳密には編成画面用の1箇所には「ジョブチェンジするための条件は
特にありません。」が付く)
アビリティ名::3箇所
アビリティヘルプ:2箇所
アクションアビリティ名:3箇所
アクションアビリティヘルプ:2箇所
キャラのヘルプメッセージ:1箇所

キャラの名前を固有にしたい場合、ミルウーダ/ゴラグロスの後に名顔固定04/名顔固定05/…と続いている未使用領域があるのでそのあたりを使いましょう。
アドレスは2994E0~と2D2A0C~の2箇所です

BOOT.BIN以外で変更できるテキストは以下
  • 出撃画面のジョブヘルプ…ATCHELP.LZW
  • 詠唱メッセージ…SPELL.MES


アビリティルーチン改造

真言&ホーリーブレス回数6回安定

CE85C 01 00 11 24 → 05 00 11 24
CD87C 23 28 A4 00 → 05 00 11 24

白刃取り発動確率半減

B2240以下を下記の通りに
F0 FF BD 27
0C 00 BF AF
2C 09 03 3C
79 A1 63 90
10 00 63 30
30 00 60 50 ←変更
0C 00 BF 8F
2C 09 02 3C
3C A1 43 8C
64 00 04 24
2B 00 65 90
42 28 05 00 ←4byte挿入(代わりにルーチンの終わりから00 00 00 00を4byte分削除)
2C 09 02 3C
04 A1 43 8C
23 20 85 00
2C 09 02 3C
2C 00 64 A4
80 D9 22 0E ←変更
3C A1 44 8C ←変更
00 00 00 00 ←変更
20 00 40 14
00 00 00 00

たたかうに100%ノックバック処理追加

※ラムザなどの重要キャラは無効化されます
A4654以下を下記の通りに
F0 FF BD 27
0C 00 BF AF
08 00 B2 AF
04 00 B1 AF
90 98 22 0E
00 00 B0 AF
18 00 40 54 ←変更
0C 00 BF 8F
F0 99 22 0E
00 00 00 00
13 00 40 14 ←変更
00 00 00 00
2C 09 02 3C
04 A1 42 8C
2C 00 50 84
00 00 52 90
E0 96 22 0E
02 00 51 90
2C 09 03 3C
04 A1 65 8C
2C 09 04 3C
00 00 B2 A0
04 A1 84 8C
2C 09 03 3C
2C 00 90 A4
04 A1 63 8C
02 00 71 A0
00 00 00 00 ←4byte挿入
60 8B 22 0E ←4byte挿入
00 00 00 00 ←4byte挿入(代わりにルーチンの終わりから00 00 00 00を計12byte分削除)
0C 00 BF 8F
08 00 B2 8F
04 00 B1 8F
00 00 B0 8F
08 00 E0 03
10 00 BD 27

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2023年01月27日 23:23