diff options
Diffstat (limited to 'OpenSim/Region')
11 files changed, 81 insertions, 26 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 74f4d44..212567f 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -2693,7 +2693,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2693 | 2693 | ||
2694 | //Sending Estate Settings | 2694 | //Sending Estate Settings |
2695 | returnblock[0].Parameter = Helpers.StringToField(estateName); | 2695 | returnblock[0].Parameter = Helpers.StringToField(estateName); |
2696 | returnblock[1].Parameter = Helpers.StringToField(m_scene.RegionInfo.MasterAvatarAssignedUUID.ToString()); | 2696 | // TODO: remove this cruft once MasterAvatar is fully deprecated |
2697 | // | ||
2698 | if(m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) | ||
2699 | returnblock[1].Parameter = Helpers.StringToField(m_scene.RegionInfo.EstateSettings.EstateOwner.ToString()); | ||
2700 | else | ||
2701 | returnblock[1].Parameter = Helpers.StringToField(m_scene.RegionInfo.MasterAvatarAssignedUUID.ToString()); | ||
2697 | returnblock[2].Parameter = Helpers.StringToField(estateID.ToString()); | 2702 | returnblock[2].Parameter = Helpers.StringToField(estateID.ToString()); |
2698 | 2703 | ||
2699 | returnblock[3].Parameter = Helpers.StringToField(estateFlags.ToString()); | 2704 | returnblock[3].Parameter = Helpers.StringToField(estateFlags.ToString()); |
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs index 3e941cf..7a552a6 100644 --- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs +++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs | |||
@@ -135,11 +135,14 @@ namespace OpenSim.Region.ClientStack | |||
135 | scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised()); | 135 | scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised()); |
136 | scene.PhysicsScene.SetWaterLevel((float)regionInfo.RegionSettings.WaterHeight); | 136 | scene.PhysicsScene.SetWaterLevel((float)regionInfo.RegionSettings.WaterHeight); |
137 | 137 | ||
138 | // TODO: Remove this cruft once MasterAvatar is fully deprecated | ||
138 | //Master Avatar Setup | 139 | //Master Avatar Setup |
139 | UserProfileData masterAvatar; | 140 | UserProfileData masterAvatar; |
140 | if (scene.RegionInfo.MasterAvatarAssignedUUID != LLUUID.Zero) | 141 | if (scene.RegionInfo.MasterAvatarAssignedUUID != LLUUID.Zero) |
141 | { | 142 | { |
142 | masterAvatar = m_commsManager.UserService.SetupMasterUser(scene.RegionInfo.MasterAvatarAssignedUUID); | 143 | masterAvatar = m_commsManager.UserService.SetupMasterUser(scene.RegionInfo.MasterAvatarAssignedUUID); |
144 | scene.RegionInfo.MasterAvatarFirstName = masterAvatar.FirstName; | ||
145 | scene.RegionInfo.MasterAvatarLastName = masterAvatar.SurName; | ||
143 | } | 146 | } |
144 | else | 147 | else |
145 | { | 148 | { |
@@ -151,7 +154,7 @@ namespace OpenSim.Region.ClientStack | |||
151 | 154 | ||
152 | if (masterAvatar != null) | 155 | if (masterAvatar != null) |
153 | { | 156 | { |
154 | m_log.Info("[PARCEL]: Found master avatar [" + masterAvatar.ID.ToString() + "]"); | 157 | m_log.InfoFormat("[PARCEL]: Found master avatar {0} {1} [" + masterAvatar.ID.ToString() + "]", scene.RegionInfo.MasterAvatarFirstName, scene.RegionInfo.MasterAvatarLastName); |
155 | scene.RegionInfo.MasterAvatarAssignedUUID = masterAvatar.ID; | 158 | scene.RegionInfo.MasterAvatarAssignedUUID = masterAvatar.ID; |
156 | } | 159 | } |
157 | else | 160 | else |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index 410b4ac..f1e420e 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -123,15 +123,10 @@ namespace OpenSim.Region.Communications.OGS1 | |||
123 | GridParams["server_uri"] = regionInfo.ServerURI; | 123 | GridParams["server_uri"] = regionInfo.ServerURI; |
124 | GridParams["region_secret"] = regionInfo.regionSecret; | 124 | GridParams["region_secret"] = regionInfo.regionSecret; |
125 | 125 | ||
126 | // part of an initial brutish effort to provide accurate information (as per the xml region spec) | 126 | if(regionInfo.MasterAvatarAssignedUUID != LLUUID.Zero) |
127 | // wrt the ownership of a given region | 127 | GridParams["master_avatar_uuid"] = regionInfo.MasterAvatarAssignedUUID.ToString(); |
128 | // the (very bad) assumption is that this value is being read and handled inconsistently or | 128 | else |
129 | // not at all. Current strategy is to put the code in place to support the validity of this information | 129 | GridParams["master_avatar_uuid"] = regionInfo.EstateSettings.EstateOwner.ToString(); |
130 | // and to roll forward debugging any issues from that point | ||
131 | // | ||
132 | // this particular section of the mod attempts to supply a value from the region's xml file to the grid | ||
133 | // server for the UUID of the region's owner (master avatar) | ||
134 | GridParams["master_avatar_uuid"] = regionInfo.MasterAvatarAssignedUUID.ToString(); | ||
135 | 130 | ||
136 | // Package into an XMLRPC Request | 131 | // Package into an XMLRPC Request |
137 | ArrayList SendParams = new ArrayList(); | 132 | ArrayList SendParams = new ArrayList(); |
diff --git a/OpenSim/Region/DataSnapshot/EstateSnapshot.cs b/OpenSim/Region/DataSnapshot/EstateSnapshot.cs index 99a4a0d..eccdcf1 100644 --- a/OpenSim/Region/DataSnapshot/EstateSnapshot.cs +++ b/OpenSim/Region/DataSnapshot/EstateSnapshot.cs | |||
@@ -28,6 +28,7 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Xml; | 29 | using System.Xml; |
30 | using libsecondlife; | 30 | using libsecondlife; |
31 | using OpenSim.Framework; | ||
31 | using OpenSim.Region.DataSnapshot.Interfaces; | 32 | using OpenSim.Region.DataSnapshot.Interfaces; |
32 | using OpenSim.Region.Environment.Scenes; | 33 | using OpenSim.Region.Environment.Scenes; |
33 | 34 | ||
@@ -50,15 +51,20 @@ namespace OpenSim.Region.DataSnapshot.Providers | |||
50 | public XmlNode RequestSnapshotData(XmlDocument factory) | 51 | public XmlNode RequestSnapshotData(XmlDocument factory) |
51 | { | 52 | { |
52 | //Estate data section - contains who owns a set of sims and the name of the set. | 53 | //Estate data section - contains who owns a set of sims and the name of the set. |
53 | //In Opensim all the estate names are the same as the Master Avatar (owner of the sim) | ||
54 | //Now in DataSnapshotProvider module form! | 54 | //Now in DataSnapshotProvider module form! |
55 | XmlNode estatedata = factory.CreateNode(XmlNodeType.Element, "estate", ""); | 55 | XmlNode estatedata = factory.CreateNode(XmlNodeType.Element, "estate", ""); |
56 | 56 | ||
57 | LLUUID ownerid = m_scene.RegionInfo.MasterAvatarAssignedUUID; | 57 | LLUUID ownerid = m_scene.RegionInfo.MasterAvatarAssignedUUID; |
58 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) | ||
59 | ownerid = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
60 | |||
61 | // Can't fail because if it weren't in cache, we wouldn't be here | ||
62 | // | ||
63 | UserProfileData userProfile = m_scene.CommsManager.UserService.GetUserProfile(ownerid); | ||
58 | 64 | ||
59 | //TODO: Change to query userserver about the master avatar UUID ? | 65 | //TODO: Change to query userserver about the master avatar UUID ? |
60 | String firstname = m_scene.RegionInfo.MasterAvatarFirstName; | 66 | String firstname = userProfile.FirstName; |
61 | String lastname = m_scene.RegionInfo.MasterAvatarLastName; | 67 | String lastname = userProfile.SurName; |
62 | 68 | ||
63 | //TODO: Fix the marshalling system to have less copypasta gruntwork | 69 | //TODO: Fix the marshalling system to have less copypasta gruntwork |
64 | XmlNode user = factory.CreateNode(XmlNodeType.Element, "user", ""); | 70 | XmlNode user = factory.CreateNode(XmlNodeType.Element, "user", ""); |
@@ -113,4 +119,4 @@ namespace OpenSim.Region.DataSnapshot.Providers | |||
113 | 119 | ||
114 | #endregion | 120 | #endregion |
115 | } | 121 | } |
116 | } \ No newline at end of file | 122 | } |
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs index 2b1a4ed..e6597c3 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -137,6 +137,8 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver | |||
137 | // Try to retain the original creator/owner/lastowner if their uuid is present on this grid | 137 | // Try to retain the original creator/owner/lastowner if their uuid is present on this grid |
138 | // otherwise, use the master avatar uuid instead | 138 | // otherwise, use the master avatar uuid instead |
139 | LLUUID masterAvatarId = m_scene.RegionInfo.MasterAvatarAssignedUUID; | 139 | LLUUID masterAvatarId = m_scene.RegionInfo.MasterAvatarAssignedUUID; |
140 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) | ||
141 | masterAvatarId = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
140 | foreach (SceneObjectPart part in sceneObject.Children.Values) | 142 | foreach (SceneObjectPart part in sceneObject.Children.Values) |
141 | { | 143 | { |
142 | if (!resolveUserUuid(part.CreatorID)) | 144 | if (!resolveUserUuid(part.CreatorID)) |
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs index d22aac6..1e622be 100644 --- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs | |||
@@ -212,6 +212,8 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
212 | { | 212 | { |
213 | // EstateAccessDelta handles Estate Managers, Sim Access, Sim Banlist, allowed Groups.. etc. | 213 | // EstateAccessDelta handles Estate Managers, Sim Access, Sim Banlist, allowed Groups.. etc. |
214 | 214 | ||
215 | if (user == m_scene.RegionInfo.EstateSettings.EstateOwner) | ||
216 | return; // never process EO | ||
215 | if (user == m_scene.RegionInfo.MasterAvatarAssignedUUID) | 217 | if (user == m_scene.RegionInfo.MasterAvatarAssignedUUID) |
216 | return; // never process owner | 218 | return; // never process owner |
217 | 219 | ||
@@ -557,7 +559,10 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
557 | 559 | ||
558 | args.regionFlags = GetRegionFlags(); | 560 | args.regionFlags = GetRegionFlags(); |
559 | args.regionName = m_scene.RegionInfo.RegionName; | 561 | args.regionName = m_scene.RegionInfo.RegionName; |
560 | args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID; | 562 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) |
563 | args.SimOwner = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
564 | else | ||
565 | args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
561 | args.terrainBase0 = LLUUID.Zero; | 566 | args.terrainBase0 = LLUUID.Zero; |
562 | args.terrainBase1 = LLUUID.Zero; | 567 | args.terrainBase1 = LLUUID.Zero; |
563 | args.terrainBase2 = LLUUID.Zero; | 568 | args.terrainBase2 = LLUUID.Zero; |
@@ -811,6 +816,8 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
811 | { | 816 | { |
812 | if (avatarID == m_scene.RegionInfo.MasterAvatarAssignedUUID) | 817 | if (avatarID == m_scene.RegionInfo.MasterAvatarAssignedUUID) |
813 | return true; | 818 | return true; |
819 | if (avatarID == m_scene.RegionInfo.EstateSettings.EstateOwner) | ||
820 | return true; | ||
814 | 821 | ||
815 | List<LLUUID> ems = new List<LLUUID>(m_scene.RegionInfo.EstateSettings.EstateManagers); | 822 | List<LLUUID> ems = new List<LLUUID>(m_scene.RegionInfo.EstateSettings.EstateManagers); |
816 | if (ems.Contains(avatarID)) | 823 | if (ems.Contains(avatarID)) |
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs index ca03035..d5cb0eb 100644 --- a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs | |||
@@ -162,7 +162,10 @@ 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 | if(m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) |
166 | fullSimParcel.landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
167 | else | ||
168 | fullSimParcel.landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
166 | fullSimParcel.landData.ClaimDate = Util.UnixTimeSinceEpoch(); | 169 | fullSimParcel.landData.ClaimDate = Util.UnixTimeSinceEpoch(); |
167 | AddLandObject(fullSimParcel); | 170 | AddLandObject(fullSimParcel); |
168 | } | 171 | } |
@@ -931,7 +934,10 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
931 | { | 934 | { |
932 | if (m_scene.ExternalChecks.ExternalChecksCanAbandonParcel(remote_client.AgentId, landList[local_id])) | 935 | if (m_scene.ExternalChecks.ExternalChecksCanAbandonParcel(remote_client.AgentId, landList[local_id])) |
933 | { | 936 | { |
934 | landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | 937 | if(m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) |
938 | landList[local_id].landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
939 | else | ||
940 | landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
935 | m_scene.Broadcast(SendParcelOverlay); | 941 | m_scene.Broadcast(SendParcelOverlay); |
936 | landList[local_id].sendLandUpdateToClient(remote_client); | 942 | landList[local_id].sendLandUpdateToClient(remote_client); |
937 | } | 943 | } |
@@ -945,7 +951,10 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
945 | { | 951 | { |
946 | if (m_scene.ExternalChecks.ExternalChecksCanReclaimParcel(remote_client.AgentId, landList[local_id])) | 952 | if (m_scene.ExternalChecks.ExternalChecksCanReclaimParcel(remote_client.AgentId, landList[local_id])) |
947 | { | 953 | { |
948 | landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | 954 | if(m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) |
955 | landList[local_id].landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
956 | else | ||
957 | landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
949 | landList[local_id].landData.ClaimDate = Util.UnixTimeSinceEpoch(); | 958 | landList[local_id].landData.ClaimDate = Util.UnixTimeSinceEpoch(); |
950 | m_scene.Broadcast(SendParcelOverlay); | 959 | m_scene.Broadcast(SendParcelOverlay); |
951 | landList[local_id].sendLandUpdateToClient(remote_client); | 960 | landList[local_id].sendLandUpdateToClient(remote_client); |
diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs index 0fbd4fb..6f72767 100644 --- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs | |||
@@ -32,6 +32,7 @@ using System.Collections; | |||
32 | using System.Collections.Generic; | 32 | using System.Collections.Generic; |
33 | using System.Reflection; | 33 | using System.Reflection; |
34 | using log4net; | 34 | using log4net; |
35 | using OpenSim.Framework; | ||
35 | using OpenSim.Region.Environment.Interfaces; | 36 | using OpenSim.Region.Environment.Interfaces; |
36 | using OpenSim.Region.Environment.Modules.Framework; | 37 | using OpenSim.Region.Environment.Modules.Framework; |
37 | using OpenSim.Region.Environment.Modules.Framework.InterfaceCommander; | 38 | using OpenSim.Region.Environment.Modules.Framework.InterfaceCommander; |
@@ -63,6 +64,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
63 | private bool m_bypassPermissions = false; | 64 | private bool m_bypassPermissions = false; |
64 | private bool m_bypassPermissionsValue = true; | 65 | private bool m_bypassPermissionsValue = true; |
65 | private bool m_debugPermissions = false; | 66 | private bool m_debugPermissions = false; |
67 | private bool m_allowGridGods = false; | ||
66 | 68 | ||
67 | #endregion | 69 | #endregion |
68 | 70 | ||
@@ -136,6 +138,8 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
136 | if (!modules.Contains("DefaultPermissionsModule")) | 138 | if (!modules.Contains("DefaultPermissionsModule")) |
137 | return; | 139 | return; |
138 | 140 | ||
141 | m_allowGridGods = myConfig.GetBoolean("allow_grid_gods", false); | ||
142 | |||
139 | m_bypassPermissions = !myConfig.GetBoolean("serverside_object_permissions", true); | 143 | m_bypassPermissions = !myConfig.GetBoolean("serverside_object_permissions", true); |
140 | 144 | ||
141 | if (m_bypassPermissions) | 145 | if (m_bypassPermissions) |
@@ -231,11 +235,6 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
231 | 235 | ||
232 | protected bool IsAdministrator(LLUUID user) | 236 | protected bool IsAdministrator(LLUUID user) |
233 | { | 237 | { |
234 | // m_log.DebugFormat( | ||
235 | // "[PERMISSIONS]: Is adminstrator called for {0} where region master avatar is {1}", | ||
236 | // user, m_scene.RegionInfo.MasterAvatarAssignedUUID); | ||
237 | |||
238 | // If there is no master avatar, return false | ||
239 | if (m_scene.RegionInfo.MasterAvatarAssignedUUID != LLUUID.Zero) | 238 | if (m_scene.RegionInfo.MasterAvatarAssignedUUID != LLUUID.Zero) |
240 | { | 239 | { |
241 | if (m_scene.RegionInfo.MasterAvatarAssignedUUID == user) | 240 | if (m_scene.RegionInfo.MasterAvatarAssignedUUID == user) |
@@ -246,7 +245,9 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
246 | if (m_scene.RegionInfo.EstateSettings.EstateOwner == user) | 245 | if (m_scene.RegionInfo.EstateSettings.EstateOwner == user) |
247 | return true; | 246 | return true; |
248 | } | 247 | } |
249 | 248 | UserProfileData userProfile = m_scene.CommsManager.UserService.GetUserProfile(user); | |
249 | if((userProfile.GodLevel) >= 200 && m_allowGridGods) | ||
250 | return true; | ||
250 | return false; | 251 | return false; |
251 | } | 252 | } |
252 | 253 | ||
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index ca77f2b..3f62610 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -116,6 +116,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
116 | { | 116 | { |
117 | userlevel = 1; | 117 | userlevel = 1; |
118 | } | 118 | } |
119 | // TODO: remove this cruft once MasterAvatar is fully deprecated | ||
120 | // | ||
119 | if (m_regInfo.MasterAvatarAssignedUUID == AgentID) | 121 | if (m_regInfo.MasterAvatarAssignedUUID == AgentID) |
120 | { | 122 | { |
121 | userlevel = 2; | 123 | userlevel = 2; |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 22251e9..00d8298 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -3777,5 +3777,22 @@ namespace OpenSim.Region.Environment.Scenes | |||
3777 | //Console.WriteLine("Terrain packet unacked, resending patch: " + patchX + " , " + patchY); | 3777 | //Console.WriteLine("Terrain packet unacked, resending patch: " + patchX + " , " + patchY); |
3778 | client.SendLayerData(patchX, patchY, Heightmap.GetFloatsSerialised()); | 3778 | client.SendLayerData(patchX, patchY, Heightmap.GetFloatsSerialised()); |
3779 | } | 3779 | } |
3780 | |||
3781 | // public bool IsAdministrator(LLUUID user) | ||
3782 | // { | ||
3783 | // if(RegionInfo.MasterAvatarAssignedUUID != LLUUID.Zero) | ||
3784 | // { | ||
3785 | // if(RegionInfo.MasterAvatarAssignedUUID == user) | ||
3786 | // return true; | ||
3787 | // } | ||
3788 | // | ||
3789 | // UserProfileData userProfile = | ||
3790 | // CommsManager.UserService.GetUserProfile(user); | ||
3791 | // | ||
3792 | // if(userProfile.GodLevel >= 200) | ||
3793 | // return true; | ||
3794 | // | ||
3795 | // return false; | ||
3796 | // } | ||
3780 | } | 3797 | } |
3781 | } | 3798 | } |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index d8d534e..b4cf70a 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -2017,7 +2017,15 @@ namespace OpenSim.Region.Environment.Scenes | |||
2017 | { | 2017 | { |
2018 | if (godStatus) | 2018 | if (godStatus) |
2019 | { | 2019 | { |
2020 | m_godlevel = 250; | 2020 | // TODO: remove this cruft once the master avatar is fully |
2021 | // deprecated. For now, assign god level 200 to anyone | ||
2022 | // who is granted god powers, but has no god level set. | ||
2023 | // | ||
2024 | UserProfileData userProfile = m_scene.CommsManager.UserService.GetUserProfile(agentID); | ||
2025 | if(userProfile.GodLevel > 0) | ||
2026 | m_godlevel = userProfile.GodLevel; | ||
2027 | else | ||
2028 | m_godlevel = 200; | ||
2021 | } | 2029 | } |
2022 | else | 2030 | else |
2023 | { | 2031 | { |