aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorMW2009-07-17 14:58:54 +0000
committerMW2009-07-17 14:58:54 +0000
commitacea31518b00b02e2ba8b08106a76de0fbef29ab (patch)
tree78a4cb7eace911f11077045c1f0fb1266392c9dc /OpenSim/Framework
parent* Change the order of Update so Physics processes a frame before the scene ma... (diff)
downloadopensim-SC_OLD-acea31518b00b02e2ba8b08106a76de0fbef29ab.zip
opensim-SC_OLD-acea31518b00b02e2ba8b08106a76de0fbef29ab.tar.gz
opensim-SC_OLD-acea31518b00b02e2ba8b08106a76de0fbef29ab.tar.bz2
opensim-SC_OLD-acea31518b00b02e2ba8b08106a76de0fbef29ab.tar.xz
fixed the bug where changing the rotation of a selection of prims in a linkset, made each of those prims rotate around its own centre rather than around the geometric centre of the selection like they should do (and like the client expects).
This involved adding a new OnUpdatePrimSingleRotationPosition event to IClientAPI so that we can get the changed position from the client. Btw adding new events to IClientAPI is really tedious where you have to copy the change across to at least 5 or 6 other files. [Note this doesn't fix the bug where any rotation changes to the root prim (but not the whole linkset) cause rotation errors on the child prims.]
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/IClientAPI.cs3
1 files changed, 3 insertions, 0 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index efde5ce..fea0cea 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -129,6 +129,8 @@ namespace OpenSim.Framework
129 129
130 public delegate void UpdatePrimSingleRotation(uint localID, Quaternion rot, IClientAPI remoteClient); 130 public delegate void UpdatePrimSingleRotation(uint localID, Quaternion rot, IClientAPI remoteClient);
131 131
132 public delegate void UpdatePrimSingleRotationPosition( uint localID, Quaternion rot, Vector3 pos, IClientAPI remoteClient);
133
132 public delegate void UpdatePrimGroupRotation(uint localID, Vector3 pos, Quaternion rot, IClientAPI remoteClient); 134 public delegate void UpdatePrimGroupRotation(uint localID, Vector3 pos, Quaternion rot, IClientAPI remoteClient);
133 135
134 public delegate void ObjectDuplicate(uint localID, Vector3 offset, uint dupeFlags, UUID AgentID, UUID GroupID); 136 public delegate void ObjectDuplicate(uint localID, Vector3 offset, uint dupeFlags, UUID AgentID, UUID GroupID);
@@ -633,6 +635,7 @@ namespace OpenSim.Framework
633 event UpdateVector OnUpdatePrimSinglePosition; 635 event UpdateVector OnUpdatePrimSinglePosition;
634 event UpdatePrimRotation OnUpdatePrimGroupRotation; 636 event UpdatePrimRotation OnUpdatePrimGroupRotation;
635 event UpdatePrimSingleRotation OnUpdatePrimSingleRotation; 637 event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
638 event UpdatePrimSingleRotationPosition OnUpdatePrimSingleRotationPosition;
636 event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation; 639 event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
637 event UpdateVector OnUpdatePrimScale; 640 event UpdateVector OnUpdatePrimScale;
638 event UpdateVector OnUpdatePrimGroupScale; 641 event UpdateVector OnUpdatePrimGroupScale;