diff options
author | Melanie Thielker | 2008-09-08 02:40:20 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-09-08 02:40:20 +0000 |
commit | 490ac0be005a989c86ebde62aad137fd2da7cbd8 (patch) | |
tree | 0bd15a47dea6d2dea470d50779603970a0493fd9 /OpenSim/Region/Environment | |
parent | Implement llEjectFromLand. (diff) | |
download | opensim-SC_OLD-490ac0be005a989c86ebde62aad137fd2da7cbd8.zip opensim-SC_OLD-490ac0be005a989c86ebde62aad137fd2da7cbd8.tar.gz opensim-SC_OLD-490ac0be005a989c86ebde62aad137fd2da7cbd8.tar.bz2 opensim-SC_OLD-490ac0be005a989c86ebde62aad137fd2da7cbd8.tar.xz |
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.
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 13 |
2 files changed, 14 insertions, 3 deletions
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 | |||
1131 | Name, UUID, m_scene.RegionInfo.RegionName); | 1131 | Name, UUID, m_scene.RegionInfo.RegionName); |
1132 | 1132 | ||
1133 | SceneObjectGroup backup_group = Copy(OwnerID, GroupID, false); | 1133 | SceneObjectGroup backup_group = Copy(OwnerID, GroupID, false); |
1134 | backup_group.RootPart.Velocity = RootPart.Velocity; | ||
1135 | backup_group.RootPart.Acceleration = RootPart.Acceleration; | ||
1136 | backup_group.RootPart.AngularVelocity = RootPart.AngularVelocity; | ||
1137 | backup_group.RootPart.ParticleSystem = RootPart.ParticleSystem; | ||
1134 | 1138 | ||
1135 | datastore.StoreObject(backup_group, m_scene.RegionInfo.RegionID); | 1139 | datastore.StoreObject(backup_group, m_scene.RegionInfo.RegionID); |
1136 | HasGroupChanged = false; | 1140 | 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 | |||
433 | set { m_TextureAnimation = value; } | 433 | set { m_TextureAnimation = value; } |
434 | } | 434 | } |
435 | 435 | ||
436 | [XmlIgnore] | ||
437 | public Byte[] ParticleSystem | ||
438 | { | ||
439 | get { return m_particleSystem; } | ||
440 | set { m_particleSystem = value; } | ||
441 | } | ||
442 | |||
436 | public Vector3 GroupPosition | 443 | public Vector3 GroupPosition |
437 | { | 444 | { |
438 | get | 445 | get |
@@ -1212,9 +1219,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
1212 | dupe.GroupPosition = GroupPosition; | 1219 | dupe.GroupPosition = GroupPosition; |
1213 | dupe.OffsetPosition = OffsetPosition; | 1220 | dupe.OffsetPosition = OffsetPosition; |
1214 | dupe.RotationOffset = RotationOffset; | 1221 | dupe.RotationOffset = RotationOffset; |
1215 | dupe.Velocity = Vector3.Zero; | 1222 | dupe.Velocity = new Vector3(0, 0, 0); |
1216 | dupe.Acceleration = Vector3.Zero; | 1223 | dupe.Acceleration = new Vector3(0, 0, 0); |
1217 | dupe.AngularVelocity = Vector3.Zero; | 1224 | dupe.AngularVelocity = new Vector3(0, 0, 0); |
1218 | dupe.ObjectFlags = ObjectFlags; | 1225 | dupe.ObjectFlags = ObjectFlags; |
1219 | 1226 | ||
1220 | dupe._ownershipCost = _ownershipCost; | 1227 | dupe._ownershipCost = _ownershipCost; |