diff --git a/soh/soh/Enhancements/randomizer/randomizer.cpp b/soh/soh/Enhancements/randomizer/randomizer.cpp index eca1b61f9..401f38253 100644 --- a/soh/soh/Enhancements/randomizer/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer.cpp @@ -2071,6 +2071,11 @@ void GenerateRandomizerImgui() { } void DrawRandoEditor(bool& open) { + if (generated) { + generated = 0; + randoThread.join(); + } + if (!open) { return; } @@ -2088,14 +2093,12 @@ void DrawRandoEditor(bool& open) { } if (ImGui::Button("Generate")) { - GenerateRandomizerImgui(); + if (CVar_GetS32("gRandoGenerating", 0) == 0) { + randoThread = std::thread(&GenerateRandomizerImgui); + } + // GenerateRandomizerImgui(); } - // if (generated) { - // generated = 0; - // randoThread.join(); - // } - ImGui::End(); }