Reverse the spawn point distance vector

avinationmerge
Melanie 2012-01-24 01:29:50 +00:00
parent 69e4debc42
commit 696fbdfa24
2 changed files with 4 additions and 4 deletions

View File

@ -42,7 +42,7 @@ namespace OpenSim.Framework
{
// The point is an absolute position, so we need the relative
// location to the spawn point
Vector3 offset = pos - point;
Vector3 offset = point - pos;
Distance = Vector3.Mag(offset);
// Next we need to rotate this vector into the spawn point's
@ -58,7 +58,7 @@ namespace OpenSim.Framework
Pitch = (float)-Math.Atan2(dir.Z, Math.Sqrt(dir.X * dir.X + dir.Y * dir.Y));
}
public Vector3 GetLocation(Quaternion rot)
public Vector3 GetLocation(Vector3 pos, Quaternion rot)
{
Quaternion y = Quaternion.CreateFromEulers(0, 0, Yaw);
Quaternion p = Quaternion.CreateFromEulers(0, Pitch, 0);
@ -69,7 +69,7 @@ namespace OpenSim.Framework
rot.W = -rot.W;
offset *= rot;
return offset;
return pos + offset;
}
}

View File

@ -1358,7 +1358,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
foreach (SpawnPoint sp in settings.SpawnPoints())
{
spawnPoints.Add(sp.GetLocation(telehub.GroupRotation));
spawnPoints.Add(sp.GetLocation(Vector3.Zero, telehub.GroupRotation));
}
client.SendTelehubInfo(settings.TelehubObject,