diff --git a/asm/enemy/chuchuBoss.s b/asm/enemy/chuchuBoss.s index 74006d38..707cf631 100644 --- a/asm/enemy/chuchuBoss.s +++ b/asm/enemy/chuchuBoss.s @@ -19,52 +19,6 @@ - thumb_func_start sub_08026BE8 -sub_08026BE8: @ 0x08026BE8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x54] - adds r3, r5, #0 - adds r3, #0x3b - ldrb r1, [r3] - movs r0, #0xfe - ands r0, r1 - strb r0, [r3] - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - adds r2, r0, #0 - cmp r2, #0 - bne _08026C34 - movs r0, #7 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r2, [r0, #3] - adds r1, #1 - movs r0, #0x2d - strb r0, [r1] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - ldrb r0, [r3] - movs r1, #1 - orrs r0, r1 - strb r0, [r3] - ldr r0, _08026C30 @ =0x00000155 - bl SoundReq - b _08026C38 - .align 2, 0 -_08026C30: .4byte 0x00000155 -_08026C34: - subs r0, #1 - strb r0, [r1] -_08026C38: - adds r0, r4, #0 - bl sub_08027870 - pop {r4, r5, pc} thumb_func_start sub_08026C40 sub_08026C40: @ 0x08026C40 diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c index f393d286..0d84698d 100644 --- a/src/enemy/chuchuBoss.c +++ b/src/enemy/chuchuBoss.c @@ -961,3 +961,21 @@ void sub_080269CC(ChuchuBossEntity* this) { } sub_08027870(super); } + +void sub_08026BE8(ChuchuBossEntity* this) { + Entity* child; + + child = super->child; + child->flags2 &= ~1; + if (this->unk_7c == 0) { + super->subAction = 7; + this->unk_84->unk_03 = 0; + this->unk_7d = 0x2d; + child->flags &= ~0x80; + child->flags2 |= 1; + SoundReq(SFX_155); + } else { + this->unk_7c--; + } + sub_08027870(super); +}