#ifndef GAME_LEVEL_H #define GAME_LEVEL_H #include #include "types.h" #pragma pack(push, 2) typedef struct _LEVELHEADER { char l, f; int nRooms; int nTextures; } LEVELHEADER; typedef struct _ROOMHEADER { int nTriangles; int nObjects; int nGates; } ROOMHEADER; typedef struct _GATEINFO { unsigned short state; unsigned short timer; } GATEINFO; typedef struct _ROOM { int nTriangles; int nObjects; int nGates; TRIANGLE *triangles; OBJECT *objects; 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