From c97398575cf576d214edcc15636c45e4dc287b52 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 01:42:18 +0100
Subject: Convert the map image modules to new style modules
---
.../Resources/CoreModulePlugin.addin.xml | 2 ++
.../CoreModules/World/LegacyMap/MapImageModule.cs | 26 +++++++++++++++++-----
.../CoreModules/World/Warp3DMap/MapImageModule.cs | 26 +++++++++++++++++-----
3 files changed, 42 insertions(+), 12 deletions(-)
(limited to 'OpenSim/Region/CoreModules')
diff --git a/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml b/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
index e85e4e9..730ee25 100644
--- a/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
+++ b/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
@@ -76,6 +76,8 @@
\
\
+ \
+ \
diff --git a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs
index 8408bf9..c9ef1f4 100644
--- a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs
+++ b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs
@@ -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(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
diff --git a/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs
index 803a33a..eca85d3 100644
--- a/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs
+++ b/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs
@@ -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 m_colors = new Dictionary();
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 renderers = RenderingLoader.ListRenderers(Util.ExecutingDirectory());
if (renderers.Count > 0)
{
@@ -88,7 +98,11 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
m_scene.RegisterModuleInterface(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
--
cgit v1.1
From 7d62ab6a9e526da81f90a34b1177a7b608ac142c Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 02:16:42 +0100
Subject: Fix incorrect class name
---
OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Region/CoreModules')
diff --git a/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml b/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
index 730ee25..df23eac 100644
--- a/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
+++ b/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
@@ -77,7 +77,7 @@
\
\
- \
+ \
--
cgit v1.1
From d45276b3f6a309f77ddfac1e83dbe2db377883fa Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 05:44:19 +0100
Subject: Add and plumb the usetex URL parameter to worldview. Required but not
yet functional
---
.../CoreModules/World/LegacyMap/MapImageModule.cs | 2 +-
.../CoreModules/World/Warp3DMap/MapImageModule.cs | 20 +++++++++++---------
2 files changed, 12 insertions(+), 10 deletions(-)
(limited to 'OpenSim/Region/CoreModules')
diff --git a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs
index c9ef1f4..f86c790 100644
--- a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs
+++ b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs
@@ -560,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;
}
diff --git a/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs
index eca85d3..00b506e 100644
--- a/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs
+++ b/OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs
@@ -128,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;
@@ -198,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();
@@ -325,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;
@@ -333,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;
@@ -371,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];
--
cgit v1.1
From abfede7819e470c4a9d135b529c40d19fb94dca5 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 19:59:30 +0200
Subject: Plumb the path for multiple object deletes
---
.../InventoryAccess/InventoryAccessModule.cs | 31 ++++++++++++++++++----
1 file changed, 26 insertions(+), 5 deletions(-)
(limited to 'OpenSim/Region/CoreModules')
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index c1d6cd3..d05cfc2 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -196,13 +196,24 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
// currently calls this with multiple items.
UUID ret = UUID.Zero;
+ Dictionary> deletes =
+ new Dictionary>();
+
foreach (SceneObjectGroup g in objectGroups)
- ret = DeleteToInventory(action, folderID, g, remoteClient);
+ {
+ if (!deletes.ContainsKey(g.OwnerID))
+ deletes[g.OwnerID] = new List();
+
+ deletes[g.OwnerID].Add(g);
+ }
+
+ foreach (List 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);
+ }
}
}
--
cgit v1.1