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/Environment | |
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/Environment')
4 files changed, 19 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index 9300b92..78aee92 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | |||
@@ -212,6 +212,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
212 | public event GenericCall7 OnObjectDescription; | 212 | public event GenericCall7 OnObjectDescription; |
213 | public event GenericCall7 OnObjectName; | 213 | public event GenericCall7 OnObjectName; |
214 | public event GenericCall7 OnObjectClickAction; | 214 | public event GenericCall7 OnObjectClickAction; |
215 | public event GenericCall7 OnObjectMaterial; | ||
215 | public event UpdatePrimFlags OnUpdatePrimFlags; | 216 | public event UpdatePrimFlags OnUpdatePrimFlags; |
216 | public event UpdatePrimTexture OnUpdatePrimTexture; | 217 | public event UpdatePrimTexture OnUpdatePrimTexture; |
217 | public event UpdateVector OnUpdatePrimGroupPosition; | 218 | public event UpdateVector OnUpdatePrimGroupPosition; |
@@ -559,7 +560,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
559 | Vector3 acc, Quaternion rotation, Vector3 rvel, uint flags, | 560 | Vector3 acc, Quaternion rotation, Vector3 rvel, uint flags, |
560 | UUID objectID, UUID ownerID, string text, byte[] color, | 561 | UUID objectID, UUID ownerID, string text, byte[] color, |
561 | uint parentID, | 562 | uint parentID, |
562 | byte[] particleSystem, byte clickAction) | 563 | byte[] particleSystem, byte clickAction, byte material) |
563 | { | 564 | { |
564 | } | 565 | } |
565 | public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, | 566 | public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, |
@@ -567,7 +568,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
567 | Vector3 acc, Quaternion rotation, Vector3 rvel, uint flags, | 568 | Vector3 acc, Quaternion rotation, Vector3 rvel, uint flags, |
568 | UUID objectID, UUID ownerID, string text, byte[] color, | 569 | UUID objectID, UUID ownerID, string text, byte[] color, |
569 | uint parentID, | 570 | uint parentID, |
570 | byte[] particleSystem, byte clickAction, byte[] textureanimation, | 571 | byte[] particleSystem, byte clickAction, byte material, byte[] textureanimation, |
571 | bool attachment, uint AttachmentPoint, UUID AssetId, UUID SoundId, double SoundVolume, byte SoundFlags, double SoundRadius) | 572 | bool attachment, uint AttachmentPoint, UUID AssetId, UUID SoundId, double SoundVolume, byte SoundFlags, double SoundRadius) |
572 | { | 573 | { |
573 | } | 574 | } |
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index 3be1592..d63544a 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -1258,7 +1258,19 @@ namespace OpenSim.Region.Environment.Scenes | |||
1258 | } | 1258 | } |
1259 | } | 1259 | } |
1260 | 1260 | ||
1261 | 1261 | protected internal void PrimMaterial(IClientAPI remoteClient, uint primLocalID, string material) | |
1262 | { | ||
1263 | SceneObjectGroup group = GetGroupByPrim(primLocalID); | ||
1264 | if (group != null) | ||
1265 | { | ||
1266 | if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId)) | ||
1267 | { | ||
1268 | SceneObjectPart part = m_parentScene.GetSceneObjectPart(primLocalID); | ||
1269 | part.Material = Convert.ToByte(material); | ||
1270 | group.HasGroupChanged = true; | ||
1271 | } | ||
1272 | } | ||
1273 | } | ||
1262 | 1274 | ||
1263 | protected internal void UpdateExtraParam(UUID agentID, uint primLocalID, ushort type, bool inUse, byte[] data) | 1275 | protected internal void UpdateExtraParam(UUID agentID, uint primLocalID, ushort type, bool inUse, byte[] data) |
1264 | { | 1276 | { |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index bbc50e6..8f8c89e 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -2158,6 +2158,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
2158 | client.OnObjectDescription += m_innerScene.PrimDescription; | 2158 | client.OnObjectDescription += m_innerScene.PrimDescription; |
2159 | client.OnObjectName += m_innerScene.PrimName; | 2159 | client.OnObjectName += m_innerScene.PrimName; |
2160 | client.OnObjectClickAction += m_innerScene.PrimClickAction; | 2160 | client.OnObjectClickAction += m_innerScene.PrimClickAction; |
2161 | client.OnObjectMaterial += m_innerScene.PrimMaterial; | ||
2161 | client.OnLinkObjects += m_innerScene.LinkObjects; | 2162 | client.OnLinkObjects += m_innerScene.LinkObjects; |
2162 | client.OnDelinkObjects += m_innerScene.DelinkObjects; | 2163 | client.OnDelinkObjects += m_innerScene.DelinkObjects; |
2163 | client.OnObjectDuplicate += m_innerScene.DuplicateObject; | 2164 | client.OnObjectDuplicate += m_innerScene.DuplicateObject; |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index c887b78..9458908 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -181,7 +181,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
181 | //unkown if this will be kept, added as a way of removing the group position from the group class | 181 | //unkown if this will be kept, added as a way of removing the group position from the group class |
182 | protected Vector3 m_groupPosition; | 182 | protected Vector3 m_groupPosition; |
183 | protected uint m_localId; | 183 | protected uint m_localId; |
184 | protected Material m_material = 0; | 184 | protected Material m_material = (Material)3; // Wood |
185 | protected string m_name; | 185 | protected string m_name; |
186 | protected Vector3 m_offsetPosition; | 186 | protected Vector3 m_offsetPosition; |
187 | 187 | ||
@@ -2106,7 +2106,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
2106 | byte[] color = new byte[] {m_color.R, m_color.G, m_color.B, m_color.A}; | 2106 | byte[] color = new byte[] {m_color.R, m_color.G, m_color.B, m_color.A}; |
2107 | remoteClient.SendPrimitiveToClient(m_regionHandle, (ushort)(m_parentGroup.GetTimeDilation() * (float)ushort.MaxValue), LocalId, m_shape, | 2107 | remoteClient.SendPrimitiveToClient(m_regionHandle, (ushort)(m_parentGroup.GetTimeDilation() * (float)ushort.MaxValue), LocalId, m_shape, |
2108 | lPos, Velocity, Acceleration, RotationOffset, RotationalVelocity, clientFlags, m_uuid, _ownerID, | 2108 | lPos, Velocity, Acceleration, RotationOffset, RotationalVelocity, clientFlags, m_uuid, _ownerID, |
2109 | m_text, color, _parentID, m_particleSystem, m_clickAction, m_TextureAnimation, IsAttachment, | 2109 | m_text, color, _parentID, m_particleSystem, m_clickAction, (byte)m_material, m_TextureAnimation, IsAttachment, |
2110 | AttachmentPoint,FromAssetID, Sound, SoundGain, SoundFlags, SoundRadius); | 2110 | AttachmentPoint,FromAssetID, Sound, SoundGain, SoundFlags, SoundRadius); |
2111 | } | 2111 | } |
2112 | 2112 | ||