From 490ac0be005a989c86ebde62aad137fd2da7cbd8 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Mon, 8 Sep 2008 02:40:20 +0000 Subject: Implement proper persistence of the following prim properties: Floating text, Rotation, Texture animation, Particle System This will make "Eye Candy" scripts work without modification in XEngine. The use of the CHANGED_REGION_RESTART hack is no longer needed. Implemented in MySQL only, hovertext also in SQLite. --- OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 4 ++++ OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/Environment') diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 80db10d..3c34f73 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -1131,6 +1131,10 @@ namespace OpenSim.Region.Environment.Scenes Name, UUID, m_scene.RegionInfo.RegionName); SceneObjectGroup backup_group = Copy(OwnerID, GroupID, false); + backup_group.RootPart.Velocity = RootPart.Velocity; + backup_group.RootPart.Acceleration = RootPart.Acceleration; + backup_group.RootPart.AngularVelocity = RootPart.AngularVelocity; + backup_group.RootPart.ParticleSystem = RootPart.ParticleSystem; datastore.StoreObject(backup_group, m_scene.RegionInfo.RegionID); HasGroupChanged = false; diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index f8e8c9f..292a5c6 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs @@ -433,6 +433,13 @@ namespace OpenSim.Region.Environment.Scenes set { m_TextureAnimation = value; } } + [XmlIgnore] + public Byte[] ParticleSystem + { + get { return m_particleSystem; } + set { m_particleSystem = value; } + } + public Vector3 GroupPosition { get @@ -1212,9 +1219,9 @@ namespace OpenSim.Region.Environment.Scenes dupe.GroupPosition = GroupPosition; dupe.OffsetPosition = OffsetPosition; dupe.RotationOffset = RotationOffset; - dupe.Velocity = Vector3.Zero; - dupe.Acceleration = Vector3.Zero; - dupe.AngularVelocity = Vector3.Zero; + dupe.Velocity = new Vector3(0, 0, 0); + dupe.Acceleration = new Vector3(0, 0, 0); + dupe.AngularVelocity = new Vector3(0, 0, 0); dupe.ObjectFlags = ObjectFlags; dupe._ownershipCost = _ownershipCost; -- cgit v1.1