feat(runtime): advance loaded mission resources
Docs Deploy / Build and Deploy MkDocs (push) Successful in 36s
Docs Deploy / Build and Deploy MkDocs (push) Successful in 36s
This commit is contained in:
5 files changed
+1369
-45
No files matched your search
@@ -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 не получают профильное состояние.
|
||||
|
||||
Reference in new issue
Block a user