Kelsidavis-WoWee/src/ui
Kelsi e7556605d7 Implement complete talent system with dual spec support
Network Protocol:
- Add SMSG_TALENTS_INFO (0x4C0) packet parsing for talent data
- Add CMSG_LEARN_TALENT (0x251) to request learning talents
- Add MSG_TALENT_WIPE_CONFIRM (0x2AB) opcode for spec switching
- Parse talent spec, unspent points, and learned talent ranks

DBC Parsing:
- Load Talent.dbc: talent grid positions, ranks, prerequisites, spell IDs
- Load TalentTab.dbc: talent tree definitions with correct field indices
- Fix localized string field handling (17 fields per string)
- Load Spell.dbc and SpellIcon.dbc for talent icons and tooltips
- Class mask filtering using bitwise operations (1 << (class - 1))

UI Implementation:
- Complete talent tree UI with tabbed interface for specs
- Display talent icons from spell data with proper tinting/borders
- Enhanced tooltips: spell name, rank, current/next descriptions, prereqs
- Visual states: green (maxed), yellow (partial), white (available), gray (locked)
- Tier unlock system (5 points per tier requirement)
- Rank overlay on icons with shadow text
- Click to learn talents with validation

Dual Spec Support:
- Store unspent points and learned talents per spec (0 and 1)
- Track active spec and display its talents
- Spec switching UI with buttons for Spec 1/Spec 2
- Handle both SMSG_TALENTS_INFO packets from server at login
- Display unspent points for both specs in header
- Independent talent trees for each specialization
2026-02-10 02:00:13 -08:00
..
auth_screen.cpp Improve login screen UI with simplified text and compatibility mode 2026-02-07 12:23:03 -08:00
character_create_screen.cpp Add body type selection for nonbinary characters and reduce preview rotation sensitivity 2026-02-09 17:56:04 -08:00
character_screen.cpp Auto-select newly created character in selection screen 2026-02-09 22:51:13 -08:00
game_screen.cpp Fix trainer system and add critical spell/quest opcodes 2026-02-10 01:24:37 -08:00
inventory_screen.cpp Add idle yawn emote and hearth home tooltip 2026-02-08 03:39:02 -08:00
quest_log_screen.cpp Add player name placeholder and improve dialog text substitution 2026-02-09 17:46:45 -08:00
realm_screen.cpp Fix terrain streaming loop and auto-select single realm/character 2026-02-06 14:56:26 -08:00
spellbook_screen.cpp Simplify spellbook tabs to class specialties + General 2026-02-06 21:27:34 -08:00
talent_screen.cpp Implement complete talent system with dual spec support 2026-02-10 02:00:13 -08:00
ui_manager.cpp Upgrade to C++20 and fix all compilation warnings 2026-02-07 11:43:37 -08:00