mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 00:46:02 +08:00
Reverse the spawn point distance vector
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user