This commit is contained in:
jshipsey 2020-05-11 01:39:07 -04:00
parent 8505fc7b02
commit 16c382ebc3
55 changed files with 155 additions and 45 deletions

@ -243,9 +243,9 @@
]
},
"species": {
"wolf": {
"keyword": "wolf",
"generic": "Wolf"
"grolgar": {
"keyword": "grolgar",
"generic": "Grolgar"
},
"saber": {
"keyword": "sabertooth",
@ -493,6 +493,10 @@
"ogre": {
"keyword": "ogre",
"generic": "Ogre"
},
"cyclops": {
"keyword": "cyclops",
"generic": "Cyclops"
}
}
},

@ -27,4 +27,32 @@
center: ("npc.ogre.female.torso_lower"),
)
),
(Cyclops, Male): (
head: (
offset: (-7.0, -7.0, -6.5),
center: ("npc.cyclops.male.head"),
),
torso_upper: (
offset: (-8.0, -6.0, -6.0),
center: ("npc.cyclops.male.torso_upper"),
),
torso_lower: (
offset: (-6.0, -5.5, -6.0),
center: ("npc.cyclops.male.torso_lower"),
)
),
(Cyclops, Female): (
head: (
offset: (-7.0, -7.0, -6.5),
center: ("npc.cyclops.female.head"),
),
torso_upper: (
offset: (-8.0, -6.0, -6.0),
center: ("npc.cyclops.female.torso_upper"),
),
torso_lower: (
offset: (-6.0, -5.5, -6.0),
center: ("npc.cyclops.female.torso_lower"),
)
),
})

