summaryrefslogtreecommitdiff
path: root/in_practice/breakout/level.h
diff options
context:
space:
mode:
Diffstat (limited to 'in_practice/breakout/level.h')
-rw-r--r--in_practice/breakout/level.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/in_practice/breakout/level.h b/in_practice/breakout/level.h
new file mode 100644
index 0000000..91e3b85
--- /dev/null
+++ b/in_practice/breakout/level.h
@@ -0,0 +1,18 @@
+#ifndef LEVEL_H
+#define LEVEL_H
+
+#include "object.h"
+
+typedef struct {
+ object_t *tiles;
+ i32 count;
+ i32 rows;
+ i32 cols;
+} level_t;
+
+extern level_t load_level(const char *dir, const char *filename, i32 width, i32 height);
+extern level_t init_level(u8 *tiles, i32 rows, i32 cols, i32 width, i32 height);
+extern void render_level(sprite_renderer_t renderer, level_t level);
+extern i32 level_is_completed(level_t level);
+
+#endif