item: make SLOT macro safe for custom items

When creating custom items, have a fallback slot for custom item ids
that don't have an entry in the itemId -> slot mapping table

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin 2025-07-12 10:05:38 -07:00
commit dd53ad8cd4

View file

@ -65,7 +65,7 @@
#define IS_DAY (gSaveContext.nightFlag == 0) #define IS_DAY (gSaveContext.nightFlag == 0)
#define IS_NIGHT (gSaveContext.nightFlag == 1) #define IS_NIGHT (gSaveContext.nightFlag == 1)
#define SLOT(item) gItemSlots[item] #define SLOT(item) (item > ARRAY_COUNT(gItemSlots)-1 ? SLOT_BOTTLE_1 : gItemSlots[item])
#define INV_CONTENT(item) gSaveContext.inventory.items[SLOT(item)] #define INV_CONTENT(item) gSaveContext.inventory.items[SLOT(item)]
#define AMMO(item) gSaveContext.inventory.ammo[SLOT(item)] #define AMMO(item) gSaveContext.inventory.ammo[SLOT(item)]
#define BEANS_BOUGHT AMMO(ITEM_BEAN + 1) #define BEANS_BOUGHT AMMO(ITEM_BEAN + 1)