索敵マップでも出撃ユニットの配置入れ替えを可能に変更

索敵マップの進撃準備画面にマップコマンドを追加し、索敵マップでも出撃ユニットの配置入れ替えを可能に変更しました。

当パッチでは過去にバイナリスレで作られた「ユニット再編成」パッチを使用しており、各章の出撃準備画面のマップ上でYボタンを押すとユニットの位置を入れ替えることができます。「ユニット再編成」パッチでは索敵マップは対象外となっていましたが、索敵マップでも同様に処理できるように改変しました。

21章外伝や25章のように、索敵マップなのに分割配置されるマップがあります。これらのマップ上で再配置できなかったのが解決しました。これでまた少し遊びやすくなったかと思います。

進撃準備画面では各ユニットの視界が0の状態で配置されます。

変更内容

当環境では古いバージョンの「ユニット再編成」パッチを使用しており、具体的な変更箇所の説明が難しいため、概要だけ記載しておきます。

  • 索敵マップでは「マップ」コマンドを表示させないのを解除($8A8588 以降にあるコマンド定義内の $8A86FE を $000000 に変更し、マップコマンドの表示条件を削除)
  • 索敵マップでは「マップ」コマンドを実行させないのを解除(索敵マップの判定である lda $0e17 と beq を削除)
  • 索敵マップではユニット入れ替えを実行させないのを解除(索敵マップの判定である lda $0e17 と beq を削除)
  • 進撃画面をキャンセルしたときにマップの表示状態の更新処理を実行(キャンセル音を鳴らす処理の直後に JSL $81AC14 を挿入)

進撃準備画面で各ユニットの視界を0にするには、JSL $80E626 で索敵視界を出力する処理(sta $0F)の直後に以下の処理をねじ込みます。適当な空き領域にJSLを作ってフックしてください。

	lda $7e0e13	; 章ターン数
	bne ++		; 進撃画面のときは0

	lda $7e0e23	; 処理状態
	cmp #$000C	; 0C=データロード中
	beq +

	lda $7e0e29	; 進撃画面フラグ
	beq ++		; 進撃画面のときFFFF、出撃後は0000

+	stz $0f		; ユニットの視界を0に
++