From 50188813f8f017d297ad1cd5fc822402dde9fb82 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Mon, 9 Mar 2026 19:47:12 -0500 Subject: [PATCH] wheat, ladders --- include/data.inc | 1 + minecraft/configuration.idx | Bin 1236 -> 1260 bytes minecraft/gen/data.py | 2 ++ minecraft/gen/mc.py | 12 ++++++++-- minecraft/gen/vertex_buffer.py | 2 ++ minecraft/gen/wheat.obj | 36 ++++++++++++++++++++++++++++ minecraft/per_vertex.vtx | Bin 1280 -> 1536 bytes minecraft/region.-1.-1.instance.cfg | Bin 536 -> 544 bytes minecraft/region.-1.-1.instance.vtx | Bin 5261248 -> 5261936 bytes minecraft/region.-1.0.instance.cfg | Bin 536 -> 544 bytes minecraft/region.-1.0.instance.vtx | Bin 5680840 -> 5683400 bytes minecraft/region.0.-1.instance.cfg | Bin 536 -> 544 bytes minecraft/region.0.-1.instance.vtx | Bin 5788976 -> 5788984 bytes minecraft/region.0.0.instance.cfg | Bin 536 -> 544 bytes minecraft/region.0.0.instance.vtx | Bin 6127888 -> 6128456 bytes src/test.cpp | 9 +++---- 16 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 minecraft/gen/wheat.obj diff --git a/include/data.inc b/include/data.inc index c7e97c3..029829b 100644 --- a/include/data.inc +++ b/include/data.inc @@ -15,4 +15,5 @@ struct { {1152, 12}, // tallgrass.obj {1164, 36}, // fence.obj {1200, 36}, // torch.obj + {1236, 24}, // wheat.obj }; diff --git a/minecraft/configuration.idx b/minecraft/configuration.idx index 9dd0708fb1be37f4a9ac84f8cb35110ec0d3ae33..c9e0a026cb83d8489436f65c4debf360a5126173 100644 GIT binary patch delta 32 ncmcb@`G#}D6&8trz@Xre(6I1`$f)Rmn84uJkg&M$$oMD#$gB&K delta 7 OcmaFEd4+Ss6&3&vwF6rK diff --git a/minecraft/gen/data.py b/minecraft/gen/data.py index e05fcd3..f348f74 100644 --- a/minecraft/gen/data.py +++ b/minecraft/gen/data.py @@ -257,6 +257,7 @@ class Texture: ORE_LAPIS = 160 POWERED_RAIL = 163 REDSTONE_DUST = 164 + REDSTONE_DUST_LINE = 165 DETECTOR_RAIL = 195 @@ -319,6 +320,7 @@ tiles = [ Tile(BlockID.OBSIDIAN, Texture.OBSIDIAN), Tile(BlockID.TORCH, Texture.TORCH_LIT), Tile(BlockID.STAIRS_WOOD, Texture.PLANKS), # fixme + Tile(BlockID.WIRE, Texture.REDSTONE_DUST), Tile(BlockID.ORE_EMERALD, Texture.ORE_EMERALD), Tile(BlockID.BLOCK_EMERALD, Texture.EMERALD), Tile(BlockID.FARMLAND, Texture.FARMLAND), # fixme diff --git a/minecraft/gen/mc.py b/minecraft/gen/mc.py index b6510d8..aa08584 100644 --- a/minecraft/gen/mc.py +++ b/minecraft/gen/mc.py @@ -37,10 +37,18 @@ custom_blocks = [ { # "torch" model data.BlockID.TORCH, }, + { # "wheat" model + data.BlockID.WHEAT, + }, ] non_solid_blocks = set(chain.from_iterable(custom_blocks)) +hack_non_solid_blocks = set([ + data.BlockID.LADDER, + data.BlockID.WIRE, +]) + def neighbor_exists(level_table, chunk_x, chunk_z, nx, ny, nz): if ny > 127 or ny < 0: return False @@ -54,7 +62,7 @@ def neighbor_exists(level_table, chunk_x, chunk_z, nx, ny, nz): n_block_index = mcregion.block_index_from_xyz(nx, ny, nz) n_block_id = level_table[key].blocks[n_block_index] - has_neighbor = (n_block_id != data.BlockID.AIR) and (n_block_id not in non_solid_blocks) + has_neighbor = (n_block_id != data.BlockID.AIR) and (n_block_id not in non_solid_blocks) and (n_block_id not in hack_non_solid_blocks) return has_neighbor def block_neighbors(level_table, chunk_x, chunk_z, block_index): @@ -76,7 +84,7 @@ def block_neighbors(level_table, chunk_x, chunk_z, block_index): yield i normal_indices = list(find_non_neighbors()) - if block_id in non_solid_blocks or normal_indices: + if block_id in non_solid_blocks or block_id in hack_non_solid_blocks or normal_indices: yield center_position, block_id, block_data, normal_indices def devoxelize_region(level_table, level_table_keys): diff --git a/minecraft/gen/vertex_buffer.py b/minecraft/gen/vertex_buffer.py index 6669193..af93b41 100644 --- a/minecraft/gen/vertex_buffer.py +++ b/minecraft/gen/vertex_buffer.py @@ -73,6 +73,8 @@ def main(): write_custom_obj(f, vertex_buffer, index_buffer, index_lookup, "fence.obj") index_lookup = {} write_custom_obj(f, vertex_buffer, index_buffer, index_lookup, "torch.obj") + index_lookup = {} + write_custom_obj(f, vertex_buffer, index_buffer, index_lookup, "wheat.obj") with open("../per_vertex.vtx", "wb") as f: build_vertex_buffer(f, vertex_buffer) diff --git a/minecraft/gen/wheat.obj b/minecraft/gen/wheat.obj new file mode 100644 index 0000000..89c118a --- /dev/null +++ b/minecraft/gen/wheat.obj @@ -0,0 +1,36 @@ +# Blender 5.0.0 +# www.blender.org +o Cube +v -0.500000 -1.000000 -1.000000 +v -0.500000 1.000000 -1.000000 +v 1.000000 -1.000000 0.500000 +v 1.000000 1.000000 0.500000 +v 0.500000 1.000000 -1.000000 +v 0.500000 -1.000000 -1.000000 +v 0.500000 1.000000 1.000000 +v 0.500000 -1.000000 1.000000 +v 1.000000 1.000000 -0.500000 +v 1.000000 -1.000000 -0.500000 +v -1.000000 1.000000 -0.500000 +v -1.000000 -1.000000 -0.500000 +v -0.500000 1.000000 1.000000 +v -0.500000 -1.000000 1.000000 +v -1.000000 1.000000 0.500000 +v -1.000000 -1.000000 0.500000 +vn -0.0000 -0.0000 1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -1.0000 -0.0000 -0.0000 +vt 0.000000 -0.000000 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 1.000000 0.000000 +s 0 +f 4/1/1 16/2/1 3/3/1 +f 5/1/2 8/2/2 6/3/2 +f 11/1/3 10/2/3 12/3/3 +f 13/1/4 1/2/4 14/3/4 +f 4/1/1 15/4/1 16/2/1 +f 5/1/2 7/4/2 8/2/2 +f 11/1/3 9/4/3 10/2/3 +f 13/1/4 2/4/4 1/2/4 diff --git a/minecraft/per_vertex.vtx b/minecraft/per_vertex.vtx index bf18c313c39d8293312d098cb18f9b82a850c4a0..f98518d08c0c99cb8898521a75ee515f5b459d07 100644 GIT binary patch delta 265 zcmYk1u?@f=3er+BE!XJLmZHh&i;R!>$uK)Z=!aKaH_vU#>dra z`eQW3E1|_utgq9H9v+j?)9s%8_)Fg6Dh)vvFmyAhgcwJ6MKA;4?8kuh0oG!{Tu7X9 LAbG4X^EQze{YNBx delta 6 NcmZqRY2aGG3IGPB0lWYJ diff --git a/minecraft/region.-1.-1.instance.cfg b/minecraft/region.-1.-1.instance.cfg index 0da889f17c11214d54644d3a418343cc07d1c910..e6c7a4e97ae0bd9a06977fe0c49afe2f36f80899 100644 GIT binary patch literal 544 zcmXAnO=}ZT7=<63rlwJ9{DP{j%mkFwRd68{DV^lr`OuA78Fba35JhYjrA815;zvP{ ztW+p!L_r0SxQW>a4G4lRqFuQVl8q9um2L{2HnVxS=e*~gbBBS!^DjBzz4$P1itu{} zI5!>cNUuI{sKuezb(k1}`T>`*nDk>Vm*j8ExEztcvg9%<|H%iJXYzY(ms{d^*JV6;!My(e)ax1Dcway%M= z#;+W!yVd7Vo)-xySMt19uJtL;Mfs&~c``arj~F`ITi#>1AZCvn8k+w(Z8*A1eHRT) z^;_x~V)85NhL_6K;+FloSAU;nUVinA#fo0ha!{PRY%%f^w+FuS&XSb={flK*%=9c* zMQ6z8)L!+P^jX*b(sQ3>?H~W>lTbeU+2@4Lr8S?L*xK~j5G%=mwt9Mp1KuiEoeL=H zUa4yVP3bH3fGc9-Prxhr(aDgz^6O#9dFiQzkn3ByW{4TqzONw7{))kYt358goT6=Gm8hsLmfiwV9m~a=f|n`5NVhGg}@Gt6txu5$r2(E zf)Yvz648q-6e4sP4-p-V^%6ly5fv*E40y0-*|~gppXYtv@B0q4zhB*LKI$q`9fv<1 zuzug+p7g;d4zpb_`orO5C*-{@Jq2hCxLlNZHKh6L7D&(c+&%6&QDgSySWLR}`CuFwu?p{bPT2@4+J+r=uCFQJZ5#zcm zy%Dh{{meqdr0D#PSd_nfI%ZnF9mZUeo=(Noq&MHiREpxKn5WY7otU>hx@#n1Y*%+L PCLGl7^r9+5Vk-Uz)^&4J diff --git a/minecraft/region.-1.-1.instance.vtx b/minecraft/region.-1.-1.instance.vtx index 74af066c93ed83f76dc8f8e74ad9b56e552c3581..497eb5cbdb81dcacd753a02590b0178b2ed6036e 100644 GIT binary patch delta 1927 zcmXw)T}+!*7{}kX^aBN3rh^V-P`ZsWR$BVanB(miFgF~U$Rvh{df{g>X6Lfq%q2L% zMQImUUSqs4(FAqIv6ykj$3}sRg$rX8ci|Ot$rhr~jCet%l;i(--^0Z(|DN-n_j%9x zKhJrZP0#Bejm_&P?$7yd zah){J{ZgJ+tGcON`B09IfFWnc$*5?`795p>t=aW`j3}Mx3qa>WyIk$AcRsFari6f9F*g%y2`1~BI*V= zu;Xb*-i3VQH=YGlori8>O!WZ|*om7Cf2YZh=wa!`aNXHTW~r+C#%ZB-TfA2qnmAks zoL~>w3-*C}-~tU`KWGF8fEzRc5AcF!-~)aT06`D}VGsc=Y~t|2OY5a2sD@%Bx&(6%N1{?-$tS&77bI>-)eb}2$M~a%&GuwNzU1y!fkj$Ni9WY#}Ps#CW zAABXheK?_}8$z*EIhm5*F{(?Hm6TkCpESFUSrg3~B&Gkfd};gl>S_7&ASKF<(g`8p z1*i|U>a2785Y(v7=T-HpNuR?N!&a4R@5?D={~380pTL-1J0t&FZfc|768rK~d0@BY zGD42=oWyM3%kMTc=6D05QS!n_o_ZoEE-}WGoIEb>JjO79jo+1*4D9Uh@@h#W!>Myb z;U#sBs4;_gHKoo$W9l5F)Hz6ls$s{^wC9TTaIR} zW;!qJ|L6PBwb#uVYxIC=WU zZ}C%2wG@B?lX6_ZDIP-$*ik%#F-2kb^ofBV)UHB3OzFO!h}29Wv{w35FmwepPpHqp zS2lhUNN2S1Wi4OTgCNFgiyR7tW%5hd(%kHdoyydoJFf+#cjm%rq hnfb&*feYMd9m-zq1V_NL;3zl-y1;Ye*{jFD_#dxMTXz5e delta 1241 zcmXYxT}+!*7{|}s?uAyt4iu=ct`ryvp?E|WLS{J!6MKuq#3@hSUe1MZ@?CeHz}$qpfPixsF}@Rk07eU)Lc&F$hQ zN1)!znSpd>KmjIT2D^X?%0M}=04sP3JPj&9C3ptdz-~|ls=>41IZy*?K^?GDX5jgT zm9jS6uScY3JoTUf>;Vq27dUCg)A;u!lDLW_vh1UOa*gk`sD9j0p|QUjzqpLGD?4k$ z!>&J@^}&qml}?$YBIdcn&_(VP1vZOC4(@1|C}PtMtUt#54cuUZtMq>}u4cVH>+(5s z#!Ry*2b-QCB8L-7TKe?qtZUO<*8sV=%sI!rqOzfoZIG8g4}zWt~aMw zyPJU27r;Ky0`>zpXaz3<4>$n4zz5nuJ2(jZAOJc*CkTQN2!jZ%b|3oau_Fj43UH|c zmRb$HYG@Gd74&yPT|cTpEEUpi;Vy6(yaZkb-P9J={yRkN=QX>c4_?rsY6mPirPBp% z*b#thA-E*nGeP~xTY(;is(SLGHmomP)F$*}quP{L2DgeOBiL@}2B)A#urc0b6?zaQ z2Wp@7FHL--z1`~B;6B94B7{%`zubeKm1T_>JzO+; zI3SoqQS|{x6T&x;HUgh(iZ!wcCIC6`e5fZX3)s5eH|Nj>+26GPjr=X{oVj-r#Rt<rotlU$(iAt`!q+oTc4oj{H_bmeC`rdlnf{WYtF5WKw(I vl11<&pHb=V?c{`;h8`t{ytL}-&3>F7neGKg!7*?g^nreG;@Zgc$GT9K}DThF0cYA`ODwS?E&15+c(@Y-VS6W@oLvB+?;@JS;(}Czm9Oh!7(3 zU};b=M0D!UVp59{Yh?aeBb-M_x*l@nn({s_Und{HV2(zmmj~pQ{!FY9D)Lv8;2fS~SG>{I$3kRl_9|X*_#)h1 zak!^>I&7Cm(#01WGeYV0LWV8zgQX1f!undK zxnJpk$4%9-evkH}%DL>(kT0I~sVToa;d4!TdD>^AMf{@Ad-17dpR<~y_S2`(3HgT4 zqI@$0Syr`YYBb9^%^fafIUn86$$-bwD`NpG(#K~5Uh7_}n*kHz&5<16_e!72@lZZ* hA;-vJ)yIbTe58fj>qE`QpZ+jR^czIj8!_c!b^s^#cu)WU literal 536 zcmXAnO-K}R7{-6*Dppt?1eZXVo$U}2u@stEhh=u>Yj@2h!eqPHB{%XQLa|zhB{~Ei zT0&7oa4$h32Gt>ph$QI4qV_o8AvLN+Is|qQy7cTimxurRoA-I2_df%B&+)^1`XUq} zI}Q&UA-rHvIt1}o1`93lCKh2<^_3eDCYqq|Ai_U!?{$QAaiiPhsrc?~lRM(~=1iuf zv+qonr9C?)m3>e)qMXp#I1^=SqmklJl(XtD4O^TFL4MKVt=`*Rv-qug+onZMI(jU@ zbJgS56Z|+JUQCc{l~0hs*7=W>-$wh9=CM%PI@$VDo4&^M}1k#=UdJHn$Mv4M$upYzHQtN0A> zSAE;(nfijR6rZ%`=;ajs%KhO}}Vug&rq h%Wz+P;l&J>I+VAwkJTd$ctKzN<7XcaQ2PyP`X7u;b@u=O diff --git a/minecraft/region.-1.0.instance.vtx b/minecraft/region.-1.0.instance.vtx index ab02d7c9cab81b18f7175f648a3ac46017ad91f2..a865546ef1b13fe8739478e7d4dcddf13243b63b 100644 GIT binary patch delta 7963 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 delta 5351 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 b(Cwi0pbenUfbIZwgFXwoQ%tqp6?pWY*?Ch+ diff --git a/minecraft/region.0.-1.instance.cfg b/minecraft/region.0.-1.instance.cfg index 774146baf22101d9454d81ca8f30b40912325a2f..31681be6d715b5b987df972d08996474b1760064 100644 GIT binary patch delta 426 zcmZXPO^8xq7=<6_TABS2uAD{SAPfW*EuB@vy`T4by$T`)Ss+0_1Z|wfKr={6wQyN5 z3!}|U5l9diOyH&;8f?)bELw=GcDhIn+FV>jXW#1ZzRx-DcfNLXH~P5Q@PAnhmeY)* zkgVJMv7q$AW`7ALpKOjFh1Srf9Mha~=xKlNhQlHbnJtH@a5m0gu12`a11Jl!8Kk7t zIYrsHbVRZcvXGUXS-8AqGg-*9vU>V{pUdz0{xac}@M1dUK8LujY2+ykl`}EkL*Q=4 z*vp5<|1ru+AblUByI6C*#ew$YLlz$qXq&Qlk&hdT$wC;-S$vAGY%#ow#~8AC(ytlD zr2D&L=u>|2m0`F7uCpeEDTm;9oT>sD&*RKUka>-Brl54hW?2t!*W1jAcSmftguP2P zt-|z?&9V64$>xvd>`wYYgM5z% zHC=4?xD_$zdQ7NDFyIl%$Q`$EQDNFIUkfgH4m2~3B!8_wB{u^-Aftk#>8aLAPJu}bb z```AfpIEVB$H4+lT)0`p!xGD^;AIsbegXtpBg8rzY_i2RJA~OKLXXSa}i@xee-=<^p{ck!4KTckx delta 235 zcmWN=*;0W40EXeQl`T;Tt+a1Q_9a5HMz-9GqsF{5UB!O`9XV*y?Q|!7&&>1t^=Dq{ z2PVu|uwrA4b?i8B;=;`a9yamfV~cHe@Uu&RAR+eH=YT_wI3`Sl6HYnfoC_|w;+h+7 zxg$!9IQJxYAW4ce8M5TaQ=mwRN6J)q`mWB6&xKLdn%4DM8~UP6ZE0IO+SQ)EYF`KX Trb8X+SSLEw_tnCf{jB~0K#g9C diff --git a/minecraft/region.0.0.instance.cfg b/minecraft/region.0.0.instance.cfg index c913078bf2b028206a8dc27e10eb575ce3a60a27..beeef6b9d79d5894d4020130275ba6329359f297 100644 GIT binary patch literal 544 zcmXAmJ!lgF9L0Y&sZHxgi#kLXFS#h`PzX+;pce9VIdjdmI=BRii=hM+SLf_;{U8iSnh#Df0Xfkuu_Q9+#&zZC~fIU$HbE!KW`EULHV&s zS@rCO$=v|7hGO)nZrCxJYXN>$W6a6tSt(|^A$%jnqVH>@IH}yuhZKXtN+QiWpTC|a z-LF3NG;assbTq@Xbg!P_qx6wrme0E(WM-M~()YKs?B5RVqb!q}FZ?CT1?^St%5hT| zUdZuJ{cFP(uce=>T6|Sbqi%6rdwZ`eo@n0IV4hpTYiIL3Q(j^*PoMOGPkEk-pBT2e zC`?pren^im+c>Ig-)vUny4#@>98aePOTEP+WTlX1pOMa4}a8$o>FK%w1f5rx4Q zZiFI=Rgh#ONEL^jK&&huINm!LpfdS|S_KVfF3 zz;Pi<1@5HeJ7keoUGyzl-4yY8i>n4atU62#K=z8mUG;UIIvkO2_npHIVY0K#+a8~k zaW?9Iv&>uuqFjYD(%a1nvZIu8`8cR~d6&zp)Ia5tT@CgFmlMjj@X2LddlmbtB*KMT zRhBj1-s92k<)8HUDj&1yu}^#Ndgbv%d9!wn8^ZRn8qeex->b1!dep5kD}K7@b5>;K{N-WG4|XIORiWI#v$#{Gb4%}rhe+*Z!S2$>TfZwtBB%egn?gZz&+ zLN>`S^E%{>_L^D_8B*@W(+BvwL3+B*cIn1MoeR1PtvZ*an^r{F%lSNFY>n=?6!A!W dJUoJ7s(*fjQ-}KS<_{v8*11u(3QLot{0B)4bh7{e diff --git a/minecraft/region.0.0.instance.vtx b/minecraft/region.0.0.instance.vtx index 3d7dbff3cbba09649f2cda9667636ebd99f0ccf7..78d24b276b7f76558b134f7646b1e391a1b8dc99 100644 GIT binary patch delta 1872 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 F_CF#{o5278 diff --git a/src/test.cpp b/src/test.cpp index 84c4bcf..8f65ba6 100644 --- a/src/test.cpp +++ b/src/test.cpp @@ -80,7 +80,8 @@ static unsigned int per_vertex_buffer; static const int vertex_size = 8; static const int per_vertex_size = (3 + 3 + 2) * 2; -static const int custom_block_types = 3; +// also update index_buffer_custom_offsets in data.inc +static const int custom_block_types = 4; static const int instance_cfg_length = 64 + custom_block_types; struct instance_cfg { @@ -457,10 +458,10 @@ void load(const char * source_path) load_texture_id_uniform_buffer(); view_state.up = XMVectorSet(0.0f, 0.0f, 1.0f, 0.0f); - view_state.eye = XMVectorSet(50.5f, 40.25f, 59.0f, 1); - view_state.forward = XMVectorSet(0.93, -0.38, 0, 0); + view_state.eye = XMVectorSet(-55.5f, 48.25f, 50.0f, 1); + view_state.forward = XMVectorSet(-0.63, 0.78, 0, 0); view_state.direction = view_state.forward; - view_state.pitch = -0.278; + view_state.pitch = -0.11; view_state.fov = 1.5;