aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_Types.cs77
-rw-r--r--OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs14
3 files changed, 56 insertions, 37 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index ee5d52c..a33fe0f 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -3989,7 +3989,7 @@ namespace OpenSim.Region.ScriptEngine.Common
3989 break; 3989 break;
3990 3990
3991 case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_PATTERN: 3991 case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_PATTERN:
3992 int tmpi = (int)rules.Data[i + 1]; 3992 int tmpi = int.Parse(rules.Data[i + 1].ToString());
3993 prules.Pattern = (Primitive.ParticleSystem.SourcePattern)tmpi; 3993 prules.Pattern = (Primitive.ParticleSystem.SourcePattern)tmpi;
3994 break; 3994 break;
3995 3995
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs
index 5337d7f..edd16a7 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs
@@ -704,6 +704,37 @@ namespace OpenSim.Region.ScriptEngine.Common
704 } 704 }
705 return ret; 705 return ret;
706 } 706 }
707
708 private string ToSoup()
709 {
710 string output;
711 output = String.Empty;
712 if (m_data.Length == 0)
713 {
714 return String.Empty;
715 }
716 foreach (object o in m_data)
717 {
718 output = output + o.ToString();
719 }
720 return output;
721 }
722
723 public static explicit operator String(list l)
724 {
725 return l.ToSoup();
726 }
727
728 public static explicit operator LSLString(list l)
729 {
730 return new LSLString(l.ToSoup());
731 }
732
733 public override string ToString()
734 {
735 return ToSoup();
736 }
737
707 #endregion 738 #endregion
708 739
709 #region Statistic Methods 740 #region Statistic Methods
@@ -935,36 +966,6 @@ namespace OpenSim.Region.ScriptEngine.Common
935 } 966 }
936 } 967 }
937 968
938 public override string ToString()
939 {
940 string output;
941 output = String.Empty;
942 if (m_data.Length == 0)
943 {
944 return String.Empty;
945 }
946 foreach (object o in m_data)
947 {
948 output = output + o.ToString();
949 }
950 return output;
951
952 }
953
954 public static explicit operator string(list l)
955 {
956 string output;
957 output = String.Empty;
958 if (l.m_data.Length == 0)
959 {
960 return String.Empty;
961 }
962 foreach (object o in l.m_data)
963 {
964 output = output + o.ToString();
965 }
966 return output;
967 }
968 } 969 }
969 970
970 // 971 //
@@ -1200,11 +1201,17 @@ namespace OpenSim.Region.ScriptEngine.Common
1200 } 1201 }
1201 1202
1202 #endregion 1203 #endregion
1203 static public implicit operator Int32(LSLInteger i) 1204
1205 static public implicit operator int(LSLInteger i)
1204 { 1206 {
1205 return i.value; 1207 return i.value;
1206 } 1208 }
1207 1209
1210 static public implicit operator uint(LSLInteger i)
1211 {
1212 return (uint)i.value;
1213 }
1214
1208 static public explicit operator LSLString(LSLInteger i) 1215 static public explicit operator LSLString(LSLInteger i)
1209 { 1216 {
1210 return new LSLString(i.ToString()); 1217 return new LSLString(i.ToString());
@@ -1255,10 +1262,10 @@ namespace OpenSim.Region.ScriptEngine.Common
1255 return i; 1262 return i;
1256 } 1263 }
1257 1264
1258 //static public implicit operator System.Double(LSLInteger i) 1265 static public implicit operator System.Double(LSLInteger i)
1259 //{ 1266 {
1260 // return (double)i.value; 1267 return (double)i.value;
1261 //} 1268 }
1262 1269
1263 #region Overriders 1270 #region Overriders
1264 1271
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs
index 30b3e8f..1b1a5fa 100644
--- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs
+++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs
@@ -295,7 +295,19 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
295 if (e.InnerException != null) 295 if (e.InnerException != null)
296 { 296 {
297 // Send inner exception 297 // Send inner exception
298 text += e.InnerException.Message.ToString(); 298 string[] lines=e.InnerException.ToString().Replace("\r", "").Split('\n');
299 int line=0;
300 foreach(string t in lines)
301 {
302 int idx=t.IndexOf("SecondLife.Script.");
303 if(idx != -1)
304 {
305 int colon=t.IndexOf(":");
306 line=Convert.ToInt32(t.Substring(colon+1));
307 break;
308 }
309 }
310 text += e.InnerException.Message.ToString()+" in line "+line.ToString();
299 } 311 }
300 else 312 else
301 { 313 {