diff --git a/core/string/print_string.cpp b/core/string/print_string.cpp index 13cd621f15e..177ddc3c77a 100644 --- a/core/string/print_string.cpp +++ b/core/string/print_string.cpp @@ -298,6 +298,19 @@ void __print_line_rich(const String &p_string) { is_printing = false; } +void print_raw(const String &p_string) { + if (is_printing) { + __print_fallback(p_string, true); + return; + } + + is_printing = true; + + OS::get_singleton()->print("%s", p_string.utf8().get_data()); + + is_printing = false; +} + void print_error(const String &p_string) { if (!CoreGlobals::print_error_enabled) { return; diff --git a/core/string/print_string.h b/core/string/print_string.h index 4eb31608439..1914d36ca65 100644 --- a/core/string/print_string.h +++ b/core/string/print_string.h @@ -57,6 +57,7 @@ void remove_print_handler(const PrintHandlerList *p_handler); extern void __print_line(const String &p_string); extern void __print_line_rich(const String &p_string); +extern void print_raw(const String &p_string); extern void print_error(const String &p_string); extern bool is_print_verbose_enabled(); diff --git a/core/variant/variant_utility.cpp b/core/variant/variant_utility.cpp index cf7e2dcc765..6e95fe80957 100644 --- a/core/variant/variant_utility.cpp +++ b/core/variant/variant_utility.cpp @@ -1011,7 +1011,7 @@ void VariantUtilityFunctions::prints(const Variant **p_args, int p_arg_count, Ca } void VariantUtilityFunctions::printraw(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) { - OS::get_singleton()->print("%s", join_string(p_args, p_arg_count).utf8().get_data()); + print_raw(join_string(p_args, p_arg_count)); r_error.error = Callable::CallError::CALL_OK; }