diff --git a/data/const/item/itemSword.s b/data/const/item/itemSword.s deleted file mode 100644 index a0b199df..00000000 --- a/data/const/item/itemSword.s +++ /dev/null @@ -1,16 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_0811BD44:: @ 0811BD44 - .4byte sub_08075338 - .4byte sub_080754B8 - .4byte sub_080755F0 - .4byte sub_0807564C - .4byte sub_08075738 - .4byte sub_08075580 - .4byte sub_08075898 - .4byte sub_080758B0 - .4byte sub_08075900 diff --git a/linker.ld b/linker.ld index 6397274f..dfcce126 100644 --- a/linker.ld +++ b/linker.ld @@ -1307,7 +1307,7 @@ SECTIONS { src/playerItem/playerItemPacciCane.o(.rodata); src/player.o(.rodata); src/item.o(.rodata); - data/const/item/itemSword.o(.rodata); + src/item/itemSword.o(.rodata); data/const/item/itemLantern.o(.rodata); data/const/item/itemBoomerang.o(.rodata); data/const/item/itemBow.o(.rodata); diff --git a/src/item/itemSword.c b/src/item/itemSword.c index 5c3dca2d..e6171072 100644 --- a/src/item/itemSword.c +++ b/src/item/itemSword.c @@ -4,18 +4,25 @@ #include "object.h" #include "playeritem.h" -extern void (*const gUnk_0811BD44[])(ItemBehavior*, u32); - void sub_080759B8(ItemBehavior*, u32); void sub_080754B8(ItemBehavior*, u32); void sub_08075898(ItemBehavior*, u32); void sub_08075580(ItemBehavior*, u32); - -void sub_08075694(ItemBehavior* this, u32 idx); +void sub_08075338(ItemBehavior*, u32); +void sub_080755F0(ItemBehavior*, u32); +void sub_0807564C(ItemBehavior*, u32); +void sub_08075738(ItemBehavior*, u32); +void sub_080758B0(ItemBehavior*, u32); +void sub_08075900(ItemBehavior*, u32); +void sub_08075694(ItemBehavior*, u32); void ItemSword(ItemBehavior* this, u32 idx) { + static void (*const stateFuncs[])(ItemBehavior*, u32) = { + sub_08075338, sub_080754B8, sub_080755F0, sub_0807564C, sub_08075738, + sub_08075580, sub_08075898, sub_080758B0, sub_08075900, + }; gPlayerState.framestate = PL_STATE_SWORD; - gUnk_0811BD44[this->stateID](this, idx); + stateFuncs[this->stateID](this, idx); } void sub_08075338(ItemBehavior* this, u32 idx) {