feat(runtime): query and update loaded Control resources
Docs Deploy / Build and Deploy MkDocs (push) Successful in 1m17s
Docs Deploy / Build and Deploy MkDocs (push) Successful in 1m17s
This commit is contained in:
4 files changed
+958
-25
No files matched your search
@@ -282,15 +282,26 @@ Control различает добавление устройства и прим
|
||||
подготовленного CTL должно оставаться явным unavailable result, а не
|
||||
трактоваться как пустой список.
|
||||
|
||||
Глобальные Control selectors `1/2` и setter selector `1` по tag `19` описаны
|
||||
там же только по статическому разбору `Control.dll`; их вызовы отдельно не
|
||||
исполнялись. Проекция полного mission load недоступна для неполного списка
|
||||
typed records, Control resource у non-geometric prototype и некоторых
|
||||
неразрешённых EXTO node mappings; preview и объекты без Unit DAT root её не
|
||||
строят. Её соответствие полной загрузке игры для всех типов компонентов и
|
||||
factory paths ещё не установлено. Не восстановлен и жизненный цикл множителя
|
||||
`+0x4c` после конструктора и переопределения; также неизвестно, когда эти
|
||||
объекты создаются при отложенной загрузке.
|
||||
Global Control getters `1/2` и setter `1` проверены в native x86 oracle для
|
||||
искусственных factory/descriptor pairs `9`, `15` и `19`, а в Rust реализованы
|
||||
для текущего descriptor tag `19` с factory tags `9`, `15`, `19` и `25`. Для tag
|
||||
`25` общий getter slot `+0x10` подтверждён чтением vtable, но агрегатный вызов
|
||||
этого класса native oracle не запускал. Rust API обращается к строкам проекции
|
||||
конкретного живого `ObjectHandle`; это запрос к уже загруженной таблице, а не
|
||||
исполнение Control или Behavior tick. Setter `17`, остальные factory tags и
|
||||
внешние эффекты их методов не включены. Для tag `9` selector `0` использует
|
||||
отдельный scale `+0x11c`; остальные поддержанные классы используют коэффициент
|
||||
напрямую. Пустой набор и нулевой знаменатель остаются native no-result, а
|
||||
неподдержанный factory tag и расчётный диапазон произведения/отношения за
|
||||
нормальным диапазоном `f32` становятся явной ошибкой Rust.
|
||||
|
||||
Проекция полного mission load недоступна для неполного списка typed records,
|
||||
Control resource у non-geometric prototype и некоторых неразрешённых EXTO node
|
||||
mappings; preview и объекты без Unit DAT root её не строят. Её соответствие
|
||||
полной загрузке игры для всех типов компонентов и factory paths ещё не
|
||||
установлено. Setter `1` меняет multiplier `+0x4c` выбранных строк, но расписание
|
||||
и lifetime этих объектов после конструктора и в отложенной загрузке остаются
|
||||
непроверенными.
|
||||
|
||||
Для `Control.dll` (SHA-256
|
||||
`bcb86318089028548a178b03a21accdce15df0cc85ddd91674cf3c2f55012c6e`) tag-26
|
||||
|
||||
Reference in new issue
Block a user