All pastes #907366 Raw Edit

Something

public text v1 · immutable
·published 2008-02-17 15:26 UTC
rendered paste body
diff -ruN blender/CHANGELOG.markos blender-new/CHANGELOG.markos
--- blender/CHANGELOG.markos	1970-01-01 02:00:00.000000000 +0200
+++ blender-new/CHANGELOG.markos	2008-02-14 17:15:52.000000000 +0200
@@ -0,0 +1,88 @@
+source/blender/blenlib/intern/arithb.c
+
+Removed functions:
+void cpy_m3_m3(float m1[][3], float m2[][3])
+void cpy_m4_m4(float m1[][4], float m2[][4])
+void mul_m3_m3m3(float m1[][3], float m2[][3], float m3[][3])
+void mul_m4_m4m4(float m1[][4], float m2[][4], float m3[][4])
+void ident_m4(float m[][4])
+void inv_m3_m3(float m1[][3], float m2[][3])
+int inv_m4_m4(float inverse[][4], float mat[][4])
+void mul_v3_v3m4(float *v1, float *v2, float mat[][4])
+
+all MTC_* functions in MTC_matrixops.h:
+void MTC_Mat3CpyMat4(float m1[][3], float m2[][4])
+void MTC_Mat4CpyMat4(float m1[][4], float m2[][4])
+void MTC_Mat4MulSerie(float answ[][4],
+			float m1[][4], float m2[][4], float m3[][4],
+			float m4[][4], float m5[][4], float m6[][4],
+			float m7[][4], float m8[][4])
+void MTC_Mat4MulMat4(float m1[][4], float m2[][4], float m3[][4])
+void MTC_Mat4MulVecfl(float mat[][4], float *vec)
+int MTC_Mat4Invert(float inverse[][4], float mat[][4])
+void MTC_Mat4Ortho(float mat[][4])
+void MTC_Mat4Mul3Vecfl(float mat[][4], float *vec)
+void MTC_Mat4MulVec4fl(float mat[][4], float *vec)
+void MTC_Mat4One(float m[][4])
+void MTC_Mat4SwapMat4(float m1[][4], float m2[][4])
+void MTC_Mat4CpyMat3nc(float m1[][4], float m2[][3])
+void MTC_Mat4MulMat33(float m1[][3], float m2[][4], float m3[][3])
+void MTC_Mat3MulVecfl(float mat[][3], float *vec)
+void MTC_Mat3CpyMat3(float m1[][3], float m2[][3])
+void MTC_Mat3MulMat3(float m1[][3], float m3[][3], float m2[][3])
+void MTC_Mat3MulVecd(float mat[][3], double *vec)
+void MTC_Mat3Inv(float m1[][3], float m2[][3])
+void MTC_Mat3Adj(float m1[][3], float m[][3])
+void MTC_Mat3One(float m[][3])
+
+and MTC_vectorops.h:
+void  MTC_diff3Int(int v1[3], int v2[3], int v3[3])
+void  MTC_cross3Int(int v1[3], int v2[3], int v3[3])
+int   MTC_dot3Int(int v1[3], int v2[3])
+void  MTC_diff3Float(float v1[3], float v2[3], float v3[3])
+void  MTC_cross3Float(float v1[3], float v2[3], float v3[3])
+float MTC_dot3Float(float v1[3], float v2[3])
+void  MTC_cp3Float(float v1[3], float v2[3])
+void  MTC_swapInt(int *i1, int *i2);
+void  MTC_diff3DFF(double v1[3], float v2[3], float v3[3])
+void  MTC_cross3Double(double v1[3], double v2[3], double v3[3])
+float MTC_normalize3DF(float n[3])
+
+Substitutes:
+Original			Replacement
+cpy_m3_m3			Mat3CpyMat3
+cpy_m4_m4			Mat4CpyMat4
+mul_m3_m3m3			Mat3MulMat3
+mul_m4_m4m4			Mat4MulMat4
+ident_m4			Mat4One
+inv_m3_m3			Mat3Inv
+inv_m4_m4			Mat4Inv
+mul_v3_v3m4			VecMat4MulVecfl
+
+MTC_Mat4CpyMat4			Mat4CpyMat4
+MTC_Mat4MulSerie		Mat4MulSerie
+MTC_Mat4MulMat4			Mat4MulMat4
+MTC_Mat4MulVecfl		Mat4MulVecfl
+MTC_Mat3MulVecfl		Mat3MulVecfl
+MTC_Mat4Invert			Mat4Invert
+MTC_Mat3CpyMat4			Mat3CpyMat4
+MTC_Mat3CpyMat3			Mat3CpyMat3
+MTC_Mat3MulMat3			Mat3MulMat3
+MTC_Mat4Ortho			Mat4Ortho
+MTC_Mat4Mul3Vecfl		Mat4Mul3Vecfl
+MTC_Mat4One			Mat4One
+MTC_Mat3MulVecd			Mat3MulVecd
+MTC_Mat3Inv			Mat3Inv
+MTC_Mat3Adj			Mat3Adj
+MTC_Mat3One			Mat3One
+MTC_Mat4SwapMat4		Mat4SwapMat4
+MTC_Mat4MulVec4fl		Mat4MulVec4fl
+MTC_Mat4CpyMat3nc		Mat4CpyMat3
+MTC_Mat4MulMat33		Mat3IsMat3MulMat4  (argument order change, 2 <-> 3)
+
+MTC_cross3Float			Crossf
+MTC_dot3Float			Inpf
+MTC_cp3Float			VecCopyf (change order 1 <-> 2)
+MTC_diff3Float			VecSubf
+MTC_normalize3DF		Normalize
+
diff -ruN blender/source/blender/blenkernel/intern/modifier.c blender-new/source/blender/blenkernel/intern/modifier.c
--- blender/source/blender/blenkernel/intern/modifier.c	2008-02-14 17:07:40.000000000 +0200
+++ blender-new/source/blender/blenkernel/intern/modifier.c	2008-02-14 17:15:52.000000000 +0200
@@ -69,9 +69,6 @@
 
 #include "BLI_editVert.h"
 
-#include "MTC_matrixops.h"
-#include "MTC_vectorops.h"
-
 #include "BKE_main.h"
 #include "BKE_anim.h"
 #include "BKE_bad_level_calls.h"
@@ -751,7 +748,7 @@
 	if(amd->end_cap && amd->end_cap != ob)
 		end_cap = mesh_get_derived_final(amd->end_cap, CD_MASK_MESH);
 
-	MTC_Mat4One(offset);
+	Mat4One(offset);
 
 	indexMap = MEM_callocN(sizeof(*indexMap) * dm->getNumVerts(dm),
 	                       "indexmap");
@@ -773,14 +770,14 @@
 		float result_mat[4][4];
 
 		if(ob)
-			MTC_Mat4Invert(obinv, ob->obmat);
+			Mat4Invert(obinv, ob->obmat);
 		else
-			MTC_Mat4One(obinv);
+			Mat4One(obinv);
 
