From 2b272e1b7c03ae0acd1d17f735f79f4ae56af855 Mon Sep 17 00:00:00 2001 From: Quaternions <krakow20@gmail.com> Date: Wed, 26 Feb 2025 12:47:11 -0800 Subject: [PATCH 1/2] touch entities --- lib/bsp_loader/src/bsp.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bsp_loader/src/bsp.rs b/lib/bsp_loader/src/bsp.rs index 38fb404..e73850a 100644 --- a/lib/bsp_loader/src/bsp.rs +++ b/lib/bsp_loader/src/bsp.rs @@ -214,7 +214,7 @@ pub fn convert<'a>( world_meshes.push(crate::brush::unit_cube()); const WHITE:vbsp::Color=vbsp::Color{r:255,g:255,b:255}; - const ENTITY_ATTRIBUTE:gameplay_attributes::CollisionAttributesId=ATTRIBUTE_DECORATION; + const ENTITY_ATTRIBUTE:gameplay_attributes::CollisionAttributesId=ATTRIBUTE_CONTACT_DEFAULT; const ENTITY_TRIGGER_ATTRIBUTE:gameplay_attributes::CollisionAttributesId=ATTRIBUTE_INTERSECT_DEFAULT; for raw_ent in &bsp.entities{ macro_rules! ent_brush_default{ From ed1250e2f18b9b868b2cb93532ebee4989641fc4 Mon Sep 17 00:00:00 2001 From: Quaternions <krakow20@gmail.com> Date: Wed, 26 Feb 2025 13:24:17 -0800 Subject: [PATCH 2/2] world model physics groups world models are not guaranteed to be convex, so this is problematic for physics --- lib/bsp_loader/src/bsp.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/bsp_loader/src/bsp.rs b/lib/bsp_loader/src/bsp.rs index e73850a..c92c401 100644 --- a/lib/bsp_loader/src/bsp.rs +++ b/lib/bsp_loader/src/bsp.rs @@ -194,7 +194,11 @@ pub fn convert<'a>( model::PolygonGroup::PolygonList(model::PolygonList::new(polygon_list)) }).collect(); - mb.build(polygon_groups,graphics_groups,vec![]) + let physics_groups=vec![model::IndexedPhysicsGroup{ + groups:(0..world_model.face_count as u32).map(model::PolygonGroupId::new).collect(), + }]; + + mb.build(polygon_groups,graphics_groups,physics_groups) }).collect(); let mut found_spawn=None;