summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTal Hayon <talhayon1@gmail.com>2022-04-16 20:49:53 +0300
committerTal Hayon <talhayon1@gmail.com>2022-04-16 20:49:53 +0300
commit3c6101e313ca8bcdff03176da3958e9eec98446f (patch)
treeb58bdb1f128ad7b7b4a631a5a7070dc2007ab675
parent0f05b0237d9f9639514ad1fe24306679aa791a5c (diff)
Put const data in itemBow
-rw-r--r--data/const/item/itemBow.s14
-rw-r--r--linker.ld2
-rw-r--r--src/item/itemBow.c12
3 files changed, 11 insertions, 17 deletions
diff --git a/data/const/item/itemBow.s b/data/const/item/itemBow.s
deleted file mode 100644
index aebc0aaf..00000000
--- a/data/const/item/itemBow.s
+++ /dev/null
@@ -1,14 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2
-
-
-gUnk_0811BD80:: @ 0811BD80
- .4byte sub_08075DF4
- .4byte sub_08075E40
- .4byte sub_08075EC0
- .4byte sub_08075F38
- .4byte sub_08075F84
- .4byte sub_08075D88
diff --git a/linker.ld b/linker.ld
index 29becf13..19d4e077 100644
--- a/linker.ld
+++ b/linker.ld
@@ -1310,7 +1310,7 @@ SECTIONS {
src/item/itemSword.o(.rodata);
src/item/itemLantern.o(.rodata);
src/item/itemBoomerang.o(.rodata);
- data/const/item/itemBow.o(.rodata);
+ src/item/itemBow.o(.rodata);
data/const/item/itemBomb.o(.rodata);
data/const/item/itemTryPickupObject.o(.rodata);
src/item/itemPegasusBoots.o(.rodata);
diff --git a/src/item/itemBow.c b/src/item/itemBow.c
index 586a0505..d94e4c57 100644
--- a/src/item/itemBow.c
+++ b/src/item/itemBow.c
@@ -2,10 +2,18 @@
#include "functions.h"
#include "save.h"
-extern void (*const gUnk_0811BD80[])(ItemBehavior*, u32);
+void sub_08075DF4(ItemBehavior*, u32);
+void sub_08075E40(ItemBehavior*, u32);
+void sub_08075EC0(ItemBehavior*, u32);
+void sub_08075F38(ItemBehavior*, u32);
+void sub_08075F84(ItemBehavior*, u32);
+void sub_08075D88(ItemBehavior*, u32);
void ItemBow(ItemBehavior* this, u32 idx) {
- gUnk_0811BD80[this->stateID](this, idx);
+ static void (*const stateFuncs[])(ItemBehavior*, u32) = {
+ sub_08075DF4, sub_08075E40, sub_08075EC0, sub_08075F38, sub_08075F84, sub_08075D88,
+ };
+ stateFuncs[this->stateID](this, idx);
}
void sub_08075DF4(ItemBehavior* this, u32 idx) {