diff --git a/docs/PARITY.md b/docs/PARITY.md index 04ec754..8d2f81d 100644 --- a/docs/PARITY.md +++ b/docs/PARITY.md @@ -291,6 +291,45 @@ displacement-геометрия, у которой **не разрешилась под низким потолком), но **не вслепую**: каждое число (скорость в приседе, высота глаз, скорость приседа/вставания) проверять замером на нашей геометрии. +### A15. Полноценные пропы и модели (наполнение карты) +**Симптом** (пользователь): «пропы полноценные, полные все элементы карты». + +**Что уже есть (замер на gm_construct):** у проп-сущностей (`prop_static`, +`prop_dynamic`, `prop_physics`, `item_*`) читаются MDL, строятся статические +меши `PropMesh` — 9 экземпляров, они рисуются, участвуют в физике и в коллизии +игрока (`collision.set_boxes`). + +**Чего нет:** скелета и скиннинга, анимаций, `$bodygroup`/`$texturegroup`, LOD +моделей, ragdoll-физики, флексов и глаз. То есть «полноценная модель» в смысле +этапа **M5** плана: VVD/VTX, blend-граф, GPU-скиннинг, animation LOD, +материалы моделей. + +### A16. Наполнение карты: трава, деревья, декали, оверлеи +- **Detail-спрайты** (`$detail` в VMT, `detailsprites` карты): трава на + травяных текстурах не рисуется вовсе — отсюда «плоская трава». +- **Смешанные материалы** (`WorldVertexTransition`, `$basetexture2`, + `$blendmodulatetexture`): берётся только первая текстура, поэтому переход + травы в песок и асфальт пропадает. +- **Трава и деревья** — обычно `prop_static`-модели: появятся вместе с A15; + отдельно у деревьев есть `$treeSway` (качание). +- **Декали и оверлеи** (`infodecal`, `info_overlay`, `decal`-лумпы) не + рисуются вовсе: отметины, надписи и метки на карте пропадают. + +### A17. Сущности-механики карты +Телепорты (`trigger_teleport` + `info_teleport_destination`), лестницы +(`func_ladder`), двери и кнопки (`func_door`, `func_button`, +`func_movelinear`, `func_rotating`), звуки (`ambient_generic`), источники света +(`light`, `light_spot`, `env_projectedtexture`), `env_fog_controller` (см. A13), +`func_brush` с переключением. + +**Решение:** каркас энтити уже есть; добавлять по классам, начиная с тех, что +влияют на игру (телепорты, лестницы, двери/кнопки), затем свет и звук. Каждый +класс — с проверкой поведения по спецификации и замером на карте. + +**Порядок работ по наполнению:** A15 (модели) → A16 (смешанные материалы и +detail-спрайты) → A16 (декали/оверлеи) → A17 (механики), параллельно A10 +(свет на пиксель), A11–A13 (вода, туман), A14 (присед). + --- ## Часть B. Фундамент: система энтити