トップページ > レトロ32bit以上 > 2018年08月12日 > Ei1IqrOS

書き込み順位&時間帯一覧

2 位/34 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000202



使用した名前一覧書き込んだスレッド一覧
せがた七四郎
ワールドアドバンスド大戦略 その10 [無断転載禁止]©2ch.net

書き込みレス一覧

ワールドアドバンスド大戦略 その10 [無断転載禁止]©2ch.net
302 :せがた七四郎[sage]:2018/08/12(日) 22:23:07.52 ID:Ei1IqrOS
これまで挙げた通り、部隊数が計400、登録兵器数が計320と、
これだけの数の兵器や部隊がゲーム中で一気に運用されていて、
コードアドレスの数はさらにその数十倍。正直膨大過ぎます。
その中から特定の部隊・兵器の特定の状態・性能を、
といちいちアドレスを手動で計算していては日が暮れます。

なので自分の場合は、Excelなどでコードを自動生成するシステムを組んでいます。
dec2hex、hex2decなどの10進16進変換関数や、文字列結合などを駆使すれば可能です。
今書いているものも基本それに頼っています。
ワールドアドバンスド大戦略 その10 [無断転載禁止]©2ch.net
303 :せがた七四郎[sage]:2018/08/12(日) 22:24:12.75 ID:Ei1IqrOS
解析・兵器書き換え
材料が揃ったので、超兵器を無尽蔵に生成するセクションに入ります。
実現のために最低限入手しなければならないのは、以下のコードデータです。

・目的の兵器コード(2バイト)
・そのコードが登録されているアドレス(2バイト)
・その兵器が本来使う武器コード(2バイト×4=計8バイト)

以下、生産不可を前提として、取得難易度が低い順から解説します。

A.マップ上にその兵器がある(例:日インドのハウニブ)

(1)目的の兵器が第何陣営の何番目の部隊かを調べる
 →第3陣営(ドイツ)空第20部隊

(2)その部隊の先頭(兵器コード)アドレスを1.から計算し、CEPで該当アドレスを閲覧
 →36F90+2×B40+480h+19d×24h=38D3C
 このアドレスから始まる以下のデータ列が、ハウニブの部隊データだと分かります。

アドレス 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00038D30 -- -- -- -- -- -- -- -- -- -- -- -- 01 B3 00 00
00038D40 06 00 BE 38 00 0A 96 64 00 01 04 00 00 5E 00 8B
00038D50 00 00 00 00 04 04 00 00 FF FF FF FF 60 00 00 00

(3)上記データのうち、@先頭8バイト、Aその1行真下の8バイト をそれぞれ取得。
→@ 01 B3 00 00 06 00 BE 38
 A 00 5E 00 8B 00 00 00 00

 @この中に、ハウニブを表す「兵器コード(01B3)」と「登録アドレス(BE38)」が含まれています。
  試しにアドレスBE38(兵器定義セクション)を見ると、そこにも「01B3」があります。
  つまり、部隊ステータス(36F90〜)と兵器定義(8000〜)で取り扱う兵器コード、アドレスは一致しており、
  ハウニブは「インド」マップの181番目に登録された兵器ということが分かります。

 Aは武器1〜4のデータを表します。(005Eが30mm機関砲、008Bが対地砲、あとはNOT)
  @から16バイト後ろにあるため、CEPやバイナリエディタ上ではちょうど真下に位置します。
  このデータ列は一旦取得してしまえばどのマップでも共通ですが、
  地味にユニットがマップ上または兵器庫になければ取得できないデータです。

(4)書き換えたいユニットを指定し、先頭とその真下の8バイトを3.で取得したデータで上書き

第1陣営(日本)空第2部隊を書き換えるものとします。
当該ユニットを管理するコードの先頭アドレスは37434なので、

アドレス 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00037430 -- -- -- -- 01 B3 00 00 06 00 BE 38 XX XX XX XX
00037440 XX XX XX XX 00 5E 00 8B 00 00 00 00 XX XX XX XX
00037450 XX XX XX XX XX XX XX XX -- -- -- -- -- -- -- --

これで姿も性能もハウニブになります。

なお先頭2バイトのみ01B3に書き換えるとポリゴンのみ変わります。よってアドレス指定もセットで必須です。
兵器書き換えだけでは武器はそのまま(武装変更でも変化せず)のため、これも手動上書きが必須です。
(逆に言えば、武器の改造は自由、かつセーブデータにも残ります。)

(5)弾数・燃料の調整
 こちらは性能を調べればすぐ正規値がわかるのでどうにかなります。

以上で1ユニット書き換え完了です。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。