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