Bump
I have made something, I don't know exactly if it's right...
function MatrixMultyply(m1 as float[][],m2 as float[][])
local ResultMatrix as float[3,3]
ResultMatrix[0,0]=m1[0,0]*m2[0,0]+m1[1,0]*m2[0,1]+m1[2,0]*m2[0,2]+m1[3,0]*m2[0,3]
ResultMatrix[0,1]=m1[0,0]*m2[0,0]+m1[1,0]*m2[0,1]+m1[2,0]*m2[0,2]+m1[3,0]*m2[0,3]
ResultMatrix[0,2]=m1[0,2]*m2[0,0]+m1[1,2]*m2[0,1]+m1[2,2]*m2[0,2]+m1[3,2]*m2[0,3]
ResultMatrix[0,3]=m1[0,3]*m2[0,0]+m1[1,3]*m2[0,1]+m1[2,3]*m2[0,2]+m1[3,3]*m2[0,3]
ResultMatrix[1,0]=m1[0,0]*m2[1,0]+m1[1,0]*m2[1,1]+m1[2,0]*m2[1,2]+m1[3,0]*m2[1,3]
ResultMatrix[1,1]=m1[0,1]*m2[1,0]+m1[1,1]*m2[1,1]+m1[2,1]*m2[1,2]+m1[3,1]*m2[1,3]
ResultMatrix[1,2]=m1[0,2]*m2[1,0]+m1[1,2]*m2[1,1]+m1[2,2]*m2[1,2]+m1[3,2]*m2[1,3]
ResultMatrix[1,3]=m1[0,3]*m2[1,0]+m1[1,3]*m2[1,1]+m1[2,3]*m2[1,2]+m1[3,3]*m2[1,3]
ResultMatrix[2,0]=m1[0,0]*m2[2,0]+m1[1,0]*m2[2,1]+m1[2,0]*m2[2,2]+m1[3,0]*m2[2,3]
ResultMatrix[2,1]=m1[0,1]*m2[2,0]+m1[1,1]*m2[2,1]+m1[2,1]*m2[2,2]+m1[3,1]*m2[2,3]
ResultMatrix[2,2]=m1[0,2]*m2[2,0]+m1[1,2]*m2[2,1]+m1[2,2]*m2[2,2]+m1[3,2]*m2[2,3]
ResultMatrix[2,3]=m1[0,3]*m2[2,0]+m1[1,3]*m2[2,1]+m1[2,3]*m2[2,2]+m1[3,3]*m2[2,3]
ResultMatrix[3,0]=m1[0,0]*m2[3,0]+m1[1,0]*m2[3,1]+m1[2,0]*m2[3,2]+m1[3,0]*m2[3,3]
ResultMatrix[3,1]=m1[0,1]*m2[3,0]+m1[1,1]*m2[3,1]+m1[2,1]*m2[3,2]+m1[3,1]*m2[3,3]
ResultMatrix[3,2]=m1[0,2]*m2[3,0]+m1[1,2]*m2[3,1]+m1[2,2]*m2[3,2]+m1[3,2]*m2[3,3]
ResultMatrix[3,3]=m1[0,3]*m2[3,0]+m1[1,3]*m2[3,1]+m1[2,3]*m2[3,2]+m1[3,3]*m2[3,3]
endfunction ResultMatrix
function MatrixVectorMultyply(m as float[][],v as float[])
local ResultVector as float[3]
ResultVector[0]=v[0]*m[0,0]+v[1]*m[0,1]+v[2]*m[0,2]+v[3]*m[0,3]
ResultVector[1]=v[0]*m[1,0]+v[1]*m[1,1]+v[2]*m[1,2]+v[3]*m[1,3]
ResultVector[2]=v[0]*m[2,0]+v[1]*m[2,1]+v[2]*m[2,2]+v[3]*m[2,3]
ResultVector[3]=v[0]*m[3,0]+v[1]*m[3,1]+v[2]*m[3,2]+v[3]*m[3,3]
endfunction ResultVector
function MatrixMultyply2(m1 as float[][],m2 as float[][])
local ResultMatrix as float[3,3]
ResultMatrix[0]=MatrixVectorMultyply(m1,m2[0])
ResultMatrix[1]=MatrixVectorMultyply(m1,m2[1])
ResultMatrix[2]=MatrixVectorMultyply(m1,m2[2])
ResultMatrix[3]=MatrixVectorMultyply(m1,m2[3])
endfunction ResultMatrix