crystal-tower/inc/level.h

33 lines
633 B
C

#pragma once
#include "tile.h"
#include "vec.h"
#include <stdint.h>
struct LevelBin {
uint8_t format;
uint8_t chunk_size;
uint16_t width;
uint16_t height;
uint8_t data[];
} __attribute__((__packed__));
struct Level {
int width;
int height;
int size;
uint8_t *data;
int id;
};
void level_load(int id);
void level_reload(void);
void level_next(void);
void level_free(void);
void level_draw(void);
struct Vec level_find(enum Tile);
enum Tile level_get(int x, int y);
enum Tile level_get_px(int x, int y);
void level_set(int x, int y, enum Tile v);
void level_set_px(int x, int y, enum Tile v);
int level_oob(int x, int y);