In PreVa, we counteracted this by using this code:

Code:
entity* ent1;

function phys_move(e1, &reldist, &absdist, mode_)
{
	var ab;
	ent1 = e1;
	ab = c_move (ent1, reldist, absdist, mode_);
	if (ab <= 0)
	{
		vec_diff (temp, target, my.x);
		vec_inverse (temp);
		vec_normalize(temp, 0.2);
		if (you) { if (you.push >= my.push) { vec_add(my.x,temp); } } //move us away from you
		else { vec_add(my.x,temp); }
	}
}


It could be modified for A7 if any code is different there. All you have to do is replace all your c_move instructions with phys_move, this code makes it where you can use actual pan, tilt, and roll. It also makes it where you can do some light physics with it (pushing boxes, etc).


- aka Manslayer101