Put const data in itemSword

This commit is contained in:
Tal Hayon 2022-04-16 20:41:45 +03:00
parent bb43265c50
commit 7ce1bdd245
3 changed files with 13 additions and 22 deletions

View File

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

View File

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

View File

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