X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Flevel.h;fp=src%2Flevel.h;h=260ed0abbe7bb9b66fa9201bc5b8e59c39de97b8;hb=dd7ce87b0ad2b8a1b4758bcc9354e993b71c8599;hp=0000000000000000000000000000000000000000;hpb=48ee87d8c32791d17fa7a57076df5d6721d6c05c;p=raydungeon diff --git a/src/level.h b/src/level.h new file mode 100644 index 0000000..260ed0a --- /dev/null +++ b/src/level.h @@ -0,0 +1,30 @@ +#ifndef LEVEL_H_ +#define LEVEL_H_ + +enum { DIR_N, DIR_E, DIR_S, DIR_W }; + +enum { CELL_SOLID, CELL_OPEN }; +#define CELL_WALK 0x0100 + +struct level_cell { + int type; + unsigned int wallflags[4]; +}; + +struct level_span { + int start, len; +}; + +struct level { + int xsz, ysz; + struct level_cell *cells; + + struct level_span *hspans, *vspans; /* dynamic array */ +}; + +void init_level(struct level *lvl); +void destroy_level(struct level *lvl); + +int load_level(struct level *lvl, const char *fname); + +#endif /* LEVEL_H_ */