summaryrefslogtreecommitdiff
path: root/src/engine/M_block.c
blob: 0f3fb277a3b2782b3f866078f67ad4209b4582df (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
33
#include "M_block.h"

void M_createBlock(M_Block *block, unsigned short type)
{
	block->type = type;
}

unsigned short M_createBlockType(M_Object obj, M_BlockAtlas *atl)
{
	M_BlockType block_type;
	block_type.obj = obj;

	if (atl->block_amount >= atl->size) {
		atl->size += 10;
		atl->blocks = realloc(atl->blocks, atl->size*sizeof(M_BlockType));
	}
	atl->blocks[atl->block_amount++] = block_type;
	return atl->block_amount;
}

M_BlockAtlas M_createBlockAtlas()
{
	return (M_BlockAtlas){
		.blocks = malloc(10*sizeof(M_BlockType)),
		.block_amount = 0,
		.size = 10
	};
}

void M_killBlockAtlas(M_BlockAtlas *atl)
{
	free(atl->blocks);
}