Put const data in itemTryPickupObject

This commit is contained in:
Tal Hayon 2022-04-16 20:56:55 +03:00
parent 456cf5f5b9
commit 2cad513327
3 changed files with 11 additions and 19 deletions

View File

@ -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

View File

@ -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);

View File

@ -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) {