Commit graph

1697 commits

Author SHA1 Message Date
Kelsi
2e504232ec feat: add item icons and full tooltips to inspect window gear list 2026-03-12 04:24:37 -07:00
Kelsi
10e9e94a73 feat: add interrupt pulse to nameplate cast bars for hostile casters 2026-03-12 04:21:33 -07:00
Kelsi
b8141262d2 feat: add low mana pulse and interrupt alert on cast bars
- Mana bar pulses dim blue when below 20% (matches health bar low-hp pulse)
- Target, focus, and boss cast bars pulse orange when cast is > 80% complete,
  signalling the closing interrupt window across all frame types
2026-03-12 04:18:39 -07:00
Kelsi
3014c79c1f feat: show item stack count on action bar slots
Consumable items (potions, food, etc.) on the action bar now show their
remaining stack count in the bottom-right corner of the icon. Shows red
when count is 1 (last one), white otherwise. Counts across all bag slots.
2026-03-12 04:12:07 -07:00
Kelsi
5adb5e0e9f feat: add health bar color transitions for player and pet frames
Some checks are pending
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run
Player health bar now transitions green→orange→pulsing red as HP drops
(>50%=green, 20-50%=orange, <20%=pulsing red). Pet frame gets the same
3-tier color scheme. Target and party frames already had color coding.
2026-03-12 04:06:46 -07:00
Kelsi
d14982d125 feat: add DPS/HPS meter showing real-time damage and healing output
Floating window right of the cast bar showing player's DPS and healing
per second, derived from combat text entries. Uses actual combat duration
as denominator for accurate readings at fight start. Toggle in Settings
> Network. Saves to settings.cfg.
2026-03-12 04:04:27 -07:00
Kelsi
797bb5d964 feat: add center-screen raid warning and boss emote overlay
RAID_WARNING messages show as flashing red/yellow large text.
RAID_BOSS_EMOTE and MONSTER_EMOTE show as amber text.
Each message fades in quickly, holds for 5 seconds, then fades out.
Up to 3 messages stack vertically below the target frame area.
Dark semi-transparent background box improves readability.
Messages are detected from new chat history entries each frame.
2026-03-12 03:52:54 -07:00
Kelsi
66ec35b106 feat: show decimal precision for short action bar cooldowns
Display "1.5" instead of "1s" for cooldowns under 5 seconds,
matching WoW's default cooldown text behaviour for GCDs and
short ability cooldowns where sub-second timing matters.
2026-03-12 03:48:12 -07:00
Kelsi
6068d0d68d feat: add HP% text and cast bars to nameplates
- Show health percentage centered on each nameplate health bar
- Show purple cast bar below health bar when a unit is actively casting
- Display spell name (from Spell.dbc cache) above cast bar
- Show time remaining (e.g. "1.4s") centered on cast bar fill
- All elements respect the existing nameplate alpha fade-out at distance
2026-03-12 03:44:32 -07:00
Kelsi
fa947eb9c7 Add quest objective tracker overlay on right side of screen
Shows tracked quests (or first 5 active quests if none tracked) below the
minimap with live kill/item objective counts and completion status.
2026-03-12 03:39:10 -07:00
Kelsi
63c8e82913 Move latency meter to top-center of screen
Relocate the ms indicator from below the minimap to a small centered
overlay at the top of the screen, with a semi-transparent background
for better readability during gameplay.
2026-03-12 03:31:09 -07:00
Kelsi
d70db7fa0b Reduce damage flash vignette opacity for subtler combat feedback
Peak alpha reduced from 180 to 100 (71% → 39%) so the red edge flash is
noticeable but less intrusive during combat.
2026-03-12 03:24:25 -07:00
Kelsi
6cf511aa7f Add damage flash toggle setting and fix map explored zone reveal
Persist damage_flash to settings.cfg; checkbox in Interface > Screen Effects.
Fix world map fog: trust server exploration mask unconditionally when present,
always reveal the current zone immediately regardless of server mask state.
2026-03-12 03:21:49 -07:00
Kelsi
40a98f2436 Fix talent tab crash and missing talent points at level 10
Unique child window and button IDs per tab prevent ImGui state corruption
when switching talent tabs. Parse SMSG_INSPECT_TALENT type=0 properly to
populate unspentTalentPoints_ and learnedTalents_ from the server response.
2026-03-12 03:15:56 -07:00
Kelsi
6ab9ba65f9 Store and display played time on character Stats tab
Save totalTimePlayed/levelTimePlayed from SMSG_PLAYED_TIME. Request a
fresh update whenever the character screen is opened. Show total and
level-played time in a two-column layout below the stats panel.
2026-03-12 03:09:52 -07:00
Kelsi
46eb66b77f Store and display achievement criteria progress from SMSG_CRITERIA_UPDATE
Track criteria progress (criteriaId → counter) from SMSG_CRITERIA_UPDATE
and SMSG_ALL_ACHIEVEMENT_DATA. Add a Criteria tab to the achievement window
showing live progress values alongside the existing Earned achievements tab.
2026-03-12 03:03:02 -07:00
Kelsi
920950dfbd Add threat list window showing live aggro data for current target
Store SMSG_THREAT_UPDATE/SMSG_HIGHEST_THREAT_UPDATE in a per-unit map
(sorted descending by threat) and clear on SMSG_THREAT_REMOVE/CLEAR.
Show a threat window (/threat or via target frame button) with a progress
bar per player and gold highlight for the tank, red if local player has aggro.
2026-03-12 02:59:09 -07:00
Kelsi
43de2be1f2 Add inspect window showing talent summary and gear for inspected players
Store inspect results (talent points, dual-spec state, gear entries) in a
new InspectResult struct instead of discarding them as chat messages.
Open the inspect window automatically from all Inspect menu items and /inspect.
2026-03-12 02:52:40 -07:00
Kelsi
92db25038c Parse SMSG_ARENA_TEAM_STATS and display in character screen PvP tab 2026-03-12 02:35:29 -07:00
Kelsi
2bdd024f19 Add GM Ticket window (/ticket, /gm commands and Esc menu button) 2026-03-12 02:31:12 -07:00
Kelsi
3964a33c55 Add /help slash command listing all available commands 2026-03-12 02:23:24 -07:00
Kelsi
adf8e6414e Show boot vote progress in LFG UI; fix unused screenH warning 2026-03-12 02:17:49 -07:00
Kelsi
f4754797bc Add Achievements list window (Y key toggle) with search filter 2026-03-12 02:09:35 -07:00
Kelsi
7a1f330655 Add minimap coordinate tooltip and play time warning display
Hovering over the minimap now shows a tooltip with the player's
WoW canonical coordinates (X=North, Y=West) and a hint about
Ctrl+click pinging.

