Hey!

How can I realize the player movement around a platform/planet, they moves (pan/tilt) as well?
(A player movement like in 'Populous - The Beginning', you know?)

I have already tried:

Code:
while(1)
{
	ENTITY* eIsland = ptr_for_handle(my.skill1);
	my.x = (eIsland.x - cos(eIsland.pan) * cos(eIsland.tilt + 90) * 50);
	my.y = (eIsland.y - sin(eIsland.pan) * cos(eIsland.tilt + 90) * 50);
	my.z = (eIsland.z + sin(eIsland.tilt + 90) * 50);
	var varDistance = c_trace(my.x,vector(my.x,my.y,my.z - 100),IGNORE_ME | USE_POLYGON);
	my.skill10 += (key_t - key_g) * time_step;
	my.skill11 += (key_f - key_h) * time_step;
	my.skill12 = -varDistance;
	my.x += my.skill10;
	my.y += my.skill11;
	my.z += my.skill12;
	my.pan -= (key_r - key_z) * 5 * time_step;
	wait(1);
}



^^ In this case, the player will move exactly with the platform/planet if they moves but his own pan direction is going to lose.


And this:

Code:
ENTITY* eIsland = ptr_for_handle(my.skill1);
my.x = (eIsland.x - cos(eIsland.pan) * cos(eIsland.tilt + 90) * 50);
my.y = (eIsland.y - sin(eIsland.pan) * cos(eIsland.tilt + 90) * 50);
my.z = (eIsland.z + sin(eIsland.tilt + 90) * 50);
while(1)
{
	var varDistance = c_trace(my.x,vector(my.x,my.y,my.z - 100),IGNORE_ME | USE_POLYGON);
	my.skill10 = (key_t - key_g) * time_step;
	my.skill11 = (key_f - key_h) * time_step;
	my.skill12 = -varDistance;
	my.pan -= (key_r - key_z) * 5 * time_step;
	c_move(my,vector(my.skill10,my.skill11,my.skill12),nullvector,IGNORE_MODELS);
	wait(1);
}



^^ There works the pan direction fine but the player will not moved to the right position of platform/planet.

And, let alone of the including of the normal adjustment...

So, any ideas?