This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
neofx-libzoom/zoom/types.h
2005-04-18 15:27:00 +00:00

63 lines
1.1 KiB
C

#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