diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index 54d53fb2a4..866e3a3f69 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs @@ -170,6 +170,9 @@ namespace OpenSim.Services.LLLoginService private string firstname; private string lastname; + // Web map + private string mapTileURL; + // Error Flags private string errorReason; private string errorMessage; @@ -218,7 +221,7 @@ namespace OpenSim.Services.LLLoginService public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo, GridRegion destination, List invSkel, FriendInfo[] friendsList, ILibraryService libService, string where, string startlocation, Vector3 position, Vector3 lookAt, List gestures, string message, - GridRegion home, IPEndPoint clientIP) + GridRegion home, IPEndPoint clientIP, string mapTileURL) : this() { FillOutInventoryData(invSkel, libService); @@ -234,6 +237,7 @@ namespace OpenSim.Services.LLLoginService Message = message; BuddList = ConvertFriendListItem(friendsList); StartLocation = where; + MapTileURL = mapTileURL; FillOutHomeData(pinfo, home); LookAt = String.Format("[r{0},r{1},r{2}]", lookAt.X, lookAt.Y, lookAt.Z); @@ -405,6 +409,7 @@ namespace OpenSim.Services.LLLoginService InitialOutfitHash["folder_name"] = "Nightclub Female"; InitialOutfitHash["gender"] = "female"; initialOutfit.Add(InitialOutfitHash); + mapTileURL = String.Empty; } @@ -468,6 +473,9 @@ namespace OpenSim.Services.LLLoginService responseData["region_x"] = (Int32)(RegionX); responseData["region_y"] = (Int32)(RegionY); + if (mapTileURL != String.Empty) + responseData["map-server-url"] = mapTileURL; + if (m_buddyList != null) { responseData["buddy-list"] = m_buddyList.ToArray(); @@ -564,6 +572,9 @@ namespace OpenSim.Services.LLLoginService map["region_x"] = OSD.FromInteger(RegionX); map["region_y"] = OSD.FromInteger(RegionY); + if (mapTileURL != String.Empty) + map["map-server-url"] = OSD.FromString(mapTileURL); + if (m_buddyList != null) { map["buddy-list"] = ArrayListToOSDArray(m_buddyList.ToArray()); @@ -915,6 +926,12 @@ namespace OpenSim.Services.LLLoginService set { home = value; } } + public string MapTileURL + { + get { return mapTileURL; } + set { mapTileURL = value; } + } + public string Message { get { return welcomeMessage; } diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 00fffff89f..f4e045ccb3 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -73,6 +73,7 @@ namespace OpenSim.Services.LLLoginService protected int m_MinLoginLevel; protected string m_GatekeeperURL; protected bool m_AllowRemoteSetLoginLevel; + protected string m_MapTileURL; IConfig m_LoginServerConfig; @@ -100,6 +101,7 @@ namespace OpenSim.Services.LLLoginService m_AllowRemoteSetLoginLevel = m_LoginServerConfig.GetBoolean("AllowRemoteSetLoginLevel", false); m_MinLoginLevel = m_LoginServerConfig.GetInt("MinLoginLevel", 0); m_GatekeeperURL = m_LoginServerConfig.GetString("GatekeeperURI", string.Empty); + m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); // These are required; the others aren't if (accountService == string.Empty || authService == string.Empty) @@ -356,7 +358,7 @@ namespace OpenSim.Services.LLLoginService // Finally, fill out the response and return it // LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, - where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP); + where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP, m_MapTileURL); m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client."); return response; diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 8331db85b1..96dfc01add 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -134,6 +134,9 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 WelcomeMessage = "Welcome, Avatar!" AllowRemoteSetLoginLevel = "false" + ; For snowglobe's web map + ; MapTileURL = ""; + [GridInfoService] ; These settings are used to return information on a get_grid_info call.