From cda6f08ad342b5aedab30a8d904cbf17ef46d69f Mon Sep 17 00:00:00 2001 From: chelsea Date: Tue, 2 Dec 2025 22:48:59 -0600 Subject: [PATCH] Discourage trails crossing water --- worldgen-c/bin/worldgen | Bin 140064 -> 140064 bytes worldgen-c/src/worldgen.c | 10 ++++++++++ 2 files changed, 10 insertions(+) diff --git a/worldgen-c/bin/worldgen b/worldgen-c/bin/worldgen index c85bbe8aaa73a6234f5125fa3f98045306f3fa6c..526d8560ac30dc5c09e6379c719a5fd53fda8ce6 100755 GIT binary patch delta 15654 zcmZvD3tWuZ`}mxrsf@-?dPqxpSLcs zMxsB|NWgx7s0;1TQrtOz%;26E6dxQTZ_ak_-||bJu`{jzQ@Fd`7$;nHf_!of#s#Is z-z^x2+L1&CekH2`6qJ!u0P1VW3jkH8iIaOUjxHuc0n|Sx-vUT~NA?3)S4r*zC^$|; z9>8fs`T$7%h0FjDeUxklFyc131Yq4$@(DmiJL2yNtwxdvAhoV=wP$1(TpL<7tXlIqLdk`p>*gSwzn|>* zVY#R_76}Y*RpOHaNYIZ4oVc&>-H($Hez%t-u3sq%7{pVX`jMCG@8gww3NPe{5bpbm z+}x1me7w$N(vHoH(R@&79?K&y#7I7Gh?RW)hcUN~%%x6vSsl?)Pn=Rm3ZONxj$ENm zRz9p#PCB_x?X5)I^9c5gU;RluHiqESf0B_KQ-}49gn<`@7#G?Y7E6N?20*J*veD2a z6(8x%D1JtbF5P4@8JcXzt}=ePlRZhtt}?t-*%ttVmM6Yc+JA~5%^MFy+rI#g#t`AL z&ye5*hIEvyY=*pqPQv|w(jJ=z!cKV(n!GYb^U-MajLB08DUe`%Z~7T|zRA6dWq%|n zm3K;hYH(J0&t){|KKC=?x;ePV4}b7oE4;)#AnOEgiQ5Z@_`An%;N(q`SsNYgN?qICMmQQ-o7A4p@}UED>9A-*@mVh`^DY)yt@Ye=b4*qa}?0Y zICmYVw2sLyt!`Xe0vs7?CfC@7?;JG%Is=wtVg1d6o)$2s9?&29&8{@mD8=?1r&1_p z@NJTgjR3=|87E7Y79S=_C4A4pz+zoG<|c9Ec}c?g__QiRQ(zI`GR(*rO?8YW?`NpLFO#V`ZG@IN3>m;^xH$epY}f})PAJp;vi~`z_Yh8RWe#T# zcrY4h68B6dm^p?ujk`bv!|&stmKINd*#e#Hpi`XY0_1_3^Z0ULfJq9aR&(BX`yS72 zsPr!?UAEXZ=Di@!lyN>G^4WqzT5fEGmebI5E)E$YbC?4p>Qtsvlk_wTd%Tvj$WW5R ziI3NEmau_;^hN@sJyQo*rK}6^Fx9~yj6RRi->-%EK}Gs#xXcTHiJ!r!V;S`xP@#7Y z%MQa!zPCaHIieDVGx`aj$7pj{h#(4KMX~C-7;P?7QZ9)zXwJpz2AbrN=j4*%6^!^) zuKS8nO68FylHupWE~+afahK(hmw=%xHmpbuL`8!{yj3na3>^=D(z!@ubTWxT zdzuUJ@ii>+{f;rGL-aVG?*!Z#wmpg0d<0hmdOK)jbOv<1HkYx)X^InIu=Pa=YLjIB zIqM3E+R0KNNKjvtWZS}nHiu67mqg$c3@1cL4rzrc#(C&Hn+UQSt0Jm!1F=>~a} z7Jp~kP7!&2zR#3@rtFlqxoc>#6~JG#ha#&e8n_m`(w=5wH4Rx+&Cwq&w3B4N6mqHJ zTH6gO@;O~Pf+5;7}8R~QvcM!9iC4Ngr>^cztFU!}ltY?~s6`cf5(>i%(KO|US z3;IfJEeOBYmSHJT*ZUqjuG)G>V|*)!l-Qx>0A3^T9+Fq z1~&f$gU(wZq|oIu733dV<289jK-cJggMXnema)dMd+c8|a|cWl55}pvsnF$&UY>r9I73HztEmtH?%4 zRxVqAH19MzRwZI2hpXkNG$HNjpv-=r0*M+D1$=*u4Ln@e*<4__$x^ywvDC%EP?L1Y z@MetoE>{dAArX3nhaePr@3toD@ss&ir9p^ z>B%~oi^$;bVfV!;#R?T9JgaKJS1nK=a@-sr+Oa~K&kbtYdL5FDyYXWL5(3L zlI34;E4)(N2(X-vmE-` z4LDeSYmc$uv&kSDsOh!6ZQ3caO044|A4}BTI3AW0@melhpct~GGM$e+b^@S8J(BH_ zwA@_KnkPY1Y#4YZhslpiE0wrM3t}@gEppR^$ddW(6=@dBvl>hb>f~7_B+0IaNX4Z= zgmf%V%rj6?{JfpfZ}s1^3l<*m7GscPpM?%kpqcPNx-mh57!8+eZ9UU&#A=?KrI}YE zh0bMNMy%$~f6cNf>tZwwhT`$2O&?FQNopwJSEKXbJ2@-m=A8HpbYN_y#e@900-pyA z8mKNxuId{dfF752Emqrajb@MqSi~wJ+g#-o$xTsktd?ZG%&?YcHJcW!HkS*t zH8K1=0dv?~fRL;LT_9*I`@x22-Xm;@i`Rq#ITOe+nh0anN{)>YjJNn_<_}{T|IGRs ze}m@};48?5v1OA;pib1D(`8v{Dk1}PZW-%XvTT%bX(Y)mfG|QTNwW9C152mlZb(qO z85-K2X8i`~I?EJkH~vo(ssIUB*k+K5kJ+8B@mSyd?6{|+k9Nl&?vPbS7vi7{ zf(pxV@=|iW@E|tXl8j$`obKK-nUsn0$OlV8<&lrS`&E(kr!@!^p0y=se_4kgE+He2 zox!e4i0$zWI7mwN9q-v?`wgy7mZ{x>6ACT27ncep_^yhHx zA`*L|*85CnIA)EJ`LaT@x+7PTpgaY_p+G7;B}M{NYz(L%qfaiu$={IcC(E&JA=z>2 z2p(la#{BAKx26MhUn2969KYdrUGu{D;VN16YamV)k>kI1bKZ58X%idSx-?J@>*f6O zZ6epF`dSlS!4r z=KDfj+vt84q^`Ido^^rPolC%1=a4VXy}}P?laVFmSUj6}mafFN5ZPZEFnDh%OOtHb zD#+yo&6|_3+_RVp=V0D!&HWfnt3nefi_u0)jf?)p4M#WVz>T0yI-@s%)|_rVsDc(E_0&4gZjAv-V?@)#&k#DFO7)dEwJ z?OmnzBinI(y}xKCd6()k<~4%|?i^Xqn;4`36Ad@n;of!@9Dy1`Y9%Xf@wD(+jJwAF z68v3P7%Ak(W5!yFTF6zC_a8nhurjaPG4D-LvL~vTO zZ4(F$>W$1=bNber_5GoVT)pBkXlf%cnbn)w1kYym=CEf_Zz4eB{%TH=*p4xq)oatP z<0le&)!8cy`2MY3B(VNlyG0G;%c~PRpZHt54`%H;3P{yeC%pL+X};<-sDA^DU{>c_ z#%oq*DSHNWW&<=XtAYl2tM((n|4}FT6H%2rdnthL-|9>Qx&KyY#7DBBJi&e+Gl+B6 z04U8MGwNfjfHai5W>_&rYWz#!?{;Z%n*X2i8mNA%Yb>PQ*tjoMcUef+G6^?T?Cc{X z>=~5I0%)A_7#g5tIT-rCO3niY$%WS>^_@O9X2eyvWd$ zA{@p9H-^+Nl(NkxD@$_5)TF!!{t<>ZlHzNfux}%|bIlL`@t&ZHf&R;w{+wkJ-ZF0r ziEgM&t^#beWCciM>V1x8q4~^H3@U#f01*H2^uYE*1@AWUP=pyz0S#_|W8 zJn?6Yxk&{ZMt&j<{z$BExQUiB^+89Uk0kVlBkuH(47=fn)8CS>Z|K4_jL5WFQPl(s zb_@*fSJ4)S-EG8`{bBKADxdm9dfg1^Y|BRCY*E012!x=8pUA?St8h>XLAS2piOIzF zi6b%I+JYPFiTbu5E-xenx6?;nVR}P6x4r=g*J8cin%huvKt^*(sAez()xnn%dv#KJb+)t zlITBQ;no-uT9<mCLB8^=$V70fGBe zIB1@)AS2$p;WHH^{k^@%)O)=DdxHd^8YL^dLD#l?IC-7qz3+|-2q}M`j$id9(H|aT zao66c!8IP9zD86H3apJJyBb=tHiGPGED&wF$rGnvCCQ)G;i={1^`|~v zN5d@)_%|JflIs%S+JW2TL|rEGCWj1fAjWAe6{mtSa^i#Dja0I$GgcyQU4p2<4G`QM zC^W@!8cWy;DT-@7N~I*{1Y7~g8PlE_16?=~Epvi2pex^<69jKK{!4%p z2pFN@-!K3hTyJ~{_Zcc-n_JJuFJj|AxDL|OKE!B~ z-mlk=dCzs-ewp|*U&8&u$zRRsoltSf2NR1{f$!b~N zc`rPlgmW@TR|?OS0b#P1IJRbD(z9?&YZ}7AJ$^w@6*`7d4}^?(Ob8WWr0X)4Q%EKB zHh^r2evu8+GPRT*!l)-67D8(*1FktwCs?3Z{NOy@X@R2b#4sr1e|V0E z-X-*n1!~1nf%J_KeeD@rED($ab7O$V0x;Uxb2%Mmg_3a4S-Q^(h2w3@Xq6SR$C9)3qZNwAvCC+rHA)tZ1I3vRK4_PqB!bH}=t>a*XB$zbH$^?N70BrQRb?u*wWu)i~H@03u2W zh&ajN3+%Fr?6}yKHi*$Q*_Cd*lx(mORs*&h=2my9c<4!9(2sh3c1I*evMpY~3Pkgw z5q}1HaGPhbBZy{WesNrXOoFVCUFd1vc!8dW3Oy~CLVz4Ssl6>K#^XHbJzKQXJ`wgo zTz0Sn$^0(NyuF2VtsM%*r@yAfcE}MY7SacHs4I>xq#x{%!tM}fpGvqCy28W|Iuz0o zolv59#!==5lU5-$_Wp|MJE7iot(*laVR<3XI_2nw&S;eQ+>yUI*UqC8JEIW06fxu%&Tz)6glk|xrhv~88f_1}nFasw#?PfY?IB5m zT{bwN(|C?EJ?nt_;V@^~;s81F+KCS60x;i+F6)AB_{w1z5Cw0oUR%Kv1Z(9n4u%*FhTSgo13_0iGL3Sp@ooHy@-koRDj%x^0kX zPAD5n_`?AZ0mA+M7Cr#3teNl&2dUl(d5EI&Sz9R#&!^Q+$P=GBNG+UEP{zyse_NyE z1S`EaGRWS#v3oeqHL#zIFdkXQNfcj%9-NWUZAMP~w~-M{k61piVB{7!-!eT8Fb%=T z0N`bB6CQJxsU-in9zyo|06puB`i+c(A^2BDFe9$8o;50Xy`mIuyPng{op z-SMxSfE)QhC?er|zR`JW#Obsytqon{Y0HrO!4=77e0ZH*w}Dh1d7c zhaM;rulbpF^+f&g?4PO96Y^J^M;Cjdo}%--c>D6b^n@pJ!HPV3#}fs`s{qe=iqqWt z5@Y-SbGk;u3{eVeKnc#E=zr$a^Ig0_83*X+USLo+@QD|!oE>2#FBoan9(uX1E?4-|_gup%2Nrs#pQW+lhL7WusEn<>==}tOShJ1aV?D$_> zl)@D|d0YB(a#g|&J1AV0_Q3vm^ok7i!IpW{+8epFAF&%W(+WrKra|6l0=_kcuJ%Ty zqHS z&^%k*F@shNN0;!e4 z>ZgrHn=$@tF0~kkp5b}-^?!~-g$M`TqdSzS6YhGC9#1ix0We=m{t?W7jOOx-q0`A*)N`$@4fLSgCZl46w@#yp6Txj)2GD`2 z$osR&@D?i0bUr@vSOknHQSX6U1GtFiycGvDc;>tm#XnmElQFD<=BAJn(C!Dc|wH@7Q*c@K6x&-cT-zs%V(1i^7n08(CQ39BZnY2lMZwlB(xH*$KC%C+DFJ z5&5Heee(bs3nF0irz@(4zSqasF`;Kh@#+j8&#KaC1uxch?CYrhe^a)zk=^uvQfMDF)gHfe9jB0>s zDA%nV0XJ%3h`2PKkyOH433T-$)GcEUCrIVJ5b(kRi+==-<44G2GK`U&K$YuA-~wU3 z-8iRl?gppzoX4RqsDT>9dbHUv9}vdpVVoXuLentzAmuy5Zh|sl za6{Ca6WZo8rSLA}yPTwB`anF{*zopkBO4M__#vJy_!b4>&BN&KZ_)71e+>n0c)2TC z>HZ!#Kn-QQ-f}Ur!lK75t!zEA?>?M%`3??-OIv9AcMy!b3VQZCG_HqL92cn`E)k7O zm`JmzCioDKb%kP92T-dHWT^_@BrY66^-EDmpTRseCzQjh>{pn%?{H8l^x@llc7caD zJ)!@zA=D#-t%HN9JOhpDJaRCM!ujO*Yu+dNA^N=;Xcxkx2GjUuDC)CLz*1VXs6$bE z!{WdyP+c9(&6^ZqW9;9QroelQ(!g8~7vzs)^=Fr%kqCbuL+!HQlr=ntj>v)?^L1;g z%R-|>;*Xreqs9)QwOL4o_kW-<*^uN12GYyfu+j(1sZ-i_06jg ze63sts|f^5IAQ?pxElG2j@R=!)f!EsSHlr;ay`|oM!j*re)QaG6zLGw7gXdXVzz9z zJ2O*ie{2A?)gm|C(uam=QGjDbA09t#z&{nKNf~vr4_%-|q3$bz4Ew#=f3Utka=c36 zJPxXaoBPsIE%NO$EsDud3K?X~+=rlx`_XpaBOjO1j2S+({JS3Ix7DM@NE-V+Y<1!y zY3}#vFPsoXf6$=;uDc_l2X`Sa{0OU(4g3R+=BoG)5wuQ+x{KIVG@`iJ5 z6+miSgJjscH|@9<#bB=pI%X|ehCgnnch|y);&*q@@$1lT9JYhDtV4dHN8um`l7DHq zKJ*8)97WIQ1ql9Kj(rLc*(Q+td|@Obz*lw=km1H&j;x^)$MWO-*ZB2UbQM9q&Idtq?SKZjZDgxlho1B@fhZUD zrY{MK7X85Ng6gxcHw|A83&@_{RJk5}GHovXdOfUi^Ly%du1Ccdc+o66c@sL}k^zMh z-j=q^am`^R6T0T}P;3aJk(*)1EDxc{n^9E8ix9}=B8hICgiXr_(E58S*TY90MJ!C` z0n4ao+NkiR6JD;Da3=`i&t~fOHfnqJ$t3?lh*G%POkLhaWqt3-Bg-XgUq}Q3>bM2j zh%WF;PZSNLAzQ#frcgR@3plJp7$sZK0gu7K@N(*g-qdITML9eITC9e05DI2!FiqKt z(mLK`^|8bs-t4J_XM^aqt*EPO9^f=;egU@4k+P`S!LW?w#~^Bvi#)qeG`nlS$HW<#zc?tj3@tZ(ELBHBSnwJYF+Oj}eo{QY< zqJ0@&sb>2m5ET^aOIv~NFcm&@gCMI}3c*gC<*sq`dfImz1XTEnsLXau8O+HAcTX15atRWdS(~6_LL8OunRegD9qAYup!O{A zp`N>ud-oW?mlltPutVnoJd=G02W^jWMu4#HK6L7CC@k%LsBSk1duG=4kvA>ajhyf$ zZ+c}nQexvL>XQennX@-dV=(1=x;+oM1(bi!$DTPy)6RGnnyliUhi{*ZN6ig`W{|Zp z?|WLChbmo-YzqXNK&AlaVB0*t*hyVoyV2@BC?v&&UmDu*`JBJt>smhVl)`2=CPHO~ zO5uDavNEZvHoTD~rc^kA8^hMzL3;Y{v81l+yy)z`C~TmPlOgpM18cF-nuY6IKuPpP zu&Bd9E=AmpAH{wcgD;i0AYzv!D-XQoa$h*sjaKgk|19&OEqhTds;AF?M!}-HGS0fF zy>8TfAM%n8@_wOpc=YHfY`ooJ;GyIqfwLJg}^euNf^Z+WvXVuhn0FJ+<%;v>X zaj6^iKM04oWo~rAK@=cL;(Q{t&vvBy52EF`!h;6q!^?vq9#o%?mf(x-H2e?>z`I@O ze-5E3o-r;Ur_t94?uGq`G^!u874VrIf43hlcG1@!LYDB^kOO^l8198U9H>tLENf$3 z>AnJV5bt%NB01HZ5O;SsNpa@Q#JK$>i|lhwwjCpQ=b7I%ELPN zwsbqdsu!)M2G*_vx$S`;c1phiOnujC@(=-pFDTcG;G5v0=2lZZAOu2_sb2?yAi9Ie zv=!iXiOJN!+MP|NF*eY4G?|J3N?lDRYq3D!Ap<F`R_jb6NsdRzVs z$n0a(@(xO|w1GpG-~^p<2MrXBf#;3jX)7xld>46I4eeNg+npBDusd+7et!prSY82+ z&{FDu7m_&!;_(f{p}9SseFt@?QMZwmW2?2uMkGkEv9eC+5Cf9G2d2cuw&oSNq2zgS;J!DPi+(ThP>7!OtAg#NLyyyjJW8-7`=^h#< ztb))UrY-jXzwmc>c_e#E&-@O%#K7m&;Xe8gj(9=8y^rSM(mML;K3sH^y`e)Z(NN3Z z8e2_~mUQWTxO+NYiTYb^HMN??SkPBsA$5L$!Y#MMad(pib-D?nzj**R6Hl$^p$9N+ z@7YkNhiI^+0Ip^vRI>*4yu zDzpvZ6AS65YOts?)rnW?J0{8mT#z&Q$&h(CP2!W*%-5XgI!i zOn<2vt+2}Qg=A*GU%*H#kO&G^@$GeHqi>k;(OMq=*o=Q_#(S*c@wXvU+3%ehFIdmF zt)PsspAg1j@}*n&_Higb@XHW*nF$p;ctSJO6ZRX>hCjf!=kOf_!_D~UqdeZjtWc^M zpZW`r|J;mUV8*w(G0==(#o;p~f~ph$-C?7-L+GzO{;;{jK{LKBiesS7ey7d&Xmjq& zG2_e4_<~ZN@0}U{xD8(hcvibdLsekEH)ewLD&Ou0m6rW1fzDjl7U4*G}#;qMp0X9H=El-$i)-=tGPp#we5_2pUn(^uHczkDb z>@{Zmx<($~kF5ak+h)dBu|>i8KOXOCmTw7=8JrrdA8LhLG0rTYLq#|kdrYU_if{^> z9`{9f3c>}`=|CI&HLl2~r)=;mES;g>FUGLe3-amFj?kk(rGL^9S7LhK7OUxLTkNWz cXotVB!CjWob8a|Tbnh5HHi-P>hJ7slA6`57c>n+a delta 15284 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 diff --git a/worldgen-c/src/worldgen.c b/worldgen-c/src/worldgen.c index 84a18c2..0af2d75 100644 --- a/worldgen-c/src/worldgen.c +++ b/worldgen-c/src/worldgen.c @@ -2621,8 +2621,18 @@ static int build_trail_path(worldgen_ctx *ctx, double ax, double az, double bx, double next_height = heights[ni]; double slope = fabs(next_height - current_height); if (slope > 3.0) continue; + int water = 0; + int wx = (int)llround(min_x + nx * TRAIL_CELL_SIZE); + int wz = (int)llround(min_z + nz * TRAIL_CELL_SIZE); + column_data cd = get_column_data(ctx, wx, wz); + if (cd.has_water && next_height <= cd.water_surface) { + water = 1; + } double base_cost = (neighbors[n][0] == 0 || neighbors[n][1] == 0) ? 1.0 : 1.41421356237; double cost = base_cost * (1.0 + slope * 6.0); + if (water) { + cost += 10.0; + } if (dist[current] + cost < dist[ni]) { dist[ni] = dist[current] + cost; prev[ni] = current;