#pragma once #include #include extern XDBFWrapper g_xdbfWrapper; extern std::unordered_map g_xdbfTextureCache; namespace xdbf { inline std::string& FixInvalidSequences(std::string& str) { static std::vector invalidSequences = { "\xE2\x80\x99" }; static std::vector replaceSequences = { "'" }; for (int i = 0; i < invalidSequences.size(); i++) { size_t pos = 0; auto& invalidSeq = invalidSequences[i]; auto& replaceSeq = replaceSequences[i]; while ((pos = str.find(invalidSequences[i], pos)) != std::string::npos) { str = str.replace(pos, invalidSeq.length(), replaceSeq); pos += replaceSeq.length(); } } return str; } }