summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxxAtrain223 <xxAtrain223@users.noreply.github.com>2025-06-23 17:52:17 -0500
committerGitHub <noreply@github.com>2025-06-23 15:52:17 -0700
commit17613d1f508cf6895df9785d42e089dc8ad1f606 (patch)
tree7722c39835299ebe43189e1b40957d6d5b0fb8cc
parentb56414838078d58d240b9e964f7c9ea95a2534fa (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.cpp13
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);