From 8749ca22609b6dad852a9e2b57d81d956bbdd4a3 Mon Sep 17 00:00:00 2001 From: gibbed Date: Sun, 22 Nov 2020 14:50:57 -0600 Subject: [PATCH] [Kernel] Filter thread names from guest. --- src/xenia/kernel/xboxkrnl/xboxkrnl_debug.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_debug.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_debug.cc index 345c82628..85a27b1c2 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_debug.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_debug.cc @@ -47,8 +47,12 @@ void HandleSetThreadName(pointer_t record) { return; } + // TODO(gibbed): cvar for thread name encoding for conversion, some games use + // SJIS and there's no way to automatically know this. auto name = - kernel_memory()->TranslateVirtual(thread_info->name_ptr); + std::string(kernel_memory()->TranslateVirtual(thread_info->name_ptr)); + std::replace_if( + name.begin(), name.end(), [](auto c) { return c < 32 || c > 127; }, '?'); object_ref thread; if (thread_info->thread_id == -1) {