# Эффекты и частицы Пока что — **не байтовая спецификация**, а “карта” по тому, что видно в библиотеках. Полную документацию по эффектам/шейдерам/частицам можно будет сделать после того, как: - найдём формат эффекта (файл/ресурс), - найдём точку загрузки/парсинга, - найдём точки рендера (создание буферов/вершинного формата/материалов). --- ## 1) Что видно по `Effect.dll` - Есть экспорт `CreateFxManager(...)`, который создаёт менеджер эффектов и регистрирует его в движке. - Внутри много логики “сообщений/команд” через виртуальные вызовы (похоже на общий компонентный интерфейс). - Явного парсера формата эффекта (по типу “читать заголовок, читать эмиттеры…”) в найденных местах пока не идентифицировано. --- ## 2) Что видно по `Terrain.dll` (рендер‑статистика частиц) В `Terrain.dll` есть отладочная/статистическая телеметрия: - количество отрендеренных частиц (`Rendered particles`) - количество батчей (`Rendered batches`) - количество отрендеренных треугольников Это подтверждает: - частицы рендерятся батчами, - они интегрированы в общий 3D‑рендер (через тот же графический слой). --- ## 3) Что важно для совместимости Даже без точного формата эффекта, из поведения оригинала следует: - Эффекты/частицы завязаны на общий набор рендер‑фич (фильтрация/мультитекстурность/блендинг). - На слабом железе (и для минимализма) должны работать деградации: - без мипмапов, - без bilinear/trilinear, - без multitexturing, - возможно с 16‑бит текстурами. --- ## 4) План “докопать” до формата эффектов 1. Найти **точку создания эффекта по имени/ID**: - поискать места, где в строки/лог пишется имя эффекта, - найти функции, которые принимают “путь/имя” и возвращают handle. 2. Найти **точку загрузки данных**: - чтение из NRes/RsLi ресурса, - распаковка/декодирование. 3. Зафиксировать **структуру данных эффекта в памяти**: - эмиттеры, - спауны, - lifetime, - ключи размера/цвета, - привязка к текстурам/материалам. 4. Найти рендер‑код: - какой vertex format у частицы, - как формируются квадраты/ленты (billboard/trail), - какие state’ы включаются. После этого можно будет выпустить полноценный документ “FX format”.