void look_at(ENTITY* Vehicle, VECTOR* Destination, ENTITY* Planet)
{
VECTOR Dest;
VECTOR V_Nrml;
ANGLE V_Ang;
VECTOR V_Path;
var Displacement;
ANGLE T_Ang;
//get our vehicle's normal from the planet core
vec_diff(V_Nrml,Vehicle.x,Planet.x);
//get vehicle's absolute angle from core
vec_to_angle(V_Ang,V_Nrml);
//transform it to angle from the top of our planet
V_Ang.tilt=90-V_Ang.tilt;
//translate Path
vec_diff(V_Path,Destination,Planet.x);
vec_rotate(V_Path,V_Ang);
//get our absolute pan angle towards new path
vec_to_angle(T_Ang,V_Path);
//get our vehicle's absolute pan angle
vec_set(V_Ang,Vehicle.pan);
alignToVec(V_Ang, vector(0, 0, 1), vector(0, 0, 1), 1);
//get the difference in angles
Displacement=V_Ang.pan-T_Ang.pan;
//rotate vehicle's local axsis
ang_rotate(Vehicle.pan,vector(Displacement,0,0));
}