diff options
Diffstat (limited to 'zoom')
-rw-r--r-- | zoom/level.h | 6 | ||||
-rw-r--r-- | zoom/types.h | 16 |
2 files changed, 18 insertions, 4 deletions
diff --git a/zoom/level.h b/zoom/level.h index 223afe1..c9f5345 100644 --- a/zoom/level.h +++ b/zoom/level.h @@ -12,7 +12,7 @@ typedef struct _LEVELHEADER { } LEVELHEADER;
typedef struct _ROOMHEADER {
- int nTriangles;
+ int nWalls;
int nObjects;
int nGates;
} ROOMHEADER;
@@ -23,10 +23,10 @@ typedef struct _GATEINFO { } GATEINFO;
typedef struct _ROOM {
- int nTriangles;
+ int nWalls;
int nObjects;
int nGates;
- TRIANGLE *triangles;
+ WALL *walls;
OBJECT *objects;
GATE *gates;
GATEINFO *gateinfo;
diff --git a/zoom/types.h b/zoom/types.h index 51dc259..eeacde7 100644 --- a/zoom/types.h +++ b/zoom/types.h @@ -22,6 +22,20 @@ #define STATE_CLOSING 4
#pragma pack(push, 2)
+typedef struct WALL {
+ unsigned char type;
+ unsigned char visible;
+ union {
+ TRIANGLE triangle;
+ struct {
+ VERTEX vertices[3];
+ VECTOR normal;
+ };
+ };
+ int texture;
+ TEXCOORDS texcoords[3];
+} WALL;
+
typedef struct _OBJECT {
unsigned char type;
unsigned char visible;
@@ -31,7 +45,7 @@ typedef struct _OBJECT { typedef struct _GATE {
unsigned char type;
unsigned char open;
- TRIANGLE triangles[2];
+ WALL walls[2];
VERTEX point;
int room;
int gate;
|