aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs12
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs3
-rw-r--r--OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs28
-rw-r--r--OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs20
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs27
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs2
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
28using System;
28using System.Collections.Generic; 29using System.Collections.Generic;
29using System.Reflection; 30using System.Reflection;
30using log4net; 31using 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