From 3038e5140a8eb51aeedf75c74549583eb5e9797d Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Fri, 1 Nov 2024 19:02:51 +0100 Subject: [PATCH 1/9] add color frames; remove scrollbar --- .../stackWindow/bonus-effects-noscroll.png | Bin 0 -> 35463 bytes client/windows/CCreatureWindow.cpp | 37 +++++++++++++++--- client/windows/CCreatureWindow.h | 5 ++- 3 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 Mods/vcmi/Data/stackWindow/bonus-effects-noscroll.png diff --git a/Mods/vcmi/Data/stackWindow/bonus-effects-noscroll.png b/Mods/vcmi/Data/stackWindow/bonus-effects-noscroll.png new file mode 100644 index 0000000000000000000000000000000000000000..67fe2ce82f477afb855ddce32baf5db3f4db0c62 GIT binary patch literal 35463 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
v7=T$@uH5Lx(DpA& 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.imagePath, position.x, position.y); name[leftRight] = std::make_shared(position.x + 60, position.y + 2, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, bi.name); description[leftRight] = std::make_shared(Rect(position.x + 60, position.y + 17, 137, 30), FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, bi.description); + + std::map bonusColors = { + {BonusSource::ARTIFACT, ColorRGBA(255, 0, 0)}, + {BonusSource::ARTIFACT_INSTANCE, ColorRGBA(255, 0, 0)}, + {BonusSource::OBJECT_TYPE, ColorRGBA(255, 0, 0)}, + {BonusSource::OBJECT_INSTANCE, ColorRGBA(255, 0, 0)}, + {BonusSource::CREATURE_ABILITY, ColorRGBA(255, 0, 0)}, + {BonusSource::TERRAIN_NATIVE, ColorRGBA(255, 0, 0)}, + {BonusSource::TERRAIN_OVERLAY, ColorRGBA(255, 0, 0)}, + {BonusSource::SPELL_EFFECT, ColorRGBA(255, 0, 0)}, + {BonusSource::TOWN_STRUCTURE, ColorRGBA(255, 0, 0)}, + {BonusSource::HERO_BASE_SKILL, ColorRGBA(255, 0, 0)}, + {BonusSource::SECONDARY_SKILL, ColorRGBA(0, 0, 255)}, + {BonusSource::HERO_SPECIAL, ColorRGBA(0, 0, 255)}, + {BonusSource::ARMY, ColorRGBA(0, 255, 0)}, + {BonusSource::CAMPAIGN_BONUS, ColorRGBA(255, 0, 0)}, + {BonusSource::STACK_EXPERIENCE, ColorRGBA(255, 0, 0)}, + {BonusSource::COMMANDER, ColorRGBA(255, 0, 0)}, + {BonusSource::GLOBAL, ColorRGBA(255, 0, 0)}, + {BonusSource::OTHER, ColorRGBA(255, 0, 0)} + }; + + frame[leftRight] = std::make_shared(Rect(position.x, position.y, 50, 50)); + if(bonusColors.count(bi.bonus->source)) + frame[leftRight]->addRectangle(Point(0, 0), Point(50, 50), bonusColors[bi.bonus->source]); } } } @@ -281,10 +307,10 @@ CStackWindow::BonusesSection::BonusesSection(CStackWindow * owner, int yOffset, auto onCreate = [=](size_t index) -> std::shared_ptr { - return std::make_shared(owner, index); + return std::make_shared(owner, index, totalSize <= 3); }; - lines = std::make_shared(onCreate, Point(0, 0), Point(0, itemHeight), visibleSize, totalSize, 0, 1, Rect(pos.w - 15, 0, pos.h, pos.h)); + lines = std::make_shared(onCreate, Point(0, 0), Point(0, itemHeight), visibleSize, totalSize, 0, totalSize > 3 ? 1 : 0, Rect(pos.w - 15, 0, pos.h, pos.h)); } CStackWindow::ButtonsSection::ButtonsSection(CStackWindow * owner, int yOffset) @@ -533,7 +559,7 @@ CStackWindow::MainSection::MainSection(CStackWindow * owner, int yOffset, bool s animation->setAmount(parent->info->creatureCount); } - name = std::make_shared(215, 12, FONT_SMALL, ETextAlignment::CENTER, Colors::YELLOW, parent->info->getName()); + name = std::make_shared(215, 13, FONT_SMALL, ETextAlignment::CENTER, Colors::YELLOW, parent->info->getName()); const BattleInterface* battleInterface = LOCPLINT->battleInt.get(); const CStack* battleStack = parent->info->stack; @@ -801,6 +827,7 @@ void CStackWindow::initBonusesList() bonusInfo.name = info->stackNode->bonusToString(b, false); bonusInfo.description = info->stackNode->bonusToString(b, true); bonusInfo.imagePath = info->stackNode->bonusToGraphics(b); + bonusInfo.bonus = b; //if it's possible to give any description or image for this kind of bonus //TODO: figure out why half of bonuses don't have proper description diff --git a/client/windows/CCreatureWindow.h b/client/windows/CCreatureWindow.h index 62ed20a74..bfa2468b0 100644 --- a/client/windows/CCreatureWindow.h +++ b/client/windows/CCreatureWindow.h @@ -31,6 +31,7 @@ class CListBox; class CArtPlace; class CCommanderArtPlace; class LRClickableArea; +class GraphicalPrimitiveCanvas; class CCommanderSkillIcon : public LRClickableAreaWText //TODO: maybe bring commander skill button initialization logic inside? { @@ -58,6 +59,7 @@ class CStackWindow : public CWindowObject std::string name; std::string description; ImagePath imagePath; + std::shared_ptr bonus; }; class CWindowSection : public CIntObject @@ -84,8 +86,9 @@ class CStackWindow : public CWindowObject std::array, 2> icon; std::array, 2> name; std::array, 2> description; + std::array, 2> frame; public: - BonusLineSection(CStackWindow * owner, size_t lineIndex); + BonusLineSection(CStackWindow * owner, size_t lineIndex, bool noScroll); }; class BonusesSection : public CWindowSection From 440e9a6575be183522afa5f41322e94493a4564a Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Sat, 2 Nov 2024 13:05:10 +0100 Subject: [PATCH 2/9] assign colors for bonuses --- client/windows/CCreatureWindow.cpp | 33 ++++++++++-------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index dae312dc1..429c9effa 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -264,29 +264,18 @@ CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t li description[leftRight] = std::make_shared(Rect(position.x + 60, position.y + 17, 137, 30), FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, bi.description); std::map bonusColors = { - {BonusSource::ARTIFACT, ColorRGBA(255, 0, 0)}, - {BonusSource::ARTIFACT_INSTANCE, ColorRGBA(255, 0, 0)}, - {BonusSource::OBJECT_TYPE, ColorRGBA(255, 0, 0)}, - {BonusSource::OBJECT_INSTANCE, ColorRGBA(255, 0, 0)}, - {BonusSource::CREATURE_ABILITY, ColorRGBA(255, 0, 0)}, - {BonusSource::TERRAIN_NATIVE, ColorRGBA(255, 0, 0)}, - {BonusSource::TERRAIN_OVERLAY, ColorRGBA(255, 0, 0)}, - {BonusSource::SPELL_EFFECT, ColorRGBA(255, 0, 0)}, - {BonusSource::TOWN_STRUCTURE, ColorRGBA(255, 0, 0)}, - {BonusSource::HERO_BASE_SKILL, ColorRGBA(255, 0, 0)}, - {BonusSource::SECONDARY_SKILL, ColorRGBA(0, 0, 255)}, - {BonusSource::HERO_SPECIAL, ColorRGBA(0, 0, 255)}, - {BonusSource::ARMY, ColorRGBA(0, 255, 0)}, - {BonusSource::CAMPAIGN_BONUS, ColorRGBA(255, 0, 0)}, - {BonusSource::STACK_EXPERIENCE, ColorRGBA(255, 0, 0)}, - {BonusSource::COMMANDER, ColorRGBA(255, 0, 0)}, - {BonusSource::GLOBAL, ColorRGBA(255, 0, 0)}, - {BonusSource::OTHER, ColorRGBA(255, 0, 0)} + {BonusSource::ARTIFACT, Colors::GREEN}, + {BonusSource::ARTIFACT_INSTANCE, Colors::GREEN}, + {BonusSource::CREATURE_ABILITY, Colors::YELLOW}, + {BonusSource::SPELL_EFFECT, Colors::ORANGE}, + {BonusSource::SECONDARY_SKILL, Colors::PURPLE}, + {BonusSource::HERO_SPECIAL, Colors::PURPLE}, + {BonusSource::STACK_EXPERIENCE, Colors::CYAN}, + {BonusSource::COMMANDER, Colors::CYAN}, }; - frame[leftRight] = std::make_shared(Rect(position.x, position.y, 50, 50)); - if(bonusColors.count(bi.bonus->source)) - frame[leftRight]->addRectangle(Point(0, 0), Point(50, 50), bonusColors[bi.bonus->source]); + frame[leftRight] = std::make_shared(Rect(position.x - 1, position.y - 1, 52, 52)); + frame[leftRight]->addRectangle(Point(0, 0), Point(52, 52), bonusColors.count(bi.bonusSource) ? bonusColors[bi.bonusSource] : Colors::BLACK); } } } @@ -827,7 +816,7 @@ void CStackWindow::initBonusesList() bonusInfo.name = info->stackNode->bonusToString(b, false); bonusInfo.description = info->stackNode->bonusToString(b, true); bonusInfo.imagePath = info->stackNode->bonusToGraphics(b); - bonusInfo.bonus = b; + bonusInfo.bonusSource = b->source; //if it's possible to give any description or image for this kind of bonus //TODO: figure out why half of bonuses don't have proper description From 5a72a65b31be8d923008e6e7d3dacf6c9b17c4bc Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Sat, 2 Nov 2024 13:59:09 +0100 Subject: [PATCH 3/9] add labels --- Mods/vcmi/config/english.json | 6 +++++ client/windows/CCreatureWindow.cpp | 39 +++++++++++++++++++----------- client/windows/CCreatureWindow.h | 3 ++- 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/Mods/vcmi/config/english.json b/Mods/vcmi/config/english.json index 498741306..7afc0f8ec 100644 --- a/Mods/vcmi/config/english.json +++ b/Mods/vcmi/config/english.json @@ -28,6 +28,12 @@ "vcmi.adventureMap.movementPointsHeroInfo" : "(Movement points: %REMAINING / %POINTS)", "vcmi.adventureMap.replayOpponentTurnNotImplemented" : "Sorry, replay opponent turn is not implemented yet!", + "vcmi.bonusSource.artifact" : "Art.", + "vcmi.bonusSource.creature" : "Crea.", + "vcmi.bonusSource.spell" : "Spell", + "vcmi.bonusSource.hero" : "Hero", + "vcmi.bonusSource.commander" : "Comm.", + "vcmi.capitalColors.0" : "Red", "vcmi.capitalColors.1" : "Blue", "vcmi.capitalColors.2" : "Tan", diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index 429c9effa..4613e9e63 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -250,6 +250,28 @@ CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t li Point(6, 4), Point(214, 4) }; + + std::map bonusColors = { + {BonusSource::ARTIFACT, Colors::GREEN}, + {BonusSource::ARTIFACT_INSTANCE, Colors::GREEN}, + {BonusSource::CREATURE_ABILITY, Colors::YELLOW}, + {BonusSource::SPELL_EFFECT, Colors::ORANGE}, + {BonusSource::SECONDARY_SKILL, Colors::PURPLE}, + {BonusSource::HERO_SPECIAL, Colors::PURPLE}, + {BonusSource::STACK_EXPERIENCE, Colors::CYAN}, + {BonusSource::COMMANDER, Colors::CYAN}, + }; + + std::map bonusNames = { + {BonusSource::ARTIFACT, CGI->generaltexth->translate("vcmi.bonusSource.artifact")}, + {BonusSource::ARTIFACT_INSTANCE, CGI->generaltexth->translate("vcmi.bonusSource.artifact")}, + {BonusSource::CREATURE_ABILITY, CGI->generaltexth->translate("vcmi.bonusSource.creature")}, + {BonusSource::SPELL_EFFECT, CGI->generaltexth->translate("vcmi.bonusSource.spell")}, + {BonusSource::SECONDARY_SKILL, CGI->generaltexth->translate("vcmi.bonusSource.hero")}, + {BonusSource::HERO_SPECIAL, CGI->generaltexth->translate("vcmi.bonusSource.hero")}, + {BonusSource::STACK_EXPERIENCE, CGI->generaltexth->translate("vcmi.bonusSource.commander")}, + {BonusSource::COMMANDER, CGI->generaltexth->translate("vcmi.bonusSource.commander")}, + }; for(size_t leftRight : {0, 1}) { @@ -260,20 +282,9 @@ CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t li { BonusInfo & bi = parent->activeBonuses[bonusIndex]; icon[leftRight] = std::make_shared(bi.imagePath, position.x, position.y); - name[leftRight] = std::make_shared(position.x + 60, position.y + 2, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, bi.name); - description[leftRight] = std::make_shared(Rect(position.x + 60, position.y + 17, 137, 30), FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, bi.description); - - std::map bonusColors = { - {BonusSource::ARTIFACT, Colors::GREEN}, - {BonusSource::ARTIFACT_INSTANCE, Colors::GREEN}, - {BonusSource::CREATURE_ABILITY, Colors::YELLOW}, - {BonusSource::SPELL_EFFECT, Colors::ORANGE}, - {BonusSource::SECONDARY_SKILL, Colors::PURPLE}, - {BonusSource::HERO_SPECIAL, Colors::PURPLE}, - {BonusSource::STACK_EXPERIENCE, Colors::CYAN}, - {BonusSource::COMMANDER, Colors::CYAN}, - }; - + name[leftRight] = std::make_shared(position.x + 60, position.y + 2, FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.name, 110); + description[leftRight] = std::make_shared(Rect(position.x + 60, position.y + 17, 137, 30), FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.description); + bonusSource[leftRight] = std::make_shared(position.x + 60 + 137, position.y + 2, FONT_TINY, ETextAlignment::TOPRIGHT, bonusColors.count(bi.bonusSource) ? bonusColors[bi.bonusSource] : Colors::BLACK, bonusNames.count(bi.bonusSource) ? bonusNames[bi.bonusSource] : "", 27); frame[leftRight] = std::make_shared(Rect(position.x - 1, position.y - 1, 52, 52)); frame[leftRight]->addRectangle(Point(0, 0), Point(52, 52), bonusColors.count(bi.bonusSource) ? bonusColors[bi.bonusSource] : Colors::BLACK); } diff --git a/client/windows/CCreatureWindow.h b/client/windows/CCreatureWindow.h index bfa2468b0..3f69f711d 100644 --- a/client/windows/CCreatureWindow.h +++ b/client/windows/CCreatureWindow.h @@ -59,7 +59,7 @@ class CStackWindow : public CWindowObject std::string name; std::string description; ImagePath imagePath; - std::shared_ptr bonus; + BonusSource bonusSource; }; class CWindowSection : public CIntObject @@ -87,6 +87,7 @@ class CStackWindow : public CWindowObject std::array, 2> name; std::array, 2> description; std::array, 2> frame; + std::array, 2> bonusSource; public: BonusLineSection(CStackWindow * owner, size_t lineIndex, bool noScroll); }; From 17ee363d8d4b1eef1d5d193d1ccc8f208a9c38fa Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Sat, 2 Nov 2024 14:37:21 +0100 Subject: [PATCH 4/9] changed bonus source text pos --- Mods/vcmi/config/english.json | 6 +++--- client/windows/CCreatureWindow.cpp | 24 +++++++++++++++++++++--- client/windows/CCreatureWindow.h | 2 +- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/Mods/vcmi/config/english.json b/Mods/vcmi/config/english.json index 7afc0f8ec..ac22082de 100644 --- a/Mods/vcmi/config/english.json +++ b/Mods/vcmi/config/english.json @@ -28,11 +28,11 @@ "vcmi.adventureMap.movementPointsHeroInfo" : "(Movement points: %REMAINING / %POINTS)", "vcmi.adventureMap.replayOpponentTurnNotImplemented" : "Sorry, replay opponent turn is not implemented yet!", - "vcmi.bonusSource.artifact" : "Art.", - "vcmi.bonusSource.creature" : "Crea.", + "vcmi.bonusSource.artifact" : "Artifact", + "vcmi.bonusSource.creature" : "Creature", "vcmi.bonusSource.spell" : "Spell", "vcmi.bonusSource.hero" : "Hero", - "vcmi.bonusSource.commander" : "Comm.", + "vcmi.bonusSource.commander" : "Commander", "vcmi.capitalColors.0" : "Red", "vcmi.capitalColors.1" : "Blue", diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index 4613e9e63..e44809e31 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -273,6 +273,24 @@ CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t li {BonusSource::COMMANDER, CGI->generaltexth->translate("vcmi.bonusSource.commander")}, }; + auto drawBonusSourceText = [this, &bonusColors, &bonusNames](int leftRight, Point p, BonusInfo & bi) + { + if(!bonusColors.count(bi.bonusSource) || !bonusNames.count(bi.bonusSource)) + return; + + auto c = bonusColors[bi.bonusSource]; + std::string t = bonusNames[bi.bonusSource]; + int maxLen = 50; + EFonts f = FONT_TINY; + + // 1px Black border + bonusSource[leftRight].push_back(std::make_shared(p.x - 1, p.y, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); + bonusSource[leftRight].push_back(std::make_shared(p.x + 1, p.y, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); + bonusSource[leftRight].push_back(std::make_shared(p.x, p.y - 1, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); + bonusSource[leftRight].push_back(std::make_shared(p.x, p.y + 1, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); + bonusSource[leftRight].push_back(std::make_shared(p.x, p.y, f, ETextAlignment::TOPLEFT, c, t, maxLen)); + }; + for(size_t leftRight : {0, 1}) { auto position = offset[leftRight]; @@ -282,9 +300,9 @@ CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t li { BonusInfo & bi = parent->activeBonuses[bonusIndex]; icon[leftRight] = std::make_shared(bi.imagePath, position.x, position.y); - name[leftRight] = std::make_shared(position.x + 60, position.y + 2, FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.name, 110); - description[leftRight] = std::make_shared(Rect(position.x + 60, position.y + 17, 137, 30), FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.description); - bonusSource[leftRight] = std::make_shared(position.x + 60 + 137, position.y + 2, FONT_TINY, ETextAlignment::TOPRIGHT, bonusColors.count(bi.bonusSource) ? bonusColors[bi.bonusSource] : Colors::BLACK, bonusNames.count(bi.bonusSource) ? bonusNames[bi.bonusSource] : "", 27); + name[leftRight] = std::make_shared(position.x + 60, position.y + 2, FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.name, 137); + description[leftRight] = std::make_shared(Rect(position.x + 60, position.y + 20, 137, 30), FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.description); + drawBonusSourceText(leftRight, Point(position.x + 2, position.y + 39), bi); frame[leftRight] = std::make_shared(Rect(position.x - 1, position.y - 1, 52, 52)); frame[leftRight]->addRectangle(Point(0, 0), Point(52, 52), bonusColors.count(bi.bonusSource) ? bonusColors[bi.bonusSource] : Colors::BLACK); } diff --git a/client/windows/CCreatureWindow.h b/client/windows/CCreatureWindow.h index 3f69f711d..a94196a26 100644 --- a/client/windows/CCreatureWindow.h +++ b/client/windows/CCreatureWindow.h @@ -87,7 +87,7 @@ class CStackWindow : public CWindowObject std::array, 2> name; std::array, 2> description; std::array, 2> frame; - std::array, 2> bonusSource; + std::array>, 2> bonusSource; public: BonusLineSection(CStackWindow * owner, size_t lineIndex, bool noScroll); }; From 9009dffebdda158a424e3dcf1202dadb37fd9291 Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Sat, 2 Nov 2024 14:51:33 +0100 Subject: [PATCH 5/9] add "other" for bonus display --- Mods/vcmi/config/english.json | 1 + client/windows/CCreatureWindow.cpp | 71 +++++++++++++++--------------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Mods/vcmi/config/english.json b/Mods/vcmi/config/english.json index ac22082de..b0288519d 100644 --- a/Mods/vcmi/config/english.json +++ b/Mods/vcmi/config/english.json @@ -33,6 +33,7 @@ "vcmi.bonusSource.spell" : "Spell", "vcmi.bonusSource.hero" : "Hero", "vcmi.bonusSource.commander" : "Commander", + "vcmi.bonusSource.other" : "Other", "vcmi.capitalColors.0" : "Red", "vcmi.capitalColors.1" : "Blue", diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index e44809e31..f4f6d6f3c 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -250,45 +250,46 @@ CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t li Point(6, 4), Point(214, 4) }; - - std::map bonusColors = { - {BonusSource::ARTIFACT, Colors::GREEN}, - {BonusSource::ARTIFACT_INSTANCE, Colors::GREEN}, - {BonusSource::CREATURE_ABILITY, Colors::YELLOW}, - {BonusSource::SPELL_EFFECT, Colors::ORANGE}, - {BonusSource::SECONDARY_SKILL, Colors::PURPLE}, - {BonusSource::HERO_SPECIAL, Colors::PURPLE}, - {BonusSource::STACK_EXPERIENCE, Colors::CYAN}, - {BonusSource::COMMANDER, Colors::CYAN}, - }; - - std::map bonusNames = { - {BonusSource::ARTIFACT, CGI->generaltexth->translate("vcmi.bonusSource.artifact")}, - {BonusSource::ARTIFACT_INSTANCE, CGI->generaltexth->translate("vcmi.bonusSource.artifact")}, - {BonusSource::CREATURE_ABILITY, CGI->generaltexth->translate("vcmi.bonusSource.creature")}, - {BonusSource::SPELL_EFFECT, CGI->generaltexth->translate("vcmi.bonusSource.spell")}, - {BonusSource::SECONDARY_SKILL, CGI->generaltexth->translate("vcmi.bonusSource.hero")}, - {BonusSource::HERO_SPECIAL, CGI->generaltexth->translate("vcmi.bonusSource.hero")}, - {BonusSource::STACK_EXPERIENCE, CGI->generaltexth->translate("vcmi.bonusSource.commander")}, - {BonusSource::COMMANDER, CGI->generaltexth->translate("vcmi.bonusSource.commander")}, - }; - auto drawBonusSourceText = [this, &bonusColors, &bonusNames](int leftRight, Point p, BonusInfo & bi) - { - if(!bonusColors.count(bi.bonusSource) || !bonusNames.count(bi.bonusSource)) - return; + auto drawBonusSource = [this](int leftRight, Point p, BonusInfo & bi) + { + std::map bonusColors = { + {BonusSource::ARTIFACT, Colors::GREEN}, + {BonusSource::ARTIFACT_INSTANCE, Colors::GREEN}, + {BonusSource::CREATURE_ABILITY, Colors::YELLOW}, + {BonusSource::SPELL_EFFECT, Colors::ORANGE}, + {BonusSource::SECONDARY_SKILL, Colors::PURPLE}, + {BonusSource::HERO_SPECIAL, Colors::PURPLE}, + {BonusSource::STACK_EXPERIENCE, Colors::CYAN}, + {BonusSource::COMMANDER, Colors::CYAN}, + }; + + std::map bonusNames = { + {BonusSource::ARTIFACT, CGI->generaltexth->translate("vcmi.bonusSource.artifact")}, + {BonusSource::ARTIFACT_INSTANCE, CGI->generaltexth->translate("vcmi.bonusSource.artifact")}, + {BonusSource::CREATURE_ABILITY, CGI->generaltexth->translate("vcmi.bonusSource.creature")}, + {BonusSource::SPELL_EFFECT, CGI->generaltexth->translate("vcmi.bonusSource.spell")}, + {BonusSource::SECONDARY_SKILL, CGI->generaltexth->translate("vcmi.bonusSource.hero")}, + {BonusSource::HERO_SPECIAL, CGI->generaltexth->translate("vcmi.bonusSource.hero")}, + {BonusSource::STACK_EXPERIENCE, CGI->generaltexth->translate("vcmi.bonusSource.commander")}, + {BonusSource::COMMANDER, CGI->generaltexth->translate("vcmi.bonusSource.commander")}, + }; - auto c = bonusColors[bi.bonusSource]; - std::string t = bonusNames[bi.bonusSource]; + auto c = bonusColors.count(bi.bonusSource) ? bonusColors[bi.bonusSource] : ColorRGBA(192, 192, 192); + std::string t = bonusNames.count(bi.bonusSource) ? bonusNames[bi.bonusSource] : CGI->generaltexth->translate("vcmi.bonusSource.other"); int maxLen = 50; EFonts f = FONT_TINY; + Point pText = p + Point(3, 40); // 1px Black border - bonusSource[leftRight].push_back(std::make_shared(p.x - 1, p.y, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); - bonusSource[leftRight].push_back(std::make_shared(p.x + 1, p.y, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); - bonusSource[leftRight].push_back(std::make_shared(p.x, p.y - 1, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); - bonusSource[leftRight].push_back(std::make_shared(p.x, p.y + 1, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); - bonusSource[leftRight].push_back(std::make_shared(p.x, p.y, f, ETextAlignment::TOPLEFT, c, t, maxLen)); + bonusSource[leftRight].push_back(std::make_shared(pText.x - 1, pText.y, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); + bonusSource[leftRight].push_back(std::make_shared(pText.x + 1, pText.y, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); + bonusSource[leftRight].push_back(std::make_shared(pText.x, pText.y - 1, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); + bonusSource[leftRight].push_back(std::make_shared(pText.x, pText.y + 1, f, ETextAlignment::TOPLEFT, Colors::BLACK, t, maxLen)); + bonusSource[leftRight].push_back(std::make_shared(pText.x, pText.y, f, ETextAlignment::TOPLEFT, c, t, maxLen)); + + frame[leftRight] = std::make_shared(Rect(p.x, p.y, 52, 52)); + frame[leftRight]->addRectangle(Point(0, 0), Point(52, 52), c); }; for(size_t leftRight : {0, 1}) @@ -302,9 +303,7 @@ CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t li icon[leftRight] = std::make_shared(bi.imagePath, position.x, position.y); name[leftRight] = std::make_shared(position.x + 60, position.y + 2, FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.name, 137); description[leftRight] = std::make_shared(Rect(position.x + 60, position.y + 20, 137, 30), FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.description); - drawBonusSourceText(leftRight, Point(position.x + 2, position.y + 39), bi); - frame[leftRight] = std::make_shared(Rect(position.x - 1, position.y - 1, 52, 52)); - frame[leftRight]->addRectangle(Point(0, 0), Point(52, 52), bonusColors.count(bi.bonusSource) ? bonusColors[bi.bonusSource] : Colors::BLACK); + drawBonusSource(leftRight, Point(position.x - 1, position.y - 1), bi); } } } From 0ab4b66026d1ffcb4e5e7eaa58969954e7ac6127 Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Sat, 2 Nov 2024 15:16:38 +0100 Subject: [PATCH 6/9] better approach for scrollbar --- .../stackWindow/bonus-effects-noscroll.png | Bin 35463 -> 0 bytes Mods/vcmi/Data/stackWindow/bonus-effects.png | Bin 29969 -> 35463 bytes client/widgets/ObjectLists.cpp | 11 ++++------- client/windows/CCreatureWindow.cpp | 6 +++--- client/windows/CCreatureWindow.h | 2 +- 5 files changed, 8 insertions(+), 11 deletions(-) delete mode 100644 Mods/vcmi/Data/stackWindow/bonus-effects-noscroll.png diff --git a/Mods/vcmi/Data/stackWindow/bonus-effects-noscroll.png b/Mods/vcmi/Data/stackWindow/bonus-effects-noscroll.png deleted file mode 100644 index 67fe2ce82f477afb855ddce32baf5db3f4db0c62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35463 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
v7=T$@uH5Lx(DpA& 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
v7=T$@uH5Lx(DpA& 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 diff --git a/client/widgets/ObjectLists.cpp b/client/widgets/ObjectLists.cpp index d9a257923..6470df4a5 100644 --- a/client/widgets/ObjectLists.cpp +++ b/client/widgets/ObjectLists.cpp @@ -116,12 +116,12 @@ void CListBox::updatePositions() (elem)->moveTo(itemPos); itemPos += itemOffset; } - if (isActive()) + if(slider) { - redraw(); - if (slider) - slider->scrollTo((int)first); + slider->scrollTo((int)first); + moveChildForeground(slider.get()); } + redraw(); } void CListBox::reset() @@ -185,9 +185,6 @@ void CListBox::scrollTo(size_t which) //scroll down else if (first + items.size() <= which && which < totalSize) moveToPos(which - items.size() + 1); - - if(slider) - slider->scrollTo(which); } void CListBox::moveToPos(size_t which) diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index f4f6d6f3c..ca50be8e6 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -240,8 +240,8 @@ CStackWindow::ActiveSpellsSection::ActiveSpellsSection(CStackWindow * owner, int } } -CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t lineIndex, bool noScroll) - : CWindowSection(owner, ImagePath::builtin(noScroll ? "stackWindow/bonus-effects-noscroll" : "stackWindow/bonus-effects"), 0) +CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t lineIndex) + : CWindowSection(owner, ImagePath::builtin("stackWindow/bonus-effects"), 0) { OBJECT_CONSTRUCTION; @@ -324,7 +324,7 @@ CStackWindow::BonusesSection::BonusesSection(CStackWindow * owner, int yOffset, auto onCreate = [=](size_t index) -> std::shared_ptr { - return std::make_shared(owner, index, totalSize <= 3); + return std::make_shared(owner, index); }; lines = std::make_shared(onCreate, Point(0, 0), Point(0, itemHeight), visibleSize, totalSize, 0, totalSize > 3 ? 1 : 0, Rect(pos.w - 15, 0, pos.h, pos.h)); diff --git a/client/windows/CCreatureWindow.h b/client/windows/CCreatureWindow.h index a94196a26..acf43029a 100644 --- a/client/windows/CCreatureWindow.h +++ b/client/windows/CCreatureWindow.h @@ -89,7 +89,7 @@ class CStackWindow : public CWindowObject std::array, 2> frame; std::array>, 2> bonusSource; public: - BonusLineSection(CStackWindow * owner, size_t lineIndex, bool noScroll); + BonusLineSection(CStackWindow * owner, size_t lineIndex); }; class BonusesSection : public CWindowSection From 74b4fbfcebeb72729e2eb66aa6796b258ee00334 Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Sat, 2 Nov 2024 15:19:39 +0100 Subject: [PATCH 7/9] small fix --- client/windows/CCreatureWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index ca50be8e6..ce8ae3343 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -302,7 +302,7 @@ CStackWindow::BonusLineSection::BonusLineSection(CStackWindow * owner, size_t li BonusInfo & bi = parent->activeBonuses[bonusIndex]; icon[leftRight] = std::make_shared(bi.imagePath, position.x, position.y); name[leftRight] = std::make_shared(position.x + 60, position.y + 2, FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.name, 137); - description[leftRight] = std::make_shared(Rect(position.x + 60, position.y + 20, 137, 30), FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.description); + description[leftRight] = std::make_shared(Rect(position.x + 60, position.y + 20, 137, 26), FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, bi.description); drawBonusSource(leftRight, Point(position.x - 1, position.y - 1), bi); } } From 988d36bd139e0a2c31f639a74444db4ac68bf28c Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Sat, 2 Nov 2024 15:46:20 +0100 Subject: [PATCH 8/9] sorted --- Mods/vcmi/config/english.json | 2 +- client/windows/CCreatureWindow.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Mods/vcmi/config/english.json b/Mods/vcmi/config/english.json index b0288519d..526d60906 100644 --- a/Mods/vcmi/config/english.json +++ b/Mods/vcmi/config/english.json @@ -29,7 +29,7 @@ "vcmi.adventureMap.replayOpponentTurnNotImplemented" : "Sorry, replay opponent turn is not implemented yet!", "vcmi.bonusSource.artifact" : "Artifact", - "vcmi.bonusSource.creature" : "Creature", + "vcmi.bonusSource.creature" : "Ability", "vcmi.bonusSource.spell" : "Spell", "vcmi.bonusSource.hero" : "Hero", "vcmi.bonusSource.commander" : "Commander", diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index ce8ae3343..ee3a6bf24 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -829,6 +829,9 @@ void CStackWindow::initBonusesList() BonusList output; BonusList input; input = *(info->stackNode->getBonuses(CSelector(Bonus::Permanent), Selector::all)); + std::sort(input.begin(), input.end(), [this](std::shared_ptr v1, std::shared_ptr & v2){ + return v1->source == v2->source ? info->stackNode->bonusToString(v1, false) < info->stackNode->bonusToString(v2, false) : v1->source == BonusSource::CREATURE_ABILITY || (v1->source < v2->source); + }); while(!input.empty()) { From e73cb7f45bc9de01516ecd94e6de60d6fc32bd3f Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Wed, 13 Nov 2024 20:03:20 +0100 Subject: [PATCH 9/9] Update client/windows/CCreatureWindow.cpp Co-authored-by: Ivan Savenko --- client/windows/CCreatureWindow.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index ee3a6bf24..808fc0c93 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -830,7 +830,10 @@ void CStackWindow::initBonusesList() BonusList input; input = *(info->stackNode->getBonuses(CSelector(Bonus::Permanent), Selector::all)); std::sort(input.begin(), input.end(), [this](std::shared_ptr v1, std::shared_ptr & v2){ - return v1->source == v2->source ? info->stackNode->bonusToString(v1, false) < info->stackNode->bonusToString(v2, false) : v1->source == BonusSource::CREATURE_ABILITY || (v1->source < v2->source); + if (v1->source != v2->source) + return v1->source == BonusSource::CREATURE_ABILITY || (v1->source < v2->source); + else + return info->stackNode->bonusToString(v1, false) < info->stackNode->bonusToString(v2, false); }); while(!input.empty())