diff options
author | Teravus Ovares | 2007-12-07 07:42:03 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-12-07 07:42:03 +0000 |
commit | 57f666497bef6a68df9cc6e37ccf288c462a37b5 (patch) | |
tree | 4a1f4c3061ddca46fbe789191b45a6967a7a6889 /OpenSim/Region/ClientStack | |
parent | added timer_Script to OpenSim.ini.example (diff) | |
download | opensim-SC_OLD-57f666497bef6a68df9cc6e37ccf288c462a37b5.zip opensim-SC_OLD-57f666497bef6a68df9cc6e37ccf288c462a37b5.tar.gz opensim-SC_OLD-57f666497bef6a68df9cc6e37ccf288c462a37b5.tar.bz2 opensim-SC_OLD-57f666497bef6a68df9cc6e37ccf288c462a37b5.tar.xz |
* Added hacked support for 'anyone can move' and 'anyone can copy'.
* BACKUP YOUR PRIM BEFORE UPDATING TO THIS and then double check the prim permissions after applying it with a different avatar (then the master avatar or the prim owner avatar).
* Also, beware that any objects created under the old permission scheme may react oddly. They may automatically allow anyone to modify them, (which you'll then have to un-set).
* It's hacked support because when 'anyone can move is set', any avatar can modify the prim (texture, shape, scale, etc)
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 5a3e4b7..284a2de 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -1092,11 +1092,13 @@ namespace OpenSim.Region.ClientStack | |||
1092 | descend.ItemData[i].SaleType = 0; | 1092 | descend.ItemData[i].SaleType = 0; |
1093 | descend.ItemData[i].Type = (sbyte) item.assetType; | 1093 | descend.ItemData[i].Type = (sbyte) item.assetType; |
1094 | descend.ItemData[i].CRC = | 1094 | descend.ItemData[i].CRC = |
1095 | Helpers.InventoryCRC(1000, 0, descend.ItemData[i].InvType, descend.ItemData[i].Type, | 1095 | |
1096 | descend.ItemData[i].AssetID, descend.ItemData[i].GroupID, 100, | 1096 | Helpers.InventoryCRC(descend.ItemData[i].CreationDate, descend.ItemData[i].SaleType, |
1097 | descend.ItemData[i].InvType, descend.ItemData[i].Type, | ||
1098 | descend.ItemData[i].AssetID, descend.ItemData[i].GroupID, descend.ItemData[i].SalePrice, | ||
1097 | descend.ItemData[i].OwnerID, descend.ItemData[i].CreatorID, | 1099 | descend.ItemData[i].OwnerID, descend.ItemData[i].CreatorID, |
1098 | descend.ItemData[i].ItemID, descend.ItemData[i].FolderID, FULL_MASK_PERMISSIONS, | 1100 | descend.ItemData[i].ItemID, descend.ItemData[i].FolderID, descend.ItemData[i].EveryoneMask, |
1099 | 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS); | 1101 | descend.ItemData[i].Flags, descend.ItemData[i].OwnerMask, descend.ItemData[i].GroupMask, item.inventoryCurrentPermissions); |
1100 | 1102 | ||
1101 | i++; | 1103 | i++; |
1102 | count++; | 1104 | count++; |
@@ -1168,13 +1170,15 @@ namespace OpenSim.Region.ClientStack | |||
1168 | inventoryReply.InventoryData[0].SaleType = 0; | 1170 | inventoryReply.InventoryData[0].SaleType = 0; |
1169 | inventoryReply.InventoryData[0].Type = (sbyte) item.assetType; | 1171 | inventoryReply.InventoryData[0].Type = (sbyte) item.assetType; |
1170 | inventoryReply.InventoryData[0].CRC = | 1172 | inventoryReply.InventoryData[0].CRC = |
1171 | Helpers.InventoryCRC(1000, 0, inventoryReply.InventoryData[0].InvType, | 1173 | Helpers.InventoryCRC(inventoryReply.InventoryData[0].CreationDate, inventoryReply.InventoryData[0].SaleType, |
1174 | inventoryReply.InventoryData[0].InvType, | ||
1172 | inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID, | 1175 | inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID, |
1173 | inventoryReply.InventoryData[0].GroupID, 100, | 1176 | inventoryReply.InventoryData[0].GroupID, inventoryReply.InventoryData[0].SalePrice, |
1174 | inventoryReply.InventoryData[0].OwnerID, inventoryReply.InventoryData[0].CreatorID, | 1177 | inventoryReply.InventoryData[0].OwnerID, inventoryReply.InventoryData[0].CreatorID, |
1175 | inventoryReply.InventoryData[0].ItemID, inventoryReply.InventoryData[0].FolderID, | 1178 | inventoryReply.InventoryData[0].ItemID, inventoryReply.InventoryData[0].FolderID, |
1176 | FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, | 1179 | inventoryReply.InventoryData[0].EveryoneMask, inventoryReply.InventoryData[0].Flags, |
1177 | FULL_MASK_PERMISSIONS); | 1180 | inventoryReply.InventoryData[0].NextOwnerMask, inventoryReply.InventoryData[0].GroupMask, |
1181 | inventoryReply.InventoryData[0].OwnerMask); | ||
1178 | 1182 | ||
1179 | OutPacket(inventoryReply, ThrottleOutPacketType.Asset); | 1183 | OutPacket(inventoryReply, ThrottleOutPacketType.Asset); |
1180 | } | 1184 | } |
@@ -1209,13 +1213,16 @@ namespace OpenSim.Region.ClientStack | |||
1209 | InventoryReply.InventoryData[0].SaleType = 0; | 1213 | InventoryReply.InventoryData[0].SaleType = 0; |
1210 | InventoryReply.InventoryData[0].Type = (sbyte) Item.assetType; | 1214 | InventoryReply.InventoryData[0].Type = (sbyte) Item.assetType; |
1211 | InventoryReply.InventoryData[0].CRC = | 1215 | InventoryReply.InventoryData[0].CRC = |
1212 | Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType, | 1216 | Helpers.InventoryCRC(InventoryReply.InventoryData[0].CreationDate, InventoryReply.InventoryData[0].SaleType, |
1217 | InventoryReply.InventoryData[0].InvType, | ||
1213 | InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID, | 1218 | InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID, |
1214 | InventoryReply.InventoryData[0].GroupID, 100, | 1219 | InventoryReply.InventoryData[0].GroupID, InventoryReply.InventoryData[0].SalePrice, |
1215 | InventoryReply.InventoryData[0].OwnerID, InventoryReply.InventoryData[0].CreatorID, | 1220 | InventoryReply.InventoryData[0].OwnerID, InventoryReply.InventoryData[0].CreatorID, |
1216 | InventoryReply.InventoryData[0].ItemID, InventoryReply.InventoryData[0].FolderID, | 1221 | InventoryReply.InventoryData[0].ItemID, InventoryReply.InventoryData[0].FolderID, |
1217 | FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, | 1222 | InventoryReply.InventoryData[0].EveryoneMask, InventoryReply.InventoryData[0].Flags, |
1218 | FULL_MASK_PERMISSIONS); | 1223 | InventoryReply.InventoryData[0].NextOwnerMask, InventoryReply.InventoryData[0].GroupMask, |
1224 | InventoryReply.InventoryData[0].OwnerMask); | ||
1225 | |||
1219 | 1226 | ||
1220 | OutPacket(InventoryReply, ThrottleOutPacketType.Asset); | 1227 | OutPacket(InventoryReply, ThrottleOutPacketType.Asset); |
1221 | } | 1228 | } |
@@ -1595,6 +1602,7 @@ namespace OpenSim.Region.ClientStack | |||
1595 | outPacket.ObjectData[0].ClickAction = clickAction; | 1602 | outPacket.ObjectData[0].ClickAction = clickAction; |
1596 | //outPacket.ObjectData[0].Flags = 0; | 1603 | //outPacket.ObjectData[0].Flags = 0; |
1597 | outPacket.ObjectData[0].Radius = 20; | 1604 | outPacket.ObjectData[0].Radius = 20; |
1605 | |||
1598 | 1606 | ||
1599 | byte[] pb = pos.GetBytes(); | 1607 | byte[] pb = pos.GetBytes(); |
1600 | Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); | 1608 | Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); |
@@ -2039,7 +2047,7 @@ namespace OpenSim.Region.ClientStack | |||
2039 | 2047 | ||
2040 | for (int i = 0; i < multipleupdate.ObjectData.Length; i++) | 2048 | for (int i = 0; i < multipleupdate.ObjectData.Length; i++) |
2041 | { | 2049 | { |
2042 | if (tScene.PermissionsMngr.CanEditObject(simClient.AgentId, tScene.GetSceneObjectPart(multipleupdate.ObjectData[i].ObjectLocalID).UUID)) | 2050 | if (tScene.PermissionsMngr.CanEditObjectPosition(simClient.AgentId, tScene.GetSceneObjectPart(multipleupdate.ObjectData[i].ObjectLocalID).UUID)) |
2043 | { | 2051 | { |
2044 | #region position | 2052 | #region position |
2045 | 2053 | ||
@@ -2896,7 +2904,7 @@ namespace OpenSim.Region.ClientStack | |||
2896 | { | 2904 | { |
2897 | if (OnObjectDescription != null) | 2905 | if (OnObjectDescription != null) |
2898 | { | 2906 | { |
2899 | OnObjectDescription(objDes.ObjectData[i].LocalID, | 2907 | OnObjectDescription(this,objDes.ObjectData[i].LocalID, |
2900 | enc.GetString(objDes.ObjectData[i].Description)); | 2908 | enc.GetString(objDes.ObjectData[i].Description)); |
2901 | } | 2909 | } |
2902 | } | 2910 | } |
@@ -2907,7 +2915,7 @@ namespace OpenSim.Region.ClientStack | |||
2907 | { | 2915 | { |
2908 | if (OnObjectName != null) | 2916 | if (OnObjectName != null) |
2909 | { | 2917 | { |
2910 | OnObjectName(objName.ObjectData[i].LocalID, enc.GetString(objName.ObjectData[i].Name)); | 2918 | OnObjectName(this,objName.ObjectData[i].LocalID, enc.GetString(objName.ObjectData[i].Name)); |
2911 | } | 2919 | } |
2912 | } | 2920 | } |
2913 | break; | 2921 | break; |