diff options
| author | xxAtrain223 <xxAtrain223@users.noreply.github.com> | 2025-06-23 17:52:17 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-23 15:52:17 -0700 |
| commit | 17613d1f508cf6895df9785d42e089dc8ad1f606 (patch) | |
| tree | 7722c39835299ebe43189e1b40957d6d5b0fb8cc | |
| parent | b56414838078d58d240b9e964f7c9ea95a2534fa (diff) | |
Fix Available Checks On Load (#5599)
* Setup call to RecalculateAvailableChecks instead of direct call.
* Remove RecalculateAvailableChecks from CheckTrackerSettingsWindow::DrawElement.
| -rw-r--r-- | soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp index d0cad2544..1f53e4caf 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp @@ -587,7 +587,7 @@ void CheckTrackerLoadGame(int32_t fileNum) { Rando::Context::GetInstance()->GetEntranceShuffler()->ApplyEntranceOverrides(); } - RecalculateAvailableChecks(); + recalculateAvailable = true; } void CheckTrackerShopSlotChange(uint8_t cursorSlot, int16_t basePrice) { @@ -994,6 +994,11 @@ void CheckTrackerWindow::DrawElement() { return; } + if (recalculateAvailable) { + recalculateAvailable = false; + RecalculateAvailableChecks(); + } + SceneID sceneId = SCENE_ID_MAX; if (gPlayState != nullptr) { sceneId = (SceneID)gPlayState->sceneNum; @@ -1986,7 +1991,7 @@ void ImGuiDrawTwoColorPickerSection(const char* text, const char* cvarMainName, } void RecalculateAvailableChecks(RandomizerRegion startingRegion /* = RR_ROOT */) { - if (!enableAvailableChecks || !GameInteractor::IsSaveLoaded(true)) { + if (!enableAvailableChecks || !GameInteractor::IsSaveLoaded()) { return; } @@ -2052,10 +2057,6 @@ static std::unordered_map<int32_t, const char*> buttonStrings = { }; void CheckTrackerSettingsWindow::DrawElement() { - if (recalculateAvailable) { - recalculateAvailable = false; - RecalculateAvailableChecks(); - } ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, { 8.0f, 8.0f }); if (ImGui::BeginTable("CheckTrackerSettingsTable", 2, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) { ImGui::TableSetupColumn("General settings", ImGuiTableColumnFlags_WidthStretch, 200.0f); |
