aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Communications
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Communications')
-rw-r--r--OpenSim/Region/Communications/Local/LocalLoginService.cs42
1 files changed, 30 insertions, 12 deletions
diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs
index 864d58c..aeb9ae0 100644
--- a/OpenSim/Region/Communications/Local/LocalLoginService.cs
+++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs
@@ -183,19 +183,37 @@ namespace OpenSim.Region.Communications.Local
183 RegionInfo homeReg = m_Parent.GridService.RequestNeighbourInfo(theUser.HomeRegion); 183 RegionInfo homeReg = m_Parent.GridService.RequestNeighbourInfo(theUser.HomeRegion);
184 RegionInfo reg = m_Parent.GridService.RequestNeighbourInfo(currentRegion); 184 RegionInfo reg = m_Parent.GridService.RequestNeighbourInfo(currentRegion);
185 185
186 if ((homeReg != null) && (reg != null)) 186 if ((homeReg != null) || (reg != null))
187 { 187 {
188 response.Home = "{'region_handle':[r" + 188 if (homeReg != null)
189 (homeReg.RegionLocX * Constants.RegionSize).ToString() + ",r" + 189 {
190 (homeReg.RegionLocY * Constants.RegionSize).ToString() + "], " + 190 response.Home = "{'region_handle':[r" +
191 "'position':[r" + 191 (homeReg.RegionLocX * Constants.RegionSize).ToString() + ",r" +
192 theUser.HomeLocation.X.ToString() + ",r" + 192 (homeReg.RegionLocY * Constants.RegionSize).ToString() + "], " +
193 theUser.HomeLocation.Y.ToString() + ",r" + 193 "'position':[r" +
194 theUser.HomeLocation.Z.ToString() + "], " + 194 theUser.HomeLocation.X.ToString() + ",r" +
195 "'look_at':[r" + 195 theUser.HomeLocation.Y.ToString() + ",r" +
196 theUser.HomeLocation.X.ToString() + ",r" + 196 theUser.HomeLocation.Z.ToString() + "], " +
197 theUser.HomeLocation.Y.ToString() + ",r" + 197 "'look_at':[r" +
198 theUser.HomeLocation.Z.ToString() + "]}"; 198 theUser.HomeLocation.X.ToString() + ",r" +
199 theUser.HomeLocation.Y.ToString() + ",r" +
200 theUser.HomeLocation.Z.ToString() + "]}";
201 }
202 else
203 {
204 m_log.Warn("[LOGIN]: Your home region doesn't exist");
205 response.Home = "{'region_handle':[r" +
206 (reg.RegionLocX * Constants.RegionSize).ToString() + ",r" +
207 (reg.RegionLocY * Constants.RegionSize).ToString() + "], " +
208 "'position':[r" +
209 theUser.HomeLocation.X.ToString() + ",r" +
210 theUser.HomeLocation.Y.ToString() + ",r" +
211 theUser.HomeLocation.Z.ToString() + "], " +
212 "'look_at':[r" +
213 theUser.HomeLocation.X.ToString() + ",r" +
214 theUser.HomeLocation.Y.ToString() + ",r" +
215 theUser.HomeLocation.Z.ToString() + "]}";
216 }
199 string capsPath = Util.GetRandomCapsPath(); 217 string capsPath = Util.GetRandomCapsPath();
200 response.SimAddress = reg.ExternalEndPoint.Address.ToString(); 218 response.SimAddress = reg.ExternalEndPoint.Address.ToString();
201 response.SimPort = (uint) reg.ExternalEndPoint.Port; 219 response.SimPort = (uint) reg.ExternalEndPoint.Port;