1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Remove chat escape sequences from chat messages, for future colored chat.

This commit is contained in:
Ekdohibs 2016-03-15 13:34:27 +01:00 committed by est31
parent af30183124
commit 095f623fa7
3 changed files with 37 additions and 0 deletions

View file

@ -729,6 +729,33 @@ static bool parseNamedColorString(const std::string &value, video::SColor &color
return true;
}
std::wstring removeChatEscapes(const std::wstring &s) {
std::wstring output;
size_t i = 0;
while (i < s.length()) {
if (s[i] == L'\v') {
++i;
if (i == s.length()) continue;
if (s[i] == L'(') {
++i;
while (i < s.length() && s[i] != L')') {
if (s[i] == L'\\') {
++i;
}
++i;
}
++i;
} else {
++i;
}
continue;
}
output += s[i];
++i;
}
return output;
}
void str_replace(std::string &str, char from, char to)
{
std::replace(str.begin(), str.end(), from, to);