FxU32
hwcInitAGPFifo(hwcBoardInfo *bInfo, FxBool enableHoleCounting)
{
---- glide3x-20010309/h3/glide3/src/gaa.c.org 2006-12-23 11:51:47.967058500 +0100
-+++ glide3x-20010309/h3/glide3/src/gaa.c 2006-12-23 12:04:56.144316500 +0100
-@@ -614,7 +614,7 @@
- e = pointers;
- if (mode)
- e = *(float **)e;
-- (float *)pointers += stride;
-+ pointers += stride;
-
- ptX = FARRAY(e, gc->state.vData.vertexInfo.offset);
- ptY = FARRAY(e, gc->state.vData.vertexInfo.offset+4);
-@@ -715,7 +715,7 @@
- if (mode)
- e = *(float **)e;
- oow = 1.0f / FARRAY(e, gc->state.vData.wInfo.offset);
-- (float *)pointers += stride;
-+ pointers += stride;
-
- ptX = FARRAY(e, gc->state.vData.vertexInfo.offset)
- *oow*gc->state.Viewport.hwidth+gc->state.Viewport.ox;
-@@ -837,9 +837,9 @@
- v1 = *(float **)v1;
- v2 = *(float **)v2;
- }
-- (float *)pointers += stride;
-+ pointers += stride;
- if (ltype == GR_LINES)
-- (float *)pointers += stride;
-+ pointers += stride;
-
- /* draw from low Y to high Y */
- if (FARRAY(v2, gc->state.vData.vertexInfo.offset+4) < FARRAY(v1, gc->state.vData.vertexInfo.offset+4)) {
-@@ -1018,9 +1018,9 @@
- v1 = *(float **)v1;
- v2 = *(float **)v2;
- }
-- (float *)pointers += stride;
-+ pointers += stride;
- if (ltype == GR_LINES)
-- (float *)pointers += stride;
-+ pointers += stride;
- owa = oowa = 1.0f / FARRAY(v1, gc->state.vData.wInfo.offset);
- owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset);
- }
-@@ -1032,7 +1032,7 @@
- v1 = *(float **)v1;
- v2 = *(float **)v2;
- }
-- (float *)pointers += stride;
-+ pointers += stride;
- owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset);
- }
-
-@@ -1366,7 +1366,7 @@
- b = *(float **)b;
- c = *(float **)c;
- }
-- (float *)pointers += stride*3;
-+ pointers += stride*3;
-
- /* move culling test to here */
- {
-@@ -1540,7 +1540,7 @@
- b = *(float **)b;
- c = *(float **)c;
- }
-- (float *)pointers += stride*3;
-+ pointers += stride*3;
- oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
- oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
- oowc = 1.0f / FARRAY(c, gc->state.vData.wInfo.offset);
-@@ -1705,7 +1705,7 @@
- if (type == kSetupFan) {
- v[0] = (mode == 0) ? pointers : *(float **)pointers;
- while (sCount--) {
-- (float *)pointers += stride;
-+ pointers += stride;
- if (mode) {
- v[1] = *(float **)pointers;
- v[2] = *((float **)pointers+1);
-@@ -1747,7 +1747,7 @@
- _grAADrawTriangles(1, type, 3, v);
- else
- _grAAVpDrawTriangles(1, type, 3, v);
-- (float *)pointers += stride;
-+ pointers += stride;
- flip = ~flip;
- }
- flip = ~flip;
---- glide3x-20010309/h3/glide3/src/gdraw.c.org 2006-12-23 12:08:15.640784250 +0100
-+++ glide3x-20010309/h3/glide3/src/gdraw.c 2006-12-23 12:09:03.163754250 +0100
-@@ -403,7 +403,7 @@
- vPtr = pointers;
- if (mode) vPtr = *(float **)vPtr;
-
-- (float *)pointers += stride;
-+ pointers += stride;
-
- GDBG_INFO_MORE(gc->myLevel, "(%f %f)\n",
- FARRAY(vPtr,gc->state.vData.vertexInfo.offset),
-@@ -492,7 +492,7 @@
- if (mode)
- vPtr = *(float **)vPtr;
- oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset);
-- (float *)pointers += stride;
-+ pointers += stride;
-
- {
- FxU32 x, y;
-@@ -617,9 +617,9 @@
- a = *(float **)a;
- b = *(float **)b;
- }
-- (float *)pointers += stride;
-+ pointers += stride;
- if (ltype == GR_LINES)
-- (float *)pointers += stride;
-+ pointers += stride;
-
- /*
- ** compute absolute deltas and draw from low Y to high Y
-@@ -779,7 +779,7 @@
- a = *(float **)a;
- b = *(float **)b;
- }
-- (float *)pointers += stride;
-+ pointers += stride;
- owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
- owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
- pointers += stride;
-@@ -782,7 +782,7 @@
- (float *)pointers += stride;
- owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
- owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
-- (float *)pointers += stride;
-+ pointers += stride;
- }
- else {
- owa = oowa = oowb;
-@@ -792,7 +792,7 @@
- a = *(float **)a;
- b = *(float **)b;
- }
-- (float *)pointers += stride;
-+ pointers += stride;
- owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
- }
- fay = tmp1 = FARRAY(a, gc->state.vData.vertexInfo.offset+4)
-@@ -944,7 +944,7 @@
- vPtr = pointers;
- if (mode)
- vPtr = *(float **)vPtr;
-- (float *)pointers += stride;
-+ pointers += stride;
-
- i = gc->tsuDataList[dataElem];
-
-@@ -984,7 +984,7 @@
- *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox);
- TRI_SETF(FARRAY(vPtr, 4)
- *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy);
-- (float *)pointers += stride;
-+ pointers += stride;
-
- TRI_VP_SETFS(vPtr,oow);
- }
---- glide3x-20010309/h3/glide3/src/gstrip.c.org 2006-12-23 12:13:50.669722250 +0100
-+++ glide3x-20010309/h3/glide3/src/gstrip.c 2006-12-23 12:14:04.282573000 +0100
-@@ -188,7 +188,7 @@
- vPtr = pointers;
- if (mode)
- vPtr = *(float **)vPtr;
-- (float *)pointers += stride;
-+ pointers += stride;
-
- TRI_SETF(FARRAY(vPtr, 0));
- dataElem = 0;
-@@ -228,7 +228,7 @@
- *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox);
- TRI_SETF(FARRAY(vPtr, 4)
- *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy);
-- (float *)pointers += stride;
-+ pointers += stride;
-
- TRI_VP_SETFS(vPtr, oow);
- }
---- glide3x-20010309/h3/glide3/src/distrip.c.org 2006-12-23 12:18:36.047557250 +0100
-+++ glide3x-20010309/h3/glide3/src/distrip.c 2006-12-23 12:18:46.088184750 +0100
-@@ -450,7 +450,7 @@
- else {
- while ((int)Count >= 3) {
- grDrawTriangle(*(float **)pointers, *((float **)pointers+1), *((float **)pointers+2));
-- (float *)pointers += 3;
-+ pointers += 3;
- Count -= 3;
- }
- }
--- /dev/null
+Status: applied
+
+Index: b/glide3x/h3/glide3/src/gaa.c
+===================================================================
+--- a/glide3x/h3/glide3/src/gaa.c
++++ b/glide3x/h3/glide3/src/gaa.c
+@@ -616,7 +616,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count,
+ e = pointers;
+ if (mode)
+ e = *(float **)e;
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ ptX = FARRAY(e, gc->state.vData.vertexInfo.offset);
+ ptY = FARRAY(e, gc->state.vData.vertexInfo.offset+4);
+@@ -717,7 +717,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count,
+ if (mode)
+ e = *(float **)e;
+ oow = 1.0f / FARRAY(e, gc->state.vData.wInfo.offset);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ ptX = FARRAY(e, gc->state.vData.vertexInfo.offset)
+ *oow*gc->state.Viewport.hwidth+gc->state.Viewport.ox;
+@@ -842,9 +842,9 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty
+ v1 = *(float **)v1;
+ v2 = *(float **)v2;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ if (ltype == GR_LINES)
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ /* draw from low Y to high Y */
+ if (FARRAY(v2, gc->state.vData.vertexInfo.offset+4) < FARRAY(v1, gc->state.vData.vertexInfo.offset+4)) {
+@@ -1023,9 +1023,9 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty
+ v1 = *(float **)v1;
+ v2 = *(float **)v2;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ if (ltype == GR_LINES)
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ owa = oowa = 1.0f / FARRAY(v1, gc->state.vData.wInfo.offset);
+ owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset);
+ }
+@@ -1037,7 +1037,7 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty
+ v1 = *(float **)v1;
+ v2 = *(float **)v2;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset);
+ }
+
+@@ -1373,7 +1373,7 @@ _grAADrawTriangles(FxI32 mode, FxI32 tty
+ b = *(float **)b;
+ c = *(float **)c;
+ }
+- (float *)pointers += stride*3;
++ pointers = (float *)pointers + stride*3;
+
+ /* move culling test to here */
+ {
+@@ -1549,7 +1549,7 @@ _grAAVpDrawTriangles(FxI32 mode, FxI32 t
+ b = *(float **)b;
+ c = *(float **)c;
+ }
+- (float *)pointers += stride*3;
++ pointers = (float *)pointers + stride*3;
+ oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
+ oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
+ oowc = 1.0f / FARRAY(c, gc->state.vData.wInfo.offset);
+@@ -1716,7 +1716,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo
+ if (type == kSetupFan) {
+ v[0] = (mode == 0) ? pointers : *(float **)pointers;
+ while (sCount--) {
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ if (mode) {
+ v[1] = *(float **)pointers;
+ v[2] = *((float **)pointers+1);
+@@ -1758,7 +1758,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo
+ _grAADrawTriangles(1, type, 3, v);
+ else
+ _grAAVpDrawTriangles(1, type, 3, v);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ flip = ~flip;
+ }
+ flip = ~flip;
+Index: b/glide3x/h3/glide3/src/gdraw.c
+===================================================================
+--- a/glide3x/h3/glide3/src/gdraw.c
++++ b/glide3x/h3/glide3/src/gdraw.c
+@@ -402,7 +402,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v
+ vPtr = pointers;
+ if (mode) vPtr = *(float **)vPtr;
+
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ GDBG_INFO_MORE(gc->myLevel, "(%f %f)\n",
+ FARRAY(vPtr,gc->state.vData.vertexInfo.offset),
+@@ -491,7 +491,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v
+ if (mode)
+ vPtr = *(float **)vPtr;
+ oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ {
+ FxU32 x, y;
+@@ -616,9 +616,9 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype
+ a = *(float **)a;
+ b = *(float **)b;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ if (ltype == GR_LINES)
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ /*
+ ** compute absolute deltas and draw from low Y to high Y
+@@ -778,10 +778,10 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype
+ a = *(float **)a;
+ b = *(float **)b;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
+ owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ }
+ else {
+ owa = oowa = oowb;
+@@ -791,7 +791,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype
+ a = *(float **)a;
+ b = *(float **)b;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
+ }
+ fay = tmp1 = FARRAY(a, gc->state.vData.vertexInfo.offset+4)
+@@ -944,7 +944,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI
+ vPtr = pointers;
+ if (mode)
+ vPtr = *(float **)vPtr;
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ i = gc->tsuDataList[dataElem];
+
+@@ -984,7 +984,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI
+ *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox);
+ TRI_SETF(FARRAY(vPtr, 4)
+ *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ TRI_VP_SETFS(vPtr,oow);
+ }
+Index: b/glide3x/h3/glide3/src/gstrip.c
+===================================================================
+--- a/glide3x/h3/glide3/src/gstrip.c
++++ b/glide3x/h3/glide3/src/gstrip.c
+@@ -190,7 +190,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty
+ vPtr = pointers;
+ if (mode)
+ vPtr = *(float **)vPtr;
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ TRI_SETF(FARRAY(vPtr, 0));
+ dataElem = 0;
+@@ -230,7 +230,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty
+ *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox);
+ TRI_SETF(FARRAY(vPtr, 4)
+ *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ TRI_VP_SETFS(vPtr, oow);
+ }
+Index: b/glide3x/h3/glide3/src/distrip.c
+===================================================================
+--- a/glide3x/h3/glide3/src/distrip.c
++++ b/glide3x/h3/glide3/src/distrip.c
+@@ -450,7 +450,7 @@ GR_DIENTRY(grDrawVertexArray, void , (Fx
+ else {
+ while ((int)Count >= 3) {
+ grDrawTriangle(*(float **)pointers, *((float **)pointers+1), *((float **)pointers+2));
+- (float *)pointers += 3;
++ pointers = (float *)pointers + 3;
+ Count -= 3;
+ }
+ }
+Index: b/glide3x/h5/glide3/src/gaa.c
+===================================================================
+--- a/glide3x/h5/glide3/src/gaa.c
++++ b/glide3x/h5/glide3/src/gaa.c
+@@ -628,7 +628,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count,
+ e = pointers;
+ if (mode)
+ e = *(float **)e;
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ ptX = FARRAY(e, gc->state.vData.vertexInfo.offset);
+ ptY = FARRAY(e, gc->state.vData.vertexInfo.offset+4);
+@@ -729,7 +729,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count,
+ if (mode)
+ e = *(float **)e;
+ oow = 1.0f / FARRAY(e, gc->state.vData.wInfo.offset);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ ptX = FARRAY(e, gc->state.vData.vertexInfo.offset)
+ *oow*gc->state.Viewport.hwidth+gc->state.Viewport.ox;
+@@ -856,9 +856,9 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty
+ v1 = *(float **)v1;
+ v2 = *(float **)v2;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ if (ltype == GR_LINES)
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ /* draw from low Y to high Y */
+ if (FARRAY(v2, gc->state.vData.vertexInfo.offset+4) < FARRAY(v1, gc->state.vData.vertexInfo.offset+4)) {
+@@ -1037,9 +1037,9 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty
+ v1 = *(float **)v1;
+ v2 = *(float **)v2;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ if (ltype == GR_LINES)
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ owa = oowa = 1.0f / FARRAY(v1, gc->state.vData.wInfo.offset);
+ owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset);
+ }
+@@ -1051,7 +1051,7 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty
+ v1 = *(float **)v1;
+ v2 = *(float **)v2;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset);
+ }
+
+@@ -1391,7 +1391,7 @@ _grAADrawTriangles(FxI32 mode, FxI32 tty
+ b = *(float **)b;
+ c = *(float **)c;
+ }
+- (float *)pointers += stride*3;
++ pointers = (float *)pointers + stride*3;
+
+ /* move culling test to here */
+ {
+@@ -1567,7 +1567,7 @@ _grAAVpDrawTriangles(FxI32 mode, FxI32 t
+ b = *(float **)b;
+ c = *(float **)c;
+ }
+- (float *)pointers += stride*3;
++ pointers = (float *)pointers + stride*3;
+ oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
+ oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
+ oowc = 1.0f / FARRAY(c, gc->state.vData.wInfo.offset);
+@@ -1734,7 +1734,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo
+ if (type == kSetupFan) {
+ v[0] = (mode == 0) ? pointers : *(float **)pointers;
+ while (sCount--) {
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ if (mode) {
+ v[1] = *(float **)pointers;
+ v[2] = *((float **)pointers+1);
+@@ -1776,7 +1776,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo
+ _grAADrawTriangles(1, type, 3, v);
+ else
+ _grAAVpDrawTriangles(1, type, 3, v);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ flip = ~flip;
+ }
+ flip = ~flip;
+Index: b/glide3x/h5/glide3/src/gdraw.c
+===================================================================
+--- a/glide3x/h5/glide3/src/gdraw.c
++++ b/glide3x/h5/glide3/src/gdraw.c
+@@ -472,7 +472,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v
+ vPtr = pointers;
+ if (mode) vPtr = *(float **)vPtr;
+
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ GDBG_INFO_MORE(gc->myLevel, "(%f %f)\n",
+ FARRAY(vPtr,gc->state.vData.vertexInfo.offset),
+@@ -554,7 +554,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v
+ vPtr = pointers;
+ if (mode) vPtr = *(float **)vPtr;
+
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ GDBG_INFO_MORE(gc->myLevel, "(%f %f)\n",
+ FARRAY(vPtr,gc->state.vData.vertexInfo.offset),
+@@ -665,7 +665,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v
+ if (mode)
+ vPtr = *(float **)vPtr;
+ oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ {
+ float fx, fy;
+@@ -802,9 +802,9 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype
+ a = *(float **)a;
+ b = *(float **)b;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ if (ltype == GR_LINES)
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ /*
+ ** compute absolute deltas and draw from low Y to high Y
+@@ -964,10 +964,10 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype
+ a = *(float **)a;
+ b = *(float **)b;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
+ owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ }
+ else {
+ owa = oowa = oowb;
+@@ -977,7 +977,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype
+ a = *(float **)a;
+ b = *(float **)b;
+ }
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+ owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset);
+ }
+ fay = tmp1 = FARRAY(a, gc->state.vData.vertexInfo.offset+4)
+@@ -1125,7 +1125,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI
+ vPtr = pointers;
+ if (mode)
+ vPtr = *(float **)vPtr;
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ i = gc->tsuDataList[dataElem];
+
+@@ -1165,7 +1165,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI
+ *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox);
+ TRI_SETF(FARRAY(vPtr, 4)
+ *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ TRI_VP_SETFS(vPtr,oow);
+ }
+Index: b/glide3x/h5/glide3/src/gstrip.c
+===================================================================
+--- a/glide3x/h5/glide3/src/gstrip.c
++++ b/glide3x/h5/glide3/src/gstrip.c
+@@ -214,7 +214,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty
+ vPtr = pointers;
+ if (mode)
+ vPtr = *(float **)vPtr;
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ TRI_SETF(FARRAY(vPtr, 0));
+ dataElem = 0;
+@@ -254,7 +254,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty
+ *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox);
+ TRI_SETF(FARRAY(vPtr, 4)
+ *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy);
+- (float *)pointers += stride;
++ pointers = (float *)pointers + stride;
+
+ TRI_VP_SETFS(vPtr, oow);
+ }
+Index: b/glide3x/h5/glide3/src/distrip.c
+===================================================================
+--- a/glide3x/h5/glide3/src/distrip.c
++++ b/glide3x/h5/glide3/src/distrip.c
+@@ -458,7 +458,7 @@ GR_DIENTRY(grDrawVertexArray, void , (Fx
+ else {
+ while ((int)Count >= 3) {
+ grDrawTriangle(*(float **)pointers, *((float **)pointers+1), *((float **)pointers+2));
+- (float *)pointers += 3;
++ pointers = (float *)pointers + 3;
+ Count -= 3;
+ }
+ }
+Index: b/glide3x/h5/glide3/src/glfb.c
+===================================================================
+--- a/glide3x/h5/glide3/src/glfb.c
++++ b/glide3x/h5/glide3/src/glfb.c
+@@ -1333,8 +1333,10 @@ GR_ENTRY(grLfbReadRegion, FxBool, (GrBuf
+ while(src_height--)
+ {
+ /* adjust starting alignment */
+- if (((FxU32)src)&3)
+- *((FxU16 *)dst)++=*((FxU16 *)src)++;
++ if (((FxU32)src)&3) {
++ *((FxU16 *)dst)=*((FxU16 *)src);
++ dst = ((FxU16 *)dst)+1; src = ((FxU16 *)src);
++ }
+
+ /* read in dwords of pixels */
+ if(length)
+@@ -1353,8 +1355,8 @@ GR_ENTRY(grLfbReadRegion, FxBool, (GrBuf
+ *((FxU16 *)(((AnyPtr)dst) + byte_index))=*((FxU16 *)(((AnyPtr)src) + byte_index));
+ }
+ /* adjust for next line */
+- ((FxU8 *)src)+=src_adjust;
+- ((FxU8 *)dst)+=dst_adjust;
++ src=((FxU8 *)src)+src_adjust;
++ dst=((FxU8 *)dst)+dst_adjust;
+ }
+ rv=FXTRUE;
+ /* unlock buffer */