From 5e4d6cab00cb29cd088ab7b62ab13aff103b64cb Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 19 May 2019 21:24:15 +1000 Subject: Dump OpenSim 0.9.0.1 into it's own branch. --- .../World/Vegetation/VegetationModule.cs | 25 +++++++++++----------- 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'OpenSim/Region/CoreModules/World/Vegetation') diff --git a/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs b/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs index 3f5d375..4cee7a5 100644 --- a/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs +++ b/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs @@ -39,14 +39,14 @@ namespace OpenSim.Region.CoreModules.World.Vegetation { [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "VegetationModule")] public class VegetationModule : INonSharedRegionModule, IVegetationModule - { + { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - + protected Scene m_scene; - + protected static readonly PCode[] creationCapabilities = new PCode[] { PCode.Grass, PCode.NewTree, PCode.Tree }; public PCode[] CreationCapabilities { get { return creationCapabilities; } } - + public void Initialise(IConfigSource source) { } @@ -83,10 +83,10 @@ namespace OpenSim.Region.CoreModules.World.Vegetation treeShape.PCode = newTree ? (byte)PCode.NewTree : (byte)PCode.Tree; treeShape.Scale = scale; treeShape.State = (byte)treeType; - + return m_scene.AddNewPrim(uuid, groupID, position, rotation, treeShape); } - + public SceneObjectGroup CreateEntity( UUID ownerID, UUID groupID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape) { @@ -95,22 +95,23 @@ namespace OpenSim.Region.CoreModules.World.Vegetation m_log.DebugFormat("[VEGETATION]: PCode {0} not handled by {1}", shape.PCode, Name); return null; } - + SceneObjectGroup sceneObject = new SceneObjectGroup(ownerID, pos, rot, shape); SceneObjectPart rootPart = sceneObject.GetPart(sceneObject.UUID); - + // if grass or tree, make phantom //rootPart.TrimPermissions(); rootPart.AddFlag(PrimFlags.Phantom); if (rootPart.Shape.PCode != (byte)PCode.Grass) AdaptTree(ref shape); - - m_scene.AddNewSceneObject(sceneObject, true); + sceneObject.SetGroup(groupID, null); - + m_scene.AddNewSceneObject(sceneObject, true); + sceneObject.InvalidateDeepEffectivePerms(); + return sceneObject; } - + protected void AdaptTree(ref PrimitiveBaseShape tree) { // Tree size has to be adapted depending on its type -- cgit v1.1