From 3edf3dfc12524004935f8da3c003c03aa572700b Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sun, 18 Oct 2026 08:39:37 +0400 Subject: feat(fx): evaluate native Op3 body types --- docs/reference/environment-effects.md | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'docs/reference') diff --git a/docs/reference/environment-effects.md b/docs/reference/environment-effects.md index 6c45038..60a900d 100644 --- a/docs/reference/environment-effects.md +++ b/docs/reference/environment-effects.md @@ -255,6 +255,16 @@ global RNG остаются задачей владельца. `fparkan-game` п категорию 0 с наибольшей детализацией; выбор категории по projected size ещё не реализован. +Для Op3 поддерживаются body-типы 0, 1 и 2. Поля отсчитываются от +`FxCommand.raw_body`, то есть после 4-байтового command word. Типы 0 и 1 +используют общие position/scale/phase/opacity tracks и camera-facing основу; +тип 1 и тип 2 также интерполируют ось, а тип 2 строит basis через native +D110-порядок. Все три evaluator-а принимают уже собранную матрицу владельца и +не выбирают Control row или attachment. Текущий путь для типов 0 и 1 +предполагает native render context 0: `Effect.dll` проверяет общий gate +`context + 0x60 < 8`, а API этих evaluator-ов не выбирает другой context. +Evaluator типа 2 принимает индекс context явно и учитывает этот gate в `active`. + ## Что остаётся за владельцем `EnvironmentSystem` не извлекает камеру из renderer, не разрешает материалы -- cgit v1.2.3