diff --git a/include/minecraft_data.inc b/include/minecraft_data.inc index 029829b..33db70e 100644 --- a/include/minecraft_data.inc +++ b/include/minecraft_data.inc @@ -16,4 +16,5 @@ struct { {1164, 36}, // fence.obj {1200, 36}, // torch.obj {1236, 24}, // wheat.obj + {1260, 1584}, // custom-mushroom.obj }; diff --git a/minecraft/configuration.idx b/minecraft/configuration.idx index c9e0a02..82fa267 100644 Binary files a/minecraft/configuration.idx and b/minecraft/configuration.idx differ diff --git a/minecraft/gen/custom-mushroom.obj b/minecraft/gen/custom-mushroom.obj new file mode 100644 index 0000000..6306d2d --- /dev/null +++ b/minecraft/gen/custom-mushroom.obj @@ -0,0 +1,853 @@ +# Blender 5.0.0 +# www.blender.org +o Cube.003 +v 0.125000 -1.000000 0.125000 +v 0.125000 -1.000000 -0.000000 +v 0.125000 -1.000000 -0.125000 +v 0.500000 -0.003696 -0.500000 +v 0.375000 0.121304 -0.375000 +v 0.500000 -0.003696 -0.375000 +v 0.500000 -0.128696 -0.375000 +v 0.500000 -0.253696 -0.375000 +v 0.375000 -0.378696 -0.375000 +v 0.250000 0.246304 -0.250000 +v 0.375000 -0.003696 -0.250000 +v 0.500000 -0.128696 -0.250000 +v 0.500000 -0.253696 -0.250000 +v 0.375000 -0.378696 -0.250000 +v 0.250000 0.121304 -0.125000 +v 0.375000 -0.003696 -0.125000 +v 0.500000 -0.253696 -0.125000 +v 0.375000 -0.378696 -0.125000 +v 0.250000 0.121304 -0.000000 +v 0.250000 0.246304 0.125000 +v 0.375000 -0.003696 0.125000 +v 0.500000 -0.128696 0.125000 +v 0.500000 -0.253696 0.125000 +v 0.250000 0.246304 0.250000 +v 0.500000 -0.253696 0.250000 +v 0.375000 0.121304 0.375000 +v 0.500000 -0.003696 0.375000 +v 0.375000 -0.378696 0.375000 +v 0.500000 -0.003696 0.500000 +v 0.500000 -0.128696 0.500000 +v 0.500000 -0.253696 0.500000 +v 0.125000 -0.378696 -0.000000 +v 0.375000 -0.378696 -0.000000 +v 0.375000 -0.003696 -0.375000 +v 0.375000 -0.253696 -0.375000 +v 0.375000 0.121304 -0.250000 +v 0.500000 -0.003696 -0.250000 +v 0.375000 -0.253696 -0.250000 +v 0.250000 0.246304 -0.125000 +v 0.375000 0.121304 -0.125000 +v 0.500000 -0.003696 -0.125000 +v 0.500000 -0.128696 -0.125000 +v 0.375000 -0.253696 -0.125000 +v 0.125000 -0.378696 -0.125000 +v 0.250000 0.246304 -0.000000 +v 0.375000 0.121304 -0.000000 +v 0.375000 -0.003696 -0.000000 +v 0.500000 -0.003696 -0.000000 +v 0.500000 -0.128696 -0.000000 +v 0.500000 -0.253696 -0.000000 +v 0.375000 -0.253696 -0.000000 +v 0.250000 0.121304 0.125000 +v 0.375000 0.121304 0.125000 +v 0.500000 -0.003696 0.125000 +v 0.375000 -0.253696 0.125000 +v 0.375000 -0.378696 0.125000 +v 0.250000 0.121304 0.250000 +v 0.375000 0.121304 0.250000 +v 0.375000 -0.003696 0.250000 +v 0.500000 -0.003696 0.250000 +v 0.500000 -0.128696 0.250000 +v 0.375000 -0.253696 0.250000 +v 0.375000 -0.378696 0.250000 +v 0.375000 -0.003696 0.375000 +v 0.500000 -0.128696 0.375000 +v 0.500000 -0.253696 0.375000 +v 0.375000 -0.253696 0.375000 +v -0.500000 -0.003696 -0.500000 +v -0.375000 -0.003696 -0.500000 +v -0.375000 -0.378696 -0.375000 +v -0.250000 0.246304 -0.250000 +v -0.250000 -0.253696 -0.500000 +v -0.250000 -0.378696 -0.375000 +v -0.125000 -0.003696 -0.375000 +v -0.125000 -0.128696 -0.500000 +v -0.000000 0.121304 -0.250000 +v -0.000000 -0.003696 -0.375000 +v -0.000000 -0.378696 -0.375000 +v 0.125000 0.121304 -0.250000 +v 0.125000 -0.253696 -0.500000 +v 0.250000 0.121304 -0.375000 +v 0.250000 -0.128696 -0.500000 +v 0.250000 -0.378696 -0.375000 +v 0.375000 -0.003696 -0.500000 +v 0.375000 -0.128696 -0.500000 +v 0.500000 -0.128696 -0.500000 +v 0.500000 -0.253696 -0.500000 +v -0.000000 -0.378696 -0.125000 +v -0.000000 -1.000000 -0.125000 +v -0.375000 -0.003696 -0.375000 +v -0.375000 -0.128696 -0.500000 +v -0.375000 -0.253696 -0.500000 +v -0.250000 0.121304 -0.250000 +v -0.250000 0.121304 -0.375000 +v -0.250000 -0.003696 -0.375000 +v -0.250000 -0.003696 -0.500000 +v -0.250000 -0.128696 -0.500000 +v -0.250000 -0.253696 -0.375000 +v -0.125000 0.246304 -0.250000 +v -0.125000 0.121304 -0.250000 +v -0.125000 0.121304 -0.375000 +v -0.125000 -0.003696 -0.500000 +v -0.125000 -0.253696 -0.500000 +v -0.125000 -0.253696 -0.375000 +v -0.125000 -0.378696 -0.375000 +v -0.000000 0.246304 -0.250000 +v -0.000000 0.121304 -0.375000 +v -0.000000 -0.003696 -0.500000 +v -0.000000 -0.128696 -0.500000 +v -0.000000 -0.253696 -0.500000 +v -0.000000 -0.253696 -0.375000 +v 0.125000 0.246304 -0.250000 +v 0.125000 0.121304 -0.375000 +v 0.125000 -0.003696 -0.375000 +v 0.125000 -0.003696 -0.500000 +v 0.125000 -0.128696 -0.500000 +v 0.125000 -0.253696 -0.375000 +v 0.125000 -0.378696 -0.375000 +v 0.250000 0.121304 -0.250000 +v 0.250000 -0.003696 -0.375000 +v 0.250000 -0.003696 -0.500000 +v 0.250000 -0.253696 -0.500000 +v 0.250000 -0.253696 -0.375000 +v 0.375000 -0.253696 -0.500000 +v -0.125000 -1.000000 -0.125000 +v -0.375000 0.121304 0.250000 +v -0.500000 -0.128696 0.125000 +v -0.375000 -0.378696 0.125000 +v -0.250000 0.121304 0.000000 +v -0.375000 -0.003696 0.000000 +v -0.250000 0.121304 -0.125000 +v -0.375000 -0.003696 -0.125000 +v -0.500000 -0.128696 -0.125000 +v -0.500000 -0.253696 -0.125000 +v -0.375000 0.121304 -0.250000 +v -0.375000 0.121304 -0.375000 +v -0.500000 -0.003696 -0.375000 +v -0.500000 -0.253696 -0.375000 +v -0.500000 -0.253696 -0.500000 +v -0.375000 -0.378696 0.000000 +v -0.125000 -0.378696 0.000000 +v -0.125000 -1.000000 0.000000 +v -0.500000 -0.003696 0.375000 +v -0.500000 -0.128696 0.375000 +v -0.500000 -0.253696 0.375000 +v -0.375000 -0.003696 0.250000 +v -0.500000 -0.003696 0.250000 +v -0.500000 -0.128696 0.250000 +v -0.500000 -0.253696 0.250000 +v -0.375000 -0.253696 0.250000 +v -0.375000 -0.378696 0.250000 +v -0.250000 0.246304 0.125000 +v -0.250000 0.121304 0.125000 +v -0.375000 0.121304 0.125000 +v -0.375000 -0.003696 0.125000 +v -0.500000 -0.003696 0.125000 +v -0.500000 -0.253696 0.125000 +v -0.375000 -0.253696 0.125000 +v -0.250000 0.246304 0.000000 +v -0.375000 0.121304 0.000000 +v -0.500000 -0.003696 0.000000 +v -0.500000 -0.128696 0.000000 +v -0.500000 -0.253696 0.000000 +v -0.375000 -0.253696 0.000000 +v -0.250000 0.246304 -0.125000 +v -0.375000 0.121304 -0.125000 +v -0.500000 -0.003696 -0.125000 +v -0.375000 -0.253696 -0.125000 +v -0.125000 -0.378696 -0.125000 +v -0.375000 -0.378696 -0.125000 +v -0.375000 -0.003696 -0.250000 +v -0.500000 -0.003696 -0.250000 +v -0.500000 -0.128696 -0.250000 +v -0.500000 -0.253696 -0.250000 +v -0.375000 -0.253696 -0.250000 +v -0.375000 -0.378696 -0.250000 +v -0.500000 -0.128696 -0.375000 +v -0.375000 -0.253696 -0.375000 +v -0.500000 -0.128696 -0.500000 +v -0.125000 -1.000000 0.125000 +v 0.250000 0.121304 0.375000 +v 0.250000 -0.003696 0.375000 +v 0.125000 0.246304 0.250000 +v 0.125000 0.121304 0.250000 +v 0.125000 -0.003696 0.375000 +v 0.125000 -0.128696 0.500000 +v 0.125000 -0.253696 0.500000 +v 0.125000 -0.378696 0.375000 +v 0.000000 0.121304 0.250000 +v 0.000000 -0.003696 0.375000 +v 0.000000 -0.253696 0.500000 +v -0.125000 0.246304 0.250000 +v -0.125000 -0.378696 0.375000 +v -0.250000 0.246304 0.250000 +v -0.250000 0.121304 0.375000 +v -0.250000 -0.378696 0.375000 +v -0.375000 0.121304 0.375000 +v -0.375000 -0.253696 0.500000 +v -0.375000 -0.378696 0.375000 +v -0.500000 -0.003696 0.500000 +v -0.500000 -0.253696 0.500000 +v 0.000000 -0.378696 0.375000 +v 0.000000 -0.378696 0.125000 +v 0.000000 -1.000000 0.125000 +v 0.375000 -0.003696 0.500000 +v 0.375000 -0.128696 0.500000 +v 0.375000 -0.253696 0.500000 +v 0.250000 -0.003696 0.500000 +v 0.250000 -0.128696 0.500000 +v 0.250000 -0.253696 0.500000 +v 0.250000 -0.253696 0.375000 +v 0.250000 -0.378696 0.375000 +v 0.125000 0.121304 0.375000 +v 0.125000 -0.003696 0.500000 +v 0.125000 -0.253696 0.375000 +v 0.125000 -0.378696 0.125000 +v 0.000000 0.246304 0.250000 +v 0.000000 0.121304 0.375000 +v 0.000000 -0.003696 0.500000 +v 0.000000 -0.128696 0.500000 +v 0.000000 -0.253696 0.375000 +v -0.125000 0.121304 0.250000 +v -0.125000 0.121304 0.375000 +v -0.125000 -0.003696 0.375000 +v -0.125000 -0.003696 0.500000 +v -0.125000 -0.128696 0.500000 +v -0.125000 -0.253696 0.500000 +v -0.125000 -0.253696 0.375000 +v -0.125000 -0.378696 0.125000 +v -0.250000 0.121304 0.250000 +v -0.250000 -0.003696 0.375000 +v -0.250000 -0.003696 0.500000 +v -0.250000 -0.128696 0.500000 +v -0.250000 -0.253696 0.500000 +v -0.250000 -0.253696 0.375000 +v -0.375000 -0.003696 0.375000 +v -0.375000 -0.003696 0.500000 +v -0.375000 -0.128696 0.500000 +v -0.375000 -0.253696 0.375000 +v -0.500000 -0.128696 0.500000 +v -0.125000 -0.378696 -0.250000 +v -0.000000 -0.378696 -0.250000 +v 0.125000 -0.378696 -0.250000 +v -0.250000 -0.378696 0.125000 +v -0.250000 -0.378696 0.000000 +v -0.250000 -0.378696 -0.125000 +v -0.250000 -0.378696 -0.250000 +v 0.250000 -0.378696 0.125000 +v 0.250000 -0.378696 -0.000000 +v 0.250000 -0.378696 -0.125000 +v 0.250000 -0.378696 -0.250000 +v -0.250000 -0.378696 0.250000 +v -0.125000 -0.378696 0.250000 +v 0.000000 -0.378696 0.250000 +v 0.125000 -0.378696 0.250000 +v 0.250000 -0.378696 0.250000 +v 0.000000 -1.000000 -0.000000 +v -0.125000 0.246304 0.125000 +v 0.000000 0.246304 0.125000 +v 0.125000 0.246304 0.125000 +v -0.125000 0.246304 -0.125000 +v -0.000000 0.246304 -0.125000 +v 0.125000 0.246304 -0.125000 +v -0.125000 0.246304 0.000000 +v 0.000000 0.246304 -0.000000 +v 0.125000 0.246304 -0.000000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vt 0.312500 0.187500 +vt 0.250000 0.125000 +vt 0.312500 0.125000 +vt 0.312500 0.250000 +vt 0.250000 0.187500 +vt 0.375000 0.125000 +vt 0.312500 0.062500 +vt 0.375000 0.062500 +vt 0.375000 0.187500 +vt 0.375000 0.250000 +vt 0.375000 0.312500 +vt 0.437500 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.187500 +vt 0.437500 0.250000 +vt 0.437500 0.312500 +vt 0.437500 0.375000 +vt 0.500000 0.062500 +vt 0.437500 0.000000 +vt 0.500000 0.000000 +vt 0.500000 0.125000 +vt 0.500000 0.187500 +vt 0.500000 0.250000 +vt 0.500000 0.312500 +vt 0.500000 0.375000 +vt 0.562500 0.062500 +vt 0.562500 0.000000 +vt 0.562500 0.125000 +vt 0.562500 0.187500 +vt 0.562500 0.250000 +vt 0.562500 0.312500 +vt 0.562500 0.375000 +vt 0.625000 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.187500 +vt 0.625000 0.250000 +vt 0.625000 0.312500 +vt 0.687500 0.125000 +vt 0.687500 0.062500 +vt 0.687500 0.187500 +vt 0.687500 0.250000 +vt 0.687500 0.312500 +vt 0.750000 0.187500 +vt 0.750000 0.125000 +vt 0.250000 0.250000 +vt 0.375000 0.375000 +vt 0.625000 0.375000 +vt 0.750000 0.250000 +vt 0.312500 0.312500 +s 0 +f 65/1/1 31/2/1 66/3/1 +f 27/4/1 30/5/1 65/1/1 +f 62/6/1 28/7/1 63/8/1 +f 61/9/1 66/3/1 25/6/1 +f 60/10/1 65/1/1 61/9/1 +f 58/11/1 64/4/1 59/10/1 +f 55/12/1 63/8/1 56/13/1 +f 22/14/1 25/6/1 23/12/1 +f 54/15/1 61/9/1 22/14/1 +f 53/16/1 59/10/1 21/15/1 +f 20/17/1 57/11/1 52/16/1 +f 32/18/1 1/19/1 2/20/1 +f 51/21/1 56/13/1 33/18/1 +f 49/22/1 23/12/1 50/21/1 +f 48/23/1 22/14/1 49/22/1 +f 46/24/1 21/15/1 47/23/1 +f 45/25/1 52/16/1 19/24/1 +f 44/26/1 2/20/1 3/27/1 +f 43/28/1 33/18/1 18/26/1 +f 42/29/1 50/21/1 17/28/1 +f 41/30/1 49/22/1 42/29/1 +f 40/31/1 47/23/1 16/30/1 +f 39/32/1 19/24/1 15/31/1 +f 38/33/1 18/26/1 14/34/1 +f 12/35/1 17/28/1 13/33/1 +f 37/36/1 42/29/1 12/35/1 +f 36/37/1 16/30/1 11/36/1 +f 119/37/1 39/32/1 15/31/1 +f 35/38/1 14/34/1 9/39/1 +f 7/40/1 13/33/1 8/38/1 +f 6/41/1 12/35/1 7/40/1 +f 5/42/1 11/36/1 34/41/1 +f 86/43/1 8/38/1 87/44/1 +f 86/43/1 6/41/1 7/40/1 +f 85/1/2 87/2/2 124/3/2 +f 85/1/2 4/45/2 86/5/2 +f 123/6/2 9/7/2 83/8/2 +f 82/9/2 124/3/2 122/6/2 +f 121/10/2 85/1/2 82/9/2 +f 81/11/2 34/4/2 120/10/2 +f 117/12/2 83/8/2 118/13/2 +f 116/14/2 122/6/2 80/12/2 +f 115/15/2 82/9/2 116/14/2 +f 113/16/2 120/10/2 114/15/2 +f 79/16/2 10/46/2 119/11/2 +f 88/18/2 3/19/2 89/20/2 +f 111/21/2 118/13/2 78/18/2 +f 109/22/2 80/12/2 110/21/2 +f 108/23/2 116/14/2 109/22/2 +f 107/24/2 114/15/2 77/23/2 +f 106/25/2 79/16/2 76/24/2 +f 169/26/2 89/20/2 125/27/2 +f 104/28/2 78/18/2 105/26/2 +f 75/29/2 110/21/2 103/28/2 +f 102/30/2 109/22/2 75/29/2 +f 101/31/2 77/23/2 74/30/2 +f 99/32/2 76/24/2 100/31/2 +f 98/33/2 105/26/2 73/34/2 +f 97/35/2 103/28/2 72/33/2 +f 96/36/2 75/29/2 97/35/2 +f 94/37/2 74/30/2 95/36/2 +f 71/47/2 100/31/2 93/37/2 +f 178/38/2 73/34/2 70/39/2 +f 91/40/2 72/33/2 92/38/2 +f 69/41/2 97/35/2 91/40/2 +f 136/42/2 95/36/2 90/41/2 +f 179/43/2 92/38/2 139/44/2 +f 68/48/2 91/40/2 179/43/2 +f 177/1/3 139/2/3 138/3/3 +f 137/4/3 179/5/3 177/1/3 +f 175/6/3 70/7/3 176/8/3 +f 173/9/3 138/3/3 174/6/3 +f 172/10/3 177/1/3 173/9/3 +f 135/11/3 90/4/3 171/10/3 +f 168/12/3 176/8/3 170/13/3 +f 133/14/3 174/6/3 134/12/3 +f 167/15/3 173/9/3 133/14/3 +f 166/16/3 171/10/3 132/15/3 +f 165/17/3 93/11/3 131/16/3 +f 141/18/3 125/19/3 142/20/3 +f 164/21/3 170/13/3 140/18/3 +f 162/22/3 134/12/3 163/21/3 +f 161/23/3 133/14/3 162/22/3 +f 160/24/3 132/15/3 130/23/3 +f 159/25/3 131/16/3 129/24/3 +f 229/26/3 142/20/3 180/27/3 +f 158/28/3 140/18/3 128/26/3 +f 127/29/3 163/21/3 157/28/3 +f 156/30/3 162/22/3 127/29/3 +f 154/31/3 130/23/3 155/30/3 +f 152/32/3 129/24/3 153/31/3 +f 150/33/3 128/26/3 151/34/3 +f 148/35/3 157/28/3 149/33/3 +f 147/36/3 127/29/3 148/35/3 +f 126/37/3 155/30/3 146/36/3 +f 194/47/3 153/31/3 230/37/3 +f 239/38/3 151/34/3 199/39/3 +f 144/40/3 149/33/3 145/38/3 +f 143/41/3 148/35/3 144/40/3 +f 197/42/3 146/36/3 236/41/3 +f 240/43/3 145/38/3 201/44/3 +f 200/48/3 144/40/3 240/43/3 +f 238/1/4 201/2/4 198/3/4 +f 237/4/4 240/5/4 238/1/4 +f 235/6/4 199/7/4 196/8/4 +f 233/9/4 198/3/4 234/6/4 +f 232/10/4 238/1/4 233/9/4 +f 195/11/4 236/4/4 231/10/4 +f 228/12/4 196/8/4 193/13/4 +f 226/14/4 234/6/4 227/12/4 +f 225/15/4 233/9/4 226/14/4 +f 223/16/4 231/10/4 224/15/4 +f 192/17/4 230/11/4 222/16/4 +f 203/18/4 180/19/4 204/20/4 +f 221/21/4 193/13/4 202/18/4 +f 220/22/4 227/12/4 191/21/4 +f 219/23/4 226/14/4 220/22/4 +f 218/24/4 224/15/4 190/23/4 +f 217/25/4 222/16/4 189/24/4 +f 216/26/4 204/20/4 1/27/4 +f 215/28/4 202/18/4 188/26/4 +f 186/29/4 191/21/4 187/28/4 +f 214/30/4 220/22/4 186/29/4 +f 213/31/4 190/23/4 185/30/4 +f 183/32/4 189/24/4 184/31/4 +f 211/33/4 188/26/4 212/34/4 +f 209/35/4 187/28/4 210/33/4 +f 208/36/4 186/29/4 209/35/4 +f 181/37/4 185/30/4 182/36/4 +f 24/47/4 184/31/4 57/37/4 +f 67/38/4 212/34/4 28/39/4 +f 206/40/4 210/33/4 207/38/4 +f 205/41/4 209/35/4 206/40/4 +f 26/42/4 182/36/4 64/41/4 +f 30/43/4 207/38/4 31/44/4 +f 29/48/4 206/40/4 30/43/4 +f 258/34/5 194/38/5 192/33/5 +f 230/34/5 197/38/5 195/33/5 +f 126/39/5 153/33/5 154/34/5 +f 94/39/5 135/33/5 93/34/5 +f 36/39/5 81/33/5 119/34/5 +f 6/1/5 84/45/5 34/5/5 +f 182/35/5 205/41/5 64/36/5 +f 236/5/5 200/4/5 237/45/5 +f 96/40/5 90/36/5 95/35/5 +f 204/18/6 142/19/6 257/20/6 +f 25/9/6 67/3/6 62/6/6 +f 150/33/6 145/40/6 149/35/6 +f 122/9/6 35/3/6 123/6/6 +f 212/39/6 255/33/6 256/34/6 +f 8/2/6 124/1/6 87/5/6 +f 201/5/6 239/3/6 198/1/6 +f 31/5/6 67/3/6 66/1/6 +f 92/2/6 138/1/6 139/5/6 +f 234/9/6 239/3/6 235/6/6 +f 128/39/6 245/33/6 244/34/6 +f 249/39/6 56/33/6 248/34/6 +f 18/39/6 249/33/6 250/34/6 +f 250/39/6 243/33/6 251/34/6 +f 243/34/6 78/38/6 118/33/6 +f 247/34/6 70/38/6 73/33/6 +f 245/39/6 170/33/6 246/34/6 +f 196/39/6 151/33/6 252/34/6 +f 254/39/6 193/33/6 253/34/6 +f 105/39/6 242/33/6 241/34/6 +f 188/39/6 254/33/6 255/34/6 +f 175/6/6 138/1/6 178/3/6 +f 168/12/6 174/9/6 175/6/6 +f 164/21/6 134/14/6 168/12/6 +f 158/28/6 163/22/6 164/21/6 +f 150/33/6 157/29/6 158/28/6 +f 92/40/6 98/33/6 178/38/6 +f 72/35/6 104/28/6 98/33/6 +f 104/28/6 110/22/6 111/21/6 +f 110/22/6 117/12/6 111/21/6 +f 80/14/6 123/6/6 117/12/6 +f 44/34/6 242/38/6 243/33/6 +f 241/39/6 88/33/6 169/34/6 +f 170/39/6 247/33/6 246/34/6 +f 251/39/6 118/33/6 83/34/6 +f 246/39/6 241/33/6 169/34/6 +f 141/39/6 246/33/6 169/34/6 +f 244/39/6 141/33/6 229/34/6 +f 193/39/6 252/33/6 253/34/6 +f 247/39/6 105/33/6 241/34/6 +f 18/39/6 251/33/6 14/34/6 +f 44/34/6 249/38/6 32/33/6 +f 32/39/6 248/33/6 216/34/6 +f 28/39/6 256/33/6 63/34/6 +f 14/39/6 83/33/6 9/34/6 +f 256/39/6 216/33/6 248/34/6 +f 255/39/6 203/33/6 216/34/6 +f 203/39/6 253/33/6 229/34/6 +f 229/34/6 252/38/6 244/33/6 +f 244/34/6 151/38/6 128/33/6 +f 63/39/6 248/33/6 56/34/6 +f 1/26/6 257/20/6 2/27/6 +f 257/18/6 125/19/6 89/20/6 +f 2/26/6 89/20/6 3/27/6 +f 227/14/6 235/6/6 228/12/6 +f 211/33/6 207/40/6 210/35/6 +f 221/21/6 227/14/6 228/12/6 +f 215/28/6 191/22/6 221/21/6 +f 211/33/6 187/29/6 215/28/6 +f 23/14/6 62/6/6 55/12/6 +f 50/22/6 55/12/6 51/21/6 +f 17/29/6 51/21/6 43/28/6 +f 13/35/6 43/28/6 38/33/6 +f 8/40/6 38/33/6 35/38/6 +f 166/39/5 93/33/5 135/34/5 +f 160/39/5 131/33/5 166/34/5 +f 154/39/5 129/33/5 160/34/5 +f 161/29/5 155/23/5 130/22/5 +f 167/14/5 130/10/5 132/9/5 +f 172/14/5 132/10/5 171/9/5 +f 137/1/5 171/10/5 90/4/5 +f 137/1/5 69/45/5 68/5/5 +f 156/35/5 146/30/5 155/29/5 +f 146/35/5 143/41/5 236/36/5 +f 74/29/5 96/36/5 95/30/5 +f 108/29/5 74/23/5 77/22/5 +f 115/22/5 77/15/5 114/14/5 +f 121/22/5 114/15/5 120/14/5 +f 34/9/5 121/15/5 120/10/5 +f 37/40/5 34/36/5 11/35/5 +f 41/35/5 11/30/5 16/29/5 +f 48/29/5 16/23/5 47/22/5 +f 54/22/5 47/15/5 21/14/5 +f 60/14/5 21/10/5 59/9/5 +f 60/9/5 64/4/5 27/1/5 +f 29/5/5 64/4/5 205/45/5 +f 214/35/5 182/30/5 185/29/5 +f 190/14/5 214/23/5 185/15/5 +f 225/22/5 190/15/5 224/14/5 +f 232/14/5 224/10/5 231/9/5 +f 237/9/5 231/4/5 236/1/5 +f 230/15/5 223/11/5 222/10/5 +f 189/34/5 223/38/5 218/33/5 +f 189/39/5 213/33/5 184/34/5 +f 184/39/5 181/33/5 57/34/5 +f 57/39/5 26/33/5 58/34/5 +f 101/39/5 76/33/5 107/34/5 +f 100/34/5 94/38/5 93/33/5 +f 107/39/5 79/33/5 113/34/5 +f 113/39/5 119/33/5 81/34/5 +f 40/39/5 119/33/5 15/34/5 +f 40/39/5 19/33/5 46/34/5 +f 46/39/5 52/33/5 53/34/5 +f 53/15/5 57/11/5 58/10/5 +f 99/39/5 165/33/5 261/34/5 +f 258/39/5 217/33/5 259/34/5 +f 106/39/5 261/33/5 262/34/5 +f 259/39/5 183/33/5 260/34/5 +f 263/34/5 106/38/5 262/33/5 +f 260/39/5 24/33/5 20/34/5 +f 39/34/5 112/38/5 263/33/5 +f 263/39/5 265/33/5 266/34/5 +f 262/39/5 264/33/5 265/34/5 +f 264/34/5 165/38/5 159/33/5 +f 39/39/5 266/33/5 45/34/5 +f 260/34/5 265/38/5 259/33/5 +f 265/39/5 258/33/5 259/34/5 +f 258/34/5 159/38/5 152/33/5 +f 45/39/5 260/33/5 20/34/5 +f 65/1/1 30/5/1 31/2/1 +f 27/4/1 29/45/1 30/5/1 +f 62/6/1 67/3/1 28/7/1 +f 61/9/1 65/1/1 66/3/1 +f 60/10/1 27/4/1 65/1/1 +f 58/11/1 26/49/1 64/4/1 +f 55/12/1 62/6/1 63/8/1 +f 22/14/1 61/9/1 25/6/1 +f 54/15/1 60/10/1 61/9/1 +f 53/16/1 58/11/1 59/10/1 +f 20/17/1 24/46/1 57/11/1 +f 32/18/1 216/13/1 1/19/1 +f 51/21/1 55/12/1 56/13/1 +f 49/22/1 22/14/1 23/12/1 +f 48/23/1 54/15/1 22/14/1 +f 46/24/1 53/16/1 21/15/1 +f 45/25/1 20/17/1 52/16/1 +f 44/26/1 32/18/1 2/20/1 +f 43/28/1 51/21/1 33/18/1 +f 42/29/1 49/22/1 50/21/1 +f 41/30/1 48/23/1 49/22/1 +f 40/31/1 46/24/1 47/23/1 +f 39/32/1 45/25/1 19/24/1 +f 38/33/1 43/28/1 18/26/1 +f 12/35/1 42/29/1 17/28/1 +f 37/36/1 41/30/1 42/29/1 +f 36/37/1 40/31/1 16/30/1 +f 119/37/1 10/47/1 39/32/1 +f 35/38/1 38/33/1 14/34/1 +f 7/40/1 12/35/1 13/33/1 +f 6/41/1 37/36/1 12/35/1 +f 5/42/1 36/37/1 11/36/1 +f 86/43/1 7/40/1 8/38/1 +f 86/43/1 4/48/1 6/41/1 +f 85/1/2 86/5/2 87/2/2 +f 85/1/2 84/4/2 4/45/2 +f 123/6/2 35/3/2 9/7/2 +f 82/9/2 85/1/2 124/3/2 +f 121/10/2 84/4/2 85/1/2 +f 81/11/2 5/49/2 34/4/2 +f 117/12/2 123/6/2 83/8/2 +f 116/14/2 82/9/2 122/6/2 +f 115/15/2 121/10/2 82/9/2 +f 113/16/2 81/11/2 120/10/2 +f 79/16/2 112/17/2 10/46/2 +f 88/18/2 44/13/2 3/19/2 +f 111/21/2 117/12/2 118/13/2 +f 109/22/2 116/14/2 80/12/2 +f 108/23/2 115/15/2 116/14/2 +f 107/24/2 113/16/2 114/15/2 +f 106/25/2 112/17/2 79/16/2 +f 169/26/2 88/18/2 89/20/2 +f 104/28/2 111/21/2 78/18/2 +f 75/29/2 109/22/2 110/21/2 +f 102/30/2 108/23/2 109/22/2 +f 101/31/2 107/24/2 77/23/2 +f 99/32/2 106/25/2 76/24/2 +f 98/33/2 104/28/2 105/26/2 +f 97/35/2 75/29/2 103/28/2 +f 96/36/2 102/30/2 75/29/2 +f 94/37/2 101/31/2 74/30/2 +f 71/47/2 99/32/2 100/31/2 +f 178/38/2 98/33/2 73/34/2 +f 91/40/2 97/35/2 72/33/2 +f 69/41/2 96/36/2 97/35/2 +f 136/42/2 94/37/2 95/36/2 +f 179/43/2 91/40/2 92/38/2 +f 68/48/2 69/41/2 91/40/2 +f 177/1/3 179/5/3 139/2/3 +f 137/4/3 68/45/3 179/5/3 +f 175/6/3 178/3/3 70/7/3 +f 173/9/3 177/1/3 138/3/3 +f 172/10/3 137/4/3 177/1/3 +f 135/11/3 136/49/3 90/4/3 +f 168/12/3 175/6/3 176/8/3 +f 133/14/3 173/9/3 174/6/3 +f 167/15/3 172/10/3 173/9/3 +f 166/16/3 135/11/3 171/10/3 +f 165/17/3 71/46/3 93/11/3 +f 141/18/3 169/13/3 125/19/3 +f 164/21/3 168/12/3 170/13/3 +f 162/22/3 133/14/3 134/12/3 +f 161/23/3 167/15/3 133/14/3 +f 160/24/3 166/16/3 132/15/3 +f 159/25/3 165/17/3 131/16/3 +f 229/26/3 141/18/3 142/20/3 +f 158/28/3 164/21/3 140/18/3 +f 127/29/3 162/22/3 163/21/3 +f 156/30/3 161/23/3 162/22/3 +f 154/31/3 160/24/3 130/23/3 +f 152/32/3 159/25/3 129/24/3 +f 150/33/3 158/28/3 128/26/3 +f 148/35/3 127/29/3 157/28/3 +f 147/36/3 156/30/3 127/29/3 +f 126/37/3 154/31/3 155/30/3 +f 194/47/3 152/32/3 153/31/3 +f 239/38/3 150/33/3 151/34/3 +f 144/40/3 148/35/3 149/33/3 +f 143/41/3 147/36/3 148/35/3 +f 197/42/3 126/37/3 146/36/3 +f 240/43/3 144/40/3 145/38/3 +f 200/48/3 143/41/3 144/40/3 +f 238/1/4 240/5/4 201/2/4 +f 237/4/4 200/45/4 240/5/4 +f 235/6/4 239/3/4 199/7/4 +f 233/9/4 238/1/4 198/3/4 +f 232/10/4 237/4/4 238/1/4 +f 195/11/4 197/49/4 236/4/4 +f 228/12/4 235/6/4 196/8/4 +f 226/14/4 233/9/4 234/6/4 +f 225/15/4 232/10/4 233/9/4 +f 223/16/4 195/11/4 231/10/4 +f 192/17/4 194/46/4 230/11/4 +f 203/18/4 229/13/4 180/19/4 +f 221/21/4 228/12/4 193/13/4 +f 220/22/4 226/14/4 227/12/4 +f 219/23/4 225/15/4 226/14/4 +f 218/24/4 223/16/4 224/15/4 +f 217/25/4 192/17/4 222/16/4 +f 216/26/4 203/18/4 204/20/4 +f 215/28/4 221/21/4 202/18/4 +f 186/29/4 220/22/4 191/21/4 +f 214/30/4 219/23/4 220/22/4 +f 213/31/4 218/24/4 190/23/4 +f 183/32/4 217/25/4 189/24/4 +f 211/33/4 215/28/4 188/26/4 +f 209/35/4 186/29/4 187/28/4 +f 208/36/4 214/30/4 186/29/4 +f 181/37/4 213/31/4 185/30/4 +f 24/47/4 183/32/4 184/31/4 +f 67/38/4 211/33/4 212/34/4 +f 206/40/4 209/35/4 210/33/4 +f 205/41/4 208/36/4 209/35/4 +f 26/42/4 181/37/4 182/36/4 +f 30/43/4 206/40/4 207/38/4 +f 29/48/4 205/41/4 206/40/4 +f 258/34/5 152/39/5 194/38/5 +f 230/34/5 126/39/5 197/38/5 +f 126/39/5 230/38/5 153/33/5 +f 94/39/5 136/38/5 135/33/5 +f 36/39/5 5/38/5 81/33/5 +f 6/1/5 4/4/5 84/45/5 +f 182/35/5 208/40/5 205/41/5 +f 236/5/5 143/1/5 200/4/5 +f 96/40/5 69/41/5 90/36/5 +f 204/18/6 180/13/6 142/19/6 +f 25/9/6 66/1/6 67/3/6 +f 150/33/6 239/38/6 145/40/6 +f 122/9/6 124/1/6 35/3/6 +f 212/39/6 188/38/6 255/33/6 +f 8/2/6 35/3/6 124/1/6 +f 201/5/6 145/2/6 239/3/6 +f 31/5/6 207/2/6 67/3/6 +f 92/2/6 178/3/6 138/1/6 +f 234/9/6 198/1/6 239/3/6 +f 128/39/6 140/38/6 245/33/6 +f 249/39/6 33/38/6 56/33/6 +f 18/39/6 33/38/6 249/33/6 +f 250/39/6 44/38/6 243/33/6 +f 243/34/6 242/39/6 78/38/6 +f 247/34/6 176/39/6 70/38/6 +f 245/39/6 140/38/6 170/33/6 +f 196/39/6 199/38/6 151/33/6 +f 254/39/6 202/38/6 193/33/6 +f 105/39/6 78/38/6 242/33/6 +f 188/39/6 202/38/6 254/33/6 +f 175/6/6 174/9/6 138/1/6 +f 168/12/6 134/14/6 174/9/6 +f 164/21/6 163/22/6 134/14/6 +f 158/28/6 157/29/6 163/22/6 +f 150/33/6 149/35/6 157/29/6 +f 92/40/6 72/35/6 98/33/6 +f 72/35/6 103/29/6 104/28/6 +f 104/28/6 103/29/6 110/22/6 +f 110/22/6 80/14/6 117/12/6 +f 80/14/6 122/9/6 123/6/6 +f 44/34/6 88/39/6 242/38/6 +f 241/39/6 242/38/6 88/33/6 +f 170/39/6 176/38/6 247/33/6 +f 251/39/6 243/38/6 118/33/6 +f 246/39/6 247/38/6 241/33/6 +f 141/39/6 245/38/6 246/33/6 +f 244/39/6 245/38/6 141/33/6 +f 193/39/6 196/38/6 252/33/6 +f 247/39/6 73/38/6 105/33/6 +f 18/39/6 250/38/6 251/33/6 +f 44/34/6 250/39/6 249/38/6 +f 32/39/6 249/38/6 248/33/6 +f 28/39/6 212/38/6 256/33/6 +f 14/39/6 251/38/6 83/33/6 +f 256/39/6 255/38/6 216/33/6 +f 255/39/6 254/38/6 203/33/6 +f 203/39/6 254/38/6 253/33/6 +f 229/34/6 253/39/6 252/38/6 +f 244/34/6 252/39/6 151/38/6 +f 63/39/6 256/38/6 248/33/6 +f 1/26/6 204/18/6 257/20/6 +f 257/18/6 142/13/6 125/19/6 +f 2/26/6 257/18/6 89/20/6 +f 227/14/6 234/9/6 235/6/6 +f 211/33/6 67/38/6 207/40/6 +f 221/21/6 191/22/6 227/14/6 +f 215/28/6 187/29/6 191/22/6 +f 211/33/6 210/35/6 187/29/6 +f 23/14/6 25/9/6 62/6/6 +f 50/22/6 23/14/6 55/12/6 +f 17/29/6 50/22/6 51/21/6 +f 13/35/6 17/29/6 43/28/6 +f 8/40/6 13/35/6 38/33/6 +f 166/39/5 131/38/5 93/33/5 +f 160/39/5 129/38/5 131/33/5 +f 154/39/5 153/38/5 129/33/5 +f 161/29/5 156/30/5 155/23/5 +f 167/14/5 161/15/5 130/10/5 +f 172/14/5 167/15/5 132/10/5 +f 137/1/5 172/9/5 171/10/5 +f 137/1/5 90/4/5 69/45/5 +f 156/35/5 147/36/5 146/30/5 +f 146/35/5 147/40/5 143/41/5 +f 74/29/5 102/35/5 96/36/5 +f 108/29/5 102/30/5 74/23/5 +f 115/22/5 108/23/5 77/15/5 +f 121/22/5 115/23/5 114/15/5 +f 34/9/5 84/14/5 121/15/5 +f 37/40/5 6/41/5 34/36/5 +f 41/35/5 37/36/5 11/30/5 +f 48/29/5 41/30/5 16/23/5 +f 54/22/5 48/23/5 47/15/5 +f 60/14/5 54/15/5 21/10/5 +f 60/9/5 59/10/5 64/4/5 +f 29/5/5 27/1/5 64/4/5 +f 214/35/5 208/36/5 182/30/5 +f 190/14/5 219/22/5 214/23/5 +f 225/22/5 219/23/5 190/15/5 +f 232/14/5 225/15/5 224/10/5 +f 237/9/5 232/10/5 231/4/5 +f 230/15/5 195/16/5 223/11/5 +f 189/34/5 222/39/5 223/38/5 +f 189/39/5 218/38/5 213/33/5 +f 184/39/5 213/38/5 181/33/5 +f 57/39/5 181/38/5 26/33/5 +f 101/39/5 100/38/5 76/33/5 +f 100/34/5 101/39/5 94/38/5 +f 107/39/5 76/38/5 79/33/5 +f 113/39/5 79/38/5 119/33/5 +f 40/39/5 36/38/5 119/33/5 +f 40/39/5 15/38/5 19/33/5 +f 46/39/5 19/38/5 52/33/5 +f 53/15/5 52/16/5 57/11/5 +f 99/39/5 71/38/5 165/33/5 +f 258/39/5 192/38/5 217/33/5 +f 106/39/5 99/38/5 261/33/5 +f 259/39/5 217/38/5 183/33/5 +f 263/34/5 112/39/5 106/38/5 +f 260/39/5 183/38/5 24/33/5 +f 39/34/5 10/39/5 112/38/5 +f 263/39/5 262/38/5 265/33/5 +f 262/39/5 261/38/5 264/33/5 +f 264/34/5 261/39/5 165/38/5 +f 39/39/5 263/38/5 266/33/5 +f 260/34/5 266/39/5 265/38/5 +f 265/39/5 264/38/5 258/33/5 +f 258/34/5 264/39/5 159/38/5 +f 45/39/5 266/38/5 260/33/5 diff --git a/minecraft/gen/mc.py b/minecraft/gen/mc.py index 88e5d83..6fd4034 100644 --- a/minecraft/gen/mc.py +++ b/minecraft/gen/mc.py @@ -22,11 +22,11 @@ def wrap_n(nc, chunk_c): chunk_c = chunk_c + 1 return nc, chunk_c +# check vertex_buffer.py for model order custom_blocks = [ { # "tallgrass" model data.BlockID.TALL_GRASS, data.BlockID.MUSHROOM_1, - data.BlockID.MUSHROOM_2, data.BlockID.FLOWER, data.BlockID.ROSE, data.BlockID.SAPLING, @@ -40,6 +40,9 @@ custom_blocks = [ { # "wheat" model data.BlockID.WHEAT, }, + { # "custom-mushroom" model + data.BlockID.MUSHROOM_2, + }, ] non_solid_blocks = set(chain.from_iterable(custom_blocks)) diff --git a/minecraft/gen/tallgrass.obj b/minecraft/gen/tallgrass.obj index 32a4995..1ebe21b 100644 --- a/minecraft/gen/tallgrass.obj +++ b/minecraft/gen/tallgrass.obj @@ -1,22 +1,22 @@ # Blender 5.0.0 # www.blender.org o TallGrass -v 0.800000 0.600000 0.800000 -v 0.800000 -1.000000 0.800000 -v -0.800000 -1.000000 0.800000 -v -0.800000 0.600000 0.800000 -v -0.800000 0.600000 -0.800000 -v -0.800000 -1.000000 -0.800000 -v 0.800000 -1.000000 -0.800000 -v 0.800000 0.600000 -0.800000 +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 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 vn 0.7071 -0.0000 0.7071 vn 0.7071 -0.0000 -0.7071 -vt 1.000000 1.000000 vt 0.000000 -0.000000 -vt 1.000000 0.000000 vt 1.000000 1.000000 vt -0.000000 1.000000 +vt 0.000000 -0.000000 vt 1.000000 0.000000 +vt -0.000000 1.000000 s 0 f 3/1/1 8/2/1 4/3/1 f 5/2/2 2/4/2 6/5/2 diff --git a/minecraft/gen/torch.obj b/minecraft/gen/torch.obj index a619440..dd57590 100644 --- a/minecraft/gen/torch.obj +++ b/minecraft/gen/torch.obj @@ -15,16 +15,16 @@ vn -1.0000 -0.0000 -0.0000 vn -0.0000 -1.0000 -0.0000 vn 1.0000 -0.0000 -0.0000 vn -0.0000 -0.0000 -1.0000 -vt 0.531250 0.406250 -vt 0.468750 0.468750 -vt 0.468750 0.406250 -vt 0.437500 0.375000 -vt 0.562500 1.000000 -vt 0.437500 1.000000 -vt 0.562500 0.875000 -vt 0.437500 0.875000 -vt 0.531250 0.468750 -vt 0.562500 0.375000 +vt 0.468750 0.593750 +vt 0.531250 0.531250 +vt 0.531250 0.593750 +vt 0.562500 0.625000 +vt 0.437500 0.000000 +vt 0.562500 0.000000 +vt 0.437500 0.125000 +vt 0.562500 0.125000 +vt 0.468750 0.531250 +vt 0.437500 0.625000 s 0 f 5/1/1 3/2/1 1/3/1 f 3/4/2 8/5/2 4/6/2 diff --git a/minecraft/gen/vertex_buffer.py b/minecraft/gen/vertex_buffer.py index 0e4cab3..c6c23b5 100644 --- a/minecraft/gen/vertex_buffer.py +++ b/minecraft/gen/vertex_buffer.py @@ -14,7 +14,7 @@ normals = [ (1.0, 0.0, 0.0), ] -def build_configuration_index_buffers(f, faces_by_normal, index_buffer): +def build_configuration_index_buffers(faces_by_normal, index_buffer): assert(set(normals) == set(faces_by_normal.keys())) offset = 0 @@ -27,7 +27,7 @@ def build_configuration_index_buffers(f, faces_by_normal, index_buffer): normal = normals[i] indices = faces_by_normal[normal] for index in indices: - f.write(struct.pack(" */ /* seed[0]: 1469348094, seed[1]: 1956297539 */ #include diff --git a/src/minecraft.cpp b/src/minecraft.cpp index c161ea8..064a38c 100644 --- a/src/minecraft.cpp +++ b/src/minecraft.cpp @@ -58,7 +58,7 @@ namespace minecraft { static unsigned int index_buffer; // also update index_buffer_custom_offsets in data.inc - static const int custom_block_types = 4; + static const int custom_block_types = 5; static const int instance_cfg_length = 64 + custom_block_types; struct instance_cfg { @@ -299,7 +299,7 @@ namespace minecraft { ////////////////////////////////////////////////////////////////////// for (int configuration = 1; configuration < 64; configuration++) { int element_count = 6 * popcount(configuration); - const void * indices = (void *)((ptrdiff_t)index_buffer_configuration_offsets[configuration]); // index into configuration.idx + const void * indices = (void *)(2 * (ptrdiff_t)index_buffer_configuration_offsets[configuration]); // index into configuration.idx int instance_count = instance_cfg[region_index].cfg[configuration].instance_count; int base_instance = instance_cfg[region_index].cfg[configuration].offset / per_instance_size; // index into region.0.0.instance.vtx @@ -307,7 +307,7 @@ namespace minecraft { if (instance_count == 0) continue; - glDrawElementsInstancedBaseInstance(GL_TRIANGLES, element_count, GL_UNSIGNED_BYTE, indices, instance_count, base_instance); + glDrawElementsInstancedBaseInstance(GL_TRIANGLES, element_count, GL_UNSIGNED_SHORT, indices, instance_count, base_instance); } ////////////////////////////////////////////////////////////////////// @@ -315,12 +315,12 @@ namespace minecraft { ////////////////////////////////////////////////////////////////////// for (int i = 0; i < custom_block_types; i++) { int element_count = index_buffer_custom_offsets[i].count; - const void * indices = (void *)((ptrdiff_t)index_buffer_custom_offsets[i].offset); + const void * indices = (void *)(2 * (ptrdiff_t)index_buffer_custom_offsets[i].offset); int instance_count = instance_cfg[region_index].cfg[64 + i].instance_count; int base_instance = instance_cfg[region_index].cfg[64 + i].offset / per_instance_size; // index into region.0.0.instance.vtx if (instance_count == 0) continue; - glDrawElementsInstancedBaseInstance(GL_TRIANGLES, element_count, GL_UNSIGNED_BYTE, indices, instance_count, base_instance); + glDrawElementsInstancedBaseInstance(GL_TRIANGLES, element_count, GL_UNSIGNED_SHORT, indices, instance_count, base_instance); } } }