aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorUbitUmarov2017-01-07 21:05:12 +0000
committerUbitUmarov2017-01-07 21:05:12 +0000
commit694720d7a98c3864abdb8e5062aa644e432bc1f6 (patch)
tree1e42a0cc41df1d626852e85f0b129e813d6ab315 /OpenSim/Region/Framework
parentMerge branch 'master' into httptests (diff)
parentCorrect casing on isGod and isViewerUIGod (diff)
downloadopensim-SC-694720d7a98c3864abdb8e5062aa644e432bc1f6.zip
opensim-SC-694720d7a98c3864abdb8e5062aa644e432bc1f6.tar.gz
opensim-SC-694720d7a98c3864abdb8e5062aa644e432bc1f6.tar.bz2
opensim-SC-694720d7a98c3864abdb8e5062aa644e432bc1f6.tar.xz
Merge branch 'master' into httptests
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/GodController.cs57
-rwxr-xr-xOpenSim/Region/Framework/Scenes/Scene.cs12
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs94
5 files changed, 84 insertions, 83 deletions
diff --git a/OpenSim/Region/Framework/Scenes/GodController.cs b/OpenSim/Region/Framework/Scenes/GodController.cs
index 8035760..7ed80f6 100644
--- a/OpenSim/Region/Framework/Scenes/GodController.cs
+++ b/OpenSim/Region/Framework/Scenes/GodController.cs
@@ -66,9 +66,9 @@ namespace OpenSim.Region.Framework.Scenes
66 // the god level from local or grid user rights 66 // the god level from local or grid user rights
67 protected int m_rightsGodLevel = 0; 67 protected int m_rightsGodLevel = 0;
68 // the level seen by viewers 68 // the level seen by viewers
69 protected int m_godlevel = 0; 69 protected int m_viewergodlevel = 0;
70 // new level that can be fixed or equal to godlevel, acording to options 70 // new level that can be fixed or equal to godlevel, acording to options
71 protected int m_effectivegodlevel = 0; 71 protected int m_godlevel = 0;
72 protected int m_lastLevelToViewer = 0; 72 protected int m_lastLevelToViewer = 0;
73 73
74 public GodController(Scene scene, ScenePresence sp, int userlevel) 74 public GodController(Scene scene, ScenePresence sp, int userlevel)
@@ -127,19 +127,18 @@ namespace OpenSim.Region.Framework.Scenes
127 127
128 if(m_allowGodActionsWithoutGodMode) 128 if(m_allowGodActionsWithoutGodMode)
129 { 129 {
130 m_effectivegodlevel = m_rightsGodLevel; 130 m_godlevel = m_rightsGodLevel;
131
132 m_forceGodModeAlwaysOn = false; 131 m_forceGodModeAlwaysOn = false;
133 } 132 }
134 133
135 else if(m_forceGodModeAlwaysOn) 134 else if(m_forceGodModeAlwaysOn)
136 { 135 {
136 m_viewergodlevel = m_rightsGodLevel;
137 m_godlevel = m_rightsGodLevel; 137 m_godlevel = m_rightsGodLevel;
138 m_effectivegodlevel = m_rightsGodLevel;
139 } 138 }
140 139
141 m_scenePresence.isGod = (m_effectivegodlevel >= 200); 140 m_scenePresence.IsGod = (m_godlevel >= 200);
142 m_scenePresence.isLegacyGod = (m_godlevel >= 200); 141 m_scenePresence.IsViewerUIGod = (m_viewergodlevel >= 200);
143 } 142 }
144 143
145 // calculates god level at sp creation from local and grid user god rights 144 // calculates god level at sp creation from local and grid user god rights
@@ -175,10 +174,10 @@ namespace OpenSim.Region.Framework.Scenes
175 { 174 {
176 if(!CanBeGod()) 175 if(!CanBeGod())
177 { 176 {
177 m_viewergodlevel = 0;
178 m_godlevel = 0; 178 m_godlevel = 0;
179 m_effectivegodlevel = 0; 179 m_scenePresence.IsGod = false;
180 m_scenePresence.isGod = false; 180 m_scenePresence.IsViewerUIGod = false;
181 m_scenePresence.isLegacyGod = false;
182 return; 181 return;
183 } 182 }
184 183
@@ -186,58 +185,58 @@ namespace OpenSim.Region.Framework.Scenes
186 if(m_allowGodActionsWithoutGodMode) 185 if(m_allowGodActionsWithoutGodMode)
187 { 186 {
188 if(viewerState) 187 if(viewerState)
189 m_godlevel = m_rightsGodLevel; 188 m_viewergodlevel = m_rightsGodLevel;
190 else 189 else
191 m_godlevel = 0; 190 m_viewergodlevel = 0;
192 191
193 m_effectivegodlevel = m_rightsGodLevel; 192 m_godlevel = m_rightsGodLevel;
194 } 193 }
195 else 194 else
196 { 195 {
197 // new all change with viewer 196 // new all change with viewer
198 if(viewerState) 197 if(viewerState)
199 { 198 {
199 m_viewergodlevel = m_rightsGodLevel;
200 m_godlevel = m_rightsGodLevel; 200 m_godlevel = m_rightsGodLevel;
201 m_effectivegodlevel = m_rightsGodLevel;
202 } 201 }
203 else 202 else
204 { 203 {
204 m_viewergodlevel = 0;
205 m_godlevel = 0; 205 m_godlevel = 0;
206 m_effectivegodlevel = 0;
207 } 206 }
208 } 207 }
209 m_scenePresence.isGod = (m_effectivegodlevel >= 200); 208 m_scenePresence.IsGod = (m_godlevel >= 200);
210 m_scenePresence.isLegacyGod = (m_godlevel >= 200); 209 m_scenePresence.IsViewerUIGod = (m_viewergodlevel >= 200);
211 } 210 }
212 211
213 public void SyncViewerState() 212 public void SyncViewerState()
214 { 213 {
215 if(m_lastLevelToViewer == m_godlevel) 214 if(m_lastLevelToViewer == m_viewergodlevel)
216 return; 215 return;
217 216
218 m_lastLevelToViewer = m_godlevel; 217 m_lastLevelToViewer = m_viewergodlevel;
219 218
220 if(m_scenePresence.IsChildAgent) 219 if(m_scenePresence.IsChildAgent)
221 return; 220 return;
222 221
223 m_scenePresence.ControllingClient.SendAdminResponse(UUID.Zero, (uint)m_godlevel); 222 m_scenePresence.ControllingClient.SendAdminResponse(UUID.Zero, (uint)m_viewergodlevel);
224 } 223 }
225 224
226 public void RequestGodMode(bool god) 225 public void RequestGodMode(bool god)
227 { 226 {
228 UpdateGodLevels(god); 227 UpdateGodLevels(god);
229 228
230 if(m_lastLevelToViewer != m_godlevel) 229 if(m_lastLevelToViewer != m_viewergodlevel)
231 { 230 {
232 m_scenePresence.ControllingClient.SendAdminResponse(UUID.Zero, (uint)m_godlevel); 231 m_scenePresence.ControllingClient.SendAdminResponse(UUID.Zero, (uint)m_viewergodlevel);
233 m_lastLevelToViewer = m_godlevel; 232 m_lastLevelToViewer = m_viewergodlevel;
234 } 233 }
235 } 234 }
236 235
237 public OSD State() 236 public OSD State()
238 { 237 {
239 OSDMap godMap = new OSDMap(2); 238 OSDMap godMap = new OSDMap(2);
240 bool m_viewerUiIsGod = m_godlevel >= 200; 239 bool m_viewerUiIsGod = m_viewergodlevel >= 200;
241 godMap.Add("ViewerUiIsGod", OSD.FromBoolean(m_viewerUiIsGod)); 240 godMap.Add("ViewerUiIsGod", OSD.FromBoolean(m_viewerUiIsGod));
242 241
243 return godMap; 242 return godMap;
@@ -256,7 +255,7 @@ namespace OpenSim.Region.Framework.Scenes
256 255
257 if (s.ContainsKey("ViewerUiIsGod")) 256 if (s.ContainsKey("ViewerUiIsGod"))
258 newstate = s["ViewerUiIsGod"].AsBoolean(); 257 newstate = s["ViewerUiIsGod"].AsBoolean();
259 m_lastLevelToViewer = m_godlevel; // we are not changing viewer level by default 258 m_lastLevelToViewer = m_viewergodlevel; // we are not changing viewer level by default
260 } 259 }
261 } 260 }
262 UpdateGodLevels(newstate); 261 UpdateGodLevels(newstate);
@@ -273,14 +272,14 @@ namespace OpenSim.Region.Framework.Scenes
273 set { m_userLevel = value; } 272 set { m_userLevel = value; }
274 } 273 }
275 274
276 public int GodLevel 275 public int ViwerUIGodLevel
277 { 276 {
278 get { return m_godlevel; } 277 get { return m_viewergodlevel; }
279 } 278 }
280 279
281 public int EffectiveLevel 280 public int GodLevel
282 { 281 {
283 get { return m_effectivegodlevel; } 282 get { return m_godlevel; }
284 } 283 }
285 } 284 }
286} 285}
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 87c3049..2137b42 100755
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3951,7 +3951,7 @@ namespace OpenSim.Region.Framework.Scenes
3951 bool vialogin = ((teleportFlags & (uint)TPFlags.ViaLogin) != 0 || 3951 bool vialogin = ((teleportFlags & (uint)TPFlags.ViaLogin) != 0 ||
3952 (teleportFlags & (uint)TPFlags.ViaHGLogin) != 0); 3952 (teleportFlags & (uint)TPFlags.ViaHGLogin) != 0);
3953 bool viahome = ((teleportFlags & (uint)TPFlags.ViaHome) != 0); 3953 bool viahome = ((teleportFlags & (uint)TPFlags.ViaHome) != 0);
3954 bool godlike = ((teleportFlags & (uint)TPFlags.Godlike) != 0); 3954// bool godlike = ((teleportFlags & (uint)TPFlags.Godlike) != 0);
3955 3955
3956 reason = String.Empty; 3956 reason = String.Empty;
3957 3957
@@ -4251,7 +4251,8 @@ namespace OpenSim.Region.Framework.Scenes
4251 } 4251 }
4252 // only check access, actual relocations will happen later on ScenePresence MakeRoot 4252 // only check access, actual relocations will happen later on ScenePresence MakeRoot
4253 // allow child agents creation 4253 // allow child agents creation
4254 if(!godlike && teleportFlags != (uint) TPFlags.Default) 4254// if(!godlike && teleportFlags != (uint) TPFlags.Default)
4255 if(teleportFlags != (uint) TPFlags.Default)
4255 { 4256 {
4256 bool checkTeleHub; 4257 bool checkTeleHub;
4257 4258
@@ -6188,9 +6189,10 @@ Environment.Exit(1);
6188 if (Permissions.IsGod(agentID)) 6189 if (Permissions.IsGod(agentID))
6189 return true; 6190 return true;
6190 6191
6191 bool isAdmin = Permissions.IsAdministrator(agentID); 6192 // Permissions.IsAdministrator is the same as IsGod for now
6192 if(isAdmin) 6193// bool isAdmin = Permissions.IsAdministrator(agentID);
6193 return true; 6194// if(isAdmin)
6195// return true;
6194 6196
6195 // also honor estate managers access rights 6197 // also honor estate managers access rights
6196 bool isManager = Permissions.IsEstateManager(agentID); 6198 bool isManager = Permissions.IsEstateManager(agentID);
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 8fdb0f1..5928764 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2302,7 +2302,7 @@ namespace OpenSim.Region.Framework.Scenes
2302 List<ScenePresence> sitters = GetSittingAvatars(); 2302 List<ScenePresence> sitters = GetSittingAvatars();
2303 foreach(ScenePresence sp in sitters) 2303 foreach(ScenePresence sp in sitters)
2304 { 2304 {
2305 if(!sp.IsDeleted && !sp.isNPC && sp.IsSatOnObject) 2305 if(!sp.IsDeleted && !sp.IsNPC && sp.IsSatOnObject)
2306 return; 2306 return;
2307 } 2307 }
2308 } 2308 }
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 99be06b..b8ac089 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -2723,7 +2723,7 @@ namespace OpenSim.Region.Framework.Scenes
2723 detobj.posVector = av.AbsolutePosition; 2723 detobj.posVector = av.AbsolutePosition;
2724 detobj.rotQuat = av.Rotation; 2724 detobj.rotQuat = av.Rotation;
2725 detobj.velVector = av.Velocity; 2725 detobj.velVector = av.Velocity;
2726 detobj.colliderType = av.isNPC ? 0x20 : 0x1; // OpenSim\Region\ScriptEngine\Shared\Helpers.cs 2726 detobj.colliderType = av.IsNPC ? 0x20 : 0x1; // OpenSim\Region\ScriptEngine\Shared\Helpers.cs
2727 if(av.IsSatOnObject) 2727 if(av.IsSatOnObject)
2728 detobj.colliderType |= 0x4; //passive 2728 detobj.colliderType |= 0x4; //passive
2729 else if(detobj.velVector != Vector3.Zero) 2729 else if(detobj.velVector != Vector3.Zero)
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index dbca68b..bd0786b 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -90,15 +90,15 @@ namespace OpenSim.Region.Framework.Scenes
90 m_scene.EventManager.TriggerScenePresenceUpdated(this); 90 m_scene.EventManager.TriggerScenePresenceUpdated(this);
91 } 91 }
92 92
93 public bool isNPC { get; private set; } 93 public bool IsNPC { get; private set; }
94 94
95 // simple yes or no isGOD from god level >= 200 95 // simple yes or no isGOD from god level >= 200
96 // should only be set by GodController 96 // should only be set by GodController
97 // we have two to suport legacy behaviour 97 // we have two to suport legacy behaviour
98 // isLegacyGod was controlled by viewer in older versions 98 // IsViewerUIGod was controlled by viewer in older versions
99 // isGod may now be also controled by viewer acording to options 99 // IsGod may now be also controled by viewer acording to options
100 public bool isLegacyGod { get; set; } 100 public bool IsViewerUIGod { get; set; }
101 public bool isGod { get; set; } 101 public bool IsGod { get; set; }
102 102
103 private PresenceType m_presenceType; 103 private PresenceType m_presenceType;
104 public PresenceType PresenceType { 104 public PresenceType PresenceType {
@@ -106,7 +106,7 @@ namespace OpenSim.Region.Framework.Scenes
106 private set 106 private set
107 { 107 {
108 m_presenceType = value; 108 m_presenceType = value;
109 isNPC = (m_presenceType == PresenceType.Npc); 109 IsNPC = (m_presenceType == PresenceType.Npc);
110 } 110 }
111 } 111 }
112 112
@@ -1264,7 +1264,7 @@ namespace OpenSim.Region.Framework.Scenes
1264 IsLoggingIn = false; 1264 IsLoggingIn = false;
1265 } 1265 }
1266 1266
1267 IsChildAgent = false; 1267 IsChildAgent = false;
1268 } 1268 }
1269 1269
1270 m_log.DebugFormat("[MakeRootAgent] out lock: {0}ms", Util.EnvironmentTickCountSubtract(ts)); 1270 m_log.DebugFormat("[MakeRootAgent] out lock: {0}ms", Util.EnvironmentTickCountSubtract(ts));
@@ -1974,7 +1974,7 @@ namespace OpenSim.Region.Framework.Scenes
1974 try 1974 try
1975 { 1975 {
1976 // Make sure it's not a login agent. We don't want to wait for updates during login 1976 // Make sure it's not a login agent. We don't want to wait for updates during login
1977 if (!isNPC && !IsRealLogin(m_teleportFlags)) 1977 if (!IsNPC && !IsRealLogin(m_teleportFlags))
1978 { 1978 {
1979 1979
1980 // Let's wait until UpdateAgent (called by departing region) is done 1980 // Let's wait until UpdateAgent (called by departing region) is done
@@ -2012,7 +2012,7 @@ namespace OpenSim.Region.Framework.Scenes
2012 2012
2013 m_log.DebugFormat("[CompleteMovement] MakeRootAgent: {0}ms", Util.EnvironmentTickCountSubtract(ts)); 2013 m_log.DebugFormat("[CompleteMovement] MakeRootAgent: {0}ms", Util.EnvironmentTickCountSubtract(ts));
2014 2014
2015 if(!haveGroupInformation && !IsChildAgent && !isNPC) 2015 if(!haveGroupInformation && !IsChildAgent && !IsNPC)
2016 { 2016 {
2017 IGroupsModule gm = m_scene.RequestModuleInterface<IGroupsModule>(); 2017 IGroupsModule gm = m_scene.RequestModuleInterface<IGroupsModule>();
2018 if (gm != null) 2018 if (gm != null)
@@ -2086,7 +2086,7 @@ namespace OpenSim.Region.Framework.Scenes
2086 m_currentParcelHide = false; 2086 m_currentParcelHide = false;
2087 m_currentParcelUUID = UUID.Zero; 2087 m_currentParcelUUID = UUID.Zero;
2088 2088
2089 if(!isNPC) 2089 if(!IsNPC)
2090 { 2090 {
2091 GodController.SyncViewerState(); 2091 GodController.SyncViewerState();
2092 2092
@@ -2104,7 +2104,7 @@ namespace OpenSim.Region.Framework.Scenes
2104 // verify baked textures and cache 2104 // verify baked textures and cache
2105 bool cachedbaked = false; 2105 bool cachedbaked = false;
2106 2106
2107 if (isNPC) 2107 if (IsNPC)
2108 cachedbaked = true; 2108 cachedbaked = true;
2109 else 2109 else
2110 { 2110 {
@@ -2156,7 +2156,7 @@ namespace OpenSim.Region.Framework.Scenes
2156 if (p == this) 2156 if (p == this)
2157 continue; 2157 continue;
2158 2158
2159 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 2159 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
2160 continue; 2160 continue;
2161 2161
2162 SendAppearanceToAgentNF(p); 2162 SendAppearanceToAgentNF(p);
@@ -2168,14 +2168,14 @@ namespace OpenSim.Region.Framework.Scenes
2168 m_log.DebugFormat("[CompleteMovement] ValidateAndSendAppearanceAndAgentData: {0}ms", Util.EnvironmentTickCountSubtract(ts)); 2168 m_log.DebugFormat("[CompleteMovement] ValidateAndSendAppearanceAndAgentData: {0}ms", Util.EnvironmentTickCountSubtract(ts));
2169 2169
2170 // attachments 2170 // attachments
2171 if (isNPC || IsRealLogin(m_teleportFlags)) 2171 if (IsNPC || IsRealLogin(m_teleportFlags))
2172 { 2172 {
2173 if (Scene.AttachmentsModule != null) 2173 if (Scene.AttachmentsModule != null)
2174 // Util.FireAndForget( 2174 // Util.FireAndForget(
2175 // o => 2175 // o =>
2176 // { 2176 // {
2177 2177
2178 if (!isNPC) 2178 if (!IsNPC)
2179 Scene.AttachmentsModule.RezAttachments(this); 2179 Scene.AttachmentsModule.RezAttachments(this);
2180 else 2180 else
2181 Util.FireAndForget(x => 2181 Util.FireAndForget(x =>
@@ -2206,7 +2206,7 @@ namespace OpenSim.Region.Framework.Scenes
2206 continue; 2206 continue;
2207 } 2207 }
2208 2208
2209 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 2209 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
2210 continue; 2210 continue;
2211 2211
2212 SendAttachmentsToAgentNF(p); 2212 SendAttachmentsToAgentNF(p);
@@ -2226,7 +2226,7 @@ namespace OpenSim.Region.Framework.Scenes
2226 } 2226 }
2227 // let updates be sent, with some delay 2227 // let updates be sent, with some delay
2228 m_lastChildUpdatesTime = Util.EnvironmentTickCount() + 10000; 2228 m_lastChildUpdatesTime = Util.EnvironmentTickCount() + 10000;
2229 m_lastChildAgentUpdateGodLevel = GodController.GodLevel; 2229 m_lastChildAgentUpdateGodLevel = GodController.ViwerUIGodLevel;
2230 m_lastChildAgentUpdateDrawDistance = DrawDistance; 2230 m_lastChildAgentUpdateDrawDistance = DrawDistance;
2231 m_lastChildAgentUpdatePosition = AbsolutePosition; 2231 m_lastChildAgentUpdatePosition = AbsolutePosition;
2232 m_childUpdatesBusy = false; // allow them 2232 m_childUpdatesBusy = false; // allow them
@@ -2235,7 +2235,7 @@ namespace OpenSim.Region.Framework.Scenes
2235 m_log.DebugFormat("[CompleteMovement] openChildAgents: {0}ms", Util.EnvironmentTickCountSubtract(ts)); 2235 m_log.DebugFormat("[CompleteMovement] openChildAgents: {0}ms", Util.EnvironmentTickCountSubtract(ts));
2236 2236
2237 // send the rest of the world 2237 // send the rest of the world
2238 if (m_teleportFlags > 0 && !isNPC || m_currentParcelHide) 2238 if (m_teleportFlags > 0 && !IsNPC || m_currentParcelHide)
2239 SendInitialDataToMe(); 2239 SendInitialDataToMe();
2240 2240
2241 // priority uses avatar position only 2241 // priority uses avatar position only
@@ -3811,7 +3811,7 @@ namespace OpenSim.Region.Framework.Scenes
3811 if (!remoteClient.IsActive) 3811 if (!remoteClient.IsActive)
3812 return; 3812 return;
3813 3813
3814 if (ParcelHideThisAvatar && p.currentParcelUUID != currentParcelUUID && !p.isLegacyGod) 3814 if (ParcelHideThisAvatar && p.currentParcelUUID != currentParcelUUID && !p.IsViewerUIGod)
3815 return; 3815 return;
3816 3816
3817 //m_log.DebugFormat("[SCENE PRESENCE]: " + Name + " sending TerseUpdate to " + remoteClient.Name + " : Pos={0} Rot={1} Vel={2}", m_pos, Rotation, m_velocity); 3817 //m_log.DebugFormat("[SCENE PRESENCE]: " + Name + " sending TerseUpdate to " + remoteClient.Name + " : Pos={0} Rot={1} Vel={2}", m_pos, Rotation, m_velocity);
@@ -3921,7 +3921,7 @@ namespace OpenSim.Region.Framework.Scenes
3921 // get the avatar, then a kill if can't see it 3921 // get the avatar, then a kill if can't see it
3922 p.SendInitialAvatarDataToAgent(this); 3922 p.SendInitialAvatarDataToAgent(this);
3923 3923
3924 if (p.ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !isLegacyGod) 3924 if (p.ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !IsViewerUIGod)
3925 return; 3925 return;
3926 3926
3927 p.SendAppearanceToAgentNF(this); 3927 p.SendAppearanceToAgentNF(this);
@@ -3969,7 +3969,7 @@ namespace OpenSim.Region.Framework.Scenes
3969 foreach (ScenePresence p in presences) 3969 foreach (ScenePresence p in presences)
3970 { 3970 {
3971 p.ControllingClient.SendAvatarDataImmediate(this); 3971 p.ControllingClient.SendAvatarDataImmediate(this);
3972 if (p != this && ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 3972 if (p != this && ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
3973 // either just kill the object 3973 // either just kill the object
3974 // p.ControllingClient.SendKillObject(new List<uint> {LocalId}); 3974 // p.ControllingClient.SendKillObject(new List<uint> {LocalId});
3975 // or also attachments viewer may still know about 3975 // or also attachments viewer may still know about
@@ -3982,7 +3982,7 @@ namespace OpenSim.Region.Framework.Scenes
3982 public void SendInitialAvatarDataToAgent(ScenePresence p) 3982 public void SendInitialAvatarDataToAgent(ScenePresence p)
3983 { 3983 {
3984 p.ControllingClient.SendAvatarDataImmediate(this); 3984 p.ControllingClient.SendAvatarDataImmediate(this);
3985 if (p != this && ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 3985 if (p != this && ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
3986 // either just kill the object 3986 // either just kill the object
3987 // p.ControllingClient.SendKillObject(new List<uint> {LocalId}); 3987 // p.ControllingClient.SendKillObject(new List<uint> {LocalId});
3988 // or also attachments viewer may still know about 3988 // or also attachments viewer may still know about
@@ -3996,7 +3996,7 @@ namespace OpenSim.Region.Framework.Scenes
3996 public void SendAvatarDataToAgent(ScenePresence avatar) 3996 public void SendAvatarDataToAgent(ScenePresence avatar)
3997 { 3997 {
3998 //m_log.DebugFormat("[SCENE PRESENCE] SendAvatarDataToAgent from {0} ({1}) to {2} ({3})", Name, UUID, avatar.Name, avatar.UUID); 3998 //m_log.DebugFormat("[SCENE PRESENCE] SendAvatarDataToAgent from {0} ({1}) to {2} ({3})", Name, UUID, avatar.Name, avatar.UUID);
3999 if (ParcelHideThisAvatar && currentParcelUUID != avatar.currentParcelUUID && !avatar.isLegacyGod) 3999 if (ParcelHideThisAvatar && currentParcelUUID != avatar.currentParcelUUID && !avatar.IsViewerUIGod)
4000 return; 4000 return;
4001 avatar.ControllingClient.SendAvatarDataImmediate(this); 4001 avatar.ControllingClient.SendAvatarDataImmediate(this);
4002 } 4002 }
@@ -4041,7 +4041,7 @@ namespace OpenSim.Region.Framework.Scenes
4041 { 4041 {
4042 // m_log.DebugFormat( 4042 // m_log.DebugFormat(
4043 // "[SCENE PRESENCE]: Sending appearance data from {0} {1} to {2} {3}", Name, m_uuid, avatar.Name, avatar.UUID); 4043 // "[SCENE PRESENCE]: Sending appearance data from {0} {1} to {2} {3}", Name, m_uuid, avatar.Name, avatar.UUID);
4044 if (ParcelHideThisAvatar && currentParcelUUID != avatar.currentParcelUUID && !avatar.isLegacyGod) 4044 if (ParcelHideThisAvatar && currentParcelUUID != avatar.currentParcelUUID && !avatar.IsViewerUIGod)
4045 return; 4045 return;
4046 SendAppearanceToAgentNF(avatar); 4046 SendAppearanceToAgentNF(avatar);
4047 } 4047 }
@@ -4057,7 +4057,7 @@ namespace OpenSim.Region.Framework.Scenes
4057 if (IsChildAgent || Animator == null) 4057 if (IsChildAgent || Animator == null)
4058 return; 4058 return;
4059 4059
4060 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 4060 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
4061 return; 4061 return;
4062 4062
4063 Animator.SendAnimPackToClient(p.ControllingClient); 4063 Animator.SendAnimPackToClient(p.ControllingClient);
@@ -4068,7 +4068,7 @@ namespace OpenSim.Region.Framework.Scenes
4068 if (IsChildAgent) 4068 if (IsChildAgent)
4069 return; 4069 return;
4070 4070
4071 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 4071 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
4072 return; 4072 return;
4073 4073
4074 p.ControllingClient.SendAnimations(animations, seqs, ControllingClient.AgentId, objectIDs); 4074 p.ControllingClient.SendAnimations(animations, seqs, ControllingClient.AgentId, objectIDs);
@@ -4093,7 +4093,7 @@ namespace OpenSim.Region.Framework.Scenes
4093 4093
4094 m_scene.ForEachScenePresence(delegate(ScenePresence p) 4094 m_scene.ForEachScenePresence(delegate(ScenePresence p)
4095 { 4095 {
4096 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 4096 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
4097 return; 4097 return;
4098 p.ControllingClient.SendAnimations(animations, seqs, ControllingClient.AgentId, objectIDs); 4098 p.ControllingClient.SendAnimations(animations, seqs, ControllingClient.AgentId, objectIDs);
4099 }); 4099 });
@@ -4192,7 +4192,7 @@ namespace OpenSim.Region.Framework.Scenes
4192 return; 4192 return;
4193 4193
4194 bool doUpdate = false; 4194 bool doUpdate = false;
4195 if(m_lastChildAgentUpdateGodLevel != GodController.GodLevel) 4195 if(m_lastChildAgentUpdateGodLevel != GodController.ViwerUIGodLevel)
4196 doUpdate = true; 4196 doUpdate = true;
4197 4197
4198 if(!doUpdate && Math.Abs(DrawDistance - m_lastChildAgentUpdateDrawDistance) > 32.0f) 4198 if(!doUpdate && Math.Abs(DrawDistance - m_lastChildAgentUpdateDrawDistance) > 32.0f)
@@ -4209,7 +4209,7 @@ namespace OpenSim.Region.Framework.Scenes
4209 { 4209 {
4210 m_childUpdatesBusy = true; 4210 m_childUpdatesBusy = true;
4211 m_lastChildAgentUpdatePosition = pos; 4211 m_lastChildAgentUpdatePosition = pos;
4212 m_lastChildAgentUpdateGodLevel = GodController.GodLevel; 4212 m_lastChildAgentUpdateGodLevel = GodController.ViwerUIGodLevel;
4213 m_lastChildAgentUpdateDrawDistance = DrawDistance; 4213 m_lastChildAgentUpdateDrawDistance = DrawDistance;
4214// m_lastChildAgentUpdateCamPosition = CameraPosition; 4214// m_lastChildAgentUpdateCamPosition = CameraPosition;
4215 4215
@@ -4470,12 +4470,12 @@ namespace OpenSim.Region.Framework.Scenes
4470 /// </summary> 4470 /// </summary>
4471 public void GrantGodlikePowers(UUID token, bool godStatus) 4471 public void GrantGodlikePowers(UUID token, bool godStatus)
4472 { 4472 {
4473 if (isNPC) 4473 if (IsNPC)
4474 return; 4474 return;
4475 4475
4476 bool wasgod = isLegacyGod; 4476 bool wasgod = IsViewerUIGod;
4477 GodController.RequestGodMode(godStatus); 4477 GodController.RequestGodMode(godStatus);
4478 if (wasgod != isLegacyGod) 4478 if (wasgod != IsViewerUIGod)
4479 parcelGodCheck(m_currentParcelUUID); 4479 parcelGodCheck(m_currentParcelUUID);
4480 } 4480 }
4481 4481
@@ -4909,7 +4909,7 @@ namespace OpenSim.Region.Framework.Scenes
4909 RaiseCollisionScriptEvents(coldata); 4909 RaiseCollisionScriptEvents(coldata);
4910 4910
4911 // Gods do not take damage and Invulnerable is set depending on parcel/region flags 4911 // Gods do not take damage and Invulnerable is set depending on parcel/region flags
4912 if (Invulnerable || isLegacyGod) 4912 if (Invulnerable || IsViewerUIGod)
4913 return; 4913 return;
4914 4914
4915 // The following may be better in the ICombatModule 4915 // The following may be better in the ICombatModule
@@ -5194,7 +5194,7 @@ namespace OpenSim.Region.Framework.Scenes
5194 if (p != this && sog.HasPrivateAttachmentPoint) 5194 if (p != this && sog.HasPrivateAttachmentPoint)
5195 return; 5195 return;
5196 5196
5197 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 5197 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
5198 return; 5198 return;
5199 5199
5200 SendTerseUpdateToAgentNF(p); 5200 SendTerseUpdateToAgentNF(p);
@@ -5308,7 +5308,7 @@ namespace OpenSim.Region.Framework.Scenes
5308 if (p == this) 5308 if (p == this)
5309 continue; 5309 continue;
5310 5310
5311 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 5311 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
5312 continue; 5312 continue;
5313 5313
5314 p.ControllingClient.SendEntityUpdate(rootpart, rootflag); 5314 p.ControllingClient.SendEntityUpdate(rootpart, rootflag);
@@ -5366,7 +5366,7 @@ namespace OpenSim.Region.Framework.Scenes
5366 if (p == this) 5366 if (p == this)
5367 continue; 5367 continue;
5368 5368
5369 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 5369 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
5370 continue; 5370 continue;
5371 5371
5372 p.ControllingClient.SendEntityUpdate(rootpart, flag); 5372 p.ControllingClient.SendEntityUpdate(rootpart, flag);
@@ -5416,7 +5416,7 @@ namespace OpenSim.Region.Framework.Scenes
5416 if (p == this) 5416 if (p == this)
5417 continue; 5417 continue;
5418 5418
5419 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 5419 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
5420 continue; 5420 continue;
5421 5421
5422 p.ControllingClient.SendEntityUpdate(part, flag); 5422 p.ControllingClient.SendEntityUpdate(part, flag);
@@ -5457,7 +5457,7 @@ namespace OpenSim.Region.Framework.Scenes
5457 { 5457 {
5458 if (p == this) 5458 if (p == this)
5459 continue; 5459 continue;
5460 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.isLegacyGod) 5460 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
5461 continue; 5461 continue;
5462 5462
5463 p.ControllingClient.SendEntityUpdate(part, flag); 5463 p.ControllingClient.SendEntityUpdate(part, flag);
@@ -6095,7 +6095,7 @@ namespace OpenSim.Region.Framework.Scenes
6095 // the TP point. This behaviour mimics agni. 6095 // the TP point. This behaviour mimics agni.
6096 if (land.LandData.LandingType == (byte)LandingType.LandingPoint && 6096 if (land.LandData.LandingType == (byte)LandingType.LandingPoint &&
6097 land.LandData.UserLocation != Vector3.Zero && 6097 land.LandData.UserLocation != Vector3.Zero &&
6098 !isLegacyGod && 6098 !IsViewerUIGod &&
6099 ((land.LandData.OwnerID != m_uuid && 6099 ((land.LandData.OwnerID != m_uuid &&
6100 !m_scene.Permissions.IsGod(m_uuid) && 6100 !m_scene.Permissions.IsGod(m_uuid) &&
6101 !m_scene.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_uuid)) || 6101 !m_scene.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_uuid)) ||
@@ -6120,7 +6120,7 @@ namespace OpenSim.Region.Framework.Scenes
6120 string reason; 6120 string reason;
6121 6121
6122 // dont mess with gods 6122 // dont mess with gods
6123 if(isLegacyGod || m_scene.Permissions.IsGod(m_uuid)) 6123 if(IsViewerUIGod || m_scene.Permissions.IsGod(m_uuid))
6124 return true; 6124 return true;
6125 6125
6126 // respect region owner and managers 6126 // respect region owner and managers
@@ -6194,7 +6194,7 @@ namespace OpenSim.Region.Framework.Scenes
6194 detobj.posVector = av.AbsolutePosition; 6194 detobj.posVector = av.AbsolutePosition;
6195 detobj.rotQuat = av.Rotation; 6195 detobj.rotQuat = av.Rotation;
6196 detobj.velVector = av.Velocity; 6196 detobj.velVector = av.Velocity;
6197 detobj.colliderType = av.isNPC ? 0x20 : 0x1; // OpenSim\Region\ScriptEngine\Shared\Helpers.cs 6197 detobj.colliderType = av.IsNPC ? 0x20 : 0x1; // OpenSim\Region\ScriptEngine\Shared\Helpers.cs
6198 if(av.IsSatOnObject) 6198 if(av.IsSatOnObject)
6199 detobj.colliderType |= 0x4; //passive 6199 detobj.colliderType |= 0x4; //passive
6200 else if(detobj.velVector != Vector3.Zero) 6200 else if(detobj.velVector != Vector3.Zero)
@@ -6417,7 +6417,7 @@ namespace OpenSim.Region.Framework.Scenes
6417 6417
6418 if (p.ParcelHideThisAvatar && p.currentParcelUUID != currentParcelID) 6418 if (p.ParcelHideThisAvatar && p.currentParcelUUID != currentParcelID)
6419 { 6419 {
6420 if (isLegacyGod) 6420 if (IsViewerUIGod)
6421 p.SendViewTo(this); 6421 p.SendViewTo(this);
6422 else 6422 else
6423 p.SendKillTo(this); 6423 p.SendKillTo(this);
@@ -6468,7 +6468,7 @@ namespace OpenSim.Region.Framework.Scenes
6468 continue; 6468 continue;
6469 6469
6470 // those not on parcel dont see me 6470 // those not on parcel dont see me
6471 if (currentParcelID != p.currentParcelUUID && !p.isLegacyGod) 6471 if (currentParcelID != p.currentParcelUUID && !p.IsViewerUIGod)
6472 { 6472 {
6473 killsToSendto.Add(p); // they dont see me 6473 killsToSendto.Add(p); // they dont see me
6474 } 6474 }
@@ -6494,9 +6494,9 @@ namespace OpenSim.Region.Framework.Scenes
6494 // only those on previus parcel need receive kills 6494 // only those on previus parcel need receive kills
6495 if (previusParcelID == p.currentParcelUUID) 6495 if (previusParcelID == p.currentParcelUUID)
6496 { 6496 {
6497 if(!p.isLegacyGod) 6497 if(!p.IsViewerUIGod)
6498 killsToSendto.Add(p); // they dont see me 6498 killsToSendto.Add(p); // they dont see me
6499 if(!isLegacyGod) 6499 if(!IsViewerUIGod)
6500 killsToSendme.Add(p); // i dont see them 6500 killsToSendme.Add(p); // i dont see them
6501 } 6501 }
6502 // only those on new parcel need see 6502 // only those on new parcel need see
@@ -6518,7 +6518,7 @@ namespace OpenSim.Region.Framework.Scenes
6518 continue; 6518 continue;
6519 6519
6520 // those not on new parcel dont see me 6520 // those not on new parcel dont see me
6521 if (currentParcelID != p.currentParcelUUID && !p.isLegacyGod) 6521 if (currentParcelID != p.currentParcelUUID && !p.IsViewerUIGod)
6522 { 6522 {
6523 killsToSendto.Add(p); // they dont see me 6523 killsToSendto.Add(p); // they dont see me
6524 } 6524 }
@@ -6544,7 +6544,7 @@ namespace OpenSim.Region.Framework.Scenes
6544 if (p.IsDeleted || p == this || p.ControllingClient == null || !p.ControllingClient.IsActive) 6544 if (p.IsDeleted || p == this || p.ControllingClient == null || !p.ControllingClient.IsActive)
6545 continue; 6545 continue;
6546 // only those old parcel need kills 6546 // only those old parcel need kills
6547 if (previusParcelID == p.currentParcelUUID && !isLegacyGod) 6547 if (previusParcelID == p.currentParcelUUID && !IsViewerUIGod)
6548 { 6548 {
6549 killsToSendme.Add(p); // i dont see them 6549 killsToSendme.Add(p); // i dont see them
6550 } 6550 }
@@ -6606,7 +6606,7 @@ namespace OpenSim.Region.Framework.Scenes
6606 if (Scene.AttachmentsModule != null) 6606 if (Scene.AttachmentsModule != null)
6607 Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true); 6607 Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true);
6608 6608
6609 if (!ParcelHideThisAvatar || isLegacyGod) 6609 if (!ParcelHideThisAvatar || IsViewerUIGod)
6610 return; 6610 return;
6611 6611
6612 List<ScenePresence> allpresences = m_scene.GetScenePresences(); 6612 List<ScenePresence> allpresences = m_scene.GetScenePresences();