diff options
Diffstat (limited to '')
8 files changed, 65 insertions, 31 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 5a2c45c..d8fcb62 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -1469,6 +1469,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1469 | money.MoneyData.TransactionSuccess = success; | 1469 | money.MoneyData.TransactionSuccess = success; |
1470 | money.MoneyData.Description = description; | 1470 | money.MoneyData.Description = description; |
1471 | money.MoneyData.MoneyBalance = balance; | 1471 | money.MoneyData.MoneyBalance = balance; |
1472 | money.TransactionInfo.ItemDescription = Util.StringToBytes256("NONE"); | ||
1472 | OutPacket(money, ThrottleOutPacketType.Task); | 1473 | OutPacket(money, ThrottleOutPacketType.Task); |
1473 | } | 1474 | } |
1474 | 1475 | ||
@@ -2213,7 +2214,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2213 | OutPacket(loadURL, ThrottleOutPacketType.Task); | 2214 | OutPacket(loadURL, ThrottleOutPacketType.Task); |
2214 | } | 2215 | } |
2215 | 2216 | ||
2216 | public void SendDialog(string objectname, UUID objectID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) | 2217 | public void SendDialog( |
2218 | string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, | ||
2219 | UUID textureID, int ch, string[] buttonlabels) | ||
2217 | { | 2220 | { |
2218 | ScriptDialogPacket dialog = (ScriptDialogPacket)PacketPool.Instance.GetPacket(PacketType.ScriptDialog); | 2221 | ScriptDialogPacket dialog = (ScriptDialogPacket)PacketPool.Instance.GetPacket(PacketType.ScriptDialog); |
2219 | dialog.Data.ObjectID = objectID; | 2222 | dialog.Data.ObjectID = objectID; |
@@ -2231,6 +2234,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2231 | buttons[i].ButtonLabel = Util.StringToBytes256(buttonlabels[i]); | 2234 | buttons[i].ButtonLabel = Util.StringToBytes256(buttonlabels[i]); |
2232 | } | 2235 | } |
2233 | dialog.Buttons = buttons; | 2236 | dialog.Buttons = buttons; |
2237 | |||
2238 | dialog.OwnerData = new ScriptDialogPacket.OwnerDataBlock[1]; | ||
2239 | dialog.OwnerData[0] = new ScriptDialogPacket.OwnerDataBlock(); | ||
2240 | dialog.OwnerData[0].OwnerID = ownerID; | ||
2241 | |||
2234 | OutPacket(dialog, ThrottleOutPacketType.Task); | 2242 | OutPacket(dialog, ThrottleOutPacketType.Task); |
2235 | } | 2243 | } |
2236 | 2244 | ||
@@ -2293,8 +2301,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2293 | OrbitalPosition = (OrbitalPosition - m_sunPainDaHalfOrbitalCutoff) * 0.6666666667f + m_sunPainDaHalfOrbitalCutoff; | 2301 | OrbitalPosition = (OrbitalPosition - m_sunPainDaHalfOrbitalCutoff) * 0.6666666667f + m_sunPainDaHalfOrbitalCutoff; |
2294 | } | 2302 | } |
2295 | 2303 | ||
2296 | |||
2297 | |||
2298 | SimulatorViewerTimeMessagePacket viewertime = (SimulatorViewerTimeMessagePacket)PacketPool.Instance.GetPacket(PacketType.SimulatorViewerTimeMessage); | 2304 | SimulatorViewerTimeMessagePacket viewertime = (SimulatorViewerTimeMessagePacket)PacketPool.Instance.GetPacket(PacketType.SimulatorViewerTimeMessage); |
2299 | viewertime.TimeInfo.SunDirection = Position; | 2305 | viewertime.TimeInfo.SunDirection = Position; |
2300 | viewertime.TimeInfo.SunAngVelocity = Velocity; | 2306 | viewertime.TimeInfo.SunAngVelocity = Velocity; |
diff --git a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs index 8a977c9..0db31eb 100644 --- a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs | |||
@@ -124,7 +124,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog | |||
124 | 124 | ||
125 | ScenePresence sp = m_scene.GetScenePresence(avatarID); | 125 | ScenePresence sp = m_scene.GetScenePresence(avatarID); |
126 | if (sp != null) | 126 | if (sp != null) |
127 | sp.ControllingClient.SendDialog(objectName, objectID, ownerFirstName, ownerLastName, message, textureID, ch, buttonlabels); | 127 | sp.ControllingClient.SendDialog( |
128 | objectName, objectID, ownerID, ownerFirstName, ownerLastName, message, textureID, ch, buttonlabels); | ||
128 | } | 129 | } |
129 | 130 | ||
130 | public void SendUrlToUser( | 131 | public void SendUrlToUser( |
diff --git a/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs b/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs index 5ab334f..0781de0 100644 --- a/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs +++ b/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs | |||
@@ -25,6 +25,7 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | ||
28 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
29 | using System.Reflection; | 30 | using System.Reflection; |
30 | using log4net; | 31 | using log4net; |
@@ -58,7 +59,7 @@ namespace OpenSim.Region.CoreModules.Hypergrid | |||
58 | 59 | ||
59 | #endregion | 60 | #endregion |
60 | 61 | ||
61 | protected override void GetAndSendBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY, uint flag) | 62 | protected override List<MapBlockData> GetAndSendBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY, uint flag) |
62 | { | 63 | { |
63 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); | 64 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); |
64 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, | 65 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, |
@@ -67,9 +68,26 @@ namespace OpenSim.Region.CoreModules.Hypergrid | |||
67 | 68 | ||
68 | foreach (GridRegion r in regions) | 69 | foreach (GridRegion r in regions) |
69 | { | 70 | { |
70 | MapBlockData block = new MapBlockData(); | 71 | uint x = 0, y = 0; |
71 | MapBlockFromGridRegion(block, r); | 72 | long handle = 0; |
72 | mapBlocks.Add(block); | 73 | if (r.RegionSecret != null && r.RegionSecret != string.Empty) |
74 | { | ||
75 | if (long.TryParse(r.RegionSecret, out handle)) | ||
76 | { | ||
77 | Utils.LongToUInts((ulong)handle, out x, out y); | ||
78 | x = x / Constants.RegionSize; | ||
79 | y = y / Constants.RegionSize; | ||
80 | } | ||
81 | } | ||
82 | |||
83 | if (handle == 0 || | ||
84 | // Check the distance from the current region | ||
85 | (handle != 0 && Math.Abs((int)(x - m_scene.RegionInfo.RegionLocX)) < 4096 && Math.Abs((int)(y - m_scene.RegionInfo.RegionLocY)) < 4096)) | ||
86 | { | ||
87 | MapBlockData block = new MapBlockData(); | ||
88 | MapBlockFromGridRegion(block, r); | ||
89 | mapBlocks.Add(block); | ||
90 | } | ||
73 | } | 91 | } |
74 | 92 | ||
75 | // Different from super | 93 | // Different from super |
@@ -77,6 +95,8 @@ namespace OpenSim.Region.CoreModules.Hypergrid | |||
77 | // | 95 | // |
78 | 96 | ||
79 | remoteClient.SendMapBlock(mapBlocks, 0); | 97 | remoteClient.SendMapBlock(mapBlocks, 0); |
98 | |||
99 | return mapBlocks; | ||
80 | } | 100 | } |
81 | 101 | ||
82 | 102 | ||
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index 0cacf2d..10e1631 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | |||
@@ -233,20 +233,8 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
233 | } | 233 | } |
234 | if (lookup) | 234 | if (lookup) |
235 | { | 235 | { |
236 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); ; | 236 | List<MapBlockData> mapBlocks = GetAndSendBlocks(avatarPresence.ControllingClient, (int)(m_scene.RegionInfo.RegionLocX) - 4, (int)(m_scene.RegionInfo.RegionLocY) - 4, |
237 | 237 | (int)(m_scene.RegionInfo.RegionLocX) + 4, (int)(m_scene.RegionInfo.RegionLocY) + 4, 0); | |
238 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, | ||
239 | (int)(m_scene.RegionInfo.RegionLocX - 8) * (int)Constants.RegionSize, | ||
240 | (int)(m_scene.RegionInfo.RegionLocX + 8) * (int)Constants.RegionSize, | ||
241 | (int)(m_scene.RegionInfo.RegionLocY - 8) * (int)Constants.RegionSize, | ||
242 | (int)(m_scene.RegionInfo.RegionLocY + 8) * (int)Constants.RegionSize); | ||
243 | foreach (GridRegion r in regions) | ||
244 | { | ||
245 | MapBlockData block = new MapBlockData(); | ||
246 | MapBlockFromGridRegion(block, r); | ||
247 | mapBlocks.Add(block); | ||
248 | } | ||
249 | avatarPresence.ControllingClient.SendMapBlock(mapBlocks, 0); | ||
250 | 238 | ||
251 | lock (cachedMapBlocks) | 239 | lock (cachedMapBlocks) |
252 | cachedMapBlocks = mapBlocks; | 240 | cachedMapBlocks = mapBlocks; |
@@ -832,7 +820,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
832 | } | 820 | } |
833 | } | 821 | } |
834 | 822 | ||
835 | protected virtual void GetAndSendBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY, uint flag) | 823 | protected virtual List<MapBlockData> GetAndSendBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY, uint flag) |
836 | { | 824 | { |
837 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); | 825 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); |
838 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, | 826 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, |
@@ -847,6 +835,8 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
847 | mapBlocks.Add(block); | 835 | mapBlocks.Add(block); |
848 | } | 836 | } |
849 | remoteClient.SendMapBlock(mapBlocks, 0); | 837 | remoteClient.SendMapBlock(mapBlocks, 0); |
838 | |||
839 | return mapBlocks; | ||
850 | } | 840 | } |
851 | 841 | ||
852 | protected void MapBlockFromGridRegion(MapBlockData block, GridRegion r) | 842 | protected void MapBlockFromGridRegion(MapBlockData block, GridRegion r) |
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 89e9e20..56b46d7 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -540,7 +540,7 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
540 | { | 540 | { |
541 | } | 541 | } |
542 | 542 | ||
543 | public virtual void SendDialog(string objectname, UUID objectID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) | 543 | public virtual void SendDialog(string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) |
544 | { | 544 | { |
545 | } | 545 | } |
546 | 546 | ||
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 4b6e52e..88db20e 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -1177,7 +1177,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
1177 | IRC_SendChannelPrivmsg(objectname,url); | 1177 | IRC_SendChannelPrivmsg(objectname,url); |
1178 | } | 1178 | } |
1179 | 1179 | ||
1180 | public void SendDialog(string objectname, UUID objectID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) | 1180 | public void SendDialog(string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) |
1181 | { | 1181 | { |
1182 | 1182 | ||
1183 | } | 1183 | } |
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index 1c791b9..05223e0 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | |||
@@ -1231,20 +1231,36 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
1231 | List<GroupMembershipData> membershipData = m_groupData.GetAgentGroupMemberships(requestingClient.AgentId, dataForAgentID); | 1231 | List<GroupMembershipData> membershipData = m_groupData.GetAgentGroupMemberships(requestingClient.AgentId, dataForAgentID); |
1232 | GroupMembershipData[] membershipArray; | 1232 | GroupMembershipData[] membershipArray; |
1233 | 1233 | ||
1234 | if (requestingClient.AgentId != dataForAgentID) | 1234 | // c_scene and property accessor 'is_god' are in support of the opertions to bypass 'hidden' group attributes for |
1235 | { | 1235 | // those with a GodLike aspect. |
1236 | Scene c_scene = (Scene) requestingClient.Scene; | ||
1237 | bool is_god = c_scene.Permissions.IsGod(requestingClient.AgentId); | ||
1238 | |||
1239 | if(is_god) { | ||
1236 | Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership) | 1240 | Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership) |
1237 | { | 1241 | { |
1238 | return membership.ListInProfile; | 1242 | return membership.ListInProfile; |
1239 | }; | 1243 | }; |
1240 | 1244 | ||
1241 | membershipArray = membershipData.FindAll(showInProfile).ToArray(); | 1245 | membershipArray = membershipData.ToArray(); |
1242 | } | 1246 | } |
1243 | else | 1247 | else |
1244 | { | 1248 | { |
1245 | membershipArray = membershipData.ToArray(); | ||
1246 | } | ||
1247 | 1249 | ||
1250 | if (requestingClient.AgentId != dataForAgentID) | ||
1251 | { | ||
1252 | Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership) | ||
1253 | { | ||
1254 | return membership.ListInProfile; | ||
1255 | }; | ||
1256 | |||
1257 | membershipArray = membershipData.FindAll(showInProfile).ToArray(); | ||
1258 | } | ||
1259 | else | ||
1260 | { | ||
1261 | membershipArray = membershipData.ToArray(); | ||
1262 | } | ||
1263 | } | ||
1248 | if (m_debugEnabled) | 1264 | if (m_debugEnabled) |
1249 | { | 1265 | { |
1250 | m_log.InfoFormat("[GROUPS]: Get group membership information for {0} requested by {1}", dataForAgentID, requestingClient.AgentId); | 1266 | m_log.InfoFormat("[GROUPS]: Get group membership information for {0} requested by {1}", dataForAgentID, requestingClient.AgentId); |
@@ -1257,6 +1273,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
1257 | return membershipArray; | 1273 | return membershipArray; |
1258 | } | 1274 | } |
1259 | 1275 | ||
1276 | |||
1260 | private void SendAgentDataUpdate(IClientAPI remoteClient, UUID dataForAgentID, UUID activeGroupID, string activeGroupName, ulong activeGroupPowers, string activeGroupTitle) | 1277 | private void SendAgentDataUpdate(IClientAPI remoteClient, UUID dataForAgentID, UUID activeGroupID, string activeGroupName, ulong activeGroupPowers, string activeGroupTitle) |
1261 | { | 1278 | { |
1262 | if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); | 1279 | if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 2504e30..15bc1b7 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -631,7 +631,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
631 | { | 631 | { |
632 | } | 632 | } |
633 | 633 | ||
634 | public virtual void SendDialog(string objectname, UUID objectID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) | 634 | public virtual void SendDialog(string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) |
635 | { | 635 | { |
636 | } | 636 | } |
637 | 637 | ||