diff options
author | Melanie | 2012-01-24 01:29:50 +0000 |
---|---|---|
committer | Melanie | 2012-01-24 01:30:41 +0000 |
commit | 0d2e02efb1da5cba09a8cf306b83e5789529601c (patch) | |
tree | 84ae95c7e7907c4e3aa13fe6e046acfe7905f00d | |
parent | Correct a coordinate to make the viewer like it (diff) | |
download | opensim-SC_OLD-0d2e02efb1da5cba09a8cf306b83e5789529601c.zip opensim-SC_OLD-0d2e02efb1da5cba09a8cf306b83e5789529601c.tar.gz opensim-SC_OLD-0d2e02efb1da5cba09a8cf306b83e5789529601c.tar.bz2 opensim-SC_OLD-0d2e02efb1da5cba09a8cf306b83e5789529601c.tar.xz |
Reverse the spawn point distance vector
-rw-r--r-- | OpenSim/Framework/RegionSettings.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/OpenSim/Framework/RegionSettings.cs b/OpenSim/Framework/RegionSettings.cs index 399c795..9ffde03 100644 --- a/OpenSim/Framework/RegionSettings.cs +++ b/OpenSim/Framework/RegionSettings.cs | |||
@@ -42,7 +42,7 @@ namespace OpenSim.Framework | |||
42 | { | 42 | { |
43 | // The point is an absolute position, so we need the relative | 43 | // The point is an absolute position, so we need the relative |
44 | // location to the spawn point | 44 | // location to the spawn point |
45 | Vector3 offset = pos - point; | 45 | Vector3 offset = point - pos; |
46 | Distance = Vector3.Mag(offset); | 46 | Distance = Vector3.Mag(offset); |
47 | 47 | ||
48 | // Next we need to rotate this vector into the spawn point's | 48 | // Next we need to rotate this vector into the spawn point's |
@@ -58,7 +58,7 @@ namespace OpenSim.Framework | |||
58 | Pitch = (float)-Math.Atan2(dir.Z, Math.Sqrt(dir.X * dir.X + dir.Y * dir.Y)); | 58 | Pitch = (float)-Math.Atan2(dir.Z, Math.Sqrt(dir.X * dir.X + dir.Y * dir.Y)); |
59 | } | 59 | } |
60 | 60 | ||
61 | public Vector3 GetLocation(Quaternion rot) | 61 | public Vector3 GetLocation(Vector3 pos, Quaternion rot) |
62 | { | 62 | { |
63 | Quaternion y = Quaternion.CreateFromEulers(0, 0, Yaw); | 63 | Quaternion y = Quaternion.CreateFromEulers(0, 0, Yaw); |
64 | Quaternion p = Quaternion.CreateFromEulers(0, Pitch, 0); | 64 | Quaternion p = Quaternion.CreateFromEulers(0, Pitch, 0); |
@@ -69,7 +69,7 @@ namespace OpenSim.Framework | |||
69 | rot.W = -rot.W; | 69 | rot.W = -rot.W; |
70 | offset *= rot; | 70 | offset *= rot; |
71 | 71 | ||
72 | return offset; | 72 | return pos + offset; |
73 | } | 73 | } |
74 | } | 74 | } |
75 | 75 | ||
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 1855aea..20f3903 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |||
@@ -1309,7 +1309,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
1309 | 1309 | ||
1310 | foreach (SpawnPoint sp in settings.SpawnPoints()) | 1310 | foreach (SpawnPoint sp in settings.SpawnPoints()) |
1311 | { | 1311 | { |
1312 | spawnPoints.Add(sp.GetLocation(telehub.GroupRotation)); | 1312 | spawnPoints.Add(sp.GetLocation(Vector3.Zero, telehub.GroupRotation)); |
1313 | } | 1313 | } |
1314 | 1314 | ||
1315 | client.SendTelehubInfo(settings.TelehubObject, | 1315 | client.SendTelehubInfo(settings.TelehubObject, |