From e04505657e33275a4003cafb055523727f855181 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Sat, 16 Jul 2022 08:43:52 +0300 Subject: [PATCH] Match sub_08026358 --- asm/enemy/chuchuBoss.s | 51 ------------------------------------------ src/enemy/chuchuBoss.c | 22 ++++++++++++++++++ 2 files changed, 22 insertions(+), 51 deletions(-) diff --git a/asm/enemy/chuchuBoss.s b/asm/enemy/chuchuBoss.s index f847c3ca..23e7a51a 100644 --- a/asm/enemy/chuchuBoss.s +++ b/asm/enemy/chuchuBoss.s @@ -8,57 +8,6 @@ - thumb_func_start sub_08026358 -sub_08026358: @ 0x08026358 - push {r4, lr} - adds r3, r0, #0 - ldr r4, _08026398 @ =gPlayerEntity - ldrb r0, [r4, #0xc] - cmp r0, #0xf - beq _080263B0 - adds r1, r3, #0 - adds r1, #0x7d - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _080263A0 - adds r0, r3, #0 - adds r0, #0x7c - strb r2, [r0] - movs r0, #0x1e - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - strb r2, [r4, #0x14] - ldr r1, _0802639C @ =gRoomControls - str r3, [r1, #0x30] - movs r0, #1 - strb r0, [r1, #0xe] - b _080263B0 - .align 2, 0 -_08026398: .4byte gPlayerEntity -_0802639C: .4byte gRoomControls -_080263A0: - cmp r2, #0x60 - bhi _080263B0 - cmp r2, #0x5b - bhi _080263AC - movs r0, #4 - b _080263AE -_080263AC: - movs r0, #2 -_080263AE: - strb r0, [r4, #0x14] -_080263B0: - pop {r4, pc} - .align 2, 0 thumb_func_start sub_080263B4 sub_080263B4: @ 0x080263B4 diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c index 8e0c8622..9eac27a3 100644 --- a/src/enemy/chuchuBoss.c +++ b/src/enemy/chuchuBoss.c @@ -557,3 +557,25 @@ void sub_08026328(ChuchuBossEntity* this) { sub_08078AC0(10, 0, 0); } } + +void sub_08026358(ChuchuBossEntity* this) { + u32 bVar1; + + if (gPlayerEntity.action != 15) { + bVar1 = --this->unk_7d; + if (bVar1 == 0) { + this->unk_7c[0] = 0; + this->unk_7d = 0x1e; + this->unk_84->unk_03++; + gPlayerEntity.animationState = 0; + gRoomControls.camera_target = super; + gRoomControls.unk5 = 1; + } else if (bVar1 < 0x61) { + if (bVar1 < 0x5c) { + gPlayerEntity.animationState = 4; + } else { + gPlayerEntity.animationState = 2; + } + } + } +}