
libzoom: zoom/types.h: WALL-Struktur als Ersatz f?r TRIANGLE eingef?gt; zoom/level.h, level.c und player.c an die neuen Strukturen angepasst
48 lines
759 B
C
48 lines
759 B
C
#ifndef ZOOM_LEVEL_H
|
|
#define ZOOM_LEVEL_H
|
|
|
|
#include <GL/gl.h>
|
|
#include "types.h"
|
|
|
|
#pragma pack(push, 2)
|
|
typedef struct _LEVELHEADER {
|
|
char l, f;
|
|
int nRooms;
|
|
int nTextures;
|
|
} LEVELHEADER;
|
|
|
|
typedef struct _ROOMHEADER {
|
|
int nWalls;
|
|
int nObjects;
|
|
int nGates;
|
|
} ROOMHEADER;
|
|
|
|
typedef struct _GATEINFO {
|
|
unsigned short state;
|
|
unsigned short timer;
|
|
} GATEINFO;
|
|
|
|
typedef struct _ROOM {
|
|
int nWalls;
|
|
int nObjects;
|
|
int nGates;
|
|
WALL *walls;
|
|
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
|