diff options
author | Adam Johnson | 2007-12-28 08:51:39 +0000 |
---|---|---|
committer | Adam Johnson | 2007-12-28 08:51:39 +0000 |
commit | 79496381fc68cbd30ff5a95d1f05fcb18c6b1a93 (patch) | |
tree | 036414391293354da62fe9eac1895483111480a3 /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |
parent | * Moved PrimitiveBaseShape subclasses into factory methods - the subclassing ... (diff) | |
download | opensim-SC_OLD-79496381fc68cbd30ff5a95d1f05fcb18c6b1a93.zip opensim-SC_OLD-79496381fc68cbd30ff5a95d1f05fcb18c6b1a93.tar.gz opensim-SC_OLD-79496381fc68cbd30ff5a95d1f05fcb18c6b1a93.tar.bz2 opensim-SC_OLD-79496381fc68cbd30ff5a95d1f05fcb18c6b1a93.tar.xz |
Patch from Johan: LibSL updated to the latest revision (1568) and all packets are now
recycled to improve performance and memory usage.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 5b74c9b..94b6797 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -74,13 +74,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
74 | { | 74 | { |
75 | get { return m_rootPart.RotationOffset; } | 75 | get { return m_rootPart.RotationOffset; } |
76 | } | 76 | } |
77 | |||
78 | public LLUUID GroupID | 77 | public LLUUID GroupID |
79 | { | 78 | { |
80 | get { return m_rootPart.GroupID; } | 79 | get { return m_rootPart.GroupID; } |
81 | set { m_rootPart.GroupID = value; } | 80 | set { m_rootPart.GroupID = value; } |
82 | } | 81 | } |
83 | |||
84 | /// <summary> | 82 | /// <summary> |
85 | /// | 83 | /// |
86 | /// </summary> | 84 | /// </summary> |
@@ -638,7 +636,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
638 | public void ServiceObjectPropertiesFamilyRequest(IClientAPI remoteClient, LLUUID AgentID, uint RequestFlags) | 636 | public void ServiceObjectPropertiesFamilyRequest(IClientAPI remoteClient, LLUUID AgentID, uint RequestFlags) |
639 | { | 637 | { |
640 | //RootPart.ServiceObjectPropertiesFamilyRequest(remoteClient, AgentID, RequestFlags); | 638 | //RootPart.ServiceObjectPropertiesFamilyRequest(remoteClient, AgentID, RequestFlags); |
641 | ObjectPropertiesFamilyPacket objPropFamilyPack = new ObjectPropertiesFamilyPacket(); | 639 | ObjectPropertiesFamilyPacket objPropFamilyPack = (ObjectPropertiesFamilyPacket) PacketPool.Instance.GetPacket(PacketType.ObjectPropertiesFamily); |
640 | // TODO: don't create new blocks if recycling an old packet | ||
641 | |||
642 | ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock(); | 642 | ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock(); |
643 | objPropDB.RequestFlags = RequestFlags; | 643 | objPropDB.RequestFlags = RequestFlags; |
644 | objPropDB.ObjectID = RootPart.UUID; | 644 | objPropDB.ObjectID = RootPart.UUID; |
@@ -1045,7 +1045,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
1045 | /// <param name="client"></param> | 1045 | /// <param name="client"></param> |
1046 | public void GetProperites(IClientAPI client) | 1046 | public void GetProperites(IClientAPI client) |
1047 | { | 1047 | { |
1048 | ObjectPropertiesPacket proper = new ObjectPropertiesPacket(); | 1048 | ObjectPropertiesPacket proper = (ObjectPropertiesPacket) PacketPool.Instance.GetPacket(PacketType.ObjectProperties); |
1049 | // TODO: don't create new blocks if recycling an old packet | ||
1050 | |||
1049 | proper.ObjectData = new ObjectPropertiesPacket.ObjectDataBlock[1]; | 1051 | proper.ObjectData = new ObjectPropertiesPacket.ObjectDataBlock[1]; |
1050 | proper.ObjectData[0] = new ObjectPropertiesPacket.ObjectDataBlock(); | 1052 | proper.ObjectData[0] = new ObjectPropertiesPacket.ObjectDataBlock(); |
1051 | proper.ObjectData[0].ItemID = LLUUID.Zero; | 1053 | proper.ObjectData[0].ItemID = LLUUID.Zero; |
@@ -1297,6 +1299,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1297 | m_rootPart.PhysActor.IsPhysical); | 1299 | m_rootPart.PhysActor.IsPhysical); |
1298 | bool UsePhysics = ((m_rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Physics) != 0); | 1300 | bool UsePhysics = ((m_rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Physics) != 0); |
1299 | m_rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); | 1301 | m_rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); |
1302 | |||
1300 | } | 1303 | } |
1301 | } | 1304 | } |
1302 | 1305 | ||
@@ -1737,4 +1740,4 @@ namespace OpenSim.Region.Environment.Scenes | |||
1737 | m_rootPart.ApplyPhysics(); | 1740 | m_rootPart.ApplyPhysics(); |
1738 | } | 1741 | } |
1739 | } | 1742 | } |
1740 | } \ No newline at end of file | 1743 | } |