summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarrett Cox <garrettjcox@gmail.com>2026-01-19 23:13:52 -0600
committerGitHub <noreply@github.com>2026-01-19 23:13:52 -0600
commitc768e773d14b4b1fcfa0608fa6ba7c6afcd6da2c (patch)
treeb3e4810d8aeb0b41a6b5c29ceae8c83bd2f6315f
parent31690aed69d743b2757d94810d8741464aabd5aa (diff)
Allow item tracker display without playstate, and fix icons rendering as ocarinas without playstate (#1477)
-rw-r--r--mm/2s2h/Enhancements/Trackers/ItemTracker/ItemTracker.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/mm/2s2h/Enhancements/Trackers/ItemTracker/ItemTracker.cpp b/mm/2s2h/Enhancements/Trackers/ItemTracker/ItemTracker.cpp
index c0e7eebcc..d68772892 100644
--- a/mm/2s2h/Enhancements/Trackers/ItemTracker/ItemTracker.cpp
+++ b/mm/2s2h/Enhancements/Trackers/ItemTracker/ItemTracker.cpp
@@ -28,6 +28,7 @@ extern std::shared_ptr<ItemTrackerWindow> mItemTrackerWindow;
std::vector<TrackerGroup> itemTrackerGroups;
TrackerImageObject GetImageObject(TrackerItemType itemType, u32 itemId) {
+ bool isSaveLoaded = gPlayState != NULL && gSaveContext.gameMode == GAMEMODE_NORMAL;
bool itemObtained = false;
TrackerImageObject trackerImageObject = {
.textureColor = ImVec4(1.0f, 1.0f, 1.0f, 1.0f),
@@ -88,7 +89,7 @@ TrackerImageObject GetImageObject(TrackerItemType itemType, u32 itemId) {
} break;
case TRACKER_ITEM_SLOT: {
itemObtained = gSaveContext.save.saveInfo.inventory.items[itemId] != ITEM_NONE;
- auto vanillaItemId = gSaveContext.save.saveInfo.inventory.items[itemId];
+ auto vanillaItemId = isSaveLoaded ? gSaveContext.save.saveInfo.inventory.items[itemId] : ITEM_NONE;
if (vanillaItemId == ITEM_NONE) {
vanillaItemId = safeItemsForInventorySlot[itemId][0];
}
@@ -148,6 +149,10 @@ TrackerImageObject GetImageObject(TrackerItemType itemType, u32 itemId) {
break;
}
+ if (!isSaveLoaded) {
+ itemObtained = false;
+ }
+
trackerImageObject.textureColor.w = itemObtained ? 1.0f : 0.4f;
return trackerImageObject;
}
@@ -383,10 +388,6 @@ void ItemTrackerWindow::Draw() {
return;
}
- if (!gPlayState) {
- return;
- }
-
ImGuiWindowFlags windowFlags = ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoNav |
ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoResize |
ImGuiWindowFlags_NoScrollWithMouse | ImGuiWindowFlags_NoScrollbar;