summaryrefslogtreecommitdiffstats
path: root/zoom
diff options
context:
space:
mode:
Diffstat (limited to 'zoom')
-rw-r--r--zoom/level.h6
-rw-r--r--zoom/types.h16
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;