diff --git a/mm/src/code/z_parameter.c b/mm/src/code/z_parameter.c index 8cbbc2979..3ba9f4cfa 100644 --- a/mm/src/code/z_parameter.c +++ b/mm/src/code/z_parameter.c @@ -3310,8 +3310,12 @@ void Interface_InitMinigame(PlayState* play) { void Interface_Dpad_LoadItemIconImpl(PlayState* play, u8 btn) { InterfaceContext* interfaceCtx = &play->interfaceCtx; - - interfaceCtx->iconItemSegment[DPAD_BUTTON(btn) + EQUIP_SLOT_MAX] = gItemIcons[DPAD_GET_CUR_FORM_BTN_ITEM(btn)]; + + if (DPAD_GET_CUR_FORM_BTN_ITEM(btn) < ARRAY_COUNT(gItemIcons)) { + interfaceCtx->iconItemSegment[DPAD_BUTTON(btn) + EQUIP_SLOT_MAX] = gItemIcons[DPAD_GET_CUR_FORM_BTN_ITEM(btn)]; + } else { + interfaceCtx->iconItemSegment[btn] = gEmptyTexture; + } } void Interface_LoadItemIconImpl(PlayState* play, u8 btn) { @@ -3320,7 +3324,11 @@ void Interface_LoadItemIconImpl(PlayState* play, u8 btn) { // #region 2S2H [Port] // CmpDma_LoadFile(SEGMENT_ROM_START(icon_item_static_yar), GET_CUR_FORM_BTN_ITEM(btn), // &interfaceCtx->iconItemSegment[(u32)btn * 0x1000], 0x1000); - interfaceCtx->iconItemSegment[btn] = gItemIcons[GET_CUR_FORM_BTN_ITEM(btn)]; + if (GET_CUR_FORM_BTN_ITEM(btn) < ARRAY_COUNT(gItemIcons)) { + interfaceCtx->iconItemSegment[btn] = gItemIcons[GET_CUR_FORM_BTN_ITEM(btn)]; + } else { + interfaceCtx->iconItemSegment[btn] = gEmptyTexture; + } // #endregion }