jtmm2/inc/level.h

32 lines
610 B
C
Raw Normal View History

2021-12-16 13:56:02 +01:00
#pragma once
2021-12-17 18:44:13 +01:00
#include "tile.h"
#include "vec.h"
2021-12-16 15:57:50 +01:00
#include "visual_data.h"
2021-12-16 13:56:02 +01:00
#include <stdint.h>
struct LevelBin {
uint8_t format, chunk_size;
uint16_t width, height;
uint8_t data[];
} __attribute__((__packed__));
struct Level {
int width, height, size;
const struct LevelBin *bin;
uint8_t *data;
2021-12-16 15:57:50 +01:00
struct VisualData *visual_data;
2021-12-16 13:56:02 +01:00
};
void level_init(void);
void level_deinit(void);
void level_load(const struct LevelBin *);
void level_reload(void);
2021-12-16 15:57:50 +01:00
void level_regen_visual_data(void);
2021-12-16 23:27:04 +01:00
2021-12-16 15:57:50 +01:00
void level_draw(void);
2021-12-16 23:27:04 +01:00
int level_get(int x, int y);
int level_get_px(int x, int y);
2021-12-17 18:44:13 +01:00
struct Vec level_find(enum Tile);