made playerDelta a vec3, added a function to wrap crappy matrix transforms