the shadow pass only darkened the base color, so any segment with an
explicit color code (the watermark's accent from {global}, the slider
value's section-7 gray) punched through at full brightness, drawing a
colored ghost one pixel off the text. shadow rasters now pass the
original color plus a shadow flag, and every segment is darkened at
flush time with the vanilla rule ((c & 0xFCFCFC) >> 2, alpha kept), so
accent text gets a dark accent shadow and gray gets a dark gray one
while dragging in the hud editor each axis first attracts to the closest
edge or center of any other enabled hud element within 4 gui units, and
otherwise rounds onto a 4px grid so layouts stay tidy. positions are
re-clamped to the screen after snapping and the snap is computed from the
raw pointer position each frame so there is no feedback jitter while
dragging past an alignment
button labels, panel titles and the color picker's copy/paste text used
y offsets hand-tuned for vanilla's 9px line box, so the custom font's
14px line box rendered text ~4px too low, poking out below 15px buttons
and over the header accent line. FrosFont now measures the distance from
line top to the middle of the cap band (glyph 'A' visual bounds) and all
labels center on that via FrosFont.visualCenter()/Item.textY(). the
vanilla fallback lands on the exact old offsets, so nothing moves when
fonts are disabled, and the legacy getTextOffset() hack is gone
HUD text, clickgui buttons, panel titles and the hud editor labels all
go through FrosFont's default draw now, which renders a drop shadow
only while the custom font is loaded. disabling fonts (MinecraftFont
toggle, or a missing font file falling back) renders everything flat,
matching the vanilla look, in both the hud and the clickgui
new 0.5x-2.0x slider in the ClickGui settings scales the clickgui, the
hud editor panel and every hud module about its own anchor. mouse
coordinates are divided back into layout units on entry so dragging,
sliders and hover checks keep working, hud hit boxes and drag clamping
use the scaled extents, and the font rasterizer follows the ui scale so
text stays one texel per screen pixel at any scale factor
glyphs were rasterized at gui-space size and then magnified by the
gui scale with nearest-neighbour sampling, making every custom font
blocky. rasters are now built at font-size * gui-scale (one texel per
screen pixel) and drawn through a 1/scale pose, so text is 1:1 and
antialiased at any gui scale. measurements convert back to gui units
and a gui scale change re-rasterizes everything
resolves to a native generic sans on every os (Arial/Helvetica on
windows/mac, DejaVu/Liberation on linux); other installed system font
families can also be picked by name without dropping a file, files in
fros/fonts/ still take priority
- solid panel body instead of see-through gray, 1px dark frame around
each panel and a drop shadow behind it
- accent color line separating header from body
- text shadows on all gui text (panel titles, buttons, hud editor labels)
- new FrosFont renderer: loads ttf/otf from fros/fonts/, rasterizes
text to cached textures, falls back to the vanilla font when unset
- Font/FontSize settings in ClickGui (fontSize only shows when a font
is set); missing files retry automatically every 2s
- all gui buttons, panels and hud modules now render through it
- handles section codes and styled components (watermark accent color)
names are anchored to name widths only so dynamic info (killaura
target) can no longer move the whole list; info now sits directly on
the opposite side of its name
- fullbright no longer crashes during config load (mc.options is null
while the game is still starting, which aborted loading every module
registered after fullbright - including killaura's keybind)
- one broken module no longer aborts loading the rest
- fix "is a directory" IOException on every startup (commandmanager
had no file name, so it resolved to the config folder itself)
- arraylist: alignment/sort options, module info shown on the opposite
side of the row, hides hud/disabled modules behind settings
- killaura: show target name as module info