diff --git a/assets/voxygen/voxel/sprite/cacti/barrel_cactus.vox b/assets/voxygen/voxel/sprite/cacti/barrel_cactus.vox index 0d30102473..7705bca145 100644 --- a/assets/voxygen/voxel/sprite/cacti/barrel_cactus.vox +++ b/assets/voxygen/voxel/sprite/cacti/barrel_cactus.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d01fa15cbbe663a2bce6e603b5cfa301177eae6d5b77d8342c37c25914ebcdb4 -size 3012 +oid sha256:6fbc3df155a39bc88f47480e6f5ee357ec1dfdd76367f9ffc6b33fd8814b0d7b +size 24138 diff --git a/assets/voxygen/voxel/sprite/cacti/cactus_barrel_flower.vox b/assets/voxygen/voxel/sprite/cacti/cactus_barrel_flower.vox new file mode 100644 index 0000000000..fc7dc67885 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cacti/cactus_barrel_flower.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70fce37c59f71d0b90e7ed6bedd4d808b28a27323f74f1dbe5fb6c3ab37417b2 +size 24188 diff --git a/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_1.vox b/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_1.vox new file mode 100644 index 0000000000..7d09bfecc1 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfa91e4a989463bf746cd7d6ca3d2487ab749358ad54c75b70b22b23f0c1ce8b +size 32940 diff --git a/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_1_flower.vox b/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_1_flower.vox new file mode 100644 index 0000000000..75b26b00df --- /dev/null +++ b/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_1_flower.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50cb5f8707679730c3966f7668a29dd2d8826a24c5d1bd554958f7488358a096 +size 33009 diff --git a/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_2.vox b/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_2.vox new file mode 100644 index 0000000000..eece74a26b --- /dev/null +++ b/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16da2bc27651ef7d310ca859f7f18fa482470cc93b157ec06c859be1e28df1cd +size 36229 diff --git a/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_2_flower.vox b/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_2_flower.vox new file mode 100644 index 0000000000..ebea7b7947 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cacti/cactus_branch_large_2_flower.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c098fcfcececb6b5909ef2268f0aa40a8eb827624cb61058500ecd225e328d58 +size 36365 diff --git a/assets/voxygen/voxel/sprite/cacti/cactus_round.vox b/assets/voxygen/voxel/sprite/cacti/cactus_round.vox index a8552fc18d..6a1592d7db 100644 --- a/assets/voxygen/voxel/sprite/cacti/cactus_round.vox +++ b/assets/voxygen/voxel/sprite/cacti/cactus_round.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0ee7ed801ba8a7cae2767eb46571d366f3961a1f24a8691e4313080941d2f911 -size 1700 +oid sha256:8ee5201a6c1a5c16766eea40a3be6794dda3e3546fa32e9bad516534cef68f5f +size 22320 diff --git a/assets/voxygen/voxel/sprite/cacti/cactus_short.vox b/assets/voxygen/voxel/sprite/cacti/cactus_short.vox index 66e9702e89..725676b9a5 100644 --- a/assets/voxygen/voxel/sprite/cacti/cactus_short.vox +++ b/assets/voxygen/voxel/sprite/cacti/cactus_short.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ffdaaae693723e3ba1817bef3de422eba68c9f37d84fd5fd931e074e92b928b -size 4820 +oid sha256:94f5212b0cae151cd27944fd952f11131bb3a7f426af72cd56f461827ada7d4a +size 26174 diff --git a/assets/voxygen/voxel/sprite/cacti/flat_cactus_med.vox b/assets/voxygen/voxel/sprite/cacti/flat_cactus_med.vox index 132f0de467..870e22e67a 100644 --- a/assets/voxygen/voxel/sprite/cacti/flat_cactus_med.vox +++ b/assets/voxygen/voxel/sprite/cacti/flat_cactus_med.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07dd77b78992b7e506734d4bbaa49d07e678fedf2b4140db38c5ec988ca9a5c7 -size 1456 +oid sha256:52eb96143b602f01720eb05e6fc8df84c827c3caf9c2cba2654e24003b222f26 +size 22220 diff --git a/assets/voxygen/voxel/sprite/cacti/flat_cactus_short.vox b/assets/voxygen/voxel/sprite/cacti/flat_cactus_short.vox index 5cc8cf92e2..4bc9be5abf 100644 --- a/assets/voxygen/voxel/sprite/cacti/flat_cactus_short.vox +++ b/assets/voxygen/voxel/sprite/cacti/flat_cactus_short.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d27ad1c604a82427ea516400f18c064382e3591ec0881714009e09054d05d13 -size 1272 +oid sha256:6104828081294a030a02ca8d92561d7840af367c23d08af2181a8bb1ac9a117e +size 21908 diff --git a/assets/voxygen/voxel/sprite/cacti/large_cactus.vox b/assets/voxygen/voxel/sprite/cacti/large_cactus.vox index 40105bb2b4..b505a8bdf4 100644 --- a/assets/voxygen/voxel/sprite/cacti/large_cactus.vox +++ b/assets/voxygen/voxel/sprite/cacti/large_cactus.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed6966ba7cfd2baa44720616ccc580d6d1eaec877e908674c7dbe329390dc292 -size 14248 +oid sha256:5f5e9424d35678637c25fa28d8d29b68c8c463419310232bd7221732ed03ad68 +size 32971 diff --git a/assets/voxygen/voxel/sprite/cacti/tall.vox b/assets/voxygen/voxel/sprite/cacti/tall.vox index b2cd3cc605..a819d0c153 100644 --- a/assets/voxygen/voxel/sprite/cacti/tall.vox +++ b/assets/voxygen/voxel/sprite/cacti/tall.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8f66395ca29e05a8da4234b49922a0560a01360e4a003cea70cc5edc87e8488 -size 3244 +oid sha256:30187c2b9e730d4c490b8c48f9c06937219669915451dd39ed52cf08d8dc76e3 +size 24325 diff --git a/assets/voxygen/voxel/sprite/cacti/tall2.vox b/assets/voxygen/voxel/sprite/cacti/tall2.vox new file mode 100644 index 0000000000..461cc06c27 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cacti/tall2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc679dcfebe7d23e021b57efd6bf8aa2e0a42fc0faacd1a0979020b097f2da06 +size 27029 diff --git a/assets/voxygen/voxel/sprite_manifest.ron b/assets/voxygen/voxel/sprite_manifest.ron index d93dcec34e..13e99dcab2 100644 --- a/assets/voxygen/voxel/sprite_manifest.ron +++ b/assets/voxygen/voxel/sprite_manifest.ron @@ -44,25 +44,61 @@ Window4: Some(( wind_sway: 0.0, )), // Cacti -LargeCactus: Some(( +BarrelCactus: Some(( variations: [ ( - model: "voxygen.voxel.sprite.cacti.large_cactus", - offset: (-13.5, -5.5, 0.0), + model: "voxygen.voxel.sprite.cacti.barrel_cactus", + offset: (-6.0, -6.0, 0.0), lod_axes: (1.0, 1.0, 1.0), ), - ( - model: "voxygen.voxel.sprite.cacti.tall", + ( + model: "voxygen.voxel.sprite.cacti.cactus_barrel_flower", offset: (-6.0, -6.0, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ], wind_sway: 0.0, )), -BarrelCactus: Some(( +LargeCactus: Some(( variations: [ ( - model: "voxygen.voxel.sprite.cacti.barrel_cactus", + model: "voxygen.voxel.sprite.cacti.large_cactus", + offset: (-12.5, -4.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cacti.cactus_branch_large_1", + offset: (-2.5, -3.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cacti.cactus_branch_large_2", + offset: (-11.5, -3.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + + ), + ( + model: "voxygen.voxel.sprite.cacti.cactus_branch_large_1_flower", + offset: (-2.5, -3.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cacti.cactus_branch_large_2_flower", + offset: (-11.5, -3.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ], + wind_sway: 0.0, +)), +TallCactus: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cacti.tall", + offset: (-6.0, -6.0, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cacti.tall2", offset: (-6.0, -6.0, 0.0), lod_axes: (1.0, 1.0, 1.0), ), @@ -73,7 +109,7 @@ RoundCactus: Some(( variations: [ ( model: "voxygen.voxel.sprite.cacti.cactus_round", - offset: (-6.0, -6.0, 0.0), + offset: (-4.5, -4.5, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ], @@ -83,7 +119,7 @@ ShortCactus: Some(( variations: [ ( model: "voxygen.voxel.sprite.cacti.cactus_short", - offset: (-6.0, -6.0, 0.0), + offset: (-10.5, -4.5, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ], @@ -93,7 +129,7 @@ MedFlatCactus: Some(( variations: [ ( model: "voxygen.voxel.sprite.cacti.flat_cactus_med", - offset: (-6.0, -6.0, 0.0), + offset: (-6.0, -2.0, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ], @@ -103,7 +139,7 @@ ShortFlatCactus: Some(( variations: [ ( model: "voxygen.voxel.sprite.cacti.flat_cactus_short", - offset: (-6.0, -6.0, 0.0), + offset: (-6.0, -2.0, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ], diff --git a/common/src/terrain/sprite.rs b/common/src/terrain/sprite.rs index e0127dc418..9918ddc3b5 100644 --- a/common/src/terrain/sprite.rs +++ b/common/src/terrain/sprite.rs @@ -253,6 +253,7 @@ make_case_elim!( GlowIceCrystal = 0xE1, OneWayWall = 0xE2, GlassKeyhole = 0xE3, + TallCactus = 0xE4, } ); @@ -266,7 +267,9 @@ impl SpriteKind { SpriteKind::BedrollSnow => 0.4, SpriteKind::BedrollPirate => 0.3, SpriteKind::Tomato => 1.65, - SpriteKind::LargeCactus => 2.5, + SpriteKind::BarrelCactus => 1.0, + SpriteKind::LargeCactus => 3.0, + SpriteKind::TallCactus => 2.5, SpriteKind::Scarecrow => 3.0, SpriteKind::Turnip => 0.36, SpriteKind::Pumpkin => 0.81, @@ -323,8 +326,7 @@ impl SpriteKind { SpriteKind::IceSpike => 1.0, SpriteKind::RepairBench => 1.2, // TODO: Find suitable heights. - SpriteKind::BarrelCactus - | SpriteKind::RoundCactus + SpriteKind::RoundCactus | SpriteKind::ShortCactus | SpriteKind::MedFlatCactus | SpriteKind::ShortFlatCactus diff --git a/world/src/layer/scatter.rs b/world/src/layer/scatter.rs index f5ef44914b..f446729b79 100644 --- a/world/src/layer/scatter.rs +++ b/world/src/layer/scatter.rs @@ -576,13 +576,35 @@ pub fn apply_scatter_to(canvas: &mut Canvas, _rng: &mut impl Rng, calendar: Opti ) }, }, + ScatterConfig { + kind: BarrelCactus, + water_mode: Ground, + permit: |b| matches!(b, BlockKind::Grass), + f: |_, col| { + ( + close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 2.0, + None, + ) + }, + }, + ScatterConfig { + kind: TallCactus, + water_mode: Ground, + permit: |b| matches!(b, BlockKind::Grass), + f: |_, col| { + ( + close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 1.5, + None, + ) + }, + }, ScatterConfig { kind: RoundCactus, water_mode: Ground, permit: |b| matches!(b, BlockKind::Grass), f: |_, col| { ( - close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 2.5, + close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 2.0, None, ) }, @@ -593,7 +615,7 @@ pub fn apply_scatter_to(canvas: &mut Canvas, _rng: &mut impl Rng, calendar: Opti permit: |b| matches!(b, BlockKind::Grass), f: |_, col| { ( - close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 2.5, + close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 2.0, None, ) }, @@ -604,7 +626,7 @@ pub fn apply_scatter_to(canvas: &mut Canvas, _rng: &mut impl Rng, calendar: Opti permit: |b| matches!(b, BlockKind::Grass), f: |_, col| { ( - close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 2.5, + close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 2.0, None, ) }, @@ -615,7 +637,7 @@ pub fn apply_scatter_to(canvas: &mut Canvas, _rng: &mut impl Rng, calendar: Opti permit: |b| matches!(b, BlockKind::Grass), f: |_, col| { ( - close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 2.5, + close(col.temp, 1.0, 0.25).min(close(col.humidity, 0.0, 0.1)) * MUSH_FACT * 2.0, None, ) },