mirror of
https://github.com/opensim/opensim.git
synced 2026-08-10 11:33:28 +08:00
Merge branch 'master' of git://opensimulator.org/git/opensim
This commit is contained in:
@@ -196,13 +196,24 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||
// currently calls this with multiple items.
|
||||
UUID ret = UUID.Zero;
|
||||
|
||||
Dictionary<UUID, List<SceneObjectGroup>> deletes =
|
||||
new Dictionary<UUID, List<SceneObjectGroup>>();
|
||||
|
||||
foreach (SceneObjectGroup g in objectGroups)
|
||||
ret = DeleteToInventory(action, folderID, g, remoteClient);
|
||||
{
|
||||
if (!deletes.ContainsKey(g.OwnerID))
|
||||
deletes[g.OwnerID] = new List<SceneObjectGroup>();
|
||||
|
||||
deletes[g.OwnerID].Add(g);
|
||||
}
|
||||
|
||||
foreach (List<SceneObjectGroup> objlist in deletes.Values)
|
||||
ret = DeleteToInventory(action, folderID, objlist, remoteClient);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public virtual UUID DeleteToInventory(DeRezAction action, UUID folderID,
|
||||
private UUID DeleteToInventory(DeRezAction action, UUID folderID,
|
||||
SceneObjectGroup objectGroup, IClientAPI remoteClient)
|
||||
{
|
||||
UUID assetID = UUID.Zero;
|
||||
@@ -315,10 +326,20 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||
}
|
||||
else
|
||||
{
|
||||
// Catch all. Use lost & found
|
||||
//
|
||||
if (remoteClient == null ||
|
||||
objectGroup.OwnerID != remoteClient.AgentId)
|
||||
{
|
||||
// Taking copy of another person's item. Take to
|
||||
// Objects folder.
|
||||
folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.Object);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Catch all. Use lost & found
|
||||
//
|
||||
|
||||
folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.LostAndFoundFolder);
|
||||
folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.LostAndFoundFolder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -76,6 +76,8 @@
|
||||
<RegionModule id="GridInfoServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.GridInfoServiceInConnectorModule" /> \
|
||||
<RegionModule id="AuthenticationServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Authentication.AuthenticationServiceInConnectorModule" />
|
||||
<RegionModule id="AccessModule" type="OpenSim.Region.CoreModules.World.AccessModule" /> \
|
||||
<RegionModule id="MapImageModule" type="OpenSim.Region.CoreModules.World.LegacyMap.MapImageModule" /> \
|
||||
<RegionModule id="Warp3DImageModule" type="OpenSim.Region.CoreModules.World.Warp3DMap.Warp3DImageModule" /> \
|
||||
|
||||
</Extension>
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap
|
||||
public face[] trns;
|
||||
}
|
||||
|
||||
public class MapImageModule : IMapImageGenerator, IRegionModule
|
||||
public class MapImageModule : IMapImageGenerator, INonSharedRegionModule
|
||||
{
|
||||
private static readonly ILog m_log =
|
||||
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
@@ -67,6 +67,7 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap
|
||||
private Scene m_scene;
|
||||
private IConfigSource m_config;
|
||||
private IMapTileTerrainRenderer terrainRenderer;
|
||||
private bool m_Enabled = false;
|
||||
|
||||
#region IMapImageGenerator Members
|
||||
|
||||
@@ -132,9 +133,8 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap
|
||||
|
||||
#region IRegionModule Members
|
||||
|
||||
public void Initialise(Scene scene, IConfigSource source)
|
||||
public void Initialise(IConfigSource source)
|
||||
{
|
||||
m_scene = scene;
|
||||
m_config = source;
|
||||
|
||||
IConfig startupConfig = m_config.Configs["Startup"];
|
||||
@@ -142,10 +142,24 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap
|
||||
"MapImageModule")
|
||||
return;
|
||||
|
||||
m_Enabled = true;
|
||||
}
|
||||
|
||||
public void AddRegion(Scene scene)
|
||||
{
|
||||
if (!m_Enabled)
|
||||
return;
|
||||
|
||||
m_scene = scene;
|
||||
|
||||
m_scene.RegisterModuleInterface<IMapImageGenerator>(this);
|
||||
}
|
||||
|
||||
public void PostInitialise()
|
||||
public void RegionLoaded(Scene scene)
|
||||
{
|
||||
}
|
||||
|
||||
public void RemoveRegion(Scene scene)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -158,9 +172,9 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap
|
||||
get { return "MapImageModule"; }
|
||||
}
|
||||
|
||||
public bool IsSharedModule
|
||||
public Type ReplaceableInterface
|
||||
{
|
||||
get { return false; }
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -546,7 +560,7 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap
|
||||
return returnpt;
|
||||
}
|
||||
|
||||
public Bitmap CreateViewImage(Vector3 camPos, Vector3 camDir, float fov, int width, int height)
|
||||
public Bitmap CreateViewImage(Vector3 camPos, Vector3 camDir, float fov, int width, int height, bool useTextures)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ using WarpRenderer = global::Warp3D.Warp3D;
|
||||
|
||||
namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
||||
{
|
||||
public class Warp3DImageModule : IMapImageGenerator, IRegionModule
|
||||
public class Warp3DImageModule : IMapImageGenerator, INonSharedRegionModule
|
||||
{
|
||||
private static readonly UUID TEXTURE_METADATA_MAGIC = new UUID("802dc0e0-f080-4931-8b57-d1be8611c4f3");
|
||||
private static readonly Color4 WATER_COLOR = new Color4(29, 71, 95, 216);
|
||||
@@ -62,18 +62,28 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
||||
private IConfigSource m_config;
|
||||
private Dictionary<UUID, Color4> m_colors = new Dictionary<UUID, Color4>();
|
||||
private bool m_useAntiAliasing = true; // TODO: Make this a config option
|
||||
private bool m_Enabled = false;
|
||||
|
||||
#region IRegionModule Members
|
||||
|
||||
public void Initialise(Scene scene, IConfigSource source)
|
||||
public void Initialise(IConfigSource source)
|
||||
{
|
||||
m_scene = scene;
|
||||
m_config = source;
|
||||
|
||||
IConfig startupConfig = m_config.Configs["Startup"];
|
||||
if (startupConfig.GetString("MapImageModule", "MapImageModule") != "Warp3DImageModule")
|
||||
return;
|
||||
|
||||
m_Enabled = true;
|
||||
}
|
||||
|
||||
public void AddRegion(Scene scene)
|
||||
{
|
||||
if (!m_Enabled)
|
||||
return;
|
||||
|
||||
m_scene = scene;
|
||||
|
||||
List<string> renderers = RenderingLoader.ListRenderers(Util.ExecutingDirectory());
|
||||
if (renderers.Count > 0)
|
||||
{
|
||||
@@ -88,7 +98,11 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
||||
m_scene.RegisterModuleInterface<IMapImageGenerator>(this);
|
||||
}
|
||||
|
||||
public void PostInitialise()
|
||||
public void RegionLoaded(Scene scene)
|
||||
{
|
||||
}
|
||||
|
||||
public void RemoveRegion(Scene scene)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -101,9 +115,9 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
||||
get { return "Warp3DImageModule"; }
|
||||
}
|
||||
|
||||
public bool IsSharedModule
|
||||
public Type ReplaceableInterface
|
||||
{
|
||||
get { return false; }
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -114,16 +128,16 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
||||
{
|
||||
Vector3 camPos = new Vector3(127.5f, 127.5f, 221.7025033688163f);
|
||||
Viewport viewport = new Viewport(camPos, -Vector3.UnitZ, 1024f, 0.1f, (int)Constants.RegionSize, (int)Constants.RegionSize, (float)Constants.RegionSize, (float)Constants.RegionSize);
|
||||
return CreateMapTile(viewport);
|
||||
return CreateMapTile(viewport, false);
|
||||
}
|
||||
|
||||
public Bitmap CreateViewImage(Vector3 camPos, Vector3 camDir, float fov, int width, int height)
|
||||
public Bitmap CreateViewImage(Vector3 camPos, Vector3 camDir, float fov, int width, int height, bool useTextures)
|
||||
{
|
||||
Viewport viewport = new Viewport(camPos, camDir, fov, (float)Constants.RegionSize, 0.1f, width, height);
|
||||
return CreateMapTile(viewport);
|
||||
return CreateMapTile(viewport, useTextures);
|
||||
}
|
||||
|
||||
public Bitmap CreateMapTile(Viewport viewport)
|
||||
public Bitmap CreateMapTile(Viewport viewport, bool useTextures)
|
||||
{
|
||||
bool drawPrimVolume = true;
|
||||
bool textureTerrain = true;
|
||||
@@ -184,7 +198,7 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
||||
CreateWater(renderer);
|
||||
CreateTerrain(renderer, textureTerrain);
|
||||
if (drawPrimVolume)
|
||||
CreateAllPrims(renderer);
|
||||
CreateAllPrims(renderer, useTextures);
|
||||
|
||||
renderer.Render();
|
||||
Bitmap bitmap = renderer.Scene.getImage();
|
||||
@@ -311,7 +325,7 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
||||
renderer.SetObjectMaterial("Terrain", "TerrainColor");
|
||||
}
|
||||
|
||||
private void CreateAllPrims(WarpRenderer renderer)
|
||||
private void CreateAllPrims(WarpRenderer renderer, bool useTextures)
|
||||
{
|
||||
if (m_primMesher == null)
|
||||
return;
|
||||
@@ -319,14 +333,15 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
||||
m_scene.ForEachSOG(
|
||||
delegate(SceneObjectGroup group)
|
||||
{
|
||||
CreatePrim(renderer, group.RootPart);
|
||||
CreatePrim(renderer, group.RootPart, useTextures);
|
||||
foreach (SceneObjectPart child in group.Parts)
|
||||
CreatePrim(renderer, child);
|
||||
CreatePrim(renderer, child, useTextures);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
private void CreatePrim(WarpRenderer renderer, SceneObjectPart prim)
|
||||
private void CreatePrim(WarpRenderer renderer, SceneObjectPart prim,
|
||||
bool useTextures)
|
||||
{
|
||||
const float MIN_SIZE = 2f;
|
||||
|
||||
@@ -357,6 +372,7 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
||||
string primID = prim.UUID.ToString();
|
||||
|
||||
// Create the prim faces
|
||||
// TODO: Implement the useTextures flag behavior
|
||||
for (int i = 0; i < renderMesh.Faces.Count; i++)
|
||||
{
|
||||
Face face = renderMesh.Faces[i];
|
||||
|
||||
Reference in New Issue
Block a user