diff options
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World')
4 files changed, 114 insertions, 114 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs b/OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs index b83de23..d519d4d 100644 --- a/OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs +++ b/OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs | |||
@@ -89,7 +89,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
89 | return m_landManagementModule.GetLandObject(x_float, y_float); | 89 | return m_landManagementModule.GetLandObject(x_float, y_float); |
90 | } | 90 | } |
91 | ILandObject obj = new LandObject(LLUUID.Zero, false, m_scene); | 91 | ILandObject obj = new LandObject(LLUUID.Zero, false, m_scene); |
92 | obj.landData.landName = "NO LAND"; | 92 | obj.landData.Name = "NO LAND"; |
93 | return obj; | 93 | return obj; |
94 | } | 94 | } |
95 | 95 | ||
@@ -101,7 +101,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
101 | return m_landManagementModule.GetLandObject(x, y); | 101 | return m_landManagementModule.GetLandObject(x, y); |
102 | } | 102 | } |
103 | ILandObject obj = new LandObject(LLUUID.Zero, false, m_scene); | 103 | ILandObject obj = new LandObject(LLUUID.Zero, false, m_scene); |
104 | obj.landData.landName = "NO LAND"; | 104 | obj.landData.Name = "NO LAND"; |
105 | return obj; | 105 | return obj; |
106 | } | 106 | } |
107 | 107 | ||
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs index b2456a2..ca03035 100644 --- a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs | |||
@@ -162,8 +162,8 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
162 | ILandObject fullSimParcel = new LandObject(LLUUID.Zero, false, m_scene); | 162 | ILandObject fullSimParcel = new LandObject(LLUUID.Zero, false, m_scene); |
163 | 163 | ||
164 | fullSimParcel.setLandBitmap(fullSimParcel.getSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize)); | 164 | fullSimParcel.setLandBitmap(fullSimParcel.getSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize)); |
165 | fullSimParcel.landData.ownerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | 165 | fullSimParcel.landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; |
166 | fullSimParcel.landData.claimDate = Util.UnixTimeSinceEpoch(); | 166 | fullSimParcel.landData.ClaimDate = Util.UnixTimeSinceEpoch(); |
167 | AddLandObject(fullSimParcel); | 167 | AddLandObject(fullSimParcel); |
168 | } | 168 | } |
169 | 169 | ||
@@ -279,18 +279,18 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
279 | if (!avatar.IsChildAgent) | 279 | if (!avatar.IsChildAgent) |
280 | { | 280 | { |
281 | over.sendLandUpdateToClient(avatar.ControllingClient); | 281 | over.sendLandUpdateToClient(avatar.ControllingClient); |
282 | m_scene.EventManager.TriggerAvatarEnteringNewParcel(avatar, over.landData.localID, | 282 | m_scene.EventManager.TriggerAvatarEnteringNewParcel(avatar, over.landData.LocalID, |
283 | m_scene.RegionInfo.RegionID); | 283 | m_scene.RegionInfo.RegionID); |
284 | } | 284 | } |
285 | } | 285 | } |
286 | 286 | ||
287 | if (avatar.currentParcelUUID != over.landData.globalID) | 287 | if (avatar.currentParcelUUID != over.landData.GlobalID) |
288 | { | 288 | { |
289 | if (!avatar.IsChildAgent) | 289 | if (!avatar.IsChildAgent) |
290 | { | 290 | { |
291 | over.sendLandUpdateToClient(avatar.ControllingClient); | 291 | over.sendLandUpdateToClient(avatar.ControllingClient); |
292 | avatar.currentParcelUUID = over.landData.globalID; | 292 | avatar.currentParcelUUID = over.landData.GlobalID; |
293 | m_scene.EventManager.TriggerAvatarEnteringNewParcel(avatar, over.landData.localID, | 293 | m_scene.EventManager.TriggerAvatarEnteringNewParcel(avatar, over.landData.LocalID, |
294 | m_scene.RegionInfo.RegionID); | 294 | m_scene.RegionInfo.RegionID); |
295 | } | 295 | } |
296 | } | 296 | } |
@@ -316,7 +316,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
316 | if (clientAvatar.AbsolutePosition.Z < LandChannel.BAN_LINE_SAFETY_HIEGHT && | 316 | if (clientAvatar.AbsolutePosition.Z < LandChannel.BAN_LINE_SAFETY_HIEGHT && |
317 | clientAvatar.sentMessageAboutRestrictedParcelFlyingDown) | 317 | clientAvatar.sentMessageAboutRestrictedParcelFlyingDown) |
318 | { | 318 | { |
319 | handleAvatarChangingParcel(clientAvatar, parcel.landData.localID, m_scene.RegionInfo.RegionID); | 319 | handleAvatarChangingParcel(clientAvatar, parcel.landData.LocalID, m_scene.RegionInfo.RegionID); |
320 | //They are going below the safety line! | 320 | //They are going below the safety line! |
321 | if (!parcel.isBannedFromLand(clientAvatar.UUID)) | 321 | if (!parcel.isBannedFromLand(clientAvatar.UUID)) |
322 | { | 322 | { |
@@ -362,7 +362,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
362 | { | 362 | { |
363 | if (landList.ContainsKey(landLocalID)) | 363 | if (landList.ContainsKey(landLocalID)) |
364 | { | 364 | { |
365 | if (agentID == landList[landLocalID].landData.ownerID) | 365 | if (agentID == landList[landLocalID].landData.OwnerID) |
366 | { | 366 | { |
367 | landList[landLocalID].updateAccessList(flags, entries, remote_client); | 367 | landList[landLocalID].updateAccessList(flags, entries, remote_client); |
368 | } | 368 | } |
@@ -388,7 +388,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
388 | public ILandObject AddLandObject(ILandObject new_land) | 388 | public ILandObject AddLandObject(ILandObject new_land) |
389 | { | 389 | { |
390 | lastLandLocalID++; | 390 | lastLandLocalID++; |
391 | new_land.landData.localID = lastLandLocalID; | 391 | new_land.landData.LocalID = lastLandLocalID; |
392 | landList.Add(lastLandLocalID, new_land.Copy()); | 392 | landList.Add(lastLandLocalID, new_land.Copy()); |
393 | 393 | ||
394 | 394 | ||
@@ -430,7 +430,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
430 | } | 430 | } |
431 | } | 431 | } |
432 | 432 | ||
433 | m_scene.EventManager.TriggerLandObjectRemoved(landList[local_id].landData.globalID); | 433 | m_scene.EventManager.TriggerLandObjectRemoved(landList[local_id].landData.GlobalID); |
434 | landList.Remove(local_id); | 434 | landList.Remove(local_id); |
435 | } | 435 | } |
436 | 436 | ||
@@ -445,13 +445,13 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
445 | { | 445 | { |
446 | if (landBitmapSlave[x, y]) | 446 | if (landBitmapSlave[x, y]) |
447 | { | 447 | { |
448 | landIDList[x, y] = master.landData.localID; | 448 | landIDList[x, y] = master.landData.LocalID; |
449 | } | 449 | } |
450 | } | 450 | } |
451 | } | 451 | } |
452 | 452 | ||
453 | removeLandObject(slave.landData.localID); | 453 | removeLandObject(slave.landData.LocalID); |
454 | UpdateLandObject(master.landData.localID, master.landData); | 454 | UpdateLandObject(master.landData.LocalID, master.landData); |
455 | } | 455 | } |
456 | 456 | ||
457 | public ILandObject GetLandObject(int parcelLocalID) | 457 | public ILandObject GetLandObject(int parcelLocalID) |
@@ -550,15 +550,15 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
550 | Dictionary<LLUUID, List<LandObject>> landOwnersAndParcels = new Dictionary<LLUUID, List<LandObject>>(); | 550 | Dictionary<LLUUID, List<LandObject>> landOwnersAndParcels = new Dictionary<LLUUID, List<LandObject>>(); |
551 | foreach (LandObject p in landList.Values) | 551 | foreach (LandObject p in landList.Values) |
552 | { | 552 | { |
553 | if (!landOwnersAndParcels.ContainsKey(p.landData.ownerID)) | 553 | if (!landOwnersAndParcels.ContainsKey(p.landData.OwnerID)) |
554 | { | 554 | { |
555 | List<LandObject> tempList = new List<LandObject>(); | 555 | List<LandObject> tempList = new List<LandObject>(); |
556 | tempList.Add(p); | 556 | tempList.Add(p); |
557 | landOwnersAndParcels.Add(p.landData.ownerID, tempList); | 557 | landOwnersAndParcels.Add(p.landData.OwnerID, tempList); |
558 | } | 558 | } |
559 | else | 559 | else |
560 | { | 560 | { |
561 | landOwnersAndParcels[p.landData.ownerID].Add(p); | 561 | landOwnersAndParcels[p.landData.OwnerID].Add(p); |
562 | } | 562 | } |
563 | } | 563 | } |
564 | 564 | ||
@@ -568,15 +568,15 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
568 | int simPrims = 0; | 568 | int simPrims = 0; |
569 | foreach (LandObject p in landOwnersAndParcels[owner]) | 569 | foreach (LandObject p in landOwnersAndParcels[owner]) |
570 | { | 570 | { |
571 | simArea += p.landData.area; | 571 | simArea += p.landData.Area; |
572 | simPrims += p.landData.ownerPrims + p.landData.otherPrims + p.landData.groupPrims + | 572 | simPrims += p.landData.OwnerPrims + p.landData.OtherPrims + p.landData.GroupPrims + |
573 | p.landData.selectedPrims; | 573 | p.landData.SelectedPrims; |
574 | } | 574 | } |
575 | 575 | ||
576 | foreach (LandObject p in landOwnersAndParcels[owner]) | 576 | foreach (LandObject p in landOwnersAndParcels[owner]) |
577 | { | 577 | { |
578 | p.landData.simwideArea = simArea; | 578 | p.landData.SimwideArea = simArea; |
579 | p.landData.simwidePrims = simPrims; | 579 | p.landData.SimwidePrims = simPrims; |
580 | } | 580 | } |
581 | } | 581 | } |
582 | } | 582 | } |
@@ -658,13 +658,13 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
658 | 658 | ||
659 | //Lets create a new land object with bitmap activated at that point (keeping the old land objects info) | 659 | //Lets create a new land object with bitmap activated at that point (keeping the old land objects info) |
660 | ILandObject newLand = startLandObject.Copy(); | 660 | ILandObject newLand = startLandObject.Copy(); |
661 | newLand.landData.landName = "Subdivision of " + newLand.landData.landName; | 661 | newLand.landData.Name = "Subdivision of " + newLand.landData.Name; |
662 | newLand.landData.globalID = LLUUID.Random(); | 662 | newLand.landData.GlobalID = LLUUID.Random(); |
663 | 663 | ||
664 | newLand.setLandBitmap(newLand.getSquareLandBitmap(start_x, start_y, end_x, end_y)); | 664 | newLand.setLandBitmap(newLand.getSquareLandBitmap(start_x, start_y, end_x, end_y)); |
665 | 665 | ||
666 | //Now, lets set the subdivision area of the original to false | 666 | //Now, lets set the subdivision area of the original to false |
667 | int startLandObjectIndex = startLandObject.landData.localID; | 667 | int startLandObjectIndex = startLandObject.landData.LocalID; |
668 | landList[startLandObjectIndex].setLandBitmap( | 668 | landList[startLandObjectIndex].setLandBitmap( |
669 | newLand.modifyLandBitmapSquare(startLandObject.getLandBitmap(), start_x, start_y, end_x, end_y, false)); | 669 | newLand.modifyLandBitmapSquare(startLandObject.getLandBitmap(), start_x, start_y, end_x, end_y, false)); |
670 | landList[startLandObjectIndex].forceUpdateLandInfo(); | 670 | landList[startLandObjectIndex].forceUpdateLandInfo(); |
@@ -673,7 +673,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
673 | 673 | ||
674 | //Now add the new land object | 674 | //Now add the new land object |
675 | ILandObject result = AddLandObject(newLand); | 675 | ILandObject result = AddLandObject(newLand); |
676 | UpdateLandObject(startLandObject.landData.localID, startLandObject.landData); | 676 | UpdateLandObject(startLandObject.landData.LocalID, startLandObject.landData); |
677 | result.sendLandUpdateToAvatarsOverMe(); | 677 | result.sendLandUpdateToAvatarsOverMe(); |
678 | 678 | ||
679 | 679 | ||
@@ -726,14 +726,14 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
726 | } | 726 | } |
727 | foreach (ILandObject p in selectedLandObjects) | 727 | foreach (ILandObject p in selectedLandObjects) |
728 | { | 728 | { |
729 | if (p.landData.ownerID != masterLandObject.landData.ownerID) | 729 | if (p.landData.OwnerID != masterLandObject.landData.OwnerID) |
730 | { | 730 | { |
731 | return; | 731 | return; |
732 | } | 732 | } |
733 | } | 733 | } |
734 | foreach (ILandObject slaveLandObject in selectedLandObjects) | 734 | foreach (ILandObject slaveLandObject in selectedLandObjects) |
735 | { | 735 | { |
736 | landList[masterLandObject.landData.localID].setLandBitmap( | 736 | landList[masterLandObject.landData.LocalID].setLandBitmap( |
737 | slaveLandObject.mergeLandBitmaps(masterLandObject.getLandBitmap(), slaveLandObject.getLandBitmap())); | 737 | slaveLandObject.mergeLandBitmaps(masterLandObject.getLandBitmap(), slaveLandObject.getLandBitmap())); |
738 | performFinalLandJoin(masterLandObject, slaveLandObject); | 738 | performFinalLandJoin(masterLandObject, slaveLandObject); |
739 | } | 739 | } |
@@ -775,19 +775,19 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
775 | 775 | ||
776 | if (currentParcelBlock != null) | 776 | if (currentParcelBlock != null) |
777 | { | 777 | { |
778 | if (currentParcelBlock.landData.ownerID == remote_client.AgentId) | 778 | if (currentParcelBlock.landData.OwnerID == remote_client.AgentId) |
779 | { | 779 | { |
780 | //Owner Flag | 780 | //Owner Flag |
781 | tempByte = Convert.ToByte(tempByte | LandChannel.LAND_TYPE_OWNED_BY_REQUESTER); | 781 | tempByte = Convert.ToByte(tempByte | LandChannel.LAND_TYPE_OWNED_BY_REQUESTER); |
782 | } | 782 | } |
783 | else if (currentParcelBlock.landData.salePrice > 0 && | 783 | else if (currentParcelBlock.landData.SalePrice > 0 && |
784 | (currentParcelBlock.landData.authBuyerID == LLUUID.Zero || | 784 | (currentParcelBlock.landData.AuthBuyerID == LLUUID.Zero || |
785 | currentParcelBlock.landData.authBuyerID == remote_client.AgentId)) | 785 | currentParcelBlock.landData.AuthBuyerID == remote_client.AgentId)) |
786 | { | 786 | { |
787 | //Sale Flag | 787 | //Sale Flag |
788 | tempByte = Convert.ToByte(tempByte | LandChannel.LAND_TYPE_IS_FOR_SALE); | 788 | tempByte = Convert.ToByte(tempByte | LandChannel.LAND_TYPE_IS_FOR_SALE); |
789 | } | 789 | } |
790 | else if (currentParcelBlock.landData.ownerID == LLUUID.Zero) | 790 | else if (currentParcelBlock.landData.OwnerID == LLUUID.Zero) |
791 | { | 791 | { |
792 | //Public Flag | 792 | //Public Flag |
793 | tempByte = Convert.ToByte(tempByte | LandChannel.LAND_TYPE_PUBLIC); | 793 | tempByte = Convert.ToByte(tempByte | LandChannel.LAND_TYPE_PUBLIC); |
@@ -931,7 +931,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
931 | { | 931 | { |
932 | if (m_scene.ExternalChecks.ExternalChecksCanAbandonParcel(remote_client.AgentId, landList[local_id])) | 932 | if (m_scene.ExternalChecks.ExternalChecksCanAbandonParcel(remote_client.AgentId, landList[local_id])) |
933 | { | 933 | { |
934 | landList[local_id].landData.ownerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | 934 | landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; |
935 | m_scene.Broadcast(SendParcelOverlay); | 935 | m_scene.Broadcast(SendParcelOverlay); |
936 | landList[local_id].sendLandUpdateToClient(remote_client); | 936 | landList[local_id].sendLandUpdateToClient(remote_client); |
937 | } | 937 | } |
@@ -945,8 +945,8 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
945 | { | 945 | { |
946 | if (m_scene.ExternalChecks.ExternalChecksCanReclaimParcel(remote_client.AgentId, landList[local_id])) | 946 | if (m_scene.ExternalChecks.ExternalChecksCanReclaimParcel(remote_client.AgentId, landList[local_id])) |
947 | { | 947 | { |
948 | landList[local_id].landData.ownerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | 948 | landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; |
949 | landList[local_id].landData.claimDate = Util.UnixTimeSinceEpoch(); | 949 | landList[local_id].landData.ClaimDate = Util.UnixTimeSinceEpoch(); |
950 | m_scene.Broadcast(SendParcelOverlay); | 950 | m_scene.Broadcast(SendParcelOverlay); |
951 | landList[local_id].sendLandUpdateToClient(remote_client); | 951 | landList[local_id].sendLandUpdateToClient(remote_client); |
952 | } | 952 | } |
@@ -992,11 +992,11 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
992 | } | 992 | } |
993 | if (lob != null) | 993 | if (lob != null) |
994 | { | 994 | { |
995 | LLUUID AuthorizedID = lob.landData.authBuyerID; | 995 | LLUUID AuthorizedID = lob.landData.AuthBuyerID; |
996 | int saleprice = lob.landData.salePrice; | 996 | int saleprice = lob.landData.SalePrice; |
997 | LLUUID pOwnerID = lob.landData.ownerID; | 997 | LLUUID pOwnerID = lob.landData.OwnerID; |
998 | 998 | ||
999 | bool landforsale = ((lob.landData.landFlags & | 999 | bool landforsale = ((lob.landData.Flags & |
1000 | (uint)(Parcel.ParcelFlags.ForSale | Parcel.ParcelFlags.ForSaleObjects | Parcel.ParcelFlags.SellParcelObjects)) != 0); | 1000 | (uint)(Parcel.ParcelFlags.ForSale | Parcel.ParcelFlags.ForSaleObjects | Parcel.ParcelFlags.SellParcelObjects)) != 0); |
1001 | if ((AuthorizedID == LLUUID.Zero || AuthorizedID == e.agentId) && e.parcelPrice >= saleprice && landforsale) | 1001 | if ((AuthorizedID == LLUUID.Zero || AuthorizedID == e.agentId) && e.parcelPrice >= saleprice && landforsale) |
1002 | { | 1002 | { |
@@ -1034,7 +1034,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
1034 | 1034 | ||
1035 | public void IncomingLandObjectFromStorage(LandData data) | 1035 | public void IncomingLandObjectFromStorage(LandData data) |
1036 | { | 1036 | { |
1037 | ILandObject new_land = new LandObject(data.ownerID, data.isGroupOwned, m_scene); | 1037 | ILandObject new_land = new LandObject(data.OwnerID, data.IsGroupOwned, m_scene); |
1038 | new_land.landData = data.Copy(); | 1038 | new_land.landData = data.Copy(); |
1039 | new_land.setLandBitmapFromByteArray(); | 1039 | new_land.setLandBitmapFromByteArray(); |
1040 | AddLandObject(new_land); | 1040 | AddLandObject(new_land); |
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs b/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs index 02d74e5..8abfcf8 100644 --- a/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs +++ b/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs | |||
@@ -77,8 +77,8 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
77 | public LandObject(LLUUID owner_id, bool is_group_owned, Scene scene) | 77 | public LandObject(LLUUID owner_id, bool is_group_owned, Scene scene) |
78 | { | 78 | { |
79 | m_scene = scene; | 79 | m_scene = scene; |
80 | landData.ownerID = owner_id; | 80 | landData.OwnerID = owner_id; |
81 | landData.isGroupOwned = is_group_owned; | 81 | landData.IsGroupOwned = is_group_owned; |
82 | } | 82 | } |
83 | 83 | ||
84 | #endregion | 84 | #endregion |
@@ -107,7 +107,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
107 | 107 | ||
108 | public ILandObject Copy() | 108 | public ILandObject Copy() |
109 | { | 109 | { |
110 | ILandObject newLand = new LandObject(landData.ownerID, landData.isGroupOwned, m_scene); | 110 | ILandObject newLand = new LandObject(landData.OwnerID, landData.IsGroupOwned, m_scene); |
111 | 111 | ||
112 | //Place all new variables here! | 112 | //Place all new variables here! |
113 | newLand.landBitmap = (bool[,]) (landBitmap.Clone()); | 113 | newLand.landBitmap = (bool[,]) (landBitmap.Clone()); |
@@ -139,7 +139,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
139 | { | 139 | { |
140 | //Normal Calculations | 140 | //Normal Calculations |
141 | return Convert.ToInt32( | 141 | return Convert.ToInt32( |
142 | Math.Round((Convert.ToDecimal(landData.area) / Convert.ToDecimal(65536)) * m_scene.objectCapacity * | 142 | Math.Round((Convert.ToDecimal(landData.Area) / Convert.ToDecimal(65536)) * m_scene.objectCapacity * |
143 | Convert.ToDecimal(m_scene.RegionInfo.RegionSettings.ObjectBonus))); ; | 143 | Convert.ToDecimal(m_scene.RegionInfo.RegionSettings.ObjectBonus))); ; |
144 | } | 144 | } |
145 | } | 145 | } |
@@ -165,9 +165,9 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
165 | uint regionFlags = 336723974 & ~((uint)(Simulator.RegionFlags.AllowLandmark | Simulator.RegionFlags.AllowSetHome)); | 165 | uint regionFlags = 336723974 & ~((uint)(Simulator.RegionFlags.AllowLandmark | Simulator.RegionFlags.AllowSetHome)); |
166 | if (estateModule != null) | 166 | if (estateModule != null) |
167 | regionFlags = estateModule.GetRegionFlags(); | 167 | regionFlags = estateModule.GetRegionFlags(); |
168 | if ((landData.landFlags & (uint)Parcel.ParcelFlags.AllowLandmark) != 0) | 168 | if ((landData.Flags & (uint)Parcel.ParcelFlags.AllowLandmark) != 0) |
169 | regionFlags |= (uint)Simulator.RegionFlags.AllowLandmark; | 169 | regionFlags |= (uint)Simulator.RegionFlags.AllowLandmark; |
170 | if (landData.ownerID == remote_client.AgentId) | 170 | if (landData.OwnerID == remote_client.AgentId) |
171 | regionFlags |= (uint)Simulator.RegionFlags.AllowSetHome; | 171 | regionFlags |= (uint)Simulator.RegionFlags.AllowSetHome; |
172 | remote_client.SendLandProperties(remote_client, sequence_id, | 172 | remote_client.SendLandProperties(remote_client, sequence_id, |
173 | snap_selection, request_result, landData, | 173 | snap_selection, request_result, landData, |
@@ -183,31 +183,31 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
183 | //Needs later group support | 183 | //Needs later group support |
184 | LandData newData = landData.Copy(); | 184 | LandData newData = landData.Copy(); |
185 | 185 | ||
186 | if (args.AuthBuyerID != newData.authBuyerID || args.SalePrice != newData.salePrice) | 186 | if (args.AuthBuyerID != newData.AuthBuyerID || args.SalePrice != newData.SalePrice) |
187 | { | 187 | { |
188 | if (m_scene.ExternalChecks.ExternalChecksCanSellParcel(remote_client.AgentId, this)) | 188 | if (m_scene.ExternalChecks.ExternalChecksCanSellParcel(remote_client.AgentId, this)) |
189 | { | 189 | { |
190 | newData.authBuyerID = args.AuthBuyerID; | 190 | newData.AuthBuyerID = args.AuthBuyerID; |
191 | newData.salePrice = args.SalePrice; | 191 | newData.SalePrice = args.SalePrice; |
192 | } | 192 | } |
193 | } | 193 | } |
194 | newData.category = args.Category; | 194 | newData.Category = args.Category; |
195 | newData.landDesc = args.Desc; | 195 | newData.Description = args.Desc; |
196 | newData.groupID = args.GroupID; | 196 | newData.GroupID = args.GroupID; |
197 | newData.landingType = args.LandingType; | 197 | newData.LandingType = args.LandingType; |
198 | newData.mediaAutoScale = args.MediaAutoScale; | 198 | newData.MediaAutoScale = args.MediaAutoScale; |
199 | newData.mediaID = args.MediaID; | 199 | newData.MediaID = args.MediaID; |
200 | newData.mediaURL = args.MediaURL; | 200 | newData.MediaURL = args.MediaURL; |
201 | newData.musicURL = args.MusicURL; | 201 | newData.MusicURL = args.MusicURL; |
202 | newData.landName = args.Name; | 202 | newData.Name = args.Name; |
203 | newData.landFlags = args.ParcelFlags; | 203 | newData.Flags = args.ParcelFlags; |
204 | newData.passHours = args.PassHours; | 204 | newData.PassHours = args.PassHours; |
205 | newData.passPrice = args.PassPrice; | 205 | newData.PassPrice = args.PassPrice; |
206 | newData.snapshotID = args.SnapshotID; | 206 | newData.SnapshotID = args.SnapshotID; |
207 | newData.userLocation = args.UserLocation; | 207 | newData.UserLocation = args.UserLocation; |
208 | newData.userLookAt = args.UserLookAt; | 208 | newData.UserLookAt = args.UserLookAt; |
209 | 209 | ||
210 | m_scene.LandChannel.UpdateLandObject(landData.localID, newData); | 210 | m_scene.LandChannel.UpdateLandObject(landData.LocalID, newData); |
211 | 211 | ||
212 | sendLandUpdateToAvatarsOverMe(); | 212 | sendLandUpdateToAvatarsOverMe(); |
213 | } | 213 | } |
@@ -216,16 +216,16 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
216 | public void updateLandSold(LLUUID avatarID, LLUUID groupID, bool groupOwned, uint AuctionID, int claimprice, int area) | 216 | public void updateLandSold(LLUUID avatarID, LLUUID groupID, bool groupOwned, uint AuctionID, int claimprice, int area) |
217 | { | 217 | { |
218 | LandData newData = landData.Copy(); | 218 | LandData newData = landData.Copy(); |
219 | newData.ownerID = avatarID; | 219 | newData.OwnerID = avatarID; |
220 | newData.groupID = groupID; | 220 | newData.GroupID = groupID; |
221 | newData.isGroupOwned = groupOwned; | 221 | newData.IsGroupOwned = groupOwned; |
222 | //newData.auctionID = AuctionID; | 222 | //newData.auctionID = AuctionID; |
223 | newData.claimDate = Util.UnixTimeSinceEpoch(); | 223 | newData.ClaimDate = Util.UnixTimeSinceEpoch(); |
224 | newData.claimPrice = claimprice; | 224 | newData.ClaimPrice = claimprice; |
225 | newData.salePrice = 0; | 225 | newData.SalePrice = 0; |
226 | newData.authBuyerID = LLUUID.Zero; | 226 | newData.AuthBuyerID = LLUUID.Zero; |
227 | newData.landFlags &= ~(uint) (Parcel.ParcelFlags.ForSale | Parcel.ParcelFlags.ForSaleObjects | Parcel.ParcelFlags.SellParcelObjects); | 227 | newData.Flags &= ~(uint) (Parcel.ParcelFlags.ForSale | Parcel.ParcelFlags.ForSaleObjects | Parcel.ParcelFlags.SellParcelObjects); |
228 | m_scene.LandChannel.UpdateLandObject(landData.localID, newData); | 228 | m_scene.LandChannel.UpdateLandObject(landData.LocalID, newData); |
229 | 229 | ||
230 | sendLandUpdateToAvatarsOverMe(); | 230 | sendLandUpdateToAvatarsOverMe(); |
231 | } | 231 | } |
@@ -245,13 +245,13 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
245 | 245 | ||
246 | public bool isBannedFromLand(LLUUID avatar) | 246 | public bool isBannedFromLand(LLUUID avatar) |
247 | { | 247 | { |
248 | if ((landData.landFlags & (uint) Parcel.ParcelFlags.UseBanList) > 0) | 248 | if ((landData.Flags & (uint) Parcel.ParcelFlags.UseBanList) > 0) |
249 | { | 249 | { |
250 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); | 250 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); |
251 | entry.AgentID = avatar; | 251 | entry.AgentID = avatar; |
252 | entry.Flags = ParcelManager.AccessList.Ban; | 252 | entry.Flags = ParcelManager.AccessList.Ban; |
253 | entry.Time = new DateTime(); | 253 | entry.Time = new DateTime(); |
254 | if (landData.parcelAccessList.Contains(entry)) | 254 | if (landData.ParcelAccessList.Contains(entry)) |
255 | { | 255 | { |
256 | //They are banned, so lets send them a notice about this parcel | 256 | //They are banned, so lets send them a notice about this parcel |
257 | return true; | 257 | return true; |
@@ -262,13 +262,13 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
262 | 262 | ||
263 | public bool isRestrictedFromLand(LLUUID avatar) | 263 | public bool isRestrictedFromLand(LLUUID avatar) |
264 | { | 264 | { |
265 | if ((landData.landFlags & (uint) Parcel.ParcelFlags.UseAccessList) > 0) | 265 | if ((landData.Flags & (uint) Parcel.ParcelFlags.UseAccessList) > 0) |
266 | { | 266 | { |
267 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); | 267 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); |
268 | entry.AgentID = avatar; | 268 | entry.AgentID = avatar; |
269 | entry.Flags = ParcelManager.AccessList.Access; | 269 | entry.Flags = ParcelManager.AccessList.Access; |
270 | entry.Time = new DateTime(); | 270 | entry.Time = new DateTime(); |
271 | if (!landData.parcelAccessList.Contains(entry)) | 271 | if (!landData.ParcelAccessList.Contains(entry)) |
272 | { | 272 | { |
273 | //They are not allowed in this parcel, but not banned, so lets send them a notice about this parcel | 273 | //They are not allowed in this parcel, but not banned, so lets send them a notice about this parcel |
274 | return true; | 274 | return true; |
@@ -302,9 +302,9 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
302 | 302 | ||
303 | if (over != null) | 303 | if (over != null) |
304 | { | 304 | { |
305 | if (over.landData.localID == landData.localID) | 305 | if (over.landData.LocalID == landData.LocalID) |
306 | { | 306 | { |
307 | if (((over.landData.landFlags & (uint)Parcel.ParcelFlags.AllowDamage) != 0) && m_scene.RegionInfo.RegionSettings.AllowDamage) | 307 | if (((over.landData.Flags & (uint)Parcel.ParcelFlags.AllowDamage) != 0) && m_scene.RegionInfo.RegionSettings.AllowDamage) |
308 | avatars[i].Invulnerable = false; | 308 | avatars[i].Invulnerable = false; |
309 | else | 309 | else |
310 | avatars[i].Invulnerable = true; | 310 | avatars[i].Invulnerable = true; |
@@ -322,7 +322,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
322 | public List<LLUUID> createAccessListArrayByFlag(ParcelManager.AccessList flag) | 322 | public List<LLUUID> createAccessListArrayByFlag(ParcelManager.AccessList flag) |
323 | { | 323 | { |
324 | List<LLUUID> list = new List<LLUUID>(); | 324 | List<LLUUID> list = new List<LLUUID>(); |
325 | foreach (ParcelManager.ParcelAccessEntry entry in landData.parcelAccessList) | 325 | foreach (ParcelManager.ParcelAccessEntry entry in landData.ParcelAccessList) |
326 | { | 326 | { |
327 | if (entry.Flags == flag) | 327 | if (entry.Flags == flag) |
328 | { | 328 | { |
@@ -344,13 +344,13 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
344 | if (flags == (uint) ParcelManager.AccessList.Access || flags == (uint) ParcelManager.AccessList.Both) | 344 | if (flags == (uint) ParcelManager.AccessList.Access || flags == (uint) ParcelManager.AccessList.Both) |
345 | { | 345 | { |
346 | List<LLUUID> avatars = createAccessListArrayByFlag(ParcelManager.AccessList.Access); | 346 | List<LLUUID> avatars = createAccessListArrayByFlag(ParcelManager.AccessList.Access); |
347 | remote_client.SendLandAccessListData(avatars,(uint) ParcelManager.AccessList.Access,landData.localID); | 347 | remote_client.SendLandAccessListData(avatars,(uint) ParcelManager.AccessList.Access,landData.LocalID); |
348 | } | 348 | } |
349 | 349 | ||
350 | if (flags == (uint) ParcelManager.AccessList.Ban || flags == (uint) ParcelManager.AccessList.Both) | 350 | if (flags == (uint) ParcelManager.AccessList.Ban || flags == (uint) ParcelManager.AccessList.Both) |
351 | { | 351 | { |
352 | List<LLUUID> avatars = createAccessListArrayByFlag(ParcelManager.AccessList.Ban); | 352 | List<LLUUID> avatars = createAccessListArrayByFlag(ParcelManager.AccessList.Ban); |
353 | remote_client.SendLandAccessListData(avatars, (uint)ParcelManager.AccessList.Ban, landData.localID); | 353 | remote_client.SendLandAccessListData(avatars, (uint)ParcelManager.AccessList.Ban, landData.LocalID); |
354 | } | 354 | } |
355 | } | 355 | } |
356 | 356 | ||
@@ -364,7 +364,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
364 | } | 364 | } |
365 | 365 | ||
366 | List<ParcelManager.ParcelAccessEntry> toRemove = new List<ParcelManager.ParcelAccessEntry>(); | 366 | List<ParcelManager.ParcelAccessEntry> toRemove = new List<ParcelManager.ParcelAccessEntry>(); |
367 | foreach (ParcelManager.ParcelAccessEntry entry in newData.parcelAccessList) | 367 | foreach (ParcelManager.ParcelAccessEntry entry in newData.ParcelAccessList) |
368 | { | 368 | { |
369 | if (entry.Flags == (ParcelManager.AccessList) flags) | 369 | if (entry.Flags == (ParcelManager.AccessList) flags) |
370 | { | 370 | { |
@@ -374,7 +374,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
374 | 374 | ||
375 | foreach (ParcelManager.ParcelAccessEntry entry in toRemove) | 375 | foreach (ParcelManager.ParcelAccessEntry entry in toRemove) |
376 | { | 376 | { |
377 | newData.parcelAccessList.Remove(entry); | 377 | newData.ParcelAccessList.Remove(entry); |
378 | } | 378 | } |
379 | foreach (ParcelManager.ParcelAccessEntry entry in entries) | 379 | foreach (ParcelManager.ParcelAccessEntry entry in entries) |
380 | { | 380 | { |
@@ -383,13 +383,13 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
383 | temp.Time = new DateTime(); //Pointless? Yes. | 383 | temp.Time = new DateTime(); //Pointless? Yes. |
384 | temp.Flags = (ParcelManager.AccessList) flags; | 384 | temp.Flags = (ParcelManager.AccessList) flags; |
385 | 385 | ||
386 | if (!newData.parcelAccessList.Contains(temp)) | 386 | if (!newData.ParcelAccessList.Contains(temp)) |
387 | { | 387 | { |
388 | newData.parcelAccessList.Add(temp); | 388 | newData.ParcelAccessList.Add(temp); |
389 | } | 389 | } |
390 | } | 390 | } |
391 | 391 | ||
392 | m_scene.LandChannel.UpdateLandObject(landData.localID, newData); | 392 | m_scene.LandChannel.UpdateLandObject(landData.LocalID, newData); |
393 | } | 393 | } |
394 | 394 | ||
395 | #endregion | 395 | #endregion |
@@ -398,7 +398,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
398 | 398 | ||
399 | public void updateLandBitmapByteArray() | 399 | public void updateLandBitmapByteArray() |
400 | { | 400 | { |
401 | landData.landBitmapByteArray = convertLandBitmapToBytes(); | 401 | landData.Bitmap = convertLandBitmapToBytes(); |
402 | } | 402 | } |
403 | 403 | ||
404 | /// <summary> | 404 | /// <summary> |
@@ -459,7 +459,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
459 | landData.AABBMax = | 459 | landData.AABBMax = |
460 | new LLVector3((float) (max_x * 4), (float) (max_y * 4), | 460 | new LLVector3((float) (max_x * 4), (float) (max_y * 4), |
461 | (float) m_scene.Heightmap[tx, ty]); | 461 | (float) m_scene.Heightmap[tx, ty]); |
462 | landData.area = tempArea; | 462 | landData.Area = tempArea; |
463 | } | 463 | } |
464 | 464 | ||
465 | #endregion | 465 | #endregion |
@@ -622,7 +622,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
622 | int x = 0, y = 0, i = 0, bitNum = 0; | 622 | int x = 0, y = 0, i = 0, bitNum = 0; |
623 | for (i = 0; i < 512; i++) | 623 | for (i = 0; i < 512; i++) |
624 | { | 624 | { |
625 | tempByte = landData.landBitmapByteArray[i]; | 625 | tempByte = landData.Bitmap[i]; |
626 | for (bitNum = 0; bitNum < 8; bitNum++) | 626 | for (bitNum = 0; bitNum < 8; bitNum++) |
627 | { | 627 | { |
628 | bool bit = Convert.ToBoolean(Convert.ToByte(tempByte >> bitNum) & (byte) 1); | 628 | bool bit = Convert.ToBoolean(Convert.ToByte(tempByte >> bitNum) & (byte) 1); |
@@ -655,7 +655,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
655 | { | 655 | { |
656 | if (obj.LocalId > 0) | 656 | if (obj.LocalId > 0) |
657 | { | 657 | { |
658 | if (request_type == LandChannel.LAND_SELECT_OBJECTS_OWNER && obj.OwnerID == landData.ownerID) | 658 | if (request_type == LandChannel.LAND_SELECT_OBJECTS_OWNER && obj.OwnerID == landData.OwnerID) |
659 | { | 659 | { |
660 | resultLocalIDs.Add(obj.LocalId); | 660 | resultLocalIDs.Add(obj.LocalId); |
661 | } | 661 | } |
@@ -798,10 +798,10 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
798 | 798 | ||
799 | public void resetLandPrimCounts() | 799 | public void resetLandPrimCounts() |
800 | { | 800 | { |
801 | landData.groupPrims = 0; | 801 | landData.GroupPrims = 0; |
802 | landData.ownerPrims = 0; | 802 | landData.OwnerPrims = 0; |
803 | landData.otherPrims = 0; | 803 | landData.OtherPrims = 0; |
804 | landData.selectedPrims = 0; | 804 | landData.SelectedPrims = 0; |
805 | 805 | ||
806 | 806 | ||
807 | lock (primsOverMe) | 807 | lock (primsOverMe) |
@@ -816,17 +816,17 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
816 | 816 | ||
817 | if (obj.IsSelected) | 817 | if (obj.IsSelected) |
818 | { | 818 | { |
819 | landData.selectedPrims += prim_count; | 819 | landData.SelectedPrims += prim_count; |
820 | } | 820 | } |
821 | else | 821 | else |
822 | { | 822 | { |
823 | if (prim_owner == landData.ownerID) | 823 | if (prim_owner == landData.OwnerID) |
824 | { | 824 | { |
825 | landData.ownerPrims += prim_count; | 825 | landData.OwnerPrims += prim_count; |
826 | } | 826 | } |
827 | else | 827 | else |
828 | { | 828 | { |
829 | landData.otherPrims += prim_count; | 829 | landData.OtherPrims += prim_count; |
830 | } | 830 | } |
831 | } | 831 | } |
832 | 832 | ||
@@ -843,17 +843,17 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
843 | LLUUID prim_owner = obj.OwnerID; | 843 | LLUUID prim_owner = obj.OwnerID; |
844 | int prim_count = obj.PrimCount; | 844 | int prim_count = obj.PrimCount; |
845 | 845 | ||
846 | if (prim_owner == landData.ownerID) | 846 | if (prim_owner == landData.OwnerID) |
847 | { | 847 | { |
848 | landData.ownerPrims -= prim_count; | 848 | landData.OwnerPrims -= prim_count; |
849 | } | 849 | } |
850 | else if (prim_owner == landData.groupID) | 850 | else if (prim_owner == landData.GroupID) |
851 | { | 851 | { |
852 | landData.groupPrims -= prim_count; | 852 | landData.GroupPrims -= prim_count; |
853 | } | 853 | } |
854 | else | 854 | else |
855 | { | 855 | { |
856 | landData.otherPrims -= prim_count; | 856 | landData.OtherPrims -= prim_count; |
857 | } | 857 | } |
858 | 858 | ||
859 | primsOverMe.Remove(obj); | 859 | primsOverMe.Remove(obj); |
diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs index b0d9a26..23db484 100644 --- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs | |||
@@ -331,7 +331,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
331 | 331 | ||
332 | // Users should be able to edit what is over their land. | 332 | // Users should be able to edit what is over their land. |
333 | ILandObject parcel = m_scene.LandChannel.GetLandObject(task.AbsolutePosition.X, task.AbsolutePosition.Y); | 333 | ILandObject parcel = m_scene.LandChannel.GetLandObject(task.AbsolutePosition.X, task.AbsolutePosition.Y); |
334 | if (parcel != null && parcel.landData.ownerID == user) | 334 | if (parcel != null && parcel.landData.OwnerID == user) |
335 | return objectOwnerMask; | 335 | return objectOwnerMask; |
336 | 336 | ||
337 | // Admin objects should not be editable by the above | 337 | // Admin objects should not be editable by the above |
@@ -423,7 +423,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
423 | 423 | ||
424 | // Users should be able to edit what is over their land. | 424 | // Users should be able to edit what is over their land. |
425 | ILandObject parcel = m_scene.LandChannel.GetLandObject(group.AbsolutePosition.X, group.AbsolutePosition.Y); | 425 | ILandObject parcel = m_scene.LandChannel.GetLandObject(group.AbsolutePosition.X, group.AbsolutePosition.Y); |
426 | if ((parcel != null) && (parcel.landData.ownerID == currentUser)) | 426 | if ((parcel != null) && (parcel.landData.OwnerID == currentUser)) |
427 | { | 427 | { |
428 | permission = true; | 428 | permission = true; |
429 | } | 429 | } |
@@ -492,12 +492,12 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
492 | { | 492 | { |
493 | bool permission = false; | 493 | bool permission = false; |
494 | 494 | ||
495 | if (parcel.landData.ownerID == user) | 495 | if (parcel.landData.OwnerID == user) |
496 | { | 496 | { |
497 | permission = true; | 497 | permission = true; |
498 | } | 498 | } |
499 | 499 | ||
500 | if (parcel.landData.isGroupOwned) | 500 | if (parcel.landData.IsGroupOwned) |
501 | { | 501 | { |
502 | // TODO: Need to do some extra checks here. Requires group code. | 502 | // TODO: Need to do some extra checks here. Requires group code. |
503 | } | 503 | } |
@@ -723,7 +723,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
723 | return false; | 723 | return false; |
724 | } | 724 | } |
725 | 725 | ||
726 | if ((land.landData.landFlags & ((int)Parcel.ParcelFlags.AllowAllObjectEntry)) != 0) | 726 | if ((land.landData.Flags & ((int)Parcel.ParcelFlags.AllowAllObjectEntry)) != 0) |
727 | { | 727 | { |
728 | return true; | 728 | return true; |
729 | } | 729 | } |
@@ -770,7 +770,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
770 | ILandObject land = m_scene.LandChannel.GetLandObject(objectPosition.X, objectPosition.Y); | 770 | ILandObject land = m_scene.LandChannel.GetLandObject(objectPosition.X, objectPosition.Y); |
771 | if (land == null) return false; | 771 | if (land == null) return false; |
772 | 772 | ||
773 | if ((land.landData.landFlags & ((int)Parcel.ParcelFlags.CreateObjects)) == | 773 | if ((land.landData.Flags & ((int)Parcel.ParcelFlags.CreateObjects)) == |
774 | (int)Parcel.ParcelFlags.CreateObjects) | 774 | (int)Parcel.ParcelFlags.CreateObjects) |
775 | permission = true; | 775 | permission = true; |
776 | 776 | ||