diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/GodController.cs | 57 | ||||
-rwxr-xr-x | OpenSim/Region/Framework/Scenes/Scene.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 94 |
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(); |