Status: applied
Origin: vendor
Applied-Upstream: 2002.04.10+
Forwarded: not-needed

---
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 (((AnyPtr)src)&3)
-            *((FxU16 *)dst)++=*((FxU16 *)src)++;
+         if (((AnyPtr)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 */
