Fix bug where viewers would not see the "Module command functions not enabled" error if these were disabled and a viewer attempted to call one.
This was not working because the shouter was wrongly signalled as an agent rather than a prim0.7.4-extended
							parent
							
								
									982d3d3faa
								
							
						
					
					
						commit
						85f32f184c
					
				|  | @ -29,8 +29,10 @@ using System; | |||
| using System.Reflection; | ||||
| using System.Collections; | ||||
| using System.Collections.Generic; | ||||
| using System.Reflection; | ||||
| using System.Runtime.Remoting.Lifetime; | ||||
| using System.Threading; | ||||
| using log4net; | ||||
| using OpenMetaverse; | ||||
| using Nini.Config; | ||||
| using OpenSim; | ||||
|  | @ -56,6 +58,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|     [Serializable] | ||||
|     public class MOD_Api : MarshalByRefObject, IMOD_Api, IScriptApi | ||||
|     { | ||||
| //        private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||||
| 
 | ||||
|         internal IScriptEngine m_ScriptEngine; | ||||
|         internal SceneObjectPart m_host; | ||||
|         internal TaskInventoryItem m_item; | ||||
|  | @ -109,8 +113,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|             if (message.Length > 1023) | ||||
|                 message = message.Substring(0, 1023); | ||||
| 
 | ||||
|             World.SimChat(Utils.StringToBytes(message), | ||||
|                           ChatTypeEnum.Shout, ScriptBaseClass.DEBUG_CHANNEL, m_host.ParentGroup.RootPart.AbsolutePosition, m_host.Name, m_host.UUID, true); | ||||
|             World.SimChat( | ||||
|                 Utils.StringToBytes(message), | ||||
|                 ChatTypeEnum.Shout, ScriptBaseClass.DEBUG_CHANNEL,  | ||||
|                 m_host.ParentGroup.RootPart.AbsolutePosition, m_host.Name, m_host.UUID, false); | ||||
| 
 | ||||
|             IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | ||||
|             wComm.DeliverMessage(ChatTypeEnum.Shout, ScriptBaseClass.DEBUG_CHANNEL, m_host.Name, m_host.UUID, message); | ||||
|  | @ -124,6 +130,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|         /// <returns>string result of the invocation</returns> | ||||
|         public void modInvokeN(string fname, params object[] parms) | ||||
|         { | ||||
| //            m_log.DebugFormat( | ||||
| //                "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type",  | ||||
| //                fname,  | ||||
| //                string.Join(",", Array.ConvertAll<object, string>(parms, o => o.ToString())),  | ||||
| //                ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); | ||||
| 
 | ||||
|             Type returntype = m_comms.LookupReturnType(fname); | ||||
|             if (returntype != typeof(string)) | ||||
|                 MODError(String.Format("return type mismatch for {0}",fname)); | ||||
|  | @ -133,6 +145,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
| 
 | ||||
|         public LSL_String modInvokeS(string fname, params object[] parms) | ||||
|         { | ||||
| //            m_log.DebugFormat( | ||||
| //                "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type",  | ||||
| //                fname,  | ||||
| //                string.Join(",", Array.ConvertAll<object, string>(parms, o => o.ToString())),  | ||||
| //                ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); | ||||
| 
 | ||||
|             Type returntype = m_comms.LookupReturnType(fname); | ||||
|             if (returntype != typeof(string)) | ||||
|                 MODError(String.Format("return type mismatch for {0}",fname)); | ||||
|  | @ -143,6 +161,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
| 
 | ||||
|         public LSL_Integer modInvokeI(string fname, params object[] parms) | ||||
|         { | ||||
| //            m_log.DebugFormat( | ||||
| //                "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type",  | ||||
| //                fname,  | ||||
| //                string.Join(",", Array.ConvertAll<object, string>(parms, o => o.ToString())),  | ||||
| //                ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); | ||||
| 
 | ||||
|             Type returntype = m_comms.LookupReturnType(fname); | ||||
|             if (returntype != typeof(int)) | ||||
|                 MODError(String.Format("return type mismatch for {0}",fname)); | ||||
|  | @ -153,6 +177,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|          | ||||
|         public LSL_Float modInvokeF(string fname, params object[] parms) | ||||
|         { | ||||
| //            m_log.DebugFormat( | ||||
| //                "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type",  | ||||
| //                fname,  | ||||
| //                string.Join(",", Array.ConvertAll<object, string>(parms, o => o.ToString())),  | ||||
| //                ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); | ||||
| 
 | ||||
|             Type returntype = m_comms.LookupReturnType(fname); | ||||
|             if (returntype != typeof(float)) | ||||
|                 MODError(String.Format("return type mismatch for {0}",fname)); | ||||
|  | @ -163,6 +193,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
| 
 | ||||
|         public LSL_Key modInvokeK(string fname, params object[] parms) | ||||
|         { | ||||
| //            m_log.DebugFormat( | ||||
| //                "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type",  | ||||
| //                fname,  | ||||
| //                string.Join(",", Array.ConvertAll<object, string>(parms, o => o.ToString())),  | ||||
| //                ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); | ||||
| 
 | ||||
|             Type returntype = m_comms.LookupReturnType(fname); | ||||
|             if (returntype != typeof(UUID)) | ||||
|                 MODError(String.Format("return type mismatch for {0}",fname)); | ||||
|  | @ -173,6 +209,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
| 
 | ||||
|         public LSL_Vector modInvokeV(string fname, params object[] parms) | ||||
|         { | ||||
| //            m_log.DebugFormat( | ||||
| //                "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type",  | ||||
| //                fname,  | ||||
| //                string.Join(",", Array.ConvertAll<object, string>(parms, o => o.ToString())),  | ||||
| //                ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); | ||||
| 
 | ||||
|             Type returntype = m_comms.LookupReturnType(fname); | ||||
|             if (returntype != typeof(OpenMetaverse.Vector3)) | ||||
|                 MODError(String.Format("return type mismatch for {0}",fname)); | ||||
|  | @ -183,6 +225,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
| 
 | ||||
|         public LSL_Rotation modInvokeR(string fname, params object[] parms) | ||||
|         { | ||||
| //            m_log.DebugFormat( | ||||
| //                "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type",  | ||||
| //                fname,  | ||||
| //                string.Join(",", Array.ConvertAll<object, string>(parms, o => o.ToString())),  | ||||
| //                ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); | ||||
| 
 | ||||
|             Type returntype = m_comms.LookupReturnType(fname); | ||||
|             if (returntype != typeof(OpenMetaverse.Quaternion)) | ||||
|                 MODError(String.Format("return type mismatch for {0}",fname)); | ||||
|  | @ -193,6 +241,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
| 
 | ||||
|         public LSL_List modInvokeL(string fname, params object[] parms) | ||||
|         { | ||||
| //            m_log.DebugFormat( | ||||
| //                "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type",  | ||||
| //                fname,  | ||||
| //                string.Join(",", Array.ConvertAll<object, string>(parms, o => o.ToString())),  | ||||
| //                ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); | ||||
| 
 | ||||
|             Type returntype = m_comms.LookupReturnType(fname); | ||||
|             if (returntype != typeof(object[])) | ||||
|                 MODError(String.Format("return type mismatch for {0}",fname)); | ||||
|  | @ -250,6 +304,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|                 return ""; | ||||
|             } | ||||
| 
 | ||||
| //            m_log.DebugFormat( | ||||
| //                "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type",  | ||||
| //                fname,  | ||||
| //                string.Join(",", Array.ConvertAll<object, string>(parms, o => o.ToString())),  | ||||
| //                ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); | ||||
| 
 | ||||
|             Type[] signature = m_comms.LookupTypeSignature(fname); | ||||
|             if (signature.Length != parms.Length) | ||||
|                 MODError(String.Format("wrong number of parameters to function {0}",fname)); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Justin Clark-Casey (justincc)
						Justin Clark-Casey (justincc)