#ifndef ZOOM_TYPES_H #define ZOOM_TYPES_H #include #define TRIANGLE_UNKNOWN 0 #define TRIANGLE_WALL 1 #define TRIANGLE_FLOOR 2 #define THING_UNKNOWN 0 #define THING_MEDIPAK25 1 #define THING_MEDIPAK50 2 #define THING_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 struct WALL { unsigned char type; unsigned char visible; union { TRIANGLE triangle; struct { VERTEX vertices[3]; VECTOR normal; }; }; VECTOR normals[3]; int texture; TEXCOORDS texcoords[3]; } WALL; typedef struct _THING { unsigned char type; unsigned char visible; VERTEX pos; } THING; typedef struct _GATE { unsigned char type; unsigned char open; WALL walls[2]; VERTEX point; int room; int gate; } GATE; #pragma pack(pop) #endif