diff options
8 files changed, 87 insertions, 53 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs index e8095c0..4bca3d0 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs | |||
@@ -81,16 +81,20 @@ namespace OpenSim.Region.Framework.Scenes | |||
81 | } | 81 | } |
82 | 82 | ||
83 | /// <summary> | 83 | /// <summary> |
84 | /// Add an inventory item to a prim in this group. | 84 | /// Add an inventory item from a user's inventory to a prim in this scene object. |
85 | /// </summary> | 85 | /// </summary> |
86 | /// <param name="remoteClient"></param> | 86 | /// <param name="remoteClient">The client adding the item.</param> |
87 | /// <param name="localID"></param> | 87 | /// <param name="localID">The local ID of the part receiving the add.</param> |
88 | /// <param name="item"></param> | 88 | /// <param name="item">The user inventory item being added.</param> |
89 | /// <param name="copyItemID">The item UUID that should be used by the new item.</param> | 89 | /// <param name="copyItemID">The item UUID that should be used by the new item.</param> |
90 | /// <returns></returns> | 90 | /// <returns></returns> |
91 | public bool AddInventoryItem(IClientAPI remoteClient, uint localID, | 91 | public bool AddInventoryItem(IClientAPI remoteClient, uint localID, |
92 | InventoryItemBase item, UUID copyItemID) | 92 | InventoryItemBase item, UUID copyItemID) |
93 | { | 93 | { |
94 | // m_log.DebugFormat( | ||
95 | // "[PRIM INVENTORY]: Adding inventory item {0} from {1} to part with local ID {2}", | ||
96 | // item.Name, remoteClient.Name, localID); | ||
97 | |||
94 | UUID newItemId = (copyItemID != UUID.Zero) ? copyItemID : item.ID; | 98 | UUID newItemId = (copyItemID != UUID.Zero) ? copyItemID : item.ID; |
95 | 99 | ||
96 | SceneObjectPart part = GetChildPart(localID); | 100 | SceneObjectPart part = GetChildPart(localID); |
@@ -132,15 +136,20 @@ namespace OpenSim.Region.Framework.Scenes | |||
132 | taskItem.GroupPermissions = item.GroupPermissions; | 136 | taskItem.GroupPermissions = item.GroupPermissions; |
133 | taskItem.NextPermissions = item.NextPermissions; | 137 | taskItem.NextPermissions = item.NextPermissions; |
134 | } | 138 | } |
135 | 139 | ||
136 | taskItem.Flags = item.Flags; | 140 | taskItem.Flags = item.Flags; |
141 | |||
142 | // m_log.DebugFormat( | ||
143 | // "[PRIM INVENTORY]: Flags are 0x{0:X} for item {1} added to part {2} by {3}", | ||
144 | // taskItem.Flags, taskItem.Name, localID, remoteClient.Name); | ||
145 | |||
137 | // TODO: These are pending addition of those fields to TaskInventoryItem | 146 | // TODO: These are pending addition of those fields to TaskInventoryItem |
138 | // taskItem.SalePrice = item.SalePrice; | 147 | // taskItem.SalePrice = item.SalePrice; |
139 | // taskItem.SaleType = item.SaleType; | 148 | // taskItem.SaleType = item.SaleType; |
140 | taskItem.CreationDate = (uint)item.CreationDate; | 149 | taskItem.CreationDate = (uint)item.CreationDate; |
141 | 150 | ||
142 | bool addFromAllowedDrop = false; | 151 | bool addFromAllowedDrop = false; |
143 | if (remoteClient!=null) | 152 | if (remoteClient != null) |
144 | { | 153 | { |
145 | addFromAllowedDrop = remoteClient.AgentId != part.OwnerID; | 154 | addFromAllowedDrop = remoteClient.AgentId != part.OwnerID; |
146 | } | 155 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs index babcb54..55455cc 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs | |||
@@ -117,29 +117,40 @@ namespace OpenSim.Region.Framework.Scenes.Serialization | |||
117 | { | 117 | { |
118 | using (XmlTextReader reader = new XmlTextReader(sr)) | 118 | using (XmlTextReader reader = new XmlTextReader(sr)) |
119 | { | 119 | { |
120 | reader.Read(); | 120 | try |
121 | if (reader.Name != "CoalescedObject") | ||
122 | { | 121 | { |
123 | // m_log.DebugFormat( | 122 | reader.Read(); |
124 | // "[COALESCED SCENE OBJECTS SERIALIZER]: TryFromXml() root element was {0} so returning false", | 123 | if (reader.Name != "CoalescedObject") |
125 | // reader.Name); | 124 | { |
125 | // m_log.DebugFormat( | ||
126 | // "[COALESCED SCENE OBJECTS SERIALIZER]: TryFromXml() root element was {0} so returning false", | ||
127 | // reader.Name); | ||
128 | |||
129 | return false; | ||
130 | } | ||
126 | 131 | ||
127 | return false; | 132 | coa = new CoalescedSceneObjects(UUID.Zero); |
128 | } | 133 | reader.Read(); |
129 | 134 | ||
130 | coa = new CoalescedSceneObjects(UUID.Zero); | 135 | while (reader.NodeType != XmlNodeType.EndElement && reader.Name != "CoalescedObject") |
131 | reader.Read(); | ||
132 | |||
133 | while (reader.NodeType != XmlNodeType.EndElement && reader.Name != "CoalescedObject") | ||
134 | { | ||
135 | if (reader.Name == "SceneObjectGroup") | ||
136 | { | 136 | { |
137 | string soXml = reader.ReadOuterXml(); | 137 | if (reader.Name == "SceneObjectGroup") |
138 | coa.Add(SceneObjectSerializer.FromOriginalXmlFormat(soXml)); | 138 | { |
139 | string soXml = reader.ReadOuterXml(); | ||
140 | coa.Add(SceneObjectSerializer.FromOriginalXmlFormat(soXml)); | ||
141 | } | ||
139 | } | 142 | } |
143 | |||
144 | reader.ReadEndElement(); // CoalescedObject | ||
140 | } | 145 | } |
141 | 146 | catch (Exception e) | |
142 | reader.ReadEndElement(); // CoalescedObject | 147 | { |
148 | m_log.ErrorFormat( | ||
149 | "[COALESCED SCENE OBJECTS SERIALIZER]: Deserialization of xml failed with {0} {1}", | ||
150 | e.Message, e.StackTrace); | ||
151 | |||
152 | return false; | ||
153 | } | ||
143 | } | 154 | } |
144 | } | 155 | } |
145 | 156 | ||
diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index 83906d7..77b1535 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs | |||
@@ -298,10 +298,20 @@ namespace OpenSim.Region.Framework.Scenes | |||
298 | if (null != objectAsset) | 298 | if (null != objectAsset) |
299 | { | 299 | { |
300 | string xml = Utils.BytesToString(objectAsset.Data); | 300 | string xml = Utils.BytesToString(objectAsset.Data); |
301 | SceneObjectGroup sog = SceneObjectSerializer.FromOriginalXmlFormat(xml); | 301 | |
302 | 302 | CoalescedSceneObjects coa; | |
303 | if (null != sog) | 303 | if (CoalescedSceneObjectsSerializer.TryFromXml(xml, out coa)) |
304 | GatherAssetUuids(sog, assetUuids); | 304 | { |
305 | foreach (SceneObjectGroup sog in coa.Objects) | ||
306 | GatherAssetUuids(sog, assetUuids); | ||
307 | } | ||
308 | else | ||
309 | { | ||
310 | SceneObjectGroup sog = SceneObjectSerializer.FromOriginalXmlFormat(xml); | ||
311 | |||
312 | if (null != sog) | ||
313 | GatherAssetUuids(sog, assetUuids); | ||
314 | } | ||
305 | } | 315 | } |
306 | } | 316 | } |
307 | 317 | ||
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs index 373ffeb..42efd67 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs | |||
@@ -391,7 +391,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
391 | 391 | ||
392 | string r = LLSDHelpers.SerialiseLLSDReply(voiceAccountResponse); | 392 | string r = LLSDHelpers.SerialiseLLSDReply(voiceAccountResponse); |
393 | 393 | ||
394 | m_log.DebugFormat("[FreeSwitchVoice][PROVISIONVOICE]: avatar \"{0}\": {1}", avatarName, r); | 394 | // m_log.DebugFormat("[FreeSwitchVoice][PROVISIONVOICE]: avatar \"{0}\": {1}", avatarName, r); |
395 | 395 | ||
396 | return r; | 396 | return r; |
397 | } | 397 | } |
@@ -458,8 +458,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
458 | 458 | ||
459 | if ((land.Flags & (uint)ParcelFlags.AllowVoiceChat) == 0) | 459 | if ((land.Flags & (uint)ParcelFlags.AllowVoiceChat) == 0) |
460 | { | 460 | { |
461 | m_log.DebugFormat("[FreeSwitchVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": voice not enabled for parcel", | 461 | // m_log.DebugFormat("[FreeSwitchVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": voice not enabled for parcel", |
462 | scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName); | 462 | // scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName); |
463 | channelUri = String.Empty; | 463 | channelUri = String.Empty; |
464 | } | 464 | } |
465 | else | 465 | else |
@@ -474,8 +474,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
474 | parcelVoiceInfo = new LLSDParcelVoiceInfoResponse(scene.RegionInfo.RegionName, land.LocalID, creds); | 474 | parcelVoiceInfo = new LLSDParcelVoiceInfoResponse(scene.RegionInfo.RegionName, land.LocalID, creds); |
475 | string r = LLSDHelpers.SerialiseLLSDReply(parcelVoiceInfo); | 475 | string r = LLSDHelpers.SerialiseLLSDReply(parcelVoiceInfo); |
476 | 476 | ||
477 | m_log.DebugFormat("[FreeSwitchVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": {4}", | 477 | // m_log.DebugFormat("[FreeSwitchVoice][PARCELVOICE]: region \"{0}\": Parcel \"{1}\" ({2}): avatar \"{3}\": {4}", |
478 | scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, r); | 478 | // scene.RegionInfo.RegionName, land.Name, land.LocalID, avatarName, r); |
479 | return r; | 479 | return r; |
480 | } | 480 | } |
481 | catch (Exception e) | 481 | catch (Exception e) |
@@ -850,16 +850,25 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
850 | 850 | ||
851 | Hashtable requestBody = ParseRequestBody((string)request["body"]); | 851 | Hashtable requestBody = ParseRequestBody((string)request["body"]); |
852 | 852 | ||
853 | string section = (string) requestBody["section"]; | 853 | string section = (string) requestBody["section"]; |
854 | |||
855 | m_log.DebugFormat("[FreeSwitchVoice]: Received request for config section {0}", section); | ||
856 | 854 | ||
857 | if (section == "directory") | 855 | if (section == "directory") |
856 | { | ||
857 | string eventCallingFunction = (string)requestBody["Event-Calling-Function"]; | ||
858 | m_log.DebugFormat( | ||
859 | "[FreeSwitchVoice]: Received request for config section directory, event calling function '{0}'", | ||
860 | eventCallingFunction); | ||
861 | |||
858 | response = m_FreeswitchService.HandleDirectoryRequest(requestBody); | 862 | response = m_FreeswitchService.HandleDirectoryRequest(requestBody); |
863 | } | ||
859 | else if (section == "dialplan") | 864 | else if (section == "dialplan") |
865 | { | ||
866 | m_log.DebugFormat("[FreeSwitchVoice]: Received request for config section dialplan"); | ||
867 | |||
860 | response = m_FreeswitchService.HandleDialplanRequest(requestBody); | 868 | response = m_FreeswitchService.HandleDialplanRequest(requestBody); |
869 | } | ||
861 | else | 870 | else |
862 | m_log.WarnFormat("[FreeSwitchVoice]: Unknown section {0} was requested.", section); | 871 | m_log.WarnFormat("[FreeSwitchVoice]: Unknown section {0} was requested from config.", section); |
863 | 872 | ||
864 | return response; | 873 | return response; |
865 | } | 874 | } |
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs index 211a0a7..64774d8 100644 --- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs +++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs | |||
@@ -84,10 +84,11 @@ namespace OpenSim.Region.Physics.Meshing | |||
84 | public Meshmerizer(IConfigSource config) | 84 | public Meshmerizer(IConfigSource config) |
85 | { | 85 | { |
86 | IConfig start_config = config.Configs["Startup"]; | 86 | IConfig start_config = config.Configs["Startup"]; |
87 | IConfig mesh_config = config.Configs["Mesh"]; | ||
87 | 88 | ||
88 | decodedSculptMapPath = start_config.GetString("DecodedSculptMapPath","j2kDecodeCache"); | 89 | decodedSculptMapPath = start_config.GetString("DecodedSculptMapPath","j2kDecodeCache"); |
89 | cacheSculptMaps = start_config.GetBoolean("CacheSculptMaps", cacheSculptMaps); | 90 | cacheSculptMaps = start_config.GetBoolean("CacheSculptMaps", cacheSculptMaps); |
90 | useMeshiesPhysicsMesh = start_config.GetBoolean("UseMeshiesPhysicsMesh", useMeshiesPhysicsMesh); | 91 | useMeshiesPhysicsMesh = mesh_config.GetBoolean("UseMeshiesPhysicsMesh", useMeshiesPhysicsMesh); |
91 | 92 | ||
92 | try | 93 | try |
93 | { | 94 | { |
diff --git a/OpenSim/Services/FreeswitchService/FreeswitchService.cs b/OpenSim/Services/FreeswitchService/FreeswitchService.cs index 1ec89da..c3f1056 100644 --- a/OpenSim/Services/FreeswitchService/FreeswitchService.cs +++ b/OpenSim/Services/FreeswitchService/FreeswitchService.cs | |||
@@ -56,7 +56,7 @@ namespace OpenSim.Services.FreeswitchService | |||
56 | 56 | ||
57 | foreach (DictionaryEntry item in request) | 57 | foreach (DictionaryEntry item in request) |
58 | { | 58 | { |
59 | m_log.InfoFormat("[FreeSwitchDirectory]: requestBody item {0} {1}",item.Key, item.Value); | 59 | // m_log.InfoFormat("[FreeSwitchDirectory]: requestBody item {0} {1}",item.Key, item.Value); |
60 | } | 60 | } |
61 | 61 | ||
62 | string requestcontext = (string) request["Hunt-Context"]; | 62 | string requestcontext = (string) request["Hunt-Context"]; |
@@ -146,10 +146,8 @@ namespace OpenSim.Services.FreeswitchService | |||
146 | //domain=9.20.151.43 | 146 | //domain=9.20.151.43 |
147 | //ip=9.167.220.137 // this is the correct IP rather than sip_contact_host above when through a vpn or NAT setup | 147 | //ip=9.167.220.137 // this is the correct IP rather than sip_contact_host above when through a vpn or NAT setup |
148 | 148 | ||
149 | foreach (DictionaryEntry item in request) | 149 | // foreach (DictionaryEntry item in request) |
150 | { | 150 | // m_log.DebugFormat("[FreeSwitchDirectory]: requestBody item {0} {1}", item.Key, item.Value); |
151 | m_log.DebugFormat("[FreeSwitchDirectory]: requestBody item {0} {1}", item.Key, item.Value); | ||
152 | } | ||
153 | 151 | ||
154 | string eventCallingFunction = (string) request["Event-Calling-Function"]; | 152 | string eventCallingFunction = (string) request["Event-Calling-Function"]; |
155 | if (eventCallingFunction == null) | 153 | if (eventCallingFunction == null) |
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 30ebf84..2521c6c 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini | |||
@@ -149,12 +149,6 @@ | |||
149 | ; to false if you have compatibility problems. | 149 | ; to false if you have compatibility problems. |
150 | ;CacheSculptMaps = true | 150 | ;CacheSculptMaps = true |
151 | 151 | ||
152 | ; if you use Meshmerizer and want collisions for meshies, setting this to true | ||
153 | ; will cause OpenSim to attempt to decode meshies assets, extract the physics | ||
154 | ; mesh, and use it for collisions. This is currently experimental code and enabling | ||
155 | ; it may cause unexpected physics problems. | ||
156 | ;UseMeshiesPhysicsMesh = false | ||
157 | |||
158 | ; Choose one of the physics engines below | 152 | ; Choose one of the physics engines below |
159 | ; OpenDynamicsEngine is by some distance the most developed physics engine | 153 | ; OpenDynamicsEngine is by some distance the most developed physics engine |
160 | ; basicphysics effectively does not model physics at all, making all objects phantom | 154 | ; basicphysics effectively does not model physics at all, making all objects phantom |
@@ -461,6 +455,12 @@ | |||
461 | ; default is true | 455 | ; default is true |
462 | ColladaMesh = true | 456 | ColladaMesh = true |
463 | 457 | ||
458 | ; if you use Meshmerizer and want collisions for meshies, setting this to true | ||
459 | ; will cause OpenSim to attempt to decode meshies assets, extract the physics | ||
460 | ; mesh, and use it for collisions. This is currently experimental code and enabling | ||
461 | ; it may cause unexpected physics problems. | ||
462 | ;UseMeshiesPhysicsMesh = false | ||
463 | |||
464 | 464 | ||
465 | [ODEPhysicsSettings] | 465 | [ODEPhysicsSettings] |
466 | ;## | 466 | ;## |
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index ced2857..e2e9624 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example | |||
@@ -117,10 +117,6 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 | |||
117 | ; EchoPort = 50505 | 117 | ; EchoPort = 50505 |
118 | ; AttemptSTUN = false | 118 | ; AttemptSTUN = false |
119 | 119 | ||
120 | LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" | ||
121 | ;; IP of your FS server | ||
122 | ; ServerAddress = 127.0.0.1 | ||
123 | |||
124 | ; * This is the new style authentication service. Currently, only MySQL | 120 | ; * This is the new style authentication service. Currently, only MySQL |
125 | ; * is implemented. | 121 | ; * is implemented. |
126 | ; * | 122 | ; * |