aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP
diff options
context:
space:
mode:
authorMelanie Thielker2008-10-03 12:00:13 +0000
committerMelanie Thielker2008-10-03 12:00:13 +0000
commit7f007d8ed056359d1e391cb73d9ff5c3b6852a26 (patch)
tree3241b8ea7d97fb9b1ca094217172d7f38cb75b2d /OpenSim/Region/ClientStack/LindenUDP
parent* EventQueueGet is now working. (diff)
downloadopensim-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/LindenUDP')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs24
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