diff options
Diffstat (limited to 'src/engine/M_chunk.c')
| -rw-r--r-- | src/engine/M_chunk.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/engine/M_chunk.c b/src/engine/M_chunk.c new file mode 100644 index 0000000..5c120f5 --- /dev/null +++ b/src/engine/M_chunk.c @@ -0,0 +1,24 @@ +#include "M_chunk.h" + +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; + } +} + +void M_renderChunk(M_Game *game, 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 = 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); + } +} |
