cheers hellfire,
i think if i read correctly i have it working off the out vector.
im now doing translation like this.
sub multranslmatrix4x4( byval m1 as entity ptr , byval m2 as entity ptr , destination as entity ptr )
dim as double Tx , Ty , Tz
dim as double cz , cx , cy
Dim As Single Bx, By, Bz
cx = m2->matrix->m12 'xpos of trans matrix
cy = m2->matrix->m13 'ypos of trans matrix
cz = m2->matrix->m14 'zpos of trans matrix
Bx = m1->Matrix->m2*Cx 'up vectorx*trans xpos
By = m1->Matrix->m6*Cy 'up vectorY*trans ypos
Bz = m1->Matrix->m10*Cz' up vectorz*trans zpos
copymatrix4x4( destination , m2 ) 'this just copys rotation matrix too destination addr
Destination->matrix->m12 = Bx' add out translation too rotation matrix
Destination->matrix->m13 = By' add out translation too rotation matrix
Destination->matrix->m14 = Bz' add out translation too rotation matrix
end sub
and this largely works correct but now the camera rotates around the centre of the scene instead of its own origin.and because of this it acts quite strange through rotation.
i had a read about encoded camera origin vector but it was very sketchy material.