summaryrefslogtreecommitdiff
path: root/src/engine/M_chunk.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/M_chunk.c')
-rw-r--r--src/engine/M_chunk.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/engine/M_chunk.c b/src/engine/M_chunk.c
index 5c120f5..2227ee9 100644
--- a/src/engine/M_chunk.c
+++ b/src/engine/M_chunk.c
@@ -5,9 +5,15 @@ void M_generateChunk(M_Chunk *chunk)
for (int x=0;x<M_CHUNK_SIZE;x++)
for (int y=0;y<M_CHUNK_SIZE;y++)
for (int z=0;z<M_CHUNK_SIZE;z++) {
- M_Block block;
- M_createBlock(&block, 0);
- chunk->blocks[x][y][z] = block;
+ if (x==M_CHUNK_SIZE) {
+ M_Block block;
+ M_createBlock(&block, 1);
+ chunk->blocks[x][y][z] = block;
+ } else {
+ M_Block block;
+ M_createBlock(&block, M_BLOCK_AIR);
+ chunk->blocks[x][y][z] = block;
+ }
}
}
@@ -17,8 +23,10 @@ void M_renderChunk(M_Game *game, M_Chunk *chunk)
for (int y=0;y<M_CHUNK_SIZE;y++)
for (int z=0;z<M_CHUNK_SIZE;z++) {
M_Block block = chunk->blocks[x][y][z];
- M_Object *block_object = &game->block_atlas.blocks[block.type].obj;
- M_moveObject(block_object, (vec3){(float)x, (float)y-32, (float)z});
- M_drawObject(&game->render_info, &game->player.camera, block_object);
+ if (block.type != M_BLOCK_AIR) {
+ M_Object *block_object = &game->block_atlas.blocks[block.type].obj;
+ M_moveObject(block_object, (vec3){(float)x, (float)y-32, (float)z});
+ M_drawObject(&game->render_info, &game->player.camera, block_object);
+ }
}
}