diff options
| author | Valentin Popov <valentin@popov.link> | 2026-10-31 05:55:52 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-10-31 05:55:52 +0300 |
| commit | 042be27c002900a15b04a58d07239fc189b5ea52 (patch) | |
| tree | 5a5092c888aed0b5b065501545a39efc132004a4 /docs/tomes/06-behavior.md | |
| parent | cbf20b49657ee98cbab0548acb01eedfc685b2e4 (diff) | |
| download | fparkan-042be27c002900a15b04a58d07239fc189b5ea52.tar.xz fparkan-042be27c002900a15b04a58d07239fc189b5ea52.zip | |
feat(runtime): load clan research tables during startup
Diffstat (limited to 'docs/tomes/06-behavior.md')
| -rw-r--r-- | docs/tomes/06-behavior.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/docs/tomes/06-behavior.md b/docs/tomes/06-behavior.md index 208f911..8000710 100644 --- a/docs/tomes/06-behavior.md +++ b/docs/tomes/06-behavior.md @@ -536,6 +536,26 @@ AI-слота `+0x38`. Передача поля подтверждена по Ñ Handler(43) и штатный запуск миссии остаются непроверенными. Технические сведения и адреса исходных сборок приведены в [границах знания](../appendices/knowledge-boundaries.md). +Полный Rust-загрузчик принимает явный `MissionStartupInput`: время очереди +и отдельный `research_creation_gate`. Режим миссии и имя файла этот +флаг не заменяют. При включённом флаге таблица загружается только для клана, +чей сценарный пакет уже прочитан и успешно разобран; путь берётся из второго +ресурса этого клана как C-строка. Пустая C-строка пропускается, а не-ASCII +байты дают явную ошибку. Клан индексируется по порядку в TMA, тег ресурса на +владение не влияет. Если несколько кланов указывают на один файл, каждый +получает отдельно декодированную таблицу с собственными строками TRF0. + +```rust +MissionStartupInput { + queue_time_ms: 100_000, + research_creation_gate: true, +} +``` + +Это сохраняет исходные таблицы и их связь с владельцами для следующих этапов. +Оно ещё не создаёт полный исследовательский контекст оригинала и не запускает +`Handler(43)`; эта обработка пока остаётся явно неподдержанной. + Отдельная frozen-матрица непосредственно вызвала chooser GOG `ai.dll` SHA-256 `c19cd6cd31cd2896f8c4ba0f0e700dd3408aec8182daaf4863d98a7d233a2abc`: функция `FUN_10010f90` (RVA `0x10f90`) прошла три guard-case и все 15 проверок. |