-		MTC_Mat4MulSerie(result_mat, offset,
+		Mat4MulSerie(result_mat, offset,
 		                 obinv, amd->offset_ob->obmat,
 		                 NULL, NULL, NULL, NULL, NULL);
-		MTC_Mat4CpyMat4(offset, result_mat);
+		Mat4CpyMat4(offset, result_mat);
 	}
 
 	if(amd->fit_type == MOD_ARR_FITCURVE && amd->curve_ob) {
@@ -799,7 +796,7 @@
 	   prescribed length */
 	if(amd->fit_type == MOD_ARR_FITLENGTH
 	   || amd->fit_type == MOD_ARR_FITCURVE) {
-		float dist = sqrt(MTC_dot3Float(offset[3], offset[3]));
+		float dist = sqrt(Inpf(offset[3], offset[3]));
 
 		if(dist > FLT_EPSILON)
 			/* this gives length = first copy start to last copy end
@@ -832,11 +829,11 @@
 	result = CDDM_from_template(dm, finalVerts, finalEdges, finalFaces);
 
 	/* calculate the offset matrix of the final copy (for merging) */ 
-	MTC_Mat4One(final_offset);
+	Mat4One(final_offset);
 
 	for(j=0; j < count - 1; j++) {
-		MTC_Mat4MulMat4(tmp_mat, final_offset, offset);
-		MTC_Mat4CpyMat4(final_offset, tmp_mat);
+		Mat4MulMat4(tmp_mat, final_offset, offset);
+		Mat4CpyMat4(final_offset, tmp_mat);
 	}
 
 	numVerts = numEdges = numFaces = 0;
@@ -869,7 +866,7 @@
 		if((count > 1) && (amd->flags & MOD_ARR_MERGE)) {
 			float tmp_co[3];
 			VECCOPY(tmp_co, mv->co);
-			MTC_Mat4MulVecfl(offset, tmp_co);
+			Mat4MulVecfl(offset, tmp_co);
 
 			for(j = 0; j < maxVerts; j++) {
 				inMV = &src_mvert[j];
@@ -881,7 +878,7 @@
 					if(amd->flags & MOD_ARR_MERGEFINAL) {
 						VECCOPY(tmp_co, inMV->co);
 						inMV = &src_mvert[i];
-						MTC_Mat4MulVecfl(final_offset, tmp_co);
+						Mat4MulVecfl(final_offset, tmp_co);
 						if(VecLenCompare(tmp_co, inMV->co, amd->merge_dist))
 							indexMap[i].merge_final = 1;
 					}
@@ -899,7 +896,7 @@
 				*mv2 = *mv;
 				numVerts++;
 
-				MTC_Mat4MulVecfl(offset, co);
+				Mat4MulVecfl(offset, co);
 				VECCOPY(mv2->co, co);
 			}
 		} else if(indexMap[i].merge != i && indexMap[i].merge_final) {
@@ -2497,8 +2494,7 @@
 				/* we know the edge has 2 faces, so check the angle */
 				SmoothFace *face1 = edge->faces->link;
 				SmoothFace *face2 = edge->faces->next->link;
-				float edge_angle_cos = MTC_dot3Float(face1->normal,
-				                                     face2->normal);
+				float edge_angle_cos = Inpf(face1->normal, face2->normal);
 
 				if(edge_angle_cos < threshold) {
 					/* this edge is sharp */
@@ -3245,11 +3241,11 @@
 				/* find the projector which the face points at most directly
 				 * (projector normal with largest dot product is best)
 				 */
-				best_dot = MTC_dot3Float(projectors[0].normal, face_no);
+				best_dot = Inpf(projectors[0].normal, face_no);
 				best_projector = &projectors[0];
 
 				for(j = 1; j < num_projectors; ++j) {
-					float tmp_dot = MTC_dot3Float(projectors[j].normal,
+					float tmp_dot = Inpf(projectors[j].normal,
 					                              face_no);
 					if(tmp_dot > best_dot) {
 						best_dot = tmp_dot;
diff -ruN blender/source/blender/blenkernel/intern/texture.c blender-new/source/blender/blenkernel/intern/texture.c
--- blender/source/blender/blenkernel/intern/texture.c	2008-02-14 17:07:40.000000000 +0200
+++ blender-new/source/blender/blenkernel/intern/texture.c	2008-02-14 17:15:52.000000000 +0200
@@ -41,8 +41,6 @@
 
 #include "PIL_dynlib.h"
 
-#include "MTC_matrixops.h"
-
 #include "BLI_blenlib.h"
 #include "BLI_arithb.h"
 #include "BLI_rand.h"
diff -ruN blender/source/blender/blenlib/BLI_arithb.h blender-new/source/blender/blenlib/BLI_arithb.h
--- blender/source/blender/blenlib/BLI_arithb.h	2008-02-14 17:08:45.000000000 +0200
+++ blender-new/source/blender/blenlib/BLI_arithb.h	2008-02-14 17:15:52.000000000 +0200
@@ -187,7 +187,7 @@
 #endif
 void Mat4MulMat34(float (*m1)[4], float (*m3)[3], float (*m2)[4]);
 void Mat4CpyMat4(float m1[][4], float m2[][4]);
-void Mat4SwapMat4(float *m1, float *m2);
+void Mat4SwapMat4(float m1[][4], float m2[][4]);
 void Mat3CpyMat3(float m1[][3], float m2[][3]);
 
 void Mat3MulSerie(float answ[][3],
diff -ruN blender/source/blender/blenlib/intern/arithb.c blender-new/source/blender/blenlib/intern/arithb.c
--- blender/source/blender/blenlib/intern/arithb.c	2008-02-14 17:08:44.000000000 +0200
+++ blender-new/source/blender/blenlib/intern/arithb.c	2008-02-14 17:15:52.000000000 +0200
@@ -594,6 +594,21 @@
 	memcpy(m1, m2, 4*4*sizeof(float));
 }
 
+void Mat4SwapMat4(float m1[][4], float m2[][4])
+{
+        float t;
+        int i, j;
+
+        for(i = 0; i < 4; i++) {
+                for (j = 0; j < 4; j++) {
+                        t        = m1[i][j];
+                        m1[i][j] = m2[i][j];
+                        m2[i][j] = t;
+                }
+        }
+}
+
+/* Old 
 void Mat4SwapMat4(float *m1, float *m2)
 {
 	float t;
@@ -606,7 +621,7 @@
 		m1++; 
 		m2++;
 	}
-}
+} */
 
 typedef float Mat3Row[3];
 typedef float Mat4Row[4];
@@ -3441,167 +3456,6 @@
 
 /* ------------------------------------------------------------------------- */
 
-/* *****************  m1 = m2 *****************  */
-void cpy_m3_m3(float m1[][3], float m2[][3]) 
-{	
-	memcpy(m1[0], m2[0], 9*sizeof(float));
-}
-
-/* *****************  m1 = m2 *****************  */
-void cpy_m4_m4(float m1[][4], float m2[][4]) 
-{	
-	memcpy(m1[0], m2[0], 16*sizeof(float));
-}
-
-/* ***************** identity matrix *****************  */
-void ident_m4(float m[][4])
-{
-	
-	m[0][0]= m[1][1]= m[2][2]= m[3][3]= 1.0;
-	m[0][1]= m[0][2]= m[0][3]= 0.0;
-	m[1][0]= m[1][2]= m[1][3]= 0.0;
-	m[2][0]= m[2][1]= m[2][3]= 0.0;
-	m[3][0]= m[3][1]= m[3][2]= 0.0;
-}
-
-
-/* *****************  m1 = m2 (pre) * m3 (post) ***************** */
-void mul_m3_m3m3(float m1[][3], float m2[][3], float m3[][3])
-{
-	float m[3][3];
-	
-	m[0][0]= m2[0][0]*m3[0][0] + m2[1][0]*m3[0][1] + m2[2][0]*m3[0][2]; 
-	m[0][1]= m2[0][1]*m3[0][0] + m2[1][1]*m3[0][1] + m2[2][1]*m3[0][2]; 
-	m[0][2]= m2[0][2]*m3[0][0] + m2[1][2]*m3[0][1] + m2[2][2]*m3[0][2]; 
-
-	m[1][0]= m2[0][0]*m3[1][0] + m2[1][0]*m3[1][1] + m2[2][0]*m3[1][2]; 
-	m[1][1]= m2[0][1]*m3[1][0] + m2[1][1]*m3[1][1] + m2[2][1]*m3[1][2]; 
-	m[1][2]= m2[0][2]*m3[1][0] + m2[1][2]*m3[1][1] + m2[2][2]*m3[1][2]; 
-
-	m[2][0]= m2[0][0]*m3[2][0] + m2[1][0]*m3[2][1] + m2[2][0]*m3[2][2]; 
-	m[2][1]= m2[0][1]*m3[2][0] + m2[1][1]*m3[2][1] + m2[2][1]*m3[2][2]; 
-	m[2][2]= m2[0][2]*m3[2][0] + m2[1][2]*m3[2][1] + m2[2][2]*m3[2][2]; 
-
-	cpy_m3_m3(m1, m2);
-}
-
-/*  ***************** m1 = m2 (pre) * m3 (post) ***************** */
-void mul_m4_m4m4(float m1[][4], float m2[][4], float m3[][4])
-{
-	float m[4][4];
-	
-	m[0][0]= m2[0][0]*m3[0][0] + m2[1][0]*m3[0][1] + m2[2][0]*m3[0][2] + m2[3][0]*m3[0][3]; 
-	m[0][1]= m2[0][1]*m3[0][0] + m2[1][1]*m3[0][1] + m2[2][1]*m3[0][2] + m2[3][1]*m3[0][3]; 
-	m[0][2]= m2[0][2]*m3[0][0] + m2[1][2]*m3[0][1] + m2[2][2]*m3[0][2] + m2[3][2]*m3[0][3]; 
-	m[0][3]= m2[0][3]*m3[0][0] + m2[1][3]*m3[0][1] + m2[2][3]*m3[0][2] + m2[3][3]*m3[0][3]; 
-
-	m[1][0]= m2[0][0]*m3[1][0] + m2[1][0]*m3[1][1] + m2[2][0]*m3[1][2] + m2[3][0]*m3[1][3]; 
-	m[1][1]= m2[0][1]*m3[1][0] + m2[1][1]*m3[1][1] + m2[2][1]*m3[1][2] + m2[3][1]*m3[1][3]; 
-	m[1][2]= m2[0][2]*m3[1][0] + m2[1][2]*m3[1][1] + m2[2][2]*m3[1][2] + m2[3][2]*m3[1][3]; 
-	m[1][3]= m2[0][3]*m3[1][0] + m2[1][3]*m3[1][1] + m2[2][3]*m3[1][2] + m2[3][3]*m3[1][3]; 
-
-	m[2][0]= m2[0][0]*m3[2][0] + m2[1][0]*m3[2][1] + m2[2][0]*m3[2][2] + m2[3][0]*m3[2][3]; 
-	m[2][1]= m2[0][1]*m3[2][0] + m2[1][1]*m3[2][1] + m2[2][1]*m3[2][2] + m2[3][1]*m3[2][3]; 
-	m[2][2]= m2[0][2]*m3[2][0] + m2[1][2]*m3[2][1] + m2[2][2]*m3[2][2] + m2[3][2]*m3[2][3]; 
-	m[2][3]= m2[0][3]*m3[2][0] + m2[1][3]*m3[2][1] + m2[2][3]*m3[2][2] + m2[3][3]*m3[2][3]; 
-	
-	m[3][0]= m2[0][0]*m3[3][0] + m2[1][0]*m3[3][1] + m2[2][0]*m3[3][2] + m2[3][0]*m3[3][3]; 
-	m[3][1]= m2[0][1]*m3[3][0] + m2[1][1]*m3[3][1] + m2[2][1]*m3[3][2] + m2[3][1]*m3[3][3]; 
-	m[3][2]= m2[0][2]*m3[3][0] + m2[1][2]*m3[3][1] + m2[2][2]*m3[3][2] + m2[3][2]*m3[3][3]; 
-	m[3][3]= m2[0][3]*m3[3][0] + m2[1][3]*m3[3][1] + m2[2][3]*m3[3][2] + m2[3][3]*m3[3][3]; 
-	
-	cpy_m4_m4(m1, m2);
-}
-
-/*  ***************** m1 = inverse(m2)  *****************  */
-void inv_m3_m3(float m1[][3], float m2[][3])
-{
-	short a,b;
-	float det;
-	
-	/* calc adjoint */
-	Mat3Adj(m1, m2);
-	
-	/* then determinant old matrix! */
-	det= m2[0][0]* (m2[1][1]*m2[2][2] - m2[1][2]*m2[2][1])
-	    -m2[1][0]* (m2[0][1]*m2[2][2] - m2[0][2]*m2[2][1])
-	    +m2[2][0]* (m2[0][1]*m2[1][2] - m2[0][2]*m2[1][1]);
-	
-	if(det==0.0f) det=1.0f;
-	det= 1.0f/det;
-	for(a=0;a<3;a++) {
-		for(b=0;b<3;b++) {
-			m1[a][b]*=det;
-		}
-	}
-}
-
-/*  ***************** m1 = inverse(m2)  *****************  */
-int inv_m4_m4(float inverse[][4], float mat[][4])
-{
-	int i, j, k;
-	double temp;
-	float tempmat[4][4];
-	float max;
-	int maxj;
-	
-	/* Set inverse to identity */
-	ident_m4(inverse);
-	
-	/* Copy original matrix so we don't mess it up */
-	cpy_m4_m4(tempmat, mat);
-	
-	for(i = 0; i < 4; i++) {
-		/* Look for row with max pivot */
-		max = ABS(tempmat[i][i]);
-		maxj = i;
-		for(j = i + 1; j < 4; j++) {
-			if(ABS(tempmat[j][i]) > max) {
-				max = ABS(tempmat[j][i]);
-				maxj = j;
-			}
-		}
-		/* Swap rows if necessary */
-		if (maxj != i) {
-			for( k = 0; k < 4; k++) {
-				SWAP(float, tempmat[i][k], tempmat[maxj][k]);
-				SWAP(float, inverse[i][k], inverse[maxj][k]);
-			}
-		}
-		
-		temp = tempmat[i][i];
-		if (temp == 0)
-			return 0;  /* No non-zero pivot */
-		for(k = 0; k < 4; k++) {
-			tempmat[i][k] = (float)(tempmat[i][k]/temp);
-			inverse[i][k] = (float)(inverse[i][k]/temp);
-		}
-		for(j = 0; j < 4; j++) {
-			if(j != i) {
-				temp = tempmat[j][i];
-				for(k = 0; k < 4; k++) {
-					tempmat[j][k] -= (float)(tempmat[i][k]*temp);
-					inverse[j][k] -= (float)(inverse[i][k]*temp);
-				}
-			}
-		}
-	}
-	return 1;
-}
-
-/*  ***************** v1 = v2 * mat  ***************** */
-void mul_v3_v3m4(float *v1, float *v2, float mat[][4])
-{
-	float x, y;
-	
-	x= v2[0];	/* work with a copy, v1 can be same as v2 */
-	y= v2[1];
-	v1[0]= x*mat[0][0] + y*mat[1][0] + mat[2][0]*v2[2] + mat[3][0];
-	v1[1]= x*mat[0][1] + y*mat[1][1] + mat[2][1]*v2[2] + mat[3][1];
-	v1[2]= x*mat[0][2] + y*mat[1][2] + mat[2][2]*v2[2] + mat[3][2];
-	
-}
-
 /* moved from effect.c
    test if the line starting at p1 ending at p2 intersects the triangle v0..v2
    return non zero if it does 
diff -ruN blender/source/blender/python/api2_2x/Effect.c blender-new/source/blender/python/api2_2x/Effect.c
--- blender/source/blender/python/api2_2x/Effect.c	2008-02-14 17:07:25.000000000 +0200
+++ blender-new/source/blender/python/api2_2x/Effect.c	2008-02-14 17:15:52.000000000 +0200
@@ -41,10 +41,10 @@
 #include "BKE_scene.h"       /* for G.scene->r.cfra */
 #include "BKE_ipo.h"         /* frame_to_float() */
 #include "BLI_blenlib.h"
+#include "BLI_arithb.h"
 #include "gen_utils.h"
 #include "blendef.h"
 #include "vector.h"
-#include "MTC_matrixops.h"
  
 #define EXPP_EFFECT_STA_MIN           -250.0f
 #define EXPP_EFFECT_END_MIN              1.0f
@@ -1347,7 +1347,7 @@
 			m_time= pa->time+pa->lifetime+paf->staticstep-1;
 			for(c_time= pa->time; c_time<m_time; c_time+=paf->staticstep) {
 				where_is_particle(paf, pa, c_time, vec);
-				MTC_Mat4MulVecfl(ob->obmat, vec); /* make worldspace like the others */
+				Mat4MulVecfl(ob->obmat, vec); /* make worldspace like the others */
 				pyvec = newVectorObject(vec, 3, Py_NEW);
 				if( PyList_Append( strand_list, pyvec) < 0 ) {
 					Py_DECREF( list );
diff -ruN blender/source/blender/render/intern/source/convertblender.c blender-new/source/blender/render/intern/source/convertblender.c
--- blender/source/blender/render/intern/source/convertblender.c	2008-02-14 17:07:09.000000000 +0200
+++ blender-new/source/blender/render/intern/source/convertblender.c	2008-02-14 17:15:52.000000000 +0200
@@ -32,7 +32,6 @@
 #include <limits.h>
 
 #include "blendef.h"
-#include "MTC_matrixops.h"
 
 #include "MEM_guardedalloc.h"
 
@@ -201,7 +200,7 @@
 	if (re) re->flag |= R_HALO;
 	else stargrid *= 1.0;				/* then it draws fewer */
 	
-	if(re) MTC_Mat4Invert(mat, re->viewmat);
+	if(re) Mat4Invert(mat, re->viewmat);
 	
 	/* BOUNDING BOX CALCULATION
 		* bbox goes from z = loc_near_var | loc_far_var,
@@ -249,7 +248,7 @@
 					done++;
 				}
 				else {
-					MTC_Mat4MulVecfl(re->viewmat, vec);
+					Mat4MulVecfl(re->viewmat, vec);
 					
 					/* in vec are global coordinates
 					* calculate distance to camera
@@ -897,7 +896,7 @@
 	/* rotate vertices and calculate normal of faces */
 	for(a=0; a<obr->totvert; a++) {
 		ver= RE_findOrAddVert(obr, a);
-		MTC_Mat4MulVecfl(mat, ver->co);
+		Mat4MulVecfl(mat, ver->co);
 	}
 	for(a=0; a<obr->totvlak; a++) {
 		vlr= RE_findOrAddVlak(obr, a);
@@ -1342,19 +1341,19 @@
 
 	VECADD(vlr->v1->co,bb_center,xvec);
 	VECADD(vlr->v1->co,vlr->v1->co,yvec);
-	MTC_Mat4MulVecfl(re->viewmat,vlr->v1->co);
+	Mat4MulVecfl(re->viewmat,vlr->v1->co);
 
 	VECSUB(vlr->v2->co,bb_center,xvec);
 	VECADD(vlr->v2->co,vlr->v2->co,yvec);
-	MTC_Mat4MulVecfl(re->viewmat,vlr->v2->co);
+	Mat4MulVecfl(re->viewmat,vlr->v2->co);
 
 	VECSUB(vlr->v3->co,bb_center,xvec);
 	VECSUB(vlr->v3->co,vlr->v3->co,yvec);
-	MTC_Mat4MulVecfl(re->viewmat,vlr->v3->co);
+	Mat4MulVecfl(re->viewmat,vlr->v3->co);
 
 	VECADD(vlr->v4->co,bb_center,xvec);
 	VECSUB(vlr->v4->co,vlr->v4->co,yvec);
-	MTC_Mat4MulVecfl(re->viewmat,vlr->v4->co);
+	Mat4MulVecfl(re->viewmat,vlr->v4->co);
 
 	CalcNormFloat4(vlr->v4->co, vlr->v3->co, vlr->v2->co, vlr->v1->co, vlr->n);
 	VECCOPY(vlr->v1->n,vlr->n);
@@ -1594,8 +1593,8 @@
 
 	re->flag |= R_HALO;
 	
-	MTC_Mat4MulMat4(mat, ob->obmat, re->viewmat);
-	MTC_Mat4Invert(ob->imat, mat);	/* need to be that way, for imat texture */
+	Mat4MulMat4(mat, ob->obmat, re->viewmat);
+	Mat4Invert(ob->imat, mat);	/* need to be that way, for imat texture */
 	Mat3CpyMat4(nmat, ob->imat);
 	Mat3Transp(nmat);
 
@@ -1904,12 +1903,12 @@
 
 			VECCOPY(loc,state.co);
 			if(part->draw_as!=PART_DRAW_BB)
-				MTC_Mat4MulVecfl(re->viewmat,loc);
+				Mat4MulVecfl(re->viewmat,loc);
 
 			if(part->draw_as==PART_DRAW_LINE) {
 				VECCOPY(vel,state.vel);
 				//VECADD(vel,vel,state.co);
-				MTC_Mat4Mul3Vecfl(re->viewmat,vel);
+				Mat4Mul3Vecfl(re->viewmat,vel);
 				//VECSUB(vel,vel,loc);
 				Normalize(vel);
 				if(part->draw & PART_DRAW_VEL_LENGTH)
@@ -1922,7 +1921,7 @@
 			}
 			else if(part->draw_as==PART_DRAW_BB) {
 				VECCOPY(vel,state.vel);
-				//MTC_Mat4Mul3Vecfl(re->viewmat,vel);
+				//Mat4Mul3Vecfl(re->viewmat,vel);
 				particle_billboard(re,obr,ma,bb_ob,loc,vel,pa_size,part->bb_tilt*(1.0f-part->bb_rand_tilt*r_tilt),
 									part->bb_align,part->draw&PART_DRAW_BB_LOCK,
 									a,totpart+totchild,part->bb_uv_split,part->bb_anim,part->bb_split_offset,random,pa_time,part->bb_offset,uv);
@@ -2003,8 +2002,8 @@
 	float vec[3], hasize, mat[4][4], imat[3][3];
 	int a, ok, seed= ma->seed1;
 
-	MTC_Mat4MulMat4(mat, ob->obmat, re->viewmat);
-	MTC_Mat3CpyMat4(imat, ob->imat);
+	Mat4MulMat4(mat, ob->obmat, re->viewmat);
+	Mat3CpyMat4(imat, ob->imat);
 
 	re->flag |= R_HALO;
 
@@ -2015,7 +2014,7 @@
 			hasize= ma->hasize;
 
 			VECCOPY(vec, mvert->co);
-			MTC_Mat4MulVecfl(mat, vec);
+			Mat4MulVecfl(mat, vec);
 
 			if(ma->mode & MA_HALOPUNO) {
 				xn= mvert->no[0];
@@ -2139,7 +2138,7 @@
 	}
 	if (texco & TEXCO_GLOB) {
 		VECCOPY(shi->gl, shi->co);
-		MTC_Mat4MulVecfl(re->viewinv, shi->gl);
+		Mat4MulVecfl(re->viewinv, shi->gl);
 	}
 	if (texco & TEXCO_NORM) {
 		VECCOPY(shi->orn, shi->vn);
@@ -2271,9 +2270,9 @@
 	if (ob!=find_basis_mball(ob))
 		return;
 
-	MTC_Mat4MulMat4(mat, ob->obmat, re->viewmat);
-	MTC_Mat4Invert(ob->imat, mat);
-	MTC_Mat3CpyMat4(imat, ob->imat);
+	Mat4MulMat4(mat, ob->obmat, re->viewmat);
+	Mat4Invert(ob->imat, mat);
+	Mat3CpyMat4(imat, ob->imat);
 
 	ma= give_render_material(re, ob, 1);
 
@@ -2293,7 +2292,7 @@
 
 		ver= RE_findOrAddVert(obr, obr->totvert++);
 		VECCOPY(ver->co, data);
-		MTC_Mat4MulVecfl(mat, ver->co);
+		Mat4MulVecfl(mat, ver->co);
 
 		/* render normals are inverted */
 		xn= -nors[0];
@@ -2381,7 +2380,7 @@
 		if(orco) {
 			v1->orco= orco; orco+= 3; orcoret++;
 		}	
-		MTC_Mat4MulVecfl(mat, v1->co);
+		Mat4MulVecfl(mat, v1->co);
 		
 		for (v = 1; v < sizev; v++) {
 			ver= RE_findOrAddVert(obr, obr->totvert++);
@@ -2389,7 +2388,7 @@
 			if(orco) {
 				ver->orco= orco; orco+= 3; orcoret++;
 			}	
-			MTC_Mat4MulVecfl(mat, ver->co);
+			Mat4MulVecfl(mat, ver->co);
 		}
 		/* if V-cyclic, add extra vertices at end of the row */
 		if (dl->flag & DL_CYCL_U) {
@@ -2538,8 +2537,8 @@
 	nu= cu->nurb.first;
 	if(nu==0) return;
 
-	MTC_Mat4MulMat4(mat, ob->obmat, re->viewmat);
-	MTC_Mat4Invert(ob->imat, mat);
+	Mat4MulMat4(mat, ob->obmat, re->viewmat);
+	Mat4Invert(ob->imat, mat);
 
 	/* material array */
 	memset(matar, 0, 4*32);
@@ -2599,8 +2598,8 @@
 	dl= cu->disp.first;
 	if(cu->disp.first==NULL) return;
 	
-	MTC_Mat4MulMat4(mat, ob->obmat, re->viewmat);
-	MTC_Mat4Invert(ob->imat, mat);
+	Mat4MulMat4(mat, ob->obmat, re->viewmat);
+	Mat4Invert(ob->imat, mat);
 
 	/* material array */
 	memset(matar, 0, 4*32);
@@ -2641,7 +2640,7 @@
 					ver->flag = 0;
 				}
 
-				MTC_Mat4MulVecfl(mat, ver->co);
+				Mat4MulVecfl(mat, ver->co);
 				
 				if (orco) {
 					ver->orco = orco;
@@ -2693,7 +2692,7 @@
 					ver= RE_findOrAddVert(obr, obr->totvert++);
 						
 					VECCOPY(ver->co, fp);
-					MTC_Mat4MulVecfl(mat, ver->co);
+					Mat4MulVecfl(mat, ver->co);
 					fp+= 3;
 
 					if (orco) {
@@ -2939,9 +2938,9 @@
 
 	me= ob->data;
 
-	MTC_Mat4MulMat4(mat, ob->obmat, re->viewmat);
-	MTC_Mat4Invert(ob->imat, mat);
-	MTC_Mat3CpyMat4(imat, ob->imat);
+	Mat4MulMat4(mat, ob->obmat, re->viewmat);
+	Mat4Invert(ob->imat, mat);
+	Mat3CpyMat4(imat, ob->imat);
 
 	if(me->totvert==0)
 		return;
@@ -3030,7 +3029,7 @@
 			ver= RE_findOrAddVert(obr, obr->totvert++);
 			VECCOPY(ver->co, mvert->co);
 			if(do_autosmooth==0)	/* autosmooth on original unrotated data to prevent differences between frames */
-				MTC_Mat4MulVecfl(mat, ver->co);
+				Mat4MulVecfl(mat, ver->co);
   
 			if(useFluidmeshNormals) {
 				/* normals are inverted in render */
@@ -3266,13 +3265,13 @@
 	shb->soft= lar->soft;
 	shb->shadhalostep= lar->shadhalostep;
 	
-	MTC_Mat4Ortho(mat);
-	MTC_Mat4Invert(shb->winmat, mat);	/* winmat is temp */
+	Mat4Ortho(mat);
+	Mat4Invert(shb->winmat, mat);	/* winmat is temp */
 	
 	/* matrix: combination of inverse view and lampmat */
 	/* calculate again: the ortho-render has no correct viewinv */
-	MTC_Mat4Invert(viewinv, re->viewmat);
-	MTC_Mat4MulMat4(shb->viewmat, viewinv, shb->winmat);
+	Mat4Invert(viewinv, re->viewmat);
+	Mat4MulMat4(shb->viewmat, viewinv, shb->winmat);
 	
 	/* projection */
 	shb->d= lar->clipsta;
@@ -3349,11 +3348,11 @@
 	BLI_addtail(&re->lampren, lar);
 	go->lampren= lar;
 
-	MTC_Mat4MulMat4(mat, ob->obmat, re->viewmat);
-	MTC_Mat4Invert(ob->imat, mat);
+	Mat4MulMat4(mat, ob->obmat, re->viewmat);
+	Mat4Invert(ob->imat, mat);
 
-	MTC_Mat3CpyMat4(lar->mat, mat);
-	MTC_Mat3CpyMat4(lar->imat, ob->imat);
+	Mat3CpyMat4(lar->mat, mat);
+	Mat3CpyMat4(lar->imat, ob->imat);
 
 	lar->bufsize = la->bufsize;
 	lar->samp = la->samp;
@@ -3500,7 +3499,7 @@
 			lar->sh_invcampos[0]= -lar->co[0];
 			lar->sh_invcampos[1]= -lar->co[1];
 			lar->sh_invcampos[2]= -lar->co[2];
-			MTC_Mat3MulVecfl(lar->imat, lar->sh_invcampos);
+			Mat3MulVecfl(lar->imat, lar->sh_invcampos);
 
 			/* z factor, for a normalized volume */
 			angle= saacos(lar->spotsi);
@@ -4121,8 +4120,8 @@
 	else if(render_object_type(ob->type))
 		add_render_object(re, ob, par, index, timeoffset, instanceable);
 	else {
-		MTC_Mat4MulMat4(mat, ob->obmat, re->viewmat);
-		MTC_Mat4Invert(ob->imat, mat);
+		Mat4MulMat4(mat, ob->obmat, re->viewmat);
+		Mat4Invert(ob->imat, mat);
 	}
 	
 	time= PIL_check_seconds_timer();
@@ -4326,8 +4325,8 @@
 	for(SETLOOPER(re->scene, base)) {
 		ob= base->object;
 		/* imat objects has to be done here, since displace can have texture using Object map-input */
-		MTC_Mat4MulMat4(mat, ob->obmat, re->viewmat);
-		MTC_Mat4Invert(ob->imat, mat);
+		Mat4MulMat4(mat, ob->obmat, re->viewmat);
+		Mat4Invert(ob->imat, mat);
 		/* each object should only be rendered once */
 		ob->flag &= ~OB_DONE;
 		ob->transflag &= ~OB_RENDER_DUPLI;
@@ -4832,7 +4831,7 @@
 	if(step) return 1;
 	
 	Mat4CpyMat4(mat, re->viewmat);
-	MTC_Mat4Invert(imat, mat);
+	Mat4Invert(imat, mat);
 
 	/* set first vertex OK */
 	if( (!fsob->fluidsimSettings) || (!fsob->fluidsimSettings->meshSurfNormals) ) return 0;
diff -ruN blender/source/blender/render/intern/source/envmap.c blender-new/source/blender/render/intern/source/envmap.c
--- blender/source/blender/render/intern/source/envmap.c	2008-02-14 17:07:09.000000000 +0200
+++ blender-new/source/blender/render/intern/source/envmap.c	2008-02-14 17:15:52.000000000 +0200
@@ -51,8 +51,6 @@
 #include "BKE_texture.h"
 #include "BKE_utildefines.h"
 
-#include "MTC_matrixops.h"
-
 /* this module */
 #include "render_types.h"
 #include "renderpipeline.h"
@@ -205,9 +203,9 @@
 		eul[2]= -M_PI/2.0;
 	}
 	
-	MTC_Mat4CpyMat4(tmat, mat);
+	Mat4CpyMat4(tmat, mat);
 	EulToMat4(eul, rotmat);
-	MTC_Mat4MulSerie(mat, tmat, rotmat,
+	Mat4MulSerie(mat, tmat, rotmat,
 					 0,   0,    0,
 					 0,   0,    0);
 }
@@ -225,12 +223,12 @@
 	int a;
 	
 	if(mode==0) {
-		MTC_Mat4Invert(tmat, mat);
-		MTC_Mat3CpyMat4(imat, tmat);
+		Mat4Invert(tmat, mat);
+		Mat3CpyMat4(imat, tmat);
 	}
 	else {
-		MTC_Mat4CpyMat4(tmat, mat);
-		MTC_Mat3CpyMat4(imat, mat);
+		Mat4CpyMat4(tmat, mat);
+		Mat3CpyMat4(imat, mat);
 	}
 
 	for(obi=re->instancetable.first; obi; obi=obi->next) {
@@ -258,7 +256,7 @@
 			if((a & 255)==0) har= obr->bloha[a>>8];
 			else har++;
 		
-			MTC_Mat4MulVecfl(tmat, har->co);
+			Mat4MulVecfl(tmat, har->co);
 		}
 	}
 	
@@ -271,22 +269,22 @@
 		Mat3CpyMat3(cmat, lar->imat); 
 		Mat3MulMat3(lar->imat, cmat, imat); 
 
-		MTC_Mat3MulVecfl(imat, lar->vec);
-		MTC_Mat4MulVecfl(tmat, lar->co);
+		Mat3MulVecfl(imat, lar->vec);
+		Mat4MulVecfl(tmat, lar->co);
 
 		lar->sh_invcampos[0]= -lar->co[0];
 		lar->sh_invcampos[1]= -lar->co[1];
 		lar->sh_invcampos[2]= -lar->co[2];
-		MTC_Mat3MulVecfl(lar->imat, lar->sh_invcampos);
+		Mat3MulVecfl(lar->imat, lar->sh_invcampos);
 		lar->sh_invcampos[2]*= lar->sh_zfac;
 		
 		if(lar->shb) {
 			if(mode==1) {
-				MTC_Mat4Invert(pmat, mat);
-				MTC_Mat4MulMat4(smat, pmat, lar->shb->viewmat);
-				MTC_Mat4MulMat4(lar->shb->persmat, smat, lar->shb->winmat);
+				Mat4Invert(pmat, mat);
+				Mat4MulMat4(smat, pmat, lar->shb->viewmat);
+				Mat4MulMat4(lar->shb->persmat, smat, lar->shb->winmat);
 			}
-			else MTC_Mat4MulMat4(lar->shb->persmat, lar->shb->viewmat, lar->shb->winmat);
+			else Mat4MulMat4(lar->shb->persmat, lar->shb->viewmat, lar->shb->winmat);
 		}
 	}
 	
@@ -364,8 +362,8 @@
 	
 	base= G.scene->base.first;
 	while(base) {
-		MTC_Mat4MulMat4(mat, base->object->obmat, re->viewmat);
-		MTC_Mat4Invert(base->object->imat, mat);
+		Mat4MulMat4(mat, base->object->obmat, re->viewmat);
+		Mat4Invert(base->object->imat, mat);
 		
 		base= base->next;
 	}
@@ -384,18 +382,18 @@
 	short part;
 	
 	/* need a recalc: ortho-render has no correct viewinv */
-	MTC_Mat4Invert(oldviewinv, re->viewmat);
+	Mat4Invert(oldviewinv, re->viewmat);
 
 	envre= envmap_render_copy(re, env);
 	
 	/* precalc orthmat for object */
-	MTC_Mat4CpyMat4(orthmat, env->object->obmat);
-	MTC_Mat4Ortho(orthmat);
+	Mat4CpyMat4(orthmat, env->object->obmat);
+	Mat4Ortho(orthmat);
 	
 	/* need imat later for texture imat */
-	MTC_Mat4MulMat4(mat, orthmat, re->viewmat);
-	MTC_Mat4Invert(tmat, mat);
-	MTC_Mat3CpyMat4(env->obimat, tmat);
+	Mat4MulMat4(mat, orthmat, re->viewmat);
+	Mat4Invert(tmat, mat);
+	Mat3CpyMat4(env->obimat, tmat);
 
 	for(part=0; part<6; part++) {
 		if(env->type==ENV_PLANE && part!=1)
@@ -403,17 +401,17 @@
 		
 		re->display_clear(envre->result);
 		
-		MTC_Mat4CpyMat4(tmat, orthmat);
+		Mat4CpyMat4(tmat, orthmat);
 		envmap_transmatrix(tmat, part);
-		MTC_Mat4Invert(mat, tmat);
+		Mat4Invert(mat, tmat);
 		/* mat now is the camera 'viewmat' */
 
-		MTC_Mat4CpyMat4(envre->viewmat, mat);
-		MTC_Mat4CpyMat4(envre->viewinv, tmat);
+		Mat4CpyMat4(envre->viewmat, mat);
+		Mat4CpyMat4(envre->viewinv, tmat);
 		
 		/* we have to correct for the already rotated vertexcoords */
-		MTC_Mat4MulMat4(tmat, oldviewinv, envre->viewmat);
-		MTC_Mat4Invert(env->imat, tmat);
+		Mat4MulMat4(tmat, oldviewinv, envre->viewmat);
+		Mat4Invert(env->imat, tmat);
 		
 		env_rotate_scene(envre, tmat, 1);
 		init_render_world(envre);
@@ -487,13 +485,13 @@
 							float orthmat[4][4], mat[4][4], tmat[4][4];
 							
 							/* precalc orthmat for object */
-							MTC_Mat4CpyMat4(orthmat, env->object->obmat);
-							MTC_Mat4Ortho(orthmat);
+							Mat4CpyMat4(orthmat, env->object->obmat);
+							Mat4Ortho(orthmat);
 							
 							/* need imat later for texture imat */
-							MTC_Mat4MulMat4(mat, orthmat, re->viewmat);
-							MTC_Mat4Invert(tmat, mat);
-							MTC_Mat3CpyMat4(env->obimat, tmat);
+							Mat4MulMat4(mat, orthmat, re->viewmat);
+							Mat4Invert(tmat, mat);
+							Mat3CpyMat4(env->obimat, tmat);
 						}
 						else {
 							
@@ -662,20 +660,20 @@
 	
 	/* rotate to envmap space, if object is set */
 	VECCOPY(vec, texvec);
-	if(env->object) MTC_Mat3MulVecfl(env->obimat, vec);
-	else MTC_Mat4Mul3Vecfl(R.viewinv, vec);
+	if(env->object) Mat3MulVecfl(env->obimat, vec);
+	else Mat4Mul3Vecfl(R.viewinv, vec);
 	
 	face= envcube_isect(env, vec, sco);
 	ibuf= env->cube[face];
 	
 	if(osatex) {
 		if(env->object) {
-			MTC_Mat3MulVecfl(env->obimat, dxt);
-			MTC_Mat3MulVecfl(env->obimat, dyt);
+			Mat3MulVecfl(env->obimat, dxt);
+			Mat3MulVecfl(env->obimat, dyt);
 		}
 		else {
-			MTC_Mat4Mul3Vecfl(R.viewinv, dxt);
-			MTC_Mat4Mul3Vecfl(R.viewinv, dyt);
+			Mat4Mul3Vecfl(R.viewinv, dxt);
+			Mat4Mul3Vecfl(R.viewinv, dyt);
 		}
 		set_dxtdyt(dxts, dyts, dxt, dyt, face);
 		imagewraposa(tex, NULL, ibuf, sco, dxts, dyts, texres);
diff -ruN blender/source/blender/render/intern/source/initrender.c blender-new/source/blender/render/intern/source/initrender.c
--- blender/source/blender/render/intern/source/initrender.c	2008-02-14 17:07:09.000000000 +0200
+++ blender-new/source/blender/render/intern/source/initrender.c	2008-02-14 17:15:52.000000000 +0200
@@ -41,8 +41,6 @@
 #include "BLI_blenlib.h"
 #include "BLI_jitter.h"
 
-#include "MTC_matrixops.h"
-
 #include "DNA_camera_types.h"
 #include "DNA_group_types.h"
 #include "DNA_image_types.h"
diff -ruN blender/source/blender/render/intern/source/pixelshading.c blender-new/source/blender/render/intern/source/pixelshading.c
--- blender/source/blender/render/intern/source/pixelshading.c	2008-02-14 17:07:09.000000000 +0200
+++ blender-new/source/blender/render/intern/source/pixelshading.c	2008-02-14 17:15:52.000000000 +0200
@@ -31,8 +31,6 @@
 /* External modules: */
 #include "IMB_imbuf_types.h"
 #include "IMB_imbuf.h"
-#include "MTC_matrixops.h"
-#include "MTC_vectorops.h"
 
 #include "DNA_camera_types.h"
 #include "DNA_group_types.h"
@@ -150,7 +148,7 @@
 					
 					/* rotate view to lampspace */
 					VECCOPY(lvrot, lv);
-					MTC_Mat3MulVecfl(lar->imat, lvrot);
+					Mat3MulVecfl(lar->imat, lvrot);
 					
 					x= MAX2(fabs(lvrot[0]/lvrot[2]) , fabs(lvrot[1]/lvrot[2]));
 					/* 1.0/(sqrt(1+x*x)) is equivalent to cos(atan(x)) */
@@ -495,7 +493,7 @@
 		VECCOPY(lo, view);
 		if(R.wrld.skytype & WO_SKYREAL) {
 			
-			MTC_Mat3MulVecfl(R.imat, lo);
+			Mat3MulVecfl(R.imat, lo);
 			
 			SWAP(float, lo[1],  lo[2]);
 			
diff -ruN blender/source/blender/render/intern/source/shadbuf.c blender-new/source/blender/render/intern/source/shadbuf.c
--- blender/source/blender/render/intern/source/shadbuf.c	2008-02-14 17:07:09.000000000 +0200
+++ blender-new/source/blender/render/intern/source/shadbuf.c	2008-02-14 17:15:52.000000000 +0200
@@ -26,7 +26,6 @@
 #include <math.h>
 #include <string.h>
 
-#include "MTC_matrixops.h"
 #include "MEM_guardedalloc.h"
 
 #include "DNA_group_types.h"
@@ -403,7 +402,7 @@
 	wsize= shb->pixsize*(shb->size/2.0);
 	
 	i_window(-wsize, wsize, -wsize, wsize, shb->d, shb->clipend, shb->winmat);
-	MTC_Mat4MulMat4(shb->persmat, shb->viewmat, shb->winmat);
+	Mat4MulMat4(shb->persmat, shb->viewmat, shb->winmat);
 
 	if(ELEM(lar->buftype, LA_SHADBUF_REGULAR, LA_SHADBUF_HALFWAY)) {
 		/* jitter, weights - not threadsafe! */
@@ -673,7 +672,7 @@
 	VECCOPY(co, rco);
 	co[3]= 1.0f;
 
-	MTC_Mat4MulVec4fl(shb->persmat, co);	/* rational hom co */
+	Mat4MulVec4fl(shb->persmat, co);	/* rational hom co */
 
 	xs1= siz*(1.0f+co[0]/co[3]);
 	ys1= siz*(1.0f+co[1]/co[3]);
@@ -714,7 +713,7 @@
 	co[1]= rco[1]+dxco[1];
 	co[2]= rco[2]+dxco[2];
 	co[3]= 1.0;
-	MTC_Mat4MulVec4fl(shb->persmat,co);     /* rational hom co */
+	Mat4MulVec4fl(shb->persmat,co);     /* rational hom co */
 	dx[0]= xs1- siz*(1.0+co[0]/co[3]);
 	dx[1]= ys1- siz*(1.0+co[1]/co[3]);
 	
@@ -722,7 +721,7 @@
 	co[1]= rco[1]+dyco[1];
 	co[2]= rco[2]+dyco[2];
 	co[3]= 1.0;
-	MTC_Mat4MulVec4fl(shb->persmat,co);     /* rational hom co */
+	Mat4MulVec4fl(shb->persmat,co);     /* rational hom co */
 	dy[0]= xs1- siz*(1.0+co[0]/co[3]);
 	dy[1]= ys1- siz*(1.0+co[1]/co[3]);
 	
@@ -858,7 +857,7 @@
 	co[1]= p1[1];
 	co[2]= p1[2]/lar->sh_zfac;
 	co[3]= 1.0;
-	MTC_Mat4MulVec4fl(shb->winmat, co);	/* rational hom co */
+	Mat4MulVec4fl(shb->winmat, co);	/* rational hom co */
 	xf1= siz*(1.0+co[0]/co[3]);
 	yf1= siz*(1.0+co[1]/co[3]);
 	zf1= (co[2]/co[3]);
@@ -868,7 +867,7 @@
 	co[1]= p2[1];
 	co[2]= p2[2]/lar->sh_zfac;
 	co[3]= 1.0;
-	MTC_Mat4MulVec4fl(shb->winmat, co);	/* rational hom co */
+	Mat4MulVec4fl(shb->winmat, co);	/* rational hom co */
 	xf2= siz*(1.0+co[0]/co[3]);
 	yf2= siz*(1.0+co[1]/co[3]);
 	zf2= (co[2]/co[3]);
@@ -1659,7 +1658,7 @@
 	}
 	
 	/* move 3d vector to lampbuf */
-	MTC_Mat4MulVec4fl(shb->persmat, hoco);	/* rational hom co */
+	Mat4MulVec4fl(shb->persmat, hoco);	/* rational hom co */
 	
 	/* clip We can test for -1.0/1.0 because of the properties of the
 	 * coordinate transformations. */
diff -ruN blender/source/blender/render/intern/source/shadeinput.c blender-new/source/blender/render/intern/source/shadeinput.c
--- blender/source/blender/render/intern/source/shadeinput.c	2008-02-14 17:07:09.000000000 +0200
+++ blender-new/source/blender/render/intern/source/shadeinput.c	2008-02-14 17:15:52.000000000 +0200
@@ -29,7 +29,6 @@
 #include <math.h>
 #include <string.h>
 
-#include "MTC_matrixops.h"
 #include "BLI_arithb.h"
 #include "BLI_blenlib.h"
 
@@ -419,13 +418,13 @@
 
 		if(texco & TEXCO_GLOB) {
 			VECCOPY(shi->gl, shi->co);
-			MTC_Mat4MulVecfl(R.viewinv, shi->gl);
+			Mat4MulVecfl(R.viewinv, shi->gl);
 			
 			if(shi->osatex) {
 				VECCOPY(shi->dxgl, shi->dxco);
-				MTC_Mat3MulVecfl(R.imat, shi->dxco);
+				Mat3MulVecfl(R.imat, shi->dxco);
 				VECCOPY(shi->dygl, shi->dyco);
-				MTC_Mat3MulVecfl(R.imat, shi->dyco);
+				Mat3MulVecfl(R.imat, shi->dyco);
 			}
 		}
 
@@ -933,12 +932,12 @@
 		
 		if(texco & TEXCO_GLOB) {
 			VECCOPY(shi->gl, shi->co);
-			MTC_Mat4MulVecfl(R.viewinv, shi->gl);
+			Mat4MulVecfl(R.viewinv, shi->gl);
 			if(shi->osatex) {
 				VECCOPY(shi->dxgl, shi->dxco);
-				MTC_Mat3MulVecfl(R.imat, shi->dxco);
+				Mat3MulVecfl(R.imat, shi->dxco);
 				VECCOPY(shi->dygl, shi->dyco);
-				MTC_Mat3MulVecfl(R.imat, shi->dyco);
+				Mat3MulVecfl(R.imat, shi->dyco);
 			}
 		}
 		
diff -ruN blender/source/blender/render/intern/source/shadeoutput.c blender-new/source/blender/render/intern/source/shadeoutput.c
--- blender/source/blender/render/intern/source/shadeoutput.c	2008-02-14 17:07:09.000000000 +0200
+++ blender-new/source/blender/render/intern/source/shadeoutput.c	2008-02-14 17:15:52.000000000 +0200
@@ -30,7 +30,6 @@
 #include <math.h>
 #include <string.h>
 
-#include "MTC_matrixops.h"
 #include "BLI_arithb.h"
 
 #include "BKE_colortools.h"
@@ -166,7 +165,7 @@
 		p1[0]= shi->co[0]-lar->co[0];
 		p1[1]= shi->co[1]-lar->co[1];
 		p1[2]= -lar->co[2];
-		MTC_Mat3MulVecfl(lar->imat, p1);
+		Mat3MulVecfl(lar->imat, p1);
 		VECCOPY(npos, p1);	// npos is double!
 		
 		/* pre-scale */
@@ -178,7 +177,7 @@
 	
 	/* rotate view */
 	VECCOPY(nray, shi->view);
-	MTC_Mat3MulVecd(lar->imat, nray);
+	Mat3MulVecd(lar->imat, nray);
 	
 	if(R.wrld.mode & WO_MIST) {
 		/* patchy... */
@@ -1140,7 +1139,7 @@
 							
 							/* rotate view to lampspace */
 							VECCOPY(lvrot, lv);
-							MTC_Mat3MulVecfl(lar->imat, lvrot);
+							Mat3MulVecfl(lar->imat, lvrot);
 							
 							x= MAX2(fabs(lvrot[0]/lvrot[2]) , fabs(lvrot[1]/lvrot[2]));
 							/* 1.0f/(sqrt(1+x*x)) is equivalent to cos(atan(x)) */
diff -ruN blender/source/blender/render/intern/source/texture.c blender-new/source/blender/render/intern/source/texture.c
--- blender/source/blender/render/intern/source/texture.c	2008-02-14 17:07:09.000000000 +0200
+++ blender-new/source/blender/render/intern/source/texture.c	2008-02-14 17:15:52.000000000 +0200
@@ -30,8 +30,6 @@
 #include <string.h>
 #include <math.h>
 
-#include "MTC_matrixops.h"
-
 #include "BLI_blenlib.h"
 #include "BLI_arithb.h"
 #include "BLI_rand.h"
@@ -767,7 +765,7 @@
 	else {
 		VECCOPY(nor, n);
 	}
-	MTC_Mat4Mul3Vecfl(R.viewinv, nor);
+	Mat4Mul3Vecfl(R.viewinv, nor);
 
 	x1= fabs(nor[0]);
 	y1= fabs(nor[1]);
@@ -860,7 +858,7 @@
 	if(n==NULL) return 0;
 	
 	VECCOPY(nor, n);
-	if(ob) MTC_Mat4Mul3Vecfl(ob->imat, nor);
+	if(ob) Mat4Mul3Vecfl(ob->imat, nor);
 	
 	x1= fabs(nor[0]);
 	y1= fabs(nor[1]);
@@ -1473,12 +1471,12 @@
 					dx= dxt;
 					dy= dyt;
 					VECCOPY(tempvec, shi->co);
-					MTC_Mat4MulVecfl(ob->imat, tempvec);
+					Mat4MulVecfl(ob->imat, tempvec);
 					if(shi->osatex) {
 						VECCOPY(dxt, shi->dxco);
 						VECCOPY(dyt, shi->dyco);
-						MTC_Mat4Mul3Vecfl(ob->imat, dxt);
-						MTC_Mat4Mul3Vecfl(ob->imat, dyt);
+						Mat4Mul3Vecfl(ob->imat, dxt);
+						Mat4Mul3Vecfl(ob->imat, dyt);
 					}
 				}
 				else {
@@ -2165,7 +2163,7 @@
 			case TEXCO_OBJECT:
 				if(mtex->object) {
 					VECCOPY(tempvec, lo);
-					MTC_Mat4MulVecfl(mtex->object->imat, tempvec);
+					Mat4MulVecfl(mtex->object->imat, tempvec);
 					co= tempvec;
 				}
 				break;
@@ -2173,16 +2171,16 @@
 			case TEXCO_GLOB:
 				if(rco) {
 					VECCOPY(tempvec, rco);
-					MTC_Mat4MulVecfl(R.viewinv, tempvec);
+					Mat4MulVecfl(R.viewinv, tempvec);
 					co= tempvec;
 				}
 				else
 					co= lo;
 				
 //				VECCOPY(shi->dxgl, shi->dxco);
-//				MTC_Mat3MulVecfl(R.imat, shi->dxco);
+//				Mat3MulVecfl(R.imat, shi->dxco);
 //				VECCOPY(shi->dygl, shi->dyco);
-//				MTC_Mat3MulVecfl(R.imat, shi->dyco);
+//				Mat3MulVecfl(R.imat, shi->dyco);
 				break;
 			}
 			
@@ -2304,12 +2302,12 @@
 					dx= dxt;
 					dy= dyt;
 					VECCOPY(tempvec, shi->co);
-					MTC_Mat4MulVecfl(ob->imat, tempvec);
+					Mat4MulVecfl(ob->imat, tempvec);
 					if(shi->osatex) {
 						VECCOPY(dxt, shi->dxco);
 						VECCOPY(dyt, shi->dyco);
-						MTC_Mat4Mul3Vecfl(ob->imat, dxt);
-						MTC_Mat4Mul3Vecfl(ob->imat, dyt);
+						Mat4Mul3Vecfl(ob->imat, dxt);
+						Mat4Mul3Vecfl(ob->imat, dyt);
 					}
 				}
 				else {
@@ -2320,12 +2318,12 @@
 			else if(mtex->texco==TEXCO_GLOB) {
 				co= shi->gl; dx= shi->dxco; dy= shi->dyco;
 				VECCOPY(shi->gl, shi->co);
-				MTC_Mat4MulVecfl(R.viewinv, shi->gl);
+				Mat4MulVecfl(R.viewinv, shi->gl);
 			}
 			else if(mtex->texco==TEXCO_VIEW) {
 				
 				VECCOPY(tempvec, lavec);
-				MTC_Mat3MulVecfl(la->imat, tempvec);
+				Mat3MulVecfl(la->imat, tempvec);
 				
 				if(la->type==LA_SPOT) {
 					tempvec[0]*= la->spottexfac;
@@ -2338,8 +2336,8 @@
 					VECCOPY(dxt, shi->dxlv);
 					VECCOPY(dyt, shi->dylv);
 					/* need some matrix conversion here? la->imat is a [3][3]  matrix!!! **/
-					MTC_Mat3MulVecfl(la->imat, dxt);
-					MTC_Mat3MulVecfl(la->imat, dyt);
+					Mat3MulVecfl(la->imat, dxt);
+					Mat3MulVecfl(la->imat, dyt);
 					
 					VecMulf(dxt, la->spottexfac);
 					VecMulf(dyt, la->spottexfac);
diff -ruN blender/source/blender/render/intern/source/zbuf.c blender-new/source/blender/render/intern/source/zbuf.c
--- blender/source/blender/render/intern/source/zbuf.c	2008-02-14 17:07:09.000000000 +0200
+++ blender-new/source/blender/render/intern/source/zbuf.c	2008-02-14 17:15:52.000000000 +0200
@@ -42,7 +42,6 @@
 #include "BLI_jitter.h"
 #include "BLI_threads.h"
 
-#include "MTC_matrixops.h"
 #include "MEM_guardedalloc.h"
 
 #include "DNA_lamp_types.h"
@@ -2238,7 +2237,7 @@
 	hashlist_projectvert(NULL, winmat, NULL);
 	
 	/* needed for projectvert */
-	MTC_Mat4MulMat4(winmat, vw->viewmat, vw->winmat);
+	Mat4MulMat4(winmat, vw->viewmat, vw->winmat);
 
 	/* 1.0f for clipping in clippyra()... bad stuff actually */
 	zbuf_alloc_span(&zspan, vw->rectx, vw->recty, 1.0f);
diff -ruN blender/source/blender/src/drawobject.c blender-new/source/blender/src/drawobject.c
--- blender/source/blender/src/drawobject.c	2008-02-14 17:08:31.000000000 +0200
+++ blender-new/source/blender/src/drawobject.c	2008-02-14 17:15:52.000000000 +0200
@@ -44,8 +44,6 @@
 #include "IMB_imbuf.h"
 
 
-#include "MTC_matrixops.h"
-
 #include "DNA_armature_types.h"
 #include "DNA_camera_types.h"
 #include "DNA_curve_types.h"
@@ -1106,7 +1104,7 @@
 			Mat4Ortho(vec);
 			mymultmatrix(vec);
 
-			MTC_Mat4SwapMat4(G.vd->persmat, tmat);
+			Mat4SwapMat4(G.vd->persmat, tmat);
 			mygetsingmatrix(G.vd->persmat);
 
 			if(cam->flag & CAM_SHOWLIMITS) {
@@ -1119,7 +1117,7 @@
 			if(cam->flag & CAM_SHOWMIST) 
 				if(wrld) draw_limit_line(wrld->miststa, wrld->miststa+wrld->mistdist, 0xFFFFFF);
 				
-			MTC_Mat4SwapMat4(G.vd->persmat, tmat);
+			Mat4SwapMat4(G.vd->persmat, tmat);
 		}
 	}
 }
diff -ruN blender/source/blender/src/editface.c blender-new/source/blender/src/editface.c
--- blender/source/blender/src/editface.c	2008-02-14 17:08:32.000000000 +0200
+++ blender-new/source/blender/src/editface.c	2008-02-14 17:15:52.000000000 +0200
@@ -42,8 +42,6 @@
 #include "BLI_edgehash.h"
 #include "BLI_editVert.h"
 
-#include "MTC_matrixops.h"
-
 #include "IMB_imbuf_types.h"
 #include "IMB_imbuf.h"
 
diff -ruN blender/source/blender/src/editfont.c blender-new/source/blender/src/editfont.c
--- blender/source/blender/src/editfont.c	2008-02-14 17:08:32.000000000 +0200
+++ blender-new/source/blender/src/editfont.c	2008-02-14 17:15:52.000000000 +0200
@@ -45,8 +45,6 @@
 #include <io.h>
 #endif
 
-#include "MTC_matrixops.h"
-
 #include "MEM_guardedalloc.h"
 
 #include "BLI_blenlib.h"
diff -ruN blender/source/blender/src/editmesh_mods.c blender-new/source/blender/src/editmesh_mods.c
--- blender/source/blender/src/editmesh_mods.c	2008-02-14 17:08:32.000000000 +0200
+++ blender-new/source/blender/src/editmesh_mods.c	2008-02-14 17:15:52.000000000 +0200
@@ -42,8 +42,6 @@
 
 #include "MEM_guardedalloc.h"
 
-#include "MTC_matrixops.h"
-
 #include "DNA_mesh_types.h"
 #include "DNA_material_types.h"
 #include "DNA_meshdata_types.h"
diff -ruN blender/source/blender/src/editmesh_tools.c blender-new/source/blender/src/editmesh_tools.c
--- blender/source/blender/src/editmesh_tools.c	2008-02-14 17:08:32.000000000 +0200
+++ blender-new/source/blender/src/editmesh_tools.c	2008-02-14 17:15:52.000000000 +0200
@@ -107,8 +107,6 @@
 
 #include "editmesh.h"
 
-#include "MTC_vectorops.h"
-
 #include "PIL_time.h"
 
 /* local prototypes ---------------*/
diff -ruN blender/source/blender/src/fluidsim.c blender-new/source/blender/src/fluidsim.c
--- blender/source/blender/src/fluidsim.c	2008-02-14 17:08:31.000000000 +0200
+++ blender-new/source/blender/src/fluidsim.c	2008-02-14 17:15:52.000000000 +0200
@@ -59,7 +59,6 @@
 
 #include "BLI_blenlib.h"
 #include "BLI_arithb.h"
-#include "MTC_matrixops.h"
 
 #include "BKE_customdata.h"
 #include "BKE_displist.h"
@@ -859,7 +858,7 @@
 	}
 
 	// init trafo matrix
-	MTC_Mat4CpyMat4(domainMat, fsDomain->obmat);
+	Mat4CpyMat4(domainMat, fsDomain->obmat);
 	if(!Mat4Invert(invDomMat, domainMat)) {
 		snprintf(debugStrBuffer,256,"fluidsimBake::error - Invalid obj matrix?\n"); 
 		elbeemDebugOut(debugStrBuffer);
diff -ruN blender/source/blender/src/previewrender.c blender-new/source/blender/src/previewrender.c
--- blender/source/blender/src/previewrender.c	2008-02-14 17:08:31.000000000 +0200
+++ blender-new/source/blender/src/previewrender.c	2008-02-14 17:15:52.000000000 +0200
@@ -50,8 +50,6 @@
 #include "BLI_arithb.h"
 #include "BLI_blenlib.h"
 
-#include "MTC_matrixops.h"
-
 #include "DNA_texture_types.h"
 #include "DNA_world_types.h"
 #include "DNA_camera_types.h"
diff -ruN blender/source/blender/src/vpaint.c blender-new/source/blender/src/vpaint.c
--- blender/source/blender/src/vpaint.c	2008-02-14 17:08:32.000000000 +0200
+++ blender-new/source/blender/src/vpaint.c	2008-02-14 17:15:52.000000000 +0200
@@ -46,7 +46,6 @@
 
 #include "BLI_blenlib.h"
 #include "BLI_arithb.h"
-#include "MTC_matrixops.h"
 
 #include "DNA_action_types.h"
 #include "DNA_armature_types.h"
@@ -1207,7 +1206,7 @@
 				else totindex= 0;
 			}
 			
-			MTC_Mat4SwapMat4(G.vd->persmat, mat);
+			Mat4SwapMat4(G.vd->persmat, mat);
 			
 			if(Gwp.flag & VP_COLINDEX) {
 				for(index=0; index<totindex; index++) {
@@ -1316,7 +1315,7 @@
 				}
 			}
 			
-			MTC_Mat4SwapMat4(G.vd->persmat, mat);
+			Mat4SwapMat4(G.vd->persmat, mat);
 			
 		}
 		else BIF_wait_for_statechange();
@@ -1456,7 +1455,7 @@
 				else totindex= 0;
 			}
 			
-			MTC_Mat4SwapMat4(G.vd->persmat, mat);
+			Mat4SwapMat4(G.vd->persmat, mat);
 			
 			if(Gvp.flag & VP_COLINDEX) {
 				for(index=0; index<totindex; index++) {
@@ -1517,7 +1516,7 @@
 				}
 			}
 				
-			MTC_Mat4SwapMat4(G.vd->persmat, mat);
+			Mat4SwapMat4(G.vd->persmat, mat);
 			
 			do_shared_vertexcol(me);
 	
diff -ruN blender/source/blender/yafray/intern/export_File.cpp blender-new/source/blender/yafray/intern/export_File.cpp
--- blender/source/blender/yafray/intern/export_File.cpp	2008-02-14 17:08:33.000000000 +0200
+++ blender-new/source/blender/yafray/intern/export_File.cpp	2008-02-14 17:18:52.000000000 +0200
@@ -1036,10 +1036,10 @@
 					// In this case this means the inverse of that matrix
 					float texmat[4][4], itexmat[4][4];
 					if ((mtex->texco & TEXCO_OBJECT) && (mtex->object))
-						MTC_Mat4CpyMat4(texmat, mtex->object->obmat);
+						Mat4CpyMat4(texmat, mtex->object->obmat);
 					else	// also for refl. map
-						MTC_Mat4CpyMat4(texmat, maincam_obj->obmat);
-					MTC_Mat4Invert(itexmat, texmat);
+						Mat4CpyMat4(texmat, maincam_obj->obmat);
+					Mat4Invert(itexmat, texmat);
 					ostr << "\n\t\tm00=\"" << itexmat[0][0] << "\" m01=\"" << itexmat[1][0]
 							 << "\" m02=\"" << itexmat[2][0] << "\" m03=\"" << itexmat[3][0] << "\"\n";
 					ostr << "\t\tm10=\"" << itexmat[0][1] << "\" m11=\"" << itexmat[1][1]
@@ -1304,8 +1304,8 @@
 	// for deformed objects, object->imat is no longer valid,
 	// so have to create inverse render matrix ourselves here
 	float mat[4][4], imat[4][4];
-	MTC_Mat4MulMat4(mat, obj->obmat, re->viewmat);
-	MTC_Mat4Invert(imat, mat);
+	Mat4MulMat4(mat, obj->obmat, re->viewmat);
+	Mat4Invert(imat, mat);
 
 	for (vector<VlakRen*>::const_iterator fci=VLR_list.begin();
 				fci!=VLR_list.end();++fci)
@@ -1318,8 +1318,8 @@
 		if (vert_idx.find(vlr->v1)==vert_idx.end()) {
 			vert_idx[vlr->v1] = vidx++;
 			ver = vlr->v1;
-			MTC_cp3Float(ver->co, tvec);
-			MTC_Mat4MulVecfl(imat, tvec);
+			VecCopyf(tvec, ver->co);
+			Mat4MulVecfl(imat, tvec);
 			ostr << "\t\t\t<p x=\"" << tvec[0]
 			           << "\" y=\"" << tvec[1]
 			           << "\" z=\"" << tvec[2] << "\" />\n";
@@ -1339,8 +1339,8 @@
 		if (vert_idx.find(vlr->v2)==vert_idx.end()) {
 			vert_idx[vlr->v2] = vidx++;
 			ver = vlr->v2;
-			MTC_cp3Float(ver->co, tvec);
-			MTC_Mat4MulVecfl(imat, tvec);
+			VecCopyf(tvec, ver->co);
+			Mat4MulVecfl(imat, tvec);
 			ostr << "\t\t\t<p x=\"" << tvec[0]
 			           << "\" y=\"" << tvec[1]
 			           << "\" z=\"" << tvec[2] << "\" />\n";
@@ -1360,8 +1360,8 @@
 		if (vert_idx.find(vlr->v3)==vert_idx.end()) {
 			vert_idx[vlr->v3] = vidx++;
 			ver = vlr->v3;
-			MTC_cp3Float(ver->co, tvec);
-			MTC_Mat4MulVecfl(imat, tvec);
+			VecCopyf(tvec, ver->co);
+			Mat4MulVecfl(imat, tvec);
 			ostr << "\t\t\t<p x=\"" << tvec[0]
 			           << "\" y=\"" << tvec[1]
 			           << "\" z=\"" << tvec[2] << "\" />\n";
@@ -1381,8 +1381,8 @@
 		if ((vlr->v4) && (vert_idx.find(vlr->v4)==vert_idx.end())) {
 			vert_idx[vlr->v4] = vidx++;
 			ver = vlr->v4;
-			MTC_cp3Float(ver->co, tvec);
-			MTC_Mat4MulVecfl(imat, tvec);
+			VecCopyf(tvec, ver->co);
+			Mat4MulVecfl(imat, tvec);
 			ostr << "\t\t\t<p x=\"" << tvec[0]
 			           << "\" y=\"" << tvec[1]
 			           << "\" z=\"" << tvec[2] << "\" />\n";
@@ -1532,7 +1532,7 @@
 			for (int j=0;j<4;j++)
 				obmat[i][j] = dupMtx->second[(i<<2)+j];
 
-		MTC_Mat4Invert(imat, obmat);
+		Mat4Invert(imat, obmat);
 
 		// first object written as normal (but with transform of first duplivert)
 		Object* obj = dup_srcob[dupMtx->first];
@@ -1546,7 +1546,7 @@
 				for (int j=0;j<4;j++)
 					nmat[i][j] = dupMtx->second[curmtx+(i<<2)+j];
 
-			MTC_Mat4MulMat4(cmat, imat, nmat);	// transform with respect to original = inverse_original * new
+			Mat4MulMat4(cmat, imat, nmat);	// transform with respect to original = inverse_original * new
 
 			ostr.str("");
 			// yafray matrix = transpose of Blender
@@ -1591,14 +1591,14 @@
 	
 	// transform area lamp coords back to world
 	float lpco[4][3];
-	MTC_cp3Float(a, lpco[0]);
-	MTC_Mat4MulVecfl(iview, lpco[0]);
-	MTC_cp3Float(b, lpco[1]);
-	MTC_Mat4MulVecfl(iview, lpco[1]);
-	MTC_cp3Float(c, lpco[2]);
-	MTC_Mat4MulVecfl(iview, lpco[2]);
-	MTC_cp3Float(d, lpco[3]);
-	MTC_Mat4MulVecfl(iview, lpco[3]);
+	VecCopyf(lpco[0], a);
+	Mat4MulVecfl(iview, lpco[0]);
+	VecCopyf(lpco[1], b);
+	Mat4MulVecfl(iview, lpco[1]);
+	VecCopyf(lpco[2], c);
+	Mat4MulVecfl(iview, lpco[2]);
+	VecCopyf(lpco[3], d);
+	Mat4MulVecfl(iview, lpco[3]);
 	ostr << "\t<a x=\""<< lpco[0][0] <<"\" y=\""<< lpco[0][1] <<"\" z=\"" << lpco[0][2] <<"\" />\n";
 	ostr << "\t<b x=\""<< lpco[1][0] <<"\" y=\""<< lpco[1][1] <<"\" z=\"" << lpco[1][2] <<"\" />\n";
 	ostr << "\t<c x=\""<< lpco[2][0] <<"\" y=\""<< lpco[2][1] <<"\" z=\"" << lpco[2][2] <<"\" />\n";
@@ -1618,7 +1618,7 @@
 	float iview[4][4];
 	// re->viewinv != inv.re->viewmat because of possible ortho mode (see convertBlenderScene.c)
 	// have to invert it here
-	MTC_Mat4Invert(iview, re->viewmat);
+	Mat4Invert(iview, re->viewmat);
 	
 	// all lamps
 	for(go=(GroupObject *)re->lights.first; go; go= go->next, i++) {
@@ -1750,10 +1750,10 @@
 
 		// transform lamp co & vec back to world
 		float lpco[3], lpvec[3];
-		MTC_cp3Float(lamp->co, lpco);
-		MTC_Mat4MulVecfl(iview, lpco);
-		MTC_cp3Float(lamp->vec, lpvec);
-		MTC_Mat4Mul3Vecfl(iview, lpvec);
+		VecCopyf(lpco, lamp->co);
+		Mat4MulVecfl(iview, lpco);
+		VecCopyf(lpvec, lamp->vec);
+		Mat4Mul3Vecfl(iview, lpvec);
 
 		// position, (==-blendir for sun/hemi)
 		if ((lamp->type==LA_SUN) || (lamp->type==LA_HEMI))
diff -ruN blender/source/blender/yafray/intern/export_Plugin.cpp blender-new/source/blender/yafray/intern/export_Plugin.cpp
--- blender/source/blender/yafray/intern/export_Plugin.cpp	2008-02-14 17:08:33.000000000 +0200
+++ blender-new/source/blender/yafray/intern/export_Plugin.cpp	2008-02-14 17:15:52.000000000 +0200
@@ -931,10 +931,10 @@
 					// In this case this means the inverse of that matrix
 					float texmat[4][4], itexmat[4][4];
 					if ((mtex->texco & TEXCO_OBJECT) && (mtex->object))
-						MTC_Mat4CpyMat4(texmat, mtex->object->obmat);
+						Mat4CpyMat4(texmat, mtex->object->obmat);
 					else	// also for refl. map
-						MTC_Mat4CpyMat4(texmat, maincam_obj->obmat);
-					MTC_Mat4Invert(itexmat, texmat);
+						Mat4CpyMat4(texmat, maincam_obj->obmat);
+					Mat4Invert(itexmat, texmat);
 #define flp yafray::parameter_t
 					params["m00"]=flp(itexmat[0][0]);  params["m01"]=flp(itexmat[1][0]);
 					params["m02"]=flp(itexmat[2][0]);  params["m03"]=flp(itexmat[3][0]);
@@ -1223,15 +1223,15 @@
 	// for deformed objects, object->imat is no longer valid,
 	// so have to create inverse render matrix ourselves here
 	float mat[4][4], imat[4][4];
-	MTC_Mat4MulMat4(mat, obj->obmat, re->viewmat);
-	MTC_Mat4Invert(imat, mat);
+	Mat4MulMat4(mat, obj->obmat, re->viewmat);
+	Mat4Invert(imat, mat);
 
 	if (vert_idx.find(vlr->v1)==vert_idx.end()) 
 	{
 		vert_idx[vlr->v1] = vidx++;
 		ver = vlr->v1;
-		MTC_cp3Float(ver->co, tvec);
-		MTC_Mat4MulVecfl(imat, tvec);
+		VecCopyf(tvec, ver->co);
+		Mat4MulVecfl(imat, tvec);
 		verts.push_back(yafray::point3d_t(tvec[0], tvec[1], tvec[2]));
 		// has_orco now an int, if 1 -> strand mapping, if 2 -> normal orco mapping
 		if (has_orco==1)
@@ -1243,8 +1243,8 @@
 	{
 		vert_idx[vlr->v2] = vidx++;
 		ver = vlr->v2;
-		MTC_cp3Float(ver->co, tvec);
-		MTC_Mat4MulVecfl(imat, tvec);
+		VecCopyf(tvec, ver->co);
+		Mat4MulVecfl(imat, tvec);
 		verts.push_back(yafray::point3d_t(tvec[0], tvec[1], tvec[2]));
 		// has_orco now an int, if 1 -> strand mapping, if 2 -> normal orco mapping
 		if (has_orco==1)
@@ -1256,8 +1256,8 @@
 	{
 		vert_idx[vlr->v3] = vidx++;
 		ver = vlr->v3;
-		MTC_cp3Float(ver->co, tvec);
-		MTC_Mat4MulVecfl(imat, tvec);
+		VecCopyf(tvec, ver->co);
+		Mat4MulVecfl(imat, tvec);
 		verts.push_back(yafray::point3d_t(tvec[0], tvec[1], tvec[2]));
 		// has_orco now an int, if 1 -> strand mapping, if 2 -> normal orco mapping
 		if (has_orco==1)
@@ -1269,8 +1269,8 @@
 	{
 		vert_idx[vlr->v4] = vidx++;
 		ver = vlr->v4;
-		MTC_cp3Float(ver->co, tvec);
-		MTC_Mat4MulVecfl(imat, tvec);
+		VecCopyf(tvec, ver->co);
+		Mat4MulVecfl(imat, tvec);
 		verts.push_back(yafray::point3d_t(tvec[0], tvec[1], tvec[2]));
 		// has_orco now an int, if 1 -> strand mapping, if 2 -> normal orco mapping
 		if (has_orco==1)
@@ -1406,7 +1406,7 @@
 		for (int i=0;i<4;i++)
 			for (int j=0;j<4;j++)
 				obmat[i][j] = dupMtx->second[(i<<2)+j];
-		MTC_Mat4Invert(imat, obmat);
+		Mat4Invert(imat, obmat);
 
 		// first object written as normal (but with transform of first duplivert)
 		Object* obj = dup_srcob[dupMtx->first];
@@ -1420,7 +1420,7 @@
 				for (int j=0;j<4;j++)
 					nmat[i][j] = dupMtx->second[curmtx+(i<<2)+j];
 
-			MTC_Mat4MulMat4(cmat, imat, nmat);	// transform with respect to original = inverse_original * new
+			Mat4MulMat4(cmat, imat, nmat);	// transform with respect to original = inverse_original * new
 
 			float mtr[4*4];
 			mtr[0*4+0]=cmat[0][0];  mtr[0*4+1]=cmat[1][0];  mtr[0*4+2]=cmat[2][0];  mtr[0*4+3]=cmat[3][0];
@@ -1466,14 +1466,14 @@
 	
 	// transform area lamp coords back to world
 	float lpco[4][3];
-	MTC_cp3Float(a, lpco[0]);
-	MTC_Mat4MulVecfl(iview, lpco[0]);
-	MTC_cp3Float(b, lpco[1]);
-	MTC_Mat4MulVecfl(iview, lpco[1]);
-	MTC_cp3Float(c, lpco[2]);
-	MTC_Mat4MulVecfl(iview, lpco[2]);
-	MTC_cp3Float(d, lpco[3]);
-	MTC_Mat4MulVecfl(iview, lpco[3]);	
+	VecCopyf(lpco[0], a);
+	Mat4MulVecfl(iview, lpco[0]);
+	VecCopyf(lpco[1], b);
+	Mat4MulVecfl(iview, lpco[1]);
+	VecCopyf(lpco[2], c);
+	Mat4MulVecfl(iview, lpco[2]);
+	VecCopyf(lpco[3], d);
+	Mat4MulVecfl(iview, lpco[3]);	
 	params["a"] = yafray::parameter_t(yafray::point3d_t(lpco[0][0], lpco[0][1], lpco[0][2]));
 	params["b"] = yafray::parameter_t(yafray::point3d_t(lpco[1][0], lpco[1][1], lpco[1][2]));
 	params["c"] = yafray::parameter_t(yafray::point3d_t(lpco[2][0], lpco[2][1], lpco[2][2]));
@@ -1492,7 +1492,7 @@
 	float iview[4][4];
 	// re->viewinv != inv.re->viewmat because of possible ortho mode (see convertBlenderScene.c)
 	// have to invert it here
-	MTC_Mat4Invert(iview, re->viewmat);
+	Mat4Invert(iview, re->viewmat);
 
 	// all lamps
 	for(go=(GroupObject *)re->lights.first; go; go= go->next, i++)
@@ -1632,10 +1632,10 @@
 
 		// transform lamp co & vec back to world
 		float lpco[3], lpvec[3];
-		MTC_cp3Float(lamp->co, lpco);
-		MTC_Mat4MulVecfl(iview, lpco);
-		MTC_cp3Float(lamp->vec, lpvec);
-		MTC_Mat4Mul3Vecfl(iview, lpvec);
+		VecCopyf(lpco, lamp->co);
+		Mat4MulVecfl(iview, lpco);
+		VecCopyf(lpvec, lamp->vec);
+		Mat4Mul3Vecfl(iview, lpvec);
 
 		// position, (==-blendir for sun/hemi)
 		if ((lamp->type==LA_SUN) || (lamp->type==LA_HEMI))
diff -ruN blender/source/blender/yafray/intern/yafray_Render.cpp blender-new/source/blender/yafray/intern/yafray_Render.cpp
--- blender/source/blender/yafray/intern/yafray_Render.cpp	2008-02-14 17:08:33.000000000 +0200
+++ blender-new/source/blender/yafray/intern/yafray_Render.cpp	2008-02-14 17:15:52.000000000 +0200
@@ -85,7 +85,7 @@
 		if(obi->flag & R_DUPLI_TRANSFORMED) {
 			// compute object matrix with dupli transform, need to transform
 			// obi->mat out of view space for it
-			MTC_Mat4MulSerie(mat, re->viewinv, obi->mat, re->viewmat, obi->obr->ob->obmat, 0, 0, 0, 0);
+			Mat4MulSerie(mat, re->viewinv, obi->mat, re->viewmat, obi->obr->ob->obmat, 0, 0, 0, 0);
 			addDupliMtx(obi->obr->ob, mat);
 		}
 	}
diff -ruN blender/source/blender/yafray/intern/yafray_Render.h blender-new/source/blender/yafray/intern/yafray_Render.h
--- blender/source/blender/yafray/intern/yafray_Render.h	2008-02-14 17:08:33.000000000 +0200
+++ blender-new/source/blender/yafray/intern/yafray_Render.h	2008-02-14 17:15:52.000000000 +0200
@@ -29,10 +29,8 @@
 #include "renderpipeline.h"
 
 /* useful matrix & vector operations */
-#include "MTC_matrixops.h"
-#include "MTC_vectorops.h"
-
 #include "BLI_blenlib.h"
+#include "BLI_arithb.h"
 
 /* need error(), so extern declare here */
 extern void error (char *fmt, ...);