diff --git a/assets/voxygen/shaders/sprite-vert.glsl b/assets/voxygen/shaders/sprite-vert.glsl index 7da031a16c..d518ab10db 100644 --- a/assets/voxygen/shaders/sprite-vert.glsl +++ b/assets/voxygen/shaders/sprite-vert.glsl @@ -185,7 +185,7 @@ void main() { sin(tick.x * 1.5 + f_pos.y * 0.1) * sin(tick.x * 0.35), sin(tick.x * 1.5 + f_pos.x * 0.1) * sin(tick.x * 0.25), 0.0 - ) * pow(abs(v_pos_.z/* + sprites[0].offs.z*/)/* * SCALE*/, 1.3) * /*0.2;*/SCALE_FACTOR; + ) * 4 * v_pos_.z * /*0.2;*/SCALE_FACTOR; } // First 3 normals are negative, next 3 are positive diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna-0.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna-0.vox new file mode 100644 index 0000000000..4943e2c589 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:811a663c878e1a6b0f6cc7bc5e04edf5d13e91087660210071df6dc95b79429d +size 1384 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna-1.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna-1.vox new file mode 100644 index 0000000000..1b10c31a1d --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a93df266b154915532cc88b77e9beb8c2ec743e3ab97dec9815d503b8a65d3b8 +size 1808 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna-2.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna-2.vox new file mode 100644 index 0000000000..55dc5b0b60 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4255b92f385bc0d9ffe9cd8b8486e70e27b199271dc38452f15b9c8f4c05c55c +size 1596 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna-3.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna-3.vox new file mode 100644 index 0000000000..6186f38033 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78c25398bc0ebd864b3e355f425aaa841ab2dc91660c39e0fe6d13ebd224b7e2 +size 1636 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna-4.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna-4.vox new file mode 100644 index 0000000000..19b668bbf4 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3169519ff7303b94608d476c0ca3715162f1b39e8f63fc3787363bcdbb5c375f +size 1464 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna-5.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna-5.vox new file mode 100644 index 0000000000..6812e17100 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b671df1f696fbec040327e4db374434275af36bc5cee78948917a24c8ef86f43 +size 1608 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna-6.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna-6.vox new file mode 100644 index 0000000000..833cff3866 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna-6.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:005dd8a31c911b5e77b8bdae19bc67bf02a6212871a8b8b7379012e7b906c843 +size 1548 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_red-0.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_red-0.vox new file mode 100644 index 0000000000..3dfcce8a3d --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_red-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5a951deae29ad29ac501f1c2147ad059b6389a2c968e6cd6041e1aef2b3bba8 +size 1472 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_red-1.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_red-1.vox new file mode 100644 index 0000000000..563c1da925 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_red-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26b6321746ff78ac3512a52046d6466e77ea3615802e9dc280417f1865c1752f +size 1636 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_red-2.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_red-2.vox new file mode 100644 index 0000000000..12d72135ac --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_red-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd75d78ea1bfb74a6033ca6d5811ad6f8642ff3bb1b823656d14de531ee6b74 +size 1652 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_red-3.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_red-3.vox new file mode 100644 index 0000000000..fc32e8aefa --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_red-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc2ed9cce8f0098501f23bf10acdd31e832c22934e478fa076f6f97ac84f0e32 +size 1660 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-0.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-0.vox new file mode 100644 index 0000000000..39fa1418f9 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8c576edfb6f8848846eaebb250a12ac93bfd1cf3dd40ad697a551298524b16b +size 1660 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-1.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-1.vox new file mode 100644 index 0000000000..843f4da896 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8325d84695afbda02c0b763cedc3a66f8f91e1aad10ac112b52dd701987537e +size 1624 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-2.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-2.vox new file mode 100644 index 0000000000..f105b8cde2 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81dc402c1df026671d678dfc0dd10ef798d3a2c2007131dc436709f8da8b5a58 +size 1648 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-3.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-3.vox new file mode 100644 index 0000000000..a1098b85b5 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53c00a687092d7ba80085b4c456ddf36d12843341180d2dc89b8645ed6e70d16 +size 1852 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-4.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-4.vox new file mode 100644 index 0000000000..85ef9694c4 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12ea7a8ba9dab53a38e8285296954ce758c27d9d498542ccf4b3af9e115db23f +size 1784 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-5.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-5.vox new file mode 100644 index 0000000000..2430ed5d23 --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8772636f5cf828c89aadb3aaefeee854f39e7fa47c4874e02c6dfac2c6a5ab7f +size 1860 diff --git a/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-6.vox b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-6.vox new file mode 100644 index 0000000000..f1606fea9a --- /dev/null +++ b/assets/voxygen/voxel/sprite/grass/grass_savanna_tall-6.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e736b1b428ad55d20e407a02cac3519aca095dfe687bc0194c8156c053c1b620 +size 1840 diff --git a/assets/voxygen/voxel/sprite/savanna_bush/1.vox b/assets/voxygen/voxel/sprite/savanna_bush/1.vox new file mode 100644 index 0000000000..0632c9d333 --- /dev/null +++ b/assets/voxygen/voxel/sprite/savanna_bush/1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:635e29cb5e908718090e1aba7eb32a297aa57a98cd67e8e271b6de02a9a0631b +size 3796 diff --git a/assets/voxygen/voxel/sprite/savanna_bush/2.vox b/assets/voxygen/voxel/sprite/savanna_bush/2.vox new file mode 100644 index 0000000000..07ae823545 --- /dev/null +++ b/assets/voxygen/voxel/sprite/savanna_bush/2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74d24dabf5a72ccd6961b4fa70d0484fb705d6adc0d5905ee8fec625e16cfb86 +size 3360 diff --git a/assets/voxygen/voxel/sprite/savanna_bush/3.vox b/assets/voxygen/voxel/sprite/savanna_bush/3.vox new file mode 100644 index 0000000000..330f284f2d --- /dev/null +++ b/assets/voxygen/voxel/sprite/savanna_bush/3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c3b5dc2eb47d022f66eedaeb172a95c66e3c05be8a4264a7734319b2d7491f6 +size 2916 diff --git a/assets/voxygen/voxel/sprite/savanna_bush/4.vox b/assets/voxygen/voxel/sprite/savanna_bush/4.vox new file mode 100644 index 0000000000..a0b0c6bf9e --- /dev/null +++ b/assets/voxygen/voxel/sprite/savanna_bush/4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:084a353c62c6f675c919f3ec37b16ae3a2fe0443cddb78f6143a22a0948930cf +size 2244 diff --git a/assets/voxygen/voxel/sprite/savanna_bush/5.vox b/assets/voxygen/voxel/sprite/savanna_bush/5.vox new file mode 100644 index 0000000000..f0a27acf8d --- /dev/null +++ b/assets/voxygen/voxel/sprite/savanna_bush/5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34a438f7eab991610237ce067ee534e3c54d92c9db5c5a6316c42a99de66ea3c +size 3212 diff --git a/assets/voxygen/voxel/sprite/savanna_bush/6.vox b/assets/voxygen/voxel/sprite/savanna_bush/6.vox new file mode 100644 index 0000000000..c2570508da --- /dev/null +++ b/assets/voxygen/voxel/sprite/savanna_bush/6.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:267da8947ede714f09b6239124edc4a6ef7b02a021b3e4fef1951a442a172797 +size 3260 diff --git a/assets/voxygen/voxel/sprite_manifest.ron b/assets/voxygen/voxel/sprite_manifest.ron index 5d6e894ea3..18eac918a5 100644 --- a/assets/voxygen/voxel/sprite_manifest.ron +++ b/assets/voxygen/voxel/sprite_manifest.ron @@ -876,6 +876,148 @@ Fern: Some(( wind_sway: 0.4, )), +// Savanna Flora +SavannaGrass: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.grass.grass_savanna-0", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna-1", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna-2", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna-3", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna-4", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna-5", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna-6", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ], + wind_sway: 0.5, +)), +TallSavannaGrass: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_tall-0", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_tall-1", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_tall-2", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_tall-3", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_tall-4", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_tall-5", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_tall-6", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ], + wind_sway: 0.8, +)), +RedSavannaGrass: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_red-0", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_red-1", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_red-2", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.grass.grass_savanna_red-3", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ], + wind_sway: 0.8, +)), +SavannaBush: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.savanna_bush.1", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.savanna_bush.2", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.savanna_bush.3", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.savanna_bush.4", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.savanna_bush.5", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.savanna_bush.6", + offset: (-6.0, -6.0, -0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ], + wind_sway: 0.1, +)), + // Dead Bush DeadBush: Some(( variations: [ diff --git a/common/src/terrain/sprite.rs b/common/src/terrain/sprite.rs index 55a75d3dac..57610f0557 100644 --- a/common/src/terrain/sprite.rs +++ b/common/src/terrain/sprite.rs @@ -111,6 +111,10 @@ make_case_elim!( FireBowlGround = 0x54, CaveMushroom = 0x55, Bowl = 0x56, + SavannaGrass = 0x57, + TallSavannaGrass = 0x58, + RedSavannaGrass = 0x59, + SavannaBush = 0x5A, } ); diff --git a/voxygen/src/scene/terrain.rs b/voxygen/src/scene/terrain.rs index 13676cba11..4dd28b146e 100644 --- a/voxygen/src/scene/terrain.rs +++ b/voxygen/src/scene/terrain.rs @@ -356,11 +356,7 @@ impl Terrain { let mut opaque_mesh = Mesh::new(); Meshable::::generate_mesh( Segment::from(&model.read().0).scaled_by(lod_scale), - ( - greedy, - &mut opaque_mesh, - wind_sway >= 0.4 && lod_scale_orig == 1.0, - ), + (greedy, &mut opaque_mesh, false), ); let model = renderer.create_model(&opaque_mesh).expect( "Failed to upload sprite model data to the GPU!", diff --git a/world/src/layer/scatter.rs b/world/src/layer/scatter.rs index ceca99913f..f95f95f5fb 100644 --- a/world/src/layer/scatter.rs +++ b/world/src/layer/scatter.rs @@ -193,6 +193,31 @@ pub fn apply_scatter_to(canvas: &mut Canvas, rng: &mut impl Rng) { Some((48.0, 0.2)), ) }), + // Savanna Plants + (SavannaGrass, false, |c, _| { + ( + close(c.temp, 1.0, 0.90).min(close(c.humidity, 0.2, 0.25)) * 0.015, + Some((45.0, 0.5)), + ) + }), + (TallSavannaGrass, false, |c, _| { + ( + close(c.temp, 1.0, 0.90).min(close(c.humidity, 0.2, 0.25)) * 0.15, + Some((45.0, 0.5)), + ) + }), + (RedSavannaGrass, false, |c, _| { + ( + close(c.temp, 1.0, 0.90).min(close(c.humidity, 0.2, 0.25)) * MUSH_FACT * 7.5, + None, + ) + }), + (SavannaBush, false, |c, _| { + ( + close(c.temp, 1.0, 0.90).min(close(c.humidity, 0.2, 0.25)) * MUSH_FACT * 7.5, + None, + ) + }), // Desert Plants (DeadBush, false, |c, _| { (