From ae4c569fc923c9d9ca7290f715a2760ff9d9b510 Mon Sep 17 00:00:00 2001 From: Monty Marz Date: Sun, 21 Jul 2019 23:54:31 +0000 Subject: [PATCH] Static entities: Per model offsets, more models --- .../voxel/figure/head/head_human_female.vox | 2 +- assets/voxygen/voxel/object/campfire.vox | 3 ++ assets/voxygen/voxel/object/chest.vox | 3 ++ assets/voxygen/voxel/object/chest_dark.vox | 3 ++ assets/voxygen/voxel/object/chest_demon.vox | 3 ++ assets/voxygen/voxel/object/chest_gold.vox | 3 ++ assets/voxygen/voxel/object/chest_light.vox | 3 ++ assets/voxygen/voxel/object/chest_open.vox | 3 ++ assets/voxygen/voxel/object/chest_skull.vox | 3 ++ assets/voxygen/voxel/object/chest_vines.vox | 4 +- assets/voxygen/voxel/object/crate.vox | 3 ++ .../voxygen/voxel/object/lantern_ground.vox | 3 ++ .../voxel/object/lantern_ground_open.vox | 3 ++ .../voxygen/voxel/object/lantern_standing.vox | 3 ++ .../voxel/object/lantern_standing_2.vox | 3 ++ assets/voxygen/voxel/object/pumpkin.vox | 3 -- assets/voxygen/voxel/object/pumpkin1.vox | 3 ++ assets/voxygen/voxel/object/pumpkin2.vox | 3 ++ assets/voxygen/voxel/object/pumpkin3.vox | 3 ++ assets/voxygen/voxel/object/pumpkin4.vox | 3 ++ assets/voxygen/voxel/object/pumpkin5.vox | 3 ++ common/src/comp/body/object.rs | 49 ++++++++++++++++++- voxygen/src/scene/figure.rs | 44 +++++++++++++---- 23 files changed, 139 insertions(+), 17 deletions(-) create mode 100644 assets/voxygen/voxel/object/campfire.vox create mode 100644 assets/voxygen/voxel/object/chest.vox create mode 100644 assets/voxygen/voxel/object/chest_dark.vox create mode 100644 assets/voxygen/voxel/object/chest_demon.vox create mode 100644 assets/voxygen/voxel/object/chest_gold.vox create mode 100644 assets/voxygen/voxel/object/chest_light.vox create mode 100644 assets/voxygen/voxel/object/chest_open.vox create mode 100644 assets/voxygen/voxel/object/chest_skull.vox create mode 100644 assets/voxygen/voxel/object/crate.vox create mode 100644 assets/voxygen/voxel/object/lantern_ground.vox create mode 100644 assets/voxygen/voxel/object/lantern_ground_open.vox create mode 100644 assets/voxygen/voxel/object/lantern_standing.vox create mode 100644 assets/voxygen/voxel/object/lantern_standing_2.vox delete mode 100644 assets/voxygen/voxel/object/pumpkin.vox create mode 100644 assets/voxygen/voxel/object/pumpkin1.vox create mode 100644 assets/voxygen/voxel/object/pumpkin2.vox create mode 100644 assets/voxygen/voxel/object/pumpkin3.vox create mode 100644 assets/voxygen/voxel/object/pumpkin4.vox create mode 100644 assets/voxygen/voxel/object/pumpkin5.vox diff --git a/assets/voxygen/voxel/figure/head/head_human_female.vox b/assets/voxygen/voxel/figure/head/head_human_female.vox index 9efc0277a4..b2101525af 100644 --- a/assets/voxygen/voxel/figure/head/head_human_female.vox +++ b/assets/voxygen/voxel/figure/head/head_human_female.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16c2d3311840711fbcacb9db74e1c2fba9c18703112e63717160be4d7ed85be1 +oid sha256:d726a4222223370135a1ec642952c16b82352753befbb057df1425090d682cc0 size 48275 diff --git a/assets/voxygen/voxel/object/campfire.vox b/assets/voxygen/voxel/object/campfire.vox new file mode 100644 index 0000000000..5954a62edc --- /dev/null +++ b/assets/voxygen/voxel/object/campfire.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:114109dbfb927d4506f9f4ef81947ddf5378ce1430caf1f736c2b6738aeff08c +size 4648 diff --git a/assets/voxygen/voxel/object/chest.vox b/assets/voxygen/voxel/object/chest.vox new file mode 100644 index 0000000000..5e6fe09e6d --- /dev/null +++ b/assets/voxygen/voxel/object/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:964619ec04d1d799d37fd4f7e6f7a9ff330cf10172baed9d551542172e7be84e +size 5092 diff --git a/assets/voxygen/voxel/object/chest_dark.vox b/assets/voxygen/voxel/object/chest_dark.vox new file mode 100644 index 0000000000..d46c0c1563 --- /dev/null +++ b/assets/voxygen/voxel/object/chest_dark.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e31c3e53a5df23ac194dee70496d73d56a12966889acfb87ac94173a5672f83e +size 4720 diff --git a/assets/voxygen/voxel/object/chest_demon.vox b/assets/voxygen/voxel/object/chest_demon.vox new file mode 100644 index 0000000000..aa213775bf --- /dev/null +++ b/assets/voxygen/voxel/object/chest_demon.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1e58917b892e8209484b8f0596b97ad0a6b7dee17916eac06d66fa4fdeac332 +size 4712 diff --git a/assets/voxygen/voxel/object/chest_gold.vox b/assets/voxygen/voxel/object/chest_gold.vox new file mode 100644 index 0000000000..78f23a17bc --- /dev/null +++ b/assets/voxygen/voxel/object/chest_gold.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9e3e07cbcd142777f0ffbfc5a1d03ed278c37a7f15bf28052146d50376135d0 +size 4720 diff --git a/assets/voxygen/voxel/object/chest_light.vox b/assets/voxygen/voxel/object/chest_light.vox new file mode 100644 index 0000000000..fdb9bc30c3 --- /dev/null +++ b/assets/voxygen/voxel/object/chest_light.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97c3df0823abea550fae4a8346961e5ced496629328c476391c8f2c2d6410075 +size 4720 diff --git a/assets/voxygen/voxel/object/chest_open.vox b/assets/voxygen/voxel/object/chest_open.vox new file mode 100644 index 0000000000..a5d24d625c --- /dev/null +++ b/assets/voxygen/voxel/object/chest_open.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b00b6770dc363023ca456a5ed7d751093d544d541f12fc4ea5d113af731e6bb3 +size 6672 diff --git a/assets/voxygen/voxel/object/chest_skull.vox b/assets/voxygen/voxel/object/chest_skull.vox new file mode 100644 index 0000000000..36bbba84aa --- /dev/null +++ b/assets/voxygen/voxel/object/chest_skull.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:597406e569312f237439d8c6b51fe1ace98b499dfe2cbc95566dee3ad1c037d4 +size 4708 diff --git a/assets/voxygen/voxel/object/chest_vines.vox b/assets/voxygen/voxel/object/chest_vines.vox index 84c2246688..418c3cb5dc 100644 --- a/assets/voxygen/voxel/object/chest_vines.vox +++ b/assets/voxygen/voxel/object/chest_vines.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0880df2a7d1dc0e018f5e638dfa22c660ee9995ac4683e13fda15b3d7d8c9bfe -size 59380 +oid sha256:8e0fc1699b25c1ac778001d6a9c498700abbe2a5a1ce9ef9ac7b0136c8db0043 +size 4996 diff --git a/assets/voxygen/voxel/object/crate.vox b/assets/voxygen/voxel/object/crate.vox new file mode 100644 index 0000000000..13c53699a1 --- /dev/null +++ b/assets/voxygen/voxel/object/crate.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ff9a7415ce335019e74384a1da24d0db2bf96d9e2a318b8c6c55c4e1539b2e7 +size 52827 diff --git a/assets/voxygen/voxel/object/lantern_ground.vox b/assets/voxygen/voxel/object/lantern_ground.vox new file mode 100644 index 0000000000..29746dc9dd --- /dev/null +++ b/assets/voxygen/voxel/object/lantern_ground.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13073509569a24617d3dc42d323493be6d8a7e9cfae1cc928ec16d8f22a6c89e +size 45135 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..1fa33490fb --- /dev/null +++ b/assets/voxygen/voxel/object/lantern_ground_open.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:731339f131b1a59900d827f2ed26ba553a1beb09136f0112abc2f5ec74949982 +size 44791 diff --git a/assets/voxygen/voxel/object/lantern_standing.vox b/assets/voxygen/voxel/object/lantern_standing.vox new file mode 100644 index 0000000000..bf7497401a --- /dev/null +++ b/assets/voxygen/voxel/object/lantern_standing.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b54d15b34e42a613fd1d90ff62f0cded7ee7cd1db0853c2e28a25572752df9d +size 49334 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..58f2f0e1d0 --- /dev/null +++ b/assets/voxygen/voxel/object/lantern_standing_2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c613adb439de0a8cfab026f89d97a0df1c6a465e1321becd91128a09e38453b0 +size 50431 diff --git a/assets/voxygen/voxel/object/pumpkin.vox b/assets/voxygen/voxel/object/pumpkin.vox deleted file mode 100644 index 7e1febc722..0000000000 --- a/assets/voxygen/voxel/object/pumpkin.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:445a6a547292bce77cb09e2c70588405d0995b06c339eb34f6f551620c3f1546 -size 57041 diff --git a/assets/voxygen/voxel/object/pumpkin1.vox b/assets/voxygen/voxel/object/pumpkin1.vox new file mode 100644 index 0000000000..6d406220d0 --- /dev/null +++ b/assets/voxygen/voxel/object/pumpkin1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6609b77d07e74b2dd5222a465f0698740fa39d1771bff64cb5365f26f376d72 +size 45676 diff --git a/assets/voxygen/voxel/object/pumpkin2.vox b/assets/voxygen/voxel/object/pumpkin2.vox new file mode 100644 index 0000000000..34ec74a7d0 --- /dev/null +++ b/assets/voxygen/voxel/object/pumpkin2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42e348d35023976eea5e3a6fd0f669a95e1b139a58ed5200c0ebb9820dbb54ef +size 45720 diff --git a/assets/voxygen/voxel/object/pumpkin3.vox b/assets/voxygen/voxel/object/pumpkin3.vox new file mode 100644 index 0000000000..b36fcf376b --- /dev/null +++ b/assets/voxygen/voxel/object/pumpkin3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:379de50a57739e51fc9d6782ddb5378cd42ed14748043d06e0a5c4ee2f3c4476 +size 45688 diff --git a/assets/voxygen/voxel/object/pumpkin4.vox b/assets/voxygen/voxel/object/pumpkin4.vox new file mode 100644 index 0000000000..da2c128131 --- /dev/null +++ b/assets/voxygen/voxel/object/pumpkin4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eab7e45966b3dfc58d597d862b2501de0fe4c35400f4d54eeff7382f534da82f +size 45700 diff --git a/assets/voxygen/voxel/object/pumpkin5.vox b/assets/voxygen/voxel/object/pumpkin5.vox new file mode 100644 index 0000000000..977bb144e3 --- /dev/null +++ b/assets/voxygen/voxel/object/pumpkin5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:525fed83b20342435c4e6e60ec52eaac25d83deb616958d8ddb2a6af8dad2ff2 +size 45724 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) } }