aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
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/Environment
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 '')
-rw-r--r--OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs5
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs14
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs1
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs4
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