Recent Topics

Ads

[UI] VinyUI 7.0

Share, discuss, and get help with addons for Return of Reckoning.
For most available addons, visit Idrinth's Addons site.
Forum rules
Before posting in this forum, please read the Terms of Use and visit Idrinth's Addons site for most available addons.
User avatar
Devent
Posts: 5

Re: [UI] VinyUI

Post#1651 » Thu Jul 16, 2026 6:45 am

Hi ! Where i can active State of Realm ? Please help. Thank you

User avatar
rady
Posts: 203

Re: [UI] VinyUI

Post#1652 » Thu Jul 16, 2026 6:48 am

Devent wrote: Thu Jul 16, 2026 6:45 am Hi ! Where i can active State of Realm ? Please help. Thank you
delete RoR_SoR folder from profile
Ris - 86rr Black Orc
Risx - 85rr Squig Herder
Rish - 85rr Shaman
Risk - 81rr Choppa

Esolarsan
Posts: 1

Re: [UI] VinyUI

Post#1653 » Mon Jul 20, 2026 2:50 pm

Cant seem to get this UI to work followed all instructions but it doesnt seem to look at all like this UI newer player here.

Bradey
Posts: 3

Re: [UI] VinyUI

Post#1654 » Wed Aug 19, 2026 2:17 am

Are you planning to stay updating this UI like it very much

User avatar
Caffeine
Posts: 679

Re: [UI] VinyUI

Post#1655 » Wed Aug 19, 2026 8:33 pm

Bradey wrote: Wed Aug 19, 2026 2:17 am Are you planning to stay updating this UI like it very much
I do, a large update has been in the works for months, it will be published as soon as I have time to sit down and write the patch notes.
VinyUI | FPS Guide | Scenario Alert | Image Caffeine Image Decaf Image Vermont Image Nevada

User avatar
Caffeine
Posts: 679

Re: [UI] VinyUI

Post#1656 » Wed Aug 19, 2026 8:48 pm

Esolarsan wrote: Mon Jul 20, 2026 2:50 pm Cant seem to get this UI to work followed all instructions but it doesnt seem to look at all like this UI newer player here.
If you could share how far you've got and/or what errors you got along the way I could try and point you in the right direction.
VinyUI | FPS Guide | Scenario Alert | Image Caffeine Image Decaf Image Vermont Image Nevada

Bradey
Posts: 3

Re: [UI] VinyUI

Post#1657 » Wed Aug 19, 2026 9:25 pm

Caffeine wrote: Wed Aug 19, 2026 8:33 pm
Bradey wrote: Wed Aug 19, 2026 2:17 am Are you planning to stay updating this UI like it very much
I do, a large update has been in the works for months, it will be published as soon as I have time to sit down and write the patch notes.
Good to know only one so far where I actual performance on big scale RvR

BoBragason
Posts: 3

Re: [UI] VinyUI

Post#1658 » Sat Aug 22, 2026 5:57 pm

Caffeine wrote: Wed Aug 19, 2026 8:48 pm
Esolarsan wrote: Mon Jul 20, 2026 2:50 pm Cant seem to get this UI to work followed all instructions but it doesnt seem to look at all like this UI newer player here.
If you could share how far you've got and/or what errors you got along the way I could try and point you in the right direction.
Can u upload the latest version?

User avatar
Caffeine
Posts: 679

Re: [UI] VinyUI

Post#1659 » Sat Aug 22, 2026 6:08 pm

BoBragason wrote: Sat Aug 22, 2026 5:57 pm Can u upload the latest version?
Soon.
VinyUI | FPS Guide | Scenario Alert | Image Caffeine Image Decaf Image Vermont Image Nevada

User avatar
Caffeine
Posts: 679

Re: [UI] VinyUI

Post#1660 » Sat Aug 22, 2026 11:22 pm

Updated to 7.0

A quick foreword about this update:

This is the most effort I've ever put into optimising a piece of software, professionally or otherwise. Everything from innocent looking warboard modules to demanding combat log and effect parsers has been carefully combed over, measured and in many cases rewritten. I believe this update will make a big difference for people who play RvR often and feel limited by client performance in large fights.

