summaryrefslogtreecommitdiffstats
path: root/zoom/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'zoom/types.h')
-rw-r--r--zoom/types.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/zoom/types.h b/zoom/types.h
new file mode 100644
index 0000000..1fce68b
--- /dev/null
+++ b/zoom/types.h
@@ -0,0 +1,63 @@
+#ifndef GAME_TYPES_H
+#define GAME_TYPES_H
+
+#include <GL/gl.h>
+
+#define TRIANGLE_UNKNOWN 0
+#define TRIANGLE_WALL 1
+#define TRIANGLE_FLOOR 2
+
+#define OBJECT_UNKNOWN 0
+#define OBJECT_MEDIPAK25 1
+#define OBJECT_MEDIPAK50 2
+#define OBJECT_MEDIPAK100 3
+
+#define GATE_UNKNOWN 0
+#define GATE_SIDE 1
+
+#define STATE_UNKNOWN 0
+#define STATE_OPENED 1
+#define STATE_CLOSED 2
+#define STATE_OPENING 3
+#define STATE_CLOSING 4
+
+#pragma pack(push, 2)
+typedef union _MATRIX {
+ float m[4][4];
+ float f[16];
+} MATRIX;
+
+typedef struct _VECTOR_VERTEX {
+ float x, y, z;
+} VECTOR, VERTEX;
+
+typedef struct _TEXCOORDS {
+ float s, t;
+} TEXCOORDS;
+
+typedef struct _TRIANGLE {
+ unsigned char type;
+ unsigned char visible;
+ VERTEX vertices[3];
+ VECTOR normal;
+ int texture;
+ TEXCOORDS texcoords[3];
+} TRIANGLE;
+
+typedef struct _OBJECT {
+ unsigned char type;
+ unsigned char visible;
+ VERTEX pos;
+} OBJECT;
+
+typedef struct _GATE {
+ unsigned char type;
+ unsigned char open;
+ TRIANGLE triangles[2];
+ VERTEX point;
+ int room;
+ int gate;
+} GATE;
+#pragma pack(pop)
+
+#endif