diff options
author | Dan Lake | 2011-11-03 17:06:08 -0700 |
---|---|---|
committer | Dan Lake | 2011-11-03 17:06:08 -0700 |
commit | 94dc7d07ebc22ce0e0d9b77e91538ddc90799bee (patch) | |
tree | 0d2ffc74fa937af0ca5d9e6fb2fafeac2c37dd61 /OpenSim/Region | |
parent | remove the pointless check of the face texture struct against null in Bot.Obj... (diff) | |
download | opensim-SC-94dc7d07ebc22ce0e0d9b77e91538ddc90799bee.zip opensim-SC-94dc7d07ebc22ce0e0d9b77e91538ddc90799bee.tar.gz opensim-SC-94dc7d07ebc22ce0e0d9b77e91538ddc90799bee.tar.bz2 opensim-SC-94dc7d07ebc22ce0e0d9b77e91538ddc90799bee.tar.xz |
Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls to
the 3 iteration functions so more of them are using the correct
iteration for the action they are performing. The 3 iterators that seem
to fit all actions within OpenSim at this time are:
ForEachAvatar: Perform an action on all avatars (root presences)
ForEachClient: Perform an action on all clients (root or child clients)
ForEachRootClient: Perform an action on all clients that have an avatar
There are still a dozen places or so calling the old
ForEachScenePresence that will take a little more refactoring to
eliminate.
Diffstat (limited to '')
22 files changed, 120 insertions, 153 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs index f5cc4c3..783a03b 100644 --- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs | |||
@@ -228,7 +228,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat | |||
228 | 228 | ||
229 | foreach (Scene s in m_scenes) | 229 | foreach (Scene s in m_scenes) |
230 | { | 230 | { |
231 | s.ForEachScenePresence( | 231 | // This should use ForEachClient, but clients don't have a position. |
232 | // If camera is moved into client, then camera position can be used | ||
233 | s.ForEachAvatar( | ||
232 | delegate(ScenePresence presence) | 234 | delegate(ScenePresence presence) |
233 | { | 235 | { |
234 | if (TrySendChatMessage(presence, fromPos, regionPos, fromID, fromName, c.Type, message, sourceType)) | 236 | if (TrySendChatMessage(presence, fromPos, regionPos, fromID, fromName, c.Type, message, sourceType)) |
@@ -279,11 +281,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat | |||
279 | 281 | ||
280 | HashSet<UUID> receiverIDs = new HashSet<UUID>(); | 282 | HashSet<UUID> receiverIDs = new HashSet<UUID>(); |
281 | 283 | ||
282 | ((Scene)c.Scene).ForEachRootScenePresence( | 284 | ((Scene)c.Scene).ForEachRootClient( |
283 | delegate(ScenePresence presence) | 285 | delegate(IClientAPI client) |
284 | { | 286 | { |
285 | IClientAPI client = presence.ControllingClient; | ||
286 | |||
287 | // don't forward SayOwner chat from objects to | 287 | // don't forward SayOwner chat from objects to |
288 | // non-owner agents | 288 | // non-owner agents |
289 | if ((c.Type == ChatTypeEnum.Owner) && | 289 | if ((c.Type == ChatTypeEnum.Owner) && |
@@ -292,8 +292,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat | |||
292 | return; | 292 | return; |
293 | 293 | ||
294 | client.SendChatMessage(c.Message, (byte)cType, CenterOfRegion, fromName, fromID, | 294 | client.SendChatMessage(c.Message, (byte)cType, CenterOfRegion, fromName, fromID, |
295 | (byte)sourceType, (byte)ChatAudibleLevel.Fully); | 295 | (byte)sourceType, (byte)ChatAudibleLevel.Fully); |
296 | receiverIDs.Add(presence.UUID); | 296 | receiverIDs.Add(client.AgentId); |
297 | }); | 297 | }); |
298 | 298 | ||
299 | (c.Scene as Scene).EventManager.TriggerOnChatToClients( | 299 | (c.Scene as Scene).EventManager.TriggerOnChatToClients( |
diff --git a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs index 3ce446b..ffe7718 100644 --- a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs | |||
@@ -98,9 +98,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog | |||
98 | 98 | ||
99 | public void SendGeneralAlert(string message) | 99 | public void SendGeneralAlert(string message) |
100 | { | 100 | { |
101 | m_scene.ForEachRootScenePresence(delegate(ScenePresence presence) | 101 | m_scene.ForEachRootClient(delegate(IClientAPI client) |
102 | { | 102 | { |
103 | presence.ControllingClient.SendAlertMessage(message); | 103 | client.SendAlertMessage(message); |
104 | }); | 104 | }); |
105 | } | 105 | } |
106 | 106 | ||
@@ -162,9 +162,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog | |||
162 | public void SendNotificationToUsersInRegion( | 162 | public void SendNotificationToUsersInRegion( |
163 | UUID fromAvatarID, string fromAvatarName, string message) | 163 | UUID fromAvatarID, string fromAvatarName, string message) |
164 | { | 164 | { |
165 | m_scene.ForEachRootScenePresence(delegate(ScenePresence presence) | 165 | m_scene.ForEachRootClient(delegate(IClientAPI client) |
166 | { | 166 | { |
167 | presence.ControllingClient.SendBlueBoxMessage(fromAvatarID, fromAvatarName, message); | 167 | client.SendBlueBoxMessage(fromAvatarID, fromAvatarName, message); |
168 | }); | 168 | }); |
169 | } | 169 | } |
170 | 170 | ||
diff --git a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs index 562c3b1..2e3312f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs | |||
@@ -140,14 +140,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods | |||
140 | // This is a bit crude. It seems the client will be null before it actually stops the thread | 140 | // This is a bit crude. It seems the client will be null before it actually stops the thread |
141 | // The thread will kill itself eventually :/ | 141 | // The thread will kill itself eventually :/ |
142 | // Is there another way to make sure *all* clients get this 'inter region' message? | 142 | // Is there another way to make sure *all* clients get this 'inter region' message? |
143 | m_scene.ForEachRootScenePresence( | 143 | m_scene.ForEachRootClient( |
144 | delegate(ScenePresence p) | 144 | delegate(IClientAPI client) |
145 | { | 145 | { |
146 | if (p.UUID != godID) | 146 | if (client.AgentId != godID) |
147 | { | 147 | { |
148 | // Possibly this should really be p.Close() though that method doesn't send a close | 148 | client.Close(); |
149 | // to the client | ||
150 | p.ControllingClient.Close(); | ||
151 | } | 149 | } |
152 | } | 150 | } |
153 | ); | 151 | ); |
diff --git a/OpenSim/Region/CoreModules/LightShare/LightShareModule.cs b/OpenSim/Region/CoreModules/LightShare/LightShareModule.cs index 2de8d7a..cabbd31 100644 --- a/OpenSim/Region/CoreModules/LightShare/LightShareModule.cs +++ b/OpenSim/Region/CoreModules/LightShare/LightShareModule.cs | |||
@@ -145,57 +145,38 @@ namespace OpenSim.Region.CoreModules.World.LightShare | |||
145 | param.Add(mBlock); | 145 | param.Add(mBlock); |
146 | return param; | 146 | return param; |
147 | } | 147 | } |
148 | public void SendProfileToClient(ScenePresence presence) | 148 | |
149 | public void SendProfileToClient(IClientAPI client) | ||
149 | { | 150 | { |
150 | IClientAPI client = presence.ControllingClient; | 151 | SendProfileToClient(client, m_scene.RegionInfo.WindlightSettings); |
151 | if (m_enableWindlight && m_scene.RegionInfo.WindlightSettings.valid) | ||
152 | { | ||
153 | if (presence.IsChildAgent == false) | ||
154 | { | ||
155 | List<byte[]> param = compileWindlightSettings(m_scene.RegionInfo.WindlightSettings); | ||
156 | client.SendGenericMessage("Windlight", param); | ||
157 | } | ||
158 | } | ||
159 | else | ||
160 | { | ||
161 | //We probably don't want to spam chat with this.. probably | ||
162 | //m_log.Debug("[WINDLIGHT]: Module disabled"); | ||
163 | } | ||
164 | } | 152 | } |
165 | public void SendProfileToClient(ScenePresence presence, RegionLightShareData wl) | 153 | |
154 | public void SendProfileToClient(IClientAPI client, RegionLightShareData wl) | ||
166 | { | 155 | { |
167 | IClientAPI client = presence.ControllingClient; | ||
168 | if (m_enableWindlight && m_scene.RegionInfo.WindlightSettings.valid) | 156 | if (m_enableWindlight && m_scene.RegionInfo.WindlightSettings.valid) |
169 | { | 157 | { |
170 | if (presence.IsChildAgent == false) | 158 | List<byte[]> param = compileWindlightSettings(wl); |
171 | { | 159 | client.SendGenericMessage("Windlight", param); |
172 | List<byte[]> param = compileWindlightSettings(wl); | ||
173 | client.SendGenericMessage("Windlight", param); | ||
174 | } | ||
175 | } | ||
176 | else | ||
177 | { | ||
178 | //We probably don't want to spam chat with this.. probably | ||
179 | //m_log.Debug("[WINDLIGHT]: Module disabled"); | ||
180 | } | 160 | } |
181 | } | 161 | } |
162 | |||
182 | private void EventManager_OnMakeRootAgent(ScenePresence presence) | 163 | private void EventManager_OnMakeRootAgent(ScenePresence presence) |
183 | { | 164 | { |
184 | m_log.Debug("[WINDLIGHT]: Sending windlight scene to new client"); | 165 | m_log.Debug("[WINDLIGHT]: Sending windlight scene to new client"); |
185 | SendProfileToClient(presence); | 166 | SendProfileToClient(presence.ControllingClient); |
186 | } | 167 | } |
168 | |||
187 | private void EventManager_OnSendNewWindlightProfileTargeted(RegionLightShareData wl, UUID pUUID) | 169 | private void EventManager_OnSendNewWindlightProfileTargeted(RegionLightShareData wl, UUID pUUID) |
188 | { | 170 | { |
189 | ScenePresence Sc; | 171 | IClientAPI client; |
190 | if (m_scene.TryGetScenePresence(pUUID,out Sc)) | 172 | m_scene.TryGetClient(pUUID, out client); |
191 | { | 173 | SendProfileToClient(client, wl); |
192 | SendProfileToClient(Sc,wl); | ||
193 | } | ||
194 | } | 174 | } |
175 | |||
195 | private void EventManager_OnSaveNewWindlightProfile() | 176 | private void EventManager_OnSaveNewWindlightProfile() |
196 | { | 177 | { |
197 | if (m_scene.RegionInfo.WindlightSettings.valid) | 178 | if (m_scene.RegionInfo.WindlightSettings.valid) |
198 | m_scene.ForEachScenePresence(SendProfileToClient); | 179 | m_scene.ForEachRootClient(SendProfileToClient); |
199 | } | 180 | } |
200 | 181 | ||
201 | public void PostInitialise() | 182 | public void PostInitialise() |
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 5427b68..58d9455 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |||
@@ -658,14 +658,14 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
658 | if (!Scene.Permissions.CanIssueEstateCommand(remover_client.AgentId, false)) | 658 | if (!Scene.Permissions.CanIssueEstateCommand(remover_client.AgentId, false)) |
659 | return; | 659 | return; |
660 | 660 | ||
661 | Scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 661 | Scene.ForEachRootClient(delegate(IClientAPI client) |
662 | { | 662 | { |
663 | if (sp.UUID != senderID) | 663 | if (client.AgentId != senderID) |
664 | { | 664 | { |
665 | // make sure they are still there, we could be working down a long list | 665 | // make sure they are still there, we could be working down a long list |
666 | // Also make sure they are actually in the region | 666 | // Also make sure they are actually in the region |
667 | ScenePresence p; | 667 | ScenePresence p; |
668 | if(Scene.TryGetScenePresence(sp.UUID, out p)) | 668 | if(Scene.TryGetScenePresence(client.AgentId, out p)) |
669 | Scene.TeleportClientHome(p.UUID, p.ControllingClient); | 669 | Scene.TeleportClientHome(p.UUID, p.ControllingClient); |
670 | } | 670 | } |
671 | }); | 671 | }); |
@@ -927,9 +927,9 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
927 | 927 | ||
928 | public void sendRegionInfoPacketToAll() | 928 | public void sendRegionInfoPacketToAll() |
929 | { | 929 | { |
930 | Scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 930 | Scene.ForEachRootClient(delegate(IClientAPI client) |
931 | { | 931 | { |
932 | HandleRegionInfoRequest(sp.ControllingClient); | 932 | HandleRegionInfoRequest(client); |
933 | }); | 933 | }); |
934 | } | 934 | } |
935 | 935 | ||
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index 0da0de3..ff3b107 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs | |||
@@ -476,7 +476,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
476 | 476 | ||
477 | public void SendLandUpdateToAvatarsOverMe(bool snap_selection) | 477 | public void SendLandUpdateToAvatarsOverMe(bool snap_selection) |
478 | { | 478 | { |
479 | m_scene.ForEachRootScenePresence(delegate(ScenePresence avatar) | 479 | m_scene.ForEachAvatar(delegate(ScenePresence avatar) |
480 | { | 480 | { |
481 | ILandObject over = null; | 481 | ILandObject over = null; |
482 | try | 482 | try |
diff --git a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs index 93b1005..fcbc159 100644 --- a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs +++ b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs | |||
@@ -70,7 +70,7 @@ namespace OpenSim.Region.CoreModules.World.Sound | |||
70 | 70 | ||
71 | SceneObjectGroup grp = part.ParentGroup; | 71 | SceneObjectGroup grp = part.ParentGroup; |
72 | 72 | ||
73 | m_scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 73 | m_scene.ForEachAvatar(delegate(ScenePresence sp) |
74 | { | 74 | { |
75 | double dis = Util.GetDistanceTo(sp.AbsolutePosition, position); | 75 | double dis = Util.GetDistanceTo(sp.AbsolutePosition, position); |
76 | if (dis > 100.0) // Max audio distance | 76 | if (dis > 100.0) // Max audio distance |
@@ -119,7 +119,7 @@ namespace OpenSim.Region.CoreModules.World.Sound | |||
119 | } | 119 | } |
120 | } | 120 | } |
121 | 121 | ||
122 | m_scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 122 | m_scene.ForEachAvatar(delegate(ScenePresence sp) |
123 | { | 123 | { |
124 | double dis = Util.GetDistanceTo(sp.AbsolutePosition, position); | 124 | double dis = Util.GetDistanceTo(sp.AbsolutePosition, position); |
125 | if (dis > 100.0) // Max audio distance | 125 | if (dis > 100.0) // Max audio distance |
diff --git a/OpenSim/Region/CoreModules/World/Sun/SunModule.cs b/OpenSim/Region/CoreModules/World/Sun/SunModule.cs index d2c1289..a838e1e 100644 --- a/OpenSim/Region/CoreModules/World/Sun/SunModule.cs +++ b/OpenSim/Region/CoreModules/World/Sun/SunModule.cs | |||
@@ -488,9 +488,9 @@ namespace OpenSim.Region.CoreModules | |||
488 | 488 | ||
489 | private void SunUpdateToAllClients() | 489 | private void SunUpdateToAllClients() |
490 | { | 490 | { |
491 | m_scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 491 | m_scene.ForEachRootClient(delegate(IClientAPI client) |
492 | { | 492 | { |
493 | SunToClient(sp.ControllingClient); | 493 | SunToClient(client); |
494 | }); | 494 | }); |
495 | } | 495 | } |
496 | 496 | ||
diff --git a/OpenSim/Region/CoreModules/World/Wind/WindModule.cs b/OpenSim/Region/CoreModules/World/Wind/WindModule.cs index bea5db1..a488725 100644 --- a/OpenSim/Region/CoreModules/World/Wind/WindModule.cs +++ b/OpenSim/Region/CoreModules/World/Wind/WindModule.cs | |||
@@ -435,9 +435,9 @@ namespace OpenSim.Region.CoreModules | |||
435 | m_frameLastUpdateClientArray = m_frame; | 435 | m_frameLastUpdateClientArray = m_frame; |
436 | } | 436 | } |
437 | 437 | ||
438 | m_scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 438 | m_scene.ForEachRootClient(delegate(IClientAPI client) |
439 | { | 439 | { |
440 | sp.ControllingClient.SendWindData(windSpeeds); | 440 | client.SendWindData(windSpeeds); |
441 | }); | 441 | }); |
442 | } | 442 | } |
443 | } | 443 | } |
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index 00d7d55..cd4d7e3 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | |||
@@ -401,7 +401,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
401 | } | 401 | } |
402 | else | 402 | else |
403 | { | 403 | { |
404 | m_scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 404 | m_scene.ForEachAvatar(delegate(ScenePresence sp) |
405 | { | 405 | { |
406 | // Don't send a green dot for yourself | 406 | // Don't send a green dot for yourself |
407 | if (sp.UUID != remoteClient.AgentId) | 407 | if (sp.UUID != remoteClient.AgentId) |
@@ -1180,7 +1180,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
1180 | else | 1180 | else |
1181 | { | 1181 | { |
1182 | OSDArray responsearr = new OSDArray(m_scene.GetRootAgentCount()); | 1182 | OSDArray responsearr = new OSDArray(m_scene.GetRootAgentCount()); |
1183 | m_scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 1183 | m_scene.ForEachAvatar(delegate(ScenePresence sp) |
1184 | { | 1184 | { |
1185 | OSDMap responsemapdata = new OSDMap(); | 1185 | OSDMap responsemapdata = new OSDMap(); |
1186 | responsemapdata["X"] = OSD.FromInteger((int)(xstart + sp.AbsolutePosition.X)); | 1186 | responsemapdata["X"] = OSD.FromInteger((int)(xstart + sp.AbsolutePosition.X)); |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index dff43fd..b996e86 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -872,7 +872,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
872 | 872 | ||
873 | try | 873 | try |
874 | { | 874 | { |
875 | ForEachRootScenePresence(delegate(ScenePresence agent) | 875 | ForEachAvatar(delegate(ScenePresence agent) |
876 | { | 876 | { |
877 | //agent.ControllingClient.new | 877 | //agent.ControllingClient.new |
878 | //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo()); | 878 | //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo()); |
@@ -1017,7 +1017,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1017 | GridRegion r = new GridRegion(region); | 1017 | GridRegion r = new GridRegion(region); |
1018 | try | 1018 | try |
1019 | { | 1019 | { |
1020 | ForEachRootScenePresence(delegate(ScenePresence agent) | 1020 | ForEachAvatar(delegate(ScenePresence agent) |
1021 | { | 1021 | { |
1022 | if (m_teleportModule != null) | 1022 | if (m_teleportModule != null) |
1023 | m_teleportModule.EnableChildAgent(agent, r); | 1023 | m_teleportModule.EnableChildAgent(agent, r); |
@@ -1423,12 +1423,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1423 | /// <param name="stats">Stats on the Simulator's performance</param> | 1423 | /// <param name="stats">Stats on the Simulator's performance</param> |
1424 | private void SendSimStatsPackets(SimStats stats) | 1424 | private void SendSimStatsPackets(SimStats stats) |
1425 | { | 1425 | { |
1426 | ForEachRootScenePresence( | 1426 | ForEachRootClient(delegate(IClientAPI client) |
1427 | delegate(ScenePresence agent) | 1427 | { |
1428 | { | 1428 | client.SendSimStats(stats); |
1429 | agent.ControllingClient.SendSimStats(stats); | 1429 | }); |
1430 | } | ||
1431 | ); | ||
1432 | } | 1430 | } |
1433 | 1431 | ||
1434 | /// <summary> | 1432 | /// <summary> |
@@ -4214,35 +4212,32 @@ namespace OpenSim.Region.Framework.Scenes | |||
4214 | return m_sceneGraph.GetScenePresence(localID); | 4212 | return m_sceneGraph.GetScenePresence(localID); |
4215 | } | 4213 | } |
4216 | 4214 | ||
4215 | /// <summary> | ||
4216 | /// Returns true if scene presence is a child (no avatar in this scene) | ||
4217 | /// </summary> | ||
4218 | /// <param name="avatarID"></param> | ||
4219 | /// <returns></returns> | ||
4217 | public override bool PresenceChildStatus(UUID avatarID) | 4220 | public override bool PresenceChildStatus(UUID avatarID) |
4218 | { | 4221 | { |
4219 | ScenePresence cp = GetScenePresence(avatarID); | 4222 | ScenePresence sp; |
4220 | 4223 | return TryGetScenePresence(avatarID, out sp) && sp.IsChildAgent; | |
4221 | // FIXME: This is really crap - some logout code is relying on a NullReferenceException to halt its processing | ||
4222 | // This needs to be fixed properly by cleaning up the logout code. | ||
4223 | //if (cp != null) | ||
4224 | // return cp.IsChildAgent; | ||
4225 | |||
4226 | //return false; | ||
4227 | |||
4228 | return cp.IsChildAgent; | ||
4229 | } | 4224 | } |
4230 | 4225 | ||
4231 | /// <summary> | 4226 | /// <summary> |
4232 | /// Performs action on all ROOT (not child) scene presences. | 4227 | /// Performs action on all avatars in the scene (root scene presences) |
4233 | /// This is just a shortcut function since frequently actions only appy to root SPs | 4228 | /// Avatars may be an NPC or a 'real' client. |
4234 | /// </summary> | 4229 | /// </summary> |
4235 | /// <param name="action"></param> | 4230 | /// <param name="action"></param> |
4236 | public void ForEachRootScenePresence(Action<ScenePresence> action) | 4231 | public void ForEachAvatar(Action<ScenePresence> action) |
4237 | { | 4232 | { |
4238 | if(m_sceneGraph != null) | 4233 | if(m_sceneGraph != null) |
4239 | { | 4234 | { |
4240 | m_sceneGraph.ForEachRootScenePresence(action); | 4235 | m_sceneGraph.ForEachAvatar(action); |
4241 | } | 4236 | } |
4242 | } | 4237 | } |
4243 | 4238 | ||
4244 | /// <summary> | 4239 | /// <summary> |
4245 | /// Performs action on all scene presences. | 4240 | /// Performs action on all scene presences (root and child) |
4246 | /// </summary> | 4241 | /// </summary> |
4247 | /// <param name="action"></param> | 4242 | /// <param name="action"></param> |
4248 | public void ForEachScenePresence(Action<ScenePresence> action) | 4243 | public void ForEachScenePresence(Action<ScenePresence> action) |
@@ -4254,25 +4249,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
4254 | } | 4249 | } |
4255 | 4250 | ||
4256 | /// <summary> | 4251 | /// <summary> |
4257 | /// Perform the given action for each object | ||
4258 | /// </summary> | ||
4259 | /// <param name="action"></param> | ||
4260 | // public void ForEachObject(Action<SceneObjectGroup> action) | ||
4261 | // { | ||
4262 | // List<SceneObjectGroup> presenceList; | ||
4263 | // | ||
4264 | // lock (m_sceneObjects) | ||
4265 | // { | ||
4266 | // presenceList = new List<SceneObjectGroup>(m_sceneObjects.Values); | ||
4267 | // } | ||
4268 | // | ||
4269 | // foreach (SceneObjectGroup presence in presenceList) | ||
4270 | // { | ||
4271 | // action(presence); | ||
4272 | // } | ||
4273 | // } | ||
4274 | |||
4275 | /// <summary> | ||
4276 | /// Get a group via its UUID | 4252 | /// Get a group via its UUID |
4277 | /// </summary> | 4253 | /// </summary> |
4278 | /// <param name="fullID"></param> | 4254 | /// <param name="fullID"></param> |
@@ -4344,6 +4320,22 @@ namespace OpenSim.Region.Framework.Scenes | |||
4344 | return m_sceneGraph.TryGetAvatarByName(avatarName, out avatar); | 4320 | return m_sceneGraph.TryGetAvatarByName(avatarName, out avatar); |
4345 | } | 4321 | } |
4346 | 4322 | ||
4323 | /// <summary> | ||
4324 | /// Perform an action on all clients with an avatar in this scene (root only) | ||
4325 | /// </summary> | ||
4326 | /// <param name="action"></param> | ||
4327 | public void ForEachRootClient(Action<IClientAPI> action) | ||
4328 | { | ||
4329 | ForEachAvatar(delegate(ScenePresence presence) | ||
4330 | { | ||
4331 | action(presence.ControllingClient); | ||
4332 | }); | ||
4333 | } | ||
4334 | |||
4335 | /// <summary> | ||
4336 | /// Perform an action on all clients connected to the region (root and child) | ||
4337 | /// </summary> | ||
4338 | /// <param name="action"></param> | ||
4347 | public void ForEachClient(Action<IClientAPI> action) | 4339 | public void ForEachClient(Action<IClientAPI> action) |
4348 | { | 4340 | { |
4349 | m_clientManager.ForEachSync(action); | 4341 | m_clientManager.ForEachSync(action); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index 82ded28..a137bca 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs | |||
@@ -1190,7 +1190,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1190 | /// This is just a shortcut function since frequently actions only appy to root SPs | 1190 | /// This is just a shortcut function since frequently actions only appy to root SPs |
1191 | /// </summary> | 1191 | /// </summary> |
1192 | /// <param name="action"></param> | 1192 | /// <param name="action"></param> |
1193 | public void ForEachRootScenePresence(Action<ScenePresence> action) | 1193 | public void ForEachAvatar(Action<ScenePresence> action) |
1194 | { | 1194 | { |
1195 | ForEachScenePresence(delegate(ScenePresence sp) | 1195 | ForEachScenePresence(delegate(ScenePresence sp) |
1196 | { | 1196 | { |
diff --git a/OpenSim/Region/Framework/Scenes/SceneManager.cs b/OpenSim/Region/Framework/Scenes/SceneManager.cs index 3bfd866..9b72bee 100644 --- a/OpenSim/Region/Framework/Scenes/SceneManager.cs +++ b/OpenSim/Region/Framework/Scenes/SceneManager.cs | |||
@@ -458,16 +458,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
458 | ForEachCurrentScene( | 458 | ForEachCurrentScene( |
459 | delegate(Scene scene) | 459 | delegate(Scene scene) |
460 | { | 460 | { |
461 | scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence) | 461 | scene.ForEachRootClient(delegate(IClientAPI client) |
462 | { | 462 | { |
463 | if (name == null || scenePresence.Name == name) | 463 | if (name == null || client.Name == name) |
464 | { | 464 | { |
465 | m_log.DebugFormat("Packet debug for {0} {1} set to {2}", | 465 | m_log.DebugFormat("Packet debug for {0} {1} set to {2}", |
466 | scenePresence.Firstname, | 466 | client.FirstName, |
467 | scenePresence.Lastname, | 467 | client.LastName, |
468 | newDebug); | 468 | newDebug); |
469 | 469 | ||
470 | scenePresence.ControllingClient.DebugPacketLevel = newDebug; | 470 | client.DebugPacketLevel = newDebug; |
471 | } | 471 | } |
472 | }); | 472 | }); |
473 | } | 473 | } |
@@ -481,7 +481,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
481 | ForEachCurrentScene( | 481 | ForEachCurrentScene( |
482 | delegate(Scene scene) | 482 | delegate(Scene scene) |
483 | { | 483 | { |
484 | scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence) | 484 | scene.ForEachAvatar(delegate(ScenePresence scenePresence) |
485 | { | 485 | { |
486 | avatars.Add(scenePresence); | 486 | avatars.Add(scenePresence); |
487 | }); | 487 | }); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index a0a7344..3c80eb5 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1150,7 +1150,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1150 | { | 1150 | { |
1151 | SceneObjectPart part = parts[i]; | 1151 | SceneObjectPart part = parts[i]; |
1152 | 1152 | ||
1153 | Scene.ForEachScenePresence(delegate(ScenePresence avatar) | 1153 | Scene.ForEachAvatar(delegate(ScenePresence avatar) |
1154 | { | 1154 | { |
1155 | if (avatar.ParentID == LocalId) | 1155 | if (avatar.ParentID == LocalId) |
1156 | avatar.StandUp(); | 1156 | avatar.StandUp(); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 44f822c..1a709e9 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -992,7 +992,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
992 | public PrimitiveBaseShape Shape | 992 | public PrimitiveBaseShape Shape |
993 | { | 993 | { |
994 | get { return m_shape; } | 994 | get { return m_shape; } |
995 | set { m_shape = value; } | 995 | set { m_shape = value;} |
996 | } | 996 | } |
997 | 997 | ||
998 | /// <summary> | 998 | /// <summary> |
@@ -1336,12 +1336,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1336 | /// <param name="AgentID"></param> | 1336 | /// <param name="AgentID"></param> |
1337 | private void SendRootPartPropertiesToClient(UUID AgentID) | 1337 | private void SendRootPartPropertiesToClient(UUID AgentID) |
1338 | { | 1338 | { |
1339 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar) | 1339 | m_parentGroup.Scene.ForEachClient(delegate(IClientAPI client) |
1340 | { | 1340 | { |
1341 | // Ugly reference :( | 1341 | // Ugly reference :( |
1342 | if (avatar.UUID == AgentID) | 1342 | if (client.AgentId == AgentID) |
1343 | { | 1343 | { |
1344 | m_parentGroup.SendPropertiesToClient(avatar.ControllingClient); | 1344 | m_parentGroup.SendPropertiesToClient(client); |
1345 | } | 1345 | } |
1346 | }); | 1346 | }); |
1347 | } | 1347 | } |
@@ -1461,9 +1461,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1461 | if (volume < 0) | 1461 | if (volume < 0) |
1462 | volume = 0; | 1462 | volume = 0; |
1463 | 1463 | ||
1464 | m_parentGroup.Scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 1464 | m_parentGroup.Scene.ForEachRootClient(delegate(IClientAPI client) |
1465 | { | 1465 | { |
1466 | sp.ControllingClient.SendAttachedSoundGainChange(UUID, (float)volume); | 1466 | client.SendAttachedSoundGainChange(UUID, (float)volume); |
1467 | }); | 1467 | }); |
1468 | } | 1468 | } |
1469 | 1469 | ||
@@ -2216,7 +2216,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2216 | } | 2216 | } |
2217 | else | 2217 | else |
2218 | { | 2218 | { |
2219 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence av) | 2219 | m_parentGroup.Scene.ForEachAvatar(delegate(ScenePresence av) |
2220 | { | 2220 | { |
2221 | if (av.LocalId == localId) | 2221 | if (av.LocalId == localId) |
2222 | { | 2222 | { |
@@ -2347,7 +2347,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2347 | } | 2347 | } |
2348 | else | 2348 | else |
2349 | { | 2349 | { |
2350 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence av) | 2350 | m_parentGroup.Scene.ForEachAvatar(delegate(ScenePresence av) |
2351 | { | 2351 | { |
2352 | if (av.LocalId == localId) | 2352 | if (av.LocalId == localId) |
2353 | { | 2353 | { |
@@ -2470,7 +2470,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2470 | } | 2470 | } |
2471 | else | 2471 | else |
2472 | { | 2472 | { |
2473 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence av) | 2473 | m_parentGroup.Scene.ForEachAvatar(delegate(ScenePresence av) |
2474 | { | 2474 | { |
2475 | if (av.LocalId == localId) | 2475 | if (av.LocalId == localId) |
2476 | { | 2476 | { |
@@ -2696,7 +2696,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2696 | } | 2696 | } |
2697 | } | 2697 | } |
2698 | 2698 | ||
2699 | m_parentGroup.Scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 2699 | m_parentGroup.Scene.ForEachAvatar(delegate(ScenePresence sp) |
2700 | { | 2700 | { |
2701 | if (!(Util.GetDistanceTo(sp.AbsolutePosition, AbsolutePosition) >= 100)) | 2701 | if (!(Util.GetDistanceTo(sp.AbsolutePosition, AbsolutePosition) >= 100)) |
2702 | sp.ControllingClient.SendPreLoadSound(objectID, objectID, soundID); | 2702 | sp.ControllingClient.SendPreLoadSound(objectID, objectID, soundID); |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 1d77b06..5fc597c 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -956,7 +956,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
956 | } | 956 | } |
957 | 957 | ||
958 | // send the animations of the other presences to me | 958 | // send the animations of the other presences to me |
959 | m_scene.ForEachScenePresence(delegate(ScenePresence presence) | 959 | m_scene.ForEachAvatar(delegate(ScenePresence presence) |
960 | { | 960 | { |
961 | if (presence != this) | 961 | if (presence != this) |
962 | presence.Animator.SendAnimPackToClient(ControllingClient); | 962 | presence.Animator.SendAnimPackToClient(ControllingClient); |
@@ -2596,7 +2596,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2596 | public void SendOtherAgentsAvatarDataToMe() | 2596 | public void SendOtherAgentsAvatarDataToMe() |
2597 | { | 2597 | { |
2598 | int count = 0; | 2598 | int count = 0; |
2599 | m_scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence) | 2599 | m_scene.ForEachAvatar(delegate(ScenePresence scenePresence) |
2600 | { | 2600 | { |
2601 | // only send information about other root agents | 2601 | // only send information about other root agents |
2602 | if (scenePresence.UUID == UUID) | 2602 | if (scenePresence.UUID == UUID) |
@@ -2660,7 +2660,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2660 | // m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} {1}", Name, UUID); | 2660 | // m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} {1}", Name, UUID); |
2661 | 2661 | ||
2662 | int count = 0; | 2662 | int count = 0; |
2663 | m_scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence) | 2663 | m_scene.ForEachAvatar(delegate(ScenePresence scenePresence) |
2664 | { | 2664 | { |
2665 | // only send information about other root agents | 2665 | // only send information about other root agents |
2666 | if (scenePresence.UUID == UUID) | 2666 | if (scenePresence.UUID == UUID) |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs b/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs index f8120aa..5a3a62f 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs | |||
@@ -112,7 +112,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance | |||
112 | { | 112 | { |
113 | foreach (Scene scene in m_scenes.Values) | 113 | foreach (Scene scene in m_scenes.Values) |
114 | { | 114 | { |
115 | scene.ForEachRootScenePresence(sp => scene.AvatarFactory.SendAppearance(sp.UUID)); | 115 | scene.ForEachAvatar(sp => scene.AvatarFactory.SendAppearance(sp.UUID)); |
116 | } | 116 | } |
117 | } | 117 | } |
118 | } | 118 | } |
@@ -123,15 +123,12 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance | |||
123 | { | 123 | { |
124 | foreach (Scene scene in m_scenes.Values) | 124 | foreach (Scene scene in m_scenes.Values) |
125 | { | 125 | { |
126 | scene.ForEachScenePresence( | 126 | scene.ForEachAvatar( |
127 | delegate(ScenePresence sp) | 127 | delegate(ScenePresence sp) |
128 | { | 128 | { |
129 | if (sp.ControllingClient is LLClientView && !((LLClientView)sp.ControllingClient).ChildAgentStatus()) | 129 | bool bakedTextureValid = scene.AvatarFactory.ValidateBakedTextureCache(sp); |
130 | { | 130 | MainConsole.Instance.OutputFormat( |
131 | bool bakedTextureValid = scene.AvatarFactory.ValidateBakedTextureCache(sp); | 131 | "{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt"); |
132 | MainConsole.Instance.OutputFormat( | ||
133 | "{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt"); | ||
134 | } | ||
135 | }); | 132 | }); |
136 | } | 133 | } |
137 | } | 134 | } |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs index e22618d..bea5807 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs | |||
@@ -373,7 +373,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge | |||
373 | scene.GetRootAgentCount(), scene.RegionInfo.RegionName, | 373 | scene.GetRootAgentCount(), scene.RegionInfo.RegionName, |
374 | scene.RegionInfo.RegionID, | 374 | scene.RegionInfo.RegionID, |
375 | DateTime.UtcNow.ToString("s"))); | 375 | DateTime.UtcNow.ToString("s"))); |
376 | scene.ForEachRootScenePresence(delegate(ScenePresence sp) | 376 | scene.ForEachAvatar(delegate(ScenePresence sp) |
377 | { | 377 | { |
378 | list.Append(String.Format(" <avatar name=\"{0}\" uuid=\"{1}\" />\n", sp.Name, sp.UUID)); | 378 | list.Append(String.Format(" <avatar name=\"{0}\" uuid=\"{1}\" />\n", sp.Name, sp.UUID)); |
379 | list.Append("</avatars>"); | 379 | list.Append("</avatars>"); |
diff --git a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs index 92cbbc6..33abae2 100644 --- a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs +++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs | |||
@@ -711,7 +711,7 @@ namespace OpenSim.Region.RegionCombinerModule | |||
711 | 711 | ||
712 | List<Vector3> CoarseLocations = new List<Vector3>(); | 712 | List<Vector3> CoarseLocations = new List<Vector3>(); |
713 | List<UUID> AvatarUUIDs = new List<UUID>(); | 713 | List<UUID> AvatarUUIDs = new List<UUID>(); |
714 | connectiondata.RegionScene.ForEachRootScenePresence(delegate(ScenePresence sp) | 714 | connectiondata.RegionScene.ForEachAvatar(delegate(ScenePresence sp) |
715 | { | 715 | { |
716 | if (sp.UUID != presence.UUID) | 716 | if (sp.UUID != presence.UUID) |
717 | { | 717 | { |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 0750579..d2ddcef 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1644,7 +1644,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1644 | if (flexi) | 1644 | if (flexi) |
1645 | { | 1645 | { |
1646 | part.Shape.FlexiEntry = true; // this setting flexi true isn't working, but the below parameters do | 1646 | part.Shape.FlexiEntry = true; // this setting flexi true isn't working, but the below parameters do |
1647 | // work once the prim is already flexi | 1647 | // work once the prim is already flexi |
1648 | part.Shape.FlexiSoftness = softness; | 1648 | part.Shape.FlexiSoftness = softness; |
1649 | part.Shape.FlexiGravity = gravity; | 1649 | part.Shape.FlexiGravity = gravity; |
1650 | part.Shape.FlexiDrag = friction; | 1650 | part.Shape.FlexiDrag = friction; |
@@ -1654,10 +1654,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1654 | part.Shape.FlexiForceY = (float)Force.y; | 1654 | part.Shape.FlexiForceY = (float)Force.y; |
1655 | part.Shape.FlexiForceZ = (float)Force.z; | 1655 | part.Shape.FlexiForceZ = (float)Force.z; |
1656 | part.Shape.PathCurve = 0x80; | 1656 | part.Shape.PathCurve = 0x80; |
1657 | part.ParentGroup.HasGroupChanged = true; | ||
1658 | part.ScheduleFullUpdate(); | ||
1657 | } | 1659 | } |
1658 | |||
1659 | part.ParentGroup.HasGroupChanged = true; | ||
1660 | part.ScheduleFullUpdate(); | ||
1661 | } | 1660 | } |
1662 | 1661 | ||
1663 | /// <summary> | 1662 | /// <summary> |
@@ -3741,7 +3740,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3741 | m_host.AddScriptLPS(1); | 3740 | m_host.AddScriptLPS(1); |
3742 | List<UUID> keytable = new List<UUID>(); | 3741 | List<UUID> keytable = new List<UUID>(); |
3743 | // parse for sitting avatare-uuids | 3742 | // parse for sitting avatare-uuids |
3744 | World.ForEachRootScenePresence(delegate(ScenePresence presence) | 3743 | World.ForEachAvatar(delegate(ScenePresence presence) |
3745 | { | 3744 | { |
3746 | if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) | 3745 | if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) |
3747 | keytable.Add(presence.UUID); | 3746 | keytable.Add(presence.UUID); |
@@ -3803,7 +3802,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3803 | m_host.AddScriptLPS(1); | 3802 | m_host.AddScriptLPS(1); |
3804 | // parse for sitting avatare-names | 3803 | // parse for sitting avatare-names |
3805 | List<String> nametable = new List<String>(); | 3804 | List<String> nametable = new List<String>(); |
3806 | World.ForEachRootScenePresence(delegate(ScenePresence presence) | 3805 | World.ForEachAvatar(delegate(ScenePresence presence) |
3807 | { | 3806 | { |
3808 | if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) | 3807 | if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) |
3809 | nametable.Add(presence.ControllingClient.Name); | 3808 | nametable.Add(presence.ControllingClient.Name); |
@@ -7612,7 +7611,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7612 | { | 7611 | { |
7613 | m_host.AddScriptLPS(1); | 7612 | m_host.AddScriptLPS(1); |
7614 | int avatarCount = 0; | 7613 | int avatarCount = 0; |
7615 | World.ForEachRootScenePresence(delegate(ScenePresence presence) | 7614 | World.ForEachAvatar(delegate(ScenePresence presence) |
7616 | { | 7615 | { |
7617 | if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) | 7616 | if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) |
7618 | avatarCount++; | 7617 | avatarCount++; |
@@ -9380,7 +9379,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
9380 | landObject.SetMediaUrl(url); | 9379 | landObject.SetMediaUrl(url); |
9381 | 9380 | ||
9382 | // now send to all (non-child) agents in the parcel | 9381 | // now send to all (non-child) agents in the parcel |
9383 | World.ForEachRootScenePresence(delegate(ScenePresence sp) | 9382 | World.ForEachAvatar(delegate(ScenePresence sp) |
9384 | { | 9383 | { |
9385 | if (sp.currentParcelUUID == landData.GlobalID) | 9384 | if (sp.currentParcelUUID == landData.GlobalID) |
9386 | { | 9385 | { |
@@ -9413,7 +9412,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
9413 | if (presence == null) | 9412 | if (presence == null) |
9414 | { | 9413 | { |
9415 | // send to all (non-child) agents in the parcel | 9414 | // send to all (non-child) agents in the parcel |
9416 | World.ForEachRootScenePresence(delegate(ScenePresence sp) | 9415 | World.ForEachAvatar(delegate(ScenePresence sp) |
9417 | { | 9416 | { |
9418 | if (sp.currentParcelUUID == landData.GlobalID) | 9417 | if (sp.currentParcelUUID == landData.GlobalID) |
9419 | { | 9418 | { |
@@ -10528,7 +10527,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10528 | 10527 | ||
10529 | if (checkAgents) | 10528 | if (checkAgents) |
10530 | { | 10529 | { |
10531 | World.ForEachScenePresence(delegate(ScenePresence sp) | 10530 | World.ForEachAvatar(delegate(ScenePresence sp) |
10532 | { | 10531 | { |
10533 | if (sp.AbsolutePosition.ApproxEquals(posToCheck, sp.PhysicsActor.Size.X)) | 10532 | if (sp.AbsolutePosition.ApproxEquals(posToCheck, sp.PhysicsActor.Size.X)) |
10534 | { | 10533 | { |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index f3206ac..3138131 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -873,7 +873,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
873 | CheckThreatLevel(ThreatLevel.None, "osGetAgents"); | 873 | CheckThreatLevel(ThreatLevel.None, "osGetAgents"); |
874 | 874 | ||
875 | LSL_List result = new LSL_List(); | 875 | LSL_List result = new LSL_List(); |
876 | World.ForEachRootScenePresence(delegate(ScenePresence sp) | 876 | World.ForEachAvatar(delegate(ScenePresence sp) |
877 | { | 877 | { |
878 | result.Add(new LSL_String(sp.Name)); | 878 | result.Add(new LSL_String(sp.Name)); |
879 | }); | 879 | }); |
@@ -2581,7 +2581,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2581 | CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); | 2581 | CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); |
2582 | if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID)) | 2582 | if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID)) |
2583 | { | 2583 | { |
2584 | World.ForEachRootScenePresence(delegate(ScenePresence sp) | 2584 | World.ForEachAvatar(delegate(ScenePresence sp) |
2585 | { | 2585 | { |
2586 | if (sp.Firstname == FirstName && sp.Lastname == SurName) | 2586 | if (sp.Firstname == FirstName && sp.Lastname == SurName) |
2587 | { | 2587 | { |
@@ -2715,7 +2715,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2715 | CheckThreatLevel(ThreatLevel.None, "osGetAvatarList"); | 2715 | CheckThreatLevel(ThreatLevel.None, "osGetAvatarList"); |
2716 | 2716 | ||
2717 | LSL_List result = new LSL_List(); | 2717 | LSL_List result = new LSL_List(); |
2718 | World.ForEachRootScenePresence(delegate (ScenePresence avatar) | 2718 | World.ForEachAvatar(delegate (ScenePresence avatar) |
2719 | { | 2719 | { |
2720 | if (avatar != null && avatar.UUID != m_host.OwnerID) | 2720 | if (avatar != null && avatar.UUID != m_host.OwnerID) |
2721 | { | 2721 | { |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs index 4ac7f8b..eb05f16 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs | |||
@@ -507,7 +507,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins | |||
507 | senseEntity(sp); | 507 | senseEntity(sp); |
508 | if ((ts.type & AGENT_BY_USERNAME) != 0) | 508 | if ((ts.type & AGENT_BY_USERNAME) != 0) |
509 | { | 509 | { |
510 | m_CmdManager.m_ScriptEngine.World.ForEachScenePresence( | 510 | m_CmdManager.m_ScriptEngine.World.ForEachAvatar( |
511 | delegate (ScenePresence ssp) | 511 | delegate (ScenePresence ssp) |
512 | { | 512 | { |
513 | if (ssp.Lastname == "Resident") | 513 | if (ssp.Lastname == "Resident") |
@@ -526,7 +526,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins | |||
526 | } | 526 | } |
527 | else | 527 | else |
528 | { | 528 | { |
529 | m_CmdManager.m_ScriptEngine.World.ForEachScenePresence(senseEntity); | 529 | m_CmdManager.m_ScriptEngine.World.ForEachAvatar(senseEntity); |
530 | } | 530 | } |
531 | return sensedEntities; | 531 | return sensedEntities; |
532 | } | 532 | } |