diff --git a/assets/assets.json b/assets/assets.json index f09ae565..c48b731a 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -33905,11 +33905,6 @@ "start": 1088184, "size": 16 }, - { - "path": "playerItemSpiralBeam/gUnk_08109AD0.bin", - "start": 1088208, - "size": 8 - }, { "path": "animations/gSpriteAnimations_Gentari_0.bin", "start": 1088216, diff --git a/data/const/playerItem/playerItemSpiralBeam.s b/data/const/playerItem/playerItemSpiralBeam.s deleted file mode 100644 index 0ce9c6d0..00000000 --- a/data/const/playerItem/playerItemSpiralBeam.s +++ /dev/null @@ -1,12 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08109AC8:: @ 08109AC8 - .4byte sub_0805FBE8 - .4byte sub_0805FC74 - -gUnk_08109AD0:: @ 08109AD0 - .incbin "playerItemSpiralBeam/gUnk_08109AD0.bin" diff --git a/linker.ld b/linker.ld index 7dc04024..39bb8747 100644 --- a/linker.ld +++ b/linker.ld @@ -1149,7 +1149,7 @@ SECTIONS { data/const/manager/manager38.o(.rodata); data/const/manager/manager39.o(.rodata); data/data_08108E6C.o(.rodata); - data/const/playerItem/playerItemSpiralBeam.o(.rodata); + src/playerItem/playerItemSpiralBeam.o(.rodata); data/animations/npc/gentari.o(.rodata); data/const/npc/festari.o(.rodata); data/animations/npc/festari.o(.rodata); diff --git a/src/playerItem/playerItemSpiralBeam.c b/src/playerItem/playerItemSpiralBeam.c index af4c0eae..153edce5 100644 --- a/src/playerItem/playerItemSpiralBeam.c +++ b/src/playerItem/playerItemSpiralBeam.c @@ -4,22 +4,26 @@ #include "effects.h" #include "asm.h" -extern void (*const gUnk_08109AC8[])(Entity*); -extern Hitbox gUnk_08109AD0; extern u8 gUnk_08003E44; +void sub_0805FBE8(Entity*); void sub_0805FC74(Entity*); void PlayerItemSpiralBeam(Entity* this) { - gUnk_08109AC8[this->action](this); + static void (*const actionFuncs[])(Entity*) = { + sub_0805FBE8, + sub_0805FC74, + }; + actionFuncs[this->action](this); } void sub_0805FBE8(Entity* this) { + static const Hitbox gUnk_08109AD0 = { 0, 0, { 4, 0, 0, 0 }, 6, 6 }; CopyPosition(&gPlayerEntity, this); this->action++; this->spriteSettings.draw = TRUE; this->collisionFlags = gPlayerEntity.collisionFlags + 1; - this->hitbox = &gUnk_08109AD0; + this->hitbox = (Hitbox*)&gUnk_08109AD0; this->speed = 0x380; this->animationState = this->animationState & 0x7f; if (this->collisionLayer == 2) {