Fix HellionStyle palette byte order (RRGGBBAA, not AARRGGBB)

ChatTwo's ColourUtil.RgbaToAbgr expects the input to be 0xRRGGBBAA
(see Settings.cs Ko-fi buttons, e.g. 0xFF5E5BFF for Ko-fi pink),
not 0xAARRGGBB. The previous palette was bit-shifted by one byte,
which is why the supposedly cyan-teal accents rendered as
half-transparent magenta in-game.
This commit is contained in:
2026-05-01 21:04:54 +02:00
parent c285dcb0a0
commit 83b9cc62c7
+16 -14
View File
@@ -13,20 +13,22 @@ namespace ChatTwo.Ui;
internal static class HellionStyle internal static class HellionStyle
{ {
// Palette — kept central so a future theme switch only edits one file. // Palette — kept central so a future theme switch only edits one file.
private const uint AccentRgba = 0xFF00B8D4; // cyan-teal accent // Encoded as 0xRRGGBBAA, matching the convention ChatTwo uses elsewhere
private const uint AccentHoverRgba = 0xFF26C6DA; // (see Settings.cs Ko-fi buttons). RgbaToAbgr handles the byte swap.
private const uint AccentActiveRgba = 0xFF00838F; private const uint AccentRgba = 0x00B8D4FF; // cyan-teal accent
private const uint FrameBgRgba = 0xFF102027; // deep slate private const uint AccentHoverRgba = 0x26C6DAFF;
private const uint FrameBgHoverRgba = 0xFF1B2C36; private const uint AccentActiveRgba = 0x00838FFF;
private const uint FrameBgActiveRgba = 0xFF263A45; private const uint FrameBgRgba = 0x102027FF; // deep slate
private const uint BorderRgba = 0xFF37474F; // steel border private const uint FrameBgHoverRgba = 0x1B2C36FF;
private const uint HeaderRgba = 0xFF1B2C36; private const uint FrameBgActiveRgba = 0x263A45FF;
private const uint HeaderHoverRgba = 0xFF263A45; private const uint BorderRgba = 0x37474FFF; // steel border
private const uint HeaderActiveRgba = 0xFF324A57; private const uint HeaderRgba = 0x1B2C36FF;
private const uint TitleBgActiveRgba = 0xFF00838F; private const uint HeaderHoverRgba = 0x263A45FF;
private const uint CheckMarkRgba = 0xFF00B8D4; private const uint HeaderActiveRgba = 0x324A57FF;
private const uint SliderGrabRgba = 0xFF00B8D4; private const uint TitleBgActiveRgba = 0x00838FFF;
private const uint SliderGrabActiveRgba = 0xFF26C6DA; private const uint CheckMarkRgba = 0x00B8D4FF;
private const uint SliderGrabRgba = 0x00B8D4FF;
private const uint SliderGrabActiveRgba = 0x26C6DAFF;
/// <summary> /// <summary>
/// Push the Hellion color stack. Returns a disposable bundle that pops /// Push the Hellion color stack. Returns a disposable bundle that pops