fix: talent screen hang (uint8_t overflow) and camera pitch limit

- Change maxRow/maxCol from uint8_t to int in renderTalentTree to prevent
  infinite loop: uint8_t col <= 255 never exits since col wraps 255→0.
  Add sanity cap of 15 rows/cols to guard against corrupt DBC data.
- Fix dangling reference warning in getFormattedTitle (lambda reference)
- Raise MAX_PITCH from 35° to 88° to match WoW standard upward look range
This commit is contained in:
Kelsi 2026-03-12 20:52:58 -07:00
parent f5d23a3a12
commit 5684b16721
3 changed files with 15 additions and 14 deletions

View file

@ -20752,11 +20752,9 @@ std::string GameHandler::getFormattedTitle(uint32_t bit) const {
auto it = titleNameCache_.find(bit);
if (it == titleNameCache_.end() || it->second.empty()) return {};
const std::string& pName = [&]() -> const std::string& {
auto nameIt = playerNameCache.find(playerGuid);
static const std::string kUnknown = "unknown";
return (nameIt != playerNameCache.end()) ? nameIt->second : kUnknown;
}();
static const std::string kUnknown = "unknown";
auto nameIt = playerNameCache.find(playerGuid);
const std::string& pName = (nameIt != playerNameCache.end()) ? nameIt->second : kUnknown;
const std::string& fmt = it->second;
size_t pos = fmt.find("%s");