summaryrefslogtreecommitdiff
path: root/src/engine/M_chunk.c
blob: 5c120f583f6c24ec0015153b4e3ccec4aa10c31f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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);
	}
}