diff --git a/assets/assets.json b/assets/assets.json index 16282cb7..d0a11d9f 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -44064,11 +44064,6 @@ "start": 1208936, "size": 8 }, - { - "path": "playerItemFireRodProjectile/gUnk_08127278.bin", - "start": 1208952, - "size": 8 - }, { "offsets": { "DEMO_USA": 2640 diff --git a/data/const/playerItem/playerItemFireRodProjectile.s b/data/const/playerItem/playerItemFireRodProjectile.s deleted file mode 100644 index d38fda70..00000000 --- a/data/const/playerItem/playerItemFireRodProjectile.s +++ /dev/null @@ -1,13 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08127270:: @ 08127270 - .4byte sub_080A3084 - .4byte sub_080A310C - -gUnk_08127278:: @ 08127278 - .incbin "playerItemFireRodProjectile/gUnk_08127278.bin" - diff --git a/linker.ld b/linker.ld index e63e2ea2..57580ef3 100644 --- a/linker.ld +++ b/linker.ld @@ -1567,7 +1567,7 @@ SECTIONS { src/playerItemDefinitions.o(.rodata); data/data_08125104.o(.rodata); data/const/playerItem/playerItemShield.o(.rodata); - data/const/playerItem/playerItemFireRodProjectile.o(.rodata); + src/playerItem/playerItemFireRodProjectile.o(.rodata); #ifdef DEMO_USA src/demo.o(.rodata); #endif diff --git a/src/playerItem/playerItemFireRodProjectile.c b/src/playerItem/playerItemFireRodProjectile.c index 9e29cf46..072bedf1 100644 --- a/src/playerItem/playerItemFireRodProjectile.c +++ b/src/playerItem/playerItemFireRodProjectile.c @@ -15,22 +15,25 @@ typedef struct { extern u8 gUnk_08003E44; -extern void (*const gUnk_08127270[])(FireRodProjectileEntity*); - -extern Hitbox gUnk_08127278; +void sub_080A3084(FireRodProjectileEntity*); void sub_080A310C(FireRodProjectileEntity*); void PlayerItemFireRodProjectile(Entity* this) { - gUnk_08127270[this->action]((FireRodProjectileEntity*)this); + static void (*const actionFuncs[])(FireRodProjectileEntity*) = { + sub_080A3084, + sub_080A310C, + }; + actionFuncs[this->action]((FireRodProjectileEntity*)this); } void sub_080A3084(FireRodProjectileEntity* this) { + static const Hitbox gUnk_08127278 = { 0, 0, { 4, 2, 2, 4 }, 6, 6 }; super->spriteSettings.draw = 1; super->action = 0x01; CopyPosition(super->parent, super); if (super->type == 0) { super->collisionFlags = gPlayerEntity.collisionFlags + 1; - super->hitbox = &gUnk_08127278; + super->hitbox = (Hitbox*)&gUnk_08127278; super->speed = 0x400; if (super->collisionLayer == 0x02) { super->type2 = 0x01;