diff options
Preliminary work to support ObjectSpin* packets when user invokes CTRL / SHIFT / MOUSE DRAG on a physical object
Addresses Mantis #3381
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 45 |
1 files changed, 41 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index e021849..5c86964 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -170,6 +170,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
170 | private GrabObject handlerGrabObject; //OnGrabObject; | 170 | private GrabObject handlerGrabObject; //OnGrabObject; |
171 | private MoveObject handlerGrabUpdate; //OnGrabUpdate; | 171 | private MoveObject handlerGrabUpdate; //OnGrabUpdate; |
172 | private ObjectSelect handlerDeGrabObject; //OnDeGrabObject; | 172 | private ObjectSelect handlerDeGrabObject; //OnDeGrabObject; |
173 | private SpinStart handlerSpinStart; //OnSpinStart; | ||
174 | private SpinUpdate handlerSpinUpdate; //OnSpinUpdate; | ||
175 | private SpinStop handlerSpinStop; //OnSpinStop; | ||
173 | private GenericCall7 handlerObjectDescription; | 176 | private GenericCall7 handlerObjectDescription; |
174 | private GenericCall7 handlerObjectName; | 177 | private GenericCall7 handlerObjectName; |
175 | private GenericCall7 handlerObjectClickAction; | 178 | private GenericCall7 handlerObjectClickAction; |
@@ -929,9 +932,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
929 | public event DelinkObjects OnDelinkObjects; | 932 | public event DelinkObjects OnDelinkObjects; |
930 | public event GrabObject OnGrabObject; | 933 | public event GrabObject OnGrabObject; |
931 | public event ObjectSelect OnDeGrabObject; | 934 | public event ObjectSelect OnDeGrabObject; |
935 | public event SpinStart OnSpinStart; | ||
936 | public event SpinStop OnSpinStop; | ||
932 | public event ObjectDuplicate OnObjectDuplicate; | 937 | public event ObjectDuplicate OnObjectDuplicate; |
933 | public event ObjectDuplicateOnRay OnObjectDuplicateOnRay; | 938 | public event ObjectDuplicateOnRay OnObjectDuplicateOnRay; |
934 | public event MoveObject OnGrabUpdate; | 939 | public event MoveObject OnGrabUpdate; |
940 | public event SpinUpdate OnSpinUpdate; | ||
935 | public event AddNewPrim OnAddPrim; | 941 | public event AddNewPrim OnAddPrim; |
936 | public event RequestGodlikePowers OnRequestGodlikePowers; | 942 | public event RequestGodlikePowers OnRequestGodlikePowers; |
937 | public event GodKickUser OnGodKickUser; | 943 | public event GodKickUser OnGodKickUser; |
@@ -5229,6 +5235,41 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5229 | handlerDeGrabObject(deGrab.ObjectData.LocalID, this); | 5235 | handlerDeGrabObject(deGrab.ObjectData.LocalID, this); |
5230 | } | 5236 | } |
5231 | break; | 5237 | break; |
5238 | case PacketType.ObjectSpinStart: | ||
5239 | //m_log.Warn("[CLIENT]: unhandled ObjectSpinStart packet"); | ||
5240 | ObjectSpinStartPacket spinStart = (ObjectSpinStartPacket)Pack; | ||
5241 | |||
5242 | handlerSpinStart = OnSpinStart; | ||
5243 | if (handlerSpinStart != null) | ||
5244 | { | ||
5245 | handlerSpinStart(spinStart.ObjectData.ObjectID, this); | ||
5246 | } | ||
5247 | break; | ||
5248 | case PacketType.ObjectSpinUpdate: | ||
5249 | //m_log.Warn("[CLIENT]: unhandled ObjectSpinUpdate packet"); | ||
5250 | ObjectSpinUpdatePacket spinUpdate = (ObjectSpinUpdatePacket)Pack; | ||
5251 | Vector3 axis; | ||
5252 | float angle; | ||
5253 | spinUpdate.ObjectData.Rotation.GetAxisAngle(out axis, out angle); | ||
5254 | //m_log.Warn("[CLIENT]: ObjectSpinUpdate packet rot axis:" + axis + " angle:" + angle); | ||
5255 | |||
5256 | handlerSpinUpdate = OnSpinUpdate; | ||
5257 | if (handlerSpinUpdate != null) | ||
5258 | { | ||
5259 | handlerSpinUpdate(spinUpdate.ObjectData.ObjectID, spinUpdate.ObjectData.Rotation, this); | ||
5260 | } | ||
5261 | break; | ||
5262 | case PacketType.ObjectSpinStop: | ||
5263 | //m_log.Warn("[CLIENT]: unhandled ObjectSpinStop packet"); | ||
5264 | ObjectSpinStopPacket spinStop = (ObjectSpinStopPacket)Pack; | ||
5265 | |||
5266 | handlerSpinStop = OnSpinStop; | ||
5267 | if (handlerSpinStop != null) | ||
5268 | { | ||
5269 | handlerSpinStop(spinStop.ObjectData.ObjectID, this); | ||
5270 | } | ||
5271 | break; | ||
5272 | |||
5232 | case PacketType.ObjectDescription: | 5273 | case PacketType.ObjectDescription: |
5233 | ObjectDescriptionPacket objDes = (ObjectDescriptionPacket)Pack; | 5274 | ObjectDescriptionPacket objDes = (ObjectDescriptionPacket)Pack; |
5234 | 5275 | ||
@@ -6866,10 +6907,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6866 | // TODO: handle this packet | 6907 | // TODO: handle this packet |
6867 | //m_log.Warn("[CLIENT]: unhandled AgentHeightWidth packet"); | 6908 | //m_log.Warn("[CLIENT]: unhandled AgentHeightWidth packet"); |
6868 | break; | 6909 | break; |
6869 | case PacketType.ObjectSpinStop: | ||
6870 | // TODO: handle this packet | ||
6871 | //m_log.Warn("[CLIENT]: unhandled ObjectSpinStop packet"); | ||
6872 | break; | ||
6873 | 6910 | ||
6874 | case PacketType.InventoryDescendents: | 6911 | case PacketType.InventoryDescendents: |
6875 | // TODO: handle this packet | 6912 | // TODO: handle this packet |