mantis 9205: fix text alpha for lsl

This commit is contained in:
UbitUmarov
2025-06-04 22:37:47 +01:00
parent 85a927da28
commit 74c64e199d
2 changed files with 9 additions and 3 deletions

View File

@@ -5308,10 +5308,16 @@ namespace OpenSim.Region.Framework.Scenes
public Color4 GetTextColor()
{
Color color = Color;
// note that Alpha is inverted for lludp
Color color = m_color;
return new Color4(color.R, color.G, color.B, (byte)(0xFF - color.A));
}
public float GetTextAlpha()
{
return m_color.A * 0.0039215686f;
}
public void ResetOwnerChangeFlag()
{
List<UUID> inv = Inventory.GetInventoryList();

View File

@@ -12070,7 +12070,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
res.Add(new LSL_Vector(textColor.R,
textColor.G,
textColor.B));
res.Add(new LSL_Float(textColor.A));
res.Add(new LSL_Float(part.GetTextAlpha()));
break;
case ScriptBaseClass.PRIM_NAME:
@@ -15415,7 +15415,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
ret.Add(new LSL_Vector(textColor.R, textColor.G, textColor.B));
break;
case ScriptBaseClass.OBJECT_TEXT_ALPHA:
ret.Add(new LSL_Float(obj.GetTextColor().A));
ret.Add(new LSL_Float(obj.GetTextAlpha()));
break;
default:
// Invalid or unhandled constant.