diff --git a/asm/enemy/chuchuBoss.s b/asm/enemy/chuchuBoss.s index b971ec5b..af5eca52 100644 --- a/asm/enemy/chuchuBoss.s +++ b/asm/enemy/chuchuBoss.s @@ -8,70 +8,6 @@ - thumb_func_start sub_080262A8 -sub_080262A8: @ 0x080262A8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x82 - movs r6, #0 - movs r0, #0x90 - strb r0, [r1] - subs r1, #1 - movs r0, #0xb0 - strb r0, [r1] - subs r1, #1 - movs r0, #8 - strb r0, [r1] - movs r5, #1 - strb r5, [r4, #0xe] - adds r0, r4, #0 - movs r1, #6 - movs r2, #1 - bl sub_080276F4 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080262EC - ldr r1, _080262E8 @ =gPlayerState - movs r0, #0x82 - lsls r0, r0, #1 - strh r0, [r1, #8] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r5, [r0, #3] - b _0802631A - .align 2, 0 -_080262E8: .4byte gPlayerState -_080262EC: - adds r0, r4, #0 - adds r0, #0x7c - strb r6, [r0] - adds r1, r4, #0 - adds r1, #0x7d - movs r0, #0x1e - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #3 - strb r0, [r1, #3] - ldr r0, _0802631C @ =gPlayerEntity - strb r6, [r0, #0x14] - ldr r0, _08026320 @ =gRoomControls - str r4, [r0, #0x30] - strb r5, [r0, #0xe] - ldr r0, _08026324 @ =0x00004022 - movs r1, #0xb2 - lsls r1, r1, #2 - movs r2, #1 - bl SetTile -_0802631A: - pop {r4, r5, r6, pc} - .align 2, 0 -_0802631C: .4byte gPlayerEntity -_08026320: .4byte gRoomControls -_08026324: .4byte 0x00004022 thumb_func_start sub_08026328 sub_08026328: @ 0x08026328 diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c index 87ab2a3d..f6a1e040 100644 --- a/src/enemy/chuchuBoss.c +++ b/src/enemy/chuchuBoss.c @@ -529,3 +529,23 @@ void sub_0802626C(ChuchuBossEntity* this) { sub_08078B48(); } } + +void sub_080262A8(ChuchuBossEntity* this) { + this->unk_80[2] = 0x90; + this->unk_80[1] = 0xb0; + this->unk_80[0] = 8; + super->timer = 1; + sub_080276F4(super, 6, 1); + if (super->type2 == 0) { + gPlayerState.animation = 0x104; + this->unk_84->unk_03 = 1; + } else { + this->unk_7c[0] = 0; + this->unk_7d = 0x1e; + this->unk_84->unk_03 = 3; + gPlayerEntity.animationState = 0; + gRoomControls.camera_target = super; + gRoomControls.unk5 = 1; + SetTile(0x4022, 0x2c8, 1); + } +}