#define S1COORD GR_VERTEX_SOW_TMU1_OFFSET
#define T1COORD GR_VERTEX_TOW_TMU1_OFFSET
+
+#if FX_USE_PARGB
+
+#define CLIP_XCOORD 0 /* normal place */
+#define CLIP_YCOROD 1 /* normal place */
+#define CLIP_ZCOORD 2 /* normal place */
+#define CLIP_WCOORD 3 /* normal place */
+#define CLIP_GCOORD 4 /* GR_VERTEX_PARGB_OFFSET */
+#define CLIP_BCOORD 5 /* GR_VERTEX_SOW_TMU0_OFFSET */
+#define CLIP_RCOORD 6 /* GR_VERTEX_TOW_TMU0_OFFSET */
+#define CLIP_ACOORD 7 /* GR_VERTEX_OOW_TMU0_OFFSET */
+
+#else
+
#define CLIP_XCOORD 0 /* normal place */
#define CLIP_YCOROD 1 /* normal place */
#define CLIP_ZCOORD 2 /* GR_VERTEX_Z_OFFSET */
#define CLIP_ACOORD 7 /* normal place */
-
+#endif
/* Should have size == 16 * sizeof(float).
*/
gWin[(x)].v.a=UBYTE_COLOR_TO_FLOAT_255_COLOR(col[3]); \
}
+#if FX_USE_PARGB
+#define GOURAUD2(v, c) { \
+ GLubyte *col = c; \
+ v->argb=MESACOLOR2PARGB(col); \
+}
+#else
#define GOURAUD2(v, c) { \
GLubyte *col = c; \
v->r=UBYTE_COLOR_TO_FLOAT_255_COLOR(col[0]); \
v->b=UBYTE_COLOR_TO_FLOAT_255_COLOR(col[2]); \
v->a=UBYTE_COLOR_TO_FLOAT_255_COLOR(col[3]); \
}
+#endif
/* Mergable items first
#define FX_UM_E0_MODULATE 0x00000002
#define FX_UM_E0_DECAL 0x00000004
#define FX_UM_E0_BLEND 0x00000008
-
-#define FX_UM_E1_REPLACE 0x00000010
-#define FX_UM_E1_MODULATE 0x00000020
-#define FX_UM_E1_DECAL 0x00000040
-#define FX_UM_E1_BLEND 0x00000080
-
-#define FX_UM_E_ENVMODE 0x000000ff
-
-#define FX_UM_E0_ALPHA 0x00000100
-#define FX_UM_E0_LUMINANCE 0x00000200
-#define FX_UM_E0_LUMINANCE_ALPHA 0x00000400
-#define FX_UM_E0_INTENSITY 0x00000800
-#define FX_UM_E0_RGB 0x00001000
-#define FX_UM_E0_RGBA 0x00002000
-
-#define FX_UM_E1_ALPHA 0x00004000
-#define FX_UM_E1_LUMINANCE 0x00008000
-#define FX_UM_E1_LUMINANCE_ALPHA 0x00010000
-#define FX_UM_E1_INTENSITY 0x00020000
-#define FX_UM_E1_RGB 0x00040000
-#define FX_UM_E1_RGBA 0x00080000
-
-#define FX_UM_E_IFMT 0x000fff00
+#define FX_UM_E0_ADD 0x00000010
+
+#define FX_UM_E1_REPLACE 0x00000020
+#define FX_UM_E1_MODULATE 0x00000040
+#define FX_UM_E1_DECAL 0x00000080
+#define FX_UM_E1_BLEND 0x00000100
+#define FX_UM_E1_ADD 0x00000200
+
+#define FX_UM_E_ENVMODE 0x000003ff
+
+#define FX_UM_E0_ALPHA 0x00001000
+#define FX_UM_E0_LUMINANCE 0x00002000
+#define FX_UM_E0_LUMINANCE_ALPHA 0x00004000
+#define FX_UM_E0_INTENSITY 0x00008000
+#define FX_UM_E0_RGB 0x00010000
+#define FX_UM_E0_RGBA 0x00020000
+
+#define FX_UM_E1_ALPHA 0x00040000
+#define FX_UM_E1_LUMINANCE 0x00080000
+#define FX_UM_E1_LUMINANCE_ALPHA 0x00100000
+#define FX_UM_E1_INTENSITY 0x00200000
+#define FX_UM_E1_RGB 0x00400000
+#define FX_UM_E1_RGBA 0x00800000
+
+#define FX_UM_E_IFMT 0x00fff000
#define FX_UM_COLOR_ITERATED 0x00100000
#define FX_UM_COLOR_CONSTANT 0x00200000