summaryrefslogtreecommitdiff
path: root/src/engine/M_block.h
blob: 296eb88aac885492ec7b8d1e0a218ceb91b1b9e8 (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
#pragma once

//#include "M_types.ḥ"
#include "M_object.h"

enum M_DefaultBlockTypes {
	M_BLOCK_AIR = 0
};

typedef struct {
	unsigned short type;
} M_Block;

typedef struct {
	M_Object obj;
} M_BlockType;

typedef struct {
	M_BlockType *blocks;
	unsigned short block_amount;
	unsigned short size;
} M_BlockAtlas;

void M_createBlock(M_Block *block, unsigned short type);

unsigned short M_createBlockType(M_Object obj, M_BlockAtlas *atl);

M_BlockAtlas M_createBlockAtlas();

void M_killBlockAtlas(M_BlockAtlas *atl);