diff --git a/asm/object/objectB6.s b/asm/object/objectB6.s deleted file mode 100644 index 7a6144ae..00000000 --- a/asm/object/objectB6.s +++ /dev/null @@ -1,42 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ObjectB6 -ObjectB6: @ 0x080A0E54 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xd] - cmp r0, #3 - bls _080A0E64 - bl DeleteThisEntity -_080A0E64: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080A0E76 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl InitializeAnimation -_080A0E76: - ldr r0, [r4, #0x50] - ldrb r3, [r4, #0xa] - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA90 - adds r2, r4, #0 - adds r2, #0x63 - ldrb r0, [r2] - ldrb r1, [r4, #0xa] - subs r0, r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl GetNextFrame - pop {r4, pc} - .align 2, 0 diff --git a/linker.ld b/linker.ld index 95ee0a28..fcdf02bd 100644 --- a/linker.ld +++ b/linker.ld @@ -806,7 +806,7 @@ SECTIONS { src/object/objectB3.o(.text); asm/object/objectB4.o(.text); src/object/objectB5.o(.text); - asm/object/objectB6.o(.text); + src/object/objectB6.o(.text); src/object/well.o(.text); src/object/windTribeTeleporter.o(.text); asm/object/objectB9.o(.text); diff --git a/src/object/objectB6.c b/src/object/objectB6.c new file mode 100644 index 00000000..aac1f103 --- /dev/null +++ b/src/object/objectB6.c @@ -0,0 +1,16 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "coord.h" + +void ObjectB6(Entity* this) { + if (this->parent->subAction > 3) { + DeleteThisEntity(); + } + if (this->action == 0) { + this->action = 1; + InitializeAnimation(this, this->type); + } + sub_0806FA90(this->parent, this, 0, this->type); + this->spriteOffsetY = this->spriteOffsetY - this->type; + GetNextFrame(this); +}