Because of the scope of these changes I strongly advise against mixing and matching addons from this pack with older versions from Idrinth or other UI packs (including older versions of VinyUI). A lot of the code has been rewritten (occasionally from scratch) and several shared dependencies have been reworked to avoid doing the same work multiple times. Mixing versions may result in missing dependencies, degraded performance where it should be better, or things simply breaking.

The safest way to enjoy this update to it's full extent is to do a clean install, but for those who wish to try bits and pieces I've done my best to provide a way. As always, thank you to early testers for their time and feedback.


- Added Warboard_XP_Plus by yours truly.
Image
Warboard XP Plus is a WarBoard module that combines career experience and Live Event tracking in a single compact display. Live Event mode displays overall progress, reward thresholds and completed reward tiers. The addon will automatically switch from experience tracking to Live Events when your character reaches rank 40.

Right-click to switch between experience and any available Live Event. Hover over the module to see progress for all event objectives and subtasks. Left-click the module while tracking a Live Event to open its Tome entry. If LiveEventLedger is installed, middle-click will open the ledger. Your selection is remembered through relogs.

Context menu example:
Spoiler:
Image
If you wish to try out Warboard_XP_Plus without the rest of VinyUI, you can get the standalone here: viewtopic.php?t=61311#p601865

- Added Echo by yours truly.
Image

Echo is a lightweight, highly performant notification feed that displays important game events without adding more chat or UI clutter. Notifications include player kills and deaths, item and loot bag drops, new mail, keep door and lord status, fort stages, zone lock warnings and large experience, renown or influence gains.

Each notification category can be enabled separately. Kill notifications can be limited to your group, warband or scenario warparty, while progression thresholds can be adjusted to filter out smaller gains. Loot notifications support item icons and rarity colours, and repeated drops of the same item are combined into a single notification.

Run /echo to open the config window.

Addon developers are welcome to use Echo as a notification display for their own addons, the public API supports plain messages as well as colour, icon and location options (and more):

Code: Select all

Echo.Message(L"Hello world")

Echo.Message(L"The keep is under attack", {
color = Echo.Colors.DESTRUCTION,
icon = 12345,
location = L"Reikwald",
})
If you wish to try out Echo without the rest of VinyUI, you can get the standalone here: viewtopic.php?t=61313#p601873

- Added LibTextLog by yours truly.

LibTextLog is an addon that consolidates chat, combat, and alert text parsing into a single efficient library. It translates raw text feeds into structured events (like kills, loot, and RvR) and handles all native event registration centrally. This ensures that feeds are only hooked when actively needed, preventing redundant parsing overhead across multiple addons.

