aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie2012-02-04 11:48:20 +0000
committerMelanie2012-02-04 11:48:20 +0000
commitce5e900721cb0447f76bcb198faf5f7c31eeaf6e (patch)
treec906a2b8858f9c590e39e2a26f47017fd7b6b9c6 /OpenSim/Region
parentMerge branch 'master' into careminster (diff)
parentAdd default value to TelehubObject (diff)
downloadopensim-SC-ce5e900721cb0447f76bcb198faf5f7c31eeaf6e.zip
opensim-SC-ce5e900721cb0447f76bcb198faf5f7c31eeaf6e.tar.gz
opensim-SC-ce5e900721cb0447f76bcb198faf5f7c31eeaf6e.tar.bz2
opensim-SC-ce5e900721cb0447f76bcb198faf5f7c31eeaf6e.tar.xz
Merge branch 'master' into careminster
Conflicts: OpenSim/Data/MySQL/Resources/RegionStore.migrations OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs8
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs2
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs10
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs4
-rw-r--r--OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs23
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs15
-rw-r--r--OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs103
-rw-r--r--OpenSim/Region/Framework/Scenes/Tests/SceneObjectScriptTests.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs2
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs2
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs30
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs32
14 files changed, 106 insertions, 131 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 8c0a7e9..f019a83 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -4497,7 +4497,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4497 EstateCovenantReplyPacket einfopack = new EstateCovenantReplyPacket(); 4497 EstateCovenantReplyPacket einfopack = new EstateCovenantReplyPacket();
4498 EstateCovenantReplyPacket.DataBlock edata = new EstateCovenantReplyPacket.DataBlock(); 4498 EstateCovenantReplyPacket.DataBlock edata = new EstateCovenantReplyPacket.DataBlock();
4499 edata.CovenantID = covenant; 4499 edata.CovenantID = covenant;
4500 edata.CovenantTimestamp = 0; 4500 edata.CovenantTimestamp = (uint) m_scene.RegionInfo.RegionSettings.CovenantChangedDateTime;
4501 edata.EstateOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; 4501 edata.EstateOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
4502 edata.EstateName = Utils.StringToBytes(m_scene.RegionInfo.EstateSettings.EstateName); 4502 edata.EstateName = Utils.StringToBytes(m_scene.RegionInfo.EstateSettings.EstateName);
4503 einfopack.Data = edata; 4503 einfopack.Data = edata;
@@ -4505,8 +4505,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4505 } 4505 }
4506 4506
4507 public void SendDetailedEstateData( 4507 public void SendDetailedEstateData(
4508 UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, 4508 UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition,
4509 UUID covenant, string abuseEmail, UUID estateOwner) 4509 UUID covenant, uint covenantChanged, string abuseEmail, UUID estateOwner)
4510 { 4510 {
4511// m_log.DebugFormat( 4511// m_log.DebugFormat(
4512// "[LLCLIENTVIEW]: Sending detailed estate data to {0} with covenant asset id {1}", Name, covenant); 4512// "[LLCLIENTVIEW]: Sending detailed estate data to {0} with covenant asset id {1}", Name, covenant);
@@ -4531,7 +4531,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4531 returnblock[4].Parameter = Utils.StringToBytes(sunPosition.ToString()); 4531 returnblock[4].Parameter = Utils.StringToBytes(sunPosition.ToString());
4532 returnblock[5].Parameter = Utils.StringToBytes(parentEstate.ToString()); 4532 returnblock[5].Parameter = Utils.StringToBytes(parentEstate.ToString());
4533 returnblock[6].Parameter = Utils.StringToBytes(covenant.ToString()); 4533 returnblock[6].Parameter = Utils.StringToBytes(covenant.ToString());
4534 returnblock[7].Parameter = Utils.StringToBytes("1160895077"); // what is this? 4534 returnblock[7].Parameter = Utils.StringToBytes(covenantChanged.ToString());
4535 returnblock[8].Parameter = Utils.StringToBytes("1"); // what is this? 4535 returnblock[8].Parameter = Utils.StringToBytes("1"); // what is this?
4536 returnblock[9].Parameter = Utils.StringToBytes(abuseEmail); 4536 returnblock[9].Parameter = Utils.StringToBytes(abuseEmail);
4537 4537
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs
index 63fde07..c6e9964 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs
@@ -412,7 +412,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
412 { 412 {
413 int majorVersion, minorVersion; 413 int majorVersion, minorVersion;
414 414
415 if (options.ContainsKey("profile")) 415 if (options.ContainsKey("home"))
416 { 416 {
417 majorVersion = 1; 417 majorVersion = 1;
418 minorVersion = 2; 418 minorVersion = 2;
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
index 150d913..a81f36c 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
@@ -122,7 +122,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
122 122
123 scene.AddCommand( 123 scene.AddCommand(
124 this, "save iar", 124 this, "save iar",
125 "save iar [-h|--home=<url>] [--noassets] <first> <last> <inventory path> <password> [<IAR path>] [--v|-verbose]", 125 "save iar [-h|--home=<url>] [--noassets] <first> <last> <inventory path> <password> [<IAR path>] [-c|--creators] [-v|--verbose]",
126 "Save user inventory archive (IAR).", 126 "Save user inventory archive (IAR).",
127 "<first> is the user's first name." + Environment.NewLine 127 "<first> is the user's first name." + Environment.NewLine
128 + "<last> is the user's last name." + Environment.NewLine 128 + "<last> is the user's last name." + Environment.NewLine
@@ -396,7 +396,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
396 396
397 OptionSet ops = new OptionSet(); 397 OptionSet ops = new OptionSet();
398 //ops.Add("v|version=", delegate(string v) { options["version"] = v; }); 398 //ops.Add("v|version=", delegate(string v) { options["version"] = v; });
399 ops.Add("p|profile=", delegate(string v) { options["profile"] = v; }); 399 ops.Add("h|home=", delegate(string v) { options["home"] = v; });
400 ops.Add("v|verbose", delegate(string v) { options["verbose"] = v; }); 400 ops.Add("v|verbose", delegate(string v) { options["verbose"] = v; });
401 ops.Add("c|creators", delegate(string v) { options["creators"] = v; }); 401 ops.Add("c|creators", delegate(string v) { options["creators"] = v; });
402 ops.Add("noassets", delegate(string v) { options["noassets"] = v != null; }); 402 ops.Add("noassets", delegate(string v) { options["noassets"] = v != null; });
@@ -408,13 +408,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
408 if (mainParams.Count < 6) 408 if (mainParams.Count < 6)
409 { 409 {
410 m_log.Error( 410 m_log.Error(
411 "[INVENTORY ARCHIVER]: usage is save iar [--p|-profile=<url>] [--noassets] <first name> <last name> <inventory path> <user password> [<save file path>]"); 411 "[INVENTORY ARCHIVER]: usage is save iar [-h|--home=<url>] [--noassets] <first name> <last name> <inventory path> <user password> [<save file path>] [-c|--creators] [-v|--verbose]");
412 return; 412 return;
413 } 413 }
414 414
415 m_log.Info("[INVENTORY ARCHIVER]: PLEASE NOTE THAT THIS FACILITY IS EXPERIMENTAL. BUG REPORTS WELCOME."); 415 m_log.Info("[INVENTORY ARCHIVER]: PLEASE NOTE THAT THIS FACILITY IS EXPERIMENTAL. BUG REPORTS WELCOME.");
416 if (options.ContainsKey("profile")) 416 if (options.ContainsKey("home"))
417 m_log.WarnFormat("[INVENTORY ARCHIVER]: Please be aware that inventory archives with creator information are not compatible with OpenSim 0.7.0.2 and earlier. Do not use the -profile option if you want to produce a compatible IAR"); 417 m_log.WarnFormat("[INVENTORY ARCHIVER]: Please be aware that inventory archives with creator information are not compatible with OpenSim 0.7.0.2 and earlier. Do not use the -home option if you want to produce a compatible IAR");
418 418
419 string firstName = mainParams[2]; 419 string firstName = mainParams[2];
420 string lastName = mainParams[3]; 420 string lastName = mainParams[3];
diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
index 900260d..7b872b9 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
@@ -306,10 +306,10 @@ namespace OpenSim.Region.CoreModules.World.Archiver
306 306
307 protected AssetBase PostProcess(AssetBase asset) 307 protected AssetBase PostProcess(AssetBase asset)
308 { 308 {
309 if (asset.Type == (sbyte)AssetType.Object && asset.Data != null && m_options.ContainsKey("profile")) 309 if (asset.Type == (sbyte)AssetType.Object && asset.Data != null && m_options.ContainsKey("home"))
310 { 310 {
311 //m_log.DebugFormat("[ARCHIVER]: Rewriting object data for {0}", asset.ID); 311 //m_log.DebugFormat("[ARCHIVER]: Rewriting object data for {0}", asset.ID);
312 string xml = ExternalRepresentationUtils.RewriteSOP(Utils.BytesToString(asset.Data), m_options["profile"].ToString(), m_userAccountService, m_scopeID); 312 string xml = ExternalRepresentationUtils.RewriteSOP(Utils.BytesToString(asset.Data), m_options["home"].ToString(), m_userAccountService, m_scopeID);
313 asset.Data = Utils.StringToBytes(xml); 313 asset.Data = Utils.StringToBytes(xml);
314 } 314 }
315 return asset; 315 return asset;
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
index d5e3314..35f47d2 100644
--- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
@@ -88,6 +88,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
88 GetEstateFlags(), 88 GetEstateFlags(),
89 sun, 89 sun,
90 Scene.RegionInfo.RegionSettings.Covenant, 90 Scene.RegionInfo.RegionSettings.Covenant,
91 (uint) Scene.RegionInfo.RegionSettings.CovenantChangedDateTime,
91 Scene.RegionInfo.EstateSettings.AbuseEmail, 92 Scene.RegionInfo.EstateSettings.AbuseEmail,
92 estateOwner); 93 estateOwner);
93 } 94 }
@@ -285,6 +286,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
285// remoteClient.Name, estateCovenantID); 286// remoteClient.Name, estateCovenantID);
286 287
287 Scene.RegionInfo.RegionSettings.Covenant = estateCovenantID; 288 Scene.RegionInfo.RegionSettings.Covenant = estateCovenantID;
289 Scene.RegionInfo.RegionSettings.CovenantChangedDateTime = Util.UnixTimeSinceEpoch();
288 Scene.RegionInfo.RegionSettings.Save(); 290 Scene.RegionInfo.RegionSettings.Save();
289 TriggerRegionInfoChange(); 291 TriggerRegionInfoChange();
290 } 292 }
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 817736f..58de44e 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -1491,12 +1491,27 @@ namespace OpenSim.Region.Framework.Scenes
1491// m_log.DebugFormat( 1491// m_log.DebugFormat(
1492// "[PRIM INVENTORY]: Updating item {0} in {1} for UpdateTaskInventory()", 1492// "[PRIM INVENTORY]: Updating item {0} in {1} for UpdateTaskInventory()",
1493// currentItem.Name, part.Name); 1493// currentItem.Name, part.Name);
1494 IAgentAssetTransactions agentTransactions = this.RequestModuleInterface<IAgentAssetTransactions>(); 1494
1495 if (agentTransactions != null) 1495 // Only look for an uploaded updated asset if we are passed a transaction ID. This is only the
1496 // case for updates uploded through UDP. Updates uploaded via a capability (e.g. a script update)
1497 // will not pass in a transaction ID in the update message.
1498 if (transactionID != UUID.Zero)
1496 { 1499 {
1497 agentTransactions.HandleTaskItemUpdateFromTransaction( 1500 IAgentAssetTransactions agentTransactions = this.RequestModuleInterface<IAgentAssetTransactions>();
1498 remoteClient, part, transactionID, currentItem); 1501 if (agentTransactions != null)
1502 {
1503 agentTransactions.HandleTaskItemUpdateFromTransaction(
1504 remoteClient, part, transactionID, currentItem);
1505
1506// if ((InventoryType)itemInfo.InvType == InventoryType.Notecard)
1507// remoteClient.SendAgentAlertMessage("Notecard saved", false);
1508// else if ((InventoryType)itemInfo.InvType == InventoryType.LSL)
1509// remoteClient.SendAgentAlertMessage("Script saved", false);
1510// else
1511// remoteClient.SendAgentAlertMessage("Item saved", false);
1512 }
1499 } 1513 }
1514
1500 // Base ALWAYS has move 1515 // Base ALWAYS has move
1501 currentItem.BasePermissions |= (uint)PermissionMask.Move; 1516 currentItem.BasePermissions |= (uint)PermissionMask.Move;
1502 1517
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 0d14963..a6c234e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -2781,10 +2781,6 @@ namespace OpenSim.Region.Framework.Scenes
2781 if (ParentGroup == null) 2781 if (ParentGroup == null)
2782 return; 2782 return;
2783 2783
2784 // When running OpenSim tests, Scene (and EventManager can be null).
2785 // Need to fix tests before we can trigger this here
2786 // ParentGroup.Scene.EventManager.TriggerSceneObjectPartUpdated(this);
2787
2788 ParentGroup.QueueForUpdateCheck(); 2784 ParentGroup.QueueForUpdateCheck();
2789 2785
2790 int timeNow = Util.UnixTimeSinceEpoch(); 2786 int timeNow = Util.UnixTimeSinceEpoch();
@@ -2806,6 +2802,9 @@ namespace OpenSim.Region.Framework.Scenes
2806 // m_log.DebugFormat( 2802 // m_log.DebugFormat(
2807 // "[SCENE OBJECT PART]: Scheduling full update for {0}, {1} at {2}", 2803 // "[SCENE OBJECT PART]: Scheduling full update for {0}, {1} at {2}",
2808 // UUID, Name, TimeStampFull); 2804 // UUID, Name, TimeStampFull);
2805
2806 if (ParentGroup.Scene != null)
2807 ParentGroup.Scene.EventManager.TriggerSceneObjectPartUpdated(this);
2809 } 2808 }
2810 2809
2811 /// <summary> 2810 /// <summary>
@@ -2817,15 +2816,12 @@ namespace OpenSim.Region.Framework.Scenes
2817 if (ParentGroup == null) 2816 if (ParentGroup == null)
2818 return; 2817 return;
2819 2818
2820 // When running OpenSim tests, Scene (and EventManager can be null).
2821 // Need to fix tests before we can trigger this here
2822 // ParentGroup.Scene.EventManager.TriggerSceneObjectPartUpdated(this);
2823
2824 // This was pulled from SceneViewer. Attachments always receive full updates. 2819 // This was pulled from SceneViewer. Attachments always receive full updates.
2825 // I could not verify if this is a requirement but this maintains existing behavior 2820 // I could not verify if this is a requirement but this maintains existing behavior
2826 if (ParentGroup.IsAttachment) 2821 if (ParentGroup.IsAttachment)
2827 { 2822 {
2828 ScheduleFullUpdate(); 2823 ScheduleFullUpdate();
2824 return;
2829 } 2825 }
2830 2826
2831 if (UpdateFlag == UpdateRequired.NONE) 2827 if (UpdateFlag == UpdateRequired.NONE)
@@ -2840,6 +2836,9 @@ namespace OpenSim.Region.Framework.Scenes
2840 // "[SCENE OBJECT PART]: Scheduling terse update for {0}, {1} at {2}", 2836 // "[SCENE OBJECT PART]: Scheduling terse update for {0}, {1} at {2}",
2841 // UUID, Name, TimeStampTerse); 2837 // UUID, Name, TimeStampTerse);
2842 } 2838 }
2839
2840 if (ParentGroup.Scene != null)
2841 ParentGroup.Scene.EventManager.TriggerSceneObjectPartUpdated(this);
2843 } 2842 }
2844 2843
2845 public void ScriptSetPhysicsStatus(bool UsePhysics) 2844 public void ScriptSetPhysicsStatus(bool UsePhysics)
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
index 6303cb1..ba33122 100644
--- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
+++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
@@ -34,6 +34,7 @@ using System.Xml;
34using log4net; 34using log4net;
35using OpenMetaverse; 35using OpenMetaverse;
36using OpenSim.Framework; 36using OpenSim.Framework;
37using OpenSim.Framework.Serialization.External;
37using OpenSim.Region.Framework.Interfaces; 38using OpenSim.Region.Framework.Interfaces;
38using OpenSim.Region.Framework.Scenes; 39using OpenSim.Region.Framework.Scenes;
39 40
@@ -276,14 +277,14 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
276 277
277 #region manual serialization 278 #region manual serialization
278 279
279 private delegate void SOPXmlProcessor(SceneObjectPart sop, XmlTextReader reader); 280 private static Dictionary<string, Action<SceneObjectPart, XmlTextReader>> m_SOPXmlProcessors
280 private static Dictionary<string, SOPXmlProcessor> m_SOPXmlProcessors = new Dictionary<string, SOPXmlProcessor>(); 281 = new Dictionary<string, Action<SceneObjectPart, XmlTextReader>>();
281 282
282 private delegate void TaskInventoryXmlProcessor(TaskInventoryItem item, XmlTextReader reader); 283 private static Dictionary<string, Action<TaskInventoryItem, XmlTextReader>> m_TaskInventoryXmlProcessors
283 private static Dictionary<string, TaskInventoryXmlProcessor> m_TaskInventoryXmlProcessors = new Dictionary<string, TaskInventoryXmlProcessor>(); 284 = new Dictionary<string, Action<TaskInventoryItem, XmlTextReader>>();
284 285
285 private delegate void ShapeXmlProcessor(PrimitiveBaseShape shape, XmlTextReader reader); 286 private static Dictionary<string, Action<PrimitiveBaseShape, XmlTextReader>> m_ShapeXmlProcessors
286 private static Dictionary<string, ShapeXmlProcessor> m_ShapeXmlProcessors = new Dictionary<string, ShapeXmlProcessor>(); 287 = new Dictionary<string, Action<PrimitiveBaseShape, XmlTextReader>>();
287 288
288 static SceneObjectSerializer() 289 static SceneObjectSerializer()
289 { 290 {
@@ -1480,34 +1481,14 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
1480 1481
1481 reader.ReadStartElement("SceneObjectPart"); 1482 reader.ReadStartElement("SceneObjectPart");
1482 1483
1483 string nodeName = string.Empty; 1484 ExternalRepresentationUtils.ExecuteReadProcessors(
1484 while (reader.NodeType != XmlNodeType.EndElement) 1485 obj,
1485 { 1486 m_SOPXmlProcessors,
1486 nodeName = reader.Name; 1487 reader,
1487 SOPXmlProcessor p = null; 1488 (o, nodeName, e)
1488 if (m_SOPXmlProcessors.TryGetValue(reader.Name, out p)) 1489 => m_log.ErrorFormat(
1489 { 1490 "[SceneObjectSerializer]: Exception while parsing {0} in object {1} {2}: {3}{4}",
1490 //m_log.DebugFormat("[XXX] Processing: {0}", reader.Name); 1491 ((SceneObjectPart)o).Name, ((SceneObjectPart)o).UUID, nodeName, e.Message, e.StackTrace));
1491 try
1492 {
1493 p(obj, reader);
1494 }
1495 catch (Exception e)
1496 {
1497 m_log.DebugFormat(
1498 "[SceneObjectSerializer]: exception while parsing {0} in object {1} {2}: {3}{4}",
1499 obj.Name, obj.UUID, nodeName, e.Message, e.StackTrace);
1500 if (reader.NodeType == XmlNodeType.EndElement)
1501 reader.Read();
1502 }
1503 }
1504 else
1505 {
1506// m_log.DebugFormat("[SceneObjectSerializer]: caught unknown element {0}", nodeName);
1507 reader.ReadOuterXml(); // ignore
1508 }
1509
1510 }
1511 1492
1512 reader.ReadEndElement(); // SceneObjectPart 1493 reader.ReadEndElement(); // SceneObjectPart
1513 1494
@@ -1526,17 +1507,12 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
1526 reader.ReadStartElement("TaskInventoryItem", String.Empty); // TaskInventory 1507 reader.ReadStartElement("TaskInventoryItem", String.Empty); // TaskInventory
1527 1508
1528 TaskInventoryItem item = new TaskInventoryItem(); 1509 TaskInventoryItem item = new TaskInventoryItem();
1529 while (reader.NodeType != XmlNodeType.EndElement) 1510
1530 { 1511 ExternalRepresentationUtils.ExecuteReadProcessors(
1531 TaskInventoryXmlProcessor p = null; 1512 item,
1532 if (m_TaskInventoryXmlProcessors.TryGetValue(reader.Name, out p)) 1513 m_TaskInventoryXmlProcessors,
1533 p(item, reader); 1514 reader);
1534 else 1515
1535 {
1536// m_log.DebugFormat("[SceneObjectSerializer]: caught unknown element in TaskInventory {0}, {1}", reader.Name, reader.Value);
1537 reader.ReadOuterXml();
1538 }
1539 }
1540 reader.ReadEndElement(); // TaskInventoryItem 1516 reader.ReadEndElement(); // TaskInventoryItem
1541 tinv.Add(item.ItemID, item); 1517 tinv.Add(item.ItemID, item);
1542 1518
@@ -1563,35 +1539,14 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
1563 1539
1564 reader.ReadStartElement(name, String.Empty); // Shape 1540 reader.ReadStartElement(name, String.Empty); // Shape
1565 1541
1566 string nodeName = string.Empty; 1542 ExternalRepresentationUtils.ExecuteReadProcessors(
1567 while (reader.NodeType != XmlNodeType.EndElement) 1543 shape,
1568 { 1544 m_ShapeXmlProcessors,
1569 nodeName = reader.Name; 1545 reader,
1570 //m_log.DebugFormat("[XXX] Processing: {0}", reader.Name); 1546 (o, nodeName, e)
1571 ShapeXmlProcessor p = null; 1547 => m_log.ErrorFormat(
1572 if (m_ShapeXmlProcessors.TryGetValue(reader.Name, out p)) 1548 "[SceneObjectSerializer]: Exception while parsing Shape property {0}: {1}{2}",
1573 { 1549 nodeName, e.Message, e.StackTrace));
1574 try
1575 {
1576 p(shape, reader);
1577 }
1578 catch (Exception e)
1579 {
1580 errors = true;
1581 m_log.DebugFormat(
1582 "[SceneObjectSerializer]: exception while parsing Shape property {0}: {1}{2}",
1583 nodeName, e.Message, e.StackTrace);
1584
1585 if (reader.NodeType == XmlNodeType.EndElement)
1586 reader.Read();
1587 }
1588 }
1589 else
1590 {
1591 // m_log.DebugFormat("[SceneObjectSerializer]: caught unknown element in Shape {0}", reader.Name);
1592 reader.ReadOuterXml();
1593 }
1594 }
1595 1550
1596 reader.ReadEndElement(); // Shape 1551 reader.ReadEndElement(); // Shape
1597 1552
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectScriptTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectScriptTests.cs
index 6f99abd..c582cf6 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectScriptTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectScriptTests.cs
@@ -49,7 +49,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
49// log4net.Config.XmlConfigurator.Configure(); 49// log4net.Config.XmlConfigurator.Configure();
50 50
51 UUID userId = TestHelpers.ParseTail(0x1); 51 UUID userId = TestHelpers.ParseTail(0x1);
52 UUID itemId = TestHelpers.ParseTail(0x2); 52// UUID itemId = TestHelpers.ParseTail(0x2);
53 string itemName = "Test Script Item"; 53 string itemName = "Test Script Item";
54 54
55 Scene scene = SceneHelpers.SetupScene(); 55 Scene scene = SceneHelpers.SetupScene();
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs
index d4c299f..ed9b179 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs
@@ -174,7 +174,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
174 TestHelpers.InMethod(); 174 TestHelpers.InMethod();
175// log4net.Config.XmlConfigurator.Configure(); 175// log4net.Config.XmlConfigurator.Configure();
176 176
177 UUID agent1Id = UUID.Parse("00000000-0000-0000-0000-000000000001"); 177// UUID agent1Id = UUID.Parse("00000000-0000-0000-0000-000000000001");
178 178
179 TestScene myScene1 = SceneHelpers.SetupScene("Neighbour y", UUID.Random(), 1000, 1000); 179 TestScene myScene1 = SceneHelpers.SetupScene("Neighbour y", UUID.Random(), 1000, 1000);
180 TestScene myScene2 = SceneHelpers.SetupScene("Neighbour y + 1", UUID.Random(), 1001, 1000); 180 TestScene myScene2 = SceneHelpers.SetupScene("Neighbour y + 1", UUID.Random(), 1001, 1000);
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
index 8fe3199..7d7c5c5 100644
--- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
+++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
@@ -1250,7 +1250,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
1250 1250
1251 } 1251 }
1252 1252
1253 public void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, string abuseEmail, UUID estateOwner) 1253 public void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, uint covenantChanged, string abuseEmail, UUID estateOwner)
1254 { 1254 {
1255 1255
1256 } 1256 }
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
index 7f5372c..03b52c0 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
@@ -937,7 +937,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
937 public void SendTelehubInfo(UUID ObjectID, string ObjectName, Vector3 ObjectPos, Quaternion ObjectRot, List<Vector3> SpawnPoint) 937 public void SendTelehubInfo(UUID ObjectID, string ObjectName, Vector3 ObjectPos, Quaternion ObjectRot, List<Vector3> SpawnPoint)
938 { 938 {
939 } 939 }
940 public void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, string abuseEmail, UUID estateOwner) 940 public void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, uint covenantChanged, string abuseEmail, UUID estateOwner)
941 { 941 {
942 } 942 }
943 943
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
index 3831d7a..6a48b89 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
@@ -140,24 +140,26 @@ namespace OpenSim.Region.OptionalModules.World.NPC
140// acd.AgentID, i, acd.Appearance.Texture.FaceTextures[i]); 140// acd.AgentID, i, acd.Appearance.Texture.FaceTextures[i]);
141// } 141// }
142 142
143 scene.AuthenticateHandler.AddNewCircuit(npcAvatar.CircuitCode, acd); 143 lock (m_avatars)
144 scene.AddNewClient(npcAvatar, PresenceType.Npc);
145
146 ScenePresence sp;
147 if (scene.TryGetScenePresence(npcAvatar.AgentId, out sp))
148 { 144 {
149 m_log.DebugFormat( 145 scene.AuthenticateHandler.AddNewCircuit(npcAvatar.CircuitCode, acd);
150 "[NPC MODULE]: Successfully retrieved scene presence for NPC {0} {1}", sp.Name, sp.UUID); 146 scene.AddNewClient(npcAvatar, PresenceType.Npc);
151 147
152 sp.CompleteMovement(npcAvatar, false); 148 ScenePresence sp;
153 } 149 if (scene.TryGetScenePresence(npcAvatar.AgentId, out sp))
154 else 150 {
155 { 151 m_log.DebugFormat(
156 m_log.WarnFormat("[NPC MODULE]: Could not find scene presence for NPC {0} {1}", sp.Name, sp.UUID); 152 "[NPC MODULE]: Successfully retrieved scene presence for NPC {0} {1}", sp.Name, sp.UUID);
157 } 153
154 sp.CompleteMovement(npcAvatar, false);
155 }
156 else
157 {
158 m_log.WarnFormat("[NPC MODULE]: Could not find scene presence for NPC {0} {1}", sp.Name, sp.UUID);
159 }
158 160
159 lock (m_avatars)
160 m_avatars.Add(npcAvatar.AgentId, npcAvatar); 161 m_avatars.Add(npcAvatar.AgentId, npcAvatar);
162 }
161 163
162 m_log.DebugFormat("[NPC MODULE]: Created NPC with id {0}", npcAvatar.AgentId); 164 m_log.DebugFormat("[NPC MODULE]: Created NPC with id {0}", npcAvatar.AgentId);
163 165
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
index 9489957..3d0e5cb 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
@@ -624,20 +624,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
624 public const string URL_REQUEST_GRANTED = "URL_REQUEST_GRANTED"; 624 public const string URL_REQUEST_GRANTED = "URL_REQUEST_GRANTED";
625 public const string URL_REQUEST_DENIED = "URL_REQUEST_DENIED"; 625 public const string URL_REQUEST_DENIED = "URL_REQUEST_DENIED";
626 626
627 public static readonly LSLInteger RC_REJECT_TYPES = 2; 627 public static readonly LSLInteger RC_REJECT_TYPES = 0;
628 public static readonly LSLInteger RC_DATA_FLAGS = 4; 628 public static readonly LSLInteger RC_DETECT_PHANTOM = 1;
629 public static readonly LSLInteger RC_MAX_HITS = 8; 629 public static readonly LSLInteger RC_DATA_FLAGS = 2;
630 public static readonly LSLInteger RC_DETECT_PHANTOM = 16; 630 public static readonly LSLInteger RC_MAX_HITS = 3;
631 631
632 public static readonly LSLInteger RC_REJECT_AGENTS = 2; 632 public static readonly LSLInteger RC_REJECT_AGENTS = 1;
633 public static readonly LSLInteger RC_REJECT_PHYSICAL = 4; 633 public static readonly LSLInteger RC_REJECT_PHYSICAL = 2;
634 public static readonly LSLInteger RC_REJECT_NONPHYSICAL = 8; 634 public static readonly LSLInteger RC_REJECT_NONPHYSICAL = 4;
635 public static readonly LSLInteger RC_REJECT_LAND = 16; 635 public static readonly LSLInteger RC_REJECT_LAND = 8;
636 636
637 public static readonly LSLInteger RC_GET_NORMAL = 2; 637 public static readonly LSLInteger RC_GET_NORMAL = 1;
638 public static readonly LSLInteger RC_GET_ROOT_KEY = 4; 638 public static readonly LSLInteger RC_GET_ROOT_KEY = 2;
639 public static readonly LSLInteger RC_GET_LINK_NUM = 8; 639 public static readonly LSLInteger RC_GET_LINK_NUM = 4;
640 640
641 public static readonly LSLInteger RCERR_CAST_TIME_EXCEEDED = 1; 641 public static readonly LSLInteger RCERR_UNKNOWN = -1;
642 public static readonly LSLInteger RCERR_SIM_PERF_LOW = -2;
643 public static readonly LSLInteger RCERR_CAST_TIME_EXCEEDED = 3;
642 } 644 }
643} 645}