Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
670c7842a4
|
@ -63,77 +63,7 @@ namespace OpenSim.Framework
|
||||||
// a "long" call for warning & debugging purposes
|
// a "long" call for warning & debugging purposes
|
||||||
public const int LongCallTime = 500;
|
public const int LongCallTime = 500;
|
||||||
|
|
||||||
// /// <summary>
|
#region JSONRequest
|
||||||
// /// Send LLSD to an HTTP client in application/llsd+json form
|
|
||||||
// /// </summary>
|
|
||||||
// /// <param name="response">HTTP response to send the data in</param>
|
|
||||||
// /// <param name="body">LLSD to send to the client</param>
|
|
||||||
// public static void SendJSONResponse(OSHttpResponse response, OSDMap body)
|
|
||||||
// {
|
|
||||||
// byte[] responseData = Encoding.UTF8.GetBytes(OSDParser.SerializeJsonString(body));
|
|
||||||
//
|
|
||||||
// response.ContentEncoding = Encoding.UTF8;
|
|
||||||
// response.ContentLength = responseData.Length;
|
|
||||||
// response.ContentType = "application/llsd+json";
|
|
||||||
// response.Body.Write(responseData, 0, responseData.Length);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// <summary>
|
|
||||||
// /// Send LLSD to an HTTP client in application/llsd+xml form
|
|
||||||
// /// </summary>
|
|
||||||
// /// <param name="response">HTTP response to send the data in</param>
|
|
||||||
// /// <param name="body">LLSD to send to the client</param>
|
|
||||||
// public static void SendXMLResponse(OSHttpResponse response, OSDMap body)
|
|
||||||
// {
|
|
||||||
// byte[] responseData = OSDParser.SerializeLLSDXmlBytes(body);
|
|
||||||
//
|
|
||||||
// response.ContentEncoding = Encoding.UTF8;
|
|
||||||
// response.ContentLength = responseData.Length;
|
|
||||||
// response.ContentType = "application/llsd+xml";
|
|
||||||
// response.Body.Write(responseData, 0, responseData.Length);
|
|
||||||
// }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Make a GET or GET-like request to a web service that returns LLSD
|
|
||||||
/// or JSON data
|
|
||||||
/// </summary>
|
|
||||||
public static OSDMap ServiceRequest(string url, string httpVerb)
|
|
||||||
{
|
|
||||||
string errorMessage;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
|
|
||||||
request.Method = httpVerb;
|
|
||||||
|
|
||||||
using (WebResponse response = request.GetResponse())
|
|
||||||
{
|
|
||||||
using (Stream responseStream = response.GetResponseStream())
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
string responseStr = responseStream.GetStreamString();
|
|
||||||
OSD responseOSD = OSDParser.Deserialize(responseStr);
|
|
||||||
if (responseOSD.Type == OSDType.Map)
|
|
||||||
return (OSDMap)responseOSD;
|
|
||||||
else
|
|
||||||
errorMessage = "Response format was invalid.";
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
errorMessage = "Failed to parse the response.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
m_log.Warn(httpVerb + " on URL " + url + " failed: " + ex.Message);
|
|
||||||
errorMessage = ex.Message;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new OSDMap { { "Message", OSD.FromString("Service request failed. " + errorMessage) } };
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// PUT JSON-encoded data to a web service that returns LLSD or
|
/// PUT JSON-encoded data to a web service that returns LLSD or
|
||||||
|
@ -303,6 +233,10 @@ namespace OpenSim.Framework
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion JSONRequest
|
||||||
|
|
||||||
|
#region FormRequest
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// POST URL-encoded form data to a web service that returns LLSD or
|
/// POST URL-encoded form data to a web service that returns LLSD or
|
||||||
/// JSON data
|
/// JSON data
|
||||||
|
@ -397,6 +331,8 @@ namespace OpenSim.Framework
|
||||||
result["Message"] = OSD.FromString("Service request failed: " + msg);
|
result["Message"] = OSD.FromString("Service request failed: " + msg);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion FormRequest
|
||||||
|
|
||||||
#region Uri
|
#region Uri
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
string userAssetServer = string.Empty;
|
string userAssetServer = string.Empty;
|
||||||
if (IsForeignUser(avatarID, out userAssetServer) && userAssetServer != string.Empty && m_OutboundPermission)
|
if (IsForeignUser(avatarID, out userAssetServer) && userAssetServer != string.Empty && m_OutboundPermission)
|
||||||
{
|
{
|
||||||
Util.FireAndForget(delegate { m_assMapper.Post(assetID, avatarID, userAssetServer); });
|
m_assMapper.Post(assetID, avatarID, userAssetServer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -132,7 +132,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public Type ReplaceableInterface
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return null; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
@ -220,7 +220,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
// There is a major hack going on in this method. The viewer doesn't request
|
// There is a major hack going on in this method. The viewer doesn't request
|
||||||
// map blocks (RequestMapBlocks) above 2048. That means that if we don't hack,
|
// map blocks (RequestMapBlocks) above 2048. That means that if we don't hack,
|
||||||
// grids above that cell don't have a map at all. So, here's the hack: we wait
|
// grids above that cell don't have a map at all. So, here's the hack: we wait
|
||||||
// for this CAP request to come, and we inject the map blocks at this point.
|
// for this CAP request to come, and we inject the map blocks at this point.
|
||||||
// In a normal scenario, this request simply sends back the MapLayer (the blue color).
|
// In a normal scenario, this request simply sends back the MapLayer (the blue color).
|
||||||
// In the hacked scenario, it also sends the map blocks via UDP.
|
// In the hacked scenario, it also sends the map blocks via UDP.
|
||||||
//
|
//
|
||||||
|
@ -751,7 +751,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
{
|
{
|
||||||
uint x = 0, y = 0;
|
uint x = 0, y = 0;
|
||||||
Utils.LongToUInts(regionhandle, out x, out y);
|
Utils.LongToUInts(regionhandle, out x, out y);
|
||||||
GridRegion mreg = m_scene.GridService.GetRegionByPosition(m_scene.RegionInfo.ScopeID, (int)x, (int)y);
|
GridRegion mreg = m_scene.GridService.GetRegionByPosition(m_scene.RegionInfo.ScopeID, (int)x, (int)y);
|
||||||
|
|
||||||
if (mreg != null)
|
if (mreg != null)
|
||||||
{
|
{
|
||||||
|
@ -857,7 +857,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
if (os != null)
|
if (os != null)
|
||||||
os.Close();
|
os.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
string response_mapItems_reply = null;
|
string response_mapItems_reply = null;
|
||||||
|
@ -960,16 +960,16 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
// on an unloaded square.
|
// on an unloaded square.
|
||||||
// But make sure: Look whether the one we requested is in there
|
// But make sure: Look whether the one we requested is in there
|
||||||
List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID,
|
List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID,
|
||||||
minX * (int)Constants.RegionSize,
|
minX * (int)Constants.RegionSize,
|
||||||
maxX * (int)Constants.RegionSize,
|
maxX * (int)Constants.RegionSize,
|
||||||
minY * (int)Constants.RegionSize,
|
minY * (int)Constants.RegionSize,
|
||||||
maxY * (int)Constants.RegionSize);
|
maxY * (int)Constants.RegionSize);
|
||||||
|
|
||||||
if (regions != null)
|
if (regions != null)
|
||||||
{
|
{
|
||||||
foreach (GridRegion r in regions)
|
foreach (GridRegion r in regions)
|
||||||
{
|
{
|
||||||
if ((r.RegionLocX == minX * (int)Constants.RegionSize) &&
|
if ((r.RegionLocX == minX * (int)Constants.RegionSize) &&
|
||||||
(r.RegionLocY == minY * (int)Constants.RegionSize))
|
(r.RegionLocY == minY * (int)Constants.RegionSize))
|
||||||
{
|
{
|
||||||
// found it => add it to response
|
// found it => add it to response
|
||||||
|
@ -1004,7 +1004,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
{
|
{
|
||||||
List<MapBlockData> mapBlocks = new List<MapBlockData>();
|
List<MapBlockData> mapBlocks = new List<MapBlockData>();
|
||||||
List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID,
|
List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID,
|
||||||
(minX - 4) * (int)Constants.RegionSize,
|
(minX - 4) * (int)Constants.RegionSize,
|
||||||
(maxX + 4) * (int)Constants.RegionSize,
|
(maxX + 4) * (int)Constants.RegionSize,
|
||||||
(minY - 4) * (int)Constants.RegionSize,
|
(minY - 4) * (int)Constants.RegionSize,
|
||||||
(maxY + 4) * (int)Constants.RegionSize);
|
(maxY + 4) * (int)Constants.RegionSize);
|
||||||
|
@ -1336,7 +1336,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
// Cannot create a map for a nonexistant heightmap
|
// Cannot create a map for a nonexistant heightmap
|
||||||
if (m_scene.Heightmap == null)
|
if (m_scene.Heightmap == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//create a texture asset of the terrain
|
//create a texture asset of the terrain
|
||||||
IMapImageGenerator terrain = m_scene.RequestModuleInterface<IMapImageGenerator>();
|
IMapImageGenerator terrain = m_scene.RequestModuleInterface<IMapImageGenerator>();
|
||||||
if (terrain == null)
|
if (terrain == null)
|
||||||
|
@ -1345,7 +1345,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
byte[] data = terrain.WriteJpeg2000Image();
|
byte[] data = terrain.WriteJpeg2000Image();
|
||||||
if (data == null)
|
if (data == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
byte[] overlay = GenerateOverlay();
|
byte[] overlay = GenerateOverlay();
|
||||||
|
|
||||||
m_log.Debug("[WORLDMAP]: STORING MAPTILE IMAGE");
|
m_log.Debug("[WORLDMAP]: STORING MAPTILE IMAGE");
|
||||||
|
@ -1366,7 +1366,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
// Store the new one
|
// Store the new one
|
||||||
m_log.DebugFormat("[WORLDMAP]: Storing map tile {0}", asset.ID);
|
m_log.DebugFormat("[WORLDMAP]: Storing map tile {0}", asset.ID);
|
||||||
m_scene.AssetService.Store(asset);
|
m_scene.AssetService.Store(asset);
|
||||||
|
|
||||||
if (overlay != null)
|
if (overlay != null)
|
||||||
{
|
{
|
||||||
parcelImageID = UUID.Random();
|
parcelImageID = UUID.Random();
|
||||||
|
@ -1390,7 +1390,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
m_scene.RegionInfo.RegionSettings.TerrainImageID = terrainImageID;
|
m_scene.RegionInfo.RegionSettings.TerrainImageID = terrainImageID;
|
||||||
m_scene.RegionInfo.RegionSettings.ParcelImageID = parcelImageID;
|
m_scene.RegionInfo.RegionSettings.ParcelImageID = parcelImageID;
|
||||||
m_scene.RegionInfo.RegionSettings.Save();
|
m_scene.RegionInfo.RegionSettings.Save();
|
||||||
|
|
||||||
// Delete the old one
|
// Delete the old one
|
||||||
// m_log.DebugFormat("[WORLDMAP]: Deleting old map tile {0}", lastTerrainImageID);
|
// m_log.DebugFormat("[WORLDMAP]: Deleting old map tile {0}", lastTerrainImageID);
|
||||||
m_scene.AssetService.Delete(lastTerrainImageID.ToString());
|
m_scene.AssetService.Delete(lastTerrainImageID.ToString());
|
||||||
|
@ -1469,18 +1469,18 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
if ((land.LandData.Flags & (uint)ParcelFlags.ForSale) != 0)
|
if ((land.LandData.Flags & (uint)ParcelFlags.ForSale) != 0)
|
||||||
{
|
{
|
||||||
landForSale = true;
|
landForSale = true;
|
||||||
|
|
||||||
saleBitmap = land.MergeLandBitmaps(saleBitmap, land.GetLandBitmap());
|
saleBitmap = land.MergeLandBitmaps(saleBitmap, land.GetLandBitmap());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!landForSale)
|
if (!landForSale)
|
||||||
{
|
{
|
||||||
m_log.DebugFormat("[WORLD MAP]: Region {0} has no parcels for sale, not geenrating overlay", m_scene.RegionInfo.RegionName);
|
m_log.DebugFormat("[WORLD MAP]: Region {0} has no parcels for sale, not generating overlay", m_scene.RegionInfo.RegionName);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_log.DebugFormat("[WORLD MAP]: Region {0} has parcels for sale, genrating overlay", m_scene.RegionInfo.RegionName);
|
m_log.DebugFormat("[WORLD MAP]: Region {0} has parcels for sale, generating overlay", m_scene.RegionInfo.RegionName);
|
||||||
|
|
||||||
for (int x = 0 ; x < 64 ; x++)
|
for (int x = 0 ; x < 64 ; x++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -7069,10 +7069,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
shapeBlock.PathScaleX = 100;
|
shapeBlock.PathScaleX = 100;
|
||||||
shapeBlock.PathScaleY = 150;
|
shapeBlock.PathScaleY = 150;
|
||||||
|
|
||||||
if (type != (int)ScriptBaseClass.PRIM_SCULPT_TYPE_CYLINDER &&
|
int flag = type & (ScriptBaseClass.PRIM_SCULPT_FLAG_INVERT | ScriptBaseClass.PRIM_SCULPT_FLAG_MIRROR);
|
||||||
type != (int)ScriptBaseClass.PRIM_SCULPT_TYPE_PLANE &&
|
|
||||||
type != (int)ScriptBaseClass.PRIM_SCULPT_TYPE_SPHERE &&
|
if (type != (ScriptBaseClass.PRIM_SCULPT_TYPE_CYLINDER | flag) &&
|
||||||
type != (int)ScriptBaseClass.PRIM_SCULPT_TYPE_TORUS)
|
type != (ScriptBaseClass.PRIM_SCULPT_TYPE_PLANE | flag) &&
|
||||||
|
type != (ScriptBaseClass.PRIM_SCULPT_TYPE_SPHERE | flag) &&
|
||||||
|
type != (ScriptBaseClass.PRIM_SCULPT_TYPE_TORUS | flag))
|
||||||
{
|
{
|
||||||
// default
|
// default
|
||||||
type = (int)ScriptBaseClass.PRIM_SCULPT_TYPE_SPHERE;
|
type = (int)ScriptBaseClass.PRIM_SCULPT_TYPE_SPHERE;
|
||||||
|
|
|
@ -378,6 +378,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
public const int PRIM_SCULPT_TYPE_TORUS = 2;
|
public const int PRIM_SCULPT_TYPE_TORUS = 2;
|
||||||
public const int PRIM_SCULPT_TYPE_PLANE = 3;
|
public const int PRIM_SCULPT_TYPE_PLANE = 3;
|
||||||
public const int PRIM_SCULPT_TYPE_CYLINDER = 4;
|
public const int PRIM_SCULPT_TYPE_CYLINDER = 4;
|
||||||
|
public const int PRIM_SCULPT_FLAG_INVERT = 64;
|
||||||
|
public const int PRIM_SCULPT_FLAG_MIRROR = 128;
|
||||||
|
|
||||||
public const int MASK_BASE = 0;
|
public const int MASK_BASE = 0;
|
||||||
public const int MASK_OWNER = 1;
|
public const int MASK_OWNER = 1;
|
||||||
|
|
Loading…
Reference in New Issue