aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 825379d..09377a1 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -1013,6 +1013,31 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1013 return; 1013 return;
1014 } 1014 }
1015 } 1015 }
1016
1017 public void SetGlow(SceneObjectPart part, int face, float glow)
1018 {
1019 LLObject.TextureEntry tex = part.Shape.Textures;
1020 if (face > -1)
1021 {
1022 tex.CreateFace((uint) face);
1023 tex.FaceTextures[face].Glow = glow;
1024 part.UpdateTexture(tex);
1025 return;
1026 }
1027 else if (face == -1)
1028 {
1029 for (uint i = 0; i < 32; i++)
1030 {
1031 if (tex.FaceTextures[i] != null)
1032 {
1033 tex.FaceTextures[i].Glow = glow;
1034 }
1035 tex.DefaultTexture.Glow = glow;
1036 }
1037 part.UpdateTexture(tex);
1038 return;
1039 }
1040 }
1016 1041
1017 public double llGetAlpha(int face) 1042 public double llGetAlpha(int face)
1018 { 1043 {
@@ -5404,6 +5429,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5404 SetPointLight(part, (light == 1), lightcolor, intensity, radius, falloff); 5429 SetPointLight(part, (light == 1), lightcolor, intensity, radius, falloff);
5405 5430
5406 break; 5431 break;
5432 case (int)ScriptBaseClass.PRIM_GLOW:
5433 if (remain < 2)
5434 return;
5435 face = Convert.ToInt32(rules.Data[idx++]);
5436 float glow = (float)Convert.ToDouble(rules.Data[idx++]);
5437
5438 SetGlow(part, face, glow);
5439
5440 break;
5407 } 5441 }
5408 } 5442 }
5409 } 5443 }