Merge branch 'justincc-master'
						commit
						b2878eb773
					
				|  | @ -1030,7 +1030,7 @@ namespace OpenSim.Framework | ||||||
|                     finally |                     finally | ||||||
|                     { |                     { | ||||||
|                         if (requestStream != null) |                         if (requestStream != null) | ||||||
|                             requestStream.Close(); |                             requestStream.Dispose(); | ||||||
| 
 | 
 | ||||||
|                         // capture how much time was spent writing |                         // capture how much time was spent writing | ||||||
|                         tickdata = Util.EnvironmentTickCountSubtract(tickstart); |                         tickdata = Util.EnvironmentTickCountSubtract(tickstart); | ||||||
|  | @ -1183,7 +1183,7 @@ namespace OpenSim.Framework | ||||||
|                 finally |                 finally | ||||||
|                 { |                 { | ||||||
|                     if (requestStream != null) |                     if (requestStream != null) | ||||||
|                         requestStream.Close(); |                         requestStream.Dispose(); | ||||||
| 
 | 
 | ||||||
|                     // capture how much time was spent writing |                     // capture how much time was spent writing | ||||||
|                     tickdata = Util.EnvironmentTickCountSubtract(tickstart); |                     tickdata = Util.EnvironmentTickCountSubtract(tickstart); | ||||||
|  |  | ||||||
|  | @ -1290,9 +1290,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles | ||||||
|             webRequest.ContentType = "application/json-rpc"; |             webRequest.ContentType = "application/json-rpc"; | ||||||
|             webRequest.Method = "POST"; |             webRequest.Method = "POST"; | ||||||
| 
 | 
 | ||||||
|             Stream dataStream = webRequest.GetRequestStream(); |             using (Stream dataStream = webRequest.GetRequestStream()) | ||||||
|             dataStream.Write(content, 0, content.Length); |                 dataStream.Write(content, 0, content.Length); | ||||||
|             dataStream.Close(); |  | ||||||
| 
 | 
 | ||||||
|             WebResponse webResponse = null; |             WebResponse webResponse = null; | ||||||
|             try |             try | ||||||
|  | @ -1306,26 +1305,18 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles | ||||||
|                 return false; |                 return false; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             Stream rstream = webResponse.GetResponseStream(); |             using (webResponse) | ||||||
|                |             using (Stream rstream = webResponse.GetResponseStream()) | ||||||
|             OSDMap mret = new OSDMap(); |  | ||||||
|             try |  | ||||||
|             { |             { | ||||||
|                 mret = (OSDMap)OSDParser.DeserializeJson(rstream); |                 OSDMap mret = (OSDMap)OSDParser.DeserializeJson(rstream); | ||||||
|  | 
 | ||||||
|  |                 if (mret.ContainsKey("error")) | ||||||
|  |                     return false; | ||||||
|  | 
 | ||||||
|  |                 // get params... | ||||||
|  |                 OSD.DeserializeMembers(ref parameters, (OSDMap)mret["result"]); | ||||||
|  |                 return true; | ||||||
|             } |             } | ||||||
|             catch (Exception e) |  | ||||||
|             { |  | ||||||
|                 m_log.DebugFormat("[PROFILES]: JsonRpcRequest Error {0} - remote user with legacy profiles?", e.Message); |  | ||||||
|                 return false; |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|             if (mret.ContainsKey("error")) |  | ||||||
|                 return false; |  | ||||||
|              |  | ||||||
|             // get params... |  | ||||||
|             OSD.DeserializeMembers(ref parameters, (OSDMap) mret["result"]); |  | ||||||
|             return true; |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|  | @ -1366,9 +1357,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles | ||||||
|             webRequest.ContentType = "application/json-rpc"; |             webRequest.ContentType = "application/json-rpc"; | ||||||
|             webRequest.Method = "POST"; |             webRequest.Method = "POST"; | ||||||
| 
 | 
 | ||||||
|             Stream dataStream = webRequest.GetRequestStream(); |             using (Stream dataStream = webRequest.GetRequestStream()) | ||||||
|             dataStream.Write(content, 0, content.Length); |                 dataStream.Write(content, 0, content.Length); | ||||||
|             dataStream.Close(); |  | ||||||
| 
 | 
 | ||||||
|             WebResponse webResponse = null; |             WebResponse webResponse = null; | ||||||
|             try |             try | ||||||
|  | @ -1382,29 +1372,32 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles | ||||||
|                 return false; |                 return false; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             Stream rstream = webResponse.GetResponseStream(); |             using (webResponse) | ||||||
| 
 |             using (Stream rstream = webResponse.GetResponseStream()) | ||||||
|             OSDMap response = new OSDMap(); |  | ||||||
|             try |  | ||||||
|             { |             { | ||||||
|                 response = (OSDMap)OSDParser.DeserializeJson(rstream); |                 OSDMap response = new OSDMap(); | ||||||
|             } |                 try | ||||||
|             catch (Exception e) |                 { | ||||||
|             { |                     response = (OSDMap)OSDParser.DeserializeJson(rstream); | ||||||
|                 m_log.DebugFormat("[PROFILES]: JsonRpcRequest Error {0} - remote user with legacy profiles?", e.Message); |                 } | ||||||
|                 return false; |                 catch (Exception e) | ||||||
|             } |                 { | ||||||
|  |                     m_log.DebugFormat("[PROFILES]: JsonRpcRequest Error {0} - remote user with legacy profiles?", e.Message); | ||||||
|  |                     return false; | ||||||
|  |                 } | ||||||
| 
 | 
 | ||||||
|             if(response.ContainsKey("error")) |                 if (response.ContainsKey("error")) | ||||||
|             { |                 { | ||||||
|                 data = response["error"]; |                     data = response["error"]; | ||||||
|                 return false; |                     return false; | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 data = response; | ||||||
|  | 
 | ||||||
|  |                 return true; | ||||||
|             } |             } | ||||||
| 
 |  | ||||||
|             data = response; |  | ||||||
| 
 |  | ||||||
|             return true; |  | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|         #endregion Web Util |         #endregion Web Util | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | @ -488,9 +488,8 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest | ||||||
|                     byte[] data = Util.UTF8.GetBytes(OutboundBody); |                     byte[] data = Util.UTF8.GetBytes(OutboundBody); | ||||||
| 
 | 
 | ||||||
|                     Request.ContentLength = data.Length; |                     Request.ContentLength = data.Length; | ||||||
|                     Stream bstream = Request.GetRequestStream(); |                     using (Stream bstream = Request.GetRequestStream()) | ||||||
|                     bstream.Write(data, 0, data.Length); |                         bstream.Write(data, 0, data.Length); | ||||||
|                     bstream.Close(); |  | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 try |                 try | ||||||
|  |  | ||||||
|  | @ -899,7 +899,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | ||||||
|             finally |             finally | ||||||
|             { |             { | ||||||
|                 if (os != null) |                 if (os != null) | ||||||
|                     os.Close(); |                     os.Dispose(); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             string response_mapItems_reply = null; |             string response_mapItems_reply = null; | ||||||
|  |  | ||||||
|  | @ -304,7 +304,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.RegionReady | ||||||
|             finally |             finally | ||||||
|             { |             { | ||||||
|                 if (os != null) |                 if (os != null) | ||||||
|                     os.Close(); |                     os.Dispose(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -101,7 +101,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         protected TaskInventoryItem m_item; |         protected TaskInventoryItem m_item; | ||||||
| 
 | 
 | ||||||
|         protected bool throwErrorOnNotImplemented = true; |         protected bool throwErrorOnNotImplemented = false; | ||||||
|         protected AsyncCommandManager AsyncCommands = null; |         protected AsyncCommandManager AsyncCommands = null; | ||||||
|         protected float m_ScriptDelayFactor = 1.0f; |         protected float m_ScriptDelayFactor = 1.0f; | ||||||
|         protected float m_ScriptDistanceFactor = 1.0f; |         protected float m_ScriptDistanceFactor = 1.0f; | ||||||
|  | @ -261,7 +261,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             if ((item = GetScriptByName(name)) != UUID.Zero) |             if ((item = GetScriptByName(name)) != UUID.Zero) | ||||||
|                 m_ScriptEngine.ResetScript(item); |                 m_ScriptEngine.ResetScript(item); | ||||||
|             else |             else | ||||||
|                 ShoutError("llResetOtherScript: script "+name+" not found"); |                 Error("llResetOtherScript", "Can't find script '" + name + "'"); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public LSL_Integer llGetScriptState(string name) |         public LSL_Integer llGetScriptState(string name) | ||||||
|  | @ -275,7 +275,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                 return m_ScriptEngine.GetScriptState(item) ?1:0; |                 return m_ScriptEngine.GetScriptState(item) ?1:0; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             ShoutError("llGetScriptState: script "+name+" not found"); |             Error("llGetScriptState", "Can't find script '" + name + "'"); | ||||||
| 
 | 
 | ||||||
|             // If we didn't find it, then it's safe to |             // If we didn't find it, then it's safe to | ||||||
|             // assume it is not running. |             // assume it is not running. | ||||||
|  | @ -298,7 +298,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             } |             } | ||||||
|             else |             else | ||||||
|             { |             { | ||||||
|                 ShoutError("llSetScriptState: script "+name+" not found"); |                 Error("llSetScriptState", "Can't find script '" + name + "'"); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | @ -890,7 +890,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|         { |         { | ||||||
|             if (channelID == 0) |             if (channelID == 0) | ||||||
|             { |             { | ||||||
|                 LSLError("Cannot use llRegionSay() on channel 0"); |                 Error("llRegionSay", "Cannot use on channel 0"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | @ -2553,9 +2553,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|         public void llSound(string sound, double volume, int queue, int loop) |         public void llSound(string sound, double volume, int queue, int loop) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             // This function has been deprecated |             Deprecated("llSound", "Use llPlaySound instead"); | ||||||
|             // see http://www.lslwiki.net/lslwiki/wakka.php?wakka=llSound |  | ||||||
|             Deprecated("llSound"); |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Xantor 20080528 PlaySound updated so it accepts an objectinventory name -or- a key to a sound |         // Xantor 20080528 PlaySound updated so it accepts an objectinventory name -or- a key to a sound | ||||||
|  | @ -2886,7 +2884,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|                 if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_DEBIT) == 0) |                 if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_DEBIT) == 0) | ||||||
|                 { |                 { | ||||||
|                     LSLError("No permissions to give money"); |                     Error("llGiveMoney", "No permissions to give money"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|  | @ -2894,7 +2892,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|                 if (!UUID.TryParse(destination, out toID)) |                 if (!UUID.TryParse(destination, out toID)) | ||||||
|                 { |                 { | ||||||
|                     LSLError("Bad key in llGiveMoney"); |                     Error("llGiveMoney", "Bad key in llGiveMoney"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|  | @ -2914,28 +2912,28 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|         public void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) |         public void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             Deprecated("llMakeExplosion"); |             Deprecated("llMakeExplosion", "Use llParticleSystem instead"); | ||||||
|             ScriptSleep(100); |             ScriptSleep(100); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public void llMakeFountain(int particles, double scale, double vel, double lifetime, double arc, int bounce, string texture, LSL_Vector offset, double bounce_offset) |         public void llMakeFountain(int particles, double scale, double vel, double lifetime, double arc, int bounce, string texture, LSL_Vector offset, double bounce_offset) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             Deprecated("llMakeFountain"); |             Deprecated("llMakeFountain", "Use llParticleSystem instead"); | ||||||
|             ScriptSleep(100); |             ScriptSleep(100); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public void llMakeSmoke(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) |         public void llMakeSmoke(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             Deprecated("llMakeSmoke"); |             Deprecated("llMakeSmoke", "Use llParticleSystem instead"); | ||||||
|             ScriptSleep(100); |             ScriptSleep(100); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public void llMakeFire(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) |         public void llMakeFire(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             Deprecated("llMakeFire"); |             Deprecated("llMakeFire", "Use llParticleSystem instead"); | ||||||
|             ScriptSleep(100); |             ScriptSleep(100); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | @ -2957,13 +2955,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|                 if (item == null) |                 if (item == null) | ||||||
|                 { |                 { | ||||||
|                     llSay(0, "Could not find object " + inventory); |                     Error("llRezAtRoot", "Can't find object '" + inventory + "'"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 if (item.InvType != (int)InventoryType.Object) |                 if (item.InvType != (int)InventoryType.Object) | ||||||
|                 { |                 { | ||||||
|                     llSay(0, "Unable to create requested object. Object is missing from database."); |                     Error("llRezAtRoot", "Can't create requested object; object is missing from database"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|  | @ -3053,7 +3051,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|         public void llStopLookAt() |         public void llStopLookAt() | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
| //            NotImplemented("llStopLookAt"); |  | ||||||
|             m_host.StopLookAt(); |             m_host.StopLookAt(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | @ -3237,13 +3234,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|         public void llTakeCamera(string avatar) |         public void llTakeCamera(string avatar) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             Deprecated("llTakeCamera"); |             Deprecated("llTakeCamera", "Use llSetCameraParams instead"); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public void llReleaseCamera(string avatar) |         public void llReleaseCamera(string avatar) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             Deprecated("llReleaseCamera"); |             Deprecated("llReleaseCamera", "Use llClearCameraParams instead"); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public LSL_String llGetOwner() |         public LSL_String llGetOwner() | ||||||
|  | @ -3320,7 +3317,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             IEmailModule emailModule = m_ScriptEngine.World.RequestModuleInterface<IEmailModule>(); |             IEmailModule emailModule = m_ScriptEngine.World.RequestModuleInterface<IEmailModule>(); | ||||||
|             if (emailModule == null) |             if (emailModule == null) | ||||||
|             { |             { | ||||||
|                 ShoutError("llEmail: email module not configured"); |                 Error("llEmail", "Email module not configured"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | @ -3334,7 +3331,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             IEmailModule emailModule = m_ScriptEngine.World.RequestModuleInterface<IEmailModule>(); |             IEmailModule emailModule = m_ScriptEngine.World.RequestModuleInterface<IEmailModule>(); | ||||||
|             if (emailModule == null) |             if (emailModule == null) | ||||||
|             { |             { | ||||||
|                 ShoutError("llGetNextEmail: email module not configured"); |                 Error("llGetNextEmail", "Email module not configured"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             Email email; |             Email email; | ||||||
|  | @ -3419,17 +3416,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             catch (NotImplementedException) |             catch (NotImplementedException) | ||||||
|             { |             { | ||||||
|                 // Currently not implemented in DotNetEngine only XEngine |                 // Currently not implemented in DotNetEngine only XEngine | ||||||
|                 NotImplemented("llMinEventDelay in DotNetEngine"); |                 NotImplemented("llMinEventDelay", "In DotNetEngine"); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         /// <summary> |  | ||||||
|         /// llSoundPreload is deprecated. In SL this appears to do absolutely nothing |  | ||||||
|         /// and is documented to have no delay. |  | ||||||
|         /// </summary> |  | ||||||
|         public void llSoundPreload(string sound) |         public void llSoundPreload(string sound) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|  |             Deprecated("llSoundPreload", "Use llPreloadSound instead"); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public void llRotLookAt(LSL_Rotation target, double strength, double damping) |         public void llRotLookAt(LSL_Rotation target, double strength, double damping) | ||||||
|  | @ -3734,7 +3728,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_CHANGE_LINKS) == 0 |             if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_CHANGE_LINKS) == 0 | ||||||
|                 && !m_automaticLinkPermission) |                 && !m_automaticLinkPermission) | ||||||
|             { |             { | ||||||
|                 ShoutError("Script trying to link but PERMISSION_CHANGE_LINKS permission not set!"); |                 Error("llCreateLink", "PERMISSION_CHANGE_LINKS permission not set"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | @ -3789,7 +3783,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_CHANGE_LINKS) == 0 |             if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_CHANGE_LINKS) == 0 | ||||||
|                 && !m_automaticLinkPermission) |                 && !m_automaticLinkPermission) | ||||||
|             { |             { | ||||||
|                 ShoutError("Script trying to link but PERMISSION_CHANGE_LINKS permission not set!"); |                 Error("llBreakLink", "PERMISSION_CHANGE_LINKS permission not set"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | @ -4009,7 +4003,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|             if (!UUID.TryParse(destination, out destId)) |             if (!UUID.TryParse(destination, out destId)) | ||||||
|             { |             { | ||||||
|                 llSay(0, "Could not parse key " + destination); |                 Error("llGiveInventory", "Can't parse destination key '" + destination + "'"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | @ -4017,8 +4011,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|             if (item == null) |             if (item == null) | ||||||
|             { |             { | ||||||
|                 llSay(0, String.Format("Could not find object '{0}'", inventory)); |                 Error("llGiveInventory", "Can't find inventory object '" + inventory + "'"); | ||||||
|                 throw new Exception(String.Format("The inventory object '{0}' could not be found", inventory)); |  | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             UUID objId = item.ItemID; |             UUID objId = item.ItemID; | ||||||
|  | @ -4042,7 +4035,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|                     if (account == null) |                     if (account == null) | ||||||
|                     { |                     { | ||||||
|                         llSay(0, "Can't find destination "+destId.ToString()); |                         Error("llGiveInventory", "Can't find destination '" + destId.ToString() + "'"); | ||||||
|                         return; |                         return; | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|  | @ -4394,17 +4387,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             UUID av = new UUID(); |             UUID av = new UUID(); | ||||||
|             if (!UUID.TryParse(agent,out av)) |             if (!UUID.TryParse(agent,out av)) | ||||||
|             { |             { | ||||||
|                 LSLError("First parameter to llTextBox needs to be a key"); |                 Error("llTextBox", "First parameter must be a key"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             if (message == string.Empty) |             if (message == string.Empty) | ||||||
|             { |             { | ||||||
|                 ShoutError("Trying to use llTextBox with empty message."); |                 Error("llTextBox", "Empty message"); | ||||||
|             } |             } | ||||||
|             else if (message.Length > 512) |             else if (message.Length > 512) | ||||||
|             { |             { | ||||||
|                 ShoutError("Trying to use llTextBox with message over 512 characters."); |                 Error("llTextBox", "Message more than 512 characters"); | ||||||
|             } |             } | ||||||
|             else |             else | ||||||
|             { |             { | ||||||
|  | @ -6814,17 +6807,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             UUID av = new UUID(); |             UUID av = new UUID(); | ||||||
|             if (!UUID.TryParse(avatar,out av)) |             if (!UUID.TryParse(avatar,out av)) | ||||||
|             { |             { | ||||||
|                 LSLError("First parameter to llDialog needs to be a key"); |                 Error("llDialog", "First parameter must be a key"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             if (buttons.Length < 1) |             if (buttons.Length < 1) | ||||||
|             { |             { | ||||||
|                 LSLError("No less than 1 button can be shown"); |                 Error("llDialog", "At least 1 button must be shown"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             if (buttons.Length > 12) |             if (buttons.Length > 12) | ||||||
|             { |             { | ||||||
|                 LSLError("No more than 12 buttons can be shown"); |                 Error("llDialog", "No more than 12 buttons can be shown"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             string[] buts = new string[buttons.Length]; |             string[] buts = new string[buttons.Length]; | ||||||
|  | @ -6832,12 +6825,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             { |             { | ||||||
|                 if (buttons.Data[i].ToString() == String.Empty) |                 if (buttons.Data[i].ToString() == String.Empty) | ||||||
|                 { |                 { | ||||||
|                     LSLError("button label cannot be blank"); |                     Error("llDialog", "Button label cannot be blank"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 if (buttons.Data[i].ToString().Length > 24) |                 if (buttons.Data[i].ToString().Length > 24) | ||||||
|                 { |                 { | ||||||
|                     LSLError("button label cannot be longer than 24 characters"); |                     Error("llDialog", "Button label cannot be longer than 24 characters"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 buts[i] = buttons.Data[i].ToString(); |                 buts[i] = buttons.Data[i].ToString(); | ||||||
|  | @ -6858,15 +6851,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                 m_host.ParentGroup.ScriptSetVolumeDetect(detect != 0); |                 m_host.ParentGroup.ScriptSetVolumeDetect(detect != 0); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         /// <summary> |  | ||||||
|         /// This is a depecated function so this just replicates the result of |  | ||||||
|         /// invoking it in SL |  | ||||||
|         /// </summary> |  | ||||||
|         public void llRemoteLoadScript(string target, string name, int running, int start_param) |         public void llRemoteLoadScript(string target, string name, int running, int start_param) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             // Report an error as it does in SL |             Deprecated("llRemoteLoadScript", "Use llRemoteLoadScriptPin instead"); | ||||||
|             ShoutError("Deprecated. Please use llRemoteLoadScriptPin instead."); |  | ||||||
|             ScriptSleep(3000); |             ScriptSleep(3000); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | @ -6884,7 +6872,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|             if (!UUID.TryParse(target, out destId)) |             if (!UUID.TryParse(target, out destId)) | ||||||
|             { |             { | ||||||
|                 llSay(0, "Could not parse key " + target); |                 Error("llRemoteLoadScriptPin", "Can't parse key '" + target + "'"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | @ -6900,7 +6888,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             // make sure the object is a script |             // make sure the object is a script | ||||||
|             if (item == null || item.Type != 10) |             if (item == null || item.Type != 10) | ||||||
|             { |             { | ||||||
|                 llSay(0, "Could not find script " + name); |                 Error("llRemoteLoadScriptPin", "Can't find script '" + name + "'"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | @ -7948,9 +7936,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             } |             } | ||||||
|             catch (InvalidCastException e) |             catch (InvalidCastException e) | ||||||
|             { |             { | ||||||
|                 ShoutError(string.Format( |                 Error(originFunc, string.Format("Error running rule #{0}: arg #{1} - ", rulesParsed, idx - idxStart) + e.Message); | ||||||
|                         "{0} error running rule #{1}: arg #{2} ", |  | ||||||
|                         originFunc, rulesParsed, idx - idxStart) + e.Message); |  | ||||||
|             } |             } | ||||||
|             finally |             finally | ||||||
|             { |             { | ||||||
|  | @ -7983,9 +7969,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                 string encodedData = Convert.ToBase64String(encData_byte); |                 string encodedData = Convert.ToBase64String(encData_byte); | ||||||
|                 return encodedData; |                 return encodedData; | ||||||
|             } |             } | ||||||
|             catch (Exception e) |             catch | ||||||
|             { |             { | ||||||
|                 throw new Exception("Error in base64Encode" + e.Message); |                 Error("llBase64ToString", "Error encoding string"); | ||||||
|  |                 return String.Empty; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | @ -7996,16 +7983,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             { |             { | ||||||
|                 return Util.Base64ToString(str); |                 return Util.Base64ToString(str); | ||||||
|             } |             } | ||||||
|             catch (Exception e) |             catch | ||||||
|             { |             { | ||||||
|                 throw new Exception("Error in base64Decode" + e.Message); |                 Error("llBase64ToString", "Error decoding string"); | ||||||
|  |                 return String.Empty; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public LSL_String llXorBase64Strings(string str1, string str2) |         public LSL_String llXorBase64Strings(string str1, string str2) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             Deprecated("llXorBase64Strings"); |             Deprecated("llXorBase64Strings", "Use llXorBase64 instead"); | ||||||
|             ScriptSleep(300); |             ScriptSleep(300); | ||||||
|             return String.Empty; |             return String.Empty; | ||||||
|         } |         } | ||||||
|  | @ -8013,7 +8001,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|         public void llRemoteDataSetRegion() |         public void llRemoteDataSetRegion() | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             Deprecated("llRemoteDataSetRegion"); |             Deprecated("llRemoteDataSetRegion", "Use llOpenRemoteDataChannel instead"); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public LSL_Float llLog10(double val) |         public LSL_Float llLog10(double val) | ||||||
|  | @ -9728,7 +9716,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|             if (item == null) |             if (item == null) | ||||||
|             { |             { | ||||||
|                 llSay(0, "No item name '" + item + "'"); |                 Error("llGetInventoryCreator", "Can't find item '" + item + "'"); | ||||||
| 
 | 
 | ||||||
|                 return String.Empty; |                 return String.Empty; | ||||||
|             } |             } | ||||||
|  | @ -10047,7 +10035,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                                     presence = World.GetScenePresence(agentID); |                                     presence = World.GetScenePresence(agentID); | ||||||
|                                 } |                                 } | ||||||
|                             } |                             } | ||||||
|                             else ShoutError("The argument of PARCEL_MEDIA_COMMAND_AGENT must be a key"); |                             else Error("llParcelMediaCommandList", "The argument of PARCEL_MEDIA_COMMAND_AGENT must be a key"); | ||||||
|                             ++i; |                             ++i; | ||||||
|                         } |                         } | ||||||
|                         break; |                         break; | ||||||
|  | @ -10078,7 +10066,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                                 url = (LSL_String)commandList.Data[i + 1]; |                                 url = (LSL_String)commandList.Data[i + 1]; | ||||||
|                                 update = true; |                                 update = true; | ||||||
|                             } |                             } | ||||||
|                             else ShoutError("The argument of PARCEL_MEDIA_COMMAND_URL must be a string."); |                             else Error("llParcelMediaCommandList", "The argument of PARCEL_MEDIA_COMMAND_URL must be a string"); | ||||||
|                             ++i; |                             ++i; | ||||||
|                         } |                         } | ||||||
|                         break; |                         break; | ||||||
|  | @ -10091,7 +10079,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                                 texture = (LSL_String)commandList.Data[i + 1]; |                                 texture = (LSL_String)commandList.Data[i + 1]; | ||||||
|                                 update = true; |                                 update = true; | ||||||
|                             } |                             } | ||||||
|                             else ShoutError("The argument of PARCEL_MEDIA_COMMAND_TEXTURE must be a string or key."); |                             else Error("llParcelMediaCommandList", "The argument of PARCEL_MEDIA_COMMAND_TEXTURE must be a string or a key"); | ||||||
|                             ++i; |                             ++i; | ||||||
|                         } |                         } | ||||||
|                         break; |                         break; | ||||||
|  | @ -10103,7 +10091,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                             { |                             { | ||||||
|                                 time = (float)(LSL_Float)commandList.Data[i + 1]; |                                 time = (float)(LSL_Float)commandList.Data[i + 1]; | ||||||
|                             } |                             } | ||||||
|                             else ShoutError("The argument of PARCEL_MEDIA_COMMAND_TIME must be a float."); |                             else Error("llParcelMediaCommandList", "The argument of PARCEL_MEDIA_COMMAND_TIME must be a float"); | ||||||
|                             ++i; |                             ++i; | ||||||
|                         } |                         } | ||||||
|                         break; |                         break; | ||||||
|  | @ -10117,7 +10105,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                                 update = true; |                                 update = true; | ||||||
|                             } |                             } | ||||||
| 
 | 
 | ||||||
|                             else ShoutError("The argument of PARCEL_MEDIA_COMMAND_AUTO_ALIGN must be an integer."); |                             else Error("llParcelMediaCommandList", "The argument of PARCEL_MEDIA_COMMAND_AUTO_ALIGN must be an integer"); | ||||||
|                             ++i; |                             ++i; | ||||||
|                         } |                         } | ||||||
|                         break; |                         break; | ||||||
|  | @ -10130,7 +10118,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                                 mediaType = (LSL_String)commandList.Data[i + 1]; |                                 mediaType = (LSL_String)commandList.Data[i + 1]; | ||||||
|                                 update = true; |                                 update = true; | ||||||
|                             } |                             } | ||||||
|                             else ShoutError("The argument of PARCEL_MEDIA_COMMAND_TYPE must be a string."); |                             else Error("llParcelMediaCommandList", "The argument of PARCEL_MEDIA_COMMAND_TYPE must be a string"); | ||||||
|                             ++i; |                             ++i; | ||||||
|                         } |                         } | ||||||
|                         break; |                         break; | ||||||
|  | @ -10143,7 +10131,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                                 description = (LSL_String)commandList.Data[i + 1]; |                                 description = (LSL_String)commandList.Data[i + 1]; | ||||||
|                                 update = true; |                                 update = true; | ||||||
|                             } |                             } | ||||||
|                             else ShoutError("The argument of PARCEL_MEDIA_COMMAND_DESC must be a string."); |                             else Error("llParcelMediaCommandList", "The argument of PARCEL_MEDIA_COMMAND_DESC must be a string"); | ||||||
|                             ++i; |                             ++i; | ||||||
|                         } |                         } | ||||||
|                         break; |                         break; | ||||||
|  | @ -10159,15 +10147,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                                     height = (LSL_Integer)commandList.Data[i + 2]; |                                     height = (LSL_Integer)commandList.Data[i + 2]; | ||||||
|                                     update = true; |                                     update = true; | ||||||
|                                 } |                                 } | ||||||
|                                 else ShoutError("The second argument of PARCEL_MEDIA_COMMAND_SIZE must be an integer."); |                                 else Error("llParcelMediaCommandList", "The second argument of PARCEL_MEDIA_COMMAND_SIZE must be an integer"); | ||||||
|                             } |                             } | ||||||
|                             else ShoutError("The first argument of PARCEL_MEDIA_COMMAND_SIZE must be an integer."); |                             else Error("llParcelMediaCommandList", "The first argument of PARCEL_MEDIA_COMMAND_SIZE must be an integer"); | ||||||
|                             i += 2; |                             i += 2; | ||||||
|                         } |                         } | ||||||
|                         break; |                         break; | ||||||
| 
 | 
 | ||||||
|                     default: |                     default: | ||||||
|                         NotImplemented("llParcelMediaCommandList parameter not supported yet: " + Enum.Parse(typeof(ParcelMediaCommandEnum), commandList.Data[i].ToString()).ToString()); |                         NotImplemented("llParcelMediaCommandList", "Parameter not supported yet: " + Enum.Parse(typeof(ParcelMediaCommandEnum), commandList.Data[i].ToString()).ToString()); | ||||||
|                         break; |                         break; | ||||||
|                 }//end switch |                 }//end switch | ||||||
|             }//end for |             }//end for | ||||||
|  | @ -10275,7 +10263,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                             break; |                             break; | ||||||
|                         default: |                         default: | ||||||
|                             ParcelMediaCommandEnum mediaCommandEnum = ParcelMediaCommandEnum.Url; |                             ParcelMediaCommandEnum mediaCommandEnum = ParcelMediaCommandEnum.Url; | ||||||
|                             NotImplemented("llParcelMediaQuery parameter do not supported yet: " + Enum.Parse(mediaCommandEnum.GetType() , aList.Data[i].ToString()).ToString()); |                             NotImplemented("llParcelMediaQuery", "Parameter not supported yet: " + Enum.Parse(mediaCommandEnum.GetType() , aList.Data[i].ToString()).ToString()); | ||||||
|                             break; |                             break; | ||||||
|                     } |                     } | ||||||
| 
 | 
 | ||||||
|  | @ -10312,7 +10300,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|             if (quick_pay_buttons.Data.Length < 4) |             if (quick_pay_buttons.Data.Length < 4) | ||||||
|             { |             { | ||||||
|                 LSLError("List must have at least 4 elements"); |                 Error("llSetPayPrice", "List must have at least 4 elements"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             m_host.ParentGroup.RootPart.PayPrice[0]=price; |             m_host.ParentGroup.RootPart.PayPrice[0]=price; | ||||||
|  | @ -10333,7 +10321,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|             if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0) |             if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0) | ||||||
|             { |             { | ||||||
|                 ShoutError("No permissions to track the camera"); |                 Error("llGetCameraPos", "No permissions to track the camera"); | ||||||
|                 return Vector3.Zero; |                 return Vector3.Zero; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | @ -10356,7 +10344,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
| 
 | 
 | ||||||
|             if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0) |             if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0) | ||||||
|             { |             { | ||||||
|                 ShoutError("No permissions to track the camera"); |                 Error("llGetCameraRot", "No permissions to track the camera"); | ||||||
|                 return Quaternion.Identity; |                 return Quaternion.Identity; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | @ -10369,24 +10357,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             return Quaternion.Identity; |             return Quaternion.Identity; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         /// <summary> |  | ||||||
|         /// The SL implementation does nothing, it is deprecated |  | ||||||
|         /// This duplicates SL |  | ||||||
|         /// </summary> |  | ||||||
|         public void llSetPrimURL(string url) |         public void llSetPrimURL(string url) | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|  |             Deprecated("llSetPrimURL", "Use llSetPrimMediaParams instead"); | ||||||
|             ScriptSleep(2000); |             ScriptSleep(2000); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         /// <summary> |  | ||||||
|         /// The SL implementation shouts an error, it is deprecated |  | ||||||
|         /// This duplicates SL |  | ||||||
|         /// </summary> |  | ||||||
|         public void llRefreshPrimURL() |         public void llRefreshPrimURL() | ||||||
|         { |         { | ||||||
|             m_host.AddScriptLPS(1); |             m_host.AddScriptLPS(1); | ||||||
|             ShoutError("llRefreshPrimURL - not yet supported"); |             Deprecated("llRefreshPrimURL"); | ||||||
|             ScriptSleep(20000); |             ScriptSleep(20000); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | @ -10696,7 +10677,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                 if (!ok || flag < 0 || |                 if (!ok || flag < 0 || | ||||||
|                     flag > (int)HttpRequestConstants.HTTP_PRAGMA_NO_CACHE) |                     flag > (int)HttpRequestConstants.HTTP_PRAGMA_NO_CACHE) | ||||||
|                 { |                 { | ||||||
|                     throw new ScriptException("Parameter " + i.ToString() + " is an invalid flag"); |                     Error("llHTTPRequest", "Parameter " + i.ToString() + " is an invalid flag"); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 param.Add(parameters.Data[i].ToString());       //Add parameter flag |                 param.Add(parameters.Data[i].ToString());       //Add parameter flag | ||||||
|  | @ -10720,12 +10701,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                         { |                         { | ||||||
|                             //There must be at least one name/value pair for custom header |                             //There must be at least one name/value pair for custom header | ||||||
|                             if (count == 1) |                             if (count == 1) | ||||||
|                                 throw new ScriptException("Missing name/value for custom header at parameter " + i.ToString()); |                                 Error("llHTTPRequest", "Missing name/value for custom header at parameter " + i.ToString()); | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
| 
 | 
 | ||||||
|                         if (HttpStandardHeaders.Contains(parameters.Data[i].ToString(), StringComparer.OrdinalIgnoreCase)) |                         if (HttpStandardHeaders.Contains(parameters.Data[i].ToString(), StringComparer.OrdinalIgnoreCase)) | ||||||
|                             throw new ScriptException("Name is invalid as a custom header at parameter " + i.ToString()); |                             Error("llHTTPRequest", "Name is invalid as a custom header at parameter " + i.ToString()); | ||||||
| 
 | 
 | ||||||
|                         param.Add(parameters.Data[i].ToString()); |                         param.Add(parameters.Data[i].ToString()); | ||||||
|                         param.Add(parameters.Data[i+1].ToString()); |                         param.Add(parameters.Data[i+1].ToString()); | ||||||
|  | @ -11242,25 +11223,71 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             return item.ItemID; |             return item.ItemID; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         internal void ShoutError(string msg) |         /// <summary> | ||||||
|  |         /// Reports the script error in the viewer's Script Warning/Error dialog and shouts it on the debug channel. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="command">The name of the command that generated the error.</param> | ||||||
|  |         /// <param name="message">The error message to report to the user.</param> | ||||||
|  |         internal void Error(string command, string message) | ||||||
|         { |         { | ||||||
|             llShout(ScriptBaseClass.DEBUG_CHANNEL, msg); |             string text = command + ": " + message; | ||||||
|  |             if (text.Length > 1023) | ||||||
|  |             { | ||||||
|  |                 text = text.Substring(0, 1023); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             World.SimChat(Utils.StringToBytes(text), ChatTypeEnum.DebugChannel, ScriptBaseClass.DEBUG_CHANNEL, | ||||||
|  |                 m_host.ParentGroup.RootPart.AbsolutePosition, m_host.Name, m_host.UUID, false); | ||||||
|  | 
 | ||||||
|  |             IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | ||||||
|  |             if (wComm != null) | ||||||
|  |             { | ||||||
|  |                 wComm.DeliverMessage(ChatTypeEnum.Shout, ScriptBaseClass.DEBUG_CHANNEL, m_host.Name, m_host.UUID, text); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         internal void NotImplemented(string command) |         /// <summary> | ||||||
|  |         /// Reports that the command is not implemented as a script error. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="command">The name of the command that is not implemented.</param> | ||||||
|  |         /// <param name="message">Additional information to report to the user. (Optional)</param> | ||||||
|  |         internal void NotImplemented(string command, string message = "") | ||||||
|         { |         { | ||||||
|             if (throwErrorOnNotImplemented) |             if (throwErrorOnNotImplemented) | ||||||
|                 throw new NotImplementedException("Command not implemented: " + command); |             { | ||||||
|  |                 if (message != "") | ||||||
|  |                 { | ||||||
|  |                     message = " - " + message; | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 throw new NotImplementedException("Command not implemented: " + command + message); | ||||||
|  |             } | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 string text = "Command not implemented"; | ||||||
|  |                 if (message != "") | ||||||
|  |                 { | ||||||
|  |                     text = text + " - " + message; | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 Error(command, text); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         internal void Deprecated(string command) |         /// <summary> | ||||||
|  |         /// Reports that the command is deprecated as a script error. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="command">The name of the command that is deprecated.</param> | ||||||
|  |         /// <param name="message">Additional information to report to the user. (Optional)</param> | ||||||
|  |         internal void Deprecated(string command, string message = "") | ||||||
|         { |         { | ||||||
|             throw new ScriptException("Command deprecated: " + command); |             string text = "Command deprecated"; | ||||||
|         } |             if (message != "") | ||||||
|  |             { | ||||||
|  |                 text = text + " - " + message; | ||||||
|  |             } | ||||||
| 
 | 
 | ||||||
|         internal void LSLError(string msg) |             Error(command, text); | ||||||
|         { |  | ||||||
|             throw new ScriptException("LSL Runtime Error: " + msg); |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public delegate void AssetRequestCallback(UUID assetID, AssetBase asset); |         public delegate void AssetRequestCallback(UUID assetID, AssetBase asset); | ||||||
|  | @ -11292,7 +11319,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             if (assetID == UUID.Zero) |             if (assetID == UUID.Zero) | ||||||
|             { |             { | ||||||
|                 // => complain loudly, as specified by the LSL docs |                 // => complain loudly, as specified by the LSL docs | ||||||
|                 ShoutError("Notecard '" + name + "' could not be found."); |                 Error("llGetNumberOfNotecardLines", "Can't find notecard '" + name + "'"); | ||||||
| 
 | 
 | ||||||
|                 return UUID.Zero.ToString(); |                 return UUID.Zero.ToString(); | ||||||
|             } |             } | ||||||
|  | @ -11314,7 +11341,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             { |             { | ||||||
|                 if (a == null || a.Type != 7) |                 if (a == null || a.Type != 7) | ||||||
|                 { |                 { | ||||||
|                     ShoutError("Notecard '" + name + "' could not be found."); |                     Error("llGetNumberOfNotecardLines", "Can't find notecard '" + name + "'"); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|  | @ -11345,7 +11372,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|             if (assetID == UUID.Zero) |             if (assetID == UUID.Zero) | ||||||
|             { |             { | ||||||
|                 // => complain loudly, as specified by the LSL docs |                 // => complain loudly, as specified by the LSL docs | ||||||
|                 ShoutError("Notecard '" + name + "' could not be found."); |                 Error("llGetNotecardLine", "Can't find notecard '" + name + "'"); | ||||||
| 
 | 
 | ||||||
|                 return UUID.Zero.ToString(); |                 return UUID.Zero.ToString(); | ||||||
|             } |             } | ||||||
|  | @ -11368,7 +11395,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | ||||||
|                          { |                          { | ||||||
|                              if (a == null || a.Type != 7) |                              if (a == null || a.Type != 7) | ||||||
|                              { |                              { | ||||||
|                                  ShoutError("Notecard '" + name + "' could not be found."); |                                  Error("llGetNotecardLine", "Can't find notecard '" + name + "'"); | ||||||
|                                  return; |                                  return; | ||||||
|                              } |                              } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -162,7 +162,7 @@ namespace OpenSim.Services.Connectors | ||||||
|             finally |             finally | ||||||
|             { |             { | ||||||
|                 if (os != null) |                 if (os != null) | ||||||
|                     os.Close(); |                     os.Dispose(); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             // Let's wait for the response |             // Let's wait for the response | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Justin Clark-Casey (justincc)
						Justin Clark-Casey (justincc)