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.c24
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);
+ }
+}