My character moves when the stick is pushed down, then when released it's momentum tapers off. this is fine until it hits a wall and the movement stops but the momentum calculaions continue to taper off. So, obviously, momentum in the direction of impact needs to be canceled, but not in other directions, meaning that only one or two elements of a local movement vector need to be corrected. If I can break down each element into its XYZ components I can perform a dot product comparison with hit data provided by c_move and discover how much each vector needs to be corrected.

I have to disagree about vec_rotate, I can get the rotation to work from one particular position to another, but as I try to do it dynamically thru a full range of movement it will work in certain portions of the arc and not others.

I still haven't had time to try and implement vec_for_ent yet, but I will soon.

Thanks for your interest, any help will be greatly appreciated.