How do I calculate efficiently the required angle to rotate from one entity to another?
My code is as follows


Code:
 
function is_ReturnAngleForTurningToEntity(eAgent,eTarget)
{
my=eAgent;
you=eTarget;

// get the direction from the entity MY to the entity YOU
vec_set(temp,you.x);
vec_sub(temp,my.x);
vec_to_angle(is_tempvec5,temp);

return(is_tempvec5.pan);
}

FUNCTION rotate_entity(rotate_angle,rotate_speed)
{
IF (my.pan == rotate_angle) { return; }

result = ang(rotate_angle - my.pan);
IF (result > 0) { my.pan += rotate_speed * time; }
IF (result < 0) { my.pan -= rotate_speed * time; }
IF (ang(rotate_angle - my.pan) < 0 && result > 0) { my.pan = rotate_angle; }
IF (ang(rotate_angle - my.pan) > 0 && result < 0) { my.pan = rotate_angle; }
}

action player
{
while(my.pan!=is_tempvec5.pan)
{
rotate_entity(is_tempvec5.pan,30*time);
temp = abs(my.pan - is_tempvec5.pan);
if(temp<5){break;}
wait(1);
}
}




"When the battlefield is under total control, war becomes routine." Old Snake