SMSG_PLAY_TIME_WARNING is now parsed (type + minutes) and shown
as both a chat message and a UIError overlay rather than silently
dropped.
2026-03-12 01:57:03 -07:00
Kelsi
1bc3e6b677 Add Channels tab to social frame and reputation change toast
Social frame now has three tabs: Friends, Ignore, and Channels. The
Channels tab lists joined channels with right-click Leave and an input
to join new channels.

Also adds a slide-in reputation change toast in the lower-right corner:
shows faction name, delta (+/-), and current standing tier (Honored,
Revered, etc.) whenever SMSG_SET_FACTION_STANDING fires a rep change.
2026-03-12 01:51:18 -07:00
Kelsi
fb6630a7ae Add Ignore tab to social frame with view/unignore/add support
Social frame now has Friends and Ignore tabs. Friends tab shows online
players first, then offline with a separator, and supports right-click
Whisper/Invite/Remove. Ignore tab lists all ignored players from
ignoreCache with right-click Unignore and an inline add-ignore field.
2026-03-12 01:31:44 -07:00
Kelsi
06456faa63 Extend UIErrorsFrame to spell failures, interrupts, server shutdown warnings 2026-03-12 01:22:42 -07:00
Kelsi
25e2c60603 Add UIErrorsFrame: center-bottom spell error overlay with fade-out 2026-03-12 01:15:11 -07:00
Kelsi
955b22841e Wire SMSG_FORCE_ANIM animId to emoteAnimCallback 2026-03-12 01:04:16 -07:00
Kelsi
eb9ca8e227 Fix item cooldowns not showing on action bar item-type slots
SMSG_ITEM_COOLDOWN now resolves itemId via onlineItems_ and applies cooldown
to both SPELL-type and ITEM-type action bar slots. Classic SMSG_SPELL_COOLDOWN
also uses the embedded itemId field to update ITEM-type slots.
2026-03-12 00:59:25 -07:00
Kelsi
9e5f7c481e Wire achievement toast and ding effect callbacks
Level-up now calls triggerDing() (sound + emote + fade text) in addition to
the screen flash. Achievement earned now calls triggerAchievementToast() via
setAchievementEarnedCallback(), making the existing toast animation visible.
2026-03-12 00:56:31 -07:00
Kelsi
d8f2fedae1 Implement renderSocialFrame: compact friends panel with minimap toggle button
Shows online/AFK/DND/offline status dots, whisper/invite/remove context menus,
and inline add-friend field. Minimap gets a smiley-face button (top-left) with
a green dot badge when friends are online, toggling the panel.
2026-03-12 00:53:57 -07:00
Kelsi
c89dc50b6c Distinguish channeled spells in cast bar with blue color and draining animation
Adds castIsChannel flag set on MSG_CHANNEL_START, cleared on all cast resets.
Cast bar now drains right-to-left in blue for channels vs gold fill for casts.
2026-03-12 00:43:29 -07:00
Kelsi
c13e18cb55 Add Set Raid Mark submenu to target, party, and raid frame context menus
Implements setRaidMark() using the existing RaidTargetUpdatePacket and exposes
it via right-click on target frame, party member frames, and raid cell frames.
2026-03-12 00:39:56 -07:00
Kelsi
c0f19f5883 Add missing context menu items and nameplate right-click menus
- Focus frame: add Add Friend / Ignore items for player targets
- Guild roster: add Add Friend / Ignore items to member context menu
- Nameplates: right-click shows Target/Set Focus/Whisper/Invite/Friend/Ignore popup
2026-03-12 00:26:47 -07:00
Kelsi
d0f2916885 Add right-click context menus to bag bar slots and backpack 2026-03-12 00:21:25 -07:00
Kelsi
778363bfaf Add Add Friend/Ignore to party member context menu 2026-03-12 00:19:10 -07:00
Kelsi
e13993de9b Add 'Add to Action Bar' option to spellbook right-click context menu 2026-03-12 00:16:35 -07:00
Kelsi
928f00de41 Add Show Helm/Cloak checkboxes to Equipment tab; expose isHelmVisible/isCloakVisible 2026-03-12 00:13:48 -07:00
Kelsi
d072c852f3 Add AFK/DND toggles to player frame menu and right-click context to pet frame 2026-03-12 00:10:54 -07:00
Kelsi
5fdcb5df81 Wire up TOGGLE_QUEST_LOG keybinding (Q key) to open quest log screen 2026-03-12 00:05:55 -07:00
Kelsi
1cab2e1156 Add Abandon Quest option to quest tracker right-click menu 2026-03-12 00:04:11 -07:00
Kelsi
347e958703 Improve player frame context menu: name header, Leave Group when in group 2026-03-12 00:03:23 -07:00
Kelsi
c170216e1c Add Invite to Group to friends list right-click menu for online friends 2026-03-12 00:02:20 -07:00
Kelsi
00a66b7114 Add right-click context menu to action bar slots with Cast/Use and Clear Slot 2026-03-11 23:59:51 -07:00
Kelsi
9705904052 Add Follow option to target frame and party member context menus 2026-03-11 23:58:37 -07:00
Kelsi
7943edf252 Add Duel and Inspect to target, focus, and party member context menus 2026-03-11 23:56:57 -07:00
Kelsi
716c0c0e4c Add right-click context menu to quest log list entries 2026-03-11 23:54:19 -07:00
Kelsi
109b0a984a Add right-click context menu to focus frame
Shows Target, Clear Focus, and player-only actions (Whisper, Invite, Trade) when right-clicking the focus name.
2026-03-11 23:51:27 -07:00
Kelsi
d3221ff253 Add right-click context menu to target-of-target frame
Right-clicking the ToT name shows Target and Set Focus options; clicking the name still targets the unit.
2026-03-11 23:50:41 -07:00