mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Add tiger mob
This commit is contained in:
parent
76354aa3cf
commit
9fec5f3d14
@ -262,6 +262,10 @@
|
||||
"tarasque": {
|
||||
"keyword": "tarasque",
|
||||
"generic": "Tarasque"
|
||||
},
|
||||
"tiger": {
|
||||
"keyword": "tiger",
|
||||
"generic": "Tiger"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
BIN
assets/voxygen/voxel/npc/tiger/female/ears.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/ears.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/foot_bl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/foot_bl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/foot_br.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/foot_br.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/foot_fl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/foot_fl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/foot_fr.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/foot_fr.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/head_lower.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/head_lower.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/head_upper.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/head_upper.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/jaw.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/jaw.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/leg_bl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/leg_bl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/leg_br.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/leg_br.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/leg_fl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/leg_fl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/leg_fr.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/leg_fr.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/tail.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/tail.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/torso_back.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/torso_back.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/female/torso_front.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/female/torso_front.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/ears.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/ears.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/foot_bl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/foot_bl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/foot_br.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/foot_br.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/foot_fl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/foot_fl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/foot_fr.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/foot_fr.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/head_lower.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/head_lower.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/head_upper.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/head_upper.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/jaw.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/jaw.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/leg_bl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/leg_bl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/leg_br.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/leg_br.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/leg_fl.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/leg_fl.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/leg_fr.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/leg_fr.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/tail.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/tail.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/torso_back.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/torso_back.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tiger/male/torso_front.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tiger/male/torso_front.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -300,4 +300,64 @@
|
||||
central: ("npc.tarasque.male.tail"),
|
||||
),
|
||||
),
|
||||
(Tiger, Male): (
|
||||
upper: (
|
||||
offset: (-4.0, -5.5, -6.5),
|
||||
central: ("npc.tiger.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-4.0, -5.5, -4.0),
|
||||
central: ("npc.tiger.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, -2.5, -1.0),
|
||||
central: ("npc.tiger.male.jaw"),
|
||||
),
|
||||
torso_f: (
|
||||
offset: (-6.0, -6.0, -5.5),
|
||||
central: ("npc.tiger.male.torso_front"),
|
||||
),
|
||||
torso_b: (
|
||||
offset: (-6.0, -6.0, -5.0),
|
||||
central: ("npc.tiger.male.torso_back"),
|
||||
),
|
||||
ears: (
|
||||
offset: (-5.0, -0.5, -1.5),
|
||||
central: ("npc.tiger.male.ears"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.0, -3.0, -4.0),
|
||||
central: ("npc.tiger.male.tail"),
|
||||
),
|
||||
),
|
||||
(Tiger, Female): (
|
||||
upper: (
|
||||
offset: (-4.0, -5.5, -6.5),
|
||||
central: ("npc.tiger.female.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-4.0, -5.5, -4.0),
|
||||
central: ("npc.tiger.female.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-2.0, -2.5, -1.0),
|
||||
central: ("npc.tiger.female.jaw"),
|
||||
),
|
||||
torso_f: (
|
||||
offset: (-6.0, -6.0, -5.5),
|
||||
central: ("npc.tiger.female.torso_front"),
|
||||
),
|
||||
torso_b: (
|
||||
offset: (-6.0, -6.0, -5.0),
|
||||
central: ("npc.tiger.female.torso_back"),
|
||||
),
|
||||
ears: (
|
||||
offset: (-5.0, -0.5, -1.5),
|
||||
central: ("npc.tiger.female.ears"),
|
||||
),
|
||||
tail: (
|
||||
offset: (-1.0, -3.0, -4.0),
|
||||
central: ("npc.tiger.female.tail"),
|
||||
),
|
||||
),
|
||||
})
|
||||
|
@ -339,4 +339,72 @@
|
||||
lateral: ("npc.tarasque.female.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Tiger, Male): (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tiger.male.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tiger.male.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.tiger.male.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.tiger.male.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tiger.male.foot_lf"),
|
||||
),
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tiger.male.foot_rf"),
|
||||
),
|
||||
foot_lb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.tiger.male.foot_lb"),
|
||||
),
|
||||
foot_rb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.tiger.male.foot_rb"),
|
||||
),
|
||||
),
|
||||
(Tiger, Female): (
|
||||
leg_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tiger.female.leg_lf"),
|
||||
),
|
||||
leg_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tiger.female.leg_rf"),
|
||||
),
|
||||
leg_lb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.tiger.female.leg_lb"),
|
||||
),
|
||||
leg_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tiger.female.leg_rb"),
|
||||
),
|
||||
foot_lf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tiger.female.foot_lf"),
|
||||
),
|
||||
foot_rf: (
|
||||
offset: (-1.5, -1.5, -2.5),
|
||||
lateral: ("npc.tiger.female.foot_rf"),
|
||||
),
|
||||
foot_lb: (
|
||||
offset: (-1.5, -4.0, -3.5),
|
||||
lateral: ("npc.tiger.female.foot_lb"),
|
||||
),
|
||||
foot_rb: (
|
||||
offset: (-1.5, -2.0, -3.5),
|
||||
lateral: ("npc.tiger.female.foot_rb"),
|
||||
),
|
||||
),
|
||||
})
|
||||
|
@ -29,6 +29,7 @@ impl From<Body> for super::Body {
|
||||
pub enum Species {
|
||||
Grolgar = 0,
|
||||
Saber = 1,
|
||||
Tiger = 2,
|
||||
Tuskram = 3,
|
||||
Lion = 6,
|
||||
Tarasque = 7,
|
||||
@ -41,6 +42,7 @@ pub enum Species {
|
||||
pub struct AllSpecies<SpeciesMeta> {
|
||||
pub grolgar: SpeciesMeta,
|
||||
pub saber: SpeciesMeta,
|
||||
pub tiger: SpeciesMeta,
|
||||
pub tuskram: SpeciesMeta,
|
||||
pub lion: SpeciesMeta,
|
||||
pub tarasque: SpeciesMeta,
|
||||
@ -54,6 +56,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
||||
match index {
|
||||
Species::Grolgar => &self.grolgar,
|
||||
Species::Saber => &self.saber,
|
||||
Species::Tiger => &self.tiger,
|
||||
Species::Tuskram => &self.tuskram,
|
||||
Species::Lion => &self.lion,
|
||||
Species::Tarasque => &self.tarasque,
|
||||
@ -61,9 +64,10 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
||||
}
|
||||
}
|
||||
|
||||
pub const ALL_SPECIES: [Species; 5] = [
|
||||
pub const ALL_SPECIES: [Species; 6] = [
|
||||
Species::Grolgar,
|
||||
Species::Saber,
|
||||
Species::Tiger,
|
||||
Species::Tuskram,
|
||||
Species::Lion,
|
||||
Species::Tarasque,
|
||||
|
@ -28,6 +28,60 @@ pub struct QuadrupedMediumSkeleton {
|
||||
foot_rb: Bone,
|
||||
}
|
||||
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const HEAD_UPPER_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const HEAD_UPPER_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const HEAD_LOWER_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const HEAD_LOWER_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const JAW_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const JAW_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const TAIL_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const TAIL_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const TORSO_BACK_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const TORSO_BACK_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const TORSO_MID_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const TORSO_MID_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const EARS_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const EARS_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const LEG_FRONT_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const LEG_FRONT_Y: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const LEG_FRONT_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const LEG_BACK_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const LEG_BACK_Y: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const LEG_BACK_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const FEET_FRONT_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const FEET_FRONT_Y: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const FEET_FRONT_Z: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const FEET_BACK_X: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const FEET_BACK_Y: f32 = 0.0;
|
||||
#[const_tweaker::tweak(min = -20.0, max = 20.0, step = 0.5)]
|
||||
const FEET_BACK_Z: f32 = 0.0;
|
||||
|
||||
|
||||
impl QuadrupedMediumSkeleton {
|
||||
pub fn new() -> Self { Self::default() }
|
||||
}
|
||||
@ -140,6 +194,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (9.0, 12.0),
|
||||
(Lion, _) => (12.5, 14.0),
|
||||
(Tarasque, _) => (12.0, 19.0),
|
||||
(Tiger, _) => (*HEAD_UPPER_X, *HEAD_UPPER_Z),
|
||||
},
|
||||
head_lower: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (-4.0, -7.0),
|
||||
@ -147,6 +202,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (-3.0, -1.0),
|
||||
(Lion, _) => (-5.0, -1.0),
|
||||
(Tarasque, _) => (-5.0, -6.0),
|
||||
(Tiger, _) => (*HEAD_LOWER_X, *HEAD_LOWER_Z),
|
||||
},
|
||||
jaw: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (3.0, -5.0),
|
||||
@ -154,6 +210,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (2.0, -2.0),
|
||||
(Lion, _) => (2.0, -3.0),
|
||||
(Tarasque, _) => (4.0, -9.0),
|
||||
(Tiger, _) => (*JAW_X, *JAW_Z),
|
||||
},
|
||||
tail: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (-6.0, -2.0),
|
||||
@ -161,6 +218,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (-6.0, -2.0),
|
||||
(Lion, _) => (-8.0, -6.0),
|
||||
(Tarasque, _) => (-7.0, -2.0),
|
||||
(Tiger, _) => (*TAIL_X, *TAIL_Z),
|
||||
},
|
||||
torso_back: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (4.0, 11.0),
|
||||
@ -168,6 +226,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (4.0, 9.0),
|
||||
(Lion, _) => (4.0, 10.0),
|
||||
(Tarasque, _) => (4.0, 9.0),
|
||||
(Tiger, _) => (*TORSO_BACK_X, *TORSO_BACK_Z),
|
||||
},
|
||||
torso_mid: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (-7.0, 10.5),
|
||||
@ -175,6 +234,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (-7.0, 9.0),
|
||||
(Lion, _) => (-9.0, 9.0),
|
||||
(Tarasque, _) => (-7.0, 8.0),
|
||||
(Tiger, _) => (*TORSO_MID_X, *TORSO_MID_Z),
|
||||
},
|
||||
ears: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (-1.0, 5.0),
|
||||
@ -182,6 +242,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (10.0, 2.0),
|
||||
(Lion, _) => (-2.0, 4.0),
|
||||
(Tarasque, _) => (1.5, -2.0),
|
||||
(Tiger, _) => (*EARS_X, *EARS_Z),
|
||||
},
|
||||
leg_f: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (5.0, 6.0, 2.0),
|
||||
@ -189,6 +250,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (4.0, 6.0, 4.5),
|
||||
(Lion, _) => (5.0, 6.0, 3.0),
|
||||
(Tarasque, _) => (4.0, 6.0, 3.0),
|
||||
(Tiger, _) => (*LEG_FRONT_X, *LEG_FRONT_Y, *LEG_FRONT_Z),
|
||||
},
|
||||
leg_b: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (5.0, -4.0, 3.0),
|
||||
@ -196,6 +258,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (4.0, -8.0, 5.5),
|
||||
(Lion, _) => (5.5, -8.0, 3.5),
|
||||
(Tarasque, _) => (4.0, -8.0, 3.5),
|
||||
(Tiger, _) => (*LEG_BACK_X, *LEG_BACK_Y, *LEG_BACK_Z),
|
||||
},
|
||||
feet_f: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (5.0, 6.0, 2.0),
|
||||
@ -203,6 +266,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (4.0, 6.0, 4.5),
|
||||
(Lion, _) => (5.0, 6.0, 3.0),
|
||||
(Tarasque, _) => (4.0, 6.0, 3.0),
|
||||
(Tiger, _) => (*FEET_FRONT_X, *FEET_FRONT_Y, *FEET_FRONT_Z),
|
||||
},
|
||||
feet_b: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (5.0, -4.0, 3.0),
|
||||
@ -210,6 +274,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (4.0, -8.0, 5.5),
|
||||
(Lion, _) => (5.5, -8.0, 3.5),
|
||||
(Tarasque, _) => (4.0, -8.0, 3.5),
|
||||
(Tiger, _) => (*FEET_BACK_X, *FEET_BACK_Y, *FEET_BACK_Z),
|
||||
},
|
||||
height: match (body.species, body.body_type) {
|
||||
(Grolgar, _) => (1.2),
|
||||
@ -217,6 +282,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
||||
(Tuskram, _) => (1.0),
|
||||
(Lion, _) => (1.4),
|
||||
(Tarasque, _) => (1.1),
|
||||
(Tiger, _) => (1.0),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -1422,90 +1422,6 @@ impl QuadrupedMediumLateralSpec {
|
||||
.unwrap()
|
||||
}
|
||||
|
||||
pub fn mesh_foot_lf(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No foot specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.foot_lf.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_lf.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_rf(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No foot specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.foot_rf.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_rf.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_lb(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No foot specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.foot_lb.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_lb.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_rb(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No foot specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.foot_rb.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_rb.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_leg_lf(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
@ -1589,6 +1505,90 @@ impl QuadrupedMediumLateralSpec {
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.leg_rb.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_lf(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No foot specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.foot_lf.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_lf.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_rf(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No foot specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.foot_rf.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_rf.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_lb(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No foot specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.foot_lb.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_lb.offset))
|
||||
}
|
||||
|
||||
pub fn mesh_foot_rb(
|
||||
&self,
|
||||
species: QMSpecies,
|
||||
body_type: QMBodyType,
|
||||
generate_mesh: impl FnOnce(&Segment, Vec3<f32>) -> Mesh<FigurePipeline>,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let spec = match self.0.get(&(species, body_type)) {
|
||||
Some(spec) => spec,
|
||||
None => {
|
||||
error!(
|
||||
"No foot specification exists for the combination of {:?} and {:?}",
|
||||
species, body_type
|
||||
);
|
||||
return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5), generate_mesh);
|
||||
},
|
||||
};
|
||||
let lateral = graceful_load_segment(&spec.foot_rb.lateral.0);
|
||||
|
||||
generate_mesh(&lateral, Vec3::from(spec.foot_rb.offset))
|
||||
}
|
||||
}
|
||||
|
||||
////
|
||||
|
@ -936,7 +936,7 @@ impl FigureMgr {
|
||||
is_player,
|
||||
);
|
||||
},
|
||||
Body::QuadrupedMedium(_) => {
|
||||
Body::QuadrupedMedium(quadruped_body) => {
|
||||
let skeleton_attr = &self
|
||||
.quadruped_medium_model_cache
|
||||
.get_or_create_model(
|
||||
@ -948,6 +948,7 @@ impl FigureMgr {
|
||||
None,
|
||||
)
|
||||
.1;
|
||||
let ref skeleton_attr = quadruped_body.into();
|
||||
|
||||
let state = self
|
||||
.quadruped_medium_states
|
||||
|
Loading…
Reference in New Issue
Block a user