aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Data/MySQL/MySQLSimulationData.cs9
-rw-r--r--OpenSim/Data/MySQL/Resources/RegionStore.migrations8
-rw-r--r--OpenSim/Data/SQLite/Resources/RegionStore.migrations8
-rw-r--r--OpenSim/Data/SQLite/SQLiteSimulationData.cs3
-rw-r--r--OpenSim/Framework/TaskInventoryItem.cs11
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs2
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs1
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs2
-rwxr-xr-xOpenSim/Region/Framework/Scenes/SceneGraph.cs1
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs10
-rw-r--r--OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs9
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs6
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs1
15 files changed, 76 insertions, 3 deletions
diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs
index ab24b76..2aaa2ff 100644
--- a/OpenSim/Data/MySQL/MySQLSimulationData.cs
+++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs
@@ -167,7 +167,7 @@ namespace OpenSim.Data.MySQL
167 "SitTargetOrientY, SitTargetOrientZ, " + 167 "SitTargetOrientY, SitTargetOrientZ, " +
168 "RegionUUID, CreatorID, " + 168 "RegionUUID, CreatorID, " +
169 "OwnerID, GroupID, " + 169 "OwnerID, GroupID, " +
170 "LastOwnerID, SceneGroupID, " + 170 "LastOwnerID, RezzerID, SceneGroupID, " +
171 "PayPrice, PayButton1, " + 171 "PayPrice, PayButton1, " +
172 "PayButton2, PayButton3, " + 172 "PayButton2, PayButton3, " +
173 "PayButton4, LoopedSound, " + 173 "PayButton4, LoopedSound, " +
@@ -207,7 +207,7 @@ namespace OpenSim.Data.MySQL
207 "?SitTargetOrientW, ?SitTargetOrientX, " + 207 "?SitTargetOrientW, ?SitTargetOrientX, " +
208 "?SitTargetOrientY, ?SitTargetOrientZ, " + 208 "?SitTargetOrientY, ?SitTargetOrientZ, " +
209 "?RegionUUID, ?CreatorID, ?OwnerID, " + 209 "?RegionUUID, ?CreatorID, ?OwnerID, " +
210 "?GroupID, ?LastOwnerID, ?SceneGroupID, " + 210 "?GroupID, ?LastOwnerID, ?RezzerID, ?SceneGroupID, " +
211 "?PayPrice, ?PayButton1, ?PayButton2, " + 211 "?PayPrice, ?PayButton1, ?PayButton2, " +
212 "?PayButton3, ?PayButton4, ?LoopedSound, " + 212 "?PayButton3, ?PayButton4, ?LoopedSound, " +
213 "?LoopedSoundGain, ?TextureAnimation, " + 213 "?LoopedSoundGain, ?TextureAnimation, " +
@@ -1279,6 +1279,10 @@ namespace OpenSim.Data.MySQL
1279 prim.OwnerID = DBGuid.FromDB(row["OwnerID"]); 1279 prim.OwnerID = DBGuid.FromDB(row["OwnerID"]);
1280 prim.GroupID = DBGuid.FromDB(row["GroupID"]); 1280 prim.GroupID = DBGuid.FromDB(row["GroupID"]);
1281 prim.LastOwnerID = DBGuid.FromDB(row["LastOwnerID"]); 1281 prim.LastOwnerID = DBGuid.FromDB(row["LastOwnerID"]);
1282 if (row["RezzerID"] != DBNull.Value)
1283 prim.RezzerID = DBGuid.FromDB(row["RezzerID"]);
1284 else
1285 prim.RezzerID = UUID.Zero;
1282 1286
1283 // explicit conversion of integers is required, which sort 1287 // explicit conversion of integers is required, which sort
1284 // of sucks. No idea if there is a shortcut here or not. 1288 // of sucks. No idea if there is a shortcut here or not.
@@ -1682,6 +1686,7 @@ namespace OpenSim.Data.MySQL
1682 cmd.Parameters.AddWithValue("OwnerID", prim.OwnerID.ToString()); 1686 cmd.Parameters.AddWithValue("OwnerID", prim.OwnerID.ToString());
1683 cmd.Parameters.AddWithValue("GroupID", prim.GroupID.ToString()); 1687 cmd.Parameters.AddWithValue("GroupID", prim.GroupID.ToString());
1684 cmd.Parameters.AddWithValue("LastOwnerID", prim.LastOwnerID.ToString()); 1688 cmd.Parameters.AddWithValue("LastOwnerID", prim.LastOwnerID.ToString());
1689 cmd.Parameters.AddWithValue("RezzerID", prim.RezzerID.ToString());
1685 cmd.Parameters.AddWithValue("OwnerMask", prim.OwnerMask); 1690 cmd.Parameters.AddWithValue("OwnerMask", prim.OwnerMask);
1686 cmd.Parameters.AddWithValue("NextOwnerMask", prim.NextOwnerMask); 1691 cmd.Parameters.AddWithValue("NextOwnerMask", prim.NextOwnerMask);
1687 cmd.Parameters.AddWithValue("GroupMask", prim.GroupMask); 1692 cmd.Parameters.AddWithValue("GroupMask", prim.GroupMask);
diff --git a/OpenSim/Data/MySQL/Resources/RegionStore.migrations b/OpenSim/Data/MySQL/Resources/RegionStore.migrations
index edc04b9..2108c76 100644
--- a/OpenSim/Data/MySQL/Resources/RegionStore.migrations
+++ b/OpenSim/Data/MySQL/Resources/RegionStore.migrations
@@ -453,3 +453,11 @@ MODIFY `cloud_scroll_x` float(9,7) NOT NULL DEFAULT '0.20',
453MODIFY `cloud_scroll_y` float(9,7) NOT NULL DEFAULT '0.01'; 453MODIFY `cloud_scroll_y` float(9,7) NOT NULL DEFAULT '0.01';
454 454
455COMMIT; 455COMMIT;
456
457:VERSION 56 #----- Add RezzerID field in table prims
458
459BEGIN;
460
461ALTER TABLE `prims` ADD COLUMN `RezzerID` char(36) DEFAULT NULL;
462
463COMMIT;
diff --git a/OpenSim/Data/SQLite/Resources/RegionStore.migrations b/OpenSim/Data/SQLite/Resources/RegionStore.migrations
index 64624db..eef14d6 100644
--- a/OpenSim/Data/SQLite/Resources/RegionStore.migrations
+++ b/OpenSim/Data/SQLite/Resources/RegionStore.migrations
@@ -363,3 +363,11 @@ CREATE TABLE IF NOT EXISTS bakedterrain(
363 Heightfield blob); 363 Heightfield blob);
364 364
365COMMIT; 365COMMIT;
366
367:VERSION 35 #----- Add RezzerID field in table prims
368
369BEGIN;
370
371ALTER TABLE `prims` ADD COLUMN `RezzerID` char(36) DEFAULT NULL;
372
373COMMIT;
diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs
index c1c7b7e..5cfc202 100644
--- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs
+++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs
@@ -1216,6 +1216,7 @@ namespace OpenSim.Data.SQLite
1216 createCol(prims, "OwnerID", typeof(String)); 1216 createCol(prims, "OwnerID", typeof(String));
1217 createCol(prims, "GroupID", typeof(String)); 1217 createCol(prims, "GroupID", typeof(String));
1218 createCol(prims, "LastOwnerID", typeof(String)); 1218 createCol(prims, "LastOwnerID", typeof(String));
1219 createCol(prims, "RezzerID", typeof(String));
1219 createCol(prims, "OwnerMask", typeof(Int32)); 1220 createCol(prims, "OwnerMask", typeof(Int32));
1220 createCol(prims, "NextOwnerMask", typeof(Int32)); 1221 createCol(prims, "NextOwnerMask", typeof(Int32));
1221 createCol(prims, "GroupMask", typeof(Int32)); 1222 createCol(prims, "GroupMask", typeof(Int32));
@@ -1679,6 +1680,7 @@ namespace OpenSim.Data.SQLite
1679 prim.OwnerID = new UUID((String)row["OwnerID"]); 1680 prim.OwnerID = new UUID((String)row["OwnerID"]);
1680 prim.GroupID = new UUID((String)row["GroupID"]); 1681 prim.GroupID = new UUID((String)row["GroupID"]);
1681 prim.LastOwnerID = new UUID((String)row["LastOwnerID"]); 1682 prim.LastOwnerID = new UUID((String)row["LastOwnerID"]);
1683 prim.RezzerID = row["RezzerID"] == DBNull.Value ? UUID.Zero : new UUID((String)row["RezzerID"]);
1682 prim.OwnerMask = Convert.ToUInt32(row["OwnerMask"]); 1684 prim.OwnerMask = Convert.ToUInt32(row["OwnerMask"]);
1683 prim.NextOwnerMask = Convert.ToUInt32(row["NextOwnerMask"]); 1685 prim.NextOwnerMask = Convert.ToUInt32(row["NextOwnerMask"]);
1684 prim.GroupMask = Convert.ToUInt32(row["GroupMask"]); 1686 prim.GroupMask = Convert.ToUInt32(row["GroupMask"]);
@@ -2125,6 +2127,7 @@ namespace OpenSim.Data.SQLite
2125 row["OwnerID"] = prim.OwnerID.ToString(); 2127 row["OwnerID"] = prim.OwnerID.ToString();
2126 row["GroupID"] = prim.GroupID.ToString(); 2128 row["GroupID"] = prim.GroupID.ToString();
2127 row["LastOwnerID"] = prim.LastOwnerID.ToString(); 2129 row["LastOwnerID"] = prim.LastOwnerID.ToString();
2130 row["RezzerID"] = prim.RezzerID.ToString();
2128 row["OwnerMask"] = prim.OwnerMask; 2131 row["OwnerMask"] = prim.OwnerMask;
2129 row["NextOwnerMask"] = prim.NextOwnerMask; 2132 row["NextOwnerMask"] = prim.NextOwnerMask;
2130 row["GroupMask"] = prim.GroupMask; 2133 row["GroupMask"] = prim.GroupMask;
diff --git a/OpenSim/Framework/TaskInventoryItem.cs b/OpenSim/Framework/TaskInventoryItem.cs
index 2ec4bd1..b195bbe 100644
--- a/OpenSim/Framework/TaskInventoryItem.cs
+++ b/OpenSim/Framework/TaskInventoryItem.cs
@@ -59,6 +59,7 @@ namespace OpenSim.Framework
59 private int _invType = 0; 59 private int _invType = 0;
60 private UUID _itemID = UUID.Zero; 60 private UUID _itemID = UUID.Zero;
61 private UUID _lastOwnerID = UUID.Zero; 61 private UUID _lastOwnerID = UUID.Zero;
62 private UUID _rezzerID = UUID.Zero;
62 private string _name = String.Empty; 63 private string _name = String.Empty;
63 private uint _nextOwnerMask = FULL_MASK_PERMISSIONS_GENERAL; 64 private uint _nextOwnerMask = FULL_MASK_PERMISSIONS_GENERAL;
64 private UUID _ownerID = UUID.Zero; 65 private UUID _ownerID = UUID.Zero;
@@ -254,6 +255,16 @@ namespace OpenSim.Framework
254 } 255 }
255 } 256 }
256 257
258 public UUID RezzerID
259 {
260 get {
261 return _rezzerID;
262 }
263 set {
264 _rezzerID = value;
265 }
266 }
267
257 public string Name { 268 public string Name {
258 get { 269 get {
259 return _name; 270 return _name;
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
index 2481d11..032104d 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
@@ -1046,6 +1046,7 @@ namespace OpenSim.Region.ClientStack.Linden
1046 prim.OwnerID = owner_id; 1046 prim.OwnerID = owner_id;
1047 prim.GroupID = UUID.Zero; 1047 prim.GroupID = UUID.Zero;
1048 prim.LastOwnerID = creatorID; 1048 prim.LastOwnerID = creatorID;
1049 prim.RezzerID = creatorID;
1049 prim.CreationDate = Util.UnixTimeSinceEpoch(); 1050 prim.CreationDate = Util.UnixTimeSinceEpoch();
1050 1051
1051 if (grp == null) 1052 if (grp == null)
@@ -1093,6 +1094,7 @@ namespace OpenSim.Region.ClientStack.Linden
1093 { 1094 {
1094 grp = new SceneObjectGroup(prim); 1095 grp = new SceneObjectGroup(prim);
1095 grp.LastOwnerID = creatorID; 1096 grp.LastOwnerID = creatorID;
1097 grp.RezzerID = creatorID;
1096 } 1098 }
1097 else 1099 else
1098 grp.AddPart(prim); 1100 grp.AddPart(prim);
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs
index 769fe28..713125c 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs
@@ -284,6 +284,7 @@ namespace OpenSim.Region.ClientStack.Linden
284 prim.OwnerID = AgentId; 284 prim.OwnerID = AgentId;
285 prim.GroupID = obj.GroupID; 285 prim.GroupID = obj.GroupID;
286 prim.LastOwnerID = prim.OwnerID; 286 prim.LastOwnerID = prim.OwnerID;
287 prim.RezzerID = AgentId;
287 prim.CreationDate = Util.UnixTimeSinceEpoch(); 288 prim.CreationDate = Util.UnixTimeSinceEpoch();
288 prim.Name = obj.Name; 289 prim.Name = obj.Name;
289 prim.Description = ""; 290 prim.Description = "";
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index fa7803f..771e5fe 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -981,6 +981,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
981 // Make the rezzer the owner, as this is not necessarily set correctly in the serialized asset. 981 // Make the rezzer the owner, as this is not necessarily set correctly in the serialized asset.
982 part.LastOwnerID = part.OwnerID; 982 part.LastOwnerID = part.OwnerID;
983 part.OwnerID = remoteClient.AgentId; 983 part.OwnerID = remoteClient.AgentId;
984 part.RezzerID = remoteClient.AgentId;
984 } 985 }
985 } 986 }
986 987
@@ -1150,6 +1151,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
1150 1151
1151 part.LastOwnerID = part.OwnerID; 1152 part.LastOwnerID = part.OwnerID;
1152 part.OwnerID = item.Owner; 1153 part.OwnerID = item.Owner;
1154 part.RezzerID = item.Owner;
1153 part.Inventory.ChangeInventoryOwner(item.Owner); 1155 part.Inventory.ChangeInventoryOwner(item.Owner);
1154 } 1156 }
1155 1157
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 339fc15..daf7741 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -2625,6 +2625,8 @@ namespace OpenSim.Region.Framework.Scenes
2625 } 2625 }
2626 2626
2627 group.FromPartID = sourcePart.UUID; 2627 group.FromPartID = sourcePart.UUID;
2628 group.RezzerID = group.FromPartID;
2629
2628 if( i == 0) 2630 if( i == 0)
2629 AddNewSceneObject(group, true, curpos, rot, vel); 2631 AddNewSceneObject(group, true, curpos, rot, vel);
2630 else 2632 else
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index f5f83ca..579874a 100755
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -1942,6 +1942,7 @@ namespace OpenSim.Region.Framework.Scenes
1942 else 1942 else
1943 { 1943 {
1944 part.LastOwnerID = part.ParentGroup.RootPart.LastOwnerID; 1944 part.LastOwnerID = part.ParentGroup.RootPart.LastOwnerID;
1945 part.RezzerID = part.ParentGroup.RootPart.RezzerID;
1945 childParts.Add(part); 1946 childParts.Add(part);
1946 } 1947 }
1947 } 1948 }
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 6cdbac5..fcbcc3f 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -886,6 +886,12 @@ namespace OpenSim.Region.Framework.Scenes
886 set { m_rootPart.LastOwnerID = value; } 886 set { m_rootPart.LastOwnerID = value; }
887 } 887 }
888 888
889 public UUID RezzerID
890 {
891 get { return m_rootPart.RezzerID; }
892 set { m_rootPart.RezzerID = value; }
893 }
894
889 public UUID OwnerID 895 public UUID OwnerID
890 { 896 {
891 get { return m_rootPart.OwnerID; } 897 get { return m_rootPart.OwnerID; }
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 3a06e7d..b95b5be 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -460,7 +460,7 @@ namespace OpenSim.Region.Framework.Scenes
460 m_name = "Object"; 460 m_name = "Object";
461 461
462 CreationDate = (int)Utils.DateTimeToUnixTime(Rezzed); 462 CreationDate = (int)Utils.DateTimeToUnixTime(Rezzed);
463 LastOwnerID = CreatorID = OwnerID = ownerID; 463 RezzerID = LastOwnerID = CreatorID = OwnerID = ownerID;
464 UUID = UUID.Random(); 464 UUID = UUID.Random();
465 Shape = shape; 465 Shape = shape;
466 OwnershipCost = 0; 466 OwnershipCost = 0;
@@ -484,6 +484,7 @@ namespace OpenSim.Region.Framework.Scenes
484 484
485 #region XML Schema 485 #region XML Schema
486 486
487 private UUID _rezzerID;
487 private UUID _lastOwnerID; 488 private UUID _lastOwnerID;
488 private UUID _ownerID; 489 private UUID _ownerID;
489 private UUID _groupID; 490 private UUID _groupID;
@@ -1385,6 +1386,12 @@ namespace OpenSim.Region.Framework.Scenes
1385 set { _lastOwnerID = value; } 1386 set { _lastOwnerID = value; }
1386 } 1387 }
1387 1388
1389 public UUID RezzerID
1390 {
1391 get { return _rezzerID; }
1392 set { _rezzerID = value; }
1393 }
1394
1388 public uint BaseMask 1395 public uint BaseMask
1389 { 1396 {
1390 get { return _baseMask; } 1397 get { return _baseMask; }
@@ -2222,6 +2229,7 @@ namespace OpenSim.Region.Framework.Scenes
2222 2229
2223 // This may be wrong... it might have to be applied in SceneObjectGroup to the object that's being duplicated. 2230 // This may be wrong... it might have to be applied in SceneObjectGroup to the object that's being duplicated.
2224 dupe.LastOwnerID = OwnerID; 2231 dupe.LastOwnerID = OwnerID;
2232 dupe.RezzerID = RezzerID;
2225 2233
2226 byte[] extraP = new byte[Shape.ExtraParams.Length]; 2234 byte[] extraP = new byte[Shape.ExtraParams.Length];
2227 Array.Copy(Shape.ExtraParams, extraP, extraP.Length); 2235 Array.Copy(Shape.ExtraParams, extraP, extraP.Length);
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
index 7d3a168..0b7379b 100644
--- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
+++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
@@ -428,6 +428,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
428 m_SOPXmlProcessors.Add("GroupID", ProcessGroupID); 428 m_SOPXmlProcessors.Add("GroupID", ProcessGroupID);
429 m_SOPXmlProcessors.Add("OwnerID", ProcessOwnerID); 429 m_SOPXmlProcessors.Add("OwnerID", ProcessOwnerID);
430 m_SOPXmlProcessors.Add("LastOwnerID", ProcessLastOwnerID); 430 m_SOPXmlProcessors.Add("LastOwnerID", ProcessLastOwnerID);
431 m_SOPXmlProcessors.Add("RezzerID", ProcessRezzerID);
431 m_SOPXmlProcessors.Add("BaseMask", ProcessBaseMask); 432 m_SOPXmlProcessors.Add("BaseMask", ProcessBaseMask);
432 m_SOPXmlProcessors.Add("OwnerMask", ProcessOwnerMask); 433 m_SOPXmlProcessors.Add("OwnerMask", ProcessOwnerMask);
433 m_SOPXmlProcessors.Add("GroupMask", ProcessGroupMask); 434 m_SOPXmlProcessors.Add("GroupMask", ProcessGroupMask);
@@ -864,6 +865,11 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
864 obj.LastOwnerID = Util.ReadUUID(reader, "LastOwnerID"); 865 obj.LastOwnerID = Util.ReadUUID(reader, "LastOwnerID");
865 } 866 }
866 867
868 private static void ProcessRezzerID(SceneObjectPart obj, XmlReader reader)
869 {
870 obj.RezzerID = Util.ReadUUID(reader, "RezzerID");
871 }
872
867 private static void ProcessBaseMask(SceneObjectPart obj, XmlReader reader) 873 private static void ProcessBaseMask(SceneObjectPart obj, XmlReader reader)
868 { 874 {
869 obj.BaseMask = (uint)reader.ReadElementContentAsInt("BaseMask", String.Empty); 875 obj.BaseMask = (uint)reader.ReadElementContentAsInt("BaseMask", String.Empty);
@@ -1452,6 +1458,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
1452 UUID lastOwnerID = options.ContainsKey("wipe-owners") ? UUID.Zero : sop.LastOwnerID; 1458 UUID lastOwnerID = options.ContainsKey("wipe-owners") ? UUID.Zero : sop.LastOwnerID;
1453 WriteUUID(writer, "LastOwnerID", lastOwnerID, options); 1459 WriteUUID(writer, "LastOwnerID", lastOwnerID, options);
1454 1460
1461 UUID rezzerID = options.ContainsKey("wipe-owners") ? UUID.Zero : sop.RezzerID;
1462 WriteUUID(writer, "RezzerID", rezzerID, options);
1463
1455 writer.WriteElementString("BaseMask", sop.BaseMask.ToString()); 1464 writer.WriteElementString("BaseMask", sop.BaseMask.ToString());
1456 writer.WriteElementString("OwnerMask", sop.OwnerMask.ToString()); 1465 writer.WriteElementString("OwnerMask", sop.OwnerMask.ToString());
1457 writer.WriteElementString("GroupMask", sop.GroupMask.ToString()); 1466 writer.WriteElementString("GroupMask", sop.GroupMask.ToString());
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 763106f..71e8ca9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -13793,6 +13793,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
13793 } catch { }; 13793 } catch { };
13794 ret.Add(new LSL_Integer(invcount)); 13794 ret.Add(new LSL_Integer(invcount));
13795 break; 13795 break;
13796 case ScriptBaseClass.OBJECT_REZZER_KEY:
13797 ret.Add(new LSL_Key(id));
13798 break;
13796 case ScriptBaseClass.OBJECT_GROUP_TAG: 13799 case ScriptBaseClass.OBJECT_GROUP_TAG:
13797 ret.Add(new LSL_String(av.Grouptitle)); 13800 ret.Add(new LSL_String(av.Grouptitle));
13798 break; 13801 break;
@@ -13988,6 +13991,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
13988 count += parts[i].Inventory.Count; 13991 count += parts[i].Inventory.Count;
13989 ret.Add(new LSL_Integer(count)); 13992 ret.Add(new LSL_Integer(count));
13990 break; 13993 break;
13994 case ScriptBaseClass.OBJECT_REZZER_KEY:
13995 ret.Add(new LSL_Key(obj.ParentGroup.RezzerID.ToString()));
13996 break;
13991 case ScriptBaseClass.OBJECT_GROUP_TAG: 13997 case ScriptBaseClass.OBJECT_GROUP_TAG:
13992 ret.Add(new LSL_String(String.Empty)); 13998 ret.Add(new LSL_String(String.Empty));
13993 break; 13999 break;
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
index 48afcc0..734d878 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
@@ -640,6 +640,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
640 public const int OBJECT_OMEGA = 29; 640 public const int OBJECT_OMEGA = 29;
641 public const int OBJECT_PRIM_COUNT = 30; 641 public const int OBJECT_PRIM_COUNT = 30;
642 public const int OBJECT_TOTAL_INVENTORY_COUNT = 31; 642 public const int OBJECT_TOTAL_INVENTORY_COUNT = 31;
643 public const int OBJECT_REZZER_KEY = 32;
643 public const int OBJECT_GROUP_TAG = 33; 644 public const int OBJECT_GROUP_TAG = 33;
644 public const int OBJECT_TEMP_ATTACHED = 34; 645 public const int OBJECT_TEMP_ATTACHED = 34;
645 646