#ifndef __GLIDE2TO3_H__
#define __GLIDE2TO3_H__


typedef struct 
{
  float  sow;                   /* s texture ordinate (s over w) */
  float  tow;                   /* t texture ordinate (t over w) */  
  float  oow;                   /* 1/w (used mipmapping - really 0xfff/w) */
}  GrTmuVertex;

typedef struct
{
    float x, y, z;                /* X, Y, and Z of scrn space -- Z is ignored */
    float r, g, b;                /* R, G, B, ([0..255.0]) */
    float ooz;                    /* 65535/Z (used for Z-buffering) */
    float a;                      /* Alpha [0..255.0] */
    float oow;                    /* 1/W (used for W-buffering, texturing) */
    GrTmuVertex  tmuvtx[GLIDE_NUM_TMU];
} OldGrVertex;

#define GLI_tdScreenVertx OldGrVertex

#define GR_VERTEX_X_OFFSET              0
#define GR_VERTEX_Y_OFFSET              1
#define GR_VERTEX_Z_OFFSET              2
#define GR_VERTEX_R_OFFSET              3
#define GR_VERTEX_G_OFFSET              4
#define GR_VERTEX_B_OFFSET              5
#define GR_VERTEX_OOZ_OFFSET            6
#define GR_VERTEX_A_OFFSET              7
#define GR_VERTEX_OOW_OFFSET            8
#define GR_VERTEX_SOW_TMU0_OFFSET       9
#define GR_VERTEX_TOW_TMU0_OFFSET       10
#define GR_VERTEX_OOW_TMU0_OFFSET       11
#define GR_VERTEX_SOW_TMU1_OFFSET       12
#define GR_VERTEX_TOW_TMU1_OFFSET       13
#define GR_VERTEX_OOW_TMU1_OFFSET       14
#if (GLIDE_NUM_TMU > 2)
#define GR_VERTEX_SOW_TMU2_OFFSET       15
#define GR_VERTEX_TOW_TMU2_OFFSET       16
#define GR_VERTEX_OOW_TMU2_OFFSET       17
#endif

#endif