aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authoridb2009-04-02 10:24:12 +0000
committeridb2009-04-02 10:24:12 +0000
commitb45ac2bf8e55fc183d87edba3213662b6ccad7db (patch)
tree1247076a101f8135307291ff212cf6a2a81181bf
parentpartial support for sculpted prim "inside out" setting (diff)
downloadopensim-SC-b45ac2bf8e55fc183d87edba3213662b6ccad7db.zip
opensim-SC-b45ac2bf8e55fc183d87edba3213662b6ccad7db.tar.gz
opensim-SC-b45ac2bf8e55fc183d87edba3213662b6ccad7db.tar.bz2
opensim-SC-b45ac2bf8e55fc183d87edba3213662b6ccad7db.tar.xz
Correct llSetPrimitiveParams to check for a texture in inventory when setting the sculpt map.
This Fixes Mantis #3331 Also corrected the capping calculation in llApplyImpulse and several integer "boolean" comparisons from "== 1" to "!= 0" for true
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs34
1 files changed, 17 insertions, 17 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index b01a4aa..edaa3e9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -1057,7 +1057,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1057 1057
1058 if ((status & ScriptBaseClass.STATUS_PHYSICS) == ScriptBaseClass.STATUS_PHYSICS) 1058 if ((status & ScriptBaseClass.STATUS_PHYSICS) == ScriptBaseClass.STATUS_PHYSICS)
1059 { 1059 {
1060 if (value == 1) 1060 if (value != 0)
1061 { 1061 {
1062 SceneObjectGroup group = m_host.ParentGroup; 1062 SceneObjectGroup group = m_host.ParentGroup;
1063 if (group == null) 1063 if (group == null)
@@ -1082,7 +1082,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1082 1082
1083 if ((status & ScriptBaseClass.STATUS_PHANTOM) == ScriptBaseClass.STATUS_PHANTOM) 1083 if ((status & ScriptBaseClass.STATUS_PHANTOM) == ScriptBaseClass.STATUS_PHANTOM)
1084 { 1084 {
1085 if (value == 1) 1085 if (value != 0)
1086 m_host.ScriptSetPhantomStatus(true); 1086 m_host.ScriptSetPhantomStatus(true);
1087 else 1087 else
1088 m_host.ScriptSetPhantomStatus(false); 1088 m_host.ScriptSetPhantomStatus(false);
@@ -1115,7 +1115,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1115 1115
1116 if ((status & ScriptBaseClass.STATUS_DIE_AT_EDGE) == ScriptBaseClass.STATUS_DIE_AT_EDGE) 1116 if ((status & ScriptBaseClass.STATUS_DIE_AT_EDGE) == ScriptBaseClass.STATUS_DIE_AT_EDGE)
1117 { 1117 {
1118 if (value == 1) 1118 if (value != 0)
1119 m_host.SetDieAtEdge(true); 1119 m_host.SetDieAtEdge(true);
1120 else 1120 else
1121 m_host.SetDieAtEdge(false); 1121 m_host.SetDieAtEdge(false);
@@ -1972,15 +1972,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1972 { 1972 {
1973 m_host.AddScriptLPS(1); 1973 m_host.AddScriptLPS(1);
1974 //No energy force yet 1974 //No energy force yet
1975 1975 Vector3 v = new Vector3((float)force.x, (float)force.y, (float)force.z);
1976 if (force.x > 20000) 1976 if (v.Length() > 20000.0f)
1977 force.x = 20000; 1977 {
1978 if (force.y > 20000) 1978 v.Normalize();
1979 force.y = 20000; 1979 v = v * 20000.0f;
1980 if (force.z > 20000) 1980 }
1981 force.z = 20000; 1981 m_host.ApplyImpulse(v, local != 0);
1982
1983 m_host.ApplyImpulse(new Vector3((float)force.x, (float)force.y, (float)force.z), local != 0);
1984 } 1982 }
1985 1983
1986 public void llApplyRotationalImpulse(LSL_Vector force, int local) 1984 public void llApplyRotationalImpulse(LSL_Vector force, int local)
@@ -2814,7 +2812,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2814 if (m_host.PhysActor != null) 2812 if (m_host.PhysActor != null)
2815 { 2813 {
2816 PIDHoverType hoverType = PIDHoverType.Ground; 2814 PIDHoverType hoverType = PIDHoverType.Ground;
2817 if (water == 1) 2815 if (water != 0)
2818 { 2816 {
2819 hoverType = PIDHoverType.GroundAndWater; 2817 hoverType = PIDHoverType.GroundAndWater;
2820 } 2818 }
@@ -6425,10 +6423,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6425 6423
6426 if (!UUID.TryParse(map, out sculptId)) 6424 if (!UUID.TryParse(map, out sculptId))
6427 { 6425 {
6428 llSay(0, "Could not parse key " + map); 6426 sculptId = InventoryKey(map, (int)AssetType.Texture);
6429 return;
6430 } 6427 }
6431 6428
6429 if (sculptId == UUID.Zero)
6430 return;
6431
6432 shapeBlock.ObjectLocalID = part.LocalId; 6432 shapeBlock.ObjectLocalID = part.LocalId;
6433 shapeBlock.PathScaleX = 100; 6433 shapeBlock.PathScaleX = 100;
6434 shapeBlock.PathScaleY = 150; 6434 shapeBlock.PathScaleY = 150;
@@ -8860,7 +8860,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
8860 8860
8861 else 8861 else
8862 { 8862 {
8863 if (sim_wide == 1) 8863 if (sim_wide != 0)
8864 { 8864 {
8865 if (category == 0) 8865 if (category == 0)
8866 { 8866 {
@@ -8955,7 +8955,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
8955 return 0; 8955 return 0;
8956 } 8956 }
8957 8957
8958 if (sim_wide == 1) 8958 if (sim_wide != 0)
8959 { 8959 {
8960 decimal v = land.SimwideArea * (decimal)(0.22) * (decimal)bonusfactor; 8960 decimal v = land.SimwideArea * (decimal)(0.22) * (decimal)bonusfactor;
8961 8961