diff options
author | Melanie Thielker | 2008-10-03 12:00:13 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-10-03 12:00:13 +0000 |
commit | 7f007d8ed056359d1e391cb73d9ff5c3b6852a26 (patch) | |
tree | 3241b8ea7d97fb9b1ca094217172d7f38cb75b2d /OpenSim/Region/ClientStack | |
parent | * EventQueueGet is now working. (diff) | |
download | opensim-SC-7f007d8ed056359d1e391cb73d9ff5c3b6852a26.zip opensim-SC-7f007d8ed056359d1e391cb73d9ff5c3b6852a26.tar.gz opensim-SC-7f007d8ed056359d1e391cb73d9ff5c3b6852a26.tar.bz2 opensim-SC-7f007d8ed056359d1e391cb73d9ff5c3b6852a26.tar.xz |
Mantis #1360
Thank you, idb, for a patch to implement the packet and plumbing for
the material settings.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index aae41fe..1c7bbec 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -172,6 +172,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
172 | private GenericCall7 handlerObjectDescription = null; | 172 | private GenericCall7 handlerObjectDescription = null; |
173 | private GenericCall7 handlerObjectName = null; | 173 | private GenericCall7 handlerObjectName = null; |
174 | private GenericCall7 handlerObjectClickAction = null; | 174 | private GenericCall7 handlerObjectClickAction = null; |
175 | private GenericCall7 handlerObjectMaterial = null; | ||
175 | private ObjectPermissions handlerObjectPermissions = null; | 176 | private ObjectPermissions handlerObjectPermissions = null; |
176 | private RequestObjectPropertiesFamily handlerRequestObjectPropertiesFamily = null; //OnRequestObjectPropertiesFamily; | 177 | private RequestObjectPropertiesFamily handlerRequestObjectPropertiesFamily = null; //OnRequestObjectPropertiesFamily; |
177 | private TextureRequest handlerTextureRequest = null; | 178 | private TextureRequest handlerTextureRequest = null; |
@@ -870,6 +871,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
870 | public event GenericCall7 OnObjectDescription; | 871 | public event GenericCall7 OnObjectDescription; |
871 | public event GenericCall7 OnObjectName; | 872 | public event GenericCall7 OnObjectName; |
872 | public event GenericCall7 OnObjectClickAction; | 873 | public event GenericCall7 OnObjectClickAction; |
874 | public event GenericCall7 OnObjectMaterial; | ||
873 | public event ObjectIncludeInSearch OnObjectIncludeInSearch; | 875 | public event ObjectIncludeInSearch OnObjectIncludeInSearch; |
874 | public event RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily; | 876 | public event RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily; |
875 | public event UpdatePrimFlags OnUpdatePrimFlags; | 877 | public event UpdatePrimFlags OnUpdatePrimFlags; |
@@ -2395,14 +2397,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2395 | ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, | 2397 | ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, |
2396 | Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel, | 2398 | Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel, |
2397 | uint flags, UUID objectID, UUID ownerID, string text, byte[] color, | 2399 | uint flags, UUID objectID, UUID ownerID, string text, byte[] color, |
2398 | uint parentID, byte[] particleSystem, byte clickAction) | 2400 | uint parentID, byte[] particleSystem, byte clickAction, byte material) |
2399 | { | 2401 | { |
2400 | byte[] textureanim = new byte[0]; | 2402 | byte[] textureanim = new byte[0]; |
2401 | 2403 | ||
2402 | SendPrimitiveToClient(regionHandle, timeDilation, localID, primShape, pos, vel, | 2404 | SendPrimitiveToClient(regionHandle, timeDilation, localID, primShape, pos, vel, |
2403 | acc, rotation, rvel, flags, | 2405 | acc, rotation, rvel, flags, |
2404 | objectID, ownerID, text, color, parentID, particleSystem, | 2406 | objectID, ownerID, text, color, parentID, particleSystem, |
2405 | clickAction, textureanim, false, (uint)0, UUID.Zero, UUID.Zero, 0, 0, 0); | 2407 | clickAction, material, textureanim, false, (uint)0, UUID.Zero, UUID.Zero, 0, 0, 0); |
2406 | } | 2408 | } |
2407 | 2409 | ||
2408 | public void SendPrimitiveToClient( | 2410 | public void SendPrimitiveToClient( |
@@ -2410,7 +2412,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2410 | Vector3 pos, Vector3 velocity, Vector3 acceleration, Quaternion rotation, Vector3 rotational_velocity, | 2412 | Vector3 pos, Vector3 velocity, Vector3 acceleration, Quaternion rotation, Vector3 rotational_velocity, |
2411 | uint flags, | 2413 | uint flags, |
2412 | UUID objectID, UUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, | 2414 | UUID objectID, UUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, |
2413 | byte clickAction, byte[] textureanim, bool attachment, uint AttachPoint, UUID AssetId, UUID SoundId, double SoundGain, byte SoundFlags, double SoundRadius) | 2415 | byte clickAction, byte material, byte[] textureanim, bool attachment, uint AttachPoint, UUID AssetId, UUID SoundId, double SoundGain, byte SoundFlags, double SoundRadius) |
2414 | { | 2416 | { |
2415 | 2417 | ||
2416 | if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0) | 2418 | if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0) |
@@ -2447,6 +2449,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2447 | outPacket.ObjectData[0].ParentID = parentID; | 2449 | outPacket.ObjectData[0].ParentID = parentID; |
2448 | outPacket.ObjectData[0].PSBlock = particleSystem; | 2450 | outPacket.ObjectData[0].PSBlock = particleSystem; |
2449 | outPacket.ObjectData[0].ClickAction = clickAction; | 2451 | outPacket.ObjectData[0].ClickAction = clickAction; |
2452 | outPacket.ObjectData[0].Material = material; | ||
2450 | outPacket.ObjectData[0].Flags = 0; | 2453 | outPacket.ObjectData[0].Flags = 0; |
2451 | 2454 | ||
2452 | if (attachment) | 2455 | if (attachment) |
@@ -4865,6 +4868,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4865 | } | 4868 | } |
4866 | break; | 4869 | break; |
4867 | 4870 | ||
4871 | case PacketType.ObjectMaterial: | ||
4872 | ObjectMaterialPacket ompacket = (ObjectMaterialPacket)Pack; | ||
4873 | |||
4874 | handlerObjectMaterial = OnObjectMaterial; | ||
4875 | if (handlerObjectMaterial != null) | ||
4876 | { | ||
4877 | foreach (ObjectMaterialPacket.ObjectDataBlock odata in ompacket.ObjectData) | ||
4878 | { | ||
4879 | byte material = odata.Material; | ||
4880 | uint localID = odata.ObjectLocalID; | ||
4881 | handlerObjectMaterial(this, localID, material.ToString()); | ||
4882 | } | ||
4883 | } | ||
4884 | break; | ||
4885 | |||
4868 | #endregion | 4886 | #endregion |
4869 | 4887 | ||
4870 | #region Inventory/Asset/Other related packets | 4888 | #region Inventory/Asset/Other related packets |