準備
まずは改造したいマップを用意する。
目的のマップがキャンペーン用の場合、以下のコードを有効にすると早い。
以上の状態でターンを終了させると、即作戦終了となり次マップに進める。
ただし目的のマップの直前まで来たら、上記は一旦オフにしておこう。
目的のマップに到達したらまずは一旦セーブし、
念のためセーブデータのバックアップも確保しよう。
また改造の進行に応じてこまめにセーブをとろう。
レベル1 基本
主に生産可能兵器など、正規プレイでもあり得る範囲での改造。
部隊コード
- 経験値 キャンペーンマップで進化させるなら必須。
- 訓練値 陣営全体、または個別部隊の強さを底上げできる。
- 燃料 マップ改造の最終仕上げに。
陣営コード
- 軍資金 下2バイト=FFFF($65535)あれば十分。改造が終了したら好みの数値に。
オプションコード
陣営終了コマンドではなく、こちらで陣営を切り替えよう。
ターン数、日付、天候の内部累積値などを初期状態のまま固定できるだけでなく、
航空機ユニット滞空時の燃料自動消費も避けることができる。
なお5以上の値を指定するとバグるので注意。
- 無限行動:ON 改造終了前にOFFにすることを忘れずに。COMも無限操作ありきで行動する。
レベル2 非正規値使用
より突っ込んだ改造のために、以下も用い得る。
部隊コード
司令部、
トーチカなどの固定ユニットの移動が可能。
特に司令部を移動させると生産配置可能な施設も変わるため、大幅にゲーム性を変化させられる。
またX=FF、Y=FFを指定すると兵器庫に格納され、司令部周辺で配置が可能になる(スタンダードでも可)。
本ゲームではマップに登録されていない兵器は改造でも出せないが、
旧式兵器をこのコードで大幅にパワーアップさせることは可能。
事前に武器指定値を把握しておくことが必要。
陣営コード
配置上限数を80まで引き揚げることができる(見た目の上限数は変わらない)。
なお既存のマップでも初期配置の数が本来の上限数を超えている例は幾つか存在する。ズルい。
本来同盟関係の陣営を敵同士にしたり、逆に味方同士にしたりできる。
1陣営側からだと片思いなので両陣営側からの設定が必要。
オプションコード
スタンダードモードのため進化できない兵器も、このフラグを書き換えれば進化可能にできる。
ただしこのフラグの切り替えには、陣営名の変化など厄介な仕様が付随するため、
改造の都合上で切り替えたモードは最終的に元に戻しておくのが無難。
またスタンダード限定マップで作戦図コマンドを実行するとエラー落ちしてしまうので注意。
他陣営の兵器の生産(鹵獲)が可能になる。目的陣営が部隊上限に達していないことが条件。
仕様が特殊で、ここの値を弄ったまま陣営操作を行うのはやや困難なため、目的兵器の生産を終えたら元に戻そう。
ここの改造は好みの問題だが、月の変更は天候(雨か雪か)に影響を与える。
終了ターン数と終了年月日との整合性はとるようにしておこう。
施設コード
施設の増設or変更。例えば空港を増やせれば、より大胆な空軍運用が可能になる。
レベル3 兵器書き換え
生産・進化で得ることができない兵器を作る。
まず大前提として、対象のマップに登録されていない兵器は、現状
改造コードを駆使しても作ることができない。
このため、マップに登録されている範囲内で、好きな兵器を出現させることを目標とする。
これを実現するために、以下の把握が重要になる。
- 兵器指定値(必須)
- 兵器登録アドレス(下記[A][B]で必要)
- 武器指定値1~4(〃)
ただし兵器指定値と武器指定値については、マップ、鋼鉄、作戦問わず共通なので、
ここの一覧から取得してくれば十分である。
マップによって変動するのは兵器登録アドレスなので、あとはそのアドレスをいかに得るかという話になる。
[A] 直接書き換え法・マップ上にその兵器がある場合
上記のように登録アドレスのみの取得のみでも良いが、他の値についてもその場で取得するのは難しくないので、その方法をセットで把握しておこう。
(1)目的の
部隊コードの先頭アドレスを探す
ドイツ第2軍(第3陣営)空第20部隊→アドレス38D3C~
アドレス |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
38D30 |
|
|
|
|
|
|
|
|
|
|
|
|
01 |
B3 |
00 |
00 |
38D40 |
06 |
00 |
BE |
38 |
00 |
0A |
96 |
64 |
00 |
01 |
04 |
00 |
00 |
5E |
00 |
8B |
38D50 |
00 |
00 |
00 |
00 |
04 |
04 |
00 |
00 |
FF |
FF |
FF |
FF |
60 |
00 |
00 |
00 |
(2)上記アドレスを基準に、以下の2つのデータ列を取得
a. 先頭8バイト(兵器値~登録アドレス)の値 → 01 B3 00 00 06 00 BE 38
b. 17バイト目からの8バイト(武器1~4)の値 → 00 5E 00 8B 00 00 00 00
上記から次のことが分かる。
兵器指定値:01B3 登録アドレス:BE38
武器1:005E 2:008B 3、4:0000
なお兵器指定値と登録アドレスの間の「00 00 06 00」は、基本的にどの部隊でも不変と考えて差し支えない(例外は輸送車、輸送機のみ)。
(3)書き換えたい部隊を指定し、アドレスを探す
例:日本第1軍(第1陣営)空第2部隊→アドレス37434~
(4)取得済のデータ列a.を先頭に、b.を17バイト目に上書き
アドレス |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
37430 |
|
|
|
|
01 |
B3 |
00 |
00 |
06 |
00 |
BE |
38 |
XX |
XX |
XX |
XX |
37440 |
XX |
XX |
XX |
XX |
00 |
5E |
00 |
8B |
00 |
00 |
00 |
00 |
XX |
XX |
XX |
XX |
37450 |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
|
|
|
|
→姿も性能もハウニブに変化
(5)補給やコードで燃料、弾数の調整をして完了
[B] 直接書き換え法・マップ上にその兵器がない場合
主に兵器登録アドレスがすぐに得られない場合、その探索方法について述べる。
例:スタンダードのコロネットで旧式戦艦(日)を出現させる。なお第4陣営第1部隊とする。
(1)兵器、武器指定値を把握しておく
兵器指定値:01 BA 武器1~4:01 97 01 98 00 00 01 A9
(2)兵器指定値を検索する(CEP)
「検索」タブにて16進、16ビットを選択、フラグ消去ボタンを押した後、数値検索欄に「BA01」(※1)と入力し、検索。
(3)結果一覧が表示されたら、アドレス(※2)が8000h+58h×n(※3)となっている検索結果を探す(※4)。
なお見つからなければそのマップには登録されていないので諦めること。
※1 前後のバイトを入れ換えて入力すること。ハウニブならB301である。
※2 結果表示「80XXXXXX BA01」のXXXXXXの箇所。
※3 8000、8058、80B0、8105、8160、・・・の数列。
※4 結果絞り込みのポイント:アドレスの下一桁が0か8、かつ10000h未満(正確にはEDA8以下)
(4)アドレスD750とED50がヒット。それぞれ第4、第5陣営に所属だが、今回は第4陣営に作るので前者を採用。
(5)得られたアドレスを元に以下のデータ列を完成させる。
→ 01 BA 00 00 06 00 D7 50(兵器指定値と登録アドレスで00000600を挟む)
(6)座標指定で司令部を一時的に占領済みの港の近くに移動させ、駆逐艦等を生産。
(7)その部隊コードに(5)と(1)の武器データ列を適用させ、燃料弾数を調整して完成。
[C] 進化法
兵器登録コードの進化先を任意の兵器に書き換える方法。
地、空、海の種別関係なく進化可能。
必要なのは兵器指定値のみだが、以下の条件・注意事項がある。
- その陣営に登録されている兵器でなければならない。
- 司令部、トーチカ類、補給車、輸送車、輸送機は進化できない(それらに進化することはできる)。
- 経験値の設定を忘れずに
(1)以下のコードを実行する。(XXXXは目的の兵器指定値)
第1陣営 |
第2陣営 |
第3陣営 |
第4陣営 |
第5陣営 |
50004058 0000 80008024 XXXX |
50004058 0000 80009624 XXXX |
50004058 0000 8000AC24 XXXX |
50004058 0000 8000C224 XXXX |
50004058 0000 8000D824 XXXX |
※ 繰り返しコードを併用することで、陣営に登録されている全兵器に同じ進化コードを適用することができ、進化元兵器のアドレスを探す必要はなくなる。
(2)目的の部隊を進化可能施設上に置き、進化させて完成。
(3)コードをオフにした後、セーブ&ロードで兵器登録コードをリセットする。
[D] 輸送車法
輸送車(輸送機)の中身を任意の兵器に書き換える方法。
地上兵器のみならず航空・艦艇ユニットを格納させることも可。
必要なのは兵器指定値のみだが、以下の条件・注意事項がある。
- その陣営に登録されている兵器でなければ成功しない。
- 移動タイプ「固定」の兵器(司令部・トーチカ類・動員兵類など)は輸送車から出せない。
- 空軍、海軍の場合は、[A]の方法と組み合わせる必要がある。
- 陸軍で作った後、空海軍で同じものを作る
- 空海軍で輸送車を作った後、その中身を変える
以下地上部隊の場合
(1)野砲などの変形可能な兵器を生産し、トラックにしておく
(2)該当部隊の輸送兵器コードを任意の兵器指定値に書き換える
(3)再度変形し、トラックから兵器を出して完成。
レベル4 発展
[A] 存在しない陣営を出現させる
マップに存在する陣営が5に満たない場合、本来存在しない陣営を追加することができる。占領行動も可能。
ただし以下に注意。
- 陣営名がカオスなのは現状どうにもならない。
- 陣営カラーは銀色(ドイツ第1軍)固定
すでにドイツ軍がいるマップでは紛らわしいことになる。
キャンペーンモードで敵同士にすれば、互いのアイコンが逆転して識別可能か。
また、陣営に登録されている兵器が一切ないため、
キャンペーンの突発発生陣営と同じで、部隊がやられたらその部隊枠は永久に補填できない。
牽引砲は全て固定ユニット扱いになり、変形化歩兵は自分の足のみが頼りとなる。
しかし変形時にバグる現象も回避できるため、CPUにこれらの兵器を運用させることはできる。
(1)陣営操作を人操作に
- オプションコード > 陣営操作切替:1(USER)
(2)司令部設置
- 部隊コード
- 兵器指定値:司令部
- 搭載兵器:0000固定
- 上記と下記の間2バイト:06 00
- 登録アドレス
- 機数:0A
- 座標:任意の位置
- 武器指定値:司令部
- 搭載部隊:FF FF FF FF
- 行動フラグ:60
上記は司令部以外でも、兵器を0から出現させる際に最低限必要。
固定ユニット以外は座標をFFFF(兵器庫)にしておくと便利。
(3)部隊を増やす。
司令部設置後は上記コードで任意陣営の兵器を生産して部隊を増やす。歩兵による占領活動も進めよう。
一通り部隊数を揃えたら、レベル3[A][B]の方法で好みの兵器に置き換えよう。
[B] 兵器登録表の作成
究極的には、マップに登録されている全兵器を調査するという方法もある。
手間は掛かるが、思いもよらぬ兵器が隠れているかもしれない(そうでないことも多いが)。
基本的には8000h+55h×nのアドレスに記録された兵器指定値を、320個分追っていくことになる。
目視ではいかんせん作業量が膨大でミスも考えられるため、バイナリを解析するシステムを組める方は組んだ方が捗るだろう。
CEPの「メモリ状態をバイナリで保存する」機能は、ここで活用することができる。
最終更新:2022年06月14日 21:24