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": {
|
"tarasque": {
|
||||||
"keyword": "tarasque",
|
"keyword": "tarasque",
|
||||||
"generic": "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"),
|
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"),
|
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 {
|
pub enum Species {
|
||||||
Grolgar = 0,
|
Grolgar = 0,
|
||||||
Saber = 1,
|
Saber = 1,
|
||||||
|
Tiger = 2,
|
||||||
Tuskram = 3,
|
Tuskram = 3,
|
||||||
Lion = 6,
|
Lion = 6,
|
||||||
Tarasque = 7,
|
Tarasque = 7,
|
||||||
@ -41,6 +42,7 @@ pub enum Species {
|
|||||||
pub struct AllSpecies<SpeciesMeta> {
|
pub struct AllSpecies<SpeciesMeta> {
|
||||||
pub grolgar: SpeciesMeta,
|
pub grolgar: SpeciesMeta,
|
||||||
pub saber: SpeciesMeta,
|
pub saber: SpeciesMeta,
|
||||||
|
pub tiger: SpeciesMeta,
|
||||||
pub tuskram: SpeciesMeta,
|
pub tuskram: SpeciesMeta,
|
||||||
pub lion: SpeciesMeta,
|
pub lion: SpeciesMeta,
|
||||||
pub tarasque: SpeciesMeta,
|
pub tarasque: SpeciesMeta,
|
||||||
@ -54,6 +56,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
|||||||
match index {
|
match index {
|
||||||
Species::Grolgar => &self.grolgar,
|
Species::Grolgar => &self.grolgar,
|
||||||
Species::Saber => &self.saber,
|
Species::Saber => &self.saber,
|
||||||
|
Species::Tiger => &self.tiger,
|
||||||
Species::Tuskram => &self.tuskram,
|
Species::Tuskram => &self.tuskram,
|
||||||
Species::Lion => &self.lion,
|
Species::Lion => &self.lion,
|
||||||
Species::Tarasque => &self.tarasque,
|
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::Grolgar,
|
||||||
Species::Saber,
|
Species::Saber,
|
||||||
|
Species::Tiger,
|
||||||
Species::Tuskram,
|
Species::Tuskram,
|
||||||
Species::Lion,
|
Species::Lion,
|
||||||
Species::Tarasque,
|
Species::Tarasque,
|
||||||
|
@ -28,6 +28,60 @@ pub struct QuadrupedMediumSkeleton {
|
|||||||
foot_rb: Bone,
|
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 {
|
impl QuadrupedMediumSkeleton {
|
||||||
pub fn new() -> Self { Self::default() }
|
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),
|
(Tuskram, _) => (9.0, 12.0),
|
||||||
(Lion, _) => (12.5, 14.0),
|
(Lion, _) => (12.5, 14.0),
|
||||||
(Tarasque, _) => (12.0, 19.0),
|
(Tarasque, _) => (12.0, 19.0),
|
||||||
|
(Tiger, _) => (*HEAD_UPPER_X, *HEAD_UPPER_Z),
|
||||||
},
|
},
|
||||||
head_lower: match (body.species, body.body_type) {
|
head_lower: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (-4.0, -7.0),
|
(Grolgar, _) => (-4.0, -7.0),
|
||||||
@ -147,6 +202,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
|||||||
(Tuskram, _) => (-3.0, -1.0),
|
(Tuskram, _) => (-3.0, -1.0),
|
||||||
(Lion, _) => (-5.0, -1.0),
|
(Lion, _) => (-5.0, -1.0),
|
||||||
(Tarasque, _) => (-5.0, -6.0),
|
(Tarasque, _) => (-5.0, -6.0),
|
||||||
|
(Tiger, _) => (*HEAD_LOWER_X, *HEAD_LOWER_Z),
|
||||||
},
|
},
|
||||||
jaw: match (body.species, body.body_type) {
|
jaw: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (3.0, -5.0),
|
(Grolgar, _) => (3.0, -5.0),
|
||||||
@ -154,6 +210,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
|||||||
(Tuskram, _) => (2.0, -2.0),
|
(Tuskram, _) => (2.0, -2.0),
|
||||||
(Lion, _) => (2.0, -3.0),
|
(Lion, _) => (2.0, -3.0),
|
||||||
(Tarasque, _) => (4.0, -9.0),
|
(Tarasque, _) => (4.0, -9.0),
|
||||||
|
(Tiger, _) => (*JAW_X, *JAW_Z),
|
||||||
},
|
},
|
||||||
tail: match (body.species, body.body_type) {
|
tail: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (-6.0, -2.0),
|
(Grolgar, _) => (-6.0, -2.0),
|
||||||
@ -161,6 +218,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
|||||||
(Tuskram, _) => (-6.0, -2.0),
|
(Tuskram, _) => (-6.0, -2.0),
|
||||||
(Lion, _) => (-8.0, -6.0),
|
(Lion, _) => (-8.0, -6.0),
|
||||||
(Tarasque, _) => (-7.0, -2.0),
|
(Tarasque, _) => (-7.0, -2.0),
|
||||||
|
(Tiger, _) => (*TAIL_X, *TAIL_Z),
|
||||||
},
|
},
|
||||||
torso_back: match (body.species, body.body_type) {
|
torso_back: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (4.0, 11.0),
|
(Grolgar, _) => (4.0, 11.0),
|
||||||
@ -168,6 +226,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
|||||||
(Tuskram, _) => (4.0, 9.0),
|
(Tuskram, _) => (4.0, 9.0),
|
||||||
(Lion, _) => (4.0, 10.0),
|
(Lion, _) => (4.0, 10.0),
|
||||||
(Tarasque, _) => (4.0, 9.0),
|
(Tarasque, _) => (4.0, 9.0),
|
||||||
|
(Tiger, _) => (*TORSO_BACK_X, *TORSO_BACK_Z),
|
||||||
},
|
},
|
||||||
torso_mid: match (body.species, body.body_type) {
|
torso_mid: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (-7.0, 10.5),
|
(Grolgar, _) => (-7.0, 10.5),
|
||||||
@ -175,6 +234,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
|||||||
(Tuskram, _) => (-7.0, 9.0),
|
(Tuskram, _) => (-7.0, 9.0),
|
||||||
(Lion, _) => (-9.0, 9.0),
|
(Lion, _) => (-9.0, 9.0),
|
||||||
(Tarasque, _) => (-7.0, 8.0),
|
(Tarasque, _) => (-7.0, 8.0),
|
||||||
|
(Tiger, _) => (*TORSO_MID_X, *TORSO_MID_Z),
|
||||||
},
|
},
|
||||||
ears: match (body.species, body.body_type) {
|
ears: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (-1.0, 5.0),
|
(Grolgar, _) => (-1.0, 5.0),
|
||||||
@ -182,6 +242,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
|||||||
(Tuskram, _) => (10.0, 2.0),
|
(Tuskram, _) => (10.0, 2.0),
|
||||||
(Lion, _) => (-2.0, 4.0),
|
(Lion, _) => (-2.0, 4.0),
|
||||||
(Tarasque, _) => (1.5, -2.0),
|
(Tarasque, _) => (1.5, -2.0),
|
||||||
|
(Tiger, _) => (*EARS_X, *EARS_Z),
|
||||||
},
|
},
|
||||||
leg_f: match (body.species, body.body_type) {
|
leg_f: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (5.0, 6.0, 2.0),
|
(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),
|
(Tuskram, _) => (4.0, 6.0, 4.5),
|
||||||
(Lion, _) => (5.0, 6.0, 3.0),
|
(Lion, _) => (5.0, 6.0, 3.0),
|
||||||
(Tarasque, _) => (4.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) {
|
leg_b: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (5.0, -4.0, 3.0),
|
(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),
|
(Tuskram, _) => (4.0, -8.0, 5.5),
|
||||||
(Lion, _) => (5.5, -8.0, 3.5),
|
(Lion, _) => (5.5, -8.0, 3.5),
|
||||||
(Tarasque, _) => (4.0, -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) {
|
feet_f: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (5.0, 6.0, 2.0),
|
(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),
|
(Tuskram, _) => (4.0, 6.0, 4.5),
|
||||||
(Lion, _) => (5.0, 6.0, 3.0),
|
(Lion, _) => (5.0, 6.0, 3.0),
|
||||||
(Tarasque, _) => (4.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) {
|
feet_b: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (5.0, -4.0, 3.0),
|
(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),
|
(Tuskram, _) => (4.0, -8.0, 5.5),
|
||||||
(Lion, _) => (5.5, -8.0, 3.5),
|
(Lion, _) => (5.5, -8.0, 3.5),
|
||||||
(Tarasque, _) => (4.0, -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) {
|
height: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (1.2),
|
(Grolgar, _) => (1.2),
|
||||||
@ -217,6 +282,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
|
|||||||
(Tuskram, _) => (1.0),
|
(Tuskram, _) => (1.0),
|
||||||
(Lion, _) => (1.4),
|
(Lion, _) => (1.4),
|
||||||
(Tarasque, _) => (1.1),
|
(Tarasque, _) => (1.1),
|
||||||
|
(Tiger, _) => (1.0),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1422,90 +1422,6 @@ impl QuadrupedMediumLateralSpec {
|
|||||||
.unwrap()
|
.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(
|
pub fn mesh_leg_lf(
|
||||||
&self,
|
&self,
|
||||||
species: QMSpecies,
|
species: QMSpecies,
|
||||||
@ -1589,6 +1505,90 @@ impl QuadrupedMediumLateralSpec {
|
|||||||
|
|
||||||
generate_mesh(&lateral, Vec3::from(spec.leg_rb.offset))
|
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,
|
is_player,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
Body::QuadrupedMedium(_) => {
|
Body::QuadrupedMedium(quadruped_body) => {
|
||||||
let skeleton_attr = &self
|
let skeleton_attr = &self
|
||||||
.quadruped_medium_model_cache
|
.quadruped_medium_model_cache
|
||||||
.get_or_create_model(
|
.get_or_create_model(
|
||||||
@ -948,6 +948,7 @@ impl FigureMgr {
|
|||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
.1;
|
.1;
|
||||||
|
let ref skeleton_attr = quadruped_body.into();
|
||||||
|
|
||||||
let state = self
|
let state = self
|
||||||
.quadruped_medium_states
|
.quadruped_medium_states
|
||||||
|
Loading…
Reference in New Issue
Block a user