Releases: 538Michael/UIInfoSuite2
Releases · 538Michael/UIInfoSuite2
Release list
v2.5.1
What's Changed
Code cleanup
- Add
DrawAtNextIconPositionfunction toUIElementUtils— replaces duplicated icon positioning pattern across 7 files - Add
DrawHoverTextOnCursorfunction toUIElementUtils— replaces duplicated hover text pattern across 8 files - Add
DefaultIconScaleconstant toUIElementUtils— replaces magic number8/3facross 3 files - Add
DrawTextWithShadowfunction toUIElementUtils— replaces duplicated shadow text drawing inShopHarvestPrices,LocationOfTownsfolk, andShowItemHoverInformation - Add
CreateNPCHeadIconfunction inShowItemHoverInformation— replaces duplicated NPC head icon creation for Gunther and Professor Snail
Full Changelog: v2.5.0...v2.5.1
v2.5.0
What's Changed
- Comprehensive performance optimization pass across the entire mod, targeting per-frame heap allocations, LINQ overhead, redundant computations, and unnecessary object creation in hot render/tick paths.
Highlights
- Eliminated LINQ usage (
.Where(),.Any(),.Select(),.Count(),.OrderBy(),.SequenceEqual()) from all render and tick paths, replacing withforeachloops and direct property checks - Cached
MeasureStringresults for NPC names, price text, bundle banner widths, and level-up text to avoid repeated per-frame font measurements - Reused
ClickableTextureComponentinstances across frames instead of allocating new ones every frame for weather icons, Robin status, seasonal berry, Queen of Sauce, traveling merchant, and birthday icons - Implemented dirty flag pattern for birthday icons to avoid recreating UI components every frame
- Cached formatted strings (
ToString(),I18ncalls, daily luck text) to avoid per-frame string allocations - Replaced per-animal string allocations in render loops with direct comparisons
- Pre-computed static day sets for game state query evaluation
- Reused
StringBuilder,List, andDictionarycollections across frames viaClear()instead of allocating new ones - Cached
TitleSafeAreaviewport lookups in local variables - Fixed
MeasureStringwidth calculation using.Xinstead of.Length()(vector magnitude)
Full Changelog: v2.4.0...v2.5.0
v2.4.0
What's New
Professor Snail Icon for Island Field Office Donations
- Items needed for Professor Snail's Island Field Office now show an icon on hover tooltips, similar to the existing museum and community center icons
- Supports all fossil/bone items (IDs 820-828), including items that fill multiple slots
Mastery Experience Bar
- Added mastery experience bar for players at farming level 25+