diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 70 |
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 | } |