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:
parent
af30183124
commit
095f623fa7
3 changed files with 37 additions and 0 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue