64 lines
1.1 KiB
C
64 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
|