Add hidden item constant usage

This commit is contained in:
GriffinR
2023-02-28 11:18:49 -05:00
parent 46a38eb3f4
commit 4bf48cf211
5 changed files with 41 additions and 30 deletions
+4 -4
View File
@@ -495,11 +495,11 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position
case 5:
case 6:
case BG_EVENT_HIDDEN_ITEM:
if (GetHiddenItemAttr((u32)bgEvent->bgUnion.script, HIDDEN_ITEM_UNDERFOOT) == TRUE)
if (GetHiddenItemAttr(bgEvent->bgUnion.hiddenItem, HIDDEN_ITEM_UNDERFOOT) == TRUE)
return NULL;
gSpecialVar_0x8005 = GetHiddenItemAttr((u32)bgEvent->bgUnion.script, HIDDEN_ITEM_ID);
gSpecialVar_0x8004 = GetHiddenItemAttr((u32)bgEvent->bgUnion.script, HIDDEN_ITEM_FLAG);
gSpecialVar_0x8006 = GetHiddenItemAttr((u32)bgEvent->bgUnion.script, HIDDEN_ITEM_QUANTITY);
gSpecialVar_0x8005 = GetHiddenItemAttr(bgEvent->bgUnion.hiddenItem, HIDDEN_ITEM_ITEM);
gSpecialVar_0x8004 = GetHiddenItemAttr(bgEvent->bgUnion.hiddenItem, HIDDEN_ITEM_FLAG);
gSpecialVar_0x8006 = GetHiddenItemAttr(bgEvent->bgUnion.hiddenItem, HIDDEN_ITEM_QUANTITY);
if (FlagGet(gSpecialVar_0x8004) == TRUE)
return NULL;
gSpecialVar_Facing = direction;
+9 -9
View File
@@ -1750,15 +1750,15 @@ u16 StickerManGetBragFlags(void)
u16 GetHiddenItemAttr(u32 hiddenItem, u8 attr)
{
if (attr == 0)
return hiddenItem & 0xFFFF;
else if (attr == 1)
return ((hiddenItem >> 16) & 0xFF) + 1000;
else if (attr == 2)
return (hiddenItem >> 24) & 0x7F;
else if (attr == 3)
return (hiddenItem >> 31) & 0x01;
else
if (attr == HIDDEN_ITEM_ITEM)
return GET_HIDDEN_ITEM_ITEM(hiddenItem);
else if (attr == HIDDEN_ITEM_FLAG)
return GET_HIDDEN_ITEM_FLAG(hiddenItem) + FLAG_HIDDEN_ITEMS_START;
else if (attr == HIDDEN_ITEM_QUANTITY)
return GET_HIDDEN_ITEM_QUANTITY(hiddenItem);
else if (attr == HIDDEN_ITEM_UNDERFOOT)
return GET_HIDDEN_ITEM_UNDERFOOT(hiddenItem);
else // Invalid
return 1;
}
+2 -2
View File
@@ -242,8 +242,8 @@ static void SetUnderfootHiddenItem(u8 taskId, u32 hiddenItem)
{
s16 *data = gTasks[taskId].data;
gSpecialVar_0x8004 = GetHiddenItemAttr(hiddenItem, HIDDEN_ITEM_FLAG);
gSpecialVar_0x8005 = GetHiddenItemAttr(hiddenItem, HIDDEN_ITEM_ID);
gSpecialVar_0x8006 = 1;
gSpecialVar_0x8005 = GetHiddenItemAttr(hiddenItem, HIDDEN_ITEM_ITEM);
gSpecialVar_0x8006 = 1; // Quantity. The 'HIDDEN_ITEM_QUANTITY' data is ignored for underfoot items
TV_PrintIntToStringVar(0, gSpecialVar_0x8005);
tHiddenItemFound = TRUE;
tItemX = 0;