diff options
author | Justin Clark-Casey (justincc) | 2013-08-12 21:02:50 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-08-12 21:02:50 +0100 |
commit | 377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac (patch) | |
tree | 9192b0555d15eda7ffdd4fc4b730d1b3e0be545a | |
parent | minor: Extend warning message when adding trying to add an event for a client... (diff) | |
download | opensim-SC_OLD-377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac.zip opensim-SC_OLD-377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac.tar.gz opensim-SC_OLD-377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac.tar.bz2 opensim-SC_OLD-377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac.tar.xz |
Don't try and send group updates to NPCs via event queue, since NPCs have no event queue.
I think there is an argument for sending this information to NPCs anyway since in some cases it appears a lot easier to write server-side bots by hooking into such internal events.
However, would need to stop event messages building up on NPC queues if they are never retrieved.
-rw-r--r-- | OpenSim/Addons/Groups/GroupsModule.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | 1 |
2 files changed, 7 insertions, 4 deletions
diff --git a/OpenSim/Addons/Groups/GroupsModule.cs b/OpenSim/Addons/Groups/GroupsModule.cs index 830c671..b0493fa 100644 --- a/OpenSim/Addons/Groups/GroupsModule.cs +++ b/OpenSim/Addons/Groups/GroupsModule.cs | |||
@@ -1223,12 +1223,16 @@ namespace OpenSim.Groups | |||
1223 | { | 1223 | { |
1224 | if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); | 1224 | if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); |
1225 | 1225 | ||
1226 | // NPCs currently don't have a CAPs structure or event queues. There is a strong argument for conveying this information | ||
1227 | // to them anyway since it makes writing server-side bots a lot easier, but for now we don't do anything. | ||
1228 | if (remoteClient.SceneAgent.PresenceType == PresenceType.Npc) | ||
1229 | return; | ||
1230 | |||
1226 | OSDArray AgentData = new OSDArray(1); | 1231 | OSDArray AgentData = new OSDArray(1); |
1227 | OSDMap AgentDataMap = new OSDMap(1); | 1232 | OSDMap AgentDataMap = new OSDMap(1); |
1228 | AgentDataMap.Add("AgentID", OSD.FromUUID(dataForAgentID)); | 1233 | AgentDataMap.Add("AgentID", OSD.FromUUID(dataForAgentID)); |
1229 | AgentData.Add(AgentDataMap); | 1234 | AgentData.Add(AgentDataMap); |
1230 | 1235 | ||
1231 | |||
1232 | OSDArray GroupData = new OSDArray(data.Length); | 1236 | OSDArray GroupData = new OSDArray(data.Length); |
1233 | OSDArray NewGroupData = new OSDArray(data.Length); | 1237 | OSDArray NewGroupData = new OSDArray(data.Length); |
1234 | 1238 | ||
@@ -1274,8 +1278,7 @@ namespace OpenSim.Groups | |||
1274 | if (queue != null) | 1278 | if (queue != null) |
1275 | { | 1279 | { |
1276 | queue.Enqueue(queue.BuildEvent("AgentGroupDataUpdate", llDataStruct), GetRequestingAgentID(remoteClient)); | 1280 | queue.Enqueue(queue.BuildEvent("AgentGroupDataUpdate", llDataStruct), GetRequestingAgentID(remoteClient)); |
1277 | } | 1281 | } |
1278 | |||
1279 | } | 1282 | } |
1280 | 1283 | ||
1281 | private void SendScenePresenceUpdate(UUID AgentID, string Title) | 1284 | private void SendScenePresenceUpdate(UUID AgentID, string Title) |
@@ -1337,6 +1340,7 @@ namespace OpenSim.Groups | |||
1337 | 1340 | ||
1338 | GroupMembershipData[] membershipArray = GetProfileListedGroupMemberships(remoteClient, dataForAgentID); | 1341 | GroupMembershipData[] membershipArray = GetProfileListedGroupMemberships(remoteClient, dataForAgentID); |
1339 | SendGroupMembershipInfoViaCaps(remoteClient, dataForAgentID, membershipArray); | 1342 | SendGroupMembershipInfoViaCaps(remoteClient, dataForAgentID, membershipArray); |
1343 | |||
1340 | //remoteClient.SendAvatarGroupsReply(dataForAgentID, membershipArray); | 1344 | //remoteClient.SendAvatarGroupsReply(dataForAgentID, membershipArray); |
1341 | if (remoteClient.AgentId == dataForAgentID) | 1345 | if (remoteClient.AgentId == dataForAgentID) |
1342 | remoteClient.RefreshGroupMembership(); | 1346 | remoteClient.RefreshGroupMembership(); |
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index f4734b7..d744a14 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | |||
@@ -1212,7 +1212,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
1212 | AgentDataMap.Add("AgentID", OSD.FromUUID(dataForAgentID)); | 1212 | AgentDataMap.Add("AgentID", OSD.FromUUID(dataForAgentID)); |
1213 | AgentData.Add(AgentDataMap); | 1213 | AgentData.Add(AgentDataMap); |
1214 | 1214 | ||
1215 | |||
1216 | OSDArray GroupData = new OSDArray(data.Length); | 1215 | OSDArray GroupData = new OSDArray(data.Length); |
1217 | OSDArray NewGroupData = new OSDArray(data.Length); | 1216 | OSDArray NewGroupData = new OSDArray(data.Length); |
1218 | 1217 | ||