- Updated Enemy to 2.9.0
- Added a tooltip with top 3 KDR ratios when hovering over a zone or "Total" labels.
Image
- Fixed an inssue in Enemy where one warband member being in a different zone broke distance calculation for all teammates.
- Enemy effect duration timers now update without the need to recursively rescan all active effects every tick.
- Fixed an issue in Enemy where effect duration timers would not start with the correct duration.
- Merged Wholdars altspec sorting support into Enemy, with further performance optimizations by me.
- Added a window pool mechansm to Enemy to avoid expensive window destruction calls.
- Enemy GroupIcons module will now only refresh UI of specific players whose state changed. (inspired by Kpi's work)
- Enemy GroupIcons module will no longer do aggressive spatial polling when attatching to world objects.
- Enemy GroupIcons module will will now clear icons faster for distant teammates.
- LibTextLog is now a dependecy of Enemy.

- Updated ZonepopLite to 4.4
- Added a new tooltip mode that displays Keep ranks, supply progress and active rams.
Image
Old tooltip can be turned on with "/zpop tooltip on/off" command.
- Added a formula to adjust zone population numbers based on AAO multiplier (work by Wholdar).
- Added siege ram counts to the Keep data parser, exposing active ram icons in the zone overview.
- The UI overview window will now automatically hide when entering a scenario and restore its previous visibility state when the scenario ends.
- The overview refresh loop now recycles existing table structures instead of abandoning them to the garbage collector.

- Updated Buffhead to 2.2.6
- The Red-Black Tree implementation has been optimized to eliminate recursive function calls and table allocations on the hot path.
- RBTree now uses a node pool to recycle table structures during insert and remove operations instead of abandoning nodes to the garbage collector.
- RBTree GetValues has been replaced with InOrderTraversal in some places to avoid intermediate array construction when reading sorted data.
- Fixed an issue in BuffHead where advanced compression icon override sometimes failed to apply.
- BuffHead will now pool window templates and effect records to minimise memory allocations in the hot path and defer expensive UI destruction calls to loading screen.
- Buffhead OnGroupEffectsUpdated function will now distribute updates to containers more efficiently.
- Fixed an issue in BuffHead where clearing all effects failed also clear the anchors table.
- Added Leading the Charge to Self and Hostile Always Show trackers in BuffHead.
- Empowered Lores tactic icon override in BuffHead now uses a new icon.
- Buffhead settings import commands such as "/bh vinyui heal" will now use the latest settings as of 2026-04-16.
- LibTextLog is now a dependecy of Buffhead.

- Updated Pure to 2.3.0
- Pure EffectTracker has been rewritten to use Red-Black Tree data structure (borrowed from Buffhead) to maintain a sorted list of effects.
This completely removes the need for recursive deep copies, full array reconstructions and expensive sorting when effects update.
- MAXIMUM_EFFECT_UPDATES cap in Pure is now 24 (down from 48).

- Updated RVAPI_Entities to 0.75
- BATTLEGROUP_MEMBER_UPDATED events are now coalesced into a per-tick dirty set. This prevents the O(N^2) event storm that previously caused severe game stutter when multiple warband members died or respawned simultaneously.
- Hoisted expensive engine calls (like GetPartyData) and deferred Range API registrations into a single post-loop pass during warband rebuilds.
- Consolidated the per-frame event update loop into a single dispatch queue, replacing 12 separate boolean checks with a single fast-out block.
- Target name stripping is now memoized, avoiding unbounded string allocations in scenarios with high name churn.
- GetBuffs polling is now strictly gated to slot reassignments, relying on native OnEffectsUpdated events to maintain buff state efficiently.
- OnEntitiesUpdated now recycles a single broadcast table to dispatch events synchronously instead of allocating a new table per entity.

- Updated RVAPI_Range to 2.05
- Added lazy caching for SpellRangeMin and SpellRangeMax, replacing two full ability table scans per GCD with a dirty-flag deferred compute.
- Target switching immediately flushes the range cache so indicators remain responsive, while GCD-driven hotbar updates are deferred to a 200ms cadence.
- Fixed an issue where spell ranges would freeze if MapDistancesEnabled was false.
- Callback unregistration now compacts arrays in a single pass without leaking active event handler counts.

- Updated LibGroup to 1.0.6
- LibGroup distance scan will now correctly skip players in a different region instead of triggering a full rescan for every missing player.
- LibGroup now has a limited budget of scans per tick to lower worst case frame cost of a full scan.
- LibGroup now has a warband load grace window to avoid tight update bursts.
- LibGroup distance calculation loops now recycles existing table structures instead of allocating new tables every cycle.
- LibGroup will now cache player names instead of doing the same regex cleanup every time.
- LibGroup scenario data parsing no longer builds an intermediate table on every update.

- Updated Tether to 5.0
- Tether has been completely rewritten to use a finite state machine for efficient state transitions and line updates.
- Fixed an issue in Tether where target anchor would render on top of world map.
- Optimised line drawing code.

- Updated AggroMeter to 1.5
Image
- AggroMeter will now display boss health percentages to help with mechanics where two bosses must be kept within 10% of each other.
- AggroMeter will now correctly enable itself when fighting Thar'lgnan in Bastion Stairs.
- AggroMeter will now always show Heroes by default.
- AggroMeter player list once again uses checkered background for clarity (ported from an earlier version of the addon).

- Updated Deathblow2 to 2.1
Image
- WarBoard_TogglerDeathblow2 will now show session kills, deaths and score for current session.
- Deathblow2 Session stats can now be reset by right-clicking the warboard label.
- Deathblow2 will now do aggressive memory pooling to do as few allocations in UI refresh path as possible.
- Deathblow2 will now hoist heavy pattern matching definitions to avoid evaluating them on every combat log update.
- LibTextLog is now a dependecy of Deathblow2.

- Updated Shinies 1.9.13
Image
- Shinies now lets you cancel your own auction items directly from Browse, Auctions, and Post tabs.

- Updated ror_PacketHandling to 2.1
- ror_PacketHandling now has a slightly more efficient early return pattern for irrelevant packets.
- Simplified ror_PacketHandling prefix matching for better performace.

- Updated Moth to 1.4
- Moth data parsing has been rewritten to use a single shared context object.
- Moth UI refresh path now uses pre-computed window name caches to avoid string concatenations during layout building.
- Moth cell population now routes through an O(1) dispatch table instead of evaluating long if/elseif chains.
- Moth now recycles pre-allocated window templates instead of constructing new UI elements on every target change.
- Moth OnUpdate handler now checks for mouseover state loss on a 1-second cadence instead of evaluating every frame.
- Fixed an issue where an empty tooltip would appear on screen after reloading UI untill something was moused over.

- Updated WSCT to 1.39
- Fixed a typo that prevented dynamic FPS based throttling from working.
- Pre-calculated animation stepping values during initialization to remove division overhead from the per-frame hot path.
- Active animation lists now use an O(1) swap-remove pattern to avoid expensive array shifting when animations expire.
- Animation update loops have been optimized by hoisting configuration lookups and invariants out of per-frame inner loops.
- Reward string formatting now recycles a shared table to remove dynamic allocations on every XP, Renown, and Influence event.

- Updated Phantom to 2.322
- Fixed an issue in Phantom where checkbox for ea_targetwindow was inverted.
- Phantom will now unregister expensive event handlers in ea_targetwindow if the window is disabled.
- Phantom will now unregister expensive event handlers in ea_groupwindow if the window is disabled.

- Updated TexturedButtons to 1.3.10
- Added missing-window checks across many update paths to eliminate "Invalid Parameters" engine spam during UI reloads.
- Added settings caching and slot counts to avoid expensive global lookups during high-frequency PLAYER_HOT_BAR_UPDATED events.
- Added proper cleanup of background update events when the addon unloads.

- Updated json to 1.1
- Ported rxi's json.lua implementation to work with Lua 5.1 in Warhammer Online.
- Replaced per-call escape tables with shared maps.
- Reworked string decoding from recursive per-character concatenation to chunked iterative parsing.
- Reworked encoding to use one shared output buffer across nested values.
- Removed ipairs from array encode and avoided repeated #arr appends in array decode.
- Localized hot globals and string/table functions.

- Updated Amethyst to 1.1
- The per-frame update loop has been optimized with inlined arithmetic, pre-baked format strings, and local file scope variables.
- Timer labels will now only trigger UI redraws when the visible digit actually changes.
- Color cache updates now mutate tables in-place to avoid allocating new tables on the hot path.
- Recreate and Initialize functions now recycle existing cache structures instead of abandoning them to the garbage collector.
- Added a "/amethyst maxlength <number>" command to truncate long ability names.
- Fixed an issue in Amethyst where cast bar text would not have correct opacity during cast.
- Fixed an issue in Amethyst where texture dimensions weren't applied correctly at the end of a channeled cast.
- Amethyst cast bar background opacity is now 0.25 (up from 0.2)

- Updated Warboard to 0.5.3
- Fixed an issue in Warboard where disabling one or several modules would break positioning for remaining modules after reloading UI.
- Tooltip now supports up to 40 lines (up from 17 lines limit in core UI).
- Tooltip for modules is now anchored with a proper margin to the board.
- Added graceful settings migration on version bump instead of a hard reset.

- WarBoard_Clock update loop has been optimized by pre-caching format strings and eliminating expensive global lookups.
- WarBoard_Clock will now resync from the wall clock each tick and preserve fractional remainders to eliminate long-term drift.

- WarBoard_Friend now has a small margin between player and zone names.
- WarBoard_GuildF module tooltip will now show "Not in a Guild" label instead of an empty tooltip.
- WarBoard_XP module tooltip will now hide irrelevant tooltip lines once player reaches max rank.
- WarBoard_TogglerQQueuer will now open scenario log on middle click.

- Updated Cmap 5.0.8
- Map view updates now filter out redundant zone changes to avoid unnecessary engine calls when crossing RvR boundaries.
- OnAreaNameChange now caches GameData.Player and calls MapGetPlayerLocationMaps() only once.
- Fixed a copy-paste bug in RefreshMapPointFilterMenu where gutter-row count was incorrectly computed from the filter list instead of mapPinGutters.
- Config lookups in OnRvRFlagUpdated, UpdateCityRating, UpdateMailIcon, and the CMapUseSettings main loop have been hoisted to local variables.
- UpdateCoordinatesMap and UpdateCoordinatesWMap per-frame paths now cache SystemData.MousePosition once per tick and use localized engine API calls.
- Display-order builders now use direct index assignments instead of table.insert to reduce function call overhead.
- Zoom calculations now reuse a lazily cached constant instead of recomputing 1 / (MAX_ZOOM - MIN_ZOOM) on every zoom tick.

- Updatd ror_groupscoreboard to 3.0
- ror_groupscoreboard has been rewritten from scratch to minimize per-frame overhead while keeping the stock interface unchanged.
- Added a row caching system that mirrors the last visual state sent to the UI, completely bypassing writes for rows that haven't changed.
- UI redraws now use lazy per-row string caches to avoid string concatenations when referencing UI elements.
- Player lists and stat dictionaries now recycle existing table structures to eliminate memory allocations on frequent packet updates.
- Tooltip definitions have been hoisted into a static lookup table.

- Updated EA_UiDebugTools to 2.1
- Added a button to quickly save current debug window contents to a .log file.
- Added a simple shim for the Sound API that implements Sound.Play(id) using PlaySound(id) and silently ignores nil sound ids

- Updated RoR_ScenarioSurrenderWindow to 3.0
- The addon now lazily registers and unregisters its chat log hook based on scenario state, completely eliminating chat parsing overhead outside of scenarios.
- Chat message evaluation now uses a fast substring check to quickly discard irrelevant messages before invoking expensive pattern matching.
- The per-frame Update handler now immediately exits when a vote is not active, completely bypassing unnecessary state and API checks every tick.
- Hoisted heavily used engine APIs, color definitions, and choice tables into file-local variables to avoid expensive table lookups.
- Centralized UI frame management into modular helpers to clean up the initialization and destruction paths.

- Updated RoR_ScenarioExtendedStats to 3.0
- Stat parsing now recycles existing nested table structures by directly overwriting indices, eliminating dynamic table allocations on every payload update.
- Array compacting logic clears residual trailing elements in place, maintaining exact state parity without abandoning old tables to the garbage collector.
- Added a dirty-flag deferred update pattern so frequent SC_STATS packet updates don't trigger redundant parsing cycles.

- Updated HealAll to 1.1
- Fixed an issue where spamming right click on Healer NPC would sometimes print HealAll message twice.

- Fixed ea_scenariolobbywindow not showing queued career numbers.

- RoR_RankedLeaderboard will no longer register for packet updates or UI events. (Ranked has been sunset)

- Added FixButtonGetDisabledFlag
Silences "Invalid Parameters" noise in the engine by safely wrapping ButtonGetDisabledFlag for nil inputs without altering valid behavior.

- Added FixFrameManagerRemove
Hardens the stock FrameManager against /rel errors by safely pruning stale child names before walking parent chains.

- Added FixTargetInfoQueue
Prevents destructive target cache reads from clearing valid data when the engine queue is empty, preserving stock layout and feedback behavior.
VinyUI | FPS Guide | Scenario Alert | Image Caffeine Image Decaf Image Vermont Image Nevada

Who is online

Users browsing this forum: No registered users and 13 guests