diff options
author | Diva Canto | 2011-05-08 22:50:04 -0700 |
---|---|---|
committer | Diva Canto | 2011-05-08 22:50:04 -0700 |
commit | c0a69bfaab2f945f2f871ce6b93c81931ffc2f9a (patch) | |
tree | 4176bc1838bf7fde5c914805dd7c6fbcc10f1b3d /OpenSim | |
parent | Convert the prim count module into a permissionsmodule (diff) | |
download | opensim-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.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs | 8 |
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) |