From 7f10f3536a74030ba697a12af51a66de9a49550b Mon Sep 17 00:00:00 2001 From: chelsea Date: Sat, 2 May 2026 15:13:15 -0500 Subject: [PATCH] Tune redwoods cabins and chunk heightmaps --- worldgen-c/bin/worldgen | Bin 148672 -> 144648 bytes worldgen-c/include/worldgen.h | 29 ++++----- worldgen-c/src/main.c | 19 ++++-- worldgen-c/src/worldgen.c | 105 +++++++++++++++++++++---------- worldgen-c/tools/worldgen_scan.c | 2 +- 5 files changed, 102 insertions(+), 53 deletions(-) diff --git a/worldgen-c/bin/worldgen b/worldgen-c/bin/worldgen index 529d512745c7485376303dff813a082f417e9b8e..20868a8dab2d524c6928f5bc36f413a1eabd529a 100755 GIT binary patch delta 69639 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

R%H0~5MKx`Sd7)VnIMhv^ky@Ml6}a^r z8uejk^nrbIJpK=?1)zz=5BZL_dc@$D4|b(whbGQO<_62sXOvXNY;ChtO+2sSvK|1B zyI_c8?gNhZr8ju0J&?aCP+RnaB-KMTfU$|n;ma{_sd=~_4?r>0kyMX8Oa?SMbU=o4 zWoVtm=jdn#WS-M!hv!GBNu;0WNUE_xm0Fhl0({U%GoTi;Ez7p!t+MQK>y)A3`n_0F z%#9%6zN~86R~czJ`%*o7u_Y0U3b$d?Fda;=<)uaJIcVnu1gfj<`o;;j8&e?Mi%~lHwa*vR@Y8bE_~#QS+0JU~5W|`#wL)hu`4BxSRuUU{C3oW}GL(PVg5+}HogNx-2EuJoSWQH8*>sIUk|NAKv&=qkJ)u^t$^j zh{ClFx?IcRhiU;YiTOq!tHKSt*!^> zV5ty12^<>%0nwMkv&&4{@#wp#f%W`=V-3QY- z+1fol)pl3ZoXY8`p1Y#zwy+E68BkwPcn+fb9kw@=7A-mt?=tw<-P8oKJl&t2O~V6X z6^>#YVf{3|ALm??EVl51k~K6hxJM3l*#*1jlIJ^Q!PHzac4#u1nsf#{2hR)qA|L}v zunpemGBRKq9xN9+I()%MU4X7K#IivC0Z>R%srj@XowCPDSfD72R8K(K7cN zxonrSN3xa6I71e*Y@8FDmh&yfejC}z)Q!^%8X|Jvb;4jvR^$Gl9wyUmQ!xWwfeq{v zqw1c(SV|M(Q}Xnfd}v(KcPUwt*N#X>H`3LjVt{N zph(_i6tM(#{}{{>1T~5k<<h` zHq%oKm*mXSQYL^;EeA_fL(}ku#C^ZSxqLCn@NvnGm1hdtJ*QKXu<}-)>Pxg?iV_9k zk#sQ$2abO0iyLJ3O~$l*e_b0nxG`{W%Lvih4(29#zG}Xmj)Q<>Smc6Zh;w)%b@cW{ zPS6omM#8+W3h)&a9Bpw9TTLE%t5B{sj`p^s_gJo5+I1$aImTF3)^NkFnaMl0TwTJz)L5Gaye#F2l77QBmw8u7_MRSAadqLxY>8uDh1){ z&9r(`V(^p!G0fRlpuZm+he6yZX0F372<~8ql*@4CKp4OoBd>)an`4mrkxQDKWyhPt z-h(CP@`aD|9H?u>RXUQoG{Lqlw_mDfm%Vv8dD}fVAO+?0F&F~U`6k^q`!EI)=6r@B zkWh!UoibyTFT9m)`xF15kOTX{-%A$_WL=;GrarKKVYq5-x+n!_MhAX7i{-8{L7W^u zzJjxkKp_B-t*{G2>ApicccAr8GC!<|5d2MUtoSR=$wP9e>JZooRT_8-V7z5TObzFQ)k4|oXSY>7}Aa;}`u zes9SAp=CCLSaV6QVqL+4Gnetr#dB!-!Wl`wl4C*G>KkVI< zx_)z@cReS=irQ+fj~CAK16IW7XNPZ0gPphYngSP20lG@Er*eM7jRAYrl>@)%JY=I# z%26w1><;Kg*(*NW1CLm0WIJpk1vKj6DZxA3;kc#|a@-D4`i(P3ne@Cg;tw%os2rAp z)~L&6TyBXV@EZ@l=8A`loxqpEqkW+!VwchqNqVq5^S*;1SqT)L_H|x67C>Nz#HC?*0x}vGuv4|c zGt*=};qr0&czLBXE%g&J{KQ+UH3<%Uq*gm}}HiwZHZdKICi zlBHNaD9`QCs3X<#!N)K@P18Mt>JCvxrOB0o&+@hf%74J1grt=|wLkQtJr^e3!2$Qn zKQ;;!Gro39$>i}^KYA!lutTKs=%d5S!MSgtid^eogRtuS0xXsl-a&_xay0U=?5j}~ zyi%RxayPY%EA0T~XLk6qe=G2Jf@Eh3eEQ@|MJN93a6{X`j0#v>+n`V_cHabxtsEV| zRF?6Dazl{^QDcz$D~qe#R_1M)$cQ(PU}E~MH~|=?a?(eSAy&_^*$twZ9@44)>rzMt zK;R`#P)D2KD23NxE;_x7V=?7&7P;ZRdsYILSqZ@MB)sHUn1<`B$Alubw%0dMB2l$kXQH)e&w_DIuRWGu3p!vkRC}%7+2MA4vz=6j<0pIXt*Xn~W5>swNws{%v2;B2 z5*vwe@+^+GJLIs8`3!#-FrSWc+1%B6rTBm^!G)EF)m7*FfAd(RrO?a@`IaZH2epag zYwn%FX+<~&(YHR4>_RARmWHP0(6G+HB^kF`Y!{6Zd#04B@(>#~beD`mQ0weM0_ks$zzs8R%~HbXS%JXr%`1=gQ{z*lamr5F@6n_b31x^n1sdK4h4Z@8Ui z;jzgq7W{%YqQEa7j|bGFDUgBF$w9ny`$Vp0gop)hm%J+J1^aWVfBA4lFxiEH9baQ^ zHE?I(AnJoo!|15P_YtW{`2RrCXWDz<0X3amucY0Zbi{Mei9WM`fKiRRpge9Jr zKgPWcj%wK1xzq4HuA|Qza;**%hvuKtMn34w8Hz8-Q02LwkIOkGXQjpuT&+&v^Uc1^ z*H8%(;6(S#pC8pS?{5ygVY>buj=@Xyd?BwCqIpt=sUD1N?76~ve?zd@}s$fpDb40HME4FPd?ki~_2x zrc2qmE(JAVMimlRk)RP`H!1;IgG2>2?%z1Dh<;dE zo1d6a*G4T1%8#3DpIHjKqcIN8ufJm2>udn&^NwTdWM|Lkj^;m*h+l!6Bz%H%W{^74 z88$z0wln9(W~3~5eC|fZrjVeZvCH^@Pfp+FW+W}6oYM>D&jV$bNy?7)%^!kII3VvA zfg4as-TYANVhukA4X1j#*$^mvYm5g0wWJSxdp?-P{EYvI3ZV%JLUi=a(7J(%aGS&5 zvE$hZoHI~4S57G`d8i<&WbyTMqmz5P_5Sbwf16qcBX?Uzb9r4Q#JbmPMPB(P#&?YG%JkdGFkTNiUat_fm z^ppZS$IK6)s3OW`OyR2`Ud%rR`s4DhLCS%!Fe2KIWIJoQQ^MNSY)gek@p+(j0wVhztPPYEnd6d=wUt{E_U8; z^y)qaN({FbshfGmc&Bba)#T^eqrEZz0+xQS%@r{Z7$2Fx?JmA}z-ZsB6I6qL!d7wW z0i#o!L0cOr`24*YdY{Pmcik%DXBh*Hbz;ISW3rJX*3L4DjSb?u2aR5Ft%_l*ggfDD zDVz*pfbaF}ePSX}$dF_6#ETCaeGP}${-6;*?t9Eo<+&w4r((;kI+kQy&S85&gJD_L z5m|8nt-STo|Id$Q1>_5R=4HO4A|G498SEY3$LyU^=Gb}Sk=e$$=$&&3$I+UtO@S$* zdbSaNy#=K~BL&KV80X?#E;10qB@fT9BR%trN-*U&Jo12)tyGJF7e(SjMpDaHuEhtW z?CskEABe1nj8Vx$=g`<2up`YfrZR8}IC%xV%eEntyihnpdLHUiaZ6m$SVRU!i%%Xh z?l!OLA_hHdTpxQDXQANYOeQ8)e2R_j0hq;$g%2Cu$2kY#dv(I^M1&I&NDA9D80d|f zf{<-352I=`Aoj-Pe22D#Xy-W`xKYydls^vzu*)9!P@I0)=-teYcmF3Jif(g^2_5UO zLmQu|OAB_`YB?HkD+6vG_&|8)7&mulAB9nzk=PQ7CJOr{z1YoCP#GIYjuj{87%442 zZiZUm+l%k>#L!&hdh-*_#6!78RbFQO{$2J6oe3vo}ylW;}+%6YhS#& za!z<99F-b)XxvPB%Zg`3y29W@fC;7;@rcp6{|P9+wk!ju;refh1t)o@9K+tSjHyvD zbm6?ZXwCcBE3>8*REnpN$IY6^JBWV4B}-8lfKFdgvBX_86oD!l*9KczkawM|k!OP+ zHN-hHIHiI~y+v#Yt_DtU`o<*SOo~|Mw1=k-EKT$90$KRlyLunO83JyJ8xVU-Pf-d| zxiRVBHL9!dZ1+t~{0+)xu?fZr&wb!ZHBJy?8*v|!T`t<=dbVV|gLozcbvMAIfL6gz z9$J=a`_X;XCQcyL!Fe>5K!9d?7aoixicL%5cBH_Tyal^P;4n7eNu>c<10mqupjxyg z6Hx!ocX+KhZ|gPXZNLd@fXNSg*B0XmcU27)-^?}oyL(Rr*WU})w{VkCD4k5C(BmMs zw~%9d(MtReWG2-KxL}Ah#sx<#%~P}-|NHyB4P@~^#*4iG0MS`PNJ2Ik(<aft-xbBbtO6T8ESCLiI*jvO_dSpNNUwRW5+bK%3)t4#F#s|2dOYOY)?P~B`T+PT2y^p2F1d~9Hi+2M_{`B)ow z2fJ~O&c;O7U_SQgFVNatDS)*hv(l+zOR zZZ)*rkj?jtu?uh*NQJl$LEoxqR_a8817}O2Hg?Ye&*4UF@O!}I#^t}1E1uQj-wTWv zj0BPHHU_$LuscR?iMA|y5Mu)z%4AUO_#X#e1%89k;LK6lF{eUag7R^bEfx6K#2S4# zN47NnZy>C!JHE>J@E%lY<{q*LzC_$YTETa8txFjQdFV>A5dS++AcAQQcn@-@cVv45%~6I z$i&x(+KKw?Q28t5Ss`+80E1*cwzD}J#qVmyx46C;?Mu8#62$It9;d)rrsY&0D^Zf-lenDc~o{Nh`siG$Ma{J)i-32JSCyusL zr7pnNo>KoJLLSJ*x+Hy1-vvJ30Mf%azKTiR3bDg>21xhga43o&_=FlO9IC;HP(oQc z7D&zGY~^z%PVi0blaT7Y52d$B^^QW@Zx6?jf~iUSnzT37I3a0(jTq$)8}=hi*q54g zQ2K>jwrbR-Jk>bhNZM{|uuS;X_gK(&@rkQ^3xfRk@QYqlKr6_++|^j>?P#?MCuj2 zdR`>t8*Q6ECH)_i?<4Y!ST`j;7C$Ozp%k36T8hqK1#RYPj(_Xp)9=A|%S=JfmSg5R z8pQSQkALEFy?G!g;&Du5CIY+95l>5z>6A**HmOHyAYPk@R8S2RhBzASXz)g)V@Gi! zr3N+*#KOD7n*d~q!QsDwICJl@dl$Ea>cSei9ZuO>ft86w_(IGXE?h-h&xH3h&jI^p zw1d-CiNv>(Voq5KE}uuP+p@zo8WGsB3guhnhq+dIh9vIMVx(M z1#8SzAsTb=BcVs8(KK2pTg+Y}>$^M^3uTkv`|DUJ_=U2QWEXBBM=76{@yphQwGyv9X|%WF{#n3$W6Vk{V@1p(AyBC$vSY1?_IB}& z3J&K=`dn9mJ2otLv@2&V^I^GBoPE+58Z|mbc0`G|w!j!<92V0HjIPEu@m_(^Av!Ft z9~WsPZ8nL27C>We6`wIdiKs6y`nsP*W%cQCMYQmEw?fN1Ab5Gba&w&TcL3+gNjs1+ zXQnpBJl+?db>Tzmc1bK-q75e%vDEpOw^4=_ z`Ni@gqj%1NX;RxqJb$|iXCZ{Hfm$reMkUxl$V?WGs*<>tr8nSf8obo-Wm!MGG}XTm z{WQWYBe^Wgj^ai0i9G7{C{76Vw~7$ii;Ot;yNI+& z(PCNlx_l-nElUM4$b*_($}r%%&e_uq^c(c(l#N#K*rxNduwYYE%@&+@uU>=Va9Y~h z61<~f6jHE?FwqW2W_fAR`31h&NM!fUJ?Ah^IE?Sx`PUHV`B@T<5E}eK(HhZuG3rJH zdH;aodJ7NgQ0f8bKdS#_M`Jnac|0+}}Put&t$gc4yq9QCdi zm5Z^+z(Gm_+a6_;$}n#uO~5ql2XJ|4ZR5l<7}snrjw6)pB`1y!&uYa`KC+j8d_6ol zzAci3>L9H6`|e~dW}WlO^sxI$S8yx267D3Ta{5-gNoAK32bkCr8Tw#LHPd<}&!Q_< z%S1T5mw7x}tjK~&dT&98C>YlGymQX+s7I#oN}JCkYXVX6?R3o1k4BZqI62E;|#4g6zDNo#P{oXik2J zSC8Z=|JI@46km~?I4W#l0HTr8%8RXw>X`>98jwfvMpncbJo}4~6Kt_oCO}qTNr&+a z-5>qrWH-x`Wu0O^%#N;+L$S3Q1~lJQF(sIV68##PER*ZQ{rXP6T+|W?Z@rGB^|w)# z?bRLemn+K_ozGx179IG84a{tN!i{&L-O~isHa_EGuxhl(zw>%Mf=NJP*u)$cGl!JO zu=NHu%fB~(;fEPhodjBCR%eNu#!~2zQV!+Cw;(;w{aQQ= z+kzm${V3x@&I(8(JL)YpeVCkX@R8&GvSr}ONQts6x)xcXXNRI63ZSkF8xlZquYp5X z7G97h&v<7Jj`#SA-<~@S?CLmz#mc3vL&k+ubY5z-$4bR@OO1pMJ_;{nRof|v33fwn zj(3!pz0_zMhyCjN6rS@k@GWg|8PBUrjUIQ(+S5Uq66FnRtb=9o5Nv+J(XPPG+Gvx9 zTi#FL(Av}ZXz{<`i^9gSAjT5a%}QpGM-iy5}=;@I1 zE9k$ej(%u0@byW3Qz1AZfl81F!@sEpkeq_+@E8RRKvGiPTni55b^^*2_KYeZ%yP>m zhw+R5@CmRW#E4%U_8C3gkTT4d_YVjN@{tq?6R|l<*^Fch$0fHh)piMTVUWnmMM$Zja!YYg(c4XNqRvqK^;)L1u4Q#tB)t(B z8XDuFtca88iox!bD6R3&D@o9{Co3k$JKPqvjsP#YSo;#m@N1D~wx5lvfku2WetOeX%jI$0o_|Sjm(L zbY5>tT$4f8zFuTMV{|eui22W8A>a_U(CG=@=CBsP8rTU4HXx{SJ#w%^duB>T3F&uA zKCQTXC4MaY`WD8vg<6tpDV}mQ1M% zS)Ffb62CnsBA4M>)+j9HY~aV zNqEEMM+~9pcgy#z=wWPlZI(22RgoZ}Y_L~S!7H1JoI9#;vnwd7tP`v5H>#`b9&jWB zXGF5B9xp@9if~DSW=4c_Y~Y5~#PQxpB3e3j4-oeXKH;olf3!_K>=0~swsusLB8^FoLm>k4+XRX1w z+@#t#H^9<~NO;zWF=E9p0!OL6Tq6=z8rR0N%ko|?kdCD=T!Ju;*IUTN8W{6p_DZ9p z`DUkBy3&Zxsm1IOive$R0eW=8zR?KLURqfp?vWnpwjY8_nn%bk{WK5NY1@uccAaFE zXB5VSFTh5?_~dBO@&zN-JbSF@`2xJxHzAtv>siu8>k5t)bPxCg?$i(*{Qu?{#A`MP zb+!^|fkc@zqDnH3>f9qt4e9wp8bWmL2Tm!!GKst{vwGM{N=?hs$6Jy4RQse?U3NT5 z>&DtNGQj;3vo-#WR5Czk5&I&JC)P&M8HY@X&OasYc+uz>HK(U6szkV7G}@B~R=#Mo zHQJP5JW~8QgA31JLZ@36FBPRP8S%y}arh;pi!oj_ykrb&*9m(}?H@_5NcF6Wlwz>i z4`TExqenY3y%Y`P&b_^>*|2!0Sh&jQU@muxRjZ6{)<;xzcF4$NCHBBid#B);NLDu%z}Yxr1ba@sr1a0SAvG@?bd5&vl16uOG)R?{R(0a zXQ$pMab~I62d>4Hva>d;?R>)PGP|~2t_qDm#(qHuRMpY9U9vKzA^){hdqRvSayyDh%8&1vQF>ZBfcx_o>UKWdZSa5>+{K}7+$)M!SGl6f(m{h=#~kQGsx%CIjC&Yf~!NwaQH9f!5QAZfqT*Y*PP7BqB$lf7ij zbtup>Zoe}p{3(|&CdKKCcw!+IzqlFNccU3*B0D)W`~TImx)|;8|J^OtzibR}&yB$x zJyxwW+0HDO+{BTusxEyLP23gA6HzNY`4Pjwke+H*c_K)eRF78TeCizlpoM))jcp3C z-HYXKc|%RWb1>CAf!;m11=1bf5mJEq?|u&am1)o72llfgutIpqQuJLU+T|;njoR9$ z;6r&&Al>Eju`^U|Txt+2*1TfG4SEbYl;4vUE^gA{?IcPJy9`WlH;_9(J@&tEycH^2 zoO}gGZ?c;gSd^*dz=t$XR{~L5L6y}tY#r0)ZNiceM3Txb#k&89rvW#Tr6Z@|{P@e; zZ#~WLAC(Mp8gjACR%Au2#TSo#Vet4ZA@S85UC+(2AB4)=*{;#)#f!J_rFE+9H;eBn z@y;6KF04DXdeykre5#8`pJlXj2lgy!2*Ro1I|!;s-$zjo3PT?Ed?+j8?wiOknGrDz z>$0%GAT>p~rGUrzaeSFaFoiY#AVNLAMh{RN&OlwXYKI|>y~S5Cr5;keFY0X8ZZ`lc z+apWfPpVy7{?j^ff=d9>Vmczb99KN{+uBlw;td{a~$RK9lE$?iPZ>RdR zMr#cAsdPPHgR4|+t)(zyA8Hj?;qR^*7u`uBw)X2TLylOtRi&=W`chFDegN##!E?E+ zjr{g|6&N1%8on+CVZ|Latm6kvC6`2YG4@avjKrxs>*nJLM-XI2B&j0y1m2)~$2&z! z0}25w#6^z;DsCEbkAY+e@H>PuoaLf8>HGqok^u$fU*`)3@0>;vF&{grAR-FKA`J8} zq&LQYvJe~3qv)eK-|JIS_y10meFtWCv(J8IT_qQ62Ktb9@x4wQ<|*IQZHYpDT) z5IR_2cBFOiZl#0ekVmJVv9W)66S4IgOb4{8b@_((o{t${JsnF}Tt~g4UqE3_-|%iX zi7(a~9o>th)X9o?nFxTWfzeVjfN)B8mYqzXGOs*xs5dZVM%<#a+=ndC@ZOfoRLMu= z$8cp@hkuJrkRcr&xE&SX2n^gozi3_7-oSiJ$gt22V##etA4Y@FA3<#5+^0Q(PrnQX zleQ%tBxhoE3bcop;UxafjP=E&p%w8Z;82`0Lp#0fXoTIfU9CyAWOw<7jC_QR!Li7o zCvG0Yt=O&CQDs4uQn#hyuB?l#H?a5JbwhwoCPX7@@vVzAud5DCmzy9rnw z7rx_msRKVj^6HR0ZcM{Q_-^dz@P&_1JG#^kBnQ4{#pWkO(rR(wV>MsPW_lW-)-oKP zUAUlg2~zmqEF_!Dl`I^|p>mz?Rf8KI8SU_{RC|yho{mB0bHsS_)ixwZu1`o{??$g#w|d(sm`2R`O(pEr+2j6k2KinYl)AJBvWI{kt3-bV!Yg&ehDou zbtLU_ckFcH+oEdhNlK9Wk(Ar2|M|H$Rh^x<6QvC~q!|75BcmaXz9Wg# z(K}UV?~Ev8OocrBKce3dG60-ZhcasdooPax?*;wPdM#<>|0_PdK~BE75i_Nl>JxjWK68H-%K0OH3na&-ff;!Qw@#o+{imH1L#3{85!1u}{s z7xA03&7a7mL>kE0$DXndxoK#K|0V0Ak|zTRP^nEQUevP<1vd-UMh^DoSvWhWpn!q@ z_#=dk%b4}BTuM1e*Xr2Sq1YB&r}Jze0UWmPEz9nJ1HxP6mJUYb(MTWE+5Q^Jrq)I^ z(uq1YEfh2*Xd{xm zSOq6@ek_(q>3K`LuRIQCTSioS3ypeg$d&WX-w}uy zKTQvZfi=V~fh*DpEZrD9Phj+50Ffi2FG75Kul$5YeeBFV+`~n|>O>FDEaf%>3RUsS z`*1o+LDMk?-l>9YEGn`VI;-8cVGSyZ>g>>~tnee3a=2FX#%#-v!ddL!SQ*Lp?Xpr)qWS}7JF-qZ->kz~;Oufs= zkFF(JvRaxc5E*Qre*%iO`~EGfez`Ho9UZ~kvhGw9oPcE4yE(kGB5L6P)C&oi+UK)r zXf`Xj6EXfvS0m>|tBN=qs%%#LdPG+3&XoHxfTrKR0Zi9=LnaZ_s>UExYkwEBhOAfd z(%A_S0)y4vdL30CGs)VYeY}D4Ms0{u%aQ)?0Q0V3rCdHarN%@%6PY|^E`G(lnv+KV zZHJJksF=9WYHDyzAnZIMpFnAlhddD7R#|=@K^Kr4ud2FoqvM?sIfKxIkp189OEz#X z?El)Sipsn3NeIgDu2{*EYT>5Zodp%0S%xjH)?sr0v^%P*Zfe_qahh;(VkvM%jDhp~ zk*KQOch*D4~*hAIh4+2VpsZfa@PBTLUZFM0U2{;-d8a^H%>NjCE>JP)Ugb zWFVHknbJ^&98x@rg8s@psM`dUSB^w>^BDQA#S-=}v4yPQH4>f`p+dP7@8-CYg0iui zBb(GR5;<5n3XNqefh;8FYh@2+MI2H+DeLNwMBX&-ziD)m65C~5NIqJnzrCs=QyG2` zaj{1Svu3U3P8N9=rmWbL9jU;nsAJOU~89V7CW6E9Y!WAVY4`LpNT46~PPJ)Y>xV0{`qVmXja74jW zC?)HVmwO{I?a;GKfbZ$g^2VS$=m|b;S)2}3{AdSmx&-Gi=}5B_{wP{(Hqu9tIR03nWD(&5~YAfw+ zGJizldJIhx{kIsy6O1I(@TJUSRbOZH__+_BA06ogW+58X4l*kBzaN)ON7* zFlFEsv3-F>^gY8?)F7i}nK<{c5g$8jh1&JCRVJBft3{Hd!&VfFep?N%+#`n>$RAnS z{!ePe{;k*}cM1jugfX*rz<9Kqc5ca05rX~aP6%MP!QVMX9J_(m$rL|!RY;^xu=vek;BHt|#c zz+*tk%G7t461nh8%#HCL5sS)kjIby1t__sd^4l%EN6)wh@w=ziG|FDBcF1t>O8M)_ zrx+9dZVWRcYGjz@)(@Exr9=Q_tP4rWLY7eb)U@4nS?bT4mjPi*G+JmIB#khPEx45QxD&?i;ld)Kb3P{rXU&nV1d|_?u zp72Efvl<|6C47M&?$6f{GQS;=DF3WkVqY1)465wOrZmza>9N`sH5Bw30YC)qn zFvPUJ;2IRD^=wx~t*2y|6@RY`tv&7qrZRsNH{-zRh)HC00%K}3zrkQl+HF}p4M)uo z!EGu-{Fxp^WYyi3SqTf~K;V*ir`+h2G8P056zhJjOav43JcQhE27!%v60dr1{hDU7>8Vhz|z=(S*jPC84j+BSwNU0fC zR4iVvFqU=PBnRVvnTh%*eIs0z#xr*A3dBRSzuYR}F4 z)0%j0l2PTx^byyCU`V+{r(DuBWh7FfmDOq)DGhtQ0&j9o1kY7f**Hu9d~K7M{r7HX ze!WskPWFLfB=y<^6-LOARSVn|#F8%OU~+pz;F^QtjY?xk&N&q5Up$kyR^@|U(Bgw} zL)2m3pB>n943)tGP@on2;80ducNd_o%WOLUVIa8%6D(6WCUq&u7f8ZNhxATOM`Br! zoa_Z|`&`6tgWo-An-LS+==3~m>3l&RF9y$Vgr&Qfu+3Q4dqzXBm=XA(8tVYC-X6EM zZOO4&GvyFlbxw1fshjAz-MF{?D!f;g4a?dAYasK2<=^y_x1ACv-rR1?GQZhfwBKPY zHh1nW*6c7IH^16V#P5VwI@v`ycN()=EX7ku@*A^YE6<=hIKi5WKd$;{zl4 zZZf@)k~DQ$`Om#J%XrAV6yg8INN9G~pvlR--yS8JeQQh<+20z;qU2j+_H#kA)skT9 zZ0cr8G<7k>o4T61ZyazKSH`--%_b9ZRNvGP9E#`UkqyCYgeeH;AuMq;1jEsD*$Wzi z33yL;gYpPx=QjioAhg1_6AtxXTF?-jjc^UTzN-+{!^6A-Vaei#Aa!uQw;^~p!kVSX zkI?!wzWWV_KeA+5LofzXwx$@SAHtFs8iFekT30m$OA%(j+z?ER#QUoa!6gVwUT+BQ zLsl=diBdo#773V_L_*(pKgx0Et;5!IS+fhMS@aa1NN0^Nzlg$X%e2Q{g zxY1&Gh3CPb&)y5f2-oZfC9tMtJ=hTB+E()6hM=`23c}`?sR;9b1OkNB*o_+t%PINi zhF~tj*%umuH3&<7YY5U?P#qQw&O?~cJQzI2uwyXT*8=?AgTY*cC4GXyQa2uw2Lyw0 zP-XeoAp=7jA`ljj4hCZ|?Xlh*3}z#&NB9Q9?D6=DgW>#O5T`nt5|-c{VF|*x7*GP? zV1(5kd~uC1`6=K*`;<2Mf&yGXqHw1fEMIV&w+=f_}esJTwQC7HWxo3ZmTtVo5L4~ zMYXtO&zUdI@cmN0=zI)e!jt0WW5x}UZ{YKWw`}66V@Ch}Z**_bvW00}%Vtq_&>sZA zp9^JVg2%Rlr}%?jH<3?c7K`tR$GJpYecTvic6h|-od2R2|AR3)vKr6(R*4sX zK;8tf0BPRB^VH4a;eatI z(gYU$X^YquFm8*?#`CeQqW1}7Qj1M^URBl*yvZy^oHXLZ%Rd^;#M>u~K9ThK7FLLZ zCxA5<&m~o2M4fSKWHsSC#EW%+50(rq8tRP4BG;42KNAanL}?(ODRz(8|D!RwMJAqG zf|pxGio++2u42r8j3F)fE%xT`8iI~+@mT=CH~(V{jEn)bOKQd8|DcrFcwYa5xZ$KR zJ@OkoFZogY?If`E0_V@i;$+82vEV18zeqe~#5BtVF#YESanmW|o~vu{G8kjw47)82 zHJKzDP8nUgI;~;mN7BRIwp{L9GD|NEnIBsOgAX+q|2##6^@cTaHh_sS;)Z(kz-B!A zJBda0s8uY+QOhpkD4%ojZ0adSoCc*g<9SmrvFNlhKGKRIl{-WnJdM0l@%+|M(esQk zB9gu&hfUmj#u(XZje$b(KI2Aww%AX6cHHP1Ii^*8c-S;?3vu{BQCz{+?Fu`f&547FVFKqYC3t zg;XTD^AAusbrl(ZH{!?rLH;zIe=6dgSHw5Te^11OtHN?(bOO7k!3<;y8*KpUK+8t~ z>HuX}m9S=nj%-4Yy9nKEuniLcPDA2Ua8V|@tQexJ5+9(i7f<|T+|-lAnR_@tS2 zWUDBo;lTb8NqXgq{XZE!JI7uPfsz{xCIfDAwo1rp6=mv+$7I0Y$Q2!bHhOo?#`E2I z!Qib-gP#k3xqy`bRy2W(+HKOU)|Tc+vdM#)VOI_KeVNQdZmmR~1UR6#5`Z6J2LSs7 zuotwDqfq=2u*@AB_xx-ej(RSo=aM$X4>CChfeud{F`heZZX0GCRbgutUYl?fjEA4~ z8ih^0nM~JdxakV`Xq7J~L&v9F5kFnSYkDetx{jvD|0MmgKS}>LUC$46xI>3u>(H;m zb2^NwRqcw`VX_WK=@24cwttom3w8K{3LD##d_{Xg?M%1={$8!3)RpN&@GH}AQ{}i1 z>3k+l9|&ss3&Gd)P!ziop7JN~n#4a&pZ~{jw<+O|BTS{;{}@sB74Xx#0c&&vppE1& z1kb(#-u##%REoqi)?^BCL?|Lb7jPxq^e6C|ZYrf2{n^FcQKRpw!=5@Eq{C4B(ElcW z_W|}HrceQ)3Z&_T<8_#!!`pN?O^2Zh-hKI<3_AAD@ZGP|{lDT15#WESepllA z|E*t$!2eVAyAt33Z~a0H@;_C-EAjn5)~|5@T-hHFYkqlDhi)DI*#NncfBz5j-)~x? z5kI5D=X4li@Rw?o0C-u$*IW_*H~s#YP8WK=_loyOB|)#rKB@4j|8d_l#1Eg_o7$OT zO&v^;rXHrArZ};5>=x=>92Zx&H23ei_PBZ{`7kTsY``=cf3#Tm94qc>Y0hlD zSEcFz2!AD=#jcj-F4(JmqNUjlzCahwPyQykmLPWZHm$h(ZQLD8n`l4;c_4I9n(S*7`La z@BE#>AK@XxAq3~11j0jxLkP}uKXKJ~tSMwUgd(~#0`QRK5Q1N);UU8z1n0@SOkb+? zbO=6G!?Uk|Kd9j}9MFD~DTV*x$HTygC}cULNGM3H;VBwXf`+fs@PsSi|Il#L6>xsq zPW&Om0eD2GHs&7gnpqm74)!A@DSWH{QXD6LmH!n z?);#JhcwT_y7<;82W@tnLaJ^8^#y*3D#BFFo8a&ZYTDXD@FWFqru%!0hSyNU;FqTh zn55y^Hz@ca8H>G88lEzYaLADRb%s10Q8Geh;O++giU2oEtxZu{vFnDJiZ$GH1^gum zha}RIy#$5M^o~wnqtho6Ic3;Z9kHfq1mJr$qWoTp1ogV2hjse&Qwp<{i10hB;RzZ~ zf`pn(Ex<2qK>ii*E`Z;`hy;yD)(DyU>kQdCL#Tk8G(2Pvh2Rr3Jmre?cZ-P~% zucJ$KF~y=o8*`Tq4@+CwN|hld z#vyTzO8f{Cw>Eb&MO{&$0u{Z2(fDVoQSHF+mcKU?t_>;`ML&s=@R&+Pdyv0xX-23R zY`Ej^Et?7-2*Dp!#V0GU=}C#M!zvw}tfOmn^d{AYauw`TiFwfpo06}aUo=6dR*cp` z1^rYoLIxcswor7xk`eBZ(GhbIod8?7jq!}=+Qr;SRCYGU7$2(0&k@;;k>gI_i6y7( zQmxpk3;vA6GQ(9FYL|JgqxzW>%&_{C2ABslU(-z$zh>iI1I$jtSS|jZ z3~-3$_ll#*=IgDR^+GI|E|LbC2eb|egishRW)hrvMzt&yCW^NKj>aTH7A3>yUX5rY z&J8ptT(wGr5sL1E%-319^;ObJC65w!eP^^0^9PyZLs6T4AGH}#Ep)EZR%THPEX}nH zn;j>*U2DF+xfW6RoyA}9+Sua>stl_tWAnA<_~x4DtqJ1jwdR|mbc!Bg;9;Y^NEvMI r8lyo6FmU+mg1;FeZ?L&f^AO$}#M^_-*SENNm_k3q5P$Dy?)<+17BoN* diff --git a/worldgen-c/include/worldgen.h b/worldgen-c/include/worldgen.h index 2e7c749..dfb3283 100644 --- a/worldgen-c/include/worldgen.h +++ b/worldgen-c/include/worldgen.h @@ -38,20 +38,21 @@ BLOCK_SPRUCE_LOG_X = 26, BLOCK_SPRUCE_LOG_Z = 27, BLOCK_GLASS_PANE = 28, - BLOCK_SPRUCE_DOOR_S_LOWER = 29, - BLOCK_SPRUCE_DOOR_S_UPPER = 30, - BLOCK_SPRUCE_DOOR_N_LOWER = 31, - BLOCK_SPRUCE_DOOR_N_UPPER = 32, - BLOCK_SPRUCE_DOOR_W_LOWER = 33, - BLOCK_SPRUCE_DOOR_W_UPPER = 34, - BLOCK_SPRUCE_DOOR_E_LOWER = 35, - BLOCK_SPRUCE_DOOR_E_UPPER = 36, - BLOCK_SPRUCE_STAIRS_E = 37, - BLOCK_SPRUCE_STAIRS_W = 38, - BLOCK_LADDER_N = 39, - BLOCK_LADDER_S = 40, - BLOCK_LADDER_W = 41, - BLOCK_LADDER_E = 42 + BLOCK_GLASS = 29, + BLOCK_SPRUCE_DOOR_S_LOWER = 30, + BLOCK_SPRUCE_DOOR_S_UPPER = 31, + BLOCK_SPRUCE_DOOR_N_LOWER = 32, + BLOCK_SPRUCE_DOOR_N_UPPER = 33, + BLOCK_SPRUCE_DOOR_W_LOWER = 34, + BLOCK_SPRUCE_DOOR_W_UPPER = 35, + BLOCK_SPRUCE_DOOR_E_LOWER = 36, + BLOCK_SPRUCE_DOOR_E_UPPER = 37, + BLOCK_SPRUCE_STAIRS_E = 38, + BLOCK_SPRUCE_STAIRS_W = 39, + BLOCK_LADDER_N = 40, + BLOCK_LADDER_S = 41, + BLOCK_LADDER_W = 42, + BLOCK_LADDER_E = 43 }; struct trail_segment; diff --git a/worldgen-c/src/main.c b/worldgen-c/src/main.c index e40aea7..cc6fc69 100644 --- a/worldgen-c/src/main.c +++ b/worldgen-c/src/main.c @@ -128,6 +128,7 @@ static const block_state BLOCK_STATE_TABLE[] = { [BLOCK_SPRUCE_LOG_X] = {"minecraft:spruce_log", PROPS_LOG_AXIS_X, 1}, [BLOCK_SPRUCE_LOG_Z] = {"minecraft:spruce_log", PROPS_LOG_AXIS_Z, 1}, [BLOCK_GLASS_PANE] = {"minecraft:glass_pane", NULL, 0}, + [BLOCK_GLASS] = {"minecraft:glass", NULL, 0}, [BLOCK_SPRUCE_DOOR_S_LOWER] = {"minecraft:spruce_door", PROPS_DOOR_S_LOWER, 5}, [BLOCK_SPRUCE_DOOR_S_UPPER] = {"minecraft:spruce_door", PROPS_DOOR_S_UPPER, 5}, [BLOCK_SPRUCE_DOOR_N_LOWER] = {"minecraft:spruce_door", PROPS_DOOR_N_LOWER, 5}, @@ -314,13 +315,19 @@ static void pack_bits(const uint16_t *indices, size_t count, int bits_per_value, // Chunk -> NBT helpers // --------------------------------------------------------------------------- static void pack_heightmap(const chunk_data *chunk, int64_t *out_longs, size_t out_count) { - uint16_t values[CHUNK_SIZE * CHUNK_SIZE]; + memset(out_longs, 0, out_count * sizeof(int64_t)); + const int bits = 9; + const int values_per_long = 64 / bits; for (int z = 0; z < CHUNK_SIZE; ++z) { for (int x = 0; x < CHUNK_SIZE; ++x) { - values[x + z * CHUNK_SIZE] = chunk->heightmap[x][z]; + size_t idx = (size_t)(x + z * CHUNK_SIZE); + size_t long_id = idx / (size_t)values_per_long; + size_t offset = (idx % (size_t)values_per_long) * (size_t)bits; + if (long_id >= out_count) continue; + uint64_t *target = (uint64_t *)&out_longs[long_id]; + *target |= ((uint64_t)chunk->heightmap[x][z] & 0x1FFu) << offset; } } - pack_bits(values, CHUNK_SIZE * CHUNK_SIZE, 9, out_longs, out_count); for (size_t i = 0; i < out_count; ++i) { out_longs[i] = to_signed64((uint64_t)out_longs[i]); } @@ -419,8 +426,8 @@ static void build_chunk_nbt(const chunk_data *chunk, buf *out) { int32_t biomes[256]; for (int i = 0; i < 256; ++i) biomes[i] = 1; // Plains biome - int64_t heightmap[36]; - pack_heightmap(chunk, heightmap, 36); + int64_t heightmap[37]; + pack_heightmap(chunk, heightmap, 37); nbt_start_compound(out, ""); nbt_write_int(out, "DataVersion", DATA_VERSION); @@ -434,7 +441,7 @@ static void build_chunk_nbt(const chunk_data *chunk, buf *out) { nbt_write_byte(out, "isLightOn", 1); nbt_start_compound(out, "Heightmaps"); - nbt_write_long_array(out, "MOTION_BLOCKING", heightmap, 36); + nbt_write_long_array(out, "MOTION_BLOCKING", heightmap, 37); nbt_end_compound(out); nbt_write_int_array(out, "Biomes", biomes, 256); diff --git a/worldgen-c/src/worldgen.c b/worldgen-c/src/worldgen.c index 5cc8347..e1b62de 100644 --- a/worldgen-c/src/worldgen.c +++ b/worldgen-c/src/worldgen.c @@ -426,7 +426,7 @@ static int is_cabin_structure_block(uint16_t block) { return block == BLOCK_SPRUCE_PLANKS || block == BLOCK_OAK_PLANKS || block == BLOCK_OAK_LOG_X || block == BLOCK_OAK_LOG_Z || block == BLOCK_SPRUCE_LOG_X || block == BLOCK_SPRUCE_LOG_Z || - block == BLOCK_GLASS_PANE || block == BLOCK_SPRUCE_STAIRS_E || block == BLOCK_SPRUCE_STAIRS_W || + block == BLOCK_GLASS_PANE || block == BLOCK_GLASS || block == BLOCK_SPRUCE_STAIRS_E || block == BLOCK_SPRUCE_STAIRS_W || block == BLOCK_LADDER_N || block == BLOCK_LADDER_S || block == BLOCK_LADDER_E || block == BLOCK_LADDER_W || block == BLOCK_SPRUCE_DOOR_N_LOWER || block == BLOCK_SPRUCE_DOOR_N_UPPER || block == BLOCK_SPRUCE_DOOR_S_LOWER || block == BLOCK_SPRUCE_DOOR_S_UPPER || @@ -1442,41 +1442,37 @@ static void build_maple_ancient(worldgen_ctx *ctx, int x, int y, int z, int heig static void build_redwood_titan(worldgen_ctx *ctx, int x, int y, int z, int height, rng_state *rng, block_list *out, const tree_archetype *arch) { (void)ctx; - int extra = rng_range_inclusive(rng, 20, 32); - int core_height = height + extra; - if (core_height < 60) core_height = 60; - if (y + core_height + 16 >= CHUNK_HEIGHT) { - core_height = CHUNK_HEIGHT - y - 16; - if (core_height < 40) core_height = 40; + int core_height = height + rng_range_inclusive(rng, 2, 7); + if (core_height < 30) core_height = 30; + if (core_height > 44) core_height = 44; + if (y + core_height + 10 >= CHUNK_HEIGHT) { + core_height = CHUNK_HEIGHT - y - 10; + if (core_height < 24) core_height = 24; } - int taper_start = core_height - 12; + int taper_start = core_height - 6; for (int dy = 0; dy < core_height; ++dy) { - int radius = 3; - if (dy > taper_start) radius = 2; - if (dy > taper_start + 6) radius = 1; + int radius = (dy >= taper_start) ? 0 : 1; for (int dx = -radius; dx <= radius; ++dx) { for (int dz = -radius; dz <= radius; ++dz) { - if (radius >= 3 && abs(dx) == radius && abs(dz) == radius && dy > 4) continue; - if (radius == 2 && abs(dx) == 2 && abs(dz) == 2 && dy > taper_start) continue; block_list_push(out, x + dx, y + dy, z + dz, (uint16_t)arch->log_block); } } } - int spire = 6 + rng_range_inclusive(rng, 0, 3); + int spire = 3 + rng_range_inclusive(rng, 0, 2); place_log_column(x, y + core_height, z, spire, arch->log_block, out); int canopy_base = y + core_height - 6; - for (int ring = 0; ring < 5; ++ring) { - int radius = 6 - ring; + for (int ring = 0; ring < 4; ++ring) { + int radius = 4 - ring; if (radius < 2) radius = 2; place_leaf_circle(x, canopy_base + ring, z, radius, arch->leaf_block, rng, 0.1, out); place_leaf_circle(x, canopy_base + ring + 1, z, radius - 1, arch->leaf_block, rng, 0.18, out); } - place_leaf_circle(x, canopy_base + 6, z, 2, arch->leaf_block, rng, 0.0, out); - place_leaf_circle(x, canopy_base + 7, z, 1, arch->leaf_block, rng, 0.0, out); + place_leaf_circle(x, canopy_base + 5, z, 2, arch->leaf_block, rng, 0.0, out); + place_leaf_circle(x, canopy_base + 6, z, 1, arch->leaf_block, rng, 0.0, out); const int dirs[4][2] = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; for (int i = 0; i < 4; ++i) { - int buttress_height = 4 + rng_range_inclusive(rng, 0, 3); - for (int step = 0; step < 4; ++step) { + int buttress_height = 3 + rng_range_inclusive(rng, 0, 2); + for (int step = 0; step < 2; ++step) { int px = x + dirs[i][0] * (2 + step); int pz = z + dirs[i][1] * (2 + step); int stack = buttress_height - step; @@ -1488,10 +1484,10 @@ static void build_redwood_titan(worldgen_ctx *ctx, int x, int y, int z, int heig } for (int i = 0; i < 4; ++i) { int branch_y = canopy_base - 3 - rng_range_inclusive(rng, 0, 3); - int branch_len = 5 + rng_range_inclusive(rng, 0, 3); - place_branch_span(x, branch_y, z, dirs[i][0], dirs[i][1], branch_len, 3, arch->log_block, arch->leaf_block, rng, out); + int branch_len = 3 + rng_range_inclusive(rng, 0, 2); + place_branch_span(x, branch_y, z, dirs[i][0], dirs[i][1], branch_len, 2, arch->log_block, arch->leaf_block, rng, out); } - place_leaf_blob(x, canopy_base - 2, z, 5, 4, arch->leaf_block, rng, out); + place_leaf_blob(x, canopy_base - 2, z, 4, 3, arch->leaf_block, rng, out); } typedef enum { @@ -1540,7 +1536,7 @@ static void build_redwood_titan(worldgen_ctx *ctx, int x, int y, int z, int heig [TREE_OAK_ANCIENT] = {"oak_ancient", TREE_SPECIES_OAK, BLOCK_OAK_LOG, BLOCK_OAK_LEAVES, 12, 16, 6, 7, build_oak_ancient}, [TREE_SPRUCE_ANCIENT] = {"spruce_ancient", TREE_SPECIES_SPRUCE, BLOCK_OAK_LOG, BLOCK_OAK_LEAVES, 12, 16, 5, 7, build_spruce_ancient}, [TREE_MAPLE_ANCIENT] = {"maple_ancient", TREE_SPECIES_MAPLE, BLOCK_OAK_LOG, BLOCK_OAK_LEAVES, 11, 15, 6, 6, build_maple_ancient}, - [TREE_REDWOOD_TITAN] = {"redwood_titan", TREE_SPECIES_PINE, BLOCK_OAK_LOG, BLOCK_OAK_LEAVES, 70, 86, 7, 24, build_redwood_titan}, + [TREE_REDWOOD_TITAN] = {"redwood_titan", TREE_SPECIES_PINE, BLOCK_OAK_LOG, BLOCK_OAK_LEAVES, 28, 38, 4, 10, build_redwood_titan}, }; static const int TREE_VARIANTS_OAK[] = {TREE_OAK_ROUND, TREE_OAK_SPRAWL, TREE_OAK_COLUMNAR, TREE_OAK_ANCIENT}; @@ -1871,7 +1867,7 @@ static const cabin_blueprint CABIN_BLUEPRINTS[] = { BLOCK_OAK_LOG, BLOCK_SPRUCE_STAIRS_E, BLOCK_SPRUCE_STAIRS_W, - BLOCK_GLASS_PANE, + BLOCK_GLASS, BLOCK_STONE, 0.04, 0.25, @@ -1893,7 +1889,7 @@ static const cabin_blueprint CABIN_BLUEPRINTS[] = { BLOCK_OAK_LOG, BLOCK_SPRUCE_STAIRS_E, BLOCK_SPRUCE_STAIRS_W, - BLOCK_GLASS_PANE, + BLOCK_GLASS, BLOCK_STONE, 0.05, 0.3, @@ -1915,7 +1911,7 @@ static const cabin_blueprint CABIN_BLUEPRINTS[] = { BLOCK_OAK_LOG, BLOCK_SPRUCE_STAIRS_E, BLOCK_SPRUCE_STAIRS_W, - BLOCK_GLASS_PANE, + BLOCK_GLASS, BLOCK_STONE, 0.04, 0.22, @@ -1967,6 +1963,39 @@ static void mark_rect_occupancy(unsigned char occupancy[CHUNK_SIZE][CHUNK_SIZE], } } +static int cabin_site_height_range(const cabin_blueprint *bp, int chunk_origin_x, int chunk_origin_z, + column_data columns[CHUNK_SIZE][CHUNK_SIZE], + int center_x, int center_z, int padding, + int *out_min_h, int *out_max_h) { + int min_h = INT_MAX; + int max_h = INT_MIN; + for (size_t i = 0; i < bp->rect_count; ++i) { + const cabin_rect *rect = &bp->rects[i]; + int rcx = center_x + rect->offset_x; + int rcz = center_z + rect->offset_z; + int x0 = rcx - rect->half_w - padding; + int x1 = rcx + rect->half_w + padding; + int z0 = rcz - rect->half_l - padding; + int z1 = rcz + rect->half_l + padding; + if (x0 < chunk_origin_x || x1 >= chunk_origin_x + CHUNK_SIZE) return 0; + if (z0 < chunk_origin_z || z1 >= chunk_origin_z + CHUNK_SIZE) return 0; + for (int wz = z0; wz <= z1; ++wz) { + for (int wx = x0; wx <= x1; ++wx) { + int lx = wx - chunk_origin_x; + int lz = wz - chunk_origin_z; + column_data col = columns[lx][lz]; + if (col.has_water && col.height < col.water_surface) return 0; + if (col.height < min_h) min_h = col.height; + if (col.height > max_h) max_h = col.height; + } + } + } + if (min_h == INT_MAX) return 0; + *out_min_h = min_h; + *out_max_h = max_h; + return 1; +} + static void build_cabin_roof(const cabin_blueprint *bp, int chunk_x, int chunk_z, chunk_data *chunk, int rect_center_x, int rect_center_z, int half_w, int half_l, int roof_base_y, rng_state *rng) { @@ -2302,7 +2331,11 @@ static int try_place_cabin(worldgen_ctx *ctx, int chunk_x, int chunk_z, chunk_da } } if (min_h == INT_MAX) return 0; - if (max_h - min_h > 3) return 0; + if (max_h - min_h > 1) return 0; + int pad_min_h = INT_MAX; + int pad_max_h = INT_MIN; + if (!cabin_site_height_range(bp, chunk_origin_x, chunk_origin_z, columns, center_x, center_z, 2, &pad_min_h, &pad_max_h)) return 0; + if (pad_max_h - pad_min_h > 2) return 0; int base_floor_y = min_h + 1; if (base_floor_y + bp->wall_height * bp->stories + 6 >= CHUNK_HEIGHT) return 0; @@ -2364,7 +2397,7 @@ static void generate_chunk_cabins(worldgen_ctx *ctx, int chunk_x, int chunk_z, c size_t blueprint_count = sizeof(CABIN_BLUEPRINTS) / sizeof(CABIN_BLUEPRINTS[0]); unsigned char occupancy[CHUNK_SIZE][CHUNK_SIZE]; memset(occupancy, 0, sizeof(occupancy)); - int attempts = 1 + (rng_next_f64(&rng) < 0.2 ? 1 : 0); + int attempts = 3 + (rng_next_f64(&rng) < 0.35 ? 1 : 0); while (attempts-- > 0) { const cabin_blueprint *bp = &CABIN_BLUEPRINTS[rng_range_inclusive(&rng, 0, (int)blueprint_count - 1)]; int min_local_x = 2; @@ -2386,13 +2419,22 @@ static void generate_chunk_cabins(worldgen_ctx *ctx, int chunk_x, int chunk_z, c int best_local_x = min_local_x; int best_local_z = min_local_z; double best_score = -1e9; - const int samples = 12; + const int samples = 24; for (int s = 0; s < samples; ++s) { int local_cx = rng_range_inclusive(&rng, min_local_x, max_local_x); int local_cz = rng_range_inclusive(&rng, min_local_z, max_local_z); int world_cx = chunk_x * CHUNK_SIZE + local_cx; int world_cz = chunk_z * CHUNK_SIZE + local_cz; double score = land_value(ctx, world_cx, world_cz); + int flat_min_h = INT_MAX; + int flat_max_h = INT_MIN; + if (!cabin_site_height_range(bp, chunk_x * CHUNK_SIZE, chunk_z * CHUNK_SIZE, columns, + world_cx, world_cz, 2, &flat_min_h, &flat_max_h)) { + continue; + } + int flat_range = flat_max_h - flat_min_h; + if (flat_range > 3) continue; + score += 1.2 - (double)flat_range * 0.45; if (ctx->enable_trails) { double dist2 = nearest_trail_distance2(ctx, world_cx, world_cz, 1.0e12); double bonus = 0.0; @@ -3414,11 +3456,10 @@ void worldgen_generate_chunk(worldgen_ctx *ctx, int chunk_x, int chunk_z, chunk_ } } + generate_chunk_cabins(ctx, chunk_x, chunk_z, columns, out); if (ctx->enable_trails) { generate_chunk_trails(ctx, chunk_x, chunk_z, columns, out); } - - generate_chunk_cabins(ctx, chunk_x, chunk_z, columns, out); generate_chunk_redwood_floor(ctx, chunk_x, chunk_z, columns, out); generate_chunk_grass(ctx, chunk_x, chunk_z, columns, out); generate_chunk_flowers(ctx, chunk_x, chunk_z, columns, out); diff --git a/worldgen-c/tools/worldgen_scan.c b/worldgen-c/tools/worldgen_scan.c index bc7b7ba..328606a 100644 --- a/worldgen-c/tools/worldgen_scan.c +++ b/worldgen-c/tools/worldgen_scan.c @@ -9,7 +9,7 @@ static int is_cabin_block(uint16_t block) { return block == BLOCK_SPRUCE_PLANKS || block == BLOCK_OAK_PLANKS || block == BLOCK_OAK_LOG_X || block == BLOCK_OAK_LOG_Z || block == BLOCK_SPRUCE_LOG_X || block == BLOCK_SPRUCE_LOG_Z || - block == BLOCK_GLASS_PANE || block == BLOCK_SPRUCE_STAIRS_E || block == BLOCK_SPRUCE_STAIRS_W || + block == BLOCK_GLASS_PANE || block == BLOCK_GLASS || block == BLOCK_SPRUCE_STAIRS_E || block == BLOCK_SPRUCE_STAIRS_W || block == BLOCK_LADDER_N || block == BLOCK_LADDER_S || block == BLOCK_LADDER_E || block == BLOCK_LADDER_W || block == BLOCK_SPRUCE_DOOR_N_LOWER || block == BLOCK_SPRUCE_DOOR_N_UPPER || block == BLOCK_SPRUCE_DOOR_S_LOWER || block == BLOCK_SPRUCE_DOOR_S_UPPER ||