diff options
4 files changed, 67 insertions, 65 deletions
diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs index f2c8b3d..18bd018 100644 --- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs | |||
@@ -355,7 +355,7 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
355 | // I'm pretty sure noone whats to set fullbright true if it wasn't true before. | 355 | // I'm pretty sure noone whats to set fullbright true if it wasn't true before. |
356 | // tmptex.DefaultTexture.Fullbright = true; | 356 | // tmptex.DefaultTexture.Fullbright = true; |
357 | 357 | ||
358 | part.UpdateTexture(tmptex); | 358 | part.UpdateTextureEntry(tmptex.GetBytes()); |
359 | } | 359 | } |
360 | 360 | ||
361 | if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0)) | 361 | if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0)) |
@@ -437,4 +437,4 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
437 | 437 | ||
438 | #endregion | 438 | #endregion |
439 | } | 439 | } |
440 | } \ No newline at end of file | 440 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index dcbcfa3..c8b39a4 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -3178,7 +3178,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
3178 | /// <param name="face"></param> | 3178 | /// <param name="face"></param> |
3179 | public void SetFaceColor(Vector3 color, int face) | 3179 | public void SetFaceColor(Vector3 color, int face) |
3180 | { | 3180 | { |
3181 | Primitive.TextureEntry tex = Shape.Textures; | 3181 | // The only way to get a deep copy/ If we don't do this, we can |
3182 | // mever detect color changes further down. | ||
3183 | Byte[] buf = Shape.Textures.GetBytes(); | ||
3184 | Primitive.TextureEntry tex = new Primitive.TextureEntry(buf, 0, buf.Length); | ||
3182 | Color4 texcolor; | 3185 | Color4 texcolor; |
3183 | if (face >= 0 && face < GetNumberOfSides()) | 3186 | if (face >= 0 && face < GetNumberOfSides()) |
3184 | { | 3187 | { |
@@ -3187,8 +3190,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3187 | texcolor.G = Util.Clip((float)color.Y, 0.0f, 1.0f); | 3190 | texcolor.G = Util.Clip((float)color.Y, 0.0f, 1.0f); |
3188 | texcolor.B = Util.Clip((float)color.Z, 0.0f, 1.0f); | 3191 | texcolor.B = Util.Clip((float)color.Z, 0.0f, 1.0f); |
3189 | tex.FaceTextures[face].RGBA = texcolor; | 3192 | tex.FaceTextures[face].RGBA = texcolor; |
3190 | UpdateTexture(tex); | 3193 | UpdateTextureEntry(tex.GetBytes()); |
3191 | TriggerScriptChangedEvent(Changed.COLOR); | ||
3192 | return; | 3194 | return; |
3193 | } | 3195 | } |
3194 | else if (face == ALL_SIDES) | 3196 | else if (face == ALL_SIDES) |
@@ -3209,8 +3211,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3209 | texcolor.B = Util.Clip((float)color.Z, 0.0f, 1.0f); | 3211 | texcolor.B = Util.Clip((float)color.Z, 0.0f, 1.0f); |
3210 | tex.DefaultTexture.RGBA = texcolor; | 3212 | tex.DefaultTexture.RGBA = texcolor; |
3211 | } | 3213 | } |
3212 | UpdateTexture(tex); | 3214 | UpdateTextureEntry(tex.GetBytes()); |
3213 | TriggerScriptChangedEvent(Changed.COLOR); | ||
3214 | return; | 3215 | return; |
3215 | } | 3216 | } |
3216 | } | 3217 | } |
@@ -4538,48 +4539,49 @@ namespace OpenSim.Region.Framework.Scenes | |||
4538 | } | 4539 | } |
4539 | 4540 | ||
4540 | /// <summary> | 4541 | /// <summary> |
4541 | /// Update the textures on the part. | ||
4542 | /// </summary> | ||
4543 | /// <remarks> | ||
4544 | /// Added to handle bug in libsecondlife's TextureEntry.ToBytes() | ||
4545 | /// not handling RGBA properly. Cycles through, and "fixes" the color | ||
4546 | /// info | ||
4547 | /// </remarks> | ||
4548 | /// <param name="tex"></param> | ||
4549 | public void UpdateTexture(Primitive.TextureEntry tex) | ||
4550 | { | ||
4551 | //Color4 tmpcolor; | ||
4552 | //for (uint i = 0; i < 32; i++) | ||
4553 | //{ | ||
4554 | // if (tex.FaceTextures[i] != null) | ||
4555 | // { | ||
4556 | // tmpcolor = tex.GetFace((uint) i).RGBA; | ||
4557 | // tmpcolor.A = tmpcolor.A*255; | ||
4558 | // tmpcolor.R = tmpcolor.R*255; | ||
4559 | // tmpcolor.G = tmpcolor.G*255; | ||
4560 | // tmpcolor.B = tmpcolor.B*255; | ||
4561 | // tex.FaceTextures[i].RGBA = tmpcolor; | ||
4562 | // } | ||
4563 | //} | ||
4564 | //tmpcolor = tex.DefaultTexture.RGBA; | ||
4565 | //tmpcolor.A = tmpcolor.A*255; | ||
4566 | //tmpcolor.R = tmpcolor.R*255; | ||
4567 | //tmpcolor.G = tmpcolor.G*255; | ||
4568 | //tmpcolor.B = tmpcolor.B*255; | ||
4569 | //tex.DefaultTexture.RGBA = tmpcolor; | ||
4570 | UpdateTextureEntry(tex.GetBytes()); | ||
4571 | } | ||
4572 | |||
4573 | /// <summary> | ||
4574 | /// Update the texture entry for this part. | 4542 | /// Update the texture entry for this part. |
4575 | /// </summary> | 4543 | /// </summary> |
4576 | /// <param name="textureEntry"></param> | 4544 | /// <param name="textureEntry"></param> |
4577 | public void UpdateTextureEntry(byte[] textureEntry) | 4545 | public void UpdateTextureEntry(byte[] textureEntry) |
4578 | { | 4546 | { |
4579 | m_shape.TextureEntry = textureEntry; | 4547 | Primitive.TextureEntry newTex = new Primitive.TextureEntry(textureEntry, 0, textureEntry.Length); |
4580 | TriggerScriptChangedEvent(Changed.TEXTURE); | 4548 | Primitive.TextureEntry oldTex = Shape.Textures; |
4549 | |||
4550 | Changed changeFlags = 0; | ||
4581 | 4551 | ||
4552 | for (int i = 0 ; i < GetNumberOfSides(); i++) | ||
4553 | { | ||
4554 | Primitive.TextureEntryFace newFace = newTex.DefaultTexture; | ||
4555 | Primitive.TextureEntryFace oldFace = oldTex.DefaultTexture; | ||
4556 | |||
4557 | if (oldTex.FaceTextures[i] != null) | ||
4558 | oldFace = oldTex.FaceTextures[i]; | ||
4559 | if (newTex.FaceTextures[i] != null) | ||
4560 | newFace = newTex.FaceTextures[i]; | ||
4561 | |||
4562 | Color4 oldRGBA = oldFace.RGBA; | ||
4563 | Color4 newRGBA = newFace.RGBA; | ||
4564 | |||
4565 | if (oldRGBA.R != newRGBA.R || | ||
4566 | oldRGBA.G != newRGBA.G || | ||
4567 | oldRGBA.B != newRGBA.B || | ||
4568 | oldRGBA.A != newRGBA.A) | ||
4569 | changeFlags |= Changed.COLOR; | ||
4570 | |||
4571 | if (oldFace.TextureID != newFace.TextureID) | ||
4572 | changeFlags |= Changed.TEXTURE; | ||
4573 | |||
4574 | // Max change, skip the rest of testing | ||
4575 | if (changeFlags == (Changed.TEXTURE | Changed.COLOR)) | ||
4576 | break; | ||
4577 | } | ||
4578 | |||
4579 | m_shape.TextureEntry = textureEntry; | ||
4580 | if (changeFlags != 0) | ||
4581 | TriggerScriptChangedEvent(changeFlags); | ||
4582 | UpdateFlag = UpdateRequired.FULL; | ||
4582 | ParentGroup.HasGroupChanged = true; | 4583 | ParentGroup.HasGroupChanged = true; |
4584 | |||
4583 | //This is madness.. | 4585 | //This is madness.. |
4584 | //ParentGroup.ScheduleGroupForFullUpdate(); | 4586 | //ParentGroup.ScheduleGroupForFullUpdate(); |
4585 | //This is sparta | 4587 | //This is sparta |
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObjectMaterial.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObjectMaterial.cs index 0cba6af..cea738c 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObjectMaterial.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObjectMaterial.cs | |||
@@ -55,7 +55,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule | |||
55 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); | 55 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); |
56 | texface.RGBA = new Color4(value.R,value.G,value.B,value.A); | 56 | texface.RGBA = new Color4(value.R,value.G,value.B,value.A); |
57 | tex.FaceTextures[m_face] = texface; | 57 | tex.FaceTextures[m_face] = texface; |
58 | m_parent.UpdateTexture(tex); | 58 | m_parent.UpdateTextureEntry(tex.GetBytes()); |
59 | } | 59 | } |
60 | } | 60 | } |
61 | 61 | ||
@@ -72,7 +72,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule | |||
72 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); | 72 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); |
73 | texface.TextureID = value; | 73 | texface.TextureID = value; |
74 | tex.FaceTextures[m_face] = texface; | 74 | tex.FaceTextures[m_face] = texface; |
75 | m_parent.UpdateTexture(tex); | 75 | m_parent.UpdateTextureEntry(tex.GetBytes()); |
76 | } | 76 | } |
77 | } | 77 | } |
78 | 78 | ||
@@ -97,7 +97,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule | |||
97 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); | 97 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); |
98 | texface.Fullbright = value; | 98 | texface.Fullbright = value; |
99 | tex.FaceTextures[m_face] = texface; | 99 | tex.FaceTextures[m_face] = texface; |
100 | m_parent.UpdateTexture(tex); | 100 | m_parent.UpdateTextureEntry(tex.GetBytes()); |
101 | } | 101 | } |
102 | } | 102 | } |
103 | 103 | ||
@@ -110,7 +110,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule | |||
110 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); | 110 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); |
111 | texface.Glow = (float) value; | 111 | texface.Glow = (float) value; |
112 | tex.FaceTextures[m_face] = texface; | 112 | tex.FaceTextures[m_face] = texface; |
113 | m_parent.UpdateTexture(tex); | 113 | m_parent.UpdateTextureEntry(tex.GetBytes()); |
114 | } | 114 | } |
115 | } | 115 | } |
116 | 116 | ||
@@ -123,7 +123,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule | |||
123 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); | 123 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face); |
124 | texface.Shiny = value ? Shininess.High : Shininess.None; | 124 | texface.Shiny = value ? Shininess.High : Shininess.None; |
125 | tex.FaceTextures[m_face] = texface; | 125 | tex.FaceTextures[m_face] = texface; |
126 | m_parent.UpdateTexture(tex); | 126 | m_parent.UpdateTextureEntry(tex.GetBytes()); |
127 | } | 127 | } |
128 | } | 128 | } |
129 | 129 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6c418df..6d067b0 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1424,7 +1424,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1424 | { | 1424 | { |
1425 | tex.CreateFace((uint) face); | 1425 | tex.CreateFace((uint) face); |
1426 | tex.FaceTextures[face].TexMapType = textype; | 1426 | tex.FaceTextures[face].TexMapType = textype; |
1427 | part.UpdateTexture(tex); | 1427 | part.UpdateTextureEntry(tex.GetBytes()); |
1428 | return; | 1428 | return; |
1429 | } | 1429 | } |
1430 | else if (face == ScriptBaseClass.ALL_SIDES) | 1430 | else if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1437,7 +1437,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1437 | } | 1437 | } |
1438 | tex.DefaultTexture.TexMapType = textype; | 1438 | tex.DefaultTexture.TexMapType = textype; |
1439 | } | 1439 | } |
1440 | part.UpdateTexture(tex); | 1440 | part.UpdateTextureEntry(tex.GetBytes()); |
1441 | return; | 1441 | return; |
1442 | } | 1442 | } |
1443 | } | 1443 | } |
@@ -1449,7 +1449,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1449 | { | 1449 | { |
1450 | tex.CreateFace((uint) face); | 1450 | tex.CreateFace((uint) face); |
1451 | tex.FaceTextures[face].Glow = glow; | 1451 | tex.FaceTextures[face].Glow = glow; |
1452 | part.UpdateTexture(tex); | 1452 | part.UpdateTextureEntry(tex.GetBytes()); |
1453 | return; | 1453 | return; |
1454 | } | 1454 | } |
1455 | else if (face == ScriptBaseClass.ALL_SIDES) | 1455 | else if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1462,7 +1462,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1462 | } | 1462 | } |
1463 | tex.DefaultTexture.Glow = glow; | 1463 | tex.DefaultTexture.Glow = glow; |
1464 | } | 1464 | } |
1465 | part.UpdateTexture(tex); | 1465 | part.UpdateTextureEntry(tex.GetBytes()); |
1466 | return; | 1466 | return; |
1467 | } | 1467 | } |
1468 | } | 1468 | } |
@@ -1497,7 +1497,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1497 | tex.CreateFace((uint) face); | 1497 | tex.CreateFace((uint) face); |
1498 | tex.FaceTextures[face].Shiny = sval; | 1498 | tex.FaceTextures[face].Shiny = sval; |
1499 | tex.FaceTextures[face].Bump = bump; | 1499 | tex.FaceTextures[face].Bump = bump; |
1500 | part.UpdateTexture(tex); | 1500 | part.UpdateTextureEntry(tex.GetBytes()); |
1501 | return; | 1501 | return; |
1502 | } | 1502 | } |
1503 | else if (face == ScriptBaseClass.ALL_SIDES) | 1503 | else if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1512,7 +1512,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1512 | tex.DefaultTexture.Shiny = sval; | 1512 | tex.DefaultTexture.Shiny = sval; |
1513 | tex.DefaultTexture.Bump = bump; | 1513 | tex.DefaultTexture.Bump = bump; |
1514 | } | 1514 | } |
1515 | part.UpdateTexture(tex); | 1515 | part.UpdateTextureEntry(tex.GetBytes()); |
1516 | return; | 1516 | return; |
1517 | } | 1517 | } |
1518 | } | 1518 | } |
@@ -1524,7 +1524,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1524 | { | 1524 | { |
1525 | tex.CreateFace((uint) face); | 1525 | tex.CreateFace((uint) face); |
1526 | tex.FaceTextures[face].Fullbright = bright; | 1526 | tex.FaceTextures[face].Fullbright = bright; |
1527 | part.UpdateTexture(tex); | 1527 | part.UpdateTextureEntry(tex.GetBytes()); |
1528 | return; | 1528 | return; |
1529 | } | 1529 | } |
1530 | else if (face == ScriptBaseClass.ALL_SIDES) | 1530 | else if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1537,7 +1537,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1537 | } | 1537 | } |
1538 | } | 1538 | } |
1539 | tex.DefaultTexture.Fullbright = bright; | 1539 | tex.DefaultTexture.Fullbright = bright; |
1540 | part.UpdateTexture(tex); | 1540 | part.UpdateTextureEntry(tex.GetBytes()); |
1541 | return; | 1541 | return; |
1542 | } | 1542 | } |
1543 | } | 1543 | } |
@@ -1593,7 +1593,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1593 | texcolor = tex.CreateFace((uint)face).RGBA; | 1593 | texcolor = tex.CreateFace((uint)face).RGBA; |
1594 | texcolor.A = Util.Clip((float)alpha, 0.0f, 1.0f); | 1594 | texcolor.A = Util.Clip((float)alpha, 0.0f, 1.0f); |
1595 | tex.FaceTextures[face].RGBA = texcolor; | 1595 | tex.FaceTextures[face].RGBA = texcolor; |
1596 | part.UpdateTexture(tex); | 1596 | part.UpdateTextureEntry(tex.GetBytes()); |
1597 | return; | 1597 | return; |
1598 | } | 1598 | } |
1599 | else if (face == ScriptBaseClass.ALL_SIDES) | 1599 | else if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1617,7 +1617,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1617 | tex.DefaultTexture.RGBA = texcolor; | 1617 | tex.DefaultTexture.RGBA = texcolor; |
1618 | } | 1618 | } |
1619 | 1619 | ||
1620 | part.UpdateTexture(tex); | 1620 | part.UpdateTextureEntry(tex.GetBytes()); |
1621 | return; | 1621 | return; |
1622 | } | 1622 | } |
1623 | } | 1623 | } |
@@ -1774,7 +1774,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1774 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)face); | 1774 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)face); |
1775 | texface.TextureID = textureID; | 1775 | texface.TextureID = textureID; |
1776 | tex.FaceTextures[face] = texface; | 1776 | tex.FaceTextures[face] = texface; |
1777 | part.UpdateTexture(tex); | 1777 | part.UpdateTextureEntry(tex.GetBytes()); |
1778 | return; | 1778 | return; |
1779 | } | 1779 | } |
1780 | else if (face == ScriptBaseClass.ALL_SIDES) | 1780 | else if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1787,7 +1787,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1787 | } | 1787 | } |
1788 | } | 1788 | } |
1789 | tex.DefaultTexture.TextureID = textureID; | 1789 | tex.DefaultTexture.TextureID = textureID; |
1790 | part.UpdateTexture(tex); | 1790 | part.UpdateTextureEntry(tex.GetBytes()); |
1791 | return; | 1791 | return; |
1792 | } | 1792 | } |
1793 | } | 1793 | } |
@@ -1809,7 +1809,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1809 | texface.RepeatU = (float)u; | 1809 | texface.RepeatU = (float)u; |
1810 | texface.RepeatV = (float)v; | 1810 | texface.RepeatV = (float)v; |
1811 | tex.FaceTextures[face] = texface; | 1811 | tex.FaceTextures[face] = texface; |
1812 | part.UpdateTexture(tex); | 1812 | part.UpdateTextureEntry(tex.GetBytes()); |
1813 | return; | 1813 | return; |
1814 | } | 1814 | } |
1815 | if (face == ScriptBaseClass.ALL_SIDES) | 1815 | if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1824,7 +1824,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1824 | } | 1824 | } |
1825 | tex.DefaultTexture.RepeatU = (float)u; | 1825 | tex.DefaultTexture.RepeatU = (float)u; |
1826 | tex.DefaultTexture.RepeatV = (float)v; | 1826 | tex.DefaultTexture.RepeatV = (float)v; |
1827 | part.UpdateTexture(tex); | 1827 | part.UpdateTextureEntry(tex.GetBytes()); |
1828 | return; | 1828 | return; |
1829 | } | 1829 | } |
1830 | } | 1830 | } |
@@ -1845,7 +1845,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1845 | texface.OffsetU = (float)u; | 1845 | texface.OffsetU = (float)u; |
1846 | texface.OffsetV = (float)v; | 1846 | texface.OffsetV = (float)v; |
1847 | tex.FaceTextures[face] = texface; | 1847 | tex.FaceTextures[face] = texface; |
1848 | part.UpdateTexture(tex); | 1848 | part.UpdateTextureEntry(tex.GetBytes()); |
1849 | return; | 1849 | return; |
1850 | } | 1850 | } |
1851 | if (face == ScriptBaseClass.ALL_SIDES) | 1851 | if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1860,7 +1860,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1860 | } | 1860 | } |
1861 | tex.DefaultTexture.OffsetU = (float)u; | 1861 | tex.DefaultTexture.OffsetU = (float)u; |
1862 | tex.DefaultTexture.OffsetV = (float)v; | 1862 | tex.DefaultTexture.OffsetV = (float)v; |
1863 | part.UpdateTexture(tex); | 1863 | part.UpdateTextureEntry(tex.GetBytes()); |
1864 | return; | 1864 | return; |
1865 | } | 1865 | } |
1866 | } | 1866 | } |
@@ -1880,7 +1880,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1880 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)face); | 1880 | Primitive.TextureEntryFace texface = tex.CreateFace((uint)face); |
1881 | texface.Rotation = (float)rotation; | 1881 | texface.Rotation = (float)rotation; |
1882 | tex.FaceTextures[face] = texface; | 1882 | tex.FaceTextures[face] = texface; |
1883 | part.UpdateTexture(tex); | 1883 | part.UpdateTextureEntry(tex.GetBytes()); |
1884 | return; | 1884 | return; |
1885 | } | 1885 | } |
1886 | if (face == ScriptBaseClass.ALL_SIDES) | 1886 | if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1893,7 +1893,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1893 | } | 1893 | } |
1894 | } | 1894 | } |
1895 | tex.DefaultTexture.Rotation = (float)rotation; | 1895 | tex.DefaultTexture.Rotation = (float)rotation; |
1896 | part.UpdateTexture(tex); | 1896 | part.UpdateTextureEntry(tex.GetBytes()); |
1897 | return; | 1897 | return; |
1898 | } | 1898 | } |
1899 | } | 1899 | } |