diff options
| author | Valentin Popov <valentin@popov.link> | 2026-10-20 02:20:20 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-10-20 02:20:20 +0300 |
| commit | dc8be18458d6bd69e8b47b10bcbe7ddf4ed257f2 (patch) | |
| tree | 998ad76276ac1a942ccd784bdd9ea2203d40b8a1 /docs/appendices/knowledge-boundaries.md | |
| parent | 65f1298d936eb8d8cd2ea9c5578c17d6ec75ba36 (diff) | |
| download | fparkan-dc8be18458d6bd69e8b47b10bcbe7ddf4ed257f2.tar.xz fparkan-dc8be18458d6bd69e8b47b10bcbe7ddf4ed257f2.zip | |
fix(runtime): preserve native mission outcome guards
Diffstat (limited to 'docs/appendices/knowledge-boundaries.md')
| -rw-r--r-- | docs/appendices/knowledge-boundaries.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/appendices/knowledge-boundaries.md b/docs/appendices/knowledge-boundaries.md index ad7bc13..af89d49 100644 --- a/docs/appendices/knowledge-boundaries.md +++ b/docs/appendices/knowledge-boundaries.md @@ -44,6 +44,18 @@ state ещё не восстановлены. вывод по одному известному `ai.dll`, а не утверждение о совпадении во время исполнения. +Для `Handler(30)` отдельно подтверждены обратный вызов `iron3d.dll` RVA +`0x611d0` (SHA-256 `d1dc4ea8535e2069b0a05c9e8be2724dd438ba44cca7a83007d8b2e50f9e35fa`), +начальные поля IGame и проверки режима/состояния. Обработчик выбора миссии +выставляет режим 1 (RVA `0x29142`), а обработчик таймера — режим 3 (RVA `0x70f3`). +Небольшая тестовая x86-программа сравнивает этот обратный вызов с исходной DLL +на синтетических структурах. Пока не восстановлен сквозной путь от выбора и +инициализации миссии к первому событию Handler(30): Rust загружает миссию, но +ещё не выполняет штатный `stdInitGame`, переход состояния `5 -> 4`, запуск и +игровой цикл с полной диспетчеризацией событий. Поэтому +совпадение изолированного обратного вызова не доказывает совместимость живого +сценария. + Закрывающий эксперимент: найти dispatcher loop в `ai.dll`, сопоставить jump table с instruction sizes, построить disassembler и сравнить выполнение коротких scripts с оригиналом. Для evaluator-а условий отдельно проследить |
