]> git.lizzy.rs Git - shadowclad.git/blob - src/game/level.h
A bit of cleanup
[shadowclad.git] / src / game / level.h
1 #ifndef LEVEL_H_
2 #define LEVEL_H_
3
4 #include <stdint.h>
5
6 #include "engine/asset.h"
7
8 enum BlockType {
9         BLOCKTYPE_SPACE,
10         BLOCKTYPE_OBSTACLE_X,
11         BLOCKTYPE_OBSTACLE_Z,
12         BLOCKTYPE_OBSTACLE
13 };
14
15 typedef enum BlockType BlockType;
16 typedef struct Block Block;
17 typedef struct BlockGrid BlockGrid;
18
19 struct Block {
20         BlockType type;
21         const Solid* solid;
22 };
23
24 struct BlockGrid {
25         size_t width;
26         size_t depth;
27         Block** blocks;
28 };
29
30 extern BlockGrid levelGrid;
31
32 void initLevel();
33 void startLevel();
34
35 #endif // LEVEL_H_