aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs11
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs16
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs38
3 files changed, 34 insertions, 31 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs
index 2226673..b357ab6 100644
--- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs
@@ -726,16 +726,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
726 if ("LSL_Types.LSLFloat" == c.Type) 726 if ("LSL_Types.LSLFloat" == c.Type)
727 { 727 {
728 int dotIndex = c.Value.IndexOf('.') + 1; 728 int dotIndex = c.Value.IndexOf('.') + 1;
729 // Skip first dot (in type name)
730 dotIndex = c.Value.IndexOf('.', dotIndex) + 1;
729 if (0 < dotIndex && (dotIndex == c.Value.Length || !Char.IsDigit(c.Value[dotIndex]))) 731 if (0 < dotIndex && (dotIndex == c.Value.Length || !Char.IsDigit(c.Value[dotIndex])))
730 c.Value = c.Value.Insert(dotIndex, "0"); 732 c.Value = c.Value.Insert(dotIndex, "0");
731 } 733 }
732 734
735 // commencted because the parser does it now
733 // need to quote strings 736 // need to quote strings
734 if ("LSL_Types.LSLString" == c.Type) 737 // if ("LSL_Types.LSLString" == c.Type)
735 retstr += Generate("\""); 738 // retstr += Generate("\"");
736 retstr += Generate(c.Value, c); 739 retstr += Generate(c.Value, c);
737 if ("LSL_Types.LSLString" == c.Type) 740 // if ("LSL_Types.LSLString" == c.Type)
738 retstr += Generate("\""); 741 // retstr += Generate("\"");
739 742
740 return retstr; 743 return retstr;
741 } 744 }
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs
index 53da265..2f9a829 100644
--- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs
@@ -1304,24 +1304,24 @@ public class ReturnStatement_2 : ReturnStatement {
1304 public ReturnStatement_2(Parser yyq):base(yyq){}} 1304 public ReturnStatement_2(Parser yyq):base(yyq){}}
1305 1305
1306public class Constant_1 : Constant { 1306public class Constant_1 : Constant {
1307 public Constant_1(Parser yyq):base(yyq,"integer", 1307 public Constant_1(Parser yyq):base(yyq,"integer", "new LSL_Types.LSLInteger("+
1308 ((INTEGER_CONSTANT)(yyq.StackAt(0).m_value)) 1308 ((INTEGER_CONSTANT)(yyq.StackAt(0).m_value))
1309 .yytext){}} 1309 .yytext+")"){}}
1310 1310
1311public class Constant_2 : Constant { 1311public class Constant_2 : Constant {
1312 public Constant_2(Parser yyq):base(yyq,"integer", 1312 public Constant_2(Parser yyq):base(yyq,"integer", "new LSL_Types.LSLInteger("+
1313 ((HEX_INTEGER_CONSTANT)(yyq.StackAt(0).m_value)) 1313 ((HEX_INTEGER_CONSTANT)(yyq.StackAt(0).m_value))
1314 .yytext){}} 1314 .yytext+")"){}}
1315 1315
1316public class Constant_3 : Constant { 1316public class Constant_3 : Constant {
1317 public Constant_3(Parser yyq):base(yyq,"float", 1317 public Constant_3(Parser yyq):base(yyq,"float", "new LSL_Types.LSLFloat("+
1318 ((FLOAT_CONSTANT)(yyq.StackAt(0).m_value)) 1318 ((FLOAT_CONSTANT)(yyq.StackAt(0).m_value))
1319 .yytext){}} 1319 .yytext+")"){}}
1320 1320
1321public class Constant_4 : Constant { 1321public class Constant_4 : Constant {
1322 public Constant_4(Parser yyq):base(yyq,"string", 1322 public Constant_4(Parser yyq):base(yyq,"string", "new LSL_Types.LSLString(\""+
1323 ((STRING_CONSTANT)(yyq.StackAt(0).m_value)) 1323 ((STRING_CONSTANT)(yyq.StackAt(0).m_value))
1324 .yytext){}} 1324 .yytext+"\")"){}}
1325 1325
1326public class ListConstant_1 : ListConstant { 1326public class ListConstant_1 : ListConstant {
1327 public ListConstant_1(Parser yyq):base(yyq, 1327 public ListConstant_1(Parser yyq):base(yyq,
diff --git a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs
index 64334f1..babb759 100644
--- a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs
@@ -1453,25 +1453,25 @@ namespace OpenSim.Region.ScriptEngine.Shared
1453 return new LSLInteger(i1.value / i2); 1453 return new LSLInteger(i1.value / i2);
1454 } 1454 }
1455 1455
1456 static public LSLFloat operator +(LSLInteger i1, double f) 1456// static public LSLFloat operator +(LSLInteger i1, double f)
1457 { 1457// {
1458 return new LSLFloat((double)i1.value + f); 1458// return new LSLFloat((double)i1.value + f);
1459 } 1459// }
1460 1460//
1461 static public LSLFloat operator -(LSLInteger i1, double f) 1461// static public LSLFloat operator -(LSLInteger i1, double f)
1462 { 1462// {
1463 return new LSLFloat((double)i1.value - f); 1463// return new LSLFloat((double)i1.value - f);
1464 } 1464// }
1465 1465//
1466 static public LSLFloat operator *(LSLInteger i1, double f) 1466// static public LSLFloat operator *(LSLInteger i1, double f)
1467 { 1467// {
1468 return new LSLFloat((double)i1.value * f); 1468// return new LSLFloat((double)i1.value * f);
1469 } 1469// }
1470 1470//
1471 static public LSLFloat operator /(LSLInteger i1, double f) 1471// static public LSLFloat operator /(LSLInteger i1, double f)
1472 { 1472// {
1473 return new LSLFloat((double)i1.value / f); 1473// return new LSLFloat((double)i1.value / f);
1474 } 1474// }
1475 1475
1476 static public LSLInteger operator -(LSLInteger i) 1476 static public LSLInteger operator -(LSLInteger i)
1477 { 1477 {