blob: 2227ee9eeae2076b2fe24be4fb8911987b78d62a (
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
25
26
27
28
29
30
31
32
|
#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++) {
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;
}
}
}
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];
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);
}
}
}
|