From 77efaace3f038604564a04b7d74c7b1ca5bda40a Mon Sep 17 00:00:00 2001 From: Niko Marmeladkov Date: Fri, 16 Oct 2026 20:50:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=87=D0=B5=D1=80=D0=B5=D0=B4=D1=8C:=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D1=86=D0=B5=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=BF=D1=80=D0=BE=D0=BF=D1=8B=20=D0=B8=20=D0=BD=D0=B0?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=B0?= =?UTF-8?q?=D1=80=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Просьба пользователя: «пропы полноценные, полные все элементы карты — телепорты, пропы, текстурки, трава, деревья». В список дефектов (docs/PARITY.md, часть A) добавлены три пункта с замером текущего состояния: A15 — полноценные пропы и модели. Уже есть: MDL читаются, статические меши PropMesh строятся (9 экземпляров на gm_construct), рисуются, участвуют в физике и в коллизии игрока. Нет: скелета и скиннинга, анимаций, $bodygroup/$texturegroup, LOD, ragdoll, флексов — то есть полного studio-рендера этапа M5. A16 — наполнение карты: detail-спрайты ($detail, detailsprites — трава), смешанные материалы (WorldVertexTransition и $basetexture2 — сейчас берётся только первая текстура, отсюда пропажа перехода травы в песок), декали и оверлеи (infodecal, info_overlay, decal-лумпы — не рисуются вовсе), деревья (prop_static, появятся с A15). A17 — сущности-механики: телепорты (trigger_teleport), лестницы (func_ladder), двери и кнопки, звуки, источники света, env_fog_controller. Каркас энтити есть, классы добавляются по очереди, начиная с влияющих на игру, каждый — с проверкой по спецификации и замером. Там же записан порядок: A15 → A16 (материалы, спрайты, декали) → A17, параллельно A10 (свет на пиксель), A11–A13 (вода, туман), A14 (присед). --- docs/PARITY.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) 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. Фундамент: система энтити