diff --git a/data/const/item/itemTryPickupObject.s b/data/const/item/itemTryPickupObject.s deleted file mode 100644 index ba058a82..00000000 --- a/data/const/item/itemTryPickupObject.s +++ /dev/null @@ -1,14 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - - -gUnk_0811BDB4:: @ 0811BDB4 - .4byte ItemPickupCheck - .4byte sub_080762D8 - .4byte sub_08076488 - .4byte sub_08076518 - .4byte sub_080765E0 - .4byte sub_0807660C diff --git a/linker.ld b/linker.ld index 39c18d79..293fce16 100644 --- a/linker.ld +++ b/linker.ld @@ -1312,7 +1312,7 @@ SECTIONS { src/item/itemBoomerang.o(.rodata); src/item/itemBow.o(.rodata); src/item/itemBomb.o(.rodata); - data/const/item/itemTryPickupObject.o(.rodata); + src/item/itemTryPickupObject.o(.rodata); src/item/itemPegasusBoots.o(.rodata); data/const/item/itemOcarina.o(.rodata); data/const/item/itemPacciCane.o(.rodata); diff --git a/src/item/itemTryPickupObject.c b/src/item/itemTryPickupObject.c index 440f8075..976366ca 100644 --- a/src/item/itemTryPickupObject.c +++ b/src/item/itemTryPickupObject.c @@ -2,16 +2,22 @@ #include "functions.h" #include "sound.h" -extern void (*const gUnk_0811BDB4[])(ItemBehavior*, u32); - u32 sub_08077F64(ItemBehavior* arg0, u32 idx); - u32 sub_080789A8(void); void sub_080762C4(ItemBehavior*, Entity*, u8, u32); void sub_08076088(ItemBehavior*, void*, u32); +void ItemPickupCheck(ItemBehavior*, u32); +void sub_080762D8(ItemBehavior*, u32); +void sub_08076488(ItemBehavior*, u32); +void sub_08076518(ItemBehavior*, u32); +void sub_080765E0(ItemBehavior*, u32); +void sub_0807660C(ItemBehavior*, u32); void ItemTryPickupObject(ItemBehavior* this, u32 idx) { - gUnk_0811BDB4[this->stateID](this, idx); + static void (*const stateFuncs[])(ItemBehavior*, u32) = { + ItemPickupCheck, sub_080762D8, sub_08076488, sub_08076518, sub_080765E0, sub_0807660C, + }; + stateFuncs[this->stateID](this, idx); } void ItemPickupCheck(ItemBehavior* this, u32 idx) {