aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorTeravus Ovares2008-09-26 17:25:22 +0000
committerTeravus Ovares2008-09-26 17:25:22 +0000
commit16b6738cdadc70966a93b6d025ae469738955dcb (patch)
tree7a3c0075e9ee5fd04d972bc52be38aec4d51f648 /OpenSim/Region
parentDNE code cleanups (diff)
downloadopensim-SC_OLD-16b6738cdadc70966a93b6d025ae469738955dcb.zip
opensim-SC_OLD-16b6738cdadc70966a93b6d025ae469738955dcb.tar.gz
opensim-SC_OLD-16b6738cdadc70966a93b6d025ae469738955dcb.tar.bz2
opensim-SC_OLD-16b6738cdadc70966a93b6d025ae469738955dcb.tar.xz
* Patch from JHurliman
* Updates to libomv r2243, * Remove lots of unnecessary typecasts * Improves SendWindData() Thanks jhurliman. * Will update OpenSim-libs in 10 minutes..
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs110
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs10
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs5
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLQueItem.cs1
-rw-r--r--OpenSim/Region/Communications/Local/LocalLoginService.cs6
-rw-r--r--OpenSim/Region/Environment/Interfaces/ILandObject.cs2
-rw-r--r--OpenSim/Region/Environment/Modules/Agent/AssetDownload/AssetDownloadModule.cs2
-rw-r--r--OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureDownloadModule.cs5
-rw-r--r--OpenSim/Region/Environment/Modules/Agent/TextureDownload/UserTextureDownloadService.cs5
-rw-r--r--OpenSim/Region/Environment/Modules/Avatar/Currency/SampleMoney/SampleMoneyModule.cs4
-rw-r--r--OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs2
-rw-r--r--OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs2
-rw-r--r--OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs60
-rw-r--r--OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs4
-rw-r--r--OpenSim/Region/Environment/Modules/World/Land/LandObject.cs28
-rw-r--r--OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs3
-rw-r--r--OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs44
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs4
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs2
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs3
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs36
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs12
23 files changed, 147 insertions, 205 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 4027377..5a48c90 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -1232,43 +1232,40 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1232 /// <summary> 1232 /// <summary>
1233 /// Send the region heightmap to the client 1233 /// Send the region heightmap to the client
1234 /// </summary> 1234 /// </summary>
1235 /// <param name="map">heightmap</param> 1235 /// <param name="windSpeeds">16x16 array of wind speeds</param>
1236 public virtual void SendWindData(float[] map) 1236 public virtual void SendWindData(Vector2[] windSpeeds)
1237 { 1237 {
1238 //ThreadPool.QueueUserWorkItem(new WaitCallback(DoSendWindData), (object)map); 1238 ThreadPool.QueueUserWorkItem(new WaitCallback(DoSendWindData), (object)windSpeeds);
1239 } 1239 }
1240 1240
1241 /// <summary> 1241 /// <summary>
1242 /// Send terrain layer information to the client. 1242 /// Send terrain layer information to the client.
1243 /// </summary> 1243 /// </summary>
1244 /// <param name="o"></param> 1244 /// <param name="o"></param>
1245 //private void DoSendWindData(object o) 1245 private void DoSendWindData(object o)
1246 //{ 1246 {
1247 //float[] map = (float[])o; 1247 Vector2[] windSpeeds = (Vector2[])o;
1248 1248
1249 //try 1249 TerrainPatch[] patches = new TerrainPatch[2];
1250 //{ 1250 patches[0] = new TerrainPatch();
1251 //for (int y = 0; y < 16; y++) 1251 patches[0].Data = new float[16 * 16];
1252 //{ 1252 patches[1] = new TerrainPatch();
1253 // For some terrains, sending more than one terrain patch at once results in a libsecondlife exception 1253 patches[1].Data = new float[16 * 16];
1254 // see http://opensimulator.org/mantis/view.php?id=1662 1254
1255 //for (int x = 0; x < 16; x += 4) 1255 for (int y = 0; y < 16; y++)
1256 //{ 1256 {
1257 // SendLayerPacket(map, y, x); 1257 for (int x = 0; x < 16; x++)
1258 // Thread.Sleep(150); 1258 {
1259 //} 1259 patches[0].Data[y * 16 + x] = windSpeeds[y * 16 + x].X;
1260 // for (int x = 0; x < 16; x++) 1260 patches[1].Data[y * 16 + x] = windSpeeds[y * 16 + x].Y;
1261 //{ 1261 }
1262 //SendWindData(x, y, map); 1262 }
1263 //Thread.Sleep(35); 1263
1264 //} 1264 LayerDataPacket layerpack = TerrainCompressor.CreateLayerDataPacket(patches, TerrainPatch.LayerType.Wind);
1265 //} 1265 layerpack.Header.Zerocoded = true;
1266 //} 1266
1267 //catch (Exception e) 1267 OutPacket(layerpack, ThrottleOutPacketType.Wind);
1268 //{ 1268 }
1269 // m_log.Warn("[CLIENT]: ClientView.API.cs: SendLayerData() - Failed with exception " + e.ToString());
1270 // }
1271 //}
1272 1269
1273 /// <summary> 1270 /// <summary>
1274 /// Sends a set of four patches (x, x+1, ..., x+3) to the client 1271 /// Sends a set of four patches (x, x+1, ..., x+3) to the client
@@ -1289,41 +1286,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1289 // } 1286 // }
1290 1287
1291 /// <summary> 1288 /// <summary>
1292 /// Sends a specified patch to a client
1293 /// </summary>
1294 /// <param name="px">Patch coordinate (x) 0..15</param>
1295 /// <param name="py">Patch coordinate (y) 0..15</param>
1296 /// <param name="map">heightmap</param>
1297 public void SendWindData(int p1x, int p1y, int p2x, int p2y, float[] map)
1298 {
1299 try
1300 {
1301 int[] patches = new int[2];
1302 int patch1x, patch1y, patch2x, patch2y;
1303 patch1x = p1x;
1304 patch1y = p1y;
1305 patch2x = p2x;
1306 patch2y = p2y;
1307
1308
1309 patches[0] = patch1x + 0 + patch1y * 16;
1310 patches[1] = patch2x + 0 + patch2y * 16;
1311
1312 LayerDataPacket layerpack = TerrainCompressor.CreateWindPacket(map, patches);
1313 layerpack.Header.Zerocoded = true;
1314
1315 OutPacket(layerpack, ThrottleOutPacketType.Wind);
1316
1317 }
1318 catch (Exception e)
1319 {
1320 m_log.Warn("[client]: ClientView.API.cs: SendLayerData() - Failed with exception " + e.ToString());
1321 }
1322 }
1323
1324
1325
1326 /// <summary>
1327 /// Tell the client that the given neighbour region is ready to receive a child agent. 1289 /// Tell the client that the given neighbour region is ready to receive a child agent.
1328 /// </summary> 1290 /// </summary>
1329 /// <param name="neighbourHandle"></param> 1291 /// <param name="neighbourHandle"></param>
@@ -2940,13 +2902,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2940 updatePacket.ParcelData.PassPrice = landData.PassPrice; 2902 updatePacket.ParcelData.PassPrice = landData.PassPrice;
2941 updatePacket.ParcelData.PublicCount = 0; //unemplemented 2903 updatePacket.ParcelData.PublicCount = 0; //unemplemented
2942 2904
2943 updatePacket.ParcelData.RegionDenyAnonymous = ((regionFlags & (uint)Simulator.RegionFlags.DenyAnonymous) > 2905 updatePacket.ParcelData.RegionDenyAnonymous = ((regionFlags & (uint)RegionFlags.DenyAnonymous) >
2944 0); 2906 0);
2945 updatePacket.ParcelData.RegionDenyIdentified = ((regionFlags & (uint)Simulator.RegionFlags.DenyIdentified) > 2907 updatePacket.ParcelData.RegionDenyIdentified = ((regionFlags & (uint)RegionFlags.DenyIdentified) >
2946 0); 2908 0);
2947 updatePacket.ParcelData.RegionDenyTransacted = ((regionFlags & (uint)Simulator.RegionFlags.DenyTransacted) > 2909 updatePacket.ParcelData.RegionDenyTransacted = ((regionFlags & (uint)RegionFlags.DenyTransacted) >
2948 0); 2910 0);
2949 updatePacket.ParcelData.RegionPushOverride = ((regionFlags & (uint)Simulator.RegionFlags.RestrictPushObject) > 2911 updatePacket.ParcelData.RegionPushOverride = ((regionFlags & (uint)RegionFlags.RestrictPushObject) >
2950 0); 2912 0);
2951 2913
2952 updatePacket.ParcelData.RentPrice = 0; 2914 updatePacket.ParcelData.RentPrice = 0;
@@ -3586,7 +3548,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3586 { 3548 {
3587 string name = (string)nod.Attributes["name"].Value.ToLower(); 3549 string name = (string)nod.Attributes["name"].Value.ToLower();
3588 string id = (string)nod.InnerText; 3550 string id = (string)nod.InnerText;
3589 m_defaultAnimations.Add(name, id); 3551 m_defaultAnimations.Add(name, (UUID)id);
3590 } 3552 }
3591 } 3553 }
3592 } 3554 }
@@ -4936,9 +4898,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4936 // 4898 //
4937 if (transfer.TransferInfo.SourceType == 3) 4899 if (transfer.TransferInfo.SourceType == 3)
4938 { 4900 {
4939 UUID taskID = null; 4901 UUID taskID = UUID.Zero;
4940 UUID itemID = null; 4902 UUID itemID = UUID.Zero;
4941 UUID requestID = null; 4903 UUID requestID = UUID.Zero;
4942 taskID = new UUID(transfer.TransferInfo.Params, 48); 4904 taskID = new UUID(transfer.TransferInfo.Params, 48);
4943 itemID = new UUID(transfer.TransferInfo.Params, 64); 4905 itemID = new UUID(transfer.TransferInfo.Params, 64);
4944 requestID = new UUID(transfer.TransferInfo.Params, 80); 4906 requestID = new UUID(transfer.TransferInfo.Params, 80);
@@ -5569,7 +5531,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5569 { 5531 {
5570 ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); 5532 ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry();
5571 entry.AgentID = block.ID; 5533 entry.AgentID = block.ID;
5572 entry.Flags = (ParcelManager.AccessList)block.Flags; 5534 entry.Flags = (AccessList)block.Flags;
5573 entry.Time = new DateTime(); 5535 entry.Time = new DateTime();
5574 entries.Add(entry); 5536 entries.Add(entry);
5575 } 5537 }
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs
index d885e3b..149fa9a 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs
@@ -109,6 +109,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
109 109
110 public Packet Packet; 110 public Packet Packet;
111 public Object Identifier; 111 public Object Identifier;
112 public int TickCount;
112 } 113 }
113 114
114 private Dictionary<uint, AckData> m_NeedAck = 115 private Dictionary<uint, AckData> m_NeedAck =
@@ -293,12 +294,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
293 Packet packet, ThrottleOutPacketType throttlePacketType, 294 Packet packet, ThrottleOutPacketType throttlePacketType,
294 Object id) 295 Object id)
295 { 296 {
296 packet.TickCount = System.Environment.TickCount;
297
298 LLQueItem item = new LLQueItem(); 297 LLQueItem item = new LLQueItem();
299 item.Packet = packet; 298 item.Packet = packet;
300 item.Incoming = false; 299 item.Incoming = false;
301 item.throttleType = throttlePacketType; 300 item.throttleType = throttlePacketType;
301 item.TickCount = System.Environment.TickCount;
302 item.Identifier = id; 302 item.Identifier = id;
303 303
304 m_PacketQueue.Enqueue(item); 304 m_PacketQueue.Enqueue(item);
@@ -341,7 +341,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
341 341
342 // Packets this old get resent 342 // Packets this old get resent
343 // 343 //
344 if ((now - packet.TickCount) > m_ResendTimeout) 344 if ((now - data.TickCount) > m_ResendTimeout)
345 { 345 {
346 // Resend the packet. Set the packet's tick count to 346 // Resend the packet. Set the packet's tick count to
347 // now, and keep it marked as resent. 347 // now, and keep it marked as resent.
@@ -357,7 +357,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
357 // pipes. Most likely, the client is gone 357 // pipes. Most likely, the client is gone
358 // Drop the packets 358 // Drop the packets
359 // 359 //
360 if ((now - packet.TickCount) > m_DiscardTimeout) 360 if ((now - data.TickCount) > m_DiscardTimeout)
361 { 361 {
362 if (!m_ImportantPackets.Contains(packet.Type)) 362 if (!m_ImportantPackets.Contains(packet.Type))
363 m_NeedAck.Remove(packet.Header.Sequence); 363 m_NeedAck.Remove(packet.Header.Sequence);
@@ -729,7 +729,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
729 Packet packet = item.Packet; 729 Packet packet = item.Packet;
730 730
731 // Keep track of when this packet was sent out 731 // Keep track of when this packet was sent out
732 packet.TickCount = System.Environment.TickCount; 732 item.TickCount = System.Environment.TickCount;
733 733
734 // Assign sequence number here to prevent out of order packets 734 // Assign sequence number here to prevent out of order packets
735 if (packet.Header.Sequence == 0) 735 if (packet.Header.Sequence == 0)
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
index 32b4bc1..81c789a 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
@@ -36,6 +36,7 @@ using OpenSim.Framework.Statistics;
36using OpenSim.Framework.Statistics.Interfaces; 36using OpenSim.Framework.Statistics.Interfaces;
37using Timer=System.Timers.Timer; 37using Timer=System.Timers.Timer;
38 38
39
39namespace OpenSim.Region.ClientStack.LindenUDP 40namespace OpenSim.Region.ClientStack.LindenUDP
40{ 41{
41 public class LLPacketQueue : IPullStatsProvider 42 public class LLPacketQueue : IPullStatsProvider
@@ -45,7 +46,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
45 46
46 private bool m_enabled = true; 47 private bool m_enabled = true;
47 48
48 private BlockingQueue<LLQueItem> SendQueue; 49 private OpenSim.Framework.BlockingQueue<LLQueItem> SendQueue;
49 50
50 private Queue<LLQueItem> IncomingPacketQueue; 51 private Queue<LLQueItem> IncomingPacketQueue;
51 private Queue<LLQueItem> OutgoingPacketQueue; 52 private Queue<LLQueItem> OutgoingPacketQueue;
@@ -91,7 +92,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
91 // in it to process. it's an on-purpose threadlock though because 92 // in it to process. it's an on-purpose threadlock though because
92 // without it, the clientloop will suck up all sim resources. 93 // without it, the clientloop will suck up all sim resources.
93 94
94 SendQueue = new BlockingQueue<LLQueItem>(); 95 SendQueue = new OpenSim.Framework.BlockingQueue<LLQueItem>();
95 96
96 IncomingPacketQueue = new Queue<LLQueItem>(); 97 IncomingPacketQueue = new Queue<LLQueItem>();
97 OutgoingPacketQueue = new Queue<LLQueItem>(); 98 OutgoingPacketQueue = new Queue<LLQueItem>();
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLQueItem.cs b/OpenSim/Region/ClientStack/LindenUDP/LLQueItem.cs
index 3bb0b7a..494d62b 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLQueItem.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLQueItem.cs
@@ -40,6 +40,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
40 public Packet Packet; 40 public Packet Packet;
41 public bool Incoming; 41 public bool Incoming;
42 public ThrottleOutPacketType throttleType; 42 public ThrottleOutPacketType throttleType;
43 public int TickCount;
43 public Object Identifier; 44 public Object Identifier;
44 } 45 }
45} 46}
diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs
index 3d09729..2d5c92e 100644
--- a/OpenSim/Region/Communications/Local/LocalLoginService.cs
+++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs
@@ -311,11 +311,11 @@ namespace OpenSim.Region.Communications.Local
311 user.CurrentAgent.Handle = regionInfo.RegionHandle; 311 user.CurrentAgent.Handle = regionInfo.RegionHandle;
312 // Prepare notification 312 // Prepare notification
313 Login loginParams = new Login(); 313 Login loginParams = new Login();
314 loginParams.Session = user.CurrentAgent.SessionID.ToString(); 314 loginParams.Session = user.CurrentAgent.SessionID;
315 loginParams.SecureSession = user.CurrentAgent.SecureSessionID.ToString(); 315 loginParams.SecureSession = user.CurrentAgent.SecureSessionID;
316 loginParams.First = user.FirstName; 316 loginParams.First = user.FirstName;
317 loginParams.Last = user.SurName; 317 loginParams.Last = user.SurName;
318 loginParams.Agent = user.ID.ToString(); 318 loginParams.Agent = user.ID;
319 loginParams.CircuitCode = Convert.ToUInt32(response.CircuitCode); 319 loginParams.CircuitCode = Convert.ToUInt32(response.CircuitCode);
320 loginParams.StartPos = user.CurrentAgent.Position; 320 loginParams.StartPos = user.CurrentAgent.Position;
321 loginParams.CapsPath = capsPath; 321 loginParams.CapsPath = capsPath;
diff --git a/OpenSim/Region/Environment/Interfaces/ILandObject.cs b/OpenSim/Region/Environment/Interfaces/ILandObject.cs
index 96fa378..85da000 100644
--- a/OpenSim/Region/Environment/Interfaces/ILandObject.cs
+++ b/OpenSim/Region/Environment/Interfaces/ILandObject.cs
@@ -54,7 +54,7 @@ namespace OpenSim.Region.Environment.Interfaces
54 bool isBannedFromLand(UUID avatar); 54 bool isBannedFromLand(UUID avatar);
55 bool isRestrictedFromLand(UUID avatar); 55 bool isRestrictedFromLand(UUID avatar);
56 void sendLandUpdateToClient(IClientAPI remote_client); 56 void sendLandUpdateToClient(IClientAPI remote_client);
57 List<UUID> createAccessListArrayByFlag(ParcelManager.AccessList flag); 57 List<UUID> createAccessListArrayByFlag(AccessList flag);
58 void sendAccessList(UUID agentID, UUID sessionID, uint flags, int sequenceID, IClientAPI remote_client); 58 void sendAccessList(UUID agentID, UUID sessionID, uint flags, int sequenceID, IClientAPI remote_client);
59 void updateAccessList(uint flags, List<ParcelManager.ParcelAccessEntry> entries, IClientAPI remote_client); 59 void updateAccessList(uint flags, List<ParcelManager.ParcelAccessEntry> entries, IClientAPI remote_client);
60 void updateLandBitmapByteArray(); 60 void updateLandBitmapByteArray();
diff --git a/OpenSim/Region/Environment/Modules/Agent/AssetDownload/AssetDownloadModule.cs b/OpenSim/Region/Environment/Modules/Agent/AssetDownload/AssetDownloadModule.cs
index 3b521c3..f907ecd 100644
--- a/OpenSim/Region/Environment/Modules/Agent/AssetDownload/AssetDownloadModule.cs
+++ b/OpenSim/Region/Environment/Modules/Agent/AssetDownload/AssetDownloadModule.cs
@@ -109,7 +109,7 @@ namespace OpenSim.Region.Environment.Modules.Agent.AssetDownload
109 /// <param name="transferRequest"></param> 109 /// <param name="transferRequest"></param>
110 public void AddAssetRequest(IClientAPI userInfo, TransferRequestPacket transferRequest) 110 public void AddAssetRequest(IClientAPI userInfo, TransferRequestPacket transferRequest)
111 { 111 {
112 UUID requestID = null; 112 UUID requestID = UUID.Zero;
113 byte source = 2; 113 byte source = 2;
114 if (transferRequest.TransferInfo.SourceType == 2) 114 if (transferRequest.TransferInfo.SourceType == 2)
115 { 115 {
diff --git a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureDownloadModule.cs b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureDownloadModule.cs
index 813d271..ed714ba 100644
--- a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureDownloadModule.cs
+++ b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureDownloadModule.cs
@@ -33,6 +33,7 @@ using Nini.Config;
33using OpenSim.Framework; 33using OpenSim.Framework;
34using OpenSim.Region.Environment.Interfaces; 34using OpenSim.Region.Environment.Interfaces;
35using OpenSim.Region.Environment.Scenes; 35using OpenSim.Region.Environment.Scenes;
36using BlockingQueue = OpenSim.Framework.BlockingQueue<OpenSim.Region.Environment.Interfaces.ITextureSender>;
36 37
37namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload 38namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload
38{ 39{
@@ -44,8 +45,8 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload
44 /// <summary> 45 /// <summary>
45 /// There is one queue for all textures waiting to be sent, regardless of the requesting user. 46 /// There is one queue for all textures waiting to be sent, regardless of the requesting user.
46 /// </summary> 47 /// </summary>
47 private readonly BlockingQueue<ITextureSender> m_queueSenders 48 private readonly OpenSim.Framework.BlockingQueue<ITextureSender> m_queueSenders
48 = new BlockingQueue<ITextureSender>(); 49 = new OpenSim.Framework.BlockingQueue<ITextureSender>();
49 50
50 /// <summary> 51 /// <summary>
51 /// Each user has their own texture download service. 52 /// Each user has their own texture download service.
diff --git a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/UserTextureDownloadService.cs b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/UserTextureDownloadService.cs
index c38bc62..93f4d1b 100644
--- a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/UserTextureDownloadService.cs
+++ b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/UserTextureDownloadService.cs
@@ -35,6 +35,7 @@ using OpenSim.Framework.Statistics;
35using OpenSim.Region.Environment.Interfaces; 35using OpenSim.Region.Environment.Interfaces;
36using OpenSim.Region.Environment.Scenes; 36using OpenSim.Region.Environment.Scenes;
37 37
38
38namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload 39namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload
39{ 40{
40 /// <summary> 41 /// <summary>
@@ -75,7 +76,7 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload
75 /// Texture Senders are placed in this queue once they have received their texture from the asset 76 /// Texture Senders are placed in this queue once they have received their texture from the asset
76 /// cache. Another module actually invokes the send. 77 /// cache. Another module actually invokes the send.
77 /// </summary> 78 /// </summary>
78 private readonly BlockingQueue<ITextureSender> m_sharedSendersQueue; 79 private readonly OpenSim.Framework.BlockingQueue<ITextureSender> m_sharedSendersQueue;
79 80
80 /// <summary> 81 /// <summary>
81 /// Holds texture senders before they have received the appropriate texture from the asset cache. 82 /// Holds texture senders before they have received the appropriate texture from the asset cache.
@@ -91,7 +92,7 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload
91 = new RepeatLimitStrategy<UUID>(MAX_ALLOWED_TEXTURE_REQUESTS); 92 = new RepeatLimitStrategy<UUID>(MAX_ALLOWED_TEXTURE_REQUESTS);
92 93
93 public UserTextureDownloadService( 94 public UserTextureDownloadService(
94 IClientAPI client, Scene scene, BlockingQueue<ITextureSender> sharedQueue) 95 IClientAPI client, Scene scene, OpenSim.Framework.BlockingQueue<ITextureSender> sharedQueue)
95 { 96 {
96 m_client = client; 97 m_client = client;
97 m_scene = scene; 98 m_scene = scene;
diff --git a/OpenSim/Region/Environment/Modules/Avatar/Currency/SampleMoney/SampleMoneyModule.cs b/OpenSim/Region/Environment/Modules/Avatar/Currency/SampleMoney/SampleMoneyModule.cs
index 8b7df9e..ea2fc04 100644
--- a/OpenSim/Region/Environment/Modules/Avatar/Currency/SampleMoney/SampleMoneyModule.cs
+++ b/OpenSim/Region/Environment/Modules/Avatar/Currency/SampleMoney/SampleMoneyModule.cs
@@ -298,7 +298,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney
298 int funds = 0; 298 int funds = 0;
299 299
300 Hashtable hbinfo = 300 Hashtable hbinfo =
301 GetBalanceForUserFromMoneyServer(client.AgentId, client.SecureSessionId, s.RegionInfo.originRegionID.ToString(), 301 GetBalanceForUserFromMoneyServer(client.AgentId, client.SecureSessionId, s.RegionInfo.originRegionID,
302 s.RegionInfo.regionSecret); 302 s.RegionInfo.regionSecret);
303 if ((bool) hbinfo["success"] == true) 303 if ((bool) hbinfo["success"] == true)
304 { 304 {
@@ -722,7 +722,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney
722 if (m_MoneyAddress.Length > 0) 722 if (m_MoneyAddress.Length > 0)
723 { 723 {
724 Hashtable hbinfo = 724 Hashtable hbinfo =
725 GetBalanceForUserFromMoneyServer(aClient.AgentId, aClient.SecureSessionId, s.RegionInfo.originRegionID.ToString(), 725 GetBalanceForUserFromMoneyServer(aClient.AgentId, aClient.SecureSessionId, s.RegionInfo.originRegionID,
726 s.RegionInfo.regionSecret); 726 s.RegionInfo.regionSecret);
727 if ((bool) hbinfo["success"] == true) 727 if ((bool) hbinfo["success"] == true)
728 { 728 {
diff --git a/OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs b/OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs
index ad0cac0..053eeef 100644
--- a/OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs
+++ b/OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs
@@ -67,7 +67,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Groups
67 OpenSimulatorGroup.ActiveGroupTitle = "OpenSimulator Tester"; 67 OpenSimulatorGroup.ActiveGroupTitle = "OpenSimulator Tester";
68 OpenSimulatorGroup.GroupID = opensimulatorGroupID; 68 OpenSimulatorGroup.GroupID = opensimulatorGroupID;
69 OpenSimulatorGroup.groupName = "OpenSimulator Testing"; 69 OpenSimulatorGroup.groupName = "OpenSimulator Testing";
70 OpenSimulatorGroup.ActiveGroupPowers = GroupPowers.LandAllowSetHome; 70 OpenSimulatorGroup.ActiveGroupPowers = GroupPowers.AllowSetHome;
71 OpenSimulatorGroup.GroupTitles.Add("OpenSimulator Tester"); 71 OpenSimulatorGroup.GroupTitles.Add("OpenSimulator Tester");
72 if (!m_groupUUIDGroup.ContainsKey(opensimulatorGroupID)) 72 if (!m_groupUUIDGroup.ContainsKey(opensimulatorGroupID))
73 m_groupUUIDGroup.Add(opensimulatorGroupID, OpenSimulatorGroup); 73 m_groupUUIDGroup.Add(opensimulatorGroupID, OpenSimulatorGroup);
diff --git a/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs b/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs
index eeff62d..cb525cc 100644
--- a/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs
+++ b/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs
@@ -787,7 +787,7 @@ namespace OpenSim.Region.Environment.Modules.InterGrid
787 UUID userUUID = UUID.Zero; 787 UUID userUUID = UUID.Zero;
788 if (UUID.TryParse(uuidString, out userUUID)) 788 if (UUID.TryParse(uuidString, out userUUID))
789 { 789 {
790 UUID RemoteID = uuidString; 790 UUID RemoteID = (UUID)uuidString;
791 UUID LocalID = RemoteID; 791 UUID LocalID = RemoteID;
792 // FIXME: TODO: Routine to map RemoteUUIDs to LocalUUIds 792 // FIXME: TODO: Routine to map RemoteUUIDs to LocalUUIds
793 // would be done already.. but the client connects with the Aditi UUID 793 // would be done already.. but the client connects with the Aditi UUID
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
index bec1300..3dddc2b 100644
--- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
@@ -732,40 +732,40 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
732 732
733 public uint GetRegionFlags() 733 public uint GetRegionFlags()
734 { 734 {
735 Simulator.RegionFlags flags = Simulator.RegionFlags.None; 735 RegionFlags flags = RegionFlags.None;
736 736
737 // Fully implemented 737 // Fully implemented
738 // 738 //
739 if (m_scene.RegionInfo.RegionSettings.AllowDamage) 739 if (m_scene.RegionInfo.RegionSettings.AllowDamage)
740 flags |= Simulator.RegionFlags.AllowDamage; 740 flags |= RegionFlags.AllowDamage;
741 if (m_scene.RegionInfo.RegionSettings.BlockTerraform) 741 if (m_scene.RegionInfo.RegionSettings.BlockTerraform)
742 flags |= Simulator.RegionFlags.BlockTerraform; 742 flags |= RegionFlags.BlockTerraform;
743 if (!m_scene.RegionInfo.RegionSettings.AllowLandResell) 743 if (!m_scene.RegionInfo.RegionSettings.AllowLandResell)
744 flags |= Simulator.RegionFlags.BlockLandResell; 744 flags |= RegionFlags.BlockLandResell;
745 if (m_scene.RegionInfo.RegionSettings.DisableCollisions) 745 if (m_scene.RegionInfo.RegionSettings.DisableCollisions)
746 flags |= Simulator.RegionFlags.SkipCollisions; 746 flags |= RegionFlags.SkipCollisions;
747 if (m_scene.RegionInfo.RegionSettings.DisableScripts) 747 if (m_scene.RegionInfo.RegionSettings.DisableScripts)
748 flags |= Simulator.RegionFlags.SkipScripts; 748 flags |= RegionFlags.SkipScripts;
749 if (m_scene.RegionInfo.RegionSettings.DisablePhysics) 749 if (m_scene.RegionInfo.RegionSettings.DisablePhysics)
750 flags |= Simulator.RegionFlags.SkipPhysics; 750 flags |= RegionFlags.SkipPhysics;
751 if (m_scene.RegionInfo.RegionSettings.BlockFly) 751 if (m_scene.RegionInfo.RegionSettings.BlockFly)
752 flags |= Simulator.RegionFlags.NoFly; 752 flags |= RegionFlags.NoFly;
753 if (m_scene.RegionInfo.RegionSettings.RestrictPushing) 753 if (m_scene.RegionInfo.RegionSettings.RestrictPushing)
754 flags |= Simulator.RegionFlags.RestrictPushObject; 754 flags |= RegionFlags.RestrictPushObject;
755 if (m_scene.RegionInfo.RegionSettings.AllowLandJoinDivide) 755 if (m_scene.RegionInfo.RegionSettings.AllowLandJoinDivide)
756 flags |= Simulator.RegionFlags.AllowParcelChanges; 756 flags |= RegionFlags.AllowParcelChanges;
757 if (m_scene.RegionInfo.RegionSettings.BlockShowInSearch) 757 if (m_scene.RegionInfo.RegionSettings.BlockShowInSearch)
758 flags |= (Simulator.RegionFlags)(1 << 29); 758 flags |= (RegionFlags)(1 << 29);
759 759
760 if (m_scene.RegionInfo.RegionSettings.FixedSun) 760 if (m_scene.RegionInfo.RegionSettings.FixedSun)
761 flags |= Simulator.RegionFlags.SunFixed; 761 flags |= RegionFlags.SunFixed;
762 if (m_scene.RegionInfo.RegionSettings.Sandbox) 762 if (m_scene.RegionInfo.RegionSettings.Sandbox)
763 flags |= Simulator.RegionFlags.Sandbox; 763 flags |= RegionFlags.Sandbox;
764 764
765 // Fudge these to always on, so the menu options activate 765 // Fudge these to always on, so the menu options activate
766 // 766 //
767 flags |= Simulator.RegionFlags.AllowLandmark; 767 flags |= RegionFlags.AllowLandmark;
768 flags |= Simulator.RegionFlags.AllowSetHome; 768 flags |= RegionFlags.AllowSetHome;
769 769
770 // TODO: SkipUpdateInterestList 770 // TODO: SkipUpdateInterestList
771 771
@@ -779,35 +779,35 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
779 779
780 public uint GetEstateFlags() 780 public uint GetEstateFlags()
781 { 781 {
782 Simulator.RegionFlags flags = Simulator.RegionFlags.None; 782 RegionFlags flags = RegionFlags.None;
783 783
784 if (m_scene.RegionInfo.EstateSettings.FixedSun) 784 if (m_scene.RegionInfo.EstateSettings.FixedSun)
785 flags |= Simulator.RegionFlags.SunFixed; 785 flags |= RegionFlags.SunFixed;
786 if (m_scene.RegionInfo.EstateSettings.PublicAccess) 786 if (m_scene.RegionInfo.EstateSettings.PublicAccess)
787 flags |= (Simulator.RegionFlags.PublicAllowed | 787 flags |= (RegionFlags.PublicAllowed |
788 Simulator.RegionFlags.ExternallyVisible); 788 RegionFlags.ExternallyVisible);
789 if (m_scene.RegionInfo.EstateSettings.AllowVoice) 789 if (m_scene.RegionInfo.EstateSettings.AllowVoice)
790 flags |= Simulator.RegionFlags.AllowVoice; 790 flags |= RegionFlags.AllowVoice;
791 if (m_scene.RegionInfo.EstateSettings.AllowDirectTeleport) 791 if (m_scene.RegionInfo.EstateSettings.AllowDirectTeleport)
792 flags |= Simulator.RegionFlags.AllowDirectTeleport; 792 flags |= RegionFlags.AllowDirectTeleport;
793 if (m_scene.RegionInfo.EstateSettings.DenyAnonymous) 793 if (m_scene.RegionInfo.EstateSettings.DenyAnonymous)
794 flags |= Simulator.RegionFlags.DenyAnonymous; 794 flags |= RegionFlags.DenyAnonymous;
795 if (m_scene.RegionInfo.EstateSettings.DenyIdentified) 795 if (m_scene.RegionInfo.EstateSettings.DenyIdentified)
796 flags |= Simulator.RegionFlags.DenyIdentified; 796 flags |= RegionFlags.DenyIdentified;
797 if (m_scene.RegionInfo.EstateSettings.DenyTransacted) 797 if (m_scene.RegionInfo.EstateSettings.DenyTransacted)
798 flags |= Simulator.RegionFlags.DenyTransacted; 798 flags |= RegionFlags.DenyTransacted;
799 if (m_scene.RegionInfo.EstateSettings.AbuseEmailToEstateOwner) 799 if (m_scene.RegionInfo.EstateSettings.AbuseEmailToEstateOwner)
800 flags |= Simulator.RegionFlags.AbuseEmailToEstateOwner; 800 flags |= RegionFlags.AbuseEmailToEstateOwner;
801 if (m_scene.RegionInfo.EstateSettings.BlockDwell) 801 if (m_scene.RegionInfo.EstateSettings.BlockDwell)
802 flags |= Simulator.RegionFlags.BlockDwell; 802 flags |= RegionFlags.BlockDwell;
803 if (m_scene.RegionInfo.EstateSettings.EstateSkipScripts) 803 if (m_scene.RegionInfo.EstateSettings.EstateSkipScripts)
804 flags |= Simulator.RegionFlags.EstateSkipScripts; 804 flags |= RegionFlags.EstateSkipScripts;
805 if (m_scene.RegionInfo.EstateSettings.ResetHomeOnTeleport) 805 if (m_scene.RegionInfo.EstateSettings.ResetHomeOnTeleport)
806 flags |= Simulator.RegionFlags.ResetHomeOnTeleport; 806 flags |= RegionFlags.ResetHomeOnTeleport;
807 if (m_scene.RegionInfo.EstateSettings.TaxFree) 807 if (m_scene.RegionInfo.EstateSettings.TaxFree)
808 flags |= Simulator.RegionFlags.TaxFree; 808 flags |= RegionFlags.TaxFree;
809 if (m_scene.RegionInfo.EstateSettings.DenyMinors) 809 if (m_scene.RegionInfo.EstateSettings.DenyMinors)
810 flags |= (Simulator.RegionFlags)(1 << 30); 810 flags |= (RegionFlags)(1 << 30);
811 811
812 return (uint)flags; 812 return (uint)flags;
813 } 813 }
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs
index bf51edb..6ab5a57 100644
--- a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs
@@ -263,12 +263,12 @@ namespace OpenSim.Region.Environment.Modules.World.Land
263 { 263 {
264 if (checkBan.isBannedFromLand(avatar.AgentId)) 264 if (checkBan.isBannedFromLand(avatar.AgentId))
265 { 265 {
266 checkBan.sendLandProperties(-30000, false, (int)ParcelManager.ParcelResult.Single, avatar); 266 checkBan.sendLandProperties(-30000, false, (int)ParcelResult.Single, avatar);
267 return; //Only send one 267 return; //Only send one
268 } 268 }
269 if (checkBan.isRestrictedFromLand(avatar.AgentId)) 269 if (checkBan.isRestrictedFromLand(avatar.AgentId))
270 { 270 {
271 checkBan.sendLandProperties(-40000, false, (int)ParcelManager.ParcelResult.Single, avatar); 271 checkBan.sendLandProperties(-40000, false, (int)ParcelResult.Single, avatar);
272 return; //Only send one 272 return; //Only send one
273 } 273 }
274 } 274 }
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs b/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs
index 640b665..89d7b69 100644
--- a/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs
+++ b/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs
@@ -162,16 +162,16 @@ namespace OpenSim.Region.Environment.Modules.World.Land
162 public void sendLandProperties(int sequence_id, bool snap_selection, int request_result, IClientAPI remote_client) 162 public void sendLandProperties(int sequence_id, bool snap_selection, int request_result, IClientAPI remote_client)
163 { 163 {
164 IEstateModule estateModule = m_scene.RequestModuleInterface<IEstateModule>(); 164 IEstateModule estateModule = m_scene.RequestModuleInterface<IEstateModule>();
165 uint regionFlags = 336723974 & ~((uint)(Simulator.RegionFlags.AllowLandmark | Simulator.RegionFlags.AllowSetHome)); 165 uint regionFlags = 336723974 & ~((uint)(RegionFlags.AllowLandmark | RegionFlags.AllowSetHome));
166 if (estateModule != null) 166 if (estateModule != null)
167 regionFlags = estateModule.GetRegionFlags(); 167 regionFlags = estateModule.GetRegionFlags();
168 168
169 // In a perfect world, this would have worked. 169 // In a perfect world, this would have worked.
170 // 170 //
171// if ((landData.Flags & (uint)Parcel.ParcelFlags.AllowLandmark) != 0) 171// if ((landData.Flags & (uint)Parcel.ParcelFlags.AllowLandmark) != 0)
172// regionFlags |= (uint)Simulator.RegionFlags.AllowLandmark; 172// regionFlags |= (uint)RegionFlags.AllowLandmark;
173// if (landData.OwnerID == remote_client.AgentId) 173// if (landData.OwnerID == remote_client.AgentId)
174// regionFlags |= (uint)Simulator.RegionFlags.AllowSetHome; 174// regionFlags |= (uint)RegionFlags.AllowSetHome;
175 remote_client.SendLandProperties(remote_client, sequence_id, 175 remote_client.SendLandProperties(remote_client, sequence_id,
176 snap_selection, request_result, landData, 176 snap_selection, request_result, landData,
177 (float)m_scene.RegionInfo.RegionSettings.ObjectBonus, 177 (float)m_scene.RegionInfo.RegionSettings.ObjectBonus,
@@ -252,7 +252,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
252 { 252 {
253 ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); 253 ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry();
254 entry.AgentID = avatar; 254 entry.AgentID = avatar;
255 entry.Flags = ParcelManager.AccessList.Ban; 255 entry.Flags = AccessList.Ban;
256 entry.Time = new DateTime(); 256 entry.Time = new DateTime();
257 if (landData.ParcelAccessList.Contains(entry)) 257 if (landData.ParcelAccessList.Contains(entry))
258 { 258 {
@@ -269,7 +269,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
269 { 269 {
270 ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); 270 ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry();
271 entry.AgentID = avatar; 271 entry.AgentID = avatar;
272 entry.Flags = ParcelManager.AccessList.Access; 272 entry.Flags = AccessList.Access;
273 entry.Time = new DateTime(); 273 entry.Time = new DateTime();
274 if (!landData.ParcelAccessList.Contains(entry)) 274 if (!landData.ParcelAccessList.Contains(entry))
275 { 275 {
@@ -322,7 +322,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
322 322
323 #region AccessList Functions 323 #region AccessList Functions
324 324
325 public List<UUID> createAccessListArrayByFlag(ParcelManager.AccessList flag) 325 public List<UUID> createAccessListArrayByFlag(AccessList flag)
326 { 326 {
327 List<UUID> list = new List<UUID>(); 327 List<UUID> list = new List<UUID>();
328 foreach (ParcelManager.ParcelAccessEntry entry in landData.ParcelAccessList) 328 foreach (ParcelManager.ParcelAccessEntry entry in landData.ParcelAccessList)
@@ -344,16 +344,16 @@ namespace OpenSim.Region.Environment.Modules.World.Land
344 IClientAPI remote_client) 344 IClientAPI remote_client)
345 { 345 {
346 346
347 if (flags == (uint) ParcelManager.AccessList.Access || flags == (uint) ParcelManager.AccessList.Both) 347 if (flags == (uint) AccessList.Access || flags == (uint) AccessList.Both)
348 { 348 {
349 List<UUID> avatars = createAccessListArrayByFlag(ParcelManager.AccessList.Access); 349 List<UUID> avatars = createAccessListArrayByFlag(AccessList.Access);
350 remote_client.SendLandAccessListData(avatars,(uint) ParcelManager.AccessList.Access,landData.LocalID); 350 remote_client.SendLandAccessListData(avatars,(uint) AccessList.Access,landData.LocalID);
351 } 351 }
352 352
353 if (flags == (uint) ParcelManager.AccessList.Ban || flags == (uint) ParcelManager.AccessList.Both) 353 if (flags == (uint) AccessList.Ban || flags == (uint) AccessList.Both)
354 { 354 {
355 List<UUID> avatars = createAccessListArrayByFlag(ParcelManager.AccessList.Ban); 355 List<UUID> avatars = createAccessListArrayByFlag(AccessList.Ban);
356 remote_client.SendLandAccessListData(avatars, (uint)ParcelManager.AccessList.Ban, landData.LocalID); 356 remote_client.SendLandAccessListData(avatars, (uint)AccessList.Ban, landData.LocalID);
357 } 357 }
358 } 358 }
359 359
@@ -369,7 +369,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
369 List<ParcelManager.ParcelAccessEntry> toRemove = new List<ParcelManager.ParcelAccessEntry>(); 369 List<ParcelManager.ParcelAccessEntry> toRemove = new List<ParcelManager.ParcelAccessEntry>();
370 foreach (ParcelManager.ParcelAccessEntry entry in newData.ParcelAccessList) 370 foreach (ParcelManager.ParcelAccessEntry entry in newData.ParcelAccessList)
371 { 371 {
372 if (entry.Flags == (ParcelManager.AccessList) flags) 372 if (entry.Flags == (AccessList) flags)
373 { 373 {
374 toRemove.Add(entry); 374 toRemove.Add(entry);
375 } 375 }
@@ -384,7 +384,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
384 ParcelManager.ParcelAccessEntry temp = new ParcelManager.ParcelAccessEntry(); 384 ParcelManager.ParcelAccessEntry temp = new ParcelManager.ParcelAccessEntry();
385 temp.AgentID = entry.AgentID; 385 temp.AgentID = entry.AgentID;
386 temp.Time = new DateTime(); //Pointless? Yes. 386 temp.Time = new DateTime(); //Pointless? Yes.
387 temp.Flags = (ParcelManager.AccessList) flags; 387 temp.Flags = (AccessList) flags;
388 388
389 if (!newData.ParcelAccessList.Contains(temp)) 389 if (!newData.ParcelAccessList.Contains(temp))
390 { 390 {
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index a8ed498..92214b9 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -482,8 +482,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
482 { 482 {
483 } 483 }
484 484
485 public virtual void SendWindData(float[] map) { } 485 public virtual void SendWindData(Vector2[] windSpeeds) { }
486 public virtual void SendWindData(int p1x, int p1y, int p2x, int p2y, float[] map) { }
487 486
488 public virtual void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look) 487 public virtual void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look)
489 { 488 {
diff --git a/OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs b/OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs
index fced389..5495c1d 100644
--- a/OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Wind/WindModule.cs
@@ -45,7 +45,7 @@ namespace OpenSim.Region.Environment.Modules
45 private Random rndnums = new Random(System.Environment.TickCount); 45 private Random rndnums = new Random(System.Environment.TickCount);
46 private Scene m_scene = null; 46 private Scene m_scene = null;
47 private bool ready = false; 47 private bool ready = false;
48 private float[] windarr = new float[256*256]; 48 private Vector2[] windSpeeds = new Vector2[16 * 16];
49 49
50 private Dictionary<UUID, ulong> m_rootAgents = new Dictionary<UUID, ulong>(); 50 private Dictionary<UUID, ulong> m_rootAgents = new Dictionary<UUID, ulong>();
51 51
@@ -54,7 +54,6 @@ namespace OpenSim.Region.Environment.Modules
54 54
55 public void Initialise(Scene scene, IConfigSource config) 55 public void Initialise(Scene scene, IConfigSource config)
56 { 56 {
57
58 m_log.Debug("[WIND] Initializing"); 57 m_log.Debug("[WIND] Initializing");
59 58
60 m_scene = scene; 59 m_scene = scene;
@@ -120,15 +119,13 @@ namespace OpenSim.Region.Environment.Modules
120 119
121 public void WindToClient(IClientAPI client) 120 public void WindToClient(IClientAPI client)
122 { 121 {
123
124 if (ready) 122 if (ready)
125 { 123 {
126 //if (!sunFixed) 124 //if (!sunFixed)
127 //GenWindPos(); // Generate shared values once 125 //GenWindPos(); // Generate shared values once
128 client.SendWindData(windarr); 126 client.SendWindData(windSpeeds);
129 m_log.Debug("[WIND] Initial update for new client"); 127 m_log.Debug("[WIND] Initial update for new client");
130 } 128 }
131
132 } 129 }
133 130
134 public void WindUpdate() 131 public void WindUpdate()
@@ -149,11 +146,7 @@ namespace OpenSim.Region.Environment.Modules
149 { 146 {
150 if (!avatar.IsChildAgent) 147 if (!avatar.IsChildAgent)
151 { 148 {
152 149 avatar.ControllingClient.SendWindData(windSpeeds);
153 avatar.ControllingClient.SendWindData(
154 0,
155 0,0,1,
156 windarr);
157 } 150 }
158 } 151 }
159 152
@@ -169,7 +162,7 @@ namespace OpenSim.Region.Environment.Modules
169 foreach (ScenePresence avatar in avatars) 162 foreach (ScenePresence avatar in avatars)
170 { 163 {
171 if (!avatar.IsChildAgent) 164 if (!avatar.IsChildAgent)
172 avatar.ControllingClient.SendWindData(windarr); 165 avatar.ControllingClient.SendWindData(windSpeeds);
173 } 166 }
174 167
175 // set estate settings for region access to sun position 168 // set estate settings for region access to sun position
@@ -182,35 +175,14 @@ namespace OpenSim.Region.Environment.Modules
182 175
183 private void GenWindPos() 176 private void GenWindPos()
184 { 177 {
185 //windarr = new float[256*256]; 178 for (int y = 0; y < 16; y++)
186
187 Array.Clear(windarr, 0, 256 * 256);
188 //float i = 0f;
189 //float i2 = 2f;
190
191 for (int x = 0; x < 16; x++)
192 { 179 {
193 for (int y = 0; y < 16; y++) 180 for (int x = 0; x < 16; x++)
194 { 181 {
195 182 windSpeeds[y * 16 + x].X = (float)(rndnums.NextDouble() * 2d - 1d);
196 windarr[x * 256 + y] = (float)(rndnums.NextDouble() * 2d - 1d); 183 windSpeeds[y * 16 + x].Y = (float)(rndnums.NextDouble() * 2d - 1d);
197
198 } 184 }
199
200 } 185 }
201 for (int x = 16; x < 32; x++)
202 {
203 for (int y = 0; y < 16; y++)
204 {
205
206 windarr[x * 256 + y] = (float)(rndnums.NextDouble() * 2d - 1d);
207
208 }
209
210 }
211
212
213 // m_log.Debug("[SUN] Velocity("+Velocity.X+","+Velocity.Y+","+Velocity.Z+")");
214 } 186 }
215 187
216 private void ClientLoggedOut(UUID AgentId) 188 private void ClientLoggedOut(UUID AgentId)
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index 50122f5..1c421b7 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -1494,7 +1494,7 @@ namespace OpenSim.Region.Environment.Scenes
1494 protected internal void MakeObjectSearchable(IClientAPI remoteClient, bool IncludeInSearch, uint localID) 1494 protected internal void MakeObjectSearchable(IClientAPI remoteClient, bool IncludeInSearch, uint localID)
1495 { 1495 {
1496 UUID user = remoteClient.AgentId; 1496 UUID user = remoteClient.AgentId;
1497 UUID objid = null; 1497 UUID objid = UUID.Zero;
1498 SceneObjectPart obj = null; 1498 SceneObjectPart obj = null;
1499 1499
1500 List<EntityBase> EntityList = GetEntities(); 1500 List<EntityBase> EntityList = GetEntities();
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index 186e13e..560e17e 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -1371,7 +1371,7 @@ namespace OpenSim.Region.Environment.Scenes
1371 taskItem.Flags = itemBase.Flags; 1371 taskItem.Flags = itemBase.Flags;
1372 taskItem.PermsGranter = UUID.Zero; 1372 taskItem.PermsGranter = UUID.Zero;
1373 taskItem.PermsMask = 0; 1373 taskItem.PermsMask = 0;
1374 taskItem.AssetID = asset.ID; 1374 taskItem.AssetID = asset.FullID;
1375 1375
1376 part.AddInventoryItem(taskItem); 1376 part.AddInventoryItem(taskItem);
1377 part.GetProperties(remoteClient); 1377 part.GetProperties(remoteClient);
@@ -1616,7 +1616,7 @@ namespace OpenSim.Region.Environment.Scenes
1616 // FIXME: This needs to be fixed. 1616 // FIXME: This needs to be fixed.
1617 m_log.ErrorFormat( 1617 m_log.ErrorFormat(
1618 "[AGENT INVENTORY]: Queued deletion of scene object to agent {0} {1} failed: {2}", 1618 "[AGENT INVENTORY]: Queued deletion of scene object to agent {0} {1} failed: {2}",
1619 (x != null ? x.remoteClient.Name : "unavailable"), (x != null ? x.remoteClient.AgentId : "unavailable"), e.ToString()); 1619 (x != null ? x.remoteClient.Name : "unavailable"), (x != null ? x.remoteClient.AgentId.ToString() : "unavailable"), e.ToString());
1620 } 1620 }
1621 1621
1622 m_log.Info("No objects left in inventory delete queue."); 1622 m_log.Info("No objects left in inventory delete queue.");
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 08de087..f08f4a4 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -915,7 +915,7 @@ namespace OpenSim.Region.Environment.Scenes
915 { 915 {
916 return part.UUID; 916 return part.UUID;
917 } 917 }
918 return null; 918 return UUID.Zero;
919 } 919 }
920 920
921 public void ObjectGrabHandler(uint localId, Vector3 offsetPos, IClientAPI remoteClient) 921 public void ObjectGrabHandler(uint localId, Vector3 offsetPos, IClientAPI remoteClient)
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index a3f6763..3f1823a 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -396,8 +396,7 @@ namespace OpenSim.Region.Examples.SimpleModule
396 { 396 {
397 } 397 }
398 398
399 public virtual void SendWindData(float[] map) { } 399 public virtual void SendWindData(Vector2[] windSpeeds) { }
400 public virtual void SendWindData(int p1x, int p1y, int p2x, int p2y, float[] map) { }
401 400
402 public virtual void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look) 401 public virtual void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look)
403 { 402 {
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 5a265d1..6215710 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -269,7 +269,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
269 if (inv.Value.Type != type) 269 if (inv.Value.Type != type)
270 return UUID.Zero; 270 return UUID.Zero;
271 271
272 return inv.Value.AssetID.ToString(); 272 return inv.Value.AssetID;
273 } 273 }
274 } 274 }
275 return UUID.Zero; 275 return UUID.Zero;
@@ -282,7 +282,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
282 { 282 {
283 if (inv.Value.Name == name) 283 if (inv.Value.Name == name)
284 { 284 {
285 return inv.Value.AssetID.ToString(); 285 return inv.Value.AssetID;
286 } 286 }
287 } 287 }
288 return UUID.Zero; 288 return UUID.Zero;
@@ -2766,7 +2766,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2766 2766
2767 m_host.AddScriptLPS(1); 2767 m_host.AddScriptLPS(1);
2768 2768
2769 if (m_host.ParentGroup.RootPart.IsAttachment && agent == m_host.ParentGroup.RootPart.AttachedAvatar) 2769 if (m_host.ParentGroup.RootPart.IsAttachment && (UUID)agent == m_host.ParentGroup.RootPart.AttachedAvatar)
2770 { 2770 {
2771 // When attached, certain permissions are implicit if requested from owner 2771 // When attached, certain permissions are implicit if requested from owner
2772 int implicitPerms = ScriptBaseClass.PERMISSION_TAKE_CONTROLS | 2772 int implicitPerms = ScriptBaseClass.PERMISSION_TAKE_CONTROLS |
@@ -2919,7 +2919,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2919 return; 2919 return;
2920 } 2920 }
2921 IClientAPI client = World.GetScenePresence(m_host.TaskInventory[invItemID].PermsGranter).ControllingClient; 2921 IClientAPI client = World.GetScenePresence(m_host.TaskInventory[invItemID].PermsGranter).ControllingClient;
2922 SceneObjectPart targetPart = World.GetSceneObjectPart(target); 2922 SceneObjectPart targetPart = World.GetSceneObjectPart((UUID)target);
2923 SceneObjectGroup parentPrim = null, childPrim = null; 2923 SceneObjectGroup parentPrim = null, childPrim = null;
2924 if (targetPart != null) 2924 if (targetPart != null)
2925 { 2925 {
@@ -3131,7 +3131,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3131 if (World.GetScenePresence(destId) != null) 3131 if (World.GetScenePresence(destId) != null)
3132 { 3132 {
3133 // destination is an avatar 3133 // destination is an avatar
3134 World.MoveTaskInventoryItem(destId, null, m_host, objId); 3134 World.MoveTaskInventoryItem(destId, UUID.Zero, m_host, objId);
3135 } 3135 }
3136 else 3136 else
3137 { 3137 {
@@ -3180,11 +3180,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3180 { 3180 {
3181 m_host.AddScriptLPS(1); 3181 m_host.AddScriptLPS(1);
3182 3182
3183 UUID uuid = (UUID)id;
3184
3183 UserProfileData userProfile = 3185 UserProfileData userProfile =
3184 World.CommsManager.UserService.GetUserProfile(id); 3186 World.CommsManager.UserService.GetUserProfile(uuid);
3185 3187
3186 UserAgentData userAgent = 3188 UserAgentData userAgent =
3187 World.CommsManager.UserService.GetAgentByUUID(id); 3189 World.CommsManager.UserService.GetAgentByUUID(uuid);
3188 3190
3189 if (userProfile == null || userAgent == null) 3191 if (userProfile == null || userAgent == null)
3190 return UUID.Zero.ToString(); 3192 return UUID.Zero.ToString();
@@ -3503,7 +3505,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3503 public void llPushObject(string target, LSL_Vector impulse, LSL_Vector ang_impulse, int local) 3505 public void llPushObject(string target, LSL_Vector impulse, LSL_Vector ang_impulse, int local)
3504 { 3506 {
3505 m_host.AddScriptLPS(1); 3507 m_host.AddScriptLPS(1);
3506 SceneObjectPart targ = World.GetSceneObjectPart(target); 3508 SceneObjectPart targ = World.GetSceneObjectPart((UUID)target);
3507 if (targ == null) 3509 if (targ == null)
3508 return; 3510 return;
3509 targ.ApplyImpulse(new Vector3((float)impulse.x, (float)impulse.y, (float)impulse.z), local != 0); 3511 targ.ApplyImpulse(new Vector3((float)impulse.x, (float)impulse.y, (float)impulse.z), local != 0);
@@ -4683,7 +4685,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4683 public LSL_Vector llGetAgentSize(string id) 4685 public LSL_Vector llGetAgentSize(string id)
4684 { 4686 {
4685 m_host.AddScriptLPS(1); 4687 m_host.AddScriptLPS(1);
4686 ScenePresence avatar = World.GetScenePresence(id); 4688 ScenePresence avatar = World.GetScenePresence((UUID)id);
4687 LSL_Vector agentSize; 4689 LSL_Vector agentSize;
4688 if (avatar == null) 4690 if (avatar == null)
4689 { 4691 {
@@ -5164,7 +5166,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5164 if (UUID.TryParse(avatar, out key)) 5166 if (UUID.TryParse(avatar, out key))
5165 { 5167 {
5166 entry.AgentID = key; 5168 entry.AgentID = key;
5167 entry.Flags = ParcelManager.AccessList.Access; 5169 entry.Flags = AccessList.Access;
5168 entry.Time = DateTime.Now.AddHours(hours); 5170 entry.Time = DateTime.Now.AddHours(hours);
5169 land.ParcelAccessList.Add(entry); 5171 land.ParcelAccessList.Add(entry);
5170 } 5172 }
@@ -5365,7 +5367,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5365 { 5367 {
5366 m_host.AddScriptLPS(1); 5368 m_host.AddScriptLPS(1);
5367 IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); 5369 IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>();
5368 xmlrpcMod.CloseXMLRPCChannel(channel); 5370 xmlrpcMod.CloseXMLRPCChannel((UUID)channel);
5369 // ScriptSleep(1000); 5371 // ScriptSleep(1000);
5370 } 5372 }
5371 5373
@@ -6081,7 +6083,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6081 m_host.AddScriptLPS(1); 6083 m_host.AddScriptLPS(1);
6082 6084
6083 LSL_List l = new LSL_List(); 6085 LSL_List l = new LSL_List();
6084 ScenePresence av = World.GetScenePresence(id); 6086 ScenePresence av = World.GetScenePresence((UUID)id);
6085 if (av == null) 6087 if (av == null)
6086 return l; 6088 return l;
6087 UUID[] anims; 6089 UUID[] anims;
@@ -7544,7 +7546,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7544 if (UUID.TryParse(avatar, out key)) 7546 if (UUID.TryParse(avatar, out key))
7545 { 7547 {
7546 entry.AgentID = key; 7548 entry.AgentID = key;
7547 entry.Flags = ParcelManager.AccessList.Ban; 7549 entry.Flags = AccessList.Ban;
7548 entry.Time = DateTime.Now.AddHours(hours); 7550 entry.Time = DateTime.Now.AddHours(hours);
7549 land.ParcelAccessList.Add(entry); 7551 land.ParcelAccessList.Add(entry);
7550 } 7552 }
@@ -7563,7 +7565,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7563 { 7565 {
7564 foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList) 7566 foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList)
7565 { 7567 {
7566 if (entry.AgentID == key && entry.Flags == ParcelManager.AccessList.Access) 7568 if (entry.AgentID == key && entry.Flags == AccessList.Access)
7567 { 7569 {
7568 land.ParcelAccessList.Remove(entry); 7570 land.ParcelAccessList.Remove(entry);
7569 break; 7571 break;
@@ -7585,7 +7587,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7585 { 7587 {
7586 foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList) 7588 foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList)
7587 { 7589 {
7588 if (entry.AgentID == key && entry.Flags == ParcelManager.AccessList.Ban) 7590 if (entry.AgentID == key && entry.Flags == AccessList.Ban)
7589 { 7591 {
7590 land.ParcelAccessList.Remove(entry); 7592 land.ParcelAccessList.Remove(entry);
7591 break; 7593 break;
@@ -7795,7 +7797,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7795 { 7797 {
7796 foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList) 7798 foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList)
7797 { 7799 {
7798 if (entry.Flags == ParcelManager.AccessList.Ban) 7800 if (entry.Flags == AccessList.Ban)
7799 { 7801 {
7800 land.ParcelAccessList.Remove(entry); 7802 land.ParcelAccessList.Remove(entry);
7801 } 7803 }
@@ -7812,7 +7814,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7812 { 7814 {
7813 foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList) 7815 foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList)
7814 { 7816 {
7815 if (entry.Flags == ParcelManager.AccessList.Access) 7817 if (entry.Flags == AccessList.Access)
7816 { 7818 {
7817 land.ParcelAccessList.Remove(entry); 7819 land.ParcelAccessList.Remove(entry);
7818 } 7820 }
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 7888a63..536bdd2 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -496,10 +496,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
496 { 496 {
497 CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarPlayAnimation"); 497 CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarPlayAnimation");
498 498
499 UUID avatarID = (UUID)avatar;
500
499 m_host.AddScriptLPS(1); 501 m_host.AddScriptLPS(1);
500 if (World.Entities.ContainsKey(avatar) && World.Entities[avatar] is ScenePresence) 502 if (World.Entities.ContainsKey((UUID)avatar) && World.Entities[avatarID] is ScenePresence)
501 { 503 {
502 ScenePresence target = (ScenePresence)World.Entities[avatar]; 504 ScenePresence target = (ScenePresence)World.Entities[avatarID];
503 target.AddAnimation(animation); 505 target.AddAnimation(animation);
504 } 506 }
505 } 507 }
@@ -508,10 +510,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
508 { 510 {
509 CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarStopAnimation"); 511 CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarStopAnimation");
510 512
513 UUID avatarID = (UUID)avatar;
514
511 m_host.AddScriptLPS(1); 515 m_host.AddScriptLPS(1);
512 if (World.Entities.ContainsKey(avatar) && World.Entities[avatar] is ScenePresence) 516 if (World.Entities.ContainsKey(avatarID) && World.Entities[avatarID] is ScenePresence)
513 { 517 {
514 ScenePresence target = (ScenePresence)World.Entities[avatar]; 518 ScenePresence target = (ScenePresence)World.Entities[avatarID];
515 target.RemoveAnimation(animation); 519 target.RemoveAnimation(animation);
516 } 520 }
517 } 521 }