Use mountee_offset for not yet animated mounting transforms (ie those that aren't quadruped_medium)

This commit is contained in:
Imbris 2021-07-01 00:24:17 -04:00
parent 3e6fd0ee1d
commit 830b0f8fc1
14 changed files with 118 additions and 20 deletions

View File

@ -129,7 +129,14 @@ impl Skeleton for BipedLargeSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.torso,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::BipedLarge(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -69,7 +69,14 @@ impl Skeleton for BipedSmallSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.chest,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::BipedSmall(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -98,7 +98,14 @@ impl Skeleton for BirdLargeSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.chest,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::BirdLarge(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -36,7 +36,7 @@ impl Skeleton for BirdMediumSkeleton {
&self,
base_mat: Mat4<f32>,
buf: &mut [FigureBoneData; super::MAX_BONE_COUNT],
_body: Self::Body,
body: Self::Body,
) -> Offsets {
let base_mat = base_mat * Mat4::scaling_3d(1.0 / 11.0);
let torso_mat = base_mat * Mat4::<f32>::from(self.torso);
@ -52,7 +52,14 @@ impl Skeleton for BirdMediumSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.torso,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::BirdMedium(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -142,7 +142,14 @@ impl Skeleton for CharacterSkeleton {
];
Offsets {
lantern: (lantern_mat * Vec4::new(0.0, 0.0, -4.0, 1.0)).xyz(),
mount_bone: self.chest,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::Humanoid(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -43,7 +43,7 @@ impl Skeleton for DragonSkeleton {
&self,
base_mat: Mat4<f32>,
buf: &mut [FigureBoneData; super::MAX_BONE_COUNT],
_body: Self::Body,
body: Self::Body,
) -> Offsets {
let base_mat = base_mat * Mat4::scaling_3d(1.0);
let chest_front_mat = base_mat * Mat4::<f32>::from(self.chest_front);
@ -73,7 +73,14 @@ impl Skeleton for DragonSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.chest_front,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::Dragon(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -33,7 +33,7 @@ impl Skeleton for FishMediumSkeleton {
&self,
base_mat: Mat4<f32>,
buf: &mut [FigureBoneData; super::MAX_BONE_COUNT],
_body: Self::Body,
body: Self::Body,
) -> Offsets {
let base_mat = base_mat * Mat4::scaling_3d(1.0 / 11.0);
@ -52,7 +52,14 @@ impl Skeleton for FishMediumSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.chest_front,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::FishMedium(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -30,7 +30,7 @@ impl Skeleton for FishSmallSkeleton {
&self,
base_mat: Mat4<f32>,
buf: &mut [FigureBoneData; super::MAX_BONE_COUNT],
_body: Self::Body,
body: Self::Body,
) -> Offsets {
let base_mat = base_mat * Mat4::scaling_3d(1.0 / 13.0);
let chest_mat = base_mat * Mat4::<f32>::from(self.chest);
@ -43,7 +43,14 @@ impl Skeleton for FishSmallSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.chest,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::FishSmall(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -75,7 +75,14 @@ impl Skeleton for GolemSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.torso,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::Golem(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -29,7 +29,7 @@ impl Skeleton for ObjectSkeleton {
&self,
base_mat: Mat4<f32>,
buf: &mut [FigureBoneData; super::MAX_BONE_COUNT],
_body: Self::Body,
body: Self::Body,
) -> Offsets {
let scale_mat = Mat4::scaling_3d(1.0 / 11.0);
@ -41,7 +41,14 @@ impl Skeleton for ObjectSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.bone0,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::Object(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -71,7 +71,14 @@ impl Skeleton for QuadrupedLowSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.chest,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::QuadrupedLow(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -57,7 +57,14 @@ impl Skeleton for QuadrupedSmallSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.chest,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::QuadrupedSmall(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -29,7 +29,7 @@ impl Skeleton for ShipSkeleton {
&self,
base_mat: Mat4<f32>,
buf: &mut [FigureBoneData; super::MAX_BONE_COUNT],
_body: Self::Body,
body: Self::Body,
) -> Offsets {
let bone0_mat = base_mat * Mat4::scaling_3d(1.0 / 11.0) * Mat4::<f32>::from(self.bone0);
@ -41,7 +41,14 @@ impl Skeleton for ShipSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.bone0,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::Ship(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}

View File

@ -76,7 +76,14 @@ impl Skeleton for TheropodSkeleton {
];
Offsets {
lantern: Vec3::default(),
mount_bone: self.chest_front,
// TODO: see quadruped_medium for how to animate this
mount_bone: Transform {
position: common::comp::Body::Theropod(body)
.mountee_offset()
.into_tuple()
.into(),
..Default::default()
},
}
}
}