diff options
| author | Garrett Cox <garrettjcox@gmail.com> | 2026-01-19 23:13:52 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-19 23:13:52 -0600 |
| commit | c768e773d14b4b1fcfa0608fa6ba7c6afcd6da2c (patch) | |
| tree | b3e4810d8aeb0b41a6b5c29ceae8c83bd2f6315f | |
| parent | 31690aed69d743b2757d94810d8741464aabd5aa (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.cpp | 11 |
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; |
