Make newly created prims be the correct group

0.6.1-post-fixes
Melanie Thielker 2008-11-17 23:43:46 +00:00
parent ece27a3631
commit 2b8915d679
6 changed files with 11 additions and 10 deletions

View File

@ -198,7 +198,7 @@ namespace OpenSim.Framework
public delegate void UUIDNameRequest(UUID id, IClientAPI remote_client); public delegate void UUIDNameRequest(UUID id, IClientAPI remote_client);
public delegate void AddNewPrim( public delegate void AddNewPrim(
UUID ownerID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart, UUID ownerID, UUID groupID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart,
UUID RayTargetID, UUID RayTargetID,
byte RayEndIsIntersection); byte RayEndIsIntersection);

View File

@ -4515,7 +4515,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
handlerAddPrim = OnAddPrim; handlerAddPrim = OnAddPrim;
if (handlerAddPrim != null) if (handlerAddPrim != null)
handlerAddPrim(AgentId, addPacket.ObjectData.RayEnd, addPacket.ObjectData.Rotation, shape, addPacket.ObjectData.BypassRaycast, addPacket.ObjectData.RayStart, addPacket.ObjectData.RayTargetID, addPacket.ObjectData.RayEndIsIntersection); handlerAddPrim(AgentId, ActiveGroupId, addPacket.ObjectData.RayEnd, addPacket.ObjectData.Rotation, shape, addPacket.ObjectData.BypassRaycast, addPacket.ObjectData.RayStart, addPacket.ObjectData.RayTargetID, addPacket.ObjectData.RayEndIsIntersection);
} }
break; break;
case PacketType.ObjectShape: case PacketType.ObjectShape:

View File

@ -61,7 +61,7 @@ namespace OpenSim.Region.DataSnapshot.Providers
//Detect object data changes by hooking into the IClientAPI. //Detect object data changes by hooking into the IClientAPI.
//Very dirty, and breaks whenever someone changes the client API. //Very dirty, and breaks whenever someone changes the client API.
client.OnAddPrim += delegate (UUID ownerID, Vector3 RayEnd, Quaternion rot, client.OnAddPrim += delegate (UUID ownerID, UUID groupID, Vector3 RayEnd, Quaternion rot,
PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart, UUID RayTargetID, PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart, UUID RayTargetID,
byte RayEndIsIntersection) { this.Stale = true; }; byte RayEndIsIntersection) { this.Stale = true; };
client.OnLinkObjects += delegate (IClientAPI remoteClient, uint parent, List<uint> children) client.OnLinkObjects += delegate (IClientAPI remoteClient, uint parent, List<uint> children)

View File

@ -468,7 +468,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
m_log.Debug("[CONTENT MANAGEMENT]scale"); m_log.Debug("[CONTENT MANAGEMENT]scale");
} }
protected void UpdateNewParts(UUID ownerID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, protected void UpdateNewParts(UUID ownerID, UUID groupID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape,
byte bypassRaycast, Vector3 RayStart, UUID RayTargetID, byte bypassRaycast, Vector3 RayStart, UUID RayTargetID,
byte RayEndIsIntersection) byte RayEndIsIntersection)
{ {

View File

@ -234,7 +234,7 @@ namespace OpenSim.Region.Environment.Modules.World.TreePopulator
position.Z = (float) m_scene.Heightmap[(int) position.X, (int) position.Y]; position.Z = (float) m_scene.Heightmap[(int) position.X, (int) position.Y];
SceneObjectGroup tree = SceneObjectGroup tree =
m_scene.AddTree(uuid, new Vector3(0.1f, 0.1f, 0.1f), m_scene.AddTree(uuid, UUID.Zero, new Vector3(0.1f, 0.1f, 0.1f),
Quaternion.Identity, Quaternion.Identity,
position, position,
Tree.Cypress1, Tree.Cypress1,

View File

@ -1738,7 +1738,7 @@ namespace OpenSim.Region.Environment.Scenes
} }
} }
public virtual void AddNewPrim(UUID ownerID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, public virtual void AddNewPrim(UUID ownerID, UUID groupID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape,
byte bypassRaycast, Vector3 RayStart, UUID RayTargetID, byte bypassRaycast, Vector3 RayStart, UUID RayTargetID,
byte RayEndIsIntersection) byte RayEndIsIntersection)
{ {
@ -1749,11 +1749,11 @@ namespace OpenSim.Region.Environment.Scenes
// rez ON the ground, not IN the ground // rez ON the ground, not IN the ground
pos.Z += 0.25F; pos.Z += 0.25F;
AddNewPrim(ownerID, pos, rot, shape); AddNewPrim(ownerID, groupID, pos, rot, shape);
} }
} }
public virtual SceneObjectGroup AddNewPrim(UUID ownerID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape) public virtual SceneObjectGroup AddNewPrim(UUID ownerID, UUID groupID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape)
{ {
//m_log.DebugFormat( //m_log.DebugFormat(
// "[SCENE]: Scene.AddNewPrim() called for agent {0} in {1}", ownerID, RegionInfo.RegionName); // "[SCENE]: Scene.AddNewPrim() called for agent {0} in {1}", ownerID, RegionInfo.RegionName);
@ -1772,6 +1772,7 @@ namespace OpenSim.Region.Environment.Scenes
AdaptTree(ref shape); AdaptTree(ref shape);
} }
sceneObject.SetGroup(groupID, null);
AddNewSceneObject(sceneObject, true); AddNewSceneObject(sceneObject, true);
return sceneObject; return sceneObject;
@ -1797,7 +1798,7 @@ namespace OpenSim.Region.Environment.Scenes
} }
} }
public SceneObjectGroup AddTree(UUID uuid, Vector3 scale, Quaternion rotation, Vector3 position, public SceneObjectGroup AddTree(UUID uuid, UUID groupID, Vector3 scale, Quaternion rotation, Vector3 position,
Tree treeType, bool newTree) Tree treeType, bool newTree)
{ {
PrimitiveBaseShape treeShape = new PrimitiveBaseShape(); PrimitiveBaseShape treeShape = new PrimitiveBaseShape();
@ -1806,7 +1807,7 @@ namespace OpenSim.Region.Environment.Scenes
treeShape.PCode = newTree ? (byte)PCode.NewTree : (byte)PCode.Tree; treeShape.PCode = newTree ? (byte)PCode.NewTree : (byte)PCode.Tree;
treeShape.Scale = scale; treeShape.Scale = scale;
treeShape.State = (byte)treeType; treeShape.State = (byte)treeType;
return AddNewPrim(uuid, position, rotation, treeShape); return AddNewPrim(uuid, groupID, position, rotation, treeShape);
} }
/// <summary> /// <summary>