Combo highlight config, tooltips, nameplates, hotbars fixes

- Combo highlight: configurable color, glow, line style (solid/dashed/dotted), thickness
- Tooltips: font selection, scaling slider, improved wrap/cramping handling
- Nameplates: custom quest icons with config, position smoothing fix for jitter
- Hotbars: hide keybinds on empty slots, combo highlight within icon bounds
- HudHelper: restore default nameplates on plugin disable

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-01-31 02:05:30 -05:00
parent 47018c75a2
commit 95c42af5b8
8 changed files with 218 additions and 40 deletions
+20
View File
@@ -224,6 +224,26 @@ namespace HSUI.Interface.Nameplates
NameplateAnchor? barAnchor = GetBarAnchor(data);
drawActions.AddRange(GetMainLabelDrawActions(data, barAnchor));
// Quest/state icon (e.g. ! ? above NPCs) - drawn when we have icon config and game provided icon ID
if (_config is NameplateWithNPCBarConfig npcConfig &&
npcConfig.IconConfig.Enabled &&
data.NamePlateIconId > 0)
{
float alpha = _config.RangeConfig.AlphaForDistance(data.Distance, 1f);
Vector2 anchorPos = barAnchor?.Position ?? (_config.Position + data.ScreenPosition);
Vector2 anchorSize = barAnchor?.Size ?? Vector2.Zero;
var pos = Utils.GetAnchoredPosition(anchorPos, -anchorSize, npcConfig.IconConfig.FrameAnchor);
Vector2 iconPos = Utils.GetAnchoredPosition(pos + npcConfig.IconConfig.Position, npcConfig.IconConfig.Size, npcConfig.IconConfig.Anchor);
drawActions.Add((npcConfig.IconConfig.StrataLevel, () =>
{
DrawHelper.DrawInWindow(_config.ID + "_npcIcon", iconPos, npcConfig.IconConfig.Size, false, (drawList) =>
{
DrawHelper.DrawIcon((uint)data.NamePlateIconId, iconPos, npcConfig.IconConfig.Size, false, alpha, drawList);
});
}));
}
return drawActions;
}