From e4d1504b1d7e575702895d93781f3650ff190bb3 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 12 Mar 2025 22:53:23 +0100 Subject: cleanup --- src/classes/assetinfo.rs | 1 + src/classes/gameobject.rs | 5 ++--- src/classes/mesh.rs | 19 +++++++++++++++++++ src/classes/pptr.rs | 2 ++ src/classes/streaminginfo.rs | 1 + src/classes/transform.rs | 1 + 6 files changed, 26 insertions(+), 3 deletions(-) (limited to 'src/classes') diff --git a/src/classes/assetinfo.rs b/src/classes/assetinfo.rs index 01c4530..f66444a 100644 --- a/src/classes/assetinfo.rs +++ b/src/classes/assetinfo.rs @@ -9,6 +9,7 @@ pub struct AssetInfo { pub preload_size: i32, pub asset: PPtr, } + impl FromValue for AssetInfo { fn from_value(v: Value) -> Result { let mut fields = v.as_class("AssetInfo").unwrap(); diff --git a/src/classes/gameobject.rs b/src/classes/gameobject.rs index bb4f19b..d629231 100644 --- a/src/classes/gameobject.rs +++ b/src/classes/gameobject.rs @@ -11,6 +11,7 @@ pub struct GameObject { pub name: String, pub is_active: bool, } + impl FromValue for GameObject { fn from_value(v: Value) -> Result { let mut fields = v.as_class("GameObject").unwrap(); @@ -28,9 +29,7 @@ impl FromValue for GameObject { .map(|e| { e.as_class("ComponentPair") .unwrap() - .remove("component") - .unwrap() - .parse::() + .field("component") .unwrap() }) .collect(), diff --git a/src/classes/mesh.rs b/src/classes/mesh.rs index 1d6889d..7df7f8d 100644 --- a/src/classes/mesh.rs +++ b/src/classes/mesh.rs @@ -126,3 +126,22 @@ impl FromValue for SubMesh { }) } } + +#[repr(u8)] +#[derive(Debug, Serialize, Clone, Copy, PartialEq)] +pub enum VertexDataChannel { + Position = 0, + Normal = 1, + Tangent = 2, + Color = 3, + TexCoord0 = 4, + TexCoord1 = 5, + TexCoord2 = 6, + TexCoord3 = 7, + TexCoord4 = 8, + TexCoord5 = 9, + TexCoord6 = 10, + TexCoord7 = 11, + BlendWeight = 12, + BlendIndices = 13, +} diff --git a/src/classes/pptr.rs b/src/classes/pptr.rs index 6c7efdb..9d9becc 100644 --- a/src/classes/pptr.rs +++ b/src/classes/pptr.rs @@ -12,6 +12,7 @@ pub struct PPtr { pub file_id: i32, pub path_id: i64, } + impl FromValue for PPtr { fn from_value(v: Value) -> Result { let Value::Object { class, fields } = v else { @@ -30,6 +31,7 @@ impl FromValue for PPtr { }) } } + impl PPtr { pub fn cast(self) -> PPtr { PPtr { diff --git a/src/classes/streaminginfo.rs b/src/classes/streaminginfo.rs index bb0b5e1..cb5209d 100644 --- a/src/classes/streaminginfo.rs +++ b/src/classes/streaminginfo.rs @@ -8,6 +8,7 @@ pub struct StreamingInfo { pub path: String, pub size: u32, } + impl FromValue for StreamingInfo { fn from_value(v: Value) -> Result { let mut fields = v.as_class("StreamingInfo").unwrap(); diff --git a/src/classes/transform.rs b/src/classes/transform.rs index c9948d3..d31a7d6 100644 --- a/src/classes/transform.rs +++ b/src/classes/transform.rs @@ -13,6 +13,7 @@ pub struct Transform { pub local_rotation: Quat, pub local_scale: Vec3, } + impl FromValue for Transform { fn from_value(v: Value) -> Result { let mut fields = v.as_class("Transform").unwrap(); -- cgit v1.2.3-70-g09d2