diff --git a/data/const/item/itemShield.s b/data/const/item/itemShield.s deleted file mode 100644 index da9f6a6a..00000000 --- a/data/const/item/itemShield.s +++ /dev/null @@ -1,10 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_0811BDE8:: @ 0811BDE8 - .4byte sub_08076D04 - .4byte sub_08076D34 - .4byte sub_08076D94 diff --git a/linker.ld b/linker.ld index 59c7d243..e0fb2b92 100644 --- a/linker.ld +++ b/linker.ld @@ -1316,7 +1316,7 @@ SECTIONS { src/item/itemPegasusBoots.o(.rodata); src/item/itemOcarina.o(.rodata); src/item/itemPacciCane.o(.rodata); - data/const/item/itemShield.o(.rodata); + src/item/itemShield.o(.rodata); src/item/itemGustJar.o(.rodata); data/const/item/itemMoleMitts.o(.rodata); data/const/item/itemJarEmpty.o(.rodata); diff --git a/src/item/itemShield.c b/src/item/itemShield.c index fe5eacea..f9a2abb0 100644 --- a/src/item/itemShield.c +++ b/src/item/itemShield.c @@ -4,10 +4,17 @@ #include "sound.h" #include "functions.h" -extern void (*const gUnk_0811BDE8[])(ItemBehavior* beh, u32); +void sub_08076D04(ItemBehavior*, u32); +void sub_08076D34(ItemBehavior*, u32); +void sub_08076D94(ItemBehavior*, u32); void ItemShield(ItemBehavior* beh, u32 idx) { - gUnk_0811BDE8[beh->stateID](beh, idx); + static void (*const stateFuncs[])(ItemBehavior*, u32) = { + sub_08076D04, + sub_08076D34, + sub_08076D94, + }; + stateFuncs[beh->stateID](beh, idx); } void sub_08076D04(ItemBehavior* beh, u32 idx) {