diff options
| author | Valentin Popov <valentin@popov.link> | 2026-10-23 11:02:27 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-10-23 11:02:27 +0300 |
| commit | 7c909ea67ba7f27e11d5b33b8df9f6569da7eb7b (patch) | |
| tree | 344ca595b3fcd34eb20671b65ad86146813d7873 /docs/appendices/knowledge-boundaries.md | |
| parent | 83db371742ad3865bf4dc534ae38429c07a936d3 (diff) | |
| download | fparkan-7c909ea67ba7f27e11d5b33b8df9f6569da7eb7b.tar.xz fparkan-7c909ea67ba7f27e11d5b33b8df9f6569da7eb7b.zip | |
feat(runtime): advance loaded mission resources
Diffstat (limited to 'docs/appendices/knowledge-boundaries.md')
| -rw-r--r-- | docs/appendices/knowledge-boundaries.md | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/docs/appendices/knowledge-boundaries.md b/docs/appendices/knowledge-boundaries.md index 3744d84..b9bbf27 100644 --- a/docs/appendices/knowledge-boundaries.md +++ b/docs/appendices/knowledge-boundaries.md @@ -325,17 +325,28 @@ sidecar недоступен, запрос `0xe00` сообщает это отÐ Rust query обращается к загруженному объекту и поддерживает `0xe00` только для текущего descriptor tag `26` с factory tag `26`; другие активные typed tags и -factory paths остаются явными границами. Snapshot показывает состояние сразу -после native-конструкторов, но он не обновляется при Control tick-е. Native -`FUN_10010f30` (RVA `0x10f30`) изменяет и ограничивает provider amount, а -связанные callbacks переносят его между строками; их общий переход в Rust ещё -не реализован. Поэтому вызов нельзя считать живым ресурсным симулятором. +factory paths остаются явными границами. Этот запрос возвращает начальный +снимок provider amount: Native `FUN_10010f30` (RVA `0x10f30`) изменяет и +ограничивает количество, а связанные callbacks переносят его между строками; +этот переход в Rust ещё не реализован. + +Отдельный API `advance_loaded_mission_resources` принимает явное время очереди +и обновляет представленные поля `CurrentOre`, строк распределителя и Control +selector `1`. Его граница — статические снимки профиля и provider-значений: +динамическое распространение Control amount, смена профилей, special +object-state gate и жизненный цикл созданных/удалённых объектов здесь не +моделируются. Если обязательный запрос позднего объекта не поддержан, +транзакция возвращает ошибку и не применяет подготовленные изменения. API не +подключён к игровому циклу; AutoDemo-тест подтверждает связь настоящих профилей +с этим шагом, но не полный паритет миссии. Отдельный aggregate getter Behavior +RVA `0xa490` в oracle не исполнен. + Behavior selectors `0x1002` и `0x1005` используют значения выбранного профиля из `behpsp.res`, разобранного до создания нового мира. `0x1002` складывает только текущие descriptor tag `26` запросы `0xe00`, затем применяет `Transfer_Ore_OffBoard`; `0x1005` возвращает `Transfer_Power_Out`. Это начальный -снимок: он не отражает последующие изменения provider-строк, Control tick-а или -профиля. Полная загрузка сохраняет результат у `ObjectHandle` и возвращает +снимок профиля и provider-строк. Полная загрузка сохраняет результат у +`ObjectHandle` и возвращает ошибку, если известный код класса не имеет корректной записи; класс, отсутствующий в таблице выбора, сохраняет начальные значения конструктора. Preview и объекты без полного Unit DAT не получают профильное состояние. |
