From 8cf226d9545b3295dab6b2ae9849c8b3e31cbbe4 Mon Sep 17 00:00:00 2001 From: Niko Marmeladkov Date: Sat, 17 Oct 2026 10:46:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8C=D1=8E=D0=BC=D0=BE=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8E=20(=D0=BF=D0=B8=D1=81=D1=82=D0=BE=D0=BB=D0=B5?= =?UTF-8?q?=D1=82)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `SOURCE_RS_VIEW_MODEL=off` гасит вьюмодель, пустое значение и отсутствие переменной — пистолет (models/weapons/v_pistol.mdl), другое значение — путь к модели. В ассетах нет v_physgun.mdl (это модель GMod), поэтому откат идёт на пистолет и монтировку. Замер: центр габарита пистолета (0,26, −15,84, 52,03) — именно его вычитает посадка. --- crates/client/src/map.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/crates/client/src/map.rs b/crates/client/src/map.rs index 52507eb..3802973 100644 --- a/crates/client/src/map.rs +++ b/crates/client/src/map.rs @@ -245,15 +245,18 @@ pub fn map(assets: Option, args: MapArgs) -> anyhow::Result<()> { // `SOURCE_RS_VIEW_MODEL` — путь к модели; пустое значение — физган, а если // его в ассетах нет — монтировка. let mut view_model_center = math::Vec3::ZERO; + // По умолчанию вьюмодель включена (пистолет); `SOURCE_RS_VIEW_MODEL=off` + // её гасит, другое значение — путь к модели. let view_model_instance = match std::env::var("SOURCE_RS_VIEW_MODEL") { - Ok(value) if value.trim().is_empty() => Some("models/weapons/v_physgun.mdl".to_string()), + Ok(value) if value.trim().eq_ignore_ascii_case("off") => None, + Ok(value) if value.trim().is_empty() => Some("models/weapons/v_pistol.mdl".to_string()), Ok(value) => Some(value), - Err(_) => None, + Err(_) => Some("models/weapons/v_pistol.mdl".to_string()), } .and_then(|name| { let candidates = [ name.clone(), - "models/weapons/v_physgun.mdl".to_string(), + "models/weapons/v_pistol.mdl".to_string(), "models/weapons/v_crowbar.mdl".to_string(), ]; for candidate in candidates {