aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorDiva Canto2011-05-08 22:50:04 -0700
committerDiva Canto2011-05-08 22:50:04 -0700
commitc0a69bfaab2f945f2f871ce6b93c81931ffc2f9a (patch)
tree4176bc1838bf7fde5c914805dd7c6fbcc10f1b3d /OpenSim
parentConvert the prim count module into a permissionsmodule (diff)
downloadopensim-SC-c0a69bfaab2f945f2f871ce6b93c81931ffc2f9a.zip
opensim-SC-c0a69bfaab2f945f2f871ce6b93c81931ffc2f9a.tar.gz
opensim-SC-c0a69bfaab2f945f2f871ce6b93c81931ffc2f9a.tar.bz2
opensim-SC-c0a69bfaab2f945f2f871ce6b93c81931ffc2f9a.tar.xz
The map is seriously broken. This doesn't fix it, but at least provides one more piece of data that seems to be required -- agent flags, which seem to be different in Viewer 2. WARNING: changes IClientAPI.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/IClientAPI.cs2
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs3
-rw-r--r--OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs8
3 files changed, 6 insertions, 7 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 069987b..f3ac2df 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -77,7 +77,7 @@ namespace OpenSim.Framework
77 77
78 public delegate void RequestMapBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY, uint flag); 78 public delegate void RequestMapBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY, uint flag);
79 79
80 public delegate void RequestMapName(IClientAPI remoteClient, string mapName); 80 public delegate void RequestMapName(IClientAPI remoteClient, string mapName, uint flags);
81 81
82 public delegate void TeleportLocationRequest( 82 public delegate void TeleportLocationRequest(
83 IClientAPI remoteClient, ulong regionHandle, Vector3 position, Vector3 lookAt, uint flags); 83 IClientAPI remoteClient, ulong regionHandle, Vector3 position, Vector3 lookAt, uint flags);
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 025c6e6..1635a2d 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -8264,13 +8264,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8264 return true; 8264 return true;
8265 } 8265 }
8266 #endregion 8266 #endregion
8267
8268 string mapName = Util.UTF8.GetString(map.NameData.Name, 0, 8267 string mapName = Util.UTF8.GetString(map.NameData.Name, 0,
8269 map.NameData.Name.Length - 1); 8268 map.NameData.Name.Length - 1);
8270 RequestMapName handlerMapNameRequest = OnMapNameRequest; 8269 RequestMapName handlerMapNameRequest = OnMapNameRequest;
8271 if (handlerMapNameRequest != null) 8270 if (handlerMapNameRequest != null)
8272 { 8271 {
8273 handlerMapNameRequest(this, mapName); 8272 handlerMapNameRequest(this, mapName, map.AgentData.Flags);
8274 } 8273 }
8275 return true; 8274 return true;
8276 } 8275 }
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs
index f9ef286..c059a5f 100644
--- a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs
+++ b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs
@@ -84,7 +84,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
84 client.OnMapNameRequest += OnMapNameRequest; 84 client.OnMapNameRequest += OnMapNameRequest;
85 } 85 }
86 86
87 private void OnMapNameRequest(IClientAPI remoteClient, string mapName) 87 private void OnMapNameRequest(IClientAPI remoteClient, string mapName, uint flags)
88 { 88 {
89 if (mapName.Length < 3) 89 if (mapName.Length < 3)
90 { 90 {
@@ -139,9 +139,9 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
139 data.Y = 0; 139 data.Y = 0;
140 blocks.Add(data); 140 blocks.Add(data);
141 141
142 // not sure what the flags do here, but seems to be necessary 142 // flags are agent flags sent from the viewer.
143 // to set to "2" for viewer 2 143 // they have different values depending on different viewers, apparently
144 remoteClient.SendMapBlock(blocks, 2); 144 remoteClient.SendMapBlock(blocks, flags);
145 } 145 }
146 146
147// private Scene GetClientScene(IClientAPI client) 147// private Scene GetClientScene(IClientAPI client)