From 8ec0c2a7dbe832e71971e2c68dc929f2c86c8bc8 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 8 Feb 2025 02:13:29 +0100 Subject: mesh colliders --- shared/src/resources.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'shared') diff --git a/shared/src/resources.rs b/shared/src/resources.rs index b3d9414..4cfc6fa 100644 --- a/shared/src/resources.rs +++ b/shared/src/resources.rs @@ -98,6 +98,7 @@ pub struct ArmaturePart { #[derive(Debug, Default, Clone)] pub struct CollisionPart { + pub name: Option, pub restitution_coeff: Option, pub friction_kinetic: Option, pub friction_static: Option, @@ -105,7 +106,7 @@ pub struct CollisionPart { pub sh_sphere: Option, pub sh_cylinder: Option<(f32, f32, f32)>, pub sh_capsule: Option<(f32, f32, f32)>, - pub sh_convex_hull: Option, + pub sh_convex_hull: Option>>, pub sh_mesh: Option<(Resource>, Resource>)>, } @@ -158,6 +159,7 @@ impl ReadWrite for ArmaturePart { } impl ReadWrite for CollisionPart { fn write(&self, w: &mut dyn Write) -> Result<()> { + write_kv_opt(w, b"name", &self.name)?; write_kv_opt(w, b"restitution_coeff", &self.restitution_coeff)?; write_kv_opt(w, b"friction_kinetic", &self.friction_kinetic)?; write_kv_opt(w, b"friction_static", &self.friction_static)?; @@ -172,6 +174,7 @@ impl ReadWrite for CollisionPart { fn read(r: &mut dyn Read) -> Result { let mut s = Self::default(); read_kv_iter(r, |k, v| match k { + b"name" => Ok(s.name = Some(read_slice(v)?)), b"restitution_coeff" => Ok(s.restitution_coeff = Some(read_slice(v)?)), b"friction_kinetic" => Ok(s.friction_kinetic = Some(read_slice(v)?)), b"friction_static" => Ok(s.friction_static = Some(read_slice(v)?)), -- cgit v1.2.3-70-g09d2