From 5225e40f9e2cfdbc5a14099f45e794ed208838f5 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Wed, 1 Apr 2009 05:58:07 +0000 Subject: [PATCH] * Removes some hard-coded magic numbers relating to RegionSize. We now use Constants.RegionSize as expected. (Working towards enlarged or smaller regionsizes that arent multiples of 256m) * Adds minor functionality to MRM Scripting. --- OpenSim/Data/NHibernate/Terrain.cs | 12 ++--- OpenSim/Data/Tests/BasicRegionTest.cs | 10 ++-- .../Scripting/Minimodule/IObject.cs | 6 ++- .../Scripting/Minimodule/SOPObject.cs | 51 +++++++++---------- 4 files changed, 39 insertions(+), 40 deletions(-) diff --git a/OpenSim/Data/NHibernate/Terrain.cs b/OpenSim/Data/NHibernate/Terrain.cs index 292b3b4749..bd6f992759 100644 --- a/OpenSim/Data/NHibernate/Terrain.cs +++ b/OpenSim/Data/NHibernate/Terrain.cs @@ -74,15 +74,15 @@ namespace OpenSim.Data.NHibernate private static double[,] parseTerrain(byte[] data) { - double[,] terret = new double[256,256]; + double[,] terret = new double[Constants.RegionSize, Constants.RegionSize]; terret.Initialize(); MemoryStream str = new MemoryStream(data); BinaryReader br = new BinaryReader(str); try { - for (int x = 0; x < 256; x++) + for (int x = 0; x < Constants.RegionSize; x++) { - for (int y = 0; y < 256; y++) + for (int y = 0; y < Constants.RegionSize; y++) { terret[x, y] = br.ReadDouble(); } @@ -97,13 +97,13 @@ namespace OpenSim.Data.NHibernate private static byte[] serializeTerrain(double[,] val) { - MemoryStream str = new MemoryStream((int)(65536 * sizeof (double))); + MemoryStream str = new MemoryStream((int) ((Constants.RegionSize*Constants.RegionSize)*sizeof (double))); BinaryWriter bw = new BinaryWriter(str); // TODO: COMPATIBILITY - Add byte-order conversions - for (int x = 0; x < 256; x++) + for (int x = 0; x < Constants.RegionSize; x++) { - for (int y = 0; y < 256; y++) + for (int y = 0; y < Constants.RegionSize; y++) { double height = val[x, y]; if (height <= 0.0) diff --git a/OpenSim/Data/Tests/BasicRegionTest.cs b/OpenSim/Data/Tests/BasicRegionTest.cs index 179692adc1..e7ce8afea2 100644 --- a/OpenSim/Data/Tests/BasicRegionTest.cs +++ b/OpenSim/Data/Tests/BasicRegionTest.cs @@ -882,10 +882,10 @@ namespace OpenSim.Data.Tests private double[,] GenTerrain(double value) { - double[,] terret = new double[256,256]; + double[,] terret = new double[Constants.RegionSize, Constants.RegionSize]; terret.Initialize(); - for (int x = 0; x < 256; x++) - for (int y = 0; y < 256; y++) + for (int x = 0; x < Constants.RegionSize; x++) + for (int y = 0; y < Constants.RegionSize; y++) terret[x,y] = value; return terret; @@ -893,8 +893,8 @@ namespace OpenSim.Data.Tests private bool CompareTerrain(double[,] one, double[,] two) { - for (int x = 0; x < 256; x++) - for (int y = 0; y < 256; y++) + for (int x = 0; x < Constants.RegionSize; x++) + for (int y = 0; y < Constants.RegionSize; y++) if (one[x,y] != two[x,y]) return false; diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs index 1ccc8a4d1d..c7f9569bf7 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) Contributors, http://opensimulator.org/ * See CONTRIBUTORS.TXT for a full list of copyright holders. * @@ -37,6 +37,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule uint LocalID { get; } UUID GlobalID { get; } + String Name { get; set; } + String Description { get; set; } + IObject[] Children { get; } /// @@ -48,6 +51,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule Vector3 Scale { get; set; } Quaternion Rotation { get; set; } + Vector3 Position { get; set; } Vector3 SitTarget { get; set; } String SitTargetText { get; set; } diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs index e1b9f3e3a1..538a496d74 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs @@ -1,31 +1,4 @@ -/* - * 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.Collections.Generic; +using System.Collections.Generic; using OpenMetaverse; using OpenSim.Framework; using OpenSim.Region.Framework.Scenes; @@ -71,6 +44,18 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule get { return GetSOP().UUID; } } + public string Name + { + get { return GetSOP().Name; } + set { GetSOP().Name = value; } + } + + public string Description + { + get { return GetSOP().Description; } + set { GetSOP().Description = value; } + } + public IObject[] Children { get @@ -123,6 +108,16 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule set { throw new System.NotImplementedException(); } } + public Vector3 Position + { + get { return GetSOP().AbsolutePosition; } + set + { + SceneObjectPart pos = GetSOP(); + pos.UpdateOffSet(value - pos.AbsolutePosition); + } + } + public Vector3 SitTarget { get { throw new System.NotImplementedException(); }