#ifndef ZOOM_LEVEL_H #define ZOOM_LEVEL_H #include #include #include typedef struct _GATEINFO { unsigned short state; unsigned short timer; } GATEINFO; typedef struct _ROOM { int nWalls; int nThings; int nGates; WALL *walls; THING *things; GATE *gates; GATEINFO *gateinfo; } ROOM; typedef struct _LEVELINFO { char *name; char *desc; VERTEX start; } LEVELINFO; typedef struct _TEXTURE { char *name; GLuint id; } TEXTURE; typedef struct _LEVEL { LEVELINFO *info; int nRooms; ROOM *rooms; int nTextures; TEXTURE *textures; } LEVEL; typedef struct _POLYGON { VECTOR normal; VERTEX vertices[3]; VECTOR normals[3]; GLuint texture; TEXCOORDS texcoords[3]; } POLYGON; typedef struct _POLYGON_LIST { int nPolygons; POLYGON polygons[0]; } POLYGON_LIST; LEVEL *LoadLevel(char *); POLYGON_LIST *DrawRoom(LEVEL *, int); void FreeLevel(LEVEL *); #endif