started on the level geometry
[vrlugburz] / src / level.h
index 6a57dc2..53eb9c1 100644 (file)
@@ -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_ */