summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/OnScreenDisplay.cpp
diff options
context:
space:
mode:
authorshuffle2 <godisgovernment@gmail.com>2016-10-03 20:09:35 -0700
committerGitHub <noreply@github.com>2016-10-03 20:09:35 -0700
commit5c0fa4db4fa4a2533c190825e83675f074eaf50c (patch)
treef012c83d0f2ed32f49d2b43fa1c877d629cbdfee /Source/Core/VideoCommon/OnScreenDisplay.cpp
parentb8731eb8180d76b4663eaf4188f985b9c5fa6fb2 (diff)
parentfa5fa8e09473fb8750af2a21fa24dff76970a681 (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.cpp12
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())