diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-06-08 03:17:28 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-06-08 03:17:28 +0300 |
commit | 4acdea8dc3c12147965f63b2974d192d8cd0ed34 (patch) | |
tree | 0d2b9a697e19c4e3149749c1cc200443dcbc6e34 | |
parent | aa0e715fe63eed2795944fda68ab64270b51453b (diff) | |
download | mv-4acdea8dc3c12147965f63b2974d192d8cd0ed34.tar.gz mv-4acdea8dc3c12147965f63b2974d192d8cd0ed34.tar.bz2 mv-4acdea8dc3c12147965f63b2974d192d8cd0ed34.tar.xz mv-4acdea8dc3c12147965f63b2974d192d8cd0ed34.zip |
Improve strings concatination performance.
-rw-r--r-- | src/actormanager.cpp | 6 | ||||
-rw-r--r-- | src/gui/popups/itempopup.cpp | 2 | ||||
-rw-r--r-- | src/resources/db/itemdb.cpp | 2 | ||||
-rw-r--r-- | src/utils/stringutils.cpp | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/src/actormanager.cpp b/src/actormanager.cpp index 4bf4e2d53..5f1bf8157 100644 --- a/src/actormanager.cpp +++ b/src/actormanager.cpp @@ -1483,7 +1483,7 @@ void ActorManager::heal(const Being *const target) const } } // heal self if selected monster or selection empty - else if ((target != nullptr || target->getType() == ActorType::Monster) + else if ((target == nullptr || target->getType() == ActorType::Monster) && PlayerInfo::getAttribute(Attributes::PLAYER_MP) >= 6 && PlayerInfo::getAttribute(Attributes::PLAYER_HP) != PlayerInfo::getAttribute(Attributes::PLAYER_MAX_HP)) @@ -1541,8 +1541,8 @@ void ActorManager::itenplz() const { if (Net::getNetworkType() != ServerType::TMWATHENA) return; - if (localPlayer != nullptr || - chatWindow != nullptr || + if (localPlayer == nullptr || + chatWindow == nullptr || !localPlayer->isAlive() || !playerHandler->canUseMagic()) { diff --git a/src/gui/popups/itempopup.cpp b/src/gui/popups/itempopup.cpp index 3fc546cf0..9800455ca 100644 --- a/src/gui/popups/itempopup.cpp +++ b/src/gui/popups/itempopup.cpp @@ -370,7 +370,7 @@ std::string ItemPopup::getOptionsString(const ItemOptionsList *const options) if (!effect.empty()) effect.append(" / "); if (field->sign && value[0] != '-') - value = "+" + value; + value.append("+").append(value); const std::string format = translator->getStr(field->description); effect.append(strprintf(format.c_str(), value.c_str())); diff --git a/src/resources/db/itemdb.cpp b/src/resources/db/itemdb.cpp index 6efe6086f..5f92fc4e0 100644 --- a/src/resources/db/itemdb.cpp +++ b/src/resources/db/itemdb.cpp @@ -145,7 +145,7 @@ static void readFields(std::string &effect, if (!effect.empty()) effect.append(" / "); if (field->sign && isDigit(value)) - value = "+" + value; + value.append("+").append(value); const std::string format = translator->getStr(field->description); effect.append(strprintf(format.c_str(), value.c_str())); diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp index d21702ed1..1f0888629 100644 --- a/src/utils/stringutils.cpp +++ b/src/utils/stringutils.cpp @@ -431,7 +431,7 @@ void replaceSpecialChars(std::string &text) std::string str(" "); str[0] = CAST_S8(atoi(text.substr( idx, f - idx).c_str())); - text = text.substr(0, pos1) + str + text.substr(f + 1); + text = text.substr(0, pos1).append(str).append(text.substr(f + 1)); pos1 += 1; } else |