/************************************
vfPan2
ex-dump
_vSrc: src pos (my.x)
_vDest: dest pos (your.x, player.x, etc.)
_3Step:
[_iPAN] = entity pan
[_iSTEP] = turn step (multiplied by time)
_vTmp: a temp vector
use:
my.pan += vfPan2(my.x, player.x, vector(my.pan, 3.15, 0), temp);
or
temp.pan = vfPan2(my.x, player.x, vector(my.pan, 3.15, 0), temp);
temp.tilt = 0; temp.roll = 0;
c_rotate(me,temp,ignore_passable + ignore_passents + ignore_me + glide);
*************************************/
function vfPan2(&_vSrc ,&_vDest, &_3Step, &_vTmp) {
//vec_set(_vTmp, nullvector);
vec_diff(_vTmp, _vDest, _vSrc);
vec_to_angle(_vTmp, _vTmp);
_vTmp[0] = ang(_vTmp[0] - _3Step[iPAN]);
_vTmp[1] = abs(_vTmp[0]);
//if (_vTmp[1] < 0.10) {
//return(_vTmp[0]);
//}
_vTmp[2] = ang(min(_vTmp[1], time * _3Step[iSTEP]) * sign(_vTmp[0]));
return(_vTmp[2]);
}