From cd29c6d50bd85fc812416611093d81ae3bede8de Mon Sep 17 00:00:00 2001 From: Kelsi Date: Fri, 27 Mar 2026 14:30:45 -0700 Subject: [PATCH] refactor: deduplicate class name functions in talent_screen and game_screen Replace local getClassName()/classNameStr() with shared game::getClassName() from character.hpp, removing 2 duplicate name-lookup implementations (static arrays + wrapper functions). --- src/ui/game_screen.cpp | 8 ++------ src/ui/talent_screen.cpp | 12 +----------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/src/ui/game_screen.cpp b/src/ui/game_screen.cpp index 15dd8253..39189156 100644 --- a/src/ui/game_screen.cpp +++ b/src/ui/game_screen.cpp @@ -125,13 +125,9 @@ namespace { return static_cast((bytes0 >> 8) & 0xFF); } - // Return the English class name for a class ID (1-11), or "Unknown". + // Alias for shared class name helper const char* classNameStr(uint8_t classId) { - static const char* kNames[] = { - "Unknown","Warrior","Paladin","Hunter","Rogue","Priest", - "Death Knight","Shaman","Mage","Warlock","","Druid" - }; - return (classId < 12) ? kNames[classId] : "Unknown"; + return wowee::game::getClassName(static_cast(classId)); } bool isPortBotTarget(const std::string& target) { diff --git a/src/ui/talent_screen.cpp b/src/ui/talent_screen.cpp index e60d4219..c884c194 100644 --- a/src/ui/talent_screen.cpp +++ b/src/ui/talent_screen.cpp @@ -13,16 +13,6 @@ namespace wowee { namespace ui { -// WoW class names indexed by class ID (1-11) -static const char* classNames[] = { - "Unknown", "Warrior", "Paladin", "Hunter", "Rogue", "Priest", - "Death Knight", "Shaman", "Mage", "Warlock", "Unknown", "Druid" -}; - -static const char* getClassName(uint8_t classId) { - return (classId >= 1 && classId <= 11) ? classNames[classId] : "Unknown"; -} - void TalentScreen::render(game::GameHandler& gameHandler) { // Talents toggle via keybinding (edge-triggered) // Customizable key (default: N) from KeybindingManager @@ -51,7 +41,7 @@ void TalentScreen::render(game::GameHandler& gameHandler) { uint8_t playerClass = gameHandler.getPlayerClass(); std::string title = "Talents"; if (playerClass > 0) { - title = std::string(getClassName(playerClass)) + " Talents"; + title = std::string(game::getClassName(static_cast(playerClass))) + " Talents"; } bool windowOpen = open;