diff --git a/Source/Contents/Emblems/EmblemCache.cpp b/Source/Contents/Emblems/EmblemCache.cpp index caeadfd3..e82da8e1 100644 --- a/Source/Contents/Emblems/EmblemCache.cpp +++ b/Source/Contents/Emblems/EmblemCache.cpp @@ -22,14 +22,14 @@ namespace { // INLINED - __forceinline std::string Basename(std::string path) { + __forceinline std::string Basename(const std::string& path) { + std::string name = path; const auto separator = path.rfind('\\'); - if (separator != std::string::npos) { - return path.substr(separator + 1); + name = path.substr(separator + 1); } - return path; + return name; } } @@ -98,18 +98,23 @@ void CGuildMgr::StoreEmblem(const void* bytes, std::uint32_t size, std::uint32_t // FUNCTION: fn_21954 void __stdcall CGuildMgr::ReceiveEmblem(std::uint16_t state, std::uint32_t guild, std::uint32_t revision, const unsigned char* bytes, int size) { CGuildMgr* manager = g_guildMgr; - - if (state == 0) { + switch (state) { + case 0: manager->m_receiveGuildId = guild; manager->m_receiveVersion = revision; manager->m_receiveData.clear(); - } else if (state == 1) { + break; + case 1: if (guild == manager->m_receiveGuildId && revision == manager->m_receiveVersion) { manager->m_receiveData.insert(manager->m_receiveData.end(), bytes, bytes + size); } - } else if (state == 2 && guild == manager->m_receiveGuildId && revision == manager->m_receiveVersion) { - StoreEmblem(manager->m_receiveData.data(), static_cast(manager->m_receiveData.size()), guild, revision); - RefreshEmblem(guild); + break; + case 2: + if (guild == manager->m_receiveGuildId && revision == manager->m_receiveVersion) { + StoreEmblem(manager->m_receiveData.data(), static_cast(manager->m_receiveData.size()), guild, revision); + RefreshEmblem(guild); + } + break; } }