Table of Contents
戦闘・世界処理の解析結果
原本命令との比較では、対象DLLのSHA-256、入口、許可した呼出し、入力、メモリ範囲を固定しています。関数の同値性を調べるためにgetterやOS呼出しを制御する試験もあり、Windows実ゲームの全体動作と同一の証拠ではありません。
主な原本比較対象のDLLはSHA-256 edbe4eb58480cc7286f09be174187adf73a0dce5265d8d21fec9c5dc70923ce4、32bit x86、preferred image base 0x10000000。資料中のVAを別版DLLへ適用しないでください。
数値と状態
| 分野 | 復元した内容・観測 | 未解明・統合の境界 | 原資料 |
|---|---|---|---|
| 士気 | 基礎値・目標値・1回の数値更新。整数wrap、float32/x87丸めを保持 | 全更新頻度・能力効果・状態生成とGodot戦闘への一体化 | COMBAT_ANALYSIS |
| 近接 | 命中率、乱数更新、成否などの経路 | 部隊・兵士・攻撃開始からの統合範囲は後続資料ごとに確認 | MELEE_ANALYSIS |
| 損害 | 通常/AP、高度補正、装甲・盾、4整数の結果と更新seed。初期比較23,568件 | 制御getterの境界がある。全死亡・表示・時間進行を含む戦闘完成ではない | DAMAGE_ANALYSIS |
| 地面 | 所属・属性・地面番号とstat行から倍率を検索し近接statへ接続 | 位置から地面を決める処理、DB名から元の内部IDへ変換、実world生成 | GROUND_EFFECTS |
| 疲労 | 兵士の疲労量、0〜5の段階遷移、部隊平均 | 元の時間間隔、行動・地形・天候の生成からGodotまでの接続 | FATIGUE |
損害の23,568は、同じ入力集合の軽減前・最終結果などを別々に比較した合計です。23,568種類の独立した実戦を意味しません。
移植で維持する必要がある違い
- 士気の丸めは一般的な
round()と同一ではありません。負の半整数とfloat32化の位置が結果を変えます。 - 投射物の盾判定と装甲判定では、分岐により乱数消費回数が変わります。最終損害だけ合わせても、その後の同期が一致するとは限りません。
- 地面効果は、完全一致なら最初の行を返し、個別一致がない時の汎用候補は最後の行になる経路があります。検索順を変えません。
- 疲労段階は1回に隣の段階へ進む処理です。量から一度に最終段階へ分類し直す実装とは違います。
- 近接損害には、2026年10月12日の追記でx87拡張精度の値をfloatへ落とさず使う経路が追加されています。旧C APIのfloat境界と混同しません。
これらは上表の資料で確認した例です。未確定のboolean・slotへ、それらしいゲーム用語を付けて仕様を確定しないでください。
勝敗・終了・占領
勝敗判定 10562080、全滅・全滅または潰走・本陣占領の条件、時間切れなどの限定経路を比較しています。複数allianceが条件を満たす場合の書き込み順にも意味があります。勝敗判定
後続の2026年10月13日には結果確定 10549670、外部要求の終了設定、state設定もC++へ移しています。ただし結果種別の詳細判定、下位refresh、event/log/UIの本体等は境界が残ります。10月12日資料の「終了処理未移植」を、そのまま最新全体の状態として読みません。戦闘終了
本陣型拠点の防御値更新、占領関連の状態・在圏処理にも個別の解析があります。防御数・攻撃数・速度和・浮動小数点の順序を確認したことと、全拠点種別・実マップ・Godot上の占領完成を分けます。防御値更新、占領state、在圏
部隊・兵士・AI・移動
兵士の即時配置からgroup更新、taskの構築・dispatch、descriptor取得、部隊加入などへ解析を進めています。B136の新しい内部入口は最新解析に整理しました。
locomotive、衝突、姿勢、AIのalliance/group/task/abilityにも資料がありますが、これらの文書が存在することは、AIや対戦通信をGodot戦場へ組み込んだ証明ではありません。Godotの現行表示・移動プレビューと、原本同値性を検証するC++部品を区別してください。兵士→group接続、移動解析、衝突、AI
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.