diff --git a/assets/voxygen/voxel/figure/head/head_human_female.vox b/assets/voxygen/voxel/figure/head/head_human_female.vox index 4533516ded..5759b074f7 100644 Binary files a/assets/voxygen/voxel/figure/head/head_human_female.vox and b/assets/voxygen/voxel/figure/head/head_human_female.vox differ diff --git a/assets/voxygen/voxel/object/campfire.vox b/assets/voxygen/voxel/object/campfire.vox new file mode 100644 index 0000000000..d72cab43e7 Binary files /dev/null and b/assets/voxygen/voxel/object/campfire.vox differ diff --git a/assets/voxygen/voxel/object/chest.vox b/assets/voxygen/voxel/object/chest.vox new file mode 100644 index 0000000000..bc35f6bb4d Binary files /dev/null and b/assets/voxygen/voxel/object/chest.vox differ diff --git a/assets/voxygen/voxel/object/chest_dark.vox b/assets/voxygen/voxel/object/chest_dark.vox new file mode 100644 index 0000000000..4b5dfccb3c Binary files /dev/null and b/assets/voxygen/voxel/object/chest_dark.vox differ diff --git a/assets/voxygen/voxel/object/chest_demon.vox b/assets/voxygen/voxel/object/chest_demon.vox new file mode 100644 index 0000000000..39287ae1e3 Binary files /dev/null and b/assets/voxygen/voxel/object/chest_demon.vox differ diff --git a/assets/voxygen/voxel/object/chest_gold.vox b/assets/voxygen/voxel/object/chest_gold.vox new file mode 100644 index 0000000000..4307ebfe8c Binary files /dev/null and b/assets/voxygen/voxel/object/chest_gold.vox differ diff --git a/assets/voxygen/voxel/object/chest_light.vox b/assets/voxygen/voxel/object/chest_light.vox new file mode 100644 index 0000000000..5bb6fdaf20 Binary files /dev/null and b/assets/voxygen/voxel/object/chest_light.vox differ diff --git a/assets/voxygen/voxel/object/chest_open.vox b/assets/voxygen/voxel/object/chest_open.vox new file mode 100644 index 0000000000..657fae79b3 Binary files /dev/null and b/assets/voxygen/voxel/object/chest_open.vox differ diff --git a/assets/voxygen/voxel/object/chest_skull.vox b/assets/voxygen/voxel/object/chest_skull.vox new file mode 100644 index 0000000000..a2d08e8cde Binary files /dev/null and b/assets/voxygen/voxel/object/chest_skull.vox differ diff --git a/assets/voxygen/voxel/object/chest_vines.vox b/assets/voxygen/voxel/object/chest_vines.vox index 3827ab5450..af399908ad 100644 Binary files a/assets/voxygen/voxel/object/chest_vines.vox and b/assets/voxygen/voxel/object/chest_vines.vox differ diff --git a/assets/voxygen/voxel/object/crate.vox b/assets/voxygen/voxel/object/crate.vox new file mode 100644 index 0000000000..f8fd58e6af Binary files /dev/null and b/assets/voxygen/voxel/object/crate.vox differ diff --git a/assets/voxygen/voxel/object/lantern_ground.vox b/assets/voxygen/voxel/object/lantern_ground.vox new file mode 100644 index 0000000000..6b36b2e091 Binary files /dev/null and b/assets/voxygen/voxel/object/lantern_ground.vox differ diff --git a/assets/voxygen/voxel/object/lantern_ground_open.vox b/assets/voxygen/voxel/object/lantern_ground_open.vox new file mode 100644 index 0000000000..1cf2977634 Binary files /dev/null and b/assets/voxygen/voxel/object/lantern_ground_open.vox differ diff --git a/assets/voxygen/voxel/object/lantern_standing.vox b/assets/voxygen/voxel/object/lantern_standing.vox new file mode 100644 index 0000000000..9f6f149dc7 Binary files /dev/null and b/assets/voxygen/voxel/object/lantern_standing.vox differ diff --git a/assets/voxygen/voxel/object/lantern_standing_2.vox b/assets/voxygen/voxel/object/lantern_standing_2.vox new file mode 100644 index 0000000000..586784bfa9 Binary files /dev/null and b/assets/voxygen/voxel/object/lantern_standing_2.vox differ diff --git a/assets/voxygen/voxel/object/pumpkin.vox b/assets/voxygen/voxel/object/pumpkin.vox deleted file mode 100644 index 89ca4c074b..0000000000 Binary files a/assets/voxygen/voxel/object/pumpkin.vox and /dev/null differ diff --git a/assets/voxygen/voxel/object/pumpkin1.vox b/assets/voxygen/voxel/object/pumpkin1.vox new file mode 100644 index 0000000000..c04eb664da Binary files /dev/null and b/assets/voxygen/voxel/object/pumpkin1.vox differ diff --git a/assets/voxygen/voxel/object/pumpkin2.vox b/assets/voxygen/voxel/object/pumpkin2.vox new file mode 100644 index 0000000000..06e2331e17 Binary files /dev/null and b/assets/voxygen/voxel/object/pumpkin2.vox differ diff --git a/assets/voxygen/voxel/object/pumpkin3.vox b/assets/voxygen/voxel/object/pumpkin3.vox new file mode 100644 index 0000000000..95755ee8e6 Binary files /dev/null and b/assets/voxygen/voxel/object/pumpkin3.vox differ diff --git a/assets/voxygen/voxel/object/pumpkin4.vox b/assets/voxygen/voxel/object/pumpkin4.vox new file mode 100644 index 0000000000..0116f5d9f2 Binary files /dev/null and b/assets/voxygen/voxel/object/pumpkin4.vox differ diff --git a/assets/voxygen/voxel/object/pumpkin5.vox b/assets/voxygen/voxel/object/pumpkin5.vox new file mode 100644 index 0000000000..a8ea1bfc8e Binary files /dev/null and b/assets/voxygen/voxel/object/pumpkin5.vox differ diff --git a/common/src/comp/body/object.rs b/common/src/comp/body/object.rs index 54133c9f0a..659583a2f0 100644 --- a/common/src/comp/body/object.rs +++ b/common/src/comp/body/object.rs @@ -4,8 +4,28 @@ use rand::{seq::SliceRandom, thread_rng}; pub enum Body { Bomb, Scarecrow, + ChestVines, Chest, - Pumpkin, + ChestDark, + ChestDemon, + ChestGold, + ChestLight, + ChestOpen, + ChestSkull, + Pumpkin1, + Pumpkin2, + Pumpkin3, + Pumpkin4, + Pumpkin5, + Campfire, + LanternGround, + LanternGroundOpen, + LanternStanding2, + LanternStanding, + PotionBlue, + PotionGreen, + PotionRed, + Crate, } impl Body { @@ -15,4 +35,29 @@ impl Body { } } -const ALL_OBJECTS: [Body; 4] = [Body::Bomb, Body::Scarecrow, Body::Chest, Body::Pumpkin]; +const ALL_OBJECTS: [Body; 24] = [ + Body::Bomb, + Body::Scarecrow, + Body::ChestVines, + Body::Chest, + Body::ChestDark, + Body::ChestDemon, + Body::ChestGold, + Body::ChestLight, + Body::ChestOpen, + Body::ChestSkull, + Body::Pumpkin1, + Body::Pumpkin2, + Body::Pumpkin3, + Body::Pumpkin4, + Body::Pumpkin5, + Body::Campfire, + Body::LanternGround, + Body::LanternGroundOpen, + Body::LanternStanding, + Body::LanternStanding2, + Body::PotionRed, + Body::PotionBlue, + Body::PotionGreen, + Body::Crate, +]; diff --git a/voxygen/src/scene/figure.rs b/voxygen/src/scene/figure.rs index 182b40fe1d..3185282d06 100644 --- a/voxygen/src/scene/figure.rs +++ b/voxygen/src/scene/figure.rs @@ -513,15 +513,41 @@ impl FigureModelCache { } fn load_object(obj: object::Body) -> Mesh { - Self::load_mesh( - match obj { - object::Body::Bomb => "object/bomb.vox", - object::Body::Scarecrow => "object/scarecrow.vox", - object::Body::Chest => "object/chest_vines.vox", - object::Body::Pumpkin => "object/pumpkin.vox", - }, - Vec3::new(-3.5, -3.5, 0.0), - ) + let (name, offset) = match obj { + object::Body::Bomb => ("object/bomb.vox", Vec3::new(-5.5, -5.5, 0.0)), + object::Body::Scarecrow => ("object/scarecrow.vox", Vec3::new(-9.5, -4.0, 0.0)), + object::Body::ChestVines => ("object/chest_vines.vox", Vec3::new(-7.5, -6.0, 0.0)), + object::Body::Chest => ("object/chest.vox", Vec3::new(-7.5, -6.0, 0.0)), + object::Body::ChestDark => ("object/chest_dark.vox", Vec3::new(-7.5, -6.0, 0.0)), + object::Body::ChestDemon => ("object/chest_demon.vox", Vec3::new(-7.5, -6.0, 0.0)), + object::Body::ChestGold => ("object/chest_gold.vox", Vec3::new(-7.5, -6.0, 0.0)), + object::Body::ChestLight => ("object/chest_light.vox", Vec3::new(-7.5, -6.0, 0.0)), + object::Body::ChestOpen => ("object/chest_open.vox", Vec3::new(-7.5, -6.0, 0.0)), + object::Body::ChestSkull => ("object/chest_skull.vox", Vec3::new(-7.5, -6.0, 0.0)), + object::Body::Pumpkin1 => ("object/pumpkin1.vox", Vec3::new(-5.5, -4.0, 0.0)), + object::Body::Pumpkin2 => ("object/pumpkin2.vox", Vec3::new(-5.0, -4.0, 0.0)), + object::Body::Pumpkin3 => ("object/pumpkin3.vox", Vec3::new(-5.0, -4.0, 0.0)), + object::Body::Pumpkin4 => ("object/pumpkin4.vox", Vec3::new(-5.0, -4.0, 0.0)), + object::Body::Pumpkin5 => ("object/pumpkin5.vox", Vec3::new(-4.0, -5.0, 0.0)), + object::Body::Campfire => ("object/campfire.vox", Vec3::new(-9.0, -10.0, 0.0)), + object::Body::LanternGround => { + ("object/lantern_ground.vox", Vec3::new(-3.5, -3.5, 0.0)) + } + object::Body::LanternGroundOpen => { + ("object/lantern_ground_open.vox", Vec3::new(-3.5, -3.5, 0.0)) + } + object::Body::LanternStanding => { + ("object/lantern_standing.vox", Vec3::new(-7.5, -3.5, 0.0)) + } + object::Body::LanternStanding2 => { + ("object/lantern_standing_2.vox", Vec3::new(-11.5, -3.5, 0.0)) + } + object::Body::PotionRed => ("object/potion_red.vox", Vec3::new(-2.0, -2.0, 0.0)), + object::Body::PotionBlue => ("object/potion_blue.vox", Vec3::new(-2.0, -2.0, 0.0)), + object::Body::PotionGreen => ("object/potion_green.vox", Vec3::new(-2.0, -2.0, 0.0)), + object::Body::Crate => ("object/crate.vox", Vec3::new(-7.0, -7.0, 0.0)), + }; + Self::load_mesh(name, offset) } }