diff options
| author | shuffle2 <godisgovernment@gmail.com> | 2016-10-03 20:09:35 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-03 20:09:35 -0700 |
| commit | 5c0fa4db4fa4a2533c190825e83675f074eaf50c (patch) | |
| tree | f012c83d0f2ed32f49d2b43fa1c877d629cbdfee /Source/Core/VideoCommon/OnScreenDisplay.cpp | |
| parent | b8731eb8180d76b4663eaf4188f985b9c5fa6fb2 (diff) | |
| parent | fa5fa8e09473fb8750af2a21fa24dff76970a681 (diff) | |
Merge pull request #4286 from shuffle2/Aestek-clean-osd
Clean OSD messages code
Diffstat (limited to 'Source/Core/VideoCommon/OnScreenDisplay.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/OnScreenDisplay.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/OnScreenDisplay.cpp b/Source/Core/VideoCommon/OnScreenDisplay.cpp index 62997cd150..d0f6f24825 100644 --- a/Source/Core/VideoCommon/OnScreenDisplay.cpp +++ b/Source/Core/VideoCommon/OnScreenDisplay.cpp @@ -21,18 +21,24 @@ static std::multimap<CallbackType, Callback> s_callbacks; static std::multimap<MessageType, Message> s_messages; static std::mutex s_messages_mutex; +static std::string CleanMessage(std::string message) +{ + std::replace_if(message.begin(), message.end(), [](char c) { return !std::isprint(c); }, '?'); + return message; +} + void AddTypedMessage(MessageType type, const std::string& message, u32 ms, u32 rgba) { std::lock_guard<std::mutex> lock(s_messages_mutex); s_messages.erase(type); - s_messages.emplace(type, Message(message, Common::Timer::GetTimeMs() + ms, rgba)); + s_messages.emplace(type, Message(CleanMessage(message), Common::Timer::GetTimeMs() + ms, rgba)); } void AddMessage(const std::string& message, u32 ms, u32 rgba) { std::lock_guard<std::mutex> lock(s_messages_mutex); s_messages.emplace(MessageType::Typeless, - Message(message, Common::Timer::GetTimeMs() + ms, rgba)); + Message(CleanMessage(message), Common::Timer::GetTimeMs() + ms, rgba)); } void DrawMessage(const Message& msg, int top, int left, int time_left) @@ -52,7 +58,7 @@ void DrawMessages() std::lock_guard<std::mutex> lock(s_messages_mutex); u32 now = Common::Timer::GetTimeMs(); - int left = 20, top = 35; + int left = 20, top = 20; auto it = s_messages.begin(); while (it != s_messages.end()) |
