[Bf-blender-cvs] [b6fc8ff] testbuild: windows compile fix, avoid using C99 standard array

Martin Felke noreply at git.blender.org
Fri Nov 14 04:32:46 CET 2014


Commit: b6fc8ff99316d623636c6eac7a09890668daf589
Author: Martin Felke
Date:   Mon Oct 6 13:32:43 2014 +0200
Branches: testbuild
https://developer.blender.org/rBb6fc8ff99316d623636c6eac7a09890668daf589

windows compile fix, avoid using C99 standard array

===================================================================

M	source/blender/blenkernel/intern/fracture_util.c

===================================================================

diff --git a/source/blender/blenkernel/intern/fracture_util.c b/source/blender/blenkernel/intern/fracture_util.c
index f5a4a50..1ee7bf1 100644
--- a/source/blender/blenkernel/intern/fracture_util.c
+++ b/source/blender/blenkernel/intern/fracture_util.c
@@ -53,6 +53,12 @@
 #include "bmesh.h"
 #include "../../modifiers/intern/MOD_boolean_util.h"
 
+/*prototypes*/
+void uv_bbox(float uv[][2], int num_uv, float minv[2], float maxv[2]);
+void uv_translate(float uv[][2], int num_uv, float trans[2]);
+void uv_scale(float uv[][2], int num_uv, float scale);
+void uv_transform(float uv[][2], int num_uv, float mat[2][2]);
+void unwrap_shard_dm(DerivedMesh *dm);
 
 /* UV Helpers */
 void uv_bbox(float uv[][2], int num_uv, float minv[2], float maxv[2])
@@ -109,10 +115,10 @@ void unwrap_shard_dm(DerivedMesh* dm)
 	for (i = 0, mp = mpoly; i < totpoly; i++, mp++) {
 		MLoop *ml;
 		int j = 0;
-		float verts[mp->totloop][3];
+		float (*verts)[3] = MEM_mallocN(sizeof(float[3]) * mp->totloop, "unwrap_shard_dm verts");
 		float nor[3];
 		float mat[3][3];
-		float uv[mp->totloop][2];
+		float (*uv)[2] = MEM_mallocN(sizeof(float[2]) * mp->totloop, "unwrap_shard_dm_uv");
 		BoxPack* box;
 		float uvbbox[2][2];
 		float angle;
@@ -123,7 +129,7 @@ void unwrap_shard_dm(DerivedMesh* dm)
 			copy_v3_v3(verts[j], (mvert + ml->v)->co);
 		}
 
-		normal_poly_v3(nor, verts, mp->totloop);
+		normal_poly_v3(nor, (const float (*)[3])verts, mp->totloop);
 		normalize_v3(nor);
 		axis_dominant_v3_to_m3(mat, nor);
 
@@ -137,17 +143,17 @@ void unwrap_shard_dm(DerivedMesh* dm)
 		if (angle != 0.0f) {
 			float mat[2][2];
 			angle_to_mat2(mat, angle);
-			uv_transform(uv, mp->totloop, mat);
+			uv_transform((float (*)[2])uv, mp->totloop, mat);
 		}
 
 		/* prepare box packing... one poly is a box */
 		box = boxpack + i;
-		uv_bbox(uv, mp->totloop, uvbbox[0], uvbbox[1]);
+		uv_bbox((float (*)[2])uv, mp->totloop, uvbbox[0], uvbbox[1]);
 
 		uvbbox[0][0] = -uvbbox[0][0];
 		uvbbox[0][1] = -uvbbox[0][1];
 
-		uv_translate(uv, mp->totloop, uvbbox[0]);
+		uv_translate((float (*)[2])uv, mp->totloop, uvbbox[0]);
 
 		box->w = uvbbox[1][0] + uvbbox[0][0];
 		box->h = uvbbox[1][1] + uvbbox[0][1];
@@ -155,9 +161,12 @@ void unwrap_shard_dm(DerivedMesh* dm)
 
 		/* copy coords back */
 		for (j = 0; j < mp->totloop; j++) {
-			copy_v3_v3(mluv[j + mp->loopstart].uv, uv[j]);
+			copy_v2_v2(mluv[j + mp->loopstart].uv, uv[j]);
 			mluv[j + mp->loopstart].flag = 0;
 		}
+
+		MEM_freeN(uv);
+		MEM_freeN(verts);
 	}
 
 	/* do box packing and match uvs according to it */
@@ -179,8 +188,8 @@ void unwrap_shard_dm(DerivedMesh* dm)
 
 		for (j = 0; j < mp->totloop; j++)
 		{
-			uv_translate(mluv[j+mp->loopstart].uv, 1, trans);
-			uv_scale(mluv[j+mp->loopstart].uv, 1, scale);
+			uv_translate((float (*)[2])mluv[j+mp->loopstart].uv, 1, trans);
+			uv_scale((float (*)[2])mluv[j+mp->loopstart].uv, 1, scale);
 		}
 	}




More information about the Bf-blender-cvs mailing list