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(-)
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 ce89f08f6b978e419ae9cee34a56d3cd7ce91008 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 02:06:50 +0100
Subject: Add WorldView module skeleton
---
.../Resources/OptionalModules.addin.xml | 1 +
.../World/WorldView/WorldViewModule.cs | 80 ++++++++++++++++++++++
2 files changed, 81 insertions(+)
create mode 100644 OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
diff --git a/OpenSim/Region/OptionalModules/Resources/OptionalModules.addin.xml b/OpenSim/Region/OptionalModules/Resources/OptionalModules.addin.xml
index 352052a..5eea286 100644
--- a/OpenSim/Region/OptionalModules/Resources/OptionalModules.addin.xml
+++ b/OpenSim/Region/OptionalModules/Resources/OptionalModules.addin.xml
@@ -12,5 +12,6 @@
+
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
new file mode 100644
index 0000000..d89d274
--- /dev/null
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSimulator Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Reflection;
+using log4net;
+using Nini.Config;
+using OpenMetaverse;
+using OpenMetaverse.Imaging;
+using OpenSim.Framework;
+using OpenSim.Region.Framework.Interfaces;
+using OpenSim.Region.Framework.Scenes;
+
+namespace OpenSim.Region.OptionalModules.World.WorldView
+{
+ public class WorldViewModule : INonSharedRegionModule
+ {
+ private static readonly ILog m_log =
+ LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+
+ private bool m_Enabled = false;
+
+ public void Initialise(IConfigSource config)
+ {
+ }
+
+ public void AddRegion(Scene scene)
+ {
+ }
+
+ public void RegionLoaded(Scene scene)
+ {
+ }
+
+ public void RemoveRegion(Scene scene)
+ {
+ }
+
+ public string Name
+ {
+ get { return "WorldViewModule"; }
+ }
+
+ public Type ReplaceableInterface
+ {
+ get { return null; }
+ }
+
+ public void Close()
+ {
+ }
+ }
+}
--
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(-)
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 17316170a5fb1396d7ed82f6d9c5f0976385cf31 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 03:03:10 +0100
Subject: Add WOrldView request handler and plumbing
---
.../World/WorldView/WorldViewModule.cs | 28 +++++
.../World/WorldView/WorldViewRequestHandler.cs | 127 +++++++++++++++++++++
2 files changed, 155 insertions(+)
create mode 100644 OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
index d89d274..098b741 100644
--- a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
@@ -36,6 +36,9 @@ using OpenMetaverse.Imaging;
using OpenSim.Framework;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
+using OpenSim.Server.Base;
+using OpenSim.Framework.Servers.HttpServer;
+using OpenSim.Services.Interfaces;
namespace OpenSim.Region.OptionalModules.World.WorldView
{
@@ -46,9 +49,18 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
private bool m_Enabled = false;
+ private IMapImageGenerator m_Generator;
public void Initialise(IConfigSource config)
{
+ IConfig moduleConfig = config.Configs["Modules"];
+ if (moduleConfig == null)
+ return;
+
+ if (moduleConfig.GetString("WorldViewModule", String.Empty) != Name)
+ return;
+
+ m_Enabled = true;
}
public void AddRegion(Scene scene)
@@ -57,6 +69,17 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
public void RegionLoaded(Scene scene)
{
+ m_Generator = scene.RequestModuleInterface();
+ if (m_Generator == null)
+ {
+ m_Enabled = false;
+ return;
+ }
+
+ m_log.Info("[WORLDVIEW]: Configured and enabled");
+
+ IHttpServer server = MainServer.GetHttpServer(0);
+ server.AddStreamHandler(new WorldViewRequestHandler(this));
}
public void RemoveRegion(Scene scene)
@@ -76,5 +99,10 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
public void Close()
{
}
+
+ public byte[] GenerateWorldView(Vector3 pos, Vector3 rot)
+ {
+ return new Byte[0];
+ }
}
}
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
new file mode 100644
index 0000000..a9cf1f1
--- /dev/null
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSimulator Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Reflection;
+using System.Xml;
+
+using OpenSim.Framework;
+using OpenSim.Server.Base;
+using OpenSim.Framework.Servers.HttpServer;
+using OpenSim.Region.Framework.Scenes;
+using OpenSim.Region.Framework.Interfaces;
+
+using OpenMetaverse;
+using log4net;
+
+namespace OpenSim.Region.OptionalModules.World.WorldView
+{
+ public class WorldViewRequestHandler : BaseStreamHandler
+ {
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+ protected WorldViewModule m_WorldViewModule;
+ protected Object m_RequestLock = new Object();
+
+ public WorldViewRequestHandler(WorldViewModule fmodule)
+ : base("POST", "/worldview")
+ {
+ m_WorldViewModule = fmodule;
+ }
+
+ public override byte[] Handle(string path, Stream requestData,
+ OSHttpRequest httpRequest, OSHttpResponse httpResponse)
+ {
+ StreamReader sr = new StreamReader(requestData);
+ string body = sr.ReadToEnd();
+ sr.Close();
+ body = body.Trim();
+
+ try
+ {
+ lock (m_RequestLock)
+ {
+ Dictionary request =
+ ServerUtils.ParseQueryString(body);
+
+ return SendWorldView(request);
+ }
+ }
+ catch (Exception e)
+ {
+ m_log.Debug("[WORLDVIEW]: Exception {0}" + e.ToString());
+ }
+
+ return new Byte[0];
+ }
+
+ public Byte[] SendWorldView(Dictionary request)
+ {
+ float posX;
+ float posY;
+ float posZ;
+ float rotX;
+ float rotY;
+ float rotZ;
+
+ if (!request.ContainsKey("posX"))
+ return new Byte[0];
+ if (!request.ContainsKey("posY"))
+ return new Byte[0];
+ if (!request.ContainsKey("posZ"))
+ return new Byte[0];
+ if (!request.ContainsKey("rotX"))
+ return new Byte[0];
+ if (!request.ContainsKey("rotY"))
+ return new Byte[0];
+ if (!request.ContainsKey("rotZ"))
+ return new Byte[0];
+
+ try
+ {
+ posX = Convert.ToSingle(request["posX"]);
+ posY = Convert.ToSingle(request["posY"]);
+ posZ = Convert.ToSingle(request["posZ"]);
+ rotX = Convert.ToSingle(request["rotX"]);
+ rotY = Convert.ToSingle(request["rotY"]);
+ rotZ = Convert.ToSingle(request["rotZ"]);
+ }
+ catch
+ {
+ return new Byte[0];
+ }
+
+ Vector3 pos = new Vector3(posX, posY, posZ);
+ Vector3 rot = new Vector3(rotX, rotY, rotZ);
+
+ return m_WorldViewModule.GenerateWorldView(pos, rot);
+ }
+ }
+}
+
--
cgit v1.1
From abfcd168fcdd65c83b66f4506f1d589e4a5f10ef Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 03:32:01 +0100
Subject: Add the parameter plumbing and image generation
---
.../OptionalModules/World/WorldView/WorldViewModule.cs | 9 ++++++++-
.../World/WorldView/WorldViewRequestHandler.cs | 15 ++++++++++++++-
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
index 098b741..a2e47c3 100644
--- a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
@@ -100,8 +100,15 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
{
}
- public byte[] GenerateWorldView(Vector3 pos, Vector3 rot)
+ public byte[] GenerateWorldView(Vector3 pos, Vector3 rot, float fov,
+ int width, int height)
{
+ if (!m_Enabled)
+ return new Byte[0];
+
+ Bitmap bmp = m_Generator.CreateViewImage(pos, rot, fov, width,
+ height);
+
return new Byte[0];
}
}
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
index a9cf1f1..8b2fa29 100644
--- a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
@@ -89,6 +89,9 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
float rotX;
float rotY;
float rotZ;
+ float fov;
+ int width;
+ int height;
if (!request.ContainsKey("posX"))
return new Byte[0];
@@ -102,6 +105,12 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
return new Byte[0];
if (!request.ContainsKey("rotZ"))
return new Byte[0];
+ if (!request.ContainsKey("fov"))
+ return new Byte[0];
+ if (!request.ContainsKey("width"))
+ return new Byte[0];
+ if (!request.ContainsKey("height"))
+ return new Byte[0];
try
{
@@ -111,6 +120,9 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
rotX = Convert.ToSingle(request["rotX"]);
rotY = Convert.ToSingle(request["rotY"]);
rotZ = Convert.ToSingle(request["rotZ"]);
+ fov = Convert.ToSingle(request["fov"]);
+ width = Convert.ToInt32(request["width"]);
+ height = Convert.ToInt32(request["height"]);
}
catch
{
@@ -120,7 +132,8 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
Vector3 pos = new Vector3(posX, posY, posZ);
Vector3 rot = new Vector3(rotX, rotY, rotZ);
- return m_WorldViewModule.GenerateWorldView(pos, rot);
+ return m_WorldViewModule.GenerateWorldView(pos, rot, fov, width,
+ height);
}
}
}
--
cgit v1.1
From 752b6a876498a7a7b80e6892088d5015c340c13a Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 03:40:55 +0100
Subject: Convert the BMP to a JPEG image and return it. This should be
testable.
---
OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
index a2e47c3..bcf4187 100644
--- a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
@@ -28,7 +28,9 @@
using System;
using System.Collections.Generic;
using System.Drawing;
+using System.Drawing.Imaging;
using System.Reflection;
+using System.IO;
using log4net;
using Nini.Config;
using OpenMetaverse;
@@ -109,7 +111,11 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
Bitmap bmp = m_Generator.CreateViewImage(pos, rot, fov, width,
height);
- return new Byte[0];
+ MemoryStream str = new MemoryStream();
+
+ bmp.Save(str, ImageFormat.Jpeg);
+
+ return str.ToArray();
}
}
}
--
cgit v1.1
From 623f57deb5a177afe444924a465861f7df90a6b5 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 03:51:55 +0100
Subject: Change the URL /worldview to /worldview/ to support
multiregion
---
OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs | 3 ++-
.../Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
index bcf4187..55be9ba 100644
--- a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
@@ -81,7 +81,8 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
m_log.Info("[WORLDVIEW]: Configured and enabled");
IHttpServer server = MainServer.GetHttpServer(0);
- server.AddStreamHandler(new WorldViewRequestHandler(this));
+ server.AddStreamHandler(new WorldViewRequestHandler(this,
+ scene.RegionInfo.RegionID.ToString()));
}
public void RemoveRegion(Scene scene)
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
index 8b2fa29..5e744bf 100644
--- a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
@@ -49,8 +49,8 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
protected WorldViewModule m_WorldViewModule;
protected Object m_RequestLock = new Object();
- public WorldViewRequestHandler(WorldViewModule fmodule)
- : base("POST", "/worldview")
+ public WorldViewRequestHandler(WorldViewModule fmodule, string rid)
+ : base("POST", "/worldview/" + rid)
{
m_WorldViewModule = fmodule;
}
--
cgit v1.1
From 9a1c8db443ee1de3a0153b4ea177280b8036cf6f Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 6 Oct 2010 05:15:47 +0200
Subject: Convert worldview to GET
---
.../World/WorldView/WorldViewRequestHandler.cs | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
index 5e744bf..bfdcdb4 100644
--- a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
@@ -50,7 +50,7 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
protected Object m_RequestLock = new Object();
public WorldViewRequestHandler(WorldViewModule fmodule, string rid)
- : base("POST", "/worldview/" + rid)
+ : base("GET", "/worldview/" + rid)
{
m_WorldViewModule = fmodule;
}
@@ -58,24 +58,28 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
{
- StreamReader sr = new StreamReader(requestData);
- string body = sr.ReadToEnd();
- sr.Close();
- body = body.Trim();
+ httpResponse.ContentType = "image/jpeg";
+
+// StreamReader sr = new StreamReader(requestData);
+// string body = sr.ReadToEnd();
+// sr.Close();
+// body = body.Trim();
try
{
lock (m_RequestLock)
{
Dictionary request =
- ServerUtils.ParseQueryString(body);
+ new Dictionary();
+ foreach (string name in httpRequest.QueryString)
+ request[name] = httpRequest.QueryString[name];
return SendWorldView(request);
}
}
catch (Exception e)
{
- m_log.Debug("[WORLDVIEW]: Exception {0}" + e.ToString());
+ m_log.Debug("[WORLDVIEW]: Exception: " + e.ToString());
}
return new Byte[0];
--
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 +++++++++++---------
OpenSim/Region/Framework/Interfaces/ITerrain.cs | 2 +-
.../World/WorldView/WorldViewModule.cs | 4 ++--
.../World/WorldView/WorldViewRequestHandler.cs | 6 +++++-
5 files changed, 20 insertions(+), 14 deletions(-)
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];
diff --git a/OpenSim/Region/Framework/Interfaces/ITerrain.cs b/OpenSim/Region/Framework/Interfaces/ITerrain.cs
index 38cf020..815a2d8 100644
--- a/OpenSim/Region/Framework/Interfaces/ITerrain.cs
+++ b/OpenSim/Region/Framework/Interfaces/ITerrain.cs
@@ -75,7 +75,7 @@ namespace OpenSim.Region.Framework.Interfaces
public interface IMapImageGenerator
{
System.Drawing.Bitmap CreateMapTile();
- System.Drawing.Bitmap CreateViewImage(Vector3 camPos, Vector3 camDir, float fov, int width, int height);
+ System.Drawing.Bitmap CreateViewImage(Vector3 camPos, Vector3 camDir, float fov, int width, int height, bool useTextures);
byte[] WriteJpeg2000Image();
}
}
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
index 55be9ba..d4b7020 100644
--- a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
@@ -104,13 +104,13 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
}
public byte[] GenerateWorldView(Vector3 pos, Vector3 rot, float fov,
- int width, int height)
+ int width, int height, bool usetex)
{
if (!m_Enabled)
return new Byte[0];
Bitmap bmp = m_Generator.CreateViewImage(pos, rot, fov, width,
- height);
+ height, usetex);
MemoryStream str = new MemoryStream();
diff --git a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
index bfdcdb4..f47d9c7 100644
--- a/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
+++ b/OpenSim/Region/OptionalModules/World/WorldView/WorldViewRequestHandler.cs
@@ -96,6 +96,7 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
float fov;
int width;
int height;
+ bool usetex;
if (!request.ContainsKey("posX"))
return new Byte[0];
@@ -115,6 +116,8 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
return new Byte[0];
if (!request.ContainsKey("height"))
return new Byte[0];
+ if (!request.ContainsKey("usetex"))
+ return new Byte[0];
try
{
@@ -127,6 +130,7 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
fov = Convert.ToSingle(request["fov"]);
width = Convert.ToInt32(request["width"]);
height = Convert.ToInt32(request["height"]);
+ usetex = Convert.ToBoolean(request["usetex"]);
}
catch
{
@@ -137,7 +141,7 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
Vector3 rot = new Vector3(rotX, rotY, rotZ);
return m_WorldViewModule.GenerateWorldView(pos, rot, fov, width,
- height);
+ height, usetex);
}
}
}
--
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 ++++++++++++---
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 44 +++++-----------------
OpenSim/Region/Framework/Scenes/Scene.cs | 4 +-
.../Region/Framework/Scenes/SceneObjectGroup.cs | 8 +++-
.../Scenes/Tests/SceneObjectBasicTests.cs | 2 +-
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 2 +-
6 files changed, 45 insertions(+), 46 deletions(-)
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);
+ }
}
}
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 1bf6b87..4cc797b 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -1689,37 +1689,6 @@ namespace OpenSim.Region.Framework.Scenes
}
}
- ///
- /// Called when one or more objects are removed from the environment into inventory.
- ///
- ///
- ///
- ///
- ///
- ///
- public virtual void DeRezObject(IClientAPI remoteClient, List localIDs,
- UUID groupID, DeRezAction action, UUID destinationID)
- {
- foreach (uint localID in localIDs)
- {
- DeRezObject(remoteClient, localID, groupID, action, destinationID);
- }
- }
-
- ///
- /// Called when an object is removed from the environment into inventory.
- ///
- ///
- ///
- ///
- ///
- ///
- public virtual void DeRezObject(IClientAPI remoteClient, uint localID,
- UUID groupID, DeRezAction action, UUID destinationID)
- {
- DeRezObjects(remoteClient, new List() { localID }, groupID, action, destinationID);
- }
-
public virtual void DeRezObjects(IClientAPI remoteClient, List localIDs,
UUID groupID, DeRezAction action, UUID destinationID)
{
@@ -1990,14 +1959,19 @@ namespace OpenSim.Region.Framework.Scenes
return group;
}
- public virtual bool returnObjects(SceneObjectGroup[] returnobjects, UUID AgentId)
+ public virtual bool returnObjects(SceneObjectGroup[] returnobjects,
+ UUID AgentId)
{
+ List localIDs = new List();
+
foreach (SceneObjectGroup grp in returnobjects)
{
- AddReturn(grp.OwnerID, grp.Name, grp.AbsolutePosition, "parcel owner return");
- DeRezObject(null, grp.RootPart.LocalId,
- grp.RootPart.GroupID, DeRezAction.Return, UUID.Zero);
+ AddReturn(grp.OwnerID, grp.Name, grp.AbsolutePosition,
+ "parcel owner return");
+ localIDs.Add(grp.RootPart.LocalId);
}
+ DeRezObjects(null, localIDs, UUID.Zero, DeRezAction.Return,
+ UUID.Zero);
return true;
}
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index fe0ab5b..0cfc235 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2735,7 +2735,7 @@ namespace OpenSim.Region.Framework.Scenes
client.OnGrabUpdate += m_sceneGraph.MoveObject;
client.OnSpinStart += m_sceneGraph.SpinStart;
client.OnSpinUpdate += m_sceneGraph.SpinObject;
- client.OnDeRezObject += DeRezObject;
+ client.OnDeRezObject += DeRezObjects;
client.OnObjectName += m_sceneGraph.PrimName;
client.OnObjectClickAction += m_sceneGraph.PrimClickAction;
@@ -2864,7 +2864,7 @@ namespace OpenSim.Region.Framework.Scenes
client.OnGrabUpdate -= m_sceneGraph.MoveObject;
client.OnSpinStart -= m_sceneGraph.SpinStart;
client.OnSpinUpdate -= m_sceneGraph.SpinObject;
- client.OnDeRezObject -= DeRezObject;
+ client.OnDeRezObject -= DeRezObjects;
client.OnObjectName -= m_sceneGraph.PrimName;
client.OnObjectClickAction -= m_sceneGraph.PrimClickAction;
client.OnObjectMaterial -= m_sceneGraph.PrimMaterial;
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 5513584..f7a304f 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1291,6 +1291,8 @@ namespace OpenSim.Region.Framework.Scenes
ILandObject parcel = m_scene.LandChannel.GetLandObject(
m_rootPart.GroupPosition.X, m_rootPart.GroupPosition.Y);
+ List returns = new List();
+
if (parcel != null && parcel.LandData != null &&
parcel.LandData.OtherCleanTime != 0)
{
@@ -1304,13 +1306,15 @@ namespace OpenSim.Region.Framework.Scenes
DetachFromBackup();
m_log.InfoFormat("[SCENE]: Returning object {0} due to parcel auto return", RootPart.UUID.ToString());
m_scene.AddReturn(OwnerID, Name, AbsolutePosition, "parcel auto return");
- m_scene.DeRezObject(null, RootPart.LocalId,
- RootPart.GroupID, DeRezAction.Return, UUID.Zero);
+ returns.Add(RootPart.LocalId);
return;
}
}
}
+
+ m_scene.DeRezObjects(null, returns, UUID.Zero,
+ DeRezAction.Return, UUID.Zero);
}
if (HasGroupChanged)
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
index 5616a4e..4969b09 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
@@ -142,7 +142,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
SceneObjectPart part = SceneSetupHelpers.AddSceneObject(scene);
IClientAPI client = SceneSetupHelpers.AddRootAgent(scene, agentId);
- scene.DeRezObject(client, part.LocalId, UUID.Zero, DeRezAction.Delete, UUID.Zero);
+ scene.DeRezObjects(client, new System.Collections.Generic.List() { part.LocalId }, UUID.Zero, DeRezAction.Delete, UUID.Zero);
SceneObjectPart retrievedPart = scene.GetSceneObjectPart(part.LocalId);
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index fc9db03..9d7733e 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -556,7 +556,7 @@ namespace OpenSim.Tests.Common.Setup
AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter;
sogd.Enabled = false;
- scene.DeRezObject(client, part.LocalId, UUID.Zero, action, destinationId);
+ scene.DeRezObjects(client, new List() { part.LocalId }, UUID.Zero, action, destinationId);
sogd.InventoryDeQueueAndDelete();
}
}
--
cgit v1.1
From 9a5d0984a5d4d416cf2e8560648aa94de916ad20 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Thu, 7 Oct 2010 02:16:36 +0100
Subject: Fix autoreturn to not return zero objects
---
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index f7a304f..5f00f84 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1291,8 +1291,6 @@ namespace OpenSim.Region.Framework.Scenes
ILandObject parcel = m_scene.LandChannel.GetLandObject(
m_rootPart.GroupPosition.X, m_rootPart.GroupPosition.Y);
- List returns = new List();
-
if (parcel != null && parcel.LandData != null &&
parcel.LandData.OtherCleanTime != 0)
{
@@ -1306,15 +1304,13 @@ namespace OpenSim.Region.Framework.Scenes
DetachFromBackup();
m_log.InfoFormat("[SCENE]: Returning object {0} due to parcel auto return", RootPart.UUID.ToString());
m_scene.AddReturn(OwnerID, Name, AbsolutePosition, "parcel auto return");
- returns.Add(RootPart.LocalId);
+ m_scene.DeRezObjects(null, new List() { RootPart.LocalId }, UUID.Zero,
+ DeRezAction.Return, UUID.Zero);
return;
}
}
}
-
- m_scene.DeRezObjects(null, returns, UUID.Zero,
- DeRezAction.Return, UUID.Zero);
}
if (HasGroupChanged)
--
cgit v1.1
From 12bc6a7414068554c4499ef4d2100692f5c8c9ec Mon Sep 17 00:00:00 2001
From: Melanie
Date: Fri, 8 Oct 2010 03:08:05 +0100
Subject: Clarify the format comment at the top of OpenSim.ini.example
---
bin/OpenSim.ini.example | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 91f6068..62ce451 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -13,7 +13,10 @@
;; An empty question will set the default if the dependencies are
;; satisfied.
;;
-;; ; denotes a commented option. It is ignored.
+;; ; denotes a commented out option. Uncomment it to actvate it
+;; and change it to the desired value
+;; Any options added to OpenSim.ini.exmaple must be commented out,
+;; and their value must represent the default.
[Startup]
;# {save_crashes} {} {Save crashes to disk?} {true false} false
--
cgit v1.1
From 9391c3ffee4fb722657ebb064f8ba02f1d1f8802 Mon Sep 17 00:00:00 2001
From: dahlia
Date: Thu, 7 Oct 2010 19:34:46 -0700
Subject: add a flag in OpenSim.ini.example for enabling/disabling decoded
sculpt map caching for meshing
---
OpenSim/Region/Physics/Meshing/Meshmerizer.cs | 3 ++-
bin/OpenSim.ini.example | 8 ++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
index 20a5bb4..c97db8c 100644
--- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
+++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
@@ -81,7 +81,8 @@ namespace OpenSim.Region.Physics.Meshing
{
IConfig start_config = config.Configs["Startup"];
- decodedSculptMapPath = start_config.GetString("DecodedSculptMapPath","j2kDecodeCache");
+ decodedSculptMapPath = start_config.GetString("DecodedSculptMapPath","j2kDecodeCache");
+ cacheSculptMaps = start_config.GetBoolean("CacheSculptMaps", cacheSculptMaps);
try
{
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 1625de0..91f6068 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -130,6 +130,14 @@
;; Usually this is only a box.
; meshing = Meshmerizer
; meshing = ZeroMesher
+
+ ;# {CacheSculptMaps} {Cache decoded sculpt maps?} {true false} true
+ ;; if you use Meshmerizer and want sculpt map collisions, setting this to
+ ;; to true will store decoded sculpt maps in a special folder in your bin
+ ;; folder, which can reduce startup times by reducing asset requests. Some
+ ;; versions of mono dont work well when reading the cache files, so set this
+ ;; to false if you have compatability problems.
+ CacheSculptMaps = false
;; Choose one of the physics engines below
;; OpenDynamicsEngine is by some distance the most developed physics engine
--
cgit v1.1
From 0d9c94033d5180292bc8618b8b0f79a8531c3b8d Mon Sep 17 00:00:00 2001
From: dahlia
Date: Thu, 7 Oct 2010 19:48:17 -0700
Subject: move CacheSculptMaps ini flag to OpenSimDefaults.ini comment it and
change defailt to true to reflect code
---
bin/OpenSim.ini.example | 8 --------
bin/OpenSimDefaults.ini | 10 +++++++++-
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 91f6068..1625de0 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -130,14 +130,6 @@
;; Usually this is only a box.
; meshing = Meshmerizer
; meshing = ZeroMesher
-
- ;# {CacheSculptMaps} {Cache decoded sculpt maps?} {true false} true
- ;; if you use Meshmerizer and want sculpt map collisions, setting this to
- ;; to true will store decoded sculpt maps in a special folder in your bin
- ;; folder, which can reduce startup times by reducing asset requests. Some
- ;; versions of mono dont work well when reading the cache files, so set this
- ;; to false if you have compatability problems.
- CacheSculptMaps = false
;; Choose one of the physics engines below
;; OpenDynamicsEngine is by some distance the most developed physics engine
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini
index f939cc8..53d8ab7 100644
--- a/bin/OpenSimDefaults.ini
+++ b/bin/OpenSimDefaults.ini
@@ -139,7 +139,15 @@
;; Path to decoded sculpty maps
;; Defaults to "j2kDecodeCache
;DecodedSculptMapPath = "j2kDecodeCache"
-
+
+ ;# {CacheSculptMaps} {Cache decoded sculpt maps?} {true false} true
+ ;; if you use Meshmerizer and want sculpt map collisions, setting this to
+ ;; to true will store decoded sculpt maps in a special folder in your bin
+ ;; folder, which can reduce startup times by reducing asset requests. Some
+ ;; versions of mono dont work well when reading the cache files, so set this
+ ;; to false if you have compatability problems.
+ ; CacheSculptMaps = true
+
; Choose one of the physics engines below
; OpenDynamicsEngine is by some distance the most developed physics engine
; basicphysics effectively does not model physics at all, making all objects phantom
--
cgit v1.1