diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-09 21:58:28 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-09 21:58:28 +0100 |
commit | ecaa6a08527bad93c71bdb8211b6c2f8232ff878 (patch) | |
tree | 215452e5363be74cb7b4f210c28b66f9f2aaacf9 /shared/src/resources.rs | |
parent | 20db20d2702f7b547e1c9c0a2698b6d576cd79d8 (diff) | |
download | weareserver-ecaa6a08527bad93c71bdb8211b6c2f8232ff878.tar weareserver-ecaa6a08527bad93c71bdb8211b6c2f8232ff878.tar.bz2 weareserver-ecaa6a08527bad93c71bdb8211b6c2f8232ff878.tar.zst |
add name to mesh parts and prefabs
Diffstat (limited to 'shared/src/resources.rs')
-rw-r--r-- | shared/src/resources.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/shared/src/resources.rs b/shared/src/resources.rs index 08fb6f5..25dd965 100644 --- a/shared/src/resources.rs +++ b/shared/src/resources.rs @@ -25,6 +25,7 @@ use std::{ #[derive(Debug, Default, Clone)] pub struct Prefab { + pub name: Option<String>, pub mesh: Vec<(Affine3A, Resource<MeshPart>)>, pub light: Vec<(Vec3A, Resource<LightPart>)>, pub environment: Option<Resource<EnvironmentPart>>, @@ -44,6 +45,7 @@ pub struct EnvironmentPart { #[derive(Debug, Default, Clone)] pub struct MeshPart { + pub name: Option<String>, pub index: Option<Resource<IndexArray>>, pub g_metallic: Option<f32>, pub g_roughness: Option<f32>, @@ -107,6 +109,7 @@ impl ReadWrite for PrefabIndex { impl ReadWrite for Prefab { fn write(&self, w: &mut dyn Write) -> Result<()> { + write_kv_opt(w, b"name", &self.name)?; for x in &self.mesh { write_kv_opt(w, b"mesh", &Some(x.clone()))?; } @@ -119,6 +122,7 @@ impl ReadWrite for Prefab { fn read(r: &mut dyn Read) -> Result<Self> { let mut s = Self::default(); read_kv_iter(r, |k, v| match k { + b"name" => Ok(s.name = Some(read_slice(v)?)), b"mesh" => Ok(s.mesh.push(read_slice(v)?)), b"light" => Ok(s.light.push(read_slice(v)?)), b"environment" => Ok(s.environment = Some(read_slice(v)?)), @@ -171,6 +175,7 @@ impl ReadWrite for EnvironmentPart { } impl ReadWrite for MeshPart { fn write(&self, w: &mut dyn Write) -> Result<()> { + write_kv_opt(w, b"name", &self.name)?; write_kv_opt(w, b"index", &self.index)?; write_kv_opt(w, b"g_metallic", &self.g_metallic)?; write_kv_opt(w, b"g_roughness", &self.g_roughness)?; @@ -199,6 +204,7 @@ impl ReadWrite for MeshPart { fn read(r: &mut dyn Read) -> Result<Self> { let mut s = Self::default(); read_kv_iter(r, |k, v| match k { + b"name" => Ok(s.name = Some(read_slice(v)?)), b"index" => Ok(s.index = Some(read_slice(v)?)), b"g_metallic" => Ok(s.g_metallic = Some(read_slice(v)?)), b"g_roughness" => Ok(s.g_roughness = Some(read_slice(v)?)), |