@ -67,4 +67,72 @@
lateral: ("npc.ogre.female.foot_r"),
)
),
(Cyclops, Male): (
shoulder_l: (
offset: (-3.0, -4.0, -5.0),
lateral: ("npc.cyclops.male.shoulder_l"),
),
shoulder_r: (
offset: (-3.0, -4.0, -5.0),
lateral: ("npc.cyclops.male.shoulder_r"),
),
hand_l: (
offset: (-3.5, -3.5, -14.0),
lateral: ("npc.cyclops.male.hand_l"),
),
hand_r: (
offset: (-3.5, -3.5, -14.0),
lateral: ("npc.cyclops.male.hand_r"),
),
leg_l: (
offset: (-6.0, -3.5, -7.0),
lateral: ("npc.cyclops.male.leg_l"),
),
leg_r: (
offset: (0.0, -3.5, -7.0),
lateral: ("npc.cyclops.male.leg_r"),
),
foot_l: (
offset: (-3.0, -5.0, -5.0),
lateral: ("npc.cyclops.male.foot_l"),
),
foot_r: (
offset: (-3.0, -5.0, -5.0),
lateral: ("npc.cyclops.male.foot_r"),
)
),
(Cyclops, Female): (
shoulder_l: (
offset: (-3.0, -4.0, -5.0),
lateral: ("npc.cyclops.female.shoulder_l"),
),
shoulder_r: (
offset: (-3.0, -4.0, -5.0),
lateral: ("npc.cyclops.female.shoulder_r"),
),
hand_l: (
offset: (-3.5, -3.5, -14.0),
lateral: ("npc.cyclops.female.hand_l"),
),
hand_r: (
offset: (-3.5, -3.5, -14.0),
lateral: ("npc.cyclops.female.hand_r"),
),
leg_l: (
offset: (-6.0, -3.5, -7.0),
lateral: ("npc.cyclops.female.leg_l"),
),
leg_r: (
offset: (0.0, -3.5, -7.0),
lateral: ("npc.cyclops.female.leg_r"),
),
foot_l: (
offset: (-3.0, -5.0, -5.0),
lateral: ("npc.cyclops.female.foot_l"),
),
foot_r: (
offset: (-3.0, -5.0, -5.0),
lateral: ("npc.cyclops.female.foot_r"),
)
),
})

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,62 +1,62 @@
({
(Wolf, Male): (
(Grolgar, Male): (
upper: (
offset: (-7.0, -9.0, -5.5),
central: ("npc.wolf.male.head_upper"),
central: ("npc.grolgar.male.head_upper"),
),
lower: (
offset: (-7.0, -4.5, -5.0),
central: ("npc.wolf.male.head_lower"),
central: ("npc.grolgar.male.head_lower"),
),
jaw: (
offset: (-3.0, -3.0, -2.5),
central: ("npc.wolf.male.jaw"),
central: ("npc.grolgar.male.jaw"),
),
torso_f: (
offset: (-8.0, -5.5, -6.0),
central: ("npc.wolf.male.torso_front"),
central: ("npc.grolgar.male.torso_front"),
),
torso_b: (
offset: (-7.0, -6.0, -6.0),
central: ("npc.wolf.male.torso_back"),
central: ("npc.grolgar.male.torso_back"),
),
ears: (
offset: (-4.0, -1.0, -1.5),
central: ("npc.wolf.male.ears"),
central: ("npc.grolgar.male.ears"),
),
tail: (
offset: (-2.0, -9.5, -5.0),
central: ("npc.wolf.male.tail"),
central: ("npc.grolgar.male.tail"),
),
),
(Wolf, Female): (
(Grolgar, Female): (
upper: (
offset: (-7.0, -9.0, -5.5),
central: ("npc.wolf.female.head_upper"),
central: ("npc.grolgar.female.head_upper"),
),
lower: (
offset: (-7.0, -4.5, -5.0),
central: ("npc.wolf.female.head_lower"),
central: ("npc.grolgar.female.head_lower"),
),
jaw: (
offset: (-3.0, -3.0, -2.5),
central: ("npc.wolf.male.jaw"),
central: ("npc.grolgar.male.jaw"),
),
torso_f: (
offset: (-8.0, -5.5, -6.0),
central: ("npc.wolf.female.torso_front"),
central: ("npc.grolgar.female.torso_front"),
),
torso_b: (
offset: (-7.0, -6.0, -6.0),
central: ("npc.wolf.female.torso_back"),
central: ("npc.grolgar.female.torso_back"),
),
ears: (
offset: (-4.0, -1.0, -1.5),
central: ("npc.wolf.female.ears"),
central: ("npc.grolgar.female.ears"),
),
tail: (
offset: (-2.0, -9.5, -5.0),
central: ("npc.wolf.female.tail"),
central: ("npc.grolgar.female.tail"),
),
),

@ -1,38 +1,38 @@
({
(Wolf, Male): (
(Grolgar, Male): (
left_front: (
offset: (-2.5, -4.0, -1.5),
lateral: ("npc.wolf.male.foot_lf"),
lateral: ("npc.grolgar.male.foot_lf"),
),
right_front: (
offset: (-2.5, -4.0, -1.5),
lateral: ("npc.wolf.male.foot_rf"),
lateral: ("npc.grolgar.male.foot_rf"),
),
left_back: (
offset: (-2.5, -4.0, -3.0),
lateral: ("npc.wolf.male.foot_lb"),
lateral: ("npc.grolgar.male.foot_lb"),
),
right_back: (
offset: (-2.5, -4.0, -3.0),
lateral: ("npc.wolf.male.foot_rb"),
lateral: ("npc.grolgar.male.foot_rb"),
),
),
(Wolf, Female): (
(Grolgar, Female): (
left_front: (
offset: (-2.5, -4.0, -1.5),
lateral: ("npc.wolf.female.foot_lf"),
lateral: ("npc.grolgar.female.foot_lf"),
),
right_front: (
offset: (-2.5, -4.0, -1.5),
lateral: ("npc.wolf.female.foot_rf"),
lateral: ("npc.grolgar.female.foot_rf"),
),
left_back: (
offset: (-2.5, -4.0, -3.0),
lateral: ("npc.wolf.female.foot_lb"),
lateral: ("npc.grolgar.female.foot_lb"),
),
right_back: (
offset: (-2.5, -4.0, -3.0),
lateral: ("npc.wolf.female.foot_rb"),
lateral: ("npc.grolgar.female.foot_rb"),
),
),
(Saber, Male): (

@ -28,6 +28,7 @@ impl From<Body> for super::Body {
#[repr(u32)]
pub enum Species {
Ogre = 0,
Cyclops = 1,
}
/// Data representing per-species generic data.
@ -36,6 +37,7 @@ pub enum Species {
#[derive(Clone, Debug, Deserialize)]
pub struct AllSpecies<SpeciesMeta> {
pub ogre: SpeciesMeta,
pub cyclops: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -45,11 +47,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
fn index(&self, &index: &'a Species) -> &Self::Output {
match index {
Species::Ogre => &self.ogre,
Species::Cyclops => &self.cyclops,
}
}
}
pub const ALL_SPECIES: [Species; 1] = [Species::Ogre];
pub const ALL_SPECIES: [Species; 2] = [Species::Ogre, Species::Cyclops];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
type Item = Species;

@ -27,7 +27,7 @@ impl From<Body> for super::Body {
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[repr(u32)]
pub enum Species {
Wolf = 0,
Grolgar = 0,
Saber = 1,
Viper = 2,
Tuskram = 3,
@ -42,7 +42,7 @@ pub enum Species {
/// NOTE: Deliberately don't (yet?) implement serialize.
#[derive(Clone, Debug, Deserialize)]
pub struct AllSpecies<SpeciesMeta> {
pub wolf: SpeciesMeta,
pub grolgar: SpeciesMeta,
pub saber: SpeciesMeta,
pub viper: SpeciesMeta,
pub tuskram: SpeciesMeta,
@ -58,7 +58,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
#[inline]
fn index(&self, &index: &'a Species) -> &Self::Output {
match index {
Species::Wolf => &self.wolf,
Species::Grolgar => &self.grolgar,
Species::Saber => &self.saber,
Species::Viper => &self.viper,
Species::Tuskram => &self.tuskram,
@ -71,7 +71,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
}
pub const ALL_SPECIES: [Species; 8] = [
Species::Wolf,
Species::Grolgar,
Species::Saber,
Species::Viper,
Species::Tuskram,

@ -128,24 +128,31 @@ impl<'a> From<&'a comp::biped_large::Body> for SkeletonAttr {
Self {
head: match (body.species, body.body_type) {
(Ogre, _) => (3.0, 6.0),
(Cyclops, _) => (3.0, 9.0),
},
upper_torso: match (body.species, body.body_type) {
(Ogre, _) => (0.0, 19.0),
(Cyclops, _) => (-1.0, 27.0),
},
lower_torso: match (body.species, body.body_type) {
(Ogre, _) => (1.0, -9.5),
(Cyclops, _) => (1.0, -10.5),
},
shoulder: match (body.species, body.body_type) {
(Ogre, _) => (6.1, 0.5, 2.5),
(Cyclops, _) => (9.5, 0.5, 2.5),
},
hand: match (body.species, body.body_type) {
(Ogre, _) => (10.5, -1.0, -0.5),
(Cyclops, _) => (10.5, 0.0, -0.5),
},
leg: match (body.species, body.body_type) {
(Ogre, _) => (0.0, 0.0, -6.0),
(Cyclops, _) => (0.0, 0.0, -9.0),
},
foot: match (body.species, body.body_type) {
(Ogre, _) => (4.0, 0.5, 2.5),
(Ogre, _) => (4.0, 0.5, 5.5),
(Cyclops, _) => (4.0, 0.5, 5.0),
},
}
}

@ -123,7 +123,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
use comp::quadruped_medium::Species::*;
Self {
head_upper: match (body.species, body.body_type) {
(Wolf, _) => (12.0, 16.0),
(Grolgar, _) => (12.0, 16.0),
(Saber, _) => (14.0, 12.0),
(Viper, _) => (14.0, 10.0),
(Tuskram, _) => (9.0, 12.0),
@ -133,7 +133,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tarasque, _) => (12.0, 19.0),
},
head_lower: match (body.species, body.body_type) {
(Wolf, _) => (-4.0, -7.0),
(Grolgar, _) => (-4.0, -7.0),
(Saber, _) => (-6.0, 0.0),
(Viper, _) => (-3.0, -1.0),
(Tuskram, _) => (-3.0, -1.0),
@ -143,7 +143,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tarasque, _) => (-5.0, -6.0),
},
jaw: match (body.species, body.body_type) {
(Wolf, _) => (3.0, -5.0),
(Grolgar, _) => (3.0, -5.0),
(Saber, _) => (2.0, -1.0),
(Viper, _) => (3.0, -2.0),
(Tuskram, _) => (2.0, -2.0),
@ -153,7 +153,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tarasque, _) => (4.0, -9.0),
},
tail: match (body.species, body.body_type) {
(Wolf, _) => (-6.0, -2.0),
(Grolgar, _) => (-6.0, -2.0),
(Saber, _) => (-4.0, -2.0),
(Viper, _) => (-6.0, -1.0),
(Tuskram, _) => (-6.0, -2.0),
@ -163,7 +163,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tarasque, _) => (-7.0, -2.0),
},
torso_back: match (body.species, body.body_type) {
(Wolf, _) => (4.0, 11.0),
(Grolgar, _) => (4.0, 11.0),
(Saber, _) => (4.0, 9.0),
(Viper, _) => (4.0, 7.0),
(Tuskram, _) => (4.0, 9.0),
@ -173,7 +173,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tarasque, _) => (4.0, 9.0),
},
torso_mid: match (body.species, body.body_type) {
(Wolf, _) => (-7.0, 10.5),
(Grolgar, _) => (-7.0, 10.5),
(Saber, _) => (-7.0, 9.5),
(Viper, _) => (-7.0, 7.0),
(Tuskram, _) => (-7.0, 9.0),
@ -183,7 +183,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tarasque, _) => (-7.0, 8.0),
},
ears: match (body.species, body.body_type) {
(Wolf, _) => (-1.0, 5.0),
(Grolgar, _) => (-1.0, 5.0),
(Saber, _) => (-1.0, 6.0),
(Viper, _) => (10.0, 2.0),
(Tuskram, _) => (10.0, 2.0),
@ -193,7 +193,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tarasque, _) => (1.5, -2.0),
},
feet_f: match (body.species, body.body_type) {
(Wolf, _) => (5.0, 6.0, 2.0),
(Grolgar, _) => (5.0, 6.0, 2.0),
(Saber, _) => (4.0, 6.0, 3.0),
(Viper, _) => (4.0, 6.0, 3.0),
(Tuskram, _) => (4.0, 6.0, 4.5),
@ -203,7 +203,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tarasque, _) => (4.0, 6.0, 3.0),
},
feet_b: match (body.species, body.body_type) {
(Wolf, _) => (5.0, -4.0, 3.0),
(Grolgar, _) => (5.0, -4.0, 3.0),
(Saber, _) => (4.0, -6.0, 3.5),
(Viper, _) => (4.0, -4.0, 3.5),
(Tuskram, _) => (4.0, -8.0, 5.5),
@ -213,7 +213,7 @@ impl<'a> From<&'a comp::quadruped_medium::Body> for SkeletonAttr {
(Tarasque, _) => (4.0, -8.0, 3.5),
},
height: match (body.species, body.body_type) {
(Wolf, _) => (1.2),
(Grolgar, _) => (1.2),
(Saber, _) => (1.0),
(Viper, _) => (0.7),
(Tuskram, _) => (1.0),