diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-06-05 15:28:11 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-06-05 15:28:11 +0200 |
commit | 7cbbe2c781064c64cfa694852b7c133054ba0373 (patch) | |
tree | 2c81838c73351febf7ab3a1ff5d530fd581da999 | |
parent | b88f4b7f4f8744b7cd455c07d3b94a704c373dfe (diff) |
Core/Chat: Remove fmt::sprintf from headers
-rw-r--r-- | src/server/game/Chat/Channels/Channel.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Chat/Channels/Channel.h | 7 | ||||
-rw-r--r-- | src/server/game/Chat/Chat.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Chat/Chat.h | 16 | ||||
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandHelpers.h | 3 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_character.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_lookup.cpp | 4 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_titles.cpp | 6 |
9 files changed, 40 insertions, 12 deletions
diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp index f8a5340402f..0550f4ea931 100644 --- a/src/server/game/Chat/Channels/Channel.cpp +++ b/src/server/game/Chat/Channels/Channel.cpp @@ -94,6 +94,8 @@ Channel::Channel(ObjectGuid const& guid, std::string const& name, uint32 team /* } } +Channel::~Channel() = default; + void Channel::GetChannelName(std::string& channelName, uint32 channelId, LocaleConstant locale, AreaTableEntry const* zoneEntry) { if (channelId) @@ -104,7 +106,7 @@ void Channel::GetChannelName(std::string& channelName, uint32 channelId, LocaleC if (channelEntry->GetFlags().HasFlag(ChatChannelFlags::LinkedChannel)) zoneEntry = ChannelMgr::SpecialLinkedArea; - channelName = fmt::sprintf(channelEntry->Name[locale], ASSERT_NOTNULL(zoneEntry)->AreaName[locale]); + channelName = ChatHandler::PGetParseString(channelEntry->Name[locale], ASSERT_NOTNULL(zoneEntry)->AreaName[locale]); } else channelName = channelEntry->Name[locale]; diff --git a/src/server/game/Chat/Channels/Channel.h b/src/server/game/Chat/Channels/Channel.h index 2fdaa0f2655..8fff9ea3950 100644 --- a/src/server/game/Chat/Channels/Channel.h +++ b/src/server/game/Chat/Channels/Channel.h @@ -161,6 +161,13 @@ class TC_GAME_API Channel Channel(ObjectGuid const& guid, uint32 channelId, uint32 team = 0, AreaTableEntry const* zoneEntry = nullptr); // built-in channel ctor Channel(ObjectGuid const& guid, std::string const& name, uint32 team = 0, std::string const& banList = ""); // custom player channel ctor + Channel(Channel const&) = delete; + Channel(Channel&&) = delete; + Channel& operator=(Channel const&) = delete; + Channel& operator=(Channel&&) = delete; + + ~Channel(); + static void GetChannelName(std::string& channelName, uint32 channelId, LocaleConstant locale, AreaTableEntry const* zoneEntry); std::string GetName(LocaleConstant locale = DEFAULT_LOCALE) const; diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp index 4255cc1daad..55a49a13e1d 100644 --- a/src/server/game/Chat/Chat.cpp +++ b/src/server/game/Chat/Chat.cpp @@ -159,6 +159,11 @@ void ChatHandler::SendSysMessage(uint32 entry) SendSysMessage(GetTrinityString(entry)); } +std::string ChatHandler::StringVPrintf(std::string_view messageFormat, fmt::printf_args messageFormatArgs) +{ + return fmt::vsprintf<char>(messageFormat, messageFormatArgs); +} + bool ChatHandler::_ParseCommands(std::string_view text) { if (Trinity::ChatCommands::TryExecuteCommand(*this, text)) diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h index 2d9b49fb6b5..296a2af197b 100644 --- a/src/server/game/Chat/Chat.h +++ b/src/server/game/Chat/Chat.h @@ -54,23 +54,31 @@ class TC_GAME_API ChatHandler void SendSysMessage(uint32 entry); template<typename... Args> - void PSendSysMessage(const char* fmt, Args&&... args) + void PSendSysMessage(char const* fmt, Args&&... args) { - SendSysMessage(fmt::sprintf(fmt, std::forward<Args>(args)...)); + SendSysMessage(StringVPrintf(fmt, fmt::make_printf_args(std::forward<Args>(args)...))); } template<typename... Args> void PSendSysMessage(uint32 entry, Args&&... args) { - SendSysMessage(PGetParseString(entry, std::forward<Args>(args)...).c_str()); + SendSysMessage(PGetParseString(entry, std::forward<Args>(args)...)); + } + + template<typename... Args> + static std::string PGetParseString(std::string_view fmt, Args&&... args) + { + return StringVPrintf(fmt, fmt::make_printf_args(std::forward<Args>(args)...)); } template<typename... Args> std::string PGetParseString(uint32 entry, Args&&... args) const { - return fmt::sprintf(GetTrinityString(entry), std::forward<Args>(args)...); + return PGetParseString(GetTrinityString(entry), std::forward<Args>(args)...); } + static std::string StringVPrintf(std::string_view messageFormat, fmt::printf_args messageFormatArgs); + bool _ParseCommands(std::string_view text); virtual bool ParseCommands(std::string_view text); diff --git a/src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp b/src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp index ab64584a389..4963c5ad0b6 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp +++ b/src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp @@ -28,3 +28,8 @@ char const* Trinity::Impl::ChatCommands::GetTrinityString(ChatHandler const* han { return handler->GetTrinityString(which); } + +std::string Trinity::Impl::ChatCommands::FormatTrinityString(std::string_view messageFormat, fmt::printf_args messageFormatArgs) +{ + return ChatHandler::StringVPrintf(messageFormat, messageFormatArgs); +} diff --git a/src/server/game/Chat/ChatCommands/ChatCommandHelpers.h b/src/server/game/Chat/ChatCommands/ChatCommandHelpers.h index a7a5fe2d429..27bd1285fe9 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandHelpers.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandHelpers.h @@ -123,10 +123,11 @@ namespace Trinity::Impl::ChatCommands TC_GAME_API void SendErrorMessageToHandler(ChatHandler* handler, std::string_view str); TC_GAME_API char const* GetTrinityString(ChatHandler const* handler, TrinityStrings which); + TC_GAME_API std::string FormatTrinityString(std::string_view messageFormat, fmt::printf_args messageFormatArgs); template <typename... Ts> std::string FormatTrinityString(ChatHandler const* handler, TrinityStrings which, Ts&&... args) { - return fmt::sprintf(GetTrinityString(handler, which), std::forward<Ts>(args)...); + return FormatTrinityString(GetTrinityString(handler, which), fmt::make_printf_args(std::forward<Ts>(args)...)); } } diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp index cd74bb7857e..9217a5c9f4b 100644 --- a/src/server/scripts/Commands/cs_character.cpp +++ b/src/server/scripts/Commands/cs_character.cpp @@ -267,7 +267,7 @@ public: if (*target->m_playerData->PlayerTitle == titleInfo->MaskID) activeStr = handler->GetTrinityString(LANG_ACTIVE); - std::string titleName = fmt::sprintf(name, player->GetName()); + std::string titleName = ChatHandler::PGetParseString(name, player->GetName()); // send title in "id (idx:idx) - [namedlink locale]" format if (handler->GetSession()) diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp index 359b9651783..885ccf33f16 100644 --- a/src/server/scripts/Commands/cs_lookup.cpp +++ b/src/server/scripts/Commands/cs_lookup.cpp @@ -1252,7 +1252,7 @@ public: continue; LocaleConstant locale = handler->GetSessionDbcLocale(); - std::string name = (gender == GENDER_MALE ? titleInfo->Name : titleInfo->Name1)[locale]; + std::string_view name = (gender == GENDER_MALE ? titleInfo->Name : titleInfo->Name1)[locale]; if (name.empty()) continue; @@ -1288,7 +1288,7 @@ public: ? handler->GetTrinityString(LANG_ACTIVE) : ""; - std::string titleNameStr = fmt::sprintf(name, targetName); + std::string titleNameStr = ChatHandler::PGetParseString(name, targetName); // send title in "id (idx:idx) - [namedlink locale]" format if (handler->GetSession()) diff --git a/src/server/scripts/Commands/cs_titles.cpp b/src/server/scripts/Commands/cs_titles.cpp index 6d13b7fcaf6..4b79fe12b19 100644 --- a/src/server/scripts/Commands/cs_titles.cpp +++ b/src/server/scripts/Commands/cs_titles.cpp @@ -80,7 +80,7 @@ public: } std::string tNameLink = handler->GetNameLink(target); - std::string titleNameStr = fmt::sprintf(target->GetNativeGender() == GENDER_MALE ? titleInfo->Name[handler->GetSessionDbcLocale()] : titleInfo->Name1[handler->GetSessionDbcLocale()], target->GetName()); + std::string titleNameStr = ChatHandler::PGetParseString(target->GetNativeGender() == GENDER_MALE ? titleInfo->Name[handler->GetSessionDbcLocale()] : titleInfo->Name1[handler->GetSessionDbcLocale()], target->GetName()); target->SetTitle(titleInfo); target->SetChosenTitle(titleInfo->MaskID); @@ -113,7 +113,7 @@ public: } std::string tNameLink = handler->GetNameLink(target); - std::string titleNameStr = fmt::sprintf(target->GetNativeGender() == GENDER_MALE ? titleInfo->Name[handler->GetSessionDbcLocale()] : titleInfo->Name1[handler->GetSessionDbcLocale()], target->GetName()); + std::string titleNameStr = ChatHandler::PGetParseString(target->GetNativeGender() == GENDER_MALE ? titleInfo->Name[handler->GetSessionDbcLocale()] : titleInfo->Name1[handler->GetSessionDbcLocale()], target->GetName()); target->SetTitle(titleInfo); handler->PSendSysMessage(LANG_TITLE_ADD_RES, *titleId, titleNameStr.c_str(), tNameLink.c_str()); @@ -146,7 +146,7 @@ public: target->SetTitle(titleInfo, true); std::string tNameLink = handler->GetNameLink(target); - std::string titleNameStr = fmt::sprintf(target->GetNativeGender() == GENDER_MALE ? titleInfo->Name[handler->GetSessionDbcLocale()] : titleInfo->Name1[handler->GetSessionDbcLocale()], target->GetName()); + std::string titleNameStr = ChatHandler::PGetParseString(target->GetNativeGender() == GENDER_MALE ? titleInfo->Name[handler->GetSessionDbcLocale()] : titleInfo->Name1[handler->GetSessionDbcLocale()], target->GetName()); handler->PSendSysMessage(LANG_TITLE_REMOVE_RES, *titleId, titleNameStr.c_str(), tNameLink.c_str()); |