Merge branch 'master' of /home/opensim/var/repo/opensim
						commit
						445caca18b
					
				|  | @ -71,6 +71,7 @@ what it is today. | |||
| * CharlieO | ||||
| * ChrisDown | ||||
| * Chris Yeoh (IBM) | ||||
| * controlbreak | ||||
| * coyled | ||||
| * Daedius | ||||
| * Dong Jun Lan (IBM) | ||||
|  |  | |||
|  | @ -104,6 +104,11 @@ namespace OpenSim.Data.MSSQL | |||
|             { | ||||
|                 return SqlDbType.BigInt; | ||||
|             } | ||||
|             if (type == typeof(DateTime)) | ||||
|             { | ||||
|                 return SqlDbType.DateTime; | ||||
|             } | ||||
| 
 | ||||
|             return SqlDbType.VarChar; | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
|  | @ -244,10 +244,10 @@ namespace OpenSim.Data.Tests | |||
|             SceneObjectPart[] newparts = newsog.Parts; | ||||
|             Assert.That(newparts.Length,Is.EqualTo(4), "Assert.That(newparts.Length,Is.EqualTo(4))"); | ||||
|              | ||||
|             Assert.That(newsog.HasChildPrim(tmp0), "Assert.That(newsog.HasChildPrim(tmp0))"); | ||||
|             Assert.That(newsog.HasChildPrim(tmp1), "Assert.That(newsog.HasChildPrim(tmp1))"); | ||||
|             Assert.That(newsog.HasChildPrim(tmp2), "Assert.That(newsog.HasChildPrim(tmp2))"); | ||||
|             Assert.That(newsog.HasChildPrim(tmp3), "Assert.That(newsog.HasChildPrim(tmp3))"); | ||||
|             Assert.That(newsog.ContainsPart(tmp0), "Assert.That(newsog.ContainsPart(tmp0))"); | ||||
|             Assert.That(newsog.ContainsPart(tmp1), "Assert.That(newsog.ContainsPart(tmp1))"); | ||||
|             Assert.That(newsog.ContainsPart(tmp2), "Assert.That(newsog.ContainsPart(tmp2))"); | ||||
|             Assert.That(newsog.ContainsPart(tmp3), "Assert.That(newsog.ContainsPart(tmp3))"); | ||||
|         } | ||||
|          | ||||
|         [Test] | ||||
|  |  | |||
|  | @ -12295,7 +12295,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                 ItemData.Add(ItemDataMap); | ||||
|             } | ||||
| 
 | ||||
|             llsd.Add("ItemData", ItemData); | ||||
|             llsd.Add("InventoryData", ItemData); | ||||
| 
 | ||||
|             eq.Enqueue(BuildEvent("RemoveInventoryItem", | ||||
|                     llsd), AgentId); | ||||
|  | @ -12339,6 +12339,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                     llsd), AgentId); | ||||
|         } | ||||
| 
 | ||||
|         private byte[] EncodeU32(uint val) | ||||
|         { | ||||
|             byte[] ret = BitConverter.GetBytes(val); | ||||
|             if (BitConverter.IsLittleEndian) | ||||
|                 Array.Reverse(ret); | ||||
|             return ret; | ||||
|         } | ||||
| 
 | ||||
