aboutsummaryrefslogtreecommitdiff
path: root/docs/tomes
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-10-31 05:55:52 +0300
committerValentin Popov <valentin@popov.link>2026-10-31 05:55:52 +0300
commit042be27c002900a15b04a58d07239fc189b5ea52 (patch)
tree5a5092c888aed0b5b065501545a39efc132004a4 /docs/tomes
parentcbf20b49657ee98cbab0548acb01eedfc685b2e4 (diff)
downloadfparkan-042be27c002900a15b04a58d07239fc189b5ea52.tar.xz
fparkan-042be27c002900a15b04a58d07239fc189b5ea52.zip
feat(runtime): load clan research tables during startup
Diffstat (limited to 'docs/tomes')
-rw-r--r--docs/tomes/06-behavior.md20
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 проверок.