gmod-rs/crates/engine
Niko Marmeladkov 229372ffa1 Прыжок 200 вместо 270 и исправлены флаги граней — пропало 100 дырок в картинке
«Дырки в крыше, сквозь которые нельзя упасть»: граней в картинке было меньше,
чем в коллизии. Причина — константы SURF_* в world.rs были перепутаны. По
public/bspflags.h Source настоящие значения:

  SURF_SKY2D    0x0002      SURF_NOPORTAL 0x0020
  SURF_SKY      0x0004      SURF_TRIGGER  0x0040
  SURF_WARP     0x0008      SURF_NODRAW   0x0080
  SURF_HINT     0x0100      SURF_SKIP     0x0200

SURF_NOPORTAL означает «нельзя поставить портал», SURF_TRIGGER — служебный
флаг; ни то, ни другое не про рисование, а мы их пропускали. Замер на
gm_construct: старая маска скрывала 2511 граней, новая 2411 — в картинке
появилось 100 граней, не пропало ни одной.

Тесты surface_flags_match_source_bspflags и
skip_mask_covers_only_faces_that_are_not_drawn не дадут значениям снова разойтись.

«Прыжки марсианские»: скорость прыжка бралась как 270 из Source SDK, а у GMod
она своя — вики GMod в примере Player:GetJumpPower() печатает 200. Прыжок был
выше в 1,8 раза.

  высота     60,8 -> 33,3 юнита
  до вершины 0,45 -> 0,33 с
  полёт      0,90 -> 0,67 с

sv_gravity = 600 подтверждён вики отдельно и остаётся.

Попутно исправлены две ошибки в самих измерениях: брался максимальный z над
точкой вместо высоты поверхности на месте (крыша на z=1296 заслоняла крышу на
z=240), и зазор между габаритами считался без клампа по нулю. На этих
артефактах диагностика рапортовала чужие дефекты.
2026-10-14 08:43:51 +03:00
..
src Прыжок 200 вместо 270 и исправлены флаги граней — пропало 100 дырок в картинке 2026-10-14 08:43:51 +03:00
tests render: вода (SURF_WARP), area-скайбокс с правильным порядком глубины, лайтмапы диспов по UV 2026-10-12 08:28:28 +03:00
Cargo.toml engine: физика на Rapier3D — пропы падают, сталкиваются и засыпают 2026-10-13 12:36:51 +03:00