diff options
Diffstat (limited to 'docs/appendices')
| -rw-r--r-- | docs/appendices/knowledge-boundaries.md | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/docs/appendices/knowledge-boundaries.md b/docs/appendices/knowledge-boundaries.md index fa1af94..3744d84 100644 --- a/docs/appendices/knowledge-boundaries.md +++ b/docs/appendices/knowledge-boundaries.md @@ -330,9 +330,19 @@ factory paths остаются явными границами. Snapshot покÐ `FUN_10010f30` (RVA `0x10f30`) изменяет и ограничивает provider amount, а связанные callbacks переносят его между строками; их общий переход в Rust ещё не реализован. Поэтому вызов нельзя считать живым ресурсным симулятором. -Behavior selector `0x1002` остаётся отдельной задачей: его множитель -`Transfer_Ore_OffBoard` приходит из блока `+0x820`, но источник фактических -текущих настроек для полного runtime-пути пока не подтверждён. +Behavior selectors `0x1002` и `0x1005` используют значения выбранного +профиля из `behpsp.res`, разобранного до создания нового мира. `0x1002` складывает +только текущие descriptor tag `26` запросы `0xe00`, затем применяет +`Transfer_Ore_OffBoard`; `0x1005` возвращает `Transfer_Power_Out`. Это начальный +снимок: он не отражает последующие изменения provider-строк, Control tick-а или +профиля. Полная загрузка сохраняет результат у `ObjectHandle` и возвращает +ошибку, если известный код класса не имеет корректной записи; класс, +отсутствующий в таблице выбора, сохраняет начальные значения конструктора. +Preview и объекты без полного Unit DAT не получают профильное состояние. +Native oracle подтвердил соответствия кода класса выбранной записи, разбор +`.var` и применение второй области данных; +оригинальный aggregate getter Behavior RVA `0xa490` остаётся статически +исследованным, но не исполнен в oracle. В x86 oracle при x87 control word `0x007f` проверены порядок, signed zero, отрицательные входы, расширенный промежуточный диапазон и subnormal return. |
