diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 410921a..a1d2446 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1088,7 +1088,32 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1088 | return; | 1088 | return; |
1089 | } | 1089 | } |
1090 | } | 1090 | } |
1091 | 1091 | ||
1092 | public void SetFullBright(SceneObjectPart part, int face, bool bright) | ||
1093 | { | ||
1094 | LLObject.TextureEntry tex = part.Shape.Textures; | ||
1095 | if (face > -1) | ||
1096 | { | ||
1097 | tex.CreateFace((uint) face); | ||
1098 | tex.FaceTextures[face].Fullbright = bright; | ||
1099 | part.UpdateTexture(tex); | ||
1100 | return; | ||
1101 | } | ||
1102 | else if (face == -1) | ||
1103 | { | ||
1104 | for (uint i = 0; i < 32; i++) | ||
1105 | { | ||
1106 | if (tex.FaceTextures[i] != null) | ||
1107 | { | ||
1108 | tex.FaceTextures[i].Fullbright = bright; | ||
1109 | } | ||
1110 | } | ||
1111 | tex.DefaultTexture.Fullbright = bright; | ||
1112 | part.UpdateTexture(tex); | ||
1113 | return; | ||
1114 | } | ||
1115 | } | ||
1116 | |||
1092 | public double llGetAlpha(int face) | 1117 | public double llGetAlpha(int face) |
1093 | { | 1118 | { |
1094 | m_host.AddScriptLPS(1); | 1119 | m_host.AddScriptLPS(1); |
@@ -5498,7 +5523,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5498 | SetShiny(part, face, shiny, bump); | 5523 | SetShiny(part, face, shiny, bump); |
5499 | 5524 | ||
5500 | break; | 5525 | break; |
5501 | } | 5526 | case (int)ScriptBaseClass.PRIM_FULLBRIGHT: |
5527 | if (remain < 2) | ||
5528 | return; | ||
5529 | face = Convert.ToInt32(rules.Data[idx++]); | ||
5530 | string bv = rules.Data[idx++].ToString(); | ||
5531 | bool st; | ||
5532 | if(bv.Equals("1")) | ||
5533 | st = true; | ||
5534 | else | ||
5535 | st = false; | ||
5536 | |||
5537 | SetFullBright(part, face , st); | ||
5538 | break; | ||
5539 | } | ||
5502 | } | 5540 | } |
5503 | } | 5541 | } |
5504 | 5542 | ||