diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/UndoState.cs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/UndoState.cs b/OpenSim/Region/Framework/Scenes/UndoState.cs index ad05351..f9601e6 100644 --- a/OpenSim/Region/Framework/Scenes/UndoState.cs +++ b/OpenSim/Region/Framework/Scenes/UndoState.cs | |||
@@ -68,7 +68,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
68 | //FUBAR WARNING: Do NOT get the group's absoluteposition here | 68 | //FUBAR WARNING: Do NOT get the group's absoluteposition here |
69 | //or you'll experience a loop and/or a stack issue | 69 | //or you'll experience a loop and/or a stack issue |
70 | GroupPosition = part.ParentGroup.RootPart.AbsolutePosition; | 70 | GroupPosition = part.ParentGroup.RootPart.AbsolutePosition; |
71 | GroupRotation = part.ParentGroup.Rotation; | 71 | GroupRotation = part.ParentGroup.GroupRotation; |
72 | Position = part.ParentGroup.RootPart.AbsolutePosition; | 72 | Position = part.ParentGroup.RootPart.AbsolutePosition; |
73 | Rotation = part.RotationOffset; | 73 | Rotation = part.RotationOffset; |
74 | Scale = part.Shape.Scale; | 74 | Scale = part.Shape.Scale; |
@@ -98,7 +98,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
98 | } | 98 | } |
99 | if ((Type & UndoType.STATE_GROUP_SCALE) == 0 || ((last.Type & UndoType.STATE_GROUP_SCALE) >= (Type & UndoType.STATE_GROUP_SCALE))) | 99 | if ((Type & UndoType.STATE_GROUP_SCALE) == 0 || ((last.Type & UndoType.STATE_GROUP_SCALE) >= (Type & UndoType.STATE_GROUP_SCALE))) |
100 | { | 100 | { |
101 | Console.WriteLine("Setting groupscale to " + last.GroupScale.ToString()); | ||
102 | GroupScale = last.GroupScale; | 101 | GroupScale = last.GroupScale; |
103 | Scale = last.Scale; | 102 | Scale = last.Scale; |
104 | } | 103 | } |
@@ -184,7 +183,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
184 | if (GroupChange) | 183 | if (GroupChange) |
185 | { | 184 | { |
186 | part.ParentGroup.RootPart.Undoing = true; | 185 | part.ParentGroup.RootPart.Undoing = true; |
187 | if (Position != Vector3.Zero) | 186 | if (GroupPosition != Vector3.Zero) |
188 | { | 187 | { |
189 | //Calculate the scale... | 188 | //Calculate the scale... |
190 | Vector3 gs = part.Shape.Scale; | 189 | Vector3 gs = part.Shape.Scale; |
@@ -193,7 +192,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
193 | //Scale first since it can affect our position | 192 | //Scale first since it can affect our position |
194 | part.ParentGroup.GroupResize(gs * scale, part.LocalId); | 193 | part.ParentGroup.GroupResize(gs * scale, part.LocalId); |
195 | part.ParentGroup.AbsolutePosition = GroupPosition; | 194 | part.ParentGroup.AbsolutePosition = GroupPosition; |
196 | part.ParentGroup.Rotation = GroupRotation; | 195 | part.ParentGroup.UpdateGroupRotationR(GroupRotation); |
197 | 196 | ||
198 | } | 197 | } |
199 | part.ParentGroup.RootPart.Undoing = false; | 198 | part.ParentGroup.RootPart.Undoing = false; |