From 6a6e97386780455ad2e6878d077ab9ad0a79c398 Mon Sep 17 00:00:00 2001 From: TheBrokenRail Date: Tue, 16 Feb 2021 14:35:03 -0500 Subject: [PATCH] Fix Chat Logs When Wrapping --- mods/src/misc/misc.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/mods/src/misc/misc.cpp b/mods/src/misc/misc.cpp index 0d39ecd..ce9c06f 100644 --- a/mods/src/misc/misc.cpp +++ b/mods/src/misc/misc.cpp @@ -100,12 +100,24 @@ static void Inventory_selectSlot_injection(unsigned char *inventory, int32_t slo } // Print Chat To Log +static bool Gui_addMessage_recursing = false; static void Gui_addMessage_injection(unsigned char *gui, std::string const& text) { - // Print Log Message - fprintf(stderr, "[CHAT]: %s\n", text.c_str()); + if (!Gui_addMessage_recursing) { + // Start Recursing + Gui_addMessage_recursing = true; - // Call Original Method - (*Gui_addMessage)(gui, text); + // Print Log Message + fprintf(stderr, "[CHAT]: %s\n", text.c_str()); + + // Call Original Method + (*Gui_addMessage)(gui, text); + + // End Recursing + Gui_addMessage_recursing = false; + } else { + // Call Original Method + (*Gui_addMessage)(gui, text); + } } void init_misc_cpp() {