aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs4
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs152
2 files changed, 80 insertions, 76 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
index 2beb9bb..26e924f 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
@@ -329,6 +329,10 @@ namespace OpenSim.Region.Environment.Scenes
329 /// </param> 329 /// </param>
330 protected void AddInventoryItem(string name, TaskInventoryItem item) 330 protected void AddInventoryItem(string name, TaskInventoryItem item)
331 { 331 {
332 name = FindAvailableInventoryName(name);
333 if (name == String.Empty)
334 return;
335
332 item.ParentID = UUID; 336 item.ParentID = UUID;
333 item.ParentPartID = UUID; 337 item.ParentPartID = UUID;
334 338
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 1f52dc3..58f5024 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -5550,7 +5550,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5550 5550
5551 while (idx < rules.Length) 5551 while (idx < rules.Length)
5552 { 5552 {
5553 int code = Convert.ToInt32(rules.Data[idx++].ToString()); 5553 int code = rules.GetLSLIntegerItem(idx++);
5554 5554
5555 int remain = rules.Length - idx; 5555 int remain = rules.Length - idx;
5556 5556
@@ -5563,7 +5563,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5563 if (remain < 1) 5563 if (remain < 1)
5564 return; 5564 return;
5565 5565
5566 v=new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5566 v=rules.GetVector3Item(idx++);
5567 SetPos(part, v); 5567 SetPos(part, v);
5568 5568
5569 break; 5569 break;
@@ -5571,7 +5571,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5571 if (remain < 1) 5571 if (remain < 1)
5572 return; 5572 return;
5573 5573
5574 v=new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5574 v=rules.GetVector3Item(idx++);
5575 SetScale(part, v); 5575 SetScale(part, v);
5576 5576
5577 break; 5577 break;
@@ -5579,7 +5579,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5579 if (remain < 1) 5579 if (remain < 1)
5580 return; 5580 return;
5581 5581
5582 LSL_Types.Quaternion q = new LSL_Types.Quaternion(rules.Data[idx++].ToString()); 5582 LSL_Types.Quaternion q = rules.GetQuaternionItem(idx++);
5583 SetRot(part, q); 5583 SetRot(part, q);
5584 5584
5585 break; 5585 break;
@@ -5588,7 +5588,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5588 if (remain < 3) 5588 if (remain < 3)
5589 return; 5589 return;
5590 5590
5591 code = Convert.ToInt32(rules.Data[idx++].ToString()); 5591 code = (int)rules.GetLSLIntegerItem(idx++);
5592 5592
5593 remain = rules.Length - idx; 5593 remain = rules.Length - idx;
5594 float hollow; 5594 float hollow;
@@ -5622,12 +5622,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5622 if (remain < 6) 5622 if (remain < 6)
5623 return; 5623 return;
5624 5624
5625 face = Convert.ToInt32(rules.Data[idx++].ToString()); // holeshape 5625 face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
5626 v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // cut 5626 v = rules.GetVector3Item(idx++); // cut
5627 hollow = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5627 hollow = (float)rules.GetLSLFloatItem(idx++);
5628 twist = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5628 twist = rules.GetVector3Item(idx++);
5629 taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5629 taper_b = rules.GetVector3Item(idx++);
5630 topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5630 topshear = rules.GetVector3Item(idx++);
5631 part.Shape.ProfileShape = ProfileShape.Circle; 5631 part.Shape.ProfileShape = ProfileShape.Circle;
5632 part.Shape.PathCurve = (byte)Extrusion.Straight; 5632 part.Shape.PathCurve = (byte)Extrusion.Straight;
5633 SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, topshear, 0); 5633 SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, topshear, 0);
@@ -5637,12 +5637,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5637 if (remain < 6) 5637 if (remain < 6)
5638 return; 5638 return;
5639 5639
5640 face = Convert.ToInt32(rules.Data[idx++].ToString()); // holeshape 5640 face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
5641 v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); //cut 5641 v = rules.GetVector3Item(idx++); //cut
5642 hollow = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5642 hollow = (float)rules.GetLSLFloatItem(idx++);
5643 twist = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5643 twist = rules.GetVector3Item(idx++);
5644 taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5644 taper_b = rules.GetVector3Item(idx++);
5645 topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5645 topshear = rules.GetVector3Item(idx++);
5646 part.Shape.PathCurve = (byte)Extrusion.Straight; 5646 part.Shape.PathCurve = (byte)Extrusion.Straight;
5647 SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, topshear, 3); 5647 SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, topshear, 3);
5648 break; 5648 break;
@@ -5651,11 +5651,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5651 if (remain < 5) 5651 if (remain < 5)
5652 return; 5652 return;
5653 5653
5654 face = Convert.ToInt32(rules.Data[idx++].ToString()); // holeshape 5654 face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
5655 v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // cut 5655 v = rules.GetVector3Item(idx++); // cut
5656 hollow = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5656 hollow = (float)rules.GetLSLFloatItem(idx++);
5657 twist = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5657 twist = rules.GetVector3Item(idx++);
5658 taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // dimple 5658 taper_b = rules.GetVector3Item(idx++); // dimple
5659 part.Shape.PathCurve = (byte)Extrusion.Curve1; 5659 part.Shape.PathCurve = (byte)Extrusion.Curve1;
5660 SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, 5); 5660 SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, 5);
5661 break; 5661 break;
@@ -5664,17 +5664,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5664 if (remain < 11) 5664 if (remain < 11)
5665 return; 5665 return;
5666 5666
5667 face = Convert.ToInt32(rules.Data[idx++].ToString()); // holeshape 5667 face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
5668 v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); //cut 5668 v = rules.GetVector3Item(idx++); //cut
5669 hollow = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5669 hollow = (float)rules.GetLSLFloatItem(idx++);
5670 twist = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5670 twist = rules.GetVector3Item(idx++);
5671 holesize = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5671 holesize = rules.GetVector3Item(idx++);
5672 topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5672 topshear = rules.GetVector3Item(idx++);
5673 profilecut = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5673 profilecut = rules.GetVector3Item(idx++);
5674 taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // taper_a 5674 taper_b = rules.GetVector3Item(idx++); // taper_a
5675 revolutions = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5675 revolutions = (float)rules.GetLSLFloatItem(idx++);
5676 radiusoffset = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5676 radiusoffset = (float)rules.GetLSLFloatItem(idx++);
5677 skew = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5677 skew = (float)rules.GetLSLFloatItem(idx++);
5678 part.Shape.PathCurve = (byte)Extrusion.Curve1; 5678 part.Shape.PathCurve = (byte)Extrusion.Curve1;
5679 SetPrimitiveShapeParams(part, face, v, hollow, twist, holesize, topshear, profilecut, taper_b, revolutions, radiusoffset, skew, 0); 5679 SetPrimitiveShapeParams(part, face, v, hollow, twist, holesize, topshear, profilecut, taper_b, revolutions, radiusoffset, skew, 0);
5680 break; 5680 break;
@@ -5683,17 +5683,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5683 if (remain < 11) 5683 if (remain < 11)
5684 return; 5684 return;
5685 5685
5686 face = Convert.ToInt32(rules.Data[idx++].ToString()); // holeshape 5686 face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
5687 v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); //cut 5687 v = rules.GetVector3Item(idx++); //cut
5688 hollow = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5688 hollow = (float)rules.GetLSLFloatItem(idx++);
5689 twist = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5689 twist = rules.GetVector3Item(idx++);
5690 holesize = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5690 holesize = rules.GetVector3Item(idx++);
5691 topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5691 topshear = rules.GetVector3Item(idx++);
5692 profilecut = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5692 profilecut = rules.GetVector3Item(idx++);
5693 taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // taper_a 5693 taper_b = rules.GetVector3Item(idx++); // taper_a
5694 revolutions = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5694 revolutions = (float)rules.GetLSLFloatItem(idx++);
5695 radiusoffset = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5695 radiusoffset = (float)rules.GetLSLFloatItem(idx++);
5696 skew = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5696 skew = (float)rules.GetLSLFloatItem(idx++);
5697 part.Shape.PathCurve = (byte)Extrusion.Curve1; 5697 part.Shape.PathCurve = (byte)Extrusion.Curve1;
5698 SetPrimitiveShapeParams(part, face, v, hollow, twist, holesize, topshear, profilecut, taper_b, revolutions, radiusoffset, skew, 1); 5698 SetPrimitiveShapeParams(part, face, v, hollow, twist, holesize, topshear, profilecut, taper_b, revolutions, radiusoffset, skew, 1);
5699 break; 5699 break;
@@ -5702,17 +5702,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5702 if (remain < 11) 5702 if (remain < 11)
5703 return; 5703 return;
5704 5704
5705 face = Convert.ToInt32(rules.Data[idx++].ToString()); // holeshape 5705 face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
5706 v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); //cut 5706 v = rules.GetVector3Item(idx++); //cut
5707 hollow = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5707 hollow = (float)rules.GetLSLFloatItem(idx++);
5708 twist = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5708 twist = rules.GetVector3Item(idx++);
5709 holesize = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5709 holesize = rules.GetVector3Item(idx++);
5710 topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5710 topshear = rules.GetVector3Item(idx++);
5711 profilecut = new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5711 profilecut = rules.GetVector3Item(idx++);
5712 taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // taper_a 5712 taper_b = rules.GetVector3Item(idx++); // taper_a
5713 revolutions = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5713 revolutions = (float)rules.GetLSLFloatItem(idx++);
5714 radiusoffset = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5714 radiusoffset = (float)rules.GetLSLFloatItem(idx++);
5715 skew = (float)Convert.ToDouble(rules.Data[idx++].ToString()); 5715 skew = (float)rules.GetLSLFloatItem(idx++);
5716 part.Shape.PathCurve = (byte)Extrusion.Curve1; 5716 part.Shape.PathCurve = (byte)Extrusion.Curve1;
5717 SetPrimitiveShapeParams(part, face, v, hollow, twist, holesize, topshear, profilecut, taper_b, revolutions, radiusoffset, skew, 3); 5717 SetPrimitiveShapeParams(part, face, v, hollow, twist, holesize, topshear, profilecut, taper_b, revolutions, radiusoffset, skew, 3);
5718 break; 5718 break;
@@ -5722,7 +5722,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5722 return; 5722 return;
5723 5723
5724 string map = rules.Data[idx++].ToString(); 5724 string map = rules.Data[idx++].ToString();
5725 face = Convert.ToInt32(rules.Data[idx++].ToString()); // type 5725 face = (int)rules.GetLSLIntegerItem(idx++); // type
5726 part.Shape.PathCurve = (byte)Extrusion.Curve1; 5726 part.Shape.PathCurve = (byte)Extrusion.Curve1;
5727 SetPrimitiveShapeParams(part, map, face); 5727 SetPrimitiveShapeParams(part, map, face);
5728 break; 5728 break;
@@ -5734,11 +5734,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5734 if (remain < 5) 5734 if (remain < 5)
5735 return; 5735 return;
5736 5736
5737 face=Convert.ToInt32(rules.Data[idx++].ToString()); 5737 face=(int)rules.GetLSLIntegerItem(idx++);
5738 string tex=rules.Data[idx++].ToString(); 5738 string tex=rules.Data[idx++].ToString();
5739 LSL_Types.Vector3 repeats=new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5739 LSL_Types.Vector3 repeats=rules.GetVector3Item(idx++);
5740 LSL_Types.Vector3 offsets=new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5740 LSL_Types.Vector3 offsets=rules.GetVector3Item(idx++);
5741 double rotation=Convert.ToDouble(rules.Data[idx++].ToString()); 5741 double rotation=(double)rules.GetLSLFloatItem(idx++);
5742 5742
5743 SetTexture(part, tex, face); 5743 SetTexture(part, tex, face);
5744 ScaleTexture(part, repeats.x, repeats.y, face); 5744 ScaleTexture(part, repeats.x, repeats.y, face);
@@ -5751,9 +5751,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5751 if (remain < 3) 5751 if (remain < 3)
5752 return; 5752 return;
5753 5753
5754 face=Convert.ToInt32(rules.Data[idx++].ToString()); 5754 face=(int)rules.GetLSLIntegerItem(idx++);
5755 LSL_Types.Vector3 color=new LSL_Types.Vector3(rules.Data[idx++].ToString()); 5755 LSL_Types.Vector3 color=rules.GetVector3Item(idx++);
5756 double alpha=Convert.ToDouble(rules.Data[idx++].ToString()); 5756 double alpha=(double)rules.GetLSLFloatItem(idx++);
5757 5757
5758 SetColor(part, color, face); 5758 SetColor(part, color, face);
5759 SetAlpha(part, alpha, face); 5759 SetAlpha(part, alpha, face);
@@ -5793,7 +5793,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5793 // as a raw CLI Int32. When / if this is inserted as an 5793 // as a raw CLI Int32. When / if this is inserted as an
5794 // LSL_Types.LSLInteger extract value using LSL_Types.list.GetLSLIntegerItem 5794 // LSL_Types.LSLInteger extract value using LSL_Types.list.GetLSLIntegerItem
5795 // face = rules.GetLSLIntegerItem(idx++); 5795 // face = rules.GetLSLIntegerItem(idx++);
5796 face = Convert.ToInt32(rules.Data[idx++].ToString()); 5796 face = (int)rules.GetLSLIntegerItem(idx++);
5797 float glow = (float)rules.GetLSLFloatItem(idx++); 5797 float glow = (float)rules.GetLSLFloatItem(idx++);
5798 5798
5799 SetGlow(part, face, glow); 5799 SetGlow(part, face, glow);
@@ -5802,9 +5802,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5802 case (int)ScriptBaseClass.PRIM_BUMP_SHINY: 5802 case (int)ScriptBaseClass.PRIM_BUMP_SHINY:
5803 if (remain < 3) 5803 if (remain < 3)
5804 return; 5804 return;
5805 face = Convert.ToInt32(rules.Data[idx++].ToString()); 5805 face = (int)rules.GetLSLIntegerItem(idx++);
5806 int shiny = Convert.ToInt32(rules.Data[idx++].ToString()); 5806 int shiny = (int)rules.GetLSLIntegerItem(idx++);
5807 Bumpiness bump = (Bumpiness)Convert.ToByte(rules.Data[idx++].ToString()); 5807 Bumpiness bump = (Bumpiness)Convert.ToByte((int)rules.GetLSLIntegerItem(idx++));
5808 5808
5809 SetShiny(part, face, shiny, bump); 5809 SetShiny(part, face, shiny, bump);
5810 5810
@@ -5816,7 +5816,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5816 // as a raw CLI Int32. When / if this is inserted as an 5816 // as a raw CLI Int32. When / if this is inserted as an
5817 // LSL_Types.LSLInteger extract value using LSL_Types.list.GetLSLIntegerItem 5817 // LSL_Types.LSLInteger extract value using LSL_Types.list.GetLSLIntegerItem
5818 // face = rules.GetLSLIntegerItem(idx++); 5818 // face = rules.GetLSLIntegerItem(idx++);
5819 face = Convert.ToInt32(rules.Data[idx++].ToString()); 5819 face = (int)rules.GetLSLIntegerItem(idx++);
5820 bool st = rules.GetLSLIntegerItem(idx++); 5820 bool st = rules.GetLSLIntegerItem(idx++);
5821 SetFullBright(part, face , st); 5821 SetFullBright(part, face , st);
5822 break; 5822 break;
@@ -5827,7 +5827,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5827 { 5827 {
5828 /* Unhandled at this time - sends "Unhandled" message 5828 /* Unhandled at this time - sends "Unhandled" message
5829 will enable when available 5829 will enable when available
5830 byte material = (byte)Convert.ToByte( rules.Data[idx++].ToString()); 5830 byte material = Convert.ToByte((int)rules.GetLSLIntegerItem(idx++));
5831 part.Material = material; 5831 part.Material = material;
5832 */ 5832 */
5833 return; 5833 return;
@@ -6115,7 +6115,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6115 int idx=0; 6115 int idx=0;
6116 while (idx < rules.Length) 6116 while (idx < rules.Length)
6117 { 6117 {
6118 int code=Convert.ToInt32(rules.Data[idx++].ToString()); 6118 int code=(int)rules.GetLSLIntegerItem(idx++);
6119 int remain=rules.Length-idx; 6119 int remain=rules.Length-idx;
6120 6120
6121 switch (code) 6121 switch (code)
@@ -6240,7 +6240,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6240 if (remain < 1) 6240 if (remain < 1)
6241 return res; 6241 return res;
6242 6242
6243 int face = Convert.ToInt32(rules.Data[idx++].ToString()); 6243 int face = (int)rules.GetLSLIntegerItem(idx++);
6244 if (face == -1) 6244 if (face == -1)
6245 face = 0; 6245 face = 0;
6246 6246
@@ -6261,7 +6261,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6261 if (remain < 1) 6261 if (remain < 1)
6262 return res; 6262 return res;
6263 6263
6264 face=Convert.ToInt32(rules.Data[idx++].ToString()); 6264 face=(int)rules.GetLSLIntegerItem(idx++);
6265 6265
6266 tex = m_host.Shape.Textures; 6266 tex = m_host.Shape.Textures;
6267 Color4 texcolor; 6267 Color4 texcolor;
@@ -6280,7 +6280,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6280 if (remain < 1) 6280 if (remain < 1)
6281 return res; 6281 return res;
6282 6282
6283 face=Convert.ToInt32(rules.Data[idx++].ToString()); 6283 face=(int)rules.GetLSLIntegerItem(idx++);
6284 6284
6285 res.Add(new LSL_Types.LSLInteger(0)); 6285 res.Add(new LSL_Types.LSLInteger(0));
6286 res.Add(new LSL_Types.LSLInteger(0)); 6286 res.Add(new LSL_Types.LSLInteger(0));
@@ -6291,7 +6291,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6291 if (remain < 1) 6291 if (remain < 1)
6292 return res; 6292 return res;
6293 6293
6294 face=Convert.ToInt32(rules.Data[idx++].ToString()); 6294 face=(int)rules.GetLSLIntegerItem(idx++);
6295 6295
6296 res.Add(new LSL_Types.LSLInteger(0)); 6296 res.Add(new LSL_Types.LSLInteger(0));
6297 break; 6297 break;
@@ -6319,7 +6319,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6319 if (remain < 1) 6319 if (remain < 1)
6320 return res; 6320 return res;
6321 6321
6322 face=Convert.ToInt32(rules.Data[idx++].ToString()); 6322 face=(int)rules.GetLSLIntegerItem(idx++);
6323 6323
6324 res.Add(new LSL_Types.LSLInteger(0)); 6324 res.Add(new LSL_Types.LSLInteger(0));
6325 break; 6325 break;
@@ -6344,7 +6344,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6344 if (remain < 1) 6344 if (remain < 1)
6345 return res; 6345 return res;
6346 6346
6347 face=Convert.ToInt32(rules.Data[idx++].ToString()); 6347 face=(int)rules.GetLSLIntegerItem(idx++);
6348 6348
6349 res.Add(new LSL_Types.LSLFloat(0)); 6349 res.Add(new LSL_Types.LSLFloat(0));
6350 break; 6350 break;