From d7db5d666c6590238f46f0538d74560e1e829669 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Mon, 23 Mar 2026 13:18:10 -0500 Subject: [PATCH] add support for slabs --- include/minecraft_data.inc | 7 ++-- include/world/world.h | 2 +- minecraft/configuration.idx | Bin 16140 -> 16188 bytes minecraft/gen/block_ids.csv | 1 + minecraft/gen/block_ids.py | 6 ++- minecraft/gen/mc.py | 4 ++ minecraft/gen/obj_write.py | 2 +- minecraft/gen/slab.obj | 35 ++++++++++++++++++ .../grandlecturn/region.-1.-1.instance.cfg | Bin 560 -> 568 bytes .../grandlecturn/region.-1.0.instance.cfg | Bin 560 -> 568 bytes .../grandlecturn/region.0.-1.instance.cfg | Bin 560 -> 568 bytes .../grandlecturn/region.0.0.instance.cfg | Bin 560 -> 568 bytes .../midnightmeadow/region.-1.-1.instance.cfg | Bin 560 -> 568 bytes .../midnightmeadow/region.-1.-1.instance.vtx | Bin 2067264 -> 2067264 bytes .../midnightmeadow/region.-1.0.instance.cfg | Bin 560 -> 568 bytes .../midnightmeadow/region.0.-1.instance.cfg | Bin 560 -> 568 bytes .../midnightmeadow/region.0.0.instance.cfg | Bin 560 -> 568 bytes minecraft/per_vertex.vtx | Bin 80480 -> 80704 bytes shader/minecraft.frag | 1 + src/hud.cpp | 5 ++- 20 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 minecraft/gen/slab.obj diff --git a/include/minecraft_data.inc b/include/minecraft_data.inc index 6e7cf37..2c31b9f 100644 --- a/include/minecraft_data.inc +++ b/include/minecraft_data.inc @@ -16,7 +16,8 @@ struct { {1152, 3180}, // candle.obj {4332, 1584}, // custom_mushroom.obj {5916, 36}, // fence.obj - {5952, 24}, // stair.obj - {5976, 12}, // tall_grass.obj - {5988, 2082}, // wall_torch.obj + {5952, 24}, // slab.obj + {5976, 24}, // stair.obj + {6000, 12}, // tall_grass.obj + {6012, 2082}, // wall_torch.obj }; diff --git a/include/world/world.h b/include/world/world.h index 26c22b9..beba3b5 100644 --- a/include/world/world.h +++ b/include/world/world.h @@ -26,7 +26,7 @@ namespace world { }; // also update index_buffer_custom_offsets in include/minecraft_data.inc - const int custom_block_types = 6; + const int custom_block_types = 7; const int instance_cfg_length = 64 + custom_block_types; struct instance_cfg_entry { diff --git a/minecraft/configuration.idx b/minecraft/configuration.idx index 40b70afdf8aaf8d9da86e1da98e04a105c3e5dc4..c3d89726f48721442339ae8a3892e44d24bc7a37 100644 GIT binary patch delta 3231 zcmWmGb#zr%69w?3P*NmkX7*qyDK3FPkO09UxCVl|ySu}~B?NuN-6goYLve>7!4h0Q ztXQGn^q>9inRCy(cdfV9Z@=i_`-g8H72@&taXyorpU-bT(QdMv;-l>≀Dxy5dYV;}J$pZRX7?IiI@X*-MDGTT}1 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 diff --git a/minecraft/gen/block_ids.csv b/minecraft/gen/block_ids.csv index 4dcf47f..ca88358 100644 --- a/minecraft/gen/block_ids.csv +++ b/minecraft/gen/block_ids.csv @@ -24,6 +24,7 @@ Lilac Grass,37,,15,tall_grass,two_sided,, Spider Plant,38,,13,tall_grass,two_sided,, Spider Plant,39,,13,tall_grass,two_sided,, Red Mushroom,40,,14,custom_mushroom,,, +Slab,44,"0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15",4,slab,slab_oriented,, Start/Finish Line,45,,16,,,, Shadow Block,49,,20,,,, Wall Torch,50,"1,2,3,4",62,wall_torch,"emits_light,torch_oriented",, diff --git a/minecraft/gen/block_ids.py b/minecraft/gen/block_ids.py index dffae20..5d4b48d 100644 --- a/minecraft/gen/block_ids.py +++ b/minecraft/gen/block_ids.py @@ -85,9 +85,11 @@ def get_special(block_id, block_data): return 1 if "stair_oriented" in decl.properties: return 2 + if "slab_oriented" in decl.properties: + return 3 return 0 if __name__ == "__main__": from pprint import pprint - #print(sorted_custom_mesh) - pprint(sorted_decls) + print(sorted_custom_mesh) + #pprint(sorted_decls) diff --git a/minecraft/gen/mc.py b/minecraft/gen/mc.py index f22459c..cbd706d 100644 --- a/minecraft/gen/mc.py +++ b/minecraft/gen/mc.py @@ -125,9 +125,13 @@ def build_block_instances(blocks): light_sources = [] for position, block_id, block_data, normal_indices in blocks: + if block_id == 44: + print("bd", block_data) if block_ids.is_light_source(block_id, block_data): light_sources.append((position, block_id, block_data)) if not block_ids.is_cube_block(block_id, block_data): + if block_id == 44: + print(block_id) custom_mesh_index = block_ids.get_custom_mesh_index(block_id, block_data) non_cube_blocks[custom_mesh_index].append((position, block_id, block_data)) continue diff --git a/minecraft/gen/obj_write.py b/minecraft/gen/obj_write.py index 823fd0b..426c408 100644 --- a/minecraft/gen/obj_write.py +++ b/minecraft/gen/obj_write.py @@ -17,4 +17,4 @@ def write_obj(vertex_buffer, index_buffer, index_lookup, path): state = obj.parse_obj_from_filename(path) obj_state.append_triangles(state, vertex_buffer, index_buffer, index_lookup) index_count = len(index_buffer) - index_start - print(f"{index_start}, {index_count}, // {path}") + print(f"{{{index_start}, {index_count}}}, // {path}") diff --git a/minecraft/gen/slab.obj b/minecraft/gen/slab.obj new file mode 100644 index 0000000..7c9e25f --- /dev/null +++ b/minecraft/gen/slab.obj @@ -0,0 +1,35 @@ +# Blender 5.0.0 +# www.blender.org +o Plane +v 1.000000 -1.000000 1.000000 +v -1.000000 -1.000000 1.000000 +v 1.000000 -1.000000 -1.000000 +v -1.000000 -1.000000 -1.000000 +v 1.000000 0.000000 0.000000 +v -1.000000 -0.000000 0.000000 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 0.7071 0.7071 +vn -0.0000 0.7071 -0.7071 +vn -0.0000 -1.0000 -0.0000 +vt 0.500000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.500000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.500000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.500000 +s 0 +f 5/1/1 1/2/1 3/3/1 +f 6/4/2 4/2/2 2/3/2 +f 2/3/3 5/5/3 6/6/3 +f 5/7/4 4/8/4 6/9/4 +f 1/2/5 4/10/5 3/11/5 +f 2/3/3 1/2/3 5/5/3 +f 5/7/4 3/12/4 4/8/4 +f 1/2/5 2/3/5 4/10/5 diff --git a/minecraft/grandlecturn/region.-1.-1.instance.cfg b/minecraft/grandlecturn/region.-1.-1.instance.cfg index ea0a7b7cd126bad5c63593be94f7bcf0935a2d5d..c3d12e47e4c73ef119b66c3251a0a555138c4205 100644 GIT binary patch delta 11 ScmdnMvV&!V1k+>zCItW%Wdi^J delta 11 ScmdnNvVmoT1k+>%CJ6u*odXB} diff --git a/minecraft/grandlecturn/region.-1.0.instance.cfg b/minecraft/grandlecturn/region.-1.0.instance.cfg index e86bcd23f6a8e08c421c068a0596305680be1da1..a837a9f77a4288b0a2978a2285bb9a3fa3de27f0 100644 GIT binary patch delta 32 gcmdnMvV&!V0+R#-5G-KlVR*+3p?QJ)1~(oC0B%hMkpKVy delta 11 ScmdnNvVmoT0@Gv-CIJ8z-2)H+ diff --git a/minecraft/grandlecturn/region.0.-1.instance.cfg b/minecraft/grandlecturn/region.0.-1.instance.cfg index 66da538f0499e1b2739aacdbdc9995dc90cdc3b8..7bcdf471f86b6b1e1b702c35e3ed4a71170df81f 100644 GIT binary patch delta 11 ScmdnMvV&!V1k+>zCItW%Wdi^J delta 11 ScmdnNvVmoT1k+>%CJ6u*odXB} diff --git a/minecraft/grandlecturn/region.0.0.instance.cfg b/minecraft/grandlecturn/region.0.0.instance.cfg index 2fb9202fe1331f83aa1c8de730b9afd2d9079dfb..2b0c5042cd884a372b50ff9d444c4096c8e37060 100644 GIT binary patch delta 32 gcmdnMvV&!V0+R#-5IFP*Go%VaXk{RO!Xgm{0BrpQ_y7O^ delta 11 ScmdnNvVmoT0@Gv-CIJ8z-2)H+ diff --git a/minecraft/midnightmeadow/region.-1.-1.instance.cfg b/minecraft/midnightmeadow/region.-1.-1.instance.cfg index b2fe5f9bcbd8ce2d56c73428c75d19dffdb06ca0..20928d3da6fbe2127ff000a6f94a25ccb95cd11a 100644 GIT binary patch literal 568 zcmZXRyGjF55Qaam@e*@R@KT6ku(R;;2pV4?RY<@hM9|VzUqEY{lwuVvL?p#F7GkrH z5G}11RIG$NfQA3$L}GB7Z|DE#%*;6pA?|x@iOngP6>IabJ_L;gC|bS-k~mw3tk~Xw z!(sWGu&SJL&f%Kxa1fYlS;o%SEEpMSbM)0{F2z+U(}UJ z#1X5jJ0`@E_#39T|KxU#{k~sTfmfc999{NxE3;^6a4LOH-_5r$Cw&il_z%ae21a6D ze*4I78DdOGBTr7;I`-Jh`V-&%FNtV-G)_Z(Q+&`n8ZA1xJWD;^h_TO;`BeW!n*!Sx GEBpX@vOy^T literal 560 zcmY+AIZgvX5JexWS!}v3mH-K1kr5bt1hxa1#KM+9BY_}g&4-v|Vn>Dm3E^N80z|?Q zjL3*40Y^w2fPh~fFQSsyzq;#pRY4k$T{gvd3TDOAc_fD zXdPChsX$&R>_JW}RpHq3H5d_s07k_~lr1gsn%dK5K3t|#eIjaPIB=c0fG1ABazCz-STsJa=7Y N+VWX6ckS(FnLiuOLt_8{ diff --git a/minecraft/midnightmeadow/region.-1.-1.instance.vtx b/minecraft/midnightmeadow/region.-1.-1.instance.vtx index bfb4e6b27fd59644d78835721f8b1c4b7895eb2d..42836c7b4df1fd6cd633b4d5304924e2ea43e5bb 100644 GIT binary patch delta 926 zcmZ9KPfrs;7{=drJb&c%~w zV=E1Jwc&<97+ByO=mOoK2lRpn=mY0LKZwePJCF)XFFWx0lko0xSvnwXBnd4-%TMf|zyt;+gB>5)CE0ZF% z#i{5!HABa(Z;~Ik`2BsSq@L0r+|vu8k3D>c&cnFABM!cD*1|2BX!81+qvcU+0u*km zEShu-ER}8N=EI7ZPHwt8y9BwW2!zH1e-@PGPUpr~gB6!0&e9)a!pC=>N9!YRMi1F>nD4fs5c0 XxD1BD6>t??10%oz*Ja7RvGM9Zjx!!f delta 981 zcmZXS%TH556vhuNr4%VMRz!SUZ0Hhnfzc&V8&`x-H8G0CTyOsXpxv1WO&UXt(M=PE z#D#9UaYN}X3>Zy_`z9LJ7#A8f3clClHv>1`jFbEp-*?WObLO$RIJdbtSHF^I%lp~H zbjE)*ygPKMq4M-e5oM^8B1Gi>r*F~cP`qiyn+oyjJ$J}|eLWW!xhzXp)9y$VZl&ff z)Z8`@0a4HnVxR-WK_^InE^q*JgQTpvJ!6si6*T&Y#={tE6octO!&(m-)_Sn8UbXa^ zrKP2xsml~cKYa;UQh7aZ-a2(FYejkVC74RIE->Fg=06KN*TY-H-HU8X%-~k$8&;lg z>87PuExl&xqof`H8fC zi;F*6S#ywUs)~_HWNZRx>+5AZ_WpzqMZPu20=P+aS8me%>f zejWc2Xt}+_w#FRo>5~RI%j%lxX+D8yy=Mh^{sSvNaL%a${XydX?;yQVpM7uM?HQgC ze3rj+)~!d_2tSh8ndMdSw8%Y?D)F2wmU#K`LW3U!DR2n%g2SK>90C2{C^!a=gA>33 L1G2$SKDzT4OHMKK diff --git a/minecraft/midnightmeadow/region.-1.0.instance.cfg b/minecraft/midnightmeadow/region.-1.0.instance.cfg index e34a3e256122ed72884c48db7eb07db06dbaec9f..25a1a9b7f0fe1a342bfe4c126b5d4141f0d3bd79 100644 GIT binary patch delta 11 ScmdnMvV&!V0@Gv(CJ6u*r2_~6 delta 11 ScmdnNvVmoT0@Gv-CIJ8z-2)H+ diff --git a/minecraft/midnightmeadow/region.0.-1.instance.cfg b/minecraft/midnightmeadow/region.0.-1.instance.cfg index a9bfe08850864e466747999d555eb25b3781480c..bf956c83bfe4e2f3efaa7b82e126d0eb53c60ed6 100644 GIT binary patch delta 11 ScmdnMvV&!V0@Gv(CJ6u*r2_~6 delta 11 ScmdnNvVmoT0@Gv-CIJ8z-2)H+ diff --git a/minecraft/midnightmeadow/region.0.0.instance.cfg b/minecraft/midnightmeadow/region.0.0.instance.cfg index 1fe71be2a4a2ec35f54a59344b7976e2ba3dcffb..4956c3a7ed37f35554c49486856cefdf132f2235 100644 GIT binary patch delta 11 ScmdnMvV&!V0@Gv(CJ6u*r2_~6 delta 11 ScmdnNvVmoT0@Gv-CIJ8z-2)H+ diff --git a/minecraft/per_vertex.vtx b/minecraft/per_vertex.vtx index fdcceedf88fafa9b15f1ccec4244a1933d6df6b8..bbf391ad1bbc2394201e122f7806af9d11428e76 100644 GIT binary patch delta 239 zcmaFxh2_9EmJJJE)LSrsfDM?mV6b4=0cPz%;_m>8GOVy%VF^|RQ4irWz}3U#K_-9! zQ2kDzdK;j5APAD*36y}D598Y;fQ3MsAXYNKG=TXa13+4U20-N@e4u);gFse6<)Icr Pcrf#T-rBt2#eqNoDHt*r delta 14 WcmX@`jpe}?mJJJEY;JtHKM(*z>glyph_height; font::bitmap::draw_string(ter_best, " warp: l", 10, y); y += ter_best.desc->glyph_height; font::bitmap::draw_string(ter_best, "gamepad:", 10, y); y += ter_best.desc->glyph_height; - font::bitmap::draw_string(ter_best, " move: right stick", 10, y); y += ter_best.desc->glyph_height; - font::bitmap::draw_string(ter_best, " look: left stick", 10, y); y += ter_best.desc->glyph_height; + font::bitmap::draw_string(ter_best, " move: left stick", 10, y); y += ter_best.desc->glyph_height; + font::bitmap::draw_string(ter_best, " look: right stick", 10, y); y += ter_best.desc->glyph_height; + font::bitmap::draw_string(ter_best, " elevate: left/right trigger", 10, y); y += ter_best.desc->glyph_height; font::bitmap::draw_string(ter_best, " warp: a", 10, y); y += ter_best.desc->glyph_height;