return ~~((i << 12) | (b << 8) | (g << 4) | r);
}
-Chunk_Size :: 16
+Chunk_Size :: 32
Chunk :: struct {
blocks: [] Block;
nz := z + n.z;
if chunk_get(chunk, nx, ny, nz) != Block_Empty do continue;
+ color := block;
+ if i != 4 {
+ color = cast(Block) (0xb000 | (0xfff & cast(u32) color));
+ }
+ if i == 5 {
+ color = cast(Block) (0x9000 | (0xfff & cast(u32) color));
+ }
indicies := cast([] u32) block_indicies[i];
for j: 6 {
v := block_verticies[indicies[j]];
- verticies << .{ ~~x+v.x, ~~y+v.y, ~~z+v.z, ~~block };
+ verticies << .{ ~~x+v.x, ~~y+v.y, ~~z+v.z, ~~color };
}
}
};