Descriptive Problem Summary:
The interpolation between a matrix and a flipped version (scaled -1,-1) was incorrect, as evidenced in animations.
Code Snippet (if applicable) to Reproduce Problem:
var/matrix/m1 = matrix()
var/matrix/m2 = matrix()
m2.Scale(-1,-1)
var/matrix/m3 = m1.Interpolate(m2, 0.5)
world << "[m3[0]] [m3[1]] [m3[2]] [m3[3]] [m3[4]] [m3[5]]"
Expected Results:
"0 0 0 0 0 0"
Actual Results:
This was actually tested with animate() rather than the output snippet.