From 9ce37c8a2e8492aba83819e7036271af175f3eae Mon Sep 17 00:00:00 2001 From: Joshua Barretto Date: Wed, 1 Sep 2021 15:08:50 +0100 Subject: [PATCH] Better shrubs --- assets/world/manifests/shrubs.ron | 24 ++++++++++++++++++++++++ assets/world/shrub/jungle-bush-0.vox | Bin 0 -> 2360 bytes assets/world/shrub/jungle-bush-1.vox | Bin 0 -> 1788 bytes assets/world/shrub/jungle-bush-2.vox | Bin 0 -> 2456 bytes assets/world/shrub/jungle-bush-3.vox | Bin 0 -> 1672 bytes assets/world/shrub/jungle-bush-4.vox | Bin 0 -> 1640 bytes assets/world/shrub/jungle-bush-5.vox | Bin 0 -> 2664 bytes world/src/all.rs | 4 ++-- world/src/layer/shrub.rs | 6 +++++- world/src/layer/tree.rs | 8 ++++---- 10 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 assets/world/shrub/jungle-bush-0.vox create mode 100644 assets/world/shrub/jungle-bush-1.vox create mode 100644 assets/world/shrub/jungle-bush-2.vox create mode 100644 assets/world/shrub/jungle-bush-3.vox create mode 100644 assets/world/shrub/jungle-bush-4.vox create mode 100644 assets/world/shrub/jungle-bush-5.vox diff --git a/assets/world/manifests/shrubs.ron b/assets/world/manifests/shrubs.ron index ffefe8dfe6..61cc9d34b6 100644 --- a/assets/world/manifests/shrubs.ron +++ b/assets/world/manifests/shrubs.ron @@ -5,4 +5,28 @@ specifier: "world.shrub.1", center: (6, 6, 2), ), + ( + specifier: "world.shrub.jungle-bush-0", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-1", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-2", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-3", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-4", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-5", + center: (5, 5, 1), + ), ] diff --git a/assets/world/shrub/jungle-bush-0.vox b/assets/world/shrub/jungle-bush-0.vox new file mode 100644 index 0000000000000000000000000000000000000000..cd4980287e85b8cab1421043ca3115cc36f4ff5d GIT binary patch literal 2360 zcmXZcy>2Eo6o6sR*q)!T5=w_e0}*#HqN7<9gi-(!C}`P^W^N%RCDB(>Ao&);C8VbF zE#wwb(GSm=-ORq@&*%8(_3>zb{psBof2WjwczgGwCVjQ0^vm7*@7_em-zOgtPVatu zfA?RBXiDDWeNuEV9E!seG5i};Ew#4{qJOvZuWW!7J?Vw~k?KH56V zYiIpMJ1%l4sF*NgL0QExMSF!|bmq~SM`s?Ld35H{dBsssVUY8V(}JisagXgG72gTDo@4tPUKK}oAoPXWBVaIkHNfV*&)y2Db7w-}=tcf>2ns^g$;xTm>-^F*G zU3?eU9GmzizKL%Fo49{R5>MhuJc+0DVO#HRqi)e|fo|}r;??wG$&&ZqO~eAt~P&Aahwd>Ws#1biBSX0vAD zW|6ZjlFg6Cr}1fg&QkGdd>Ws|r|~(<$EWdWd>Ws|CraA*G(L?_#ZYy;#nXvK1r^YAoNqiEY^pALaetZ(2#3%j! z<&pmQ{78R(dZfSP`6NDxPvT=67|$p1NqiC+TSMG}iBB@{RqzGRc)}wdaF1Ku;2P-_ zFL=fi9`S&C+~Nk;NUwOoGoJ8>2i)TpH@H4tUtf=xmzU%D`T2NydO98-ACHHJhvWYK T{Y)>B2N+=x?4de_rPL+5pm5Vd1LL_&sv z);(Sjl0H}vk&t1cb&nT>tPd7MBxDd-_jtj07DOaukX-lJ?X@8yA%pz7M|_bXk9Sz8 zEv8-!y;zqz5;6qVBS%C+hECRF=aP0Th)BpVfVC{vqCIOzL_&tatwZjKNXRfDXLaQ9 ze$iuzri+G*K8w2eBFd1Ep~69igba=5l_4QR=P|>4k}|``)~~iCb0l-HiRwtmFtByX z5s{GLhjq%c90?g3$EfqkqugULTU0~FlGKrq;bUW{Bab(`AHV(jZAkM9hi(3KWkW^T zwvmpgE4sYPyS!@{-I~1l(d13u3lk$&S&cJ>3lk$&ZqO4%6vMX&ZqO~eC9IvbUvL==hOL&rFA}? zPv_J5bUy5+NmDjHjZfnxC-4b;0w2>re?Eav;1kH08gc^$ zK0(K)@PRvSxZ;8{PB`L#@Wcam+;GJOXPj`v0pW=U?zrKK3(h#+SCRgZ^4H8wCERcMKa)hpD zR=z^7&?|(WGhg~o?Dt;czh9#M_VfF%{|zDh_~z|TF5#~=gkRr&`2O{n_>JqJ;Qj9( z-oDEQe($CbVhj%%3o23y4+SxsBQCB;MI5oJ$AUV>)3hvz^Ry&nEGVd$qg%+tq|r-zIM1yyX7yI>qM;-YR*2VxHeRcw{J zjGCebsaUV5K|vK;F<1G@*ELtZD8^N69l6!L$XHNN$NXZB9Oh*~oMu~@shXppVxHxY zkRhN~a#%4%HHb*aaKlnivEqU$sY66UhKDW%6)P?XSuJKnBxG28DX3U+!7GHbi|QQ_ z2^mC}f{GOvyuwseA|fHfhL(bg6&FlZ9U>AkYL_&rK>7^R1xL|yV zY|kS(XIM-R)nUa2b5VnY3^IDB1}o+&kAw`OdM1w*ag{@c4d|8Jm|x5hW1^QVo!px2 z%Nz#w#Vm^6h_p46kOqhOzyz-LbW?m7zJb z#`0r{@u+d@C>hbA(I-ky`^Es9IbUvL==hOL|+u+mrbUvL==QFm}`E)*=Pv_J5 zuscnfbK}$aG(Kkw_%s5|V$Fk_hn#JZYzB=_V-8G(L?_<8!u;Pvg`0G(L^b zXldiq_%uF^Pvdj8`RvTF8OH|k(Rw~RpPkRnXXkUi4n8}doy2az-NVmU) z`JAtf&(3G(v-A1(%h%_t-1+Q$c0N0wozMAt&$l!>Gi=5oK3+MWjnBqs?}T zIL4>OC-4b;0-x}o`1t(z1U`XJ_~V-+{Q1=p{{G?!|H$(Rd;*`q$1+gQC-4b;0vSs~ z+yeujpzuZT8Bch`J??Oe8(iZG;RVll!Xxf+hg;m>8dnG}c*YYRagRIP;s)2aI$mC0 pj_2p+Gi`mZ%4=9^Z$IJegDgc z*W)_U5dOrvhL0IBhK~s`X|ZNGVqD~lT#Fc2{Z(I!7~+-?S1m$}+lq*Uj3vp(~C_WrZ?wMmOL z%Ms%n`5Uw2KAlhJ)A@8h zQ<+ca)A@8hozMIXKAlhJ)A@8hM6A*ridKVdEM{jZfec_yj)TANe?bd;*`qC;a;59)ACP4}W~R zhrj&JC-4b;0w2r3cs_wo;1kGL8gdf`KEc3;@QxdrZE)Z=876mK{Lhk@bK+v+cy|{%OITG!W1Cm<^C8Pzn zkQUOy@UtQFzOnrukNu5pz2AO%|JC0igdg6${-_AQt|9#L`r*4bqv7}RKc6Yz|Ni0i zZ5(L`SHu`TWh_hhl&~ZvVwPiBcJiHEi6zE0Aue%UkdP6RHWKovXLT%LSrcMh)&&U} zVUb}$LdG5;$*~|IV~?0+NXVnUS4Z5XbwNVLE+%uykdR@(b+^c|AR)sf>n_Q$AR$9# z-DNozBxHEF`l{8;^UCfqW^<__BQDxV$cRZB2^leKBO#Ca&UCPZ##njMg{3ftDPcmM z^D~C>&>Jc$9%Thaw-Lp-H`d-*dp>((X(J&cCT%2S#H@{kJnGAfzAySH@$>iJz6)s{ zm$1!WcWb+<0>@-FWljBZWdRGPfWn|!=lWs|XD$JsMxdFj8Mql_E{lgvrSWNe8lSmTd>Ws| zr}1fg=JN4rd>Ws|r|}s}+W0g+jZfp#_{?RVD>H1yRUjWr&!_UKd@7&HXKn|d%BPa3 zCaeaZTjZsxL)EB!DxbM+d@7&Hr}Fvci#KyCE1$}z@~M0(pSitrm&VErn{mmpTei`na66L zn6XP^WrmGw95p_HPv8^ygn#7Y`0)vR0-x~l>n;58O~e20lT@r|^M0Zt%Z(yWoryjyNDZ@xUE7Tyen}CmeA=c;bOOZn)xtGfp_- pusxs8?eTbQ_xpXj-EQ0UdfhIU%XU7Wx6|pg9goNDa5(52!oMt(bFBaX literal 0 HcmV?d00001 diff --git a/assets/world/shrub/jungle-bush-5.vox b/assets/world/shrub/jungle-bush-5.vox new file mode 100644 index 0000000000000000000000000000000000000000..0a5dfcc67f50baf6c9824809d7230e6fa03b8d99 GIT binary patch literal 2664 zcmXZdOK#;v6oBEf>tXw*C6pNw6NuP>#R3`yp$q^C2x@x9#9PRaAyI}5ki3PkglwU< zkS$~j<~we#^V?OY%BTK%+?(Hi`tapHDWxCY-~H&3e!Zmh%iYKC-bKad>VKmC;rEYs zU$=;+^f;uHb9$OkN_whjC{-B^r75E!Px_*iLEk~&L0@Gwl%|Xp&tYsik8MIJqyD4* zI;S{Ud7R{s1Hql zS83vq=xI`4B07mfVq+^W#zjLJ3Wvg>&{sx7$;u$1$qbNDP@&K!%vdl~eUMR5p<|mc zW5EzB5r&AXLZUWd#)2}5L-JN;Wf+9BG7QGoYL4DUg@N0QoW)Q<#B}v5;wY#fC$;_< zs&-@)RJd{0jsPk!X$pXR%LP&RZM? zi*0H%V)-p?EMqKFEJ;h!#*|}pYB0SYQ4F$euHRPD$ps4xI`?N~6Lza-i{eKR;~M;Mn$ z3=QL~j*5mk%8T5i-NKkJ*7?HC0mFnDxrm{{hH+DO2x}ZfWV>BZVI$AoA184XG)$P0 zXJzDkCI6MYS8`s-rQDQ}CvEuo`)}W;^6CG@aelh{jt%Q^B##Jnw=UkryLi_S-FER^ zVHe-Ucky_26W_!)l}&sT_c&JZReTj+1y*r?M-orsNj!sux=hOLgKIb&}bUvL==hOMb)Hc?0j}Uv7|en zozKo^=d<%Um-$?ou!(Dhcq~1ijnBqsPUZnaiqUKJJR3U`6NDxPvT=3=+7tdNqiC+LqlA`#3$+a zCisdMJmV1$xW_GSaE+A9I j@^U;sKOc{ekH^Eq!*PFqf85^Q9yd2P$MyBKzA60&goc{U literal 0 HcmV?d00001 diff --git a/world/src/all.rs b/world/src/all.rs index 59251a5e62..b5acc3bfb6 100644 --- a/world/src/all.rs +++ b/world/src/all.rs @@ -35,7 +35,7 @@ impl ForestKind { ForestKind::Cedar => 0.275..1.45, ForestKind::Pine => 0.2..1.4, ForestKind::Birch => 0.0..0.6, - ForestKind::Mangrove => 0.65..1.3, + ForestKind::Mangrove => 0.5..1.3, ForestKind::Swamp => 0.5..1.1, _ => 0.0..0.0, } @@ -51,7 +51,7 @@ impl ForestKind { ForestKind::Cedar => -0.65..0.15, ForestKind::Pine => -1.8..-0.2, ForestKind::Birch => -0.7..0.25, - ForestKind::Mangrove => 0.4..1.6, + ForestKind::Mangrove => 0.35..1.6, ForestKind::Swamp => -0.6..0.8, _ => 0.0..0.0, } diff --git a/world/src/layer/shrub.rs b/world/src/layer/shrub.rs index 8b64402766..510457e46e 100644 --- a/world/src/layer/shrub.rs +++ b/world/src/layer/shrub.rs @@ -33,7 +33,11 @@ pub fn apply_shrubs_to(canvas: &mut Canvas, rng: &mut impl Rng) { shrub_cache.entry(wpos).or_insert_with(|| { let col = info.col_or_gen(wpos)?; - if RandomPerm::new(seed).chance(37, col.tree_density * 0.3) { + if RandomPerm::new(seed).chance(37, col.tree_density * 0.3) + && col.water_dist.map_or(true, |d| d > 8.0) + && col.spawn_rate > 0.9 + && col.path.map_or(true, |(d, _, _, _)| d > 6.0) + { Some(Shrub { wpos: wpos.with_z(col.alt as i32), seed, diff --git a/world/src/layer/tree.rs b/world/src/layer/tree.rs index dfbd12e2fa..41aa8e0838 100644 --- a/world/src/layer/tree.rs +++ b/world/src/layer/tree.rs @@ -369,14 +369,14 @@ impl TreeConfig { branch_child_len: 0.35, branch_child_radius: 0.5, branch_child_radius_lerp: true, - leaf_radius: 4.0 * log_scale..4.5 * log_scale, - leaf_radius_scaled: 0.0, + leaf_radius: 10.0 * log_scale..11.5 * log_scale, + leaf_radius_scaled: -8.0 * log_scale, straightness: 0.2, max_depth: 2, splits: 7.5..8.5, - split_range: 0.3..1.25, + split_range: 0.2..1.25, branch_len_bias: 0.5, - leaf_vertical_scale: 0.4, + leaf_vertical_scale: 0.35, proportionality: 0.8, inhabited: false, hanging_sprites: &[(0.00007, SpriteKind::Beehive), (0.015, SpriteKind::Liana)],