summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-02-19 19:56:54 +0100
committermetamuffin <metamuffin@disroot.org>2025-02-19 19:56:54 +0100
commit6edc755bc040bc67ad3cd88fa694e9d29daf4a3b (patch)
tree8225927c6274d01cb5b4889a8827375ed42b4977
parentd0410e8a61ccc189b760cbd199d1d690f9d75b9a (diff)
downloadweareserver-6edc755bc040bc67ad3cd88fa694e9d29daf4a3b.tar
weareserver-6edc755bc040bc67ad3cd88fa694e9d29daf4a3b.tar.bz2
weareserver-6edc755bc040bc67ad3cd88fa694e9d29daf4a3b.tar.zst
animation res dicts
-rw-r--r--shared/src/resources.rs30
1 files changed, 29 insertions, 1 deletions
diff --git a/shared/src/resources.rs b/shared/src/resources.rs
index f9a22bf..5e2e268 100644
--- a/shared/src/resources.rs
+++ b/shared/src/resources.rs
@@ -75,11 +75,13 @@ macro_rules! resource_dicts {
resource_dicts!(
pub struct Prefab {
name: String,
- mesh[multi]: (Affine3A, Resource<MeshPart>),
+ mesh[multi]: (Affine3A, Resource<MeshPart>),
collision[multi]: (Affine3A, Resource<CollisionPart>),
light[multi]: (Vec3A, Resource<LightPart>),
armature[multi]: Resource<ArmaturePart>,
particles[multi]: (Affine3A, Resource<ParticlesPart>),
+ animations[multi]: Resource<AnimationPart>,
+ avatar_info: Resource<AvatarInfoPart>,
environment: Resource<EnvironmentPart>,
}
@@ -89,6 +91,32 @@ resource_dicts!(
radius: f32,
}
+ pub struct AnimationPart {
+ channel[multi]: Resource<AnimationChannel>,
+ }
+
+ pub struct AnimationChannel {
+ t_mesh_translation: u32,
+ t_mesh_rotation: u32,
+ t_mesh_scale: u32,
+ t_mesh_morph_weight: (u32, u32),
+ t_joint_translation: (u32, u32),
+ t_joint_rotation: (u32, u32),
+ t_joint_scale: (u32, u32),
+ t_light_translation: u32,
+ time: Resource<Vec<f32>>,
+ value: Resource<Vec<Vec3A>>,
+ }
+
+ pub struct AvatarInfoPart {
+ armature: u32,
+ camera_mount: u32,
+ camera_mount_offset: Vec3A,
+ a_walk: u32,
+ a_run: u32,
+ a_sit: u32,
+ }
+
pub struct EnvironmentPart {
skybox: Resource<Image<'static>>,
sun: (Vec3A, Vec3A),