feat(runtime): update live Control provider amounts
Docs Deploy / Build and Deploy MkDocs (push) Successful in 37s
Docs Deploy / Build and Deploy MkDocs (push) Successful in 37s
This commit is contained in:
6 files changed
+522
-34
No files matched your search
@@ -334,21 +334,27 @@ sidecar недоступен, запрос `0xe00` сообщает это от
|
||||
проецируются из AniMesh по глобальному ordinal; точные правила, native ABI
|
||||
векторы и лицензированная root/`EXTO` fixture описаны в
|
||||
[техническом подразделе](script-vm.md#начальная-msh-часть-строки-provider).
|
||||
Проверки подтверждают только начальный снимок: сборка runtime parent-ов
|
||||
MSH-часть проверки подтверждает начальный снимок: сборка runtime parent-ов
|
||||
остаётся статическим выводом по RVA `AniMesh.dll+0xa460`, а последующие
|
||||
изменения в полном Control/animation tick-е не проверялись.
|
||||
|
||||
Для provider-строки Rust также хранит одно `initial_amount_bits`. Нативный
|
||||
`Control.dll` `FUN_1000f940` (RVA `0xf940`) кладёт результат selector `3` в
|
||||
текущее и обработанное значения строки; при подтверждённых единичных множителях
|
||||
это raw `max_volume` NDP. Последующее обновление меняет оба native поля, поэтому
|
||||
снимок не моделирует вместимость или изменяемый Control amount.
|
||||
Для provider-строки Rust сохраняет исходные и текущие amount/type-1 поля
|
||||
отдельно, а `processed_amount_bits` соответствует native `+0x0c`. Инициализатор
|
||||
`Control.dll+0xf940` кладёт результат selector `3` в текущее и обработанное
|
||||
количество; при подтверждённых единичных множителях это raw `max_volume` NDP.
|
||||
Прямой API `apply_loaded_mission_control_node_delta` меняет amount, долю, флаг
|
||||
истощения, aggregate и dirty, возвращая обязательную публикацию `0x200` для
|
||||
узла. Он пока не доставляет её в AniMesh и не выполняет пересчёт стадий,
|
||||
видимости, FX или время Control. Поэтому обработанное количество остаётся
|
||||
прежним. Гибель root/critical узла и неизвестные flags/aggregate дают явную
|
||||
ошибку до записи; неподдержанные численные диапазоны тоже отклоняются.
|
||||
|
||||
Rust query обращается к загруженному объекту и поддерживает `0xe00` только для
|
||||
текущего descriptor tag `26` с factory tag `26`; другие активные typed tags и
|
||||
factory paths остаются явными границами. Этот запрос возвращает начальный
|
||||
type-1 provider value (`1.0`); дальнейшее изменение provider amount в Rust не
|
||||
реализовано.
|
||||
factory paths остаются явными границами. Запрос читает текущее type-1 значение.
|
||||
Licensed `min_l_n1.dat` подтверждает изменение `0xe00` и Behavior `0x1002` с
|
||||
`1.0` до `0.5` после явного уменьшения количества вдвое; это ещё не
|
||||
автоматический бюджетный цикл.
|
||||
Native oracle проверил изолированные пути распределения, обновления класса `4`,
|
||||
стадийную арифметику `0x11220`, обход дочерних provider-строк `0x11130` и
|
||||
visibility transition `0x11920` с исходными AniMesh callbacks. Отдельный
|
||||
@@ -389,7 +395,7 @@ World3D RVA `0x6bf0` вычисляет часы из `timeGetTime()` с игр
|
||||
RVA `0xbcf0` для остальных. Это подтверждает статическую цепочку вызовов, но не
|
||||
её исполнение на миссии: связывание интерфейсов, активация устройств и shapes,
|
||||
остальные ветви `0xbcf0` и
|
||||
изменение provider-снимков Rust остаются открытыми. Источник контактного коэффициента прослежен статически,
|
||||
автоматическое изменение provider через clock и бюджет Rust остаются открытыми. Источник контактного коэффициента прослежен статически,
|
||||
но не исполнен. Подробные векторы и статические границы приведены в
|
||||
[техническом подразделе о provider-состоянии Control](script-vm.md#изменение-provider-состояния-control).
|
||||
|
||||
|
||||
Reference in new issue
Block a user