#ifndef ZOOM_LEVEL_H #define ZOOM_LEVEL_H #include #include #pragma pack(push, 2) typedef struct _LEVELHEADER { char l, f; int nRooms; int nTextures; } LEVELHEADER; typedef struct _ROOMHEADER { int nWalls; int nThings; int nGates; } ROOMHEADER; 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 _LEVEL { int nRooms; ROOM *rooms; int nTextures; GLuint *textures; } LEVEL; #pragma pack(pop) int LoadLevel(char *, LEVEL *); void DrawRoom(LEVEL *, int); void FreeLevel(LEVEL *); #endif