diff --git a/soh/soh/Enhancements/debugger/debugSaveEditor.cpp b/soh/soh/Enhancements/debugger/debugSaveEditor.cpp index 048d1d6392..9acf3d1cc9 100644 --- a/soh/soh/Enhancements/debugger/debugSaveEditor.cpp +++ b/soh/soh/Enhancements/debugger/debugSaveEditor.cpp @@ -1,5 +1,6 @@ #include "debugSaveEditor.h" #include "../../util.h" +#include "../../OTRGlobals.h" #include "../libultraship/ImGuiImpl.h" #include "ImGuiHelpers.h" @@ -648,8 +649,9 @@ void DrawInventoryTab() { } // Trade quest flags are only used when shuffling the trade sequence, so - // this is only necessary when that's enabled. - if (gSaveContext.n64ddFlag && ImGui::TreeNode("Adult trade quest items")) { + // don't show this if it isn't needed. + if (gSaveContext.n64ddFlag && OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_SHUFFLE_ADULT_TRADE) + && ImGui::TreeNode("Adult trade quest items")) { for (int i = ITEM_POCKET_EGG; i <= ITEM_CLAIM_CHECK; i++) { DrawBGSItemFlag(i); } diff --git a/soh/src/code/z_adult_trade_shuffle.c b/soh/src/code/z_adult_trade_shuffle.c index 4566095923..437ab3f5a8 100644 --- a/soh/src/code/z_adult_trade_shuffle.c +++ b/soh/src/code/z_adult_trade_shuffle.c @@ -13,10 +13,10 @@ void Randomizer_ConsumeAdultTradeItem(GlobalContext* globalCtx, u8 itemId) { } u8 Randomizer_GetNextAdultTradeItem() { - const u16 numTradeItems = ITEM_CLAIM_CHECK - ITEM_POCKET_EGG + 1; - u16 currentTradeItemIndex = INV_CONTENT(ITEM_TRADE_ADULT) - ITEM_POCKET_EGG; + const u8 numTradeItems = ITEM_CLAIM_CHECK - ITEM_POCKET_EGG + 1; + u8 currentTradeItemIndex = INV_CONTENT(ITEM_TRADE_ADULT) - ITEM_POCKET_EGG; for (int i = 0; i < numTradeItems; i++) { - u16 tradeIndex = (currentTradeItemIndex + i + 1) % numTradeItems; + u8 tradeIndex = (currentTradeItemIndex + i + 1) % numTradeItems; if (gSaveContext.adultTradeItems & (1 << tradeIndex)) { return ITEM_POCKET_EGG + tradeIndex; } @@ -24,10 +24,10 @@ u8 Randomizer_GetNextAdultTradeItem() { } u8 Randomizer_GetPrevAdultTradeItem() { - const u16 numTradeItems = ITEM_CLAIM_CHECK - ITEM_POCKET_EGG + 1; - u16 currentTradeItemIndex = INV_CONTENT(ITEM_TRADE_ADULT) - ITEM_POCKET_EGG; + const u8 numTradeItems = ITEM_CLAIM_CHECK - ITEM_POCKET_EGG + 1; + u8 currentTradeItemIndex = INV_CONTENT(ITEM_TRADE_ADULT) - ITEM_POCKET_EGG; for (int i = 0; i < numTradeItems; i++) { - u16 tradeIndex = (currentTradeItemIndex - i - 1 + numTradeItems) % numTradeItems; + u8 tradeIndex = (currentTradeItemIndex - i - 1 + numTradeItems) % numTradeItems; if (gSaveContext.adultTradeItems & (1 << tradeIndex)) { return ITEM_POCKET_EGG + tradeIndex; }