|         public void SendBulkUpdateInventory(InventoryFolderBase[] folders, InventoryItemBase[] items) | ||||
|         { | ||||
|             IEventQueue eq = Scene.RequestModuleInterface<IEventQueue>(); | ||||
|  | @ -12354,6 +12362,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|             OSDMap AgentDataMap = new OSDMap(1); | ||||
|             AgentDataMap.Add("AgentID", OSD.FromUUID(AgentId)); | ||||
|             AgentDataMap.Add("SessionID", OSD.FromUUID(SessionId)); | ||||
|             AgentDataMap.Add("TransactionID", OSD.FromUUID(UUID.Random())); | ||||
| 
 | ||||
|             OSDArray AgentData = new OSDArray(1); | ||||
|             AgentData.Add(AgentDataMap); | ||||
|  | @ -12381,10 +12390,47 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|             foreach (InventoryItemBase item in items) | ||||
|             { | ||||
|                 OSDMap ItemDataMap = new OSDMap(); | ||||
|                  | ||||
|                 ItemDataMap.Add("ItemID", OSD.FromUUID(item.ID)); | ||||
|                 ItemDataMap.Add("FolderID", OSD.FromUUID(item.Folder)); | ||||
| 
 | ||||
|                 ItemDataMap.Add("CreatorID", OSD.FromUUID(item.CreatorIdAsUuid)); | ||||
|                 ItemDataMap.Add("OwnerID", OSD.FromUUID(item.Owner)); | ||||
|                 ItemDataMap.Add("GroupID", OSD.FromUUID(item.GroupID)); | ||||
|                 ItemDataMap.Add("BaseMask", OSD.FromBinary(EncodeU32((uint)item.BasePermissions))); | ||||
|                 ItemDataMap.Add("OwnerMask", OSD.FromBinary(EncodeU32((uint)item.CurrentPermissions))); | ||||
|                 ItemDataMap.Add("GroupMask", OSD.FromBinary(EncodeU32((uint)item.GroupPermissions))); | ||||
|                 ItemDataMap.Add("EveryoneMask", OSD.FromBinary(EncodeU32((uint)item.EveryOnePermissions))); | ||||
|                 ItemDataMap.Add("NextOwnerMask", OSD.FromBinary(EncodeU32((uint)item.NextPermissions))); | ||||
|                 ItemDataMap.Add("GroupOwned", OSD.FromBoolean(item.GroupOwned)); | ||||
|                 ItemDataMap.Add("AssetID", OSD.FromUUID(item.AssetID)); | ||||
|                 ItemDataMap.Add("Type", OSD.FromInteger(item.AssetType)); | ||||
|                 ItemDataMap.Add("InvType", OSD.FromInteger(item.InvType)); | ||||
|                 ItemDataMap.Add("Flags", OSD.FromBinary(EncodeU32((uint)item.Flags))); | ||||
|                 ItemDataMap.Add("SaleType", OSD.FromInteger((byte)item.SaleType)); | ||||
|                 ItemDataMap.Add("SalePrice", OSD.FromInteger(item.SalePrice)); | ||||
|                 ItemDataMap.Add("Name", OSD.FromString(item.Name)); | ||||
|                 ItemDataMap.Add("Description", OSD.FromString(item.Description)); | ||||
|                 ItemDataMap.Add("CreationDate", OSD.FromInteger(item.CreationDate)); | ||||
| 
 | ||||
|                 ItemDataMap.Add("CRC", OSD.FromBinary(EncodeU32( | ||||
|                         Helpers.InventoryCRC(1000, 0, (sbyte)item.InvType, | ||||
|                         (sbyte)item.AssetType, item.AssetID, | ||||
|                         item.GroupID, 100, | ||||
|                         item.Owner, item.CreatorIdAsUuid, | ||||
|                         item.ID, item.Folder, | ||||
|                         (uint)PermissionMask.All, 1, (uint)PermissionMask.All, (uint)PermissionMask.All, | ||||
|                         (uint)PermissionMask.All) | ||||
|                 ))); | ||||
|                 ItemDataMap.Add("CallbackID", 0); | ||||
| 
 | ||||
|                 ItemData.Add(ItemDataMap); | ||||
|             } | ||||
| 
 | ||||
|             llsd.Add("ItemData", ItemData); | ||||
| 
 | ||||
|             eq.Enqueue(BuildEvent("BulkUpdateInventory", | ||||
|                     llsd), AgentId); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -935,6 +935,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
|                 if (((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) && (!isAttachment)) | ||||
|                     remoteClient.SendBulkUpdateInventory(item); | ||||
| 
 | ||||
|                 ILandObject land = m_Scene.LandChannel.GetLandObject(pos.X, pos.Y); | ||||
|                 remoteClient.SendAlertMessage(string.Format( | ||||
|                     "Can't rez object '{0}' at <{1:F3}, {2:F3}, {3:F3}> on parcel '{4}' in region {5}.", | ||||
|                     item.Name, pos.X, pos.Y, pos.Z, land != null ? land.LandData.Name : "Unknown", m_Scene.RegionInfo.RegionName)); | ||||
| 
 | ||||
|                 return false; | ||||
|             } | ||||
| 
 | ||||
|  |  | |||
|  | @ -319,7 +319,7 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm | |||
|                 // Send message to avatar | ||||
|                 if (channel == 0) | ||||
|                 { | ||||
|                     m_scene.SimChatBroadcast(Utils.StringToBytes(msg), ChatTypeEnum.Owner, 0, pos, name, id, false); | ||||
|                     m_scene.SimChatBroadcast(Utils.StringToBytes(msg), ChatTypeEnum.Broadcast, 0, pos, name, id, false); | ||||
|                 } | ||||
| 
 | ||||
|                 List<SceneObjectGroup> attachments = sp.GetAttachments(); | ||||
|  |  | |||
|  | @ -79,7 +79,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Vegetation | |||
|             } | ||||
|              | ||||
|             SceneObjectGroup sceneObject = new SceneObjectGroup(ownerID, pos, rot, shape); | ||||
|             SceneObjectPart rootPart = sceneObject.GetChildPart(sceneObject.UUID); | ||||
|             SceneObjectPart rootPart = sceneObject.GetPart(sceneObject.UUID); | ||||
|              | ||||
|             // if grass or tree, make phantom | ||||
|             //rootPart.TrimPermissions(); | ||||
|  |  | |||
|  | @ -1833,7 +1833,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             { | ||||
|                 AddRestoredSceneObject(group, true, true); | ||||
|                 EventManager.TriggerOnSceneObjectLoaded(group); | ||||
|                 SceneObjectPart rootPart = group.GetChildPart(group.UUID); | ||||
|                 SceneObjectPart rootPart = group.GetPart(group.UUID); | ||||
|                 rootPart.Flags &= ~PrimFlags.Scripted; | ||||
|                 rootPart.TrimPermissions(); | ||||
| 
 | ||||
|  | @ -1971,10 +1971,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             if (Permissions.CanRezObject(1, ownerID, pos)) | ||||
|             { | ||||
|                 // rez ON the ground, not IN the ground | ||||
|                // pos.Z += 0.25F; The rez point should now be correct so that its not in the ground | ||||
|                 // pos.Z += 0.25F; The rez point should now be correct so that its not in the ground | ||||
| 
 | ||||
|                 AddNewPrim(ownerID, groupID, pos, rot, shape); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 IClientAPI client = null; | ||||
|                 if (TryGetClient(ownerID, out client)) | ||||
|                     client.SendAlertMessage("You cannot create objects here."); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         public virtual SceneObjectGroup AddNewPrim( | ||||
|  | @ -4168,7 +4174,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             { | ||||
|                 if (ent is SceneObjectGroup) | ||||
|                 { | ||||
|                     SceneObjectPart part = ((SceneObjectGroup)ent).GetChildPart(((SceneObjectGroup)ent).UUID); | ||||
|                     SceneObjectPart part = ((SceneObjectGroup)ent).GetPart(((SceneObjectGroup)ent).UUID); | ||||
|                     if (part != null) | ||||
|                     { | ||||
|                         if (part.Name == cmdparams[2]) | ||||
|  |  | |||
|  | @ -860,7 +860,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|             if (sog != null) | ||||
|             { | ||||
|                 if (sog.HasChildPrim(localID)) | ||||
|                 if (sog.ContainsPart(localID)) | ||||
|                 { | ||||
| //                    m_log.DebugFormat( | ||||
| //                        "[SCENE GRAPH]: Found scene object {0} {1} {2} containing part with local id {3} in {4}.  Returning.", | ||||
|  | @ -888,7 +888,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|                 if (ent is SceneObjectGroup) | ||||
|                 { | ||||
|                     sog = (SceneObjectGroup)ent; | ||||
|                     if (sog.HasChildPrim(localID)) | ||||
|                     if (sog.ContainsPart(localID)) | ||||
|                     { | ||||
|                         lock (SceneObjectGroupsByLocalPartID) | ||||
|                             SceneObjectGroupsByLocalPartID[localID] = sog; | ||||
|  | @ -926,7 +926,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|                 if (ent is SceneObjectGroup) | ||||
|                 { | ||||
|                     sog = (SceneObjectGroup)ent; | ||||
|                     if (sog.HasChildPrim(fullID)) | ||||
|                     if (sog.ContainsPart(fullID)) | ||||
|                     { | ||||
|                         lock (SceneObjectGroupsByFullPartID) | ||||
|                             SceneObjectGroupsByFullPartID[fullID] = sog; | ||||
|  | @ -1015,7 +1015,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             SceneObjectGroup group = GetGroupByPrim(localID); | ||||
|             if (group == null) | ||||
|                 return null; | ||||
|             return group.GetChildPart(localID); | ||||
|             return group.GetPart(localID); | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|  | @ -1062,7 +1062,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             SceneObjectGroup group = GetGroupByPrim(fullID); | ||||
|             if (group == null) | ||||
|                 return null; | ||||
|             return group.GetChildPart(fullID); | ||||
|             return group.GetPart(fullID); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|  |  | |||
|  | @ -96,7 +96,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|              | ||||
|             UUID newItemId = (copyItemID != UUID.Zero) ? copyItemID : item.ID; | ||||
| 
 | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 TaskInventoryItem taskItem = new TaskInventoryItem(); | ||||
|  | @ -170,7 +170,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <returns>null if the item does not exist</returns> | ||||
|         public TaskInventoryItem GetInventoryItem(uint primID, UUID itemID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(primID); | ||||
|             SceneObjectPart part = GetPart(primID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 return part.Inventory.GetInventoryItem(itemID); | ||||
|  | @ -194,7 +194,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <returns>false if the item did not exist, true if the update occurred succesfully</returns> | ||||
|         public bool UpdateInventoryItem(TaskInventoryItem item) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(item.ParentPartID); | ||||
|             SceneObjectPart part = GetPart(item.ParentPartID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 part.Inventory.UpdateInventoryItem(item); | ||||
|  | @ -214,7 +214,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|         public int RemoveInventoryItem(uint localID, UUID itemID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 int type = part.Inventory.RemoveInventoryItem(itemID); | ||||
|  |  | |||
|  | @ -338,6 +338,24 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             return m_parts.ContainsKey(partID); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Does this group contain the given part? | ||||
|         /// should be able to remove these methods once we have a entity index in scene | ||||
|         /// </summary> | ||||
|         /// <param name="localID"></param> | ||||
|         /// <returns></returns> | ||||
|         public bool ContainsPart(uint localID) | ||||
|         { | ||||
|             SceneObjectPart[] parts = m_parts.GetArray(); | ||||
|             for (int i = 0; i < parts.Length; i++) | ||||
|             { | ||||
|                 if (parts[i].LocalId == localID) | ||||
|                     return true; | ||||
|             } | ||||
| 
 | ||||
|             return false; | ||||
|         } | ||||
| 
 | ||||
|         /// <value> | ||||
|         /// The root part of this scene object | ||||
|         /// </value> | ||||
|  | @ -1109,7 +1127,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|         public UUID GetPartsFullID(uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 return part.UUID; | ||||
|  | @ -1125,7 +1143,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             } | ||||
|             else | ||||
|             { | ||||
|                 SceneObjectPart part = GetChildPart(localId); | ||||
|                 SceneObjectPart part = GetPart(localId); | ||||
|                 OnGrabPart(part, offsetPos, remoteClient); | ||||
|             } | ||||
|         } | ||||
|  | @ -1886,8 +1904,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// Get a part with a given UUID | ||||
|         /// </summary> | ||||
|         /// <param name="primID"></param> | ||||
|         /// <returns>null if a child part with the primID was not found</returns> | ||||
|         public SceneObjectPart GetChildPart(UUID primID) | ||||
|         /// <returns>null if a part with the primID was not found</returns> | ||||
|         public SceneObjectPart GetPart(UUID primID) | ||||
|         { | ||||
|             SceneObjectPart childPart; | ||||
|             m_parts.TryGetValue(primID, out childPart); | ||||
|  | @ -1898,8 +1916,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// Get a part with a given local ID | ||||
|         /// </summary> | ||||
|         /// <param name="localID"></param> | ||||
|         /// <returns>null if a child part with the local ID was not found</returns> | ||||
|         public SceneObjectPart GetChildPart(uint localID) | ||||
|         /// <returns>null if a part with the local ID was not found</returns> | ||||
|         public SceneObjectPart GetPart(uint localID) | ||||
|         { | ||||
|             SceneObjectPart[] parts = m_parts.GetArray(); | ||||
|             for (int i = 0; i < parts.Length; i++) | ||||
|  | @ -1911,35 +1929,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             return null; | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Does this group contain the child prim | ||||
|         /// should be able to remove these methods once we have a entity index in scene | ||||
|         /// </summary> | ||||
|         /// <param name="primID"></param> | ||||
|         /// <returns></returns> | ||||
|         public bool HasChildPrim(UUID primID) | ||||
|         { | ||||
|             return m_parts.ContainsKey(primID); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Does this group contain the child prim | ||||
|         /// should be able to remove these methods once we have a entity index in scene | ||||
|         /// </summary> | ||||
|         /// <param name="localID"></param> | ||||
|         /// <returns></returns> | ||||
|         public bool HasChildPrim(uint localID) | ||||
|         { | ||||
|             SceneObjectPart[] parts = m_parts.GetArray(); | ||||
|             for (int i = 0; i < parts.Length; i++) | ||||
|             { | ||||
|                 if (parts[i].LocalId == localID) | ||||
|                     return true; | ||||
|             } | ||||
| 
 | ||||
|             return false; | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
| 
 | ||||
|         #region Packet Handlers | ||||
|  | @ -2046,7 +2035,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <returns>The object group of the newly delinked prim.  Null if part could not be found</returns> | ||||
|         public SceneObjectGroup DelinkFromGroup(uint partID, bool sendEvents) | ||||
|         { | ||||
|             SceneObjectPart linkPart = GetChildPart(partID); | ||||
|             SceneObjectPart linkPart = GetPart(partID); | ||||
| 
 | ||||
|             if (linkPart != null) | ||||
|             { | ||||
|  | @ -2337,7 +2326,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <param name="localID"></param> | ||||
|         public void SetPartName(string name, uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 part.Name = name; | ||||
|  | @ -2346,7 +2335,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|         public void SetPartDescription(string des, uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 part.Description = des; | ||||
|  | @ -2355,7 +2344,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|         public void SetPartText(string text, uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 part.SetText(text); | ||||
|  | @ -2364,7 +2353,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|         public void SetPartText(string text, UUID partID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(partID); | ||||
|             SceneObjectPart part = GetPart(partID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 part.SetText(text); | ||||
|  | @ -2373,7 +2362,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|         public string GetPartName(uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 return part.Name; | ||||
|  | @ -2383,7 +2372,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|         public string GetPartDescription(uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 return part.Description; | ||||
|  | @ -2401,7 +2390,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <param name="SetVolumeDetect"></param> | ||||
|         public void UpdatePrimFlags(uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect) | ||||
|         { | ||||
|             SceneObjectPart selectionPart = GetChildPart(localID); | ||||
|             SceneObjectPart selectionPart = GetPart(localID); | ||||
| 
 | ||||
|             if (SetTemporary && Scene != null) | ||||
|             { | ||||
|  | @ -2438,7 +2427,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|         public void UpdateExtraParam(uint localID, ushort type, bool inUse, byte[] data) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 part.UpdateExtraParam(type, inUse, data); | ||||
|  | @ -2452,7 +2441,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <param name="textureEntry"></param> | ||||
|         public void UpdateTextureEntry(uint localID, byte[] textureEntry) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 part.UpdateTextureEntry(textureEntry); | ||||
|  | @ -2484,7 +2473,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <param name="shapeBlock"></param> | ||||
|         public void UpdateShape(ObjectShapePacket.ObjectDataBlock shapeBlock, uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
|                 part.UpdateShape(shapeBlock); | ||||
|  | @ -2696,7 +2685,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <param name="localID"></param> | ||||
|         public void UpdateSinglePosition(Vector3 pos, uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
| 
 | ||||
| //            SceneObjectPart[] parts = m_parts.GetArray(); | ||||
| //            for (int i = 0; i < parts.Length; i++) | ||||
|  | @ -2835,7 +2824,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <param name="localID"></param> | ||||
|         public void UpdateSingleRotation(Quaternion rot, uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
| 
 | ||||
|             SceneObjectPart[] parts = m_parts.GetArray(); | ||||
|             for (int i = 0; i < parts.Length; i++) | ||||
|  | @ -2864,7 +2853,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|         /// <param name="localID"></param> | ||||
|         public void UpdateSingleRotation(Quaternion rot, Vector3 pos, uint localID) | ||||
|         { | ||||
|             SceneObjectPart part = GetChildPart(localID); | ||||
|             SceneObjectPart part = GetPart(localID); | ||||
|             if (part != null) | ||||
|             { | ||||
| //                m_log.DebugFormat( | ||||
|  |  | |||
|  | @ -623,7 +623,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|             group.ResetIDs(); | ||||
| 
 | ||||
|             SceneObjectPart rootPart = group.GetChildPart(group.UUID); | ||||
|             SceneObjectPart rootPart = group.GetPart(group.UUID); | ||||
| 
 | ||||
|             // Since renaming the item in the inventory does not affect the name stored | ||||
|             // in the serialization, transfer the correct name from the inventory to the | ||||
|  |  | |||
|  | @ -510,7 +510,7 @@ namespace OpenSim.Region.OptionalModules.World.TreePopulator | |||
|             } | ||||
| 
 | ||||
|             SceneObjectGroup sceneObject = new SceneObjectGroup(ownerID, pos, rot, shape); | ||||
|             SceneObjectPart rootPart = sceneObject.GetChildPart(sceneObject.UUID); | ||||
|             SceneObjectPart rootPart = sceneObject.GetPart(sceneObject.UUID); | ||||
| 
 | ||||
|             rootPart.AddFlag(PrimFlags.Phantom); | ||||
| 
 | ||||
|  |  | |||
|  | @ -3763,7 +3763,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|             // parse for sitting avatare-uuids | ||||
|             World.ForEachRootScenePresence(delegate(ScenePresence presence) | ||||
|             { | ||||
|                 if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) | ||||
|                 if (presence.ParentID != 0 && m_host.ParentGroup.ContainsPart(presence.ParentID)) | ||||
|                     keytable.Add(presence.UUID); | ||||
|             }); | ||||
| 
 | ||||
|  | @ -3826,7 +3826,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|             World.ForEachRootScenePresence(delegate(ScenePresence presence) | ||||
|             { | ||||
|                 SceneObjectPart sitPart = presence.ParentPart; | ||||
|                 if (sitPart != null && m_host.ParentGroup.HasChildPrim(sitPart.LocalId)) | ||||
|                 if (sitPart != null && m_host.ParentGroup.ContainsPart(sitPart.LocalId)) | ||||
|                     nametable.Add(presence.ControllingClient.Name); | ||||
|             }); | ||||
| 
 | ||||
|  | @ -7684,7 +7684,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|             int avatarCount = 0; | ||||
|             World.ForEachRootScenePresence(delegate(ScenePresence presence) | ||||
|             { | ||||
|                 if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) | ||||
|                 if (presence.ParentID != 0 && m_host.ParentGroup.ContainsPart(presence.ParentID)) | ||||
|                     avatarCount++; | ||||
|             }); | ||||
| 
 | ||||
|  |  | |||
|  | @ -1266,6 +1266,7 @@ | |||
| 
 | ||||
|       <ReferencePath>../../../bin/</ReferencePath> | ||||
|       <Reference name="System"/> | ||||
|       <Reference name="System.Core"/> | ||||
|       <Reference name="System.Xml"/> | ||||
|       <Reference name="OpenMetaverseTypes" path="../../../bin/"/> | ||||
|       <Reference name="OpenMetaverse" path="../../../bin/"/> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 BlueWall
						BlueWall