From eea730768b831a51718a9e94d75ea76e0337184d Mon Sep 17 00:00:00 2001 From: Evil Eye Date: Tue, 30 May 2023 20:22:04 +0200 Subject: [PATCH] Replace sIconNames with ESM::Skill::mIcon --- apps/openmw/mwgui/statswindow.cpp | 4 +-- apps/openmw/mwgui/tooltips.cpp | 4 +-- apps/openmw/mwworld/store.cpp | 59 ++++++++++++++++--------------- components/esm3/loadskil.cpp | 29 --------------- components/esm3/loadskil.hpp | 2 +- 5 files changed, 33 insertions(+), 65 deletions(-) diff --git a/apps/openmw/mwgui/statswindow.cpp b/apps/openmw/mwgui/statswindow.cpp index 90e734d640..349a087611 100644 --- a/apps/openmw/mwgui/statswindow.cpp +++ b/apps/openmw/mwgui/statswindow.cpp @@ -514,8 +514,6 @@ namespace MWGui const ESM::Skill* skill = esmStore.get().find(skillId); - std::string icon = "icons\\k\\" + ESM::Skill::sIconNames[skillId]; - const ESM::Attribute* attr = esmStore.get().find(skill->mData.mAttribute); std::pair widgets @@ -532,7 +530,7 @@ namespace MWGui "Caption_SkillDescription", skill->mDescription); mSkillWidgets[mSkillWidgets.size() - 1 - i]->setUserString( "Caption_SkillAttribute", "#{sGoverningAttribute}: #{" + attr->mName + "}"); - mSkillWidgets[mSkillWidgets.size() - 1 - i]->setUserString("ImageTexture_SkillImage", icon); + mSkillWidgets[mSkillWidgets.size() - 1 - i]->setUserString("ImageTexture_SkillImage", skill->mIcon); mSkillWidgets[mSkillWidgets.size() - 1 - i]->setUserString("Range_SkillProgress", "100"); } diff --git a/apps/openmw/mwgui/tooltips.cpp b/apps/openmw/mwgui/tooltips.cpp index b97e29af7d..f871e67156 100644 --- a/apps/openmw/mwgui/tooltips.cpp +++ b/apps/openmw/mwgui/tooltips.cpp @@ -814,14 +814,12 @@ namespace MWGui const ESM::Skill* skill = store.get().find(skillId); const ESM::Attribute* attr = store.get().find(skill->mData.mAttribute); - std::string icon = "icons\\k\\" + ESM::Skill::sIconNames[skillId]; - widget->setUserString("ToolTipType", "Layout"); widget->setUserString("ToolTipLayout", "SkillNoProgressToolTip"); widget->setUserString("Caption_SkillNoProgressName", MyGUI::TextIterator::toTagsString(skill->mName)); widget->setUserString("Caption_SkillNoProgressDescription", skill->mDescription); widget->setUserString("Caption_SkillNoProgressAttribute", "#{sGoverningAttribute}: #{" + attr->mName + "}"); - widget->setUserString("ImageTexture_SkillNoProgressImage", icon); + widget->setUserString("ImageTexture_SkillNoProgressImage", skill->mIcon); } void ToolTips::createAttributeToolTip(MyGUI::Widget* widget, int attributeId) diff --git a/apps/openmw/mwworld/store.cpp b/apps/openmw/mwworld/store.cpp index dd42476f64..7331e1b23e 100644 --- a/apps/openmw/mwworld/store.cpp +++ b/apps/openmw/mwworld/store.cpp @@ -903,34 +903,34 @@ namespace MWWorld void Store::setUp(const MWWorld::Store settings) { - constexpr std::string_view skillNameIds[ESM::Skill::Length] = { - "sSkillBlock", - "sSkillArmorer", - "sSkillMediumarmor", - "sSkillHeavyarmor", - "sSkillBluntweapon", - "sSkillLongblade", - "sSkillAxe", - "sSkillSpear", - "sSkillAthletics", - "sSkillEnchant", - "sSkillDestruction", - "sSkillAlteration", - "sSkillIllusion", - "sSkillConjuration", - "sSkillMysticism", - "sSkillRestoration", - "sSkillAlchemy", - "sSkillUnarmored", - "sSkillSecurity", - "sSkillSneak", - "sSkillAcrobatics", - "sSkillLightarmor", - "sSkillShortblade", - "sSkillMarksman", - "sSkillMercantile", - "sSkillSpeechcraft", - "sSkillHandtohand", + constexpr std::string_view skillNameIdsAndIcons[ESM::Skill::Length][2] = { + { "sSkillBlock", "icons\\k\\combat_block.dds" }, + { "sSkillArmorer", "icons\\k\\combat_armor.dds" }, + { "sSkillMediumarmor", "icons\\k\\combat_mediumarmor.dds" }, + { "sSkillHeavyarmor", "icons\\k\\combat_heavyarmor.dds" }, + { "sSkillBluntweapon", "icons\\k\\combat_blunt.dds" }, + { "sSkillLongblade", "icons\\k\\combat_longblade.dds" }, + { "sSkillAxe", "icons\\k\\combat_axe.dds" }, + { "sSkillSpear", "icons\\k\\combat_spear.dds" }, + { "sSkillAthletics", "icons\\k\\combat_athletics.dds" }, + { "sSkillEnchant", "icons\\k\\magic_enchant.dds" }, + { "sSkillDestruction", "icons\\k\\magic_destruction.dds" }, + { "sSkillAlteration", "icons\\k\\magic_alteration.dds" }, + { "sSkillIllusion", "icons\\k\\magic_illusion.dds" }, + { "sSkillConjuration", "icons\\k\\magic_conjuration.dds" }, + { "sSkillMysticism", "icons\\k\\magic_mysticism.dds" }, + { "sSkillRestoration", "icons\\k\\magic_restoration.dds" }, + { "sSkillAlchemy", "icons\\k\\magic_alchemy.dds" }, + { "sSkillUnarmored", "icons\\k\\magic_unarmored.dds" }, + { "sSkillSecurity", "icons\\k\\stealth_security.dds" }, + { "sSkillSneak", "icons\\k\\stealth_sneak.dds" }, + { "sSkillAcrobatics", "icons\\k\\stealth_acrobatics.dds" }, + { "sSkillLightarmor", "icons\\k\\stealth_lightarmor.dds" }, + { "sSkillShortblade", "icons\\k\\stealth_shortblade.dds" }, + { "sSkillMarksman", "icons\\k\\stealth_marksman.dds" }, + { "sSkillMercantile", "icons\\k\\stealth_mercantile.dds" }, + { "sSkillSpeechcraft", "icons\\k\\stealth_speechcraft.dds" }, + { "sSkillHandtohand", "icons\\k\\stealth_handtohand.dds" }, }; for (int i = 0; i < ESM::Skill::Length; ++i) { @@ -938,7 +938,8 @@ namespace MWWorld if (found != mStatic.end()) { ESM::Skill& skill = found->second; - std::string_view id = skillNameIds[i]; + std::string_view id = skillNameIdsAndIcons[i][0]; + skill.mIcon = skillNameIdsAndIcons[i][1]; const ESM::GameSetting* setting = settings.search(id); if (setting && setting->mValue.getType() == ESM::VT_String) skill.mName = setting->mValue.getString(); diff --git a/components/esm3/loadskil.cpp b/components/esm3/loadskil.cpp index 0115e84e34..9fbbbdae2b 100644 --- a/components/esm3/loadskil.cpp +++ b/components/esm3/loadskil.cpp @@ -36,35 +36,6 @@ namespace ESM "Speechcraft", "Handtohand", }; - const std::string Skill::sIconNames[Length] = { - "combat_block.dds", - "combat_armor.dds", - "combat_mediumarmor.dds", - "combat_heavyarmor.dds", - "combat_blunt.dds", - "combat_longblade.dds", - "combat_axe.dds", - "combat_spear.dds", - "combat_athletics.dds", - "magic_enchant.dds", - "magic_destruction.dds", - "magic_alteration.dds", - "magic_illusion.dds", - "magic_conjuration.dds", - "magic_mysticism.dds", - "magic_restoration.dds", - "magic_alchemy.dds", - "magic_unarmored.dds", - "stealth_security.dds", - "stealth_sneak.dds", - "stealth_acrobatics.dds", - "stealth_lightarmor.dds", - "stealth_shortblade.dds", - "stealth_marksman.dds", - "stealth_mercantile.dds", - "stealth_speechcraft.dds", - "stealth_handtohand.dds", - }; Skill::SkillEnum Skill::stringToSkillId(std::string_view skill) { diff --git a/components/esm3/loadskil.hpp b/components/esm3/loadskil.hpp index 5ceec6ffa7..827bfb2b2f 100644 --- a/components/esm3/loadskil.hpp +++ b/components/esm3/loadskil.hpp @@ -45,6 +45,7 @@ namespace ESM std::string mDescription; std::string mName; + std::string mIcon; enum SkillEnum { @@ -78,7 +79,6 @@ namespace ESM Length }; static const std::string sSkillNames[Length]; - static const std::string sIconNames[Length]; static SkillEnum stringToSkillId(std::string_view skill);