add osLocalTeleportAgent(key agent, vector position, vector velocity, vector lookat, LSL_Integer flags). Velocity only works with ubOde but still not good. flags = bit field: 1 use velocity, 2 use lookat, 4 rotate avatar look in current velocity direction (ignored if 2 ie flag = 7 is same as 3). This bypasses most the unnecessary logic of osTeleportAgent, having usage same permissions. It may do region crossings(?). Experimental stage, feedbakc expected ;)

This commit is contained in:
UbitUmarov
2019-05-01 01:35:45 +01:00
parent 9225b78309
commit 11c945a565
6 changed files with 62 additions and 28 deletions

View File

@@ -1976,8 +1976,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
private void changeTargetVelocity(Vector3 newVel)
{
m_pidControllerActive = true;
m_freemove = false;
//m_pidControllerActive = true;
//m_freemove = false;
_target_velocity = newVel;
if (Body != IntPtr.Zero)
SafeNativeMethods.BodyEnable(Body);