diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 9aadd70927..24432446c8 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -95,6 +95,7 @@ what it is today. * Mic Bowman * Michelle Argus * Michael Cortez (The Flotsam Project, http://osflotsam.org/) +* Micheil Merlin * Mike Osias (IBM) * Mike Pitman (IBM) * mikkopa/_someone - RealXtend diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index 0e849e542c..9d9967a22b 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -805,7 +805,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap imgstream = new MemoryStream(); // non-async because we know we have the asset immediately. - AssetBase mapasset = m_scene.AssetService.Get(m_scene.RegionInfo.lastMapUUID.ToString()); + AssetBase mapasset = m_scene.AssetService.Get(m_scene.RegionInfo.RegionSettings.TerrainImageID.ToString()); // Decode image to System.Drawing.Image if (OpenJPEG.DecodeToImage(mapasset.Data, out managedImage, out image)) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 489b8ca42c..b859042c3f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -1633,7 +1633,7 @@ namespace OpenSim.Region.Framework.Scenes if (action == DeRezAction.SaveToExistingUserInventoryItem) permissionToDelete = false; - // if we want to take a copy,, we also don't want to delete + // if we want to take a copy, we also don't want to delete // Note: after this point, the permissionToTakeCopy flag // becomes irrelevant. It already includes the permissionToTake // permission and after excluding no copy items here, we can @@ -1644,6 +1644,7 @@ namespace OpenSim.Region.Framework.Scenes if (!permissionToTakeCopy) return; + permissionToTake = true; // Don't delete permissionToDelete = false; } diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index 6a2cbebb30..240f5b143b 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs @@ -175,6 +175,9 @@ namespace OpenSim.Services.LLLoginService private string firstname; private string lastname; + // Web map + private string mapTileURL; + // Error Flags private string errorReason; private string errorMessage; @@ -223,7 +226,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); @@ -239,6 +242,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); @@ -411,6 +415,7 @@ namespace OpenSim.Services.LLLoginService InitialOutfitHash["folder_name"] = "Nightclub Female"; InitialOutfitHash["gender"] = "female"; initialOutfit.Add(InitialOutfitHash); + mapTileURL = String.Empty; } @@ -474,6 +479,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(); @@ -570,6 +578,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()); @@ -653,7 +664,7 @@ namespace OpenSim.Services.LLLoginService Hashtable TempHash; foreach (InventoryFolderBase InvFolder in folders) { - if (InvFolder.ParentID == UUID.Zero) + if (InvFolder.ParentID == UUID.Zero && InvFolder.Name == "My Inventory") { rootID = InvFolder.ID; } @@ -921,6 +932,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 5c12a540ac..d27c26d1a7 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) @@ -362,7 +364,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.32BitLaunch.exe b/bin/Robust.32BitLaunch.exe index 747d02ff03..4d2698b9fb 100644 Binary files a/bin/Robust.32BitLaunch.exe and b/bin/Robust.32BitLaunch.exe differ 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.