You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Launch notification: a one-time Windows toast announces
"LegoToypad is running" and how to open the picker when the app starts.
Single-instance guard: a named mutex prevents launching the app more
than once, so duplicate processes can never fight over the socket,
controller or toy pads.
Multi-resolution app icon:app.ico now ships real 16/24/32/48/256px
frames (generated with Pillow, single-frame fallback without it), so the
system tray, taskbar and title bar each get a native-size, crisp logo.
Vendor watermark:by_harrysof.png is drawn in the top-right of every
screen, vertically centered on the same band as the wordmark (20px inset).
Occupant name labels: selecting a filled pad shows its character/vehicle
name as muted translucent text next to the pad (sides for the upper/center
pads, below the pad row for the flush lower pads).
Changed
Font: text now renders with Compacta Regular, embedded as a WOFF2,
decompressed at build time into a GDI/GDI+ consumable OTF and registered
from memory (AddFontMemResourceEx + PrivateFontCollection) — no loose
font file needed next to the exe.
Scroll bars (Scroll_Bar.png) added to the franchise and roster grid
screens; hidden automatically when the content fits.
Pad highlight: the focused pad gets a pulsing red glow and border, and
the round center pad's highlight is circular to match its art.
Action-bar and panel art are now cached (RenderScaledAsset): scaled
images are composited once per size instead of rescaled with bicubic
filtering on every frame, cutting per-frame GDI+ work on the pad and
navigation screens.
Faster controller input: navigation moves on D-pad edge presses
(instant) instead of waiting for the hold-repeat timer; the poll interval
was cut to 8ms and timeBeginPeriod(1) stops Windows from rounding it
back up to ~15.6ms, so quick taps are far less likely to be swallowed.
Focus-free input: controller presses are no longer gated on the overlay
owning foreground focus (Cemu holds it), so whole button presses don't get
dropped anymore.
Persistent back-buffer & UI font are created once and reused across
frames instead of being rebuilt every paint, and the pad animation
repaints at a throttled ~30fps for a cheap idle path.
Fixed
Swallowed controller presses — "have to press it 4 times": fixed by the
focus-gate removal plus D-pad edge handling for quick taps.
Franchise focus highlight corner radius now matches the tiles (12px).
Hidden occupant names on the lower-left pad row are now drawn in an
unobstructed spot, below the pads, instead of behind the neighboring tile.