SGN
dx = SGN(lx - x);
dy = SGN(ly - y);
xdiff = SGN(xdiff);
ydiff = SGN(ydiff);
pp->altitude += SGN(pp->new_altitude - pp->altitude);
xnew = SGN(Player.p_x) * MAX(fabs(Player.p_x), D_BEYOND);
ynew = SGN(Player.p_y) * MAX(fabs(Player.p_y), D_BEYOND);
xnew = Player.p_x + SGN(Player.p_x) * ROLL(50 * Circle, 250 * Circle);
ynew = Player.p_y + SGN(Player.p_y) * ROLL(50 * Circle, 250 * Circle);
dx = x2-x1; ax = ABS(dx)<<1; sx = SGN(dx); x = x1;
dy = y2-y1; ay = ABS(dy)<<1; sy = SGN(dy); y = y1;