aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs70
1 files changed, 35 insertions, 35 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index b27aa07..24f19a0 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -1149,7 +1149,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1149 if (face > -1) 1149 if (face > -1)
1150 { 1150 {
1151 texcolor = tex.CreateFace((uint)face).RGBA; 1151 texcolor = tex.CreateFace((uint)face).RGBA;
1152 texcolor.A = (float)Math.Abs(alpha); 1152 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
1153 tex.FaceTextures[face].RGBA = texcolor; 1153 tex.FaceTextures[face].RGBA = texcolor;
1154 part.UpdateTexture(tex); 1154 part.UpdateTexture(tex);
1155 return; 1155 return;
@@ -1161,12 +1161,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1161 if (tex.FaceTextures[i] != null) 1161 if (tex.FaceTextures[i] != null)
1162 { 1162 {
1163 texcolor = tex.FaceTextures[i].RGBA; 1163 texcolor = tex.FaceTextures[i].RGBA;
1164 texcolor.A = (float)Math.Abs(alpha); 1164 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
1165 tex.FaceTextures[i].RGBA = texcolor; 1165 tex.FaceTextures[i].RGBA = texcolor;
1166 } 1166 }
1167 } 1167 }
1168 texcolor = tex.DefaultTexture.RGBA; 1168 texcolor = tex.DefaultTexture.RGBA;
1169 texcolor.A = (float)Math.Abs(alpha); 1169 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
1170 tex.DefaultTexture.RGBA = texcolor; 1170 tex.DefaultTexture.RGBA = texcolor;
1171 part.UpdateTexture(tex); 1171 part.UpdateTexture(tex);
1172 return; 1172 return;
@@ -2710,9 +2710,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2710 if (face > -1) 2710 if (face > -1)
2711 { 2711 {
2712 texcolor = tex.CreateFace((uint)face).RGBA; 2712 texcolor = tex.CreateFace((uint)face).RGBA;
2713 texcolor.R = (float)Math.Abs(color.x - 1); 2713 texcolor.R = (float)Math.Min(Math.Max(color.x, 0.0), 1.0);
2714 texcolor.G = (float)Math.Abs(color.y - 1); 2714 texcolor.G = (float)Math.Min(Math.Max(color.y, 0.0), 1.0);
2715 texcolor.B = (float)Math.Abs(color.z - 1); 2715 texcolor.B = (float)Math.Min(Math.Max(color.z, 0.0), 1.0);
2716 tex.FaceTextures[face].RGBA = texcolor; 2716 tex.FaceTextures[face].RGBA = texcolor;
2717 part.UpdateTexture(tex); 2717 part.UpdateTexture(tex);
2718 return; 2718 return;
@@ -2720,25 +2720,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2720 else if (face == -1) 2720 else if (face == -1)
2721 { 2721 {
2722 texcolor = tex.DefaultTexture.RGBA; 2722 texcolor = tex.DefaultTexture.RGBA;
2723 texcolor.R = (float)Math.Abs(color.x - 1); 2723 texcolor.R = (float)Math.Min(Math.Max(color.x, 0.0), 1.0);
2724 texcolor.G = (float)Math.Abs(color.y - 1); 2724 texcolor.G = (float)Math.Min(Math.Max(color.y, 0.0), 1.0);
2725 texcolor.B = (float)Math.Abs(color.z - 1); 2725 texcolor.B = (float)Math.Min(Math.Max(color.z, 0.0), 1.0);
2726 tex.DefaultTexture.RGBA = texcolor; 2726 tex.DefaultTexture.RGBA = texcolor;
2727 for (uint i = 0; i < 32; i++) 2727 for (uint i = 0; i < 32; i++)
2728 { 2728 {
2729 if (tex.FaceTextures[i] != null) 2729 if (tex.FaceTextures[i] != null)
2730 { 2730 {
2731 texcolor = tex.FaceTextures[i].RGBA; 2731 texcolor = tex.FaceTextures[i].RGBA;
2732 texcolor.R = (float)Math.Abs(color.x - 1); 2732 texcolor.R = (float)Math.Min(Math.Max(color.x, 0.0), 1.0);
2733 texcolor.G = (float)Math.Abs(color.y - 1); 2733 texcolor.G = (float)Math.Min(Math.Max(color.y, 0.0), 1.0);
2734 texcolor.B = (float)Math.Abs(color.z - 1); 2734 texcolor.B = (float)Math.Min(Math.Max(color.z, 0.0), 1.0);
2735 tex.FaceTextures[i].RGBA = texcolor; 2735 tex.FaceTextures[i].RGBA = texcolor;
2736 } 2736 }
2737 } 2737 }
2738 texcolor = tex.DefaultTexture.RGBA; 2738 texcolor = tex.DefaultTexture.RGBA;
2739 texcolor.R = (float)Math.Abs(color.x - 1); 2739 texcolor.R = (float)Math.Min(Math.Max(color.x, 0.0), 1.0);
2740 texcolor.G = (float)Math.Abs(color.y - 1); 2740 texcolor.G = (float)Math.Min(Math.Max(color.y, 0.0), 1.0);
2741 texcolor.B = (float)Math.Abs(color.z - 1); 2741 texcolor.B = (float)Math.Min(Math.Max(color.z, 0.0), 1.0);
2742 tex.DefaultTexture.RGBA = texcolor; 2742 tex.DefaultTexture.RGBA = texcolor;
2743 part.UpdateTexture(tex); 2743 part.UpdateTexture(tex);
2744 return; 2744 return;
@@ -2757,34 +2757,34 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2757 if (face > -1) 2757 if (face > -1)
2758 { 2758 {
2759 texcolor = tex.CreateFace((uint)face).RGBA; 2759 texcolor = tex.CreateFace((uint)face).RGBA;
2760 texcolor.R = (float)Math.Abs(color.x - 1); 2760 texcolor.R = (float)Math.Min(Math.Max(color.x, 0.0), 1.0);
2761 texcolor.G = (float)Math.Abs(color.y - 1); 2761 texcolor.G = (float)Math.Min(Math.Max(color.y, 0.0), 1.0);
2762 texcolor.B = (float)Math.Abs(color.z - 1); 2762 texcolor.B = (float)Math.Min(Math.Max(color.z, 0.0), 1.0);
2763 tex.FaceTextures[face].RGBA = texcolor; 2763 tex.FaceTextures[face].RGBA = texcolor;
2764 part.UpdateTexture(tex); 2764 part.UpdateTexture(tex);
2765 } 2765 }
2766 else if (face == -1) 2766 else if (face == -1)
2767 { 2767 {
2768 texcolor = tex.DefaultTexture.RGBA; 2768 texcolor = tex.DefaultTexture.RGBA;
2769 texcolor.R = (float)Math.Abs(color.x - 1); 2769 texcolor.R = (float)Math.Min(Math.Max(color.x, 0.0), 1.0);
2770 texcolor.G = (float)Math.Abs(color.y - 1); 2770 texcolor.G = (float)Math.Min(Math.Max(color.y, 0.0), 1.0);
2771 texcolor.B = (float)Math.Abs(color.z - 1); 2771 texcolor.B = (float)Math.Min(Math.Max(color.z, 0.0), 1.0);
2772 tex.DefaultTexture.RGBA = texcolor; 2772 tex.DefaultTexture.RGBA = texcolor;
2773 for (uint i = 0; i < 32; i++) 2773 for (uint i = 0; i < 32; i++)
2774 { 2774 {
2775 if (tex.FaceTextures[i] != null) 2775 if (tex.FaceTextures[i] != null)
2776 { 2776 {
2777 texcolor = tex.FaceTextures[i].RGBA; 2777 texcolor = tex.FaceTextures[i].RGBA;
2778 texcolor.R = (float)Math.Abs(color.x - 1); 2778 texcolor.R = (float)Math.Min(Math.Max(color.x, 0.0), 1.0);
2779 texcolor.G = (float)Math.Abs(color.y - 1); 2779 texcolor.G = (float)Math.Min(Math.Max(color.y, 0.0), 1.0);
2780 texcolor.B = (float)Math.Abs(color.z - 1); 2780 texcolor.B = (float)Math.Min(Math.Max(color.z, 0.0), 1.0);
2781 tex.FaceTextures[i].RGBA = texcolor; 2781 tex.FaceTextures[i].RGBA = texcolor;
2782 } 2782 }
2783 } 2783 }
2784 texcolor = tex.DefaultTexture.RGBA; 2784 texcolor = tex.DefaultTexture.RGBA;
2785 texcolor.R = (float)Math.Abs(color.x - 1); 2785 texcolor.R = (float)Math.Min(Math.Max(color.x, 0.0), 1.0);
2786 texcolor.G = (float)Math.Abs(color.y - 1); 2786 texcolor.G = (float)Math.Min(Math.Max(color.y, 0.0), 1.0);
2787 texcolor.B = (float)Math.Abs(color.z - 1); 2787 texcolor.B = (float)Math.Min(Math.Max(color.z, 0.0), 1.0);
2788 tex.DefaultTexture.RGBA = texcolor; 2788 tex.DefaultTexture.RGBA = texcolor;
2789 part.UpdateTexture(tex); 2789 part.UpdateTexture(tex);
2790 } 2790 }
@@ -5959,7 +5959,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5959 if (face > -1) 5959 if (face > -1)
5960 { 5960 {
5961 texcolor = tex.CreateFace((uint)face).RGBA; 5961 texcolor = tex.CreateFace((uint)face).RGBA;
5962 texcolor.A = (float)Math.Abs(alpha - 1); 5962 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
5963 tex.FaceTextures[face].RGBA = texcolor; 5963 tex.FaceTextures[face].RGBA = texcolor;
5964 part.UpdateTexture(tex); 5964 part.UpdateTexture(tex);
5965 return; 5965 return;
@@ -5967,19 +5967,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5967 else if (face == -1) 5967 else if (face == -1)
5968 { 5968 {
5969 texcolor = tex.DefaultTexture.RGBA; 5969 texcolor = tex.DefaultTexture.RGBA;
5970 texcolor.A = (float)Math.Abs(alpha - 1); 5970 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
5971 tex.DefaultTexture.RGBA = texcolor; 5971 tex.DefaultTexture.RGBA = texcolor;
5972 for (uint i = 0; i < 32; i++) 5972 for (uint i = 0; i < 32; i++)
5973 { 5973 {
5974 if (tex.FaceTextures[i] != null) 5974 if (tex.FaceTextures[i] != null)
5975 { 5975 {
5976 texcolor = tex.FaceTextures[i].RGBA; 5976 texcolor = tex.FaceTextures[i].RGBA;
5977 texcolor.A = (float)Math.Abs(alpha - 1); 5977 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
5978 tex.FaceTextures[i].RGBA = texcolor; 5978 tex.FaceTextures[i].RGBA = texcolor;
5979 } 5979 }
5980 } 5980 }
5981 texcolor = tex.DefaultTexture.RGBA; 5981 texcolor = tex.DefaultTexture.RGBA;
5982 texcolor.A = (float)Math.Abs(alpha - 1); 5982 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
5983 tex.DefaultTexture.RGBA = texcolor; 5983 tex.DefaultTexture.RGBA = texcolor;
5984 part.UpdateTexture(tex); 5984 part.UpdateTexture(tex);
5985 return; 5985 return;
@@ -5998,26 +5998,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5998 if (face > -1) 5998 if (face > -1)
5999 { 5999 {
6000 texcolor = tex.CreateFace((uint)face).RGBA; 6000 texcolor = tex.CreateFace((uint)face).RGBA;
6001 texcolor.A = (float)Math.Abs(alpha - 1); 6001 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
6002 tex.FaceTextures[face].RGBA = texcolor; 6002 tex.FaceTextures[face].RGBA = texcolor;
6003 part.UpdateTexture(tex); 6003 part.UpdateTexture(tex);
6004 } 6004 }
6005 else if (face == -1) 6005 else if (face == -1)
6006 { 6006 {
6007 texcolor = tex.DefaultTexture.RGBA; 6007 texcolor = tex.DefaultTexture.RGBA;
6008 texcolor.A = (float)Math.Abs(alpha - 1); 6008 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
6009 tex.DefaultTexture.RGBA = texcolor; 6009 tex.DefaultTexture.RGBA = texcolor;
6010 for (uint i = 0; i < 32; i++) 6010 for (uint i = 0; i < 32; i++)
6011 { 6011 {
6012 if (tex.FaceTextures[i] != null) 6012 if (tex.FaceTextures[i] != null)
6013 { 6013 {
6014 texcolor = tex.FaceTextures[i].RGBA; 6014 texcolor = tex.FaceTextures[i].RGBA;
6015 texcolor.A = (float)Math.Abs(alpha - 1); 6015 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
6016 tex.FaceTextures[i].RGBA = texcolor; 6016 tex.FaceTextures[i].RGBA = texcolor;
6017 } 6017 }
6018 } 6018 }
6019 texcolor = tex.DefaultTexture.RGBA; 6019 texcolor = tex.DefaultTexture.RGBA;
6020 texcolor.A = (float)Math.Abs(alpha - 1); 6020 texcolor.A = (float)Math.Min(Math.Max(alpha, 0.0), 1.0);
6021 tex.DefaultTexture.RGBA = texcolor; 6021 tex.DefaultTexture.RGBA = texcolor;
6022 part.UpdateTexture(tex); 6022 part.UpdateTexture(tex);
6023 } 6023 }