diff options
author | Charles Krinke | 2008-04-19 21:01:26 +0000 |
---|---|---|
committer | Charles Krinke | 2008-04-19 21:01:26 +0000 |
commit | 6865f1c67d8f4b6fa44ddd9f3040a29e9e180950 (patch) | |
tree | 5f8b65c2abac19e736c103b2773d5dc236e59d7d /OpenSim/Region/ClientStack/ClientView.cs | |
parent | * Fix build break in previous revision (diff) | |
download | opensim-SC-6865f1c67d8f4b6fa44ddd9f3040a29e9e180950.zip opensim-SC-6865f1c67d8f4b6fa44ddd9f3040a29e9e180950.tar.gz opensim-SC-6865f1c67d8f4b6fa44ddd9f3040a29e9e180950.tar.bz2 opensim-SC-6865f1c67d8f4b6fa44ddd9f3040a29e9e180950.tar.xz |
Thank you kindly krtaylor for a patch to solve:
Linked objects won't scale together properly, only the root object scales.
This happens with scaling both up and down or inputting numbers in the edit dialog.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 89b0400..292f7f6 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -222,6 +222,7 @@ namespace OpenSim.Region.ClientStack | |||
222 | private UpdateVector handlerUpdatePrimSinglePosition = null; //OnUpdatePrimSinglePosition; | 222 | private UpdateVector handlerUpdatePrimSinglePosition = null; //OnUpdatePrimSinglePosition; |
223 | private UpdatePrimSingleRotation handlerUpdatePrimSingleRotation = null; //OnUpdatePrimSingleRotation; | 223 | private UpdatePrimSingleRotation handlerUpdatePrimSingleRotation = null; //OnUpdatePrimSingleRotation; |
224 | private UpdateVector handlerUpdatePrimScale = null; //OnUpdatePrimScale; | 224 | private UpdateVector handlerUpdatePrimScale = null; //OnUpdatePrimScale; |
225 | private UpdateVector handlerUpdatePrimGroupScale = null; //OnUpdateGroupScale; | ||
225 | private UpdateVector handlerUpdateVector = null; //OnUpdatePrimGroupPosition; | 226 | private UpdateVector handlerUpdateVector = null; //OnUpdatePrimGroupPosition; |
226 | private UpdatePrimRotation handlerUpdatePrimRotation = null; //OnUpdatePrimGroupRotation; | 227 | private UpdatePrimRotation handlerUpdatePrimRotation = null; //OnUpdatePrimGroupRotation; |
227 | private UpdatePrimGroupRotation handlerUpdatePrimGroupRotation = null; //OnUpdatePrimGroupMouseRotation; | 228 | private UpdatePrimGroupRotation handlerUpdatePrimGroupRotation = null; //OnUpdatePrimGroupMouseRotation; |
@@ -712,6 +713,7 @@ namespace OpenSim.Region.ClientStack | |||
712 | public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation; | 713 | public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation; |
713 | public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation; | 714 | public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation; |
714 | public event UpdateVector OnUpdatePrimScale; | 715 | public event UpdateVector OnUpdatePrimScale; |
716 | public event UpdateVector OnUpdatePrimGroupScale; | ||
715 | public event StatusChange OnChildAgentStatus; | 717 | public event StatusChange OnChildAgentStatus; |
716 | public event GenericCall2 OnStopMovement; | 718 | public event GenericCall2 OnStopMovement; |
717 | public event Action<LLUUID> OnRemoveAvatar; | 719 | public event Action<LLUUID> OnRemoveAvatar; |
@@ -2590,6 +2592,7 @@ namespace OpenSim.Region.ClientStack | |||
2590 | case 5: | 2592 | case 5: |
2591 | 2593 | ||
2592 | LLVector3 scale1 = new LLVector3(block.Data, 12); | 2594 | LLVector3 scale1 = new LLVector3(block.Data, 12); |
2595 | LLVector3 pos11 = new LLVector3(block.Data, 0); | ||
2593 | 2596 | ||
2594 | handlerUpdatePrimScale = OnUpdatePrimScale; | 2597 | handlerUpdatePrimScale = OnUpdatePrimScale; |
2595 | if (handlerUpdatePrimScale != null) | 2598 | if (handlerUpdatePrimScale != null) |
@@ -2597,6 +2600,13 @@ namespace OpenSim.Region.ClientStack | |||
2597 | 2600 | ||
2598 | // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z); | 2601 | // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z); |
2599 | handlerUpdatePrimScale(localId, scale1, this); | 2602 | handlerUpdatePrimScale(localId, scale1, this); |
2603 | |||
2604 | |||
2605 | handlerUpdatePrimSinglePosition = OnUpdatePrimSinglePosition; | ||
2606 | if (handlerUpdatePrimSinglePosition != null) | ||
2607 | { | ||
2608 | handlerUpdatePrimSinglePosition(localId, pos11, this); | ||
2609 | } | ||
2600 | } | 2610 | } |
2601 | break; | 2611 | break; |
2602 | case 9: | 2612 | case 9: |
@@ -2661,27 +2671,35 @@ namespace OpenSim.Region.ClientStack | |||
2661 | LLVector3 scale5 = new LLVector3(block.Data, 12); | 2671 | LLVector3 scale5 = new LLVector3(block.Data, 12); |
2662 | LLVector3 pos5 = new LLVector3(block.Data, 0); | 2672 | LLVector3 pos5 = new LLVector3(block.Data, 0); |
2663 | 2673 | ||
2664 | handlerUpdatePrimScale = OnUpdatePrimScale; | 2674 | handlerUpdatePrimGroupScale = OnUpdatePrimGroupScale; |
2665 | if (handlerUpdatePrimScale != null) | 2675 | if (handlerUpdatePrimGroupScale != null) |
2666 | { | 2676 | { |
2667 | 2677 | ||
2668 | // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z ); | 2678 | // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z ); |
2669 | handlerUpdatePrimScale(localId, scale5, this); | 2679 | handlerUpdatePrimGroupScale(localId, scale5, this); |
2680 | handlerUpdateVector = OnUpdatePrimGroupPosition; | ||
2670 | 2681 | ||
2671 | handlerUpdatePrimSinglePosition = OnUpdatePrimSinglePosition; | 2682 | if (handlerUpdateVector != null) |
2672 | if (handlerUpdatePrimSinglePosition != null) | ||
2673 | { | 2683 | { |
2674 | handlerUpdatePrimSinglePosition(localId, pos5, this); | 2684 | |
2685 | handlerUpdateVector(localId, pos5, this); | ||
2675 | } | 2686 | } |
2676 | } | 2687 | } |
2677 | break; | 2688 | break; |
2678 | case 21: | 2689 | case 21: |
2679 | LLVector3 scale6 = new LLVector3(block.Data, 12); | 2690 | LLVector3 scale6 = new LLVector3(block.Data, 12); |
2691 | LLVector3 pos6 = new LLVector3(block.Data, 0); | ||
2692 | |||
2680 | handlerUpdatePrimScale = OnUpdatePrimScale; | 2693 | handlerUpdatePrimScale = OnUpdatePrimScale; |
2681 | if (handlerUpdatePrimScale != null) | 2694 | if (handlerUpdatePrimScale != null) |
2682 | { | 2695 | { |
2683 | // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z); | 2696 | // Console.WriteLine("new scale is " + scale.X + " , " + scale.Y + " , " + scale.Z); |
2684 | handlerUpdatePrimScale(localId, scale6, this); | 2697 | handlerUpdatePrimScale(localId, scale6, this); |
2698 | handlerUpdatePrimSinglePosition = OnUpdatePrimSinglePosition; | ||
2699 | if (handlerUpdatePrimSinglePosition != null) | ||
2700 | { | ||
2701 | handlerUpdatePrimSinglePosition(localId, pos6, this); | ||
2702 | } | ||
2685 | } | 2703 | } |
2686 | break; | 2704 | break; |
2687 | } | 2705 | } |