diff options
4 files changed, 23 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index 3f90723..f0f73b0 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | |||
@@ -270,6 +270,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
270 | remoteClient.SendInventoryItemUpdate(item); | 270 | remoteClient.SendInventoryItemUpdate(item); |
271 | } | 271 | } |
272 | 272 | ||
273 | storageManager.DataStore.RemoveObject(((SceneObjectGroup)selectedEnt).UUID); | ||
273 | ((SceneObjectGroup)selectedEnt).DeleteGroup(); | 274 | ((SceneObjectGroup)selectedEnt).DeleteGroup(); |
274 | 275 | ||
275 | lock (Entities) | 276 | lock (Entities) |
@@ -318,7 +319,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
318 | { | 319 | { |
319 | SceneObjectGroup group = new SceneObjectGroup(this, this.m_regionHandle, xmlData); | 320 | SceneObjectGroup group = new SceneObjectGroup(this, this.m_regionHandle, xmlData); |
320 | this.AddEntity(group); | 321 | this.AddEntity(group); |
321 | group.Pos = pos; | 322 | group.AbsolutePosition = pos; |
322 | } | 323 | } |
323 | 324 | ||
324 | /// <summary> | 325 | /// <summary> |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index a5ad2e6..ec62509 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -35,12 +35,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
35 | get { return 1; } | 35 | get { return 1; } |
36 | } | 36 | } |
37 | 37 | ||
38 | public LLQuaternion Rotation | 38 | public LLQuaternion GroupRotation |
39 | { | 39 | { |
40 | get { return m_rootPart.RotationOffset; } | 40 | get { return m_rootPart.RotationOffset; } |
41 | } | 41 | } |
42 | 42 | ||
43 | |||
44 | /// <summary> | 43 | /// <summary> |
45 | /// | 44 | /// |
46 | /// </summary> | 45 | /// </summary> |
@@ -538,7 +537,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
538 | SceneObjectPart part = this.GetChildPrim(localID); | 537 | SceneObjectPart part = this.GetChildPrim(localID); |
539 | if (part != null) | 538 | if (part != null) |
540 | { | 539 | { |
541 | return part.PartName; | 540 | return part.Name; |
542 | } | 541 | } |
543 | return ""; | 542 | return ""; |
544 | } | 543 | } |
diff --git a/OpenSim/Region/Examples/SimpleApp/ComplexObject.cs b/OpenSim/Region/Examples/SimpleApp/ComplexObject.cs index 9276212..01af4f0 100644 --- a/OpenSim/Region/Examples/SimpleApp/ComplexObject.cs +++ b/OpenSim/Region/Examples/SimpleApp/ComplexObject.cs | |||
@@ -31,7 +31,7 @@ namespace SimpleApp | |||
31 | 31 | ||
32 | public override void UpdateMovement() | 32 | public override void UpdateMovement() |
33 | { | 33 | { |
34 | UpdateGroupRotation(Rotation * m_rotationDirection); | 34 | UpdateGroupRotation(GroupRotation * m_rotationDirection); |
35 | 35 | ||
36 | base.UpdateMovement(); | 36 | base.UpdateMovement(); |
37 | } | 37 | } |
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs index b5e9e1c..6f12c47 100644 --- a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs +++ b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs | |||
@@ -475,7 +475,24 @@ namespace OpenSim.DataStore.MonoSqliteStorage | |||
475 | 475 | ||
476 | public void RemoveObject(LLUUID obj) | 476 | public void RemoveObject(LLUUID obj) |
477 | { | 477 | { |
478 | // TODO: remove code | 478 | DataTable prims = ds.Tables["prims"]; |
479 | DataTable shapes = ds.Tables["primshapes"]; | ||
480 | |||
481 | string selectExp = "SceneGroupID = '" + obj.ToString() + "'"; | ||
482 | DataRow[] primRows = prims.Select(selectExp); | ||
483 | foreach (DataRow row in primRows) | ||
484 | { | ||
485 | LLUUID uuid = new LLUUID((string)row["UUID"]); | ||
486 | DataRow shapeRow = shapes.Rows.Find(uuid); | ||
487 | if (shapeRow != null) | ||
488 | { | ||
489 | shapeRow.Delete(); | ||
490 | } | ||
491 | row.Delete(); | ||
492 | } | ||
493 | |||
494 | primDa.Update(ds, "prims"); | ||
495 | shapeDa.Update(ds, "primshapes"); | ||
479 | } | 496 | } |
480 | 497 | ||
481 | public List<SceneObjectGroup> LoadObjects() | 498 | public List<SceneObjectGroup> LoadObjects() |