mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-04 20:23:51 +00:00
refactor: replace 23 more inline color literals across 3 UI files
game_screen: kWhite(3), kSilver(4) inventory_screen: kWarmGold(8), kFriendlyGreen(2), kSocketGreen(4), kActiveGreen(2) talent_screen: kHealthGreen(1), kWhite(3), kRed(1)
This commit is contained in:
parent
c38fa6d9ec
commit
762daebc75
3 changed files with 27 additions and 27 deletions
|
|
@ -1303,7 +1303,7 @@ void GameScreen::renderChatWindow(game::GameHandler& gameHandler) {
|
|||
// Helper: parse WoW color code |cAARRGGBB → ImVec4
|
||||
auto parseWowColor = [](const std::string& text, size_t pos) -> ImVec4 {
|
||||
// |cAARRGGBB (10 chars total: |c + 8 hex)
|
||||
if (pos + 10 > text.size()) return ImVec4(1, 1, 1, 1);
|
||||
if (pos + 10 > text.size()) return colors::kWhite;
|
||||
auto hexByte = [&](size_t offset) -> float {
|
||||
const char* s = text.c_str() + pos + offset;
|
||||
char buf[3] = {s[0], s[1], '\0'};
|
||||
|
|
@ -4878,7 +4878,7 @@ void GameScreen::renderTargetFrame(game::GameHandler& gameHandler) {
|
|||
ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoScrollbar)) {
|
||||
std::string totName = getEntityName(totEntity);
|
||||
// Class color for players; gray for NPCs
|
||||
ImVec4 totNameColor = ImVec4(0.8f, 0.8f, 0.8f, 1.0f);
|
||||
ImVec4 totNameColor = colors::kSilver;
|
||||
if (totEntity->getType() == game::ObjectType::PLAYER) {
|
||||
uint8_t cid = entityClassId(totEntity.get());
|
||||
if (cid != 0) totNameColor = classColorVec4(cid);
|
||||
|
|
@ -10111,7 +10111,7 @@ void GameScreen::renderBagBar(game::GameHandler& gameHandler) {
|
|||
ImVec2(slotSize, slotSize),
|
||||
ImVec2(0, 0), ImVec2(1, 1),
|
||||
ImVec4(0.1f, 0.1f, 0.1f, 0.9f),
|
||||
ImVec4(1, 1, 1, 1))) {
|
||||
colors::kWhite)) {
|
||||
if (inventoryScreen.isSeparateBags())
|
||||
inventoryScreen.toggleBackpack();
|
||||
else
|
||||
|
|
@ -14725,7 +14725,7 @@ void GameScreen::renderGuildRoster(game::GameHandler& gameHandler) {
|
|||
|
||||
// Guild description / info text
|
||||
if (!roster.guildInfo.empty()) {
|
||||
ImGui::TextColored(ImVec4(0.8f, 0.8f, 0.8f, 1.0f), "Description:");
|
||||
ImGui::TextColored(colors::kSilver, "Description:");
|
||||
ImGui::TextWrapped("%s", roster.guildInfo.c_str());
|
||||
}
|
||||
ImGui::Spacing();
|
||||
|
|
@ -23689,7 +23689,7 @@ void GameScreen::renderDungeonFinderWindow(game::GameHandler& gameHandler) {
|
|||
if (avgSec >= 0) {
|
||||
int aMin = avgSec / 60;
|
||||
int aSec = avgSec % 60;
|
||||
ImGui::TextColored(ImVec4(0.8f, 0.8f, 0.8f, 1.0f),
|
||||
ImGui::TextColored(colors::kSilver,
|
||||
"Avg wait: %d:%02d", aMin, aSec);
|
||||
}
|
||||
break;
|
||||
|
|
@ -24393,7 +24393,7 @@ void GameScreen::renderCombatLog(game::GameHandler& gameHandler) {
|
|||
snprintf(desc, sizeof(desc), "%s is immune to %s", tgt, spell);
|
||||
else
|
||||
snprintf(desc, sizeof(desc), "%s is immune", tgt);
|
||||
color = ImVec4(0.8f, 0.8f, 0.8f, 1.0f);
|
||||
color = colors::kSilver;
|
||||
break;
|
||||
case T::ABSORB:
|
||||
if (spell && e.amount > 0)
|
||||
|
|
@ -25327,7 +25327,7 @@ void GameScreen::renderInspectWindow(game::GameHandler& gameHandler) {
|
|||
if (iconTex) {
|
||||
ImGui::Image((ImTextureID)(uintptr_t)iconTex, ImVec2(kIconSz, kIconSz),
|
||||
ImVec2(0,0), ImVec2(1,1),
|
||||
ImVec4(1,1,1,1), qColor);
|
||||
colors::kWhite, qColor);
|
||||
} else {
|
||||
ImGui::GetWindowDrawList()->AddRectFilled(
|
||||
ImGui::GetCursorScreenPos(),
|
||||
|
|
|
|||
|
|
@ -928,7 +928,7 @@ void InventoryScreen::renderAggregateBags(game::Inventory& inventory, uint64_t m
|
|||
uint64_t gold = moneyCopper / 10000;
|
||||
uint64_t silver = (moneyCopper / 100) % 100;
|
||||
uint64_t copper = moneyCopper % 100;
|
||||
ImGui::TextColored(ImVec4(1.0f, 0.84f, 0.0f, 1.0f), "%llug %llus %lluc",
|
||||
ImGui::TextColored(ui::colors::kWarmGold, "%llug %llus %lluc",
|
||||
static_cast<unsigned long long>(gold),
|
||||
static_cast<unsigned long long>(silver),
|
||||
static_cast<unsigned long long>(copper));
|
||||
|
|
@ -1146,7 +1146,7 @@ void InventoryScreen::renderBagWindow(const char* title, bool& isOpen,
|
|||
uint64_t gold = moneyCopper / 10000;
|
||||
uint64_t silver = (moneyCopper / 100) % 100;
|
||||
uint64_t copper = moneyCopper % 100;
|
||||
ImGui::TextColored(ImVec4(1.0f, 0.84f, 0.0f, 1.0f), "%llug %llus %lluc",
|
||||
ImGui::TextColored(ui::colors::kWarmGold, "%llug %llus %lluc",
|
||||
static_cast<unsigned long long>(gold),
|
||||
static_cast<unsigned long long>(silver),
|
||||
static_cast<unsigned long long>(copper));
|
||||
|
|
@ -1351,7 +1351,7 @@ void InventoryScreen::renderCharacterScreen(game::GameHandler& gameHandler) {
|
|||
ImGui::SameLine(180.0f);
|
||||
ImGui::SetNextItemWidth(-1.0f);
|
||||
// Bar color: gold when maxed, green otherwise
|
||||
ImVec4 barColor = isMaxed ? ui::colors::kTooltipGold : ImVec4(0.2f, 0.7f, 0.2f, 1.0f);
|
||||
ImVec4 barColor = isMaxed ? ui::colors::kTooltipGold : ui::colors::kFriendlyGreen;
|
||||
ImGui::PushStyleColor(ImGuiCol_PlotHistogram, barColor);
|
||||
ImGui::ProgressBar(ratio, ImVec2(0, 14.0f), overlay);
|
||||
ImGui::PopStyleColor();
|
||||
|
|
@ -1400,7 +1400,7 @@ void InventoryScreen::renderCharacterScreen(game::GameHandler& gameHandler) {
|
|||
}
|
||||
|
||||
ImGui::PushID(static_cast<int>(id));
|
||||
ImGui::TextColored(ImVec4(1.0f, 0.84f, 0.0f, 1.0f), "[Achievement]");
|
||||
ImGui::TextColored(ui::colors::kWarmGold, "[Achievement]");
|
||||
ImGui::SameLine();
|
||||
ImGui::Text("%s", displayName);
|
||||
ImGui::PopID();
|
||||
|
|
@ -1527,10 +1527,10 @@ void InventoryScreen::renderReputationPanel(game::GameHandler& gameHandler) {
|
|||
{ "Hostile", -6000, -3001, ImVec4(0.8f, 0.2f, 0.1f, 1.0f) },
|
||||
{ "Unfriendly", -3000, -1, ImVec4(0.9f, 0.5f, 0.1f, 1.0f) },
|
||||
{ "Neutral", 0, 2999, ImVec4(0.8f, 0.8f, 0.2f, 1.0f) },
|
||||
{ "Friendly", 3000, 8999, ImVec4(0.2f, 0.7f, 0.2f, 1.0f) },
|
||||
{ "Friendly", 3000, 8999, ui::colors::kFriendlyGreen },
|
||||
{ "Honored", 9000, 20999, ImVec4(0.2f, 0.8f, 0.5f, 1.0f) },
|
||||
{ "Revered", 21000, 41999, ImVec4(0.3f, 0.6f, 1.0f, 1.0f) },
|
||||
{ "Exalted", 42000, 42000, ImVec4(1.0f, 0.84f, 0.0f, 1.0f) },
|
||||
{ "Exalted", 42000, 42000, ui::colors::kWarmGold },
|
||||
};
|
||||
|
||||
constexpr int kNumTiers = static_cast<int>(sizeof(tiers) / sizeof(tiers[0]));
|
||||
|
|
@ -1626,7 +1626,7 @@ void InventoryScreen::renderReputationPanel(game::GameHandler& gameHandler) {
|
|||
}
|
||||
|
||||
void InventoryScreen::renderEquipmentPanel(game::Inventory& inventory) {
|
||||
ImGui::TextColored(ImVec4(1.0f, 0.84f, 0.0f, 1.0f), "Equipment");
|
||||
ImGui::TextColored(ui::colors::kWarmGold, "Equipment");
|
||||
ImGui::Separator();
|
||||
|
||||
static const game::EquipSlot leftSlots[] = {
|
||||
|
|
@ -1985,7 +1985,7 @@ void InventoryScreen::renderStatsPanel(game::Inventory& inventory, uint32_t play
|
|||
if (hasAny) {
|
||||
ImGui::Spacing();
|
||||
ImGui::Separator();
|
||||
ImGui::TextColored(ImVec4(1.0f, 0.84f, 0.0f, 1.0f), "Combat");
|
||||
ImGui::TextColored(ui::colors::kWarmGold, "Combat");
|
||||
ImVec4 cyan(0.5f, 0.9f, 1.0f, 1.0f);
|
||||
if (meleeAP >= 0) ImGui::TextColored(cyan, "Attack Power: %d", meleeAP);
|
||||
if (rangedAP >= 0 && rangedAP != meleeAP)
|
||||
|
|
@ -2105,7 +2105,7 @@ void InventoryScreen::renderStatsPanel(game::Inventory& inventory, uint32_t play
|
|||
if (showRun || showFlight || showSwim) {
|
||||
ImGui::Spacing();
|
||||
ImGui::Separator();
|
||||
ImGui::TextColored(ImVec4(1.0f, 0.84f, 0.0f, 1.0f), "Movement");
|
||||
ImGui::TextColored(ui::colors::kWarmGold, "Movement");
|
||||
ImVec4 speedColor(0.6f, 1.0f, 0.8f, 1.0f);
|
||||
if (showRun) {
|
||||
float pct = (runSpeed / kBaseRun) * 100.0f;
|
||||
|
|
@ -2125,7 +2125,7 @@ void InventoryScreen::renderStatsPanel(game::Inventory& inventory, uint32_t play
|
|||
}
|
||||
|
||||
void InventoryScreen::renderBackpackPanel(game::Inventory& inventory, bool collapseEmptySections) {
|
||||
ImGui::TextColored(ImVec4(1.0f, 0.84f, 0.0f, 1.0f), "Backpack");
|
||||
ImGui::TextColored(ui::colors::kWarmGold, "Backpack");
|
||||
ImGui::Separator();
|
||||
|
||||
constexpr float slotSize = 40.0f;
|
||||
|
|
@ -2927,9 +2927,9 @@ void InventoryScreen::renderItemTooltip(const game::ItemDef& item, const game::I
|
|||
if (hasSocket && qi2->socketBonus != 0) {
|
||||
auto enchIt = s_enchLookupB.find(qi2->socketBonus);
|
||||
if (enchIt != s_enchLookupB.end())
|
||||
ImGui::TextColored(ImVec4(0.5f, 0.8f, 0.5f, 1.0f), "Socket Bonus: %s", enchIt->second.c_str());
|
||||
ImGui::TextColored(ui::colors::kSocketGreen, "Socket Bonus: %s", enchIt->second.c_str());
|
||||
else
|
||||
ImGui::TextColored(ImVec4(0.5f, 0.8f, 0.5f, 1.0f), "Socket Bonus: (id %u)", qi2->socketBonus);
|
||||
ImGui::TextColored(ui::colors::kSocketGreen, "Socket Bonus: (id %u)", qi2->socketBonus);
|
||||
}
|
||||
}
|
||||
// Item set membership
|
||||
|
|
@ -3004,7 +3004,7 @@ void InventoryScreen::renderItemTooltip(const game::ItemDef& item, const game::I
|
|||
if (se.spellIds[i] == 0 || se.thresholds[i] == 0) continue;
|
||||
const std::string& bname = gameHandler_->getSpellName(se.spellIds[i]);
|
||||
bool active = (equipped >= static_cast<int>(se.thresholds[i]));
|
||||
ImVec4 col = active ? ImVec4(0.5f, 1.0f, 0.5f, 1.0f)
|
||||
ImVec4 col = active ? ui::colors::kActiveGreen
|
||||
: ImVec4(0.55f, 0.55f, 0.55f, 1.0f);
|
||||
if (!bname.empty())
|
||||
ImGui::TextColored(col, "(%u) %s", se.thresholds[i], bname.c_str());
|
||||
|
|
@ -3523,9 +3523,9 @@ void InventoryScreen::renderItemTooltip(const game::ItemQueryResponseData& info,
|
|||
if (hasSocket && info.socketBonus != 0) {
|
||||
auto enchIt = s_enchLookup.find(info.socketBonus);
|
||||
if (enchIt != s_enchLookup.end())
|
||||
ImGui::TextColored(ImVec4(0.5f, 0.8f, 0.5f, 1.0f), "Socket Bonus: %s", enchIt->second.c_str());
|
||||
ImGui::TextColored(ui::colors::kSocketGreen, "Socket Bonus: %s", enchIt->second.c_str());
|
||||
else
|
||||
ImGui::TextColored(ImVec4(0.5f, 0.8f, 0.5f, 1.0f), "Socket Bonus: (id %u)", info.socketBonus);
|
||||
ImGui::TextColored(ui::colors::kSocketGreen, "Socket Bonus: (id %u)", info.socketBonus);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3627,7 +3627,7 @@ void InventoryScreen::renderItemTooltip(const game::ItemQueryResponseData& info,
|
|||
if (se.spellIds[i] == 0 || se.thresholds[i] == 0) continue;
|
||||
const std::string& bname = gameHandler_->getSpellName(se.spellIds[i]);
|
||||
bool active = (equipped >= static_cast<int>(se.thresholds[i]));
|
||||
ImVec4 col = active ? ImVec4(0.5f, 1.0f, 0.5f, 1.0f)
|
||||
ImVec4 col = active ? ui::colors::kActiveGreen
|
||||
: ImVec4(0.55f, 0.55f, 0.55f, 1.0f);
|
||||
if (!bname.empty())
|
||||
ImGui::TextColored(col, "(%u) %s", se.thresholds[i], bname.c_str());
|
||||
|
|
|
|||
|
|
@ -431,9 +431,9 @@ void TalentScreen::renderTalent(game::GameHandler& gameHandler,
|
|||
ImVec4 borderColor;
|
||||
ImVec4 tint;
|
||||
switch (state) {
|
||||
case MAXED: borderColor = ImVec4(0.2f, 0.9f, 0.2f, 1.0f); tint = ImVec4(1,1,1,1); break;
|
||||
case PARTIAL: borderColor = ImVec4(0.2f, 0.8f, 0.2f, 1.0f); tint = ImVec4(1,1,1,1); break;
|
||||
case AVAILABLE:borderColor = ImVec4(1.0f, 1.0f, 1.0f, 0.8f); tint = ImVec4(1,1,1,1); break;
|
||||
case MAXED: borderColor = ImVec4(0.2f, 0.9f, 0.2f, 1.0f); tint = ui::colors::kWhite; break;
|
||||
case PARTIAL: borderColor = ui::colors::kHealthGreen; tint = ui::colors::kWhite; break;
|
||||
case AVAILABLE:borderColor = ImVec4(1.0f, 1.0f, 1.0f, 0.8f); tint = ui::colors::kWhite; break;
|
||||
case LOCKED: borderColor = ImVec4(0.4f, 0.4f, 0.4f, 0.8f); tint = ImVec4(0.4f,0.4f,0.4f,1); break;
|
||||
}
|
||||
|
||||
|
|
@ -566,7 +566,7 @@ void TalentScreen::renderTalent(game::GameHandler& gameHandler,
|
|||
|
||||
uint8_t prereqCurrentRank = gameHandler.getTalentRank(talent.prereqTalent[i]);
|
||||
bool met = prereqCurrentRank > talent.prereqRank[i]; // storage 1-indexed, DBC 0-indexed
|
||||
ImVec4 pColor = met ? ImVec4(0.3f, 0.9f, 0.3f, 1) : ImVec4(1.0f, 0.3f, 0.3f, 1);
|
||||
ImVec4 pColor = met ? ImVec4(0.3f, 0.9f, 0.3f, 1.0f) : ui::colors::kRed;
|
||||
|
||||
const std::string& prereqName = gameHandler.getSpellName(prereq->rankSpells[0]);
|
||||
ImGui::Spacing();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue