Improve UI layout, spell casting, and realm selection screen

- Fix action bar, bag bar, chat window to track window resize (Always pos)
- Show spell names in cast bar instead of spell IDs
- Play precast/cast-complete sounds via SpellSoundManager
- Fix hearthstone to use CMSG_CAST_SPELL directly (avoids slot sync issues)
- Show map name instead of coordinates in hearthstone tooltip
- Show cooldown time remaining in action bar tooltips
- Search equipped slots and bags for action bar item icons
- Redesign realm screen: back button, larger table/buttons, auto-select
  realm with characters, double-click to enter, proportional columns
This commit is contained in:
Kelsi 2026-02-17 03:50:36 -08:00
parent b8f1f15eb4
commit 99723abfac
6 changed files with 261 additions and 103 deletions

View file

@ -30,12 +30,15 @@ public:
onRealmSelected = callback;
}
void setOnBack(std::function<void()> cb) { onBack = std::move(cb); }
/**
* Reset selection state (e.g., when switching servers)
*/
void reset() {
selectedRealmIndex = -1;
realmSelected = false;
autoSelectAttempted = false;
selectedRealmName.clear();
selectedRealmAddress.clear();
statusMessage.clear();
@ -56,6 +59,7 @@ private:
// UI state
int selectedRealmIndex = -1;
bool realmSelected = false;
bool autoSelectAttempted = false;
std::string selectedRealmName;
std::string selectedRealmAddress;
@ -64,6 +68,7 @@ private:
// Callbacks
std::function<void(const std::string&, const std::string&)> onRealmSelected;
std::function<void()> onBack;
/**
* Update status message