X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Flevel.h;fp=src%2Flevel.h;h=53eb9c112bed59a0a56e429d2f6cb54990514a5c;hb=0a754b5aac897ffde09e93027aed78c95b81b99b;hp=6a57dc2540750be6c74790b1ad6f8b7b42709ba9;hpb=6066118fc6a58b379f52b9aaaf45200b136812b9;p=vrlugburz diff --git a/src/level.h b/src/level.h index 6a57dc2..53eb9c1 100644 --- a/src/level.h +++ b/src/level.h @@ -4,6 +4,7 @@ #include "scenefile.h" enum { + TILE_EMPTY, TILE_STRAIGHT, TILE_CORNER, TILE_DOOR @@ -27,7 +28,10 @@ struct cell { int wall[4]; int floor, ceil; - struct meshgroup mgrp; + struct meshgroup *mgrp; + int num_mgrp; + + struct cell *next; }; struct level { @@ -37,6 +41,11 @@ struct level { struct cell *cells; struct tile *tiles; + + /* meshes owned by the level, constructed during geometry generation or + * loaded, excluding meshes in tiles scenefiles + */ + struct mesh *meshlist; }; @@ -46,6 +55,9 @@ void destroy_level(struct level *lvl); int load_level(struct level *lvl, const char *fname); int save_level(struct level *lvl, const char *fname); +struct tile *find_level_tile(struct level *lvl, const char *tname); + +int gen_cell_geom(struct level *lvl, struct cell *cell); int gen_level_geom(struct level *lvl); #endif /* LEVEL_H_ */