feat(runtime): load clan research tables during startup
Docs Deploy / Build and Deploy MkDocs (push) Successful in 37s

This commit is contained in:
Valentin Popov committed 2026-10-31 06:55:52 +04:00
1 parent cbf20b4965
commit 042be27c00
4 files changed
+740 -106

No files matched your search

+20
View File
@@ -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 проверок.