From 7f3b6a6a44bfe0809d76f01f690ad74356ac9ae8 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Fri, 9 Sep 2022 14:20:47 +0300 Subject: [PATCH] Match sub_0804334C --- asm/non_matching/vaati/sub_0804334C.inc | 111 ------------------------ src/enemy/vaatiArm.c | 21 ++--- 2 files changed, 9 insertions(+), 123 deletions(-) delete mode 100644 asm/non_matching/vaati/sub_0804334C.inc diff --git a/asm/non_matching/vaati/sub_0804334C.inc b/asm/non_matching/vaati/sub_0804334C.inc deleted file mode 100644 index 91e7120c..00000000 --- a/asm/non_matching/vaati/sub_0804334C.inc +++ /dev/null @@ -1,111 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08043388 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0804341C - movs r5, #0 - movs r7, #0x80 - movs r6, #4 - rsbs r6, r6, #0 - movs r3, #1 -_0804336A: - ldr r0, [r4, #0x64] - lsls r1, r5, #2 - adds r0, r0, r1 - ldr r2, [r0] - ldrb r0, [r2, #0x10] - orrs r0, r7 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x18] - adds r0, r6, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, #0x18] - adds r5, #1 - cmp r5, #4 - bls _0804336A -_08043388: - ldr r3, [r4, #0x64] - adds r2, r3, #0 - adds r2, #0x18 - ldr r1, _080433AC @ =gUnk_080D131C - ldrb r0, [r4, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - ldrb r1, [r2, #1] - subs r0, r0, r1 - adds r0, #1 - cmp r0, #2 - bls _080433B0 - ldrh r0, [r2, #8] - ldrh r1, [r3, #0x18] - adds r0, r0, r1 - strh r0, [r3, #0x18] - movs r7, #0 - b _080433B2 - .align 2, 0 -_080433AC: .4byte gUnk_080D131C -_080433B0: - movs r7, #1 -_080433B2: - adds r0, r4, #0 - bl sub_08043B9C - movs r5, #0 - movs r6, #0x18 -_080433BC: - ldr r0, [r4, #0x64] - adds r2, r0, r6 - ldr r0, _080433E4 @ =gUnk_080D1414 - adds r0, r5, r0 - ldrb r1, [r2, #0xc] - ldrb r3, [r0] - cmp r3, r1 - bls _080433E8 - adds r0, r1, #1 - strb r0, [r2, #0xc] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r3, r0 - bne _0804341C - movs r0, #0xaf - lsls r0, r0, #1 - bl SoundReq - b _0804341C - .align 2, 0 -_080433E4: .4byte gUnk_080D1414 -_080433E8: - cmp r7, #0 - beq _08043414 - cmp r5, #4 - bne _08043414 - adds r0, r4, #0 - bl sub_08043BC8 - adds r0, r4, #0 - movs r1, #7 - bl InitAnimationForceUpdate - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - cmp r0, #0 - beq _08043414 - movs r0, #0 - strb r0, [r1] - ldr r0, [r4, #0x64] - ldr r1, [r0, #0x14] - movs r0, #2 - strb r0, [r1, #0xd] -_08043414: - adds r6, #0x10 - adds r5, #1 - cmp r5, #4 - bls _080433BC -_0804341C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - .syntax divided diff --git a/src/enemy/vaatiArm.c b/src/enemy/vaatiArm.c index 569a6bbf..4ed717de 100644 --- a/src/enemy/vaatiArm.c +++ b/src/enemy/vaatiArm.c @@ -900,10 +900,9 @@ void sub_080432A8(Entity* this) { } } -static NONMATCH("asm/non_matching/vaati/sub_0804334C.inc", void sub_0804334C(Entity* this)) { - int bVar1; +void sub_0804334C(Entity* this) { + u32 bVar1; Entity* entity; - VaatiArm_HeapStruct1* s; u32 i; VaatiArm_HeapStruct1* ptr; @@ -913,13 +912,13 @@ static NONMATCH("asm/non_matching/vaati/sub_0804334C.inc", void sub_0804334C(Ent } for (i = 0; i < 5; i++) { entity = ((VaatiArm_HeapStruct*)this->myHeap)->entities[i]; - entity->flags = entity->flags | ENT_COLLIDE; + COLLISION_ON(entity); entity->spriteSettings.draw = 1; } } - s = &((VaatiArm_HeapStruct*)this->myHeap)->s1[0]; - if ((gUnk_080D131C[this->type2] - s->unk00.HALF.HI) + 1 > 2u) { - s->unk00.HWORD += s->unk08; + ptr = &((VaatiArm_HeapStruct*)this->myHeap)->s1[0]; + if (gUnk_080D131C[this->type2] - ptr->unk00.HALF.HI + 1 > 2u) { + ptr->unk00.HWORD += ptr->unk08; bVar1 = 0; } else { bVar1 = 1; @@ -927,12 +926,11 @@ static NONMATCH("asm/non_matching/vaati/sub_0804334C.inc", void sub_0804334C(Ent sub_08043B9C(this); for (i = 0; i < 5; i++) { ptr = &(((VaatiArm_HeapStruct*)this->myHeap)->s1)[i]; + if (gUnk_080D1414[i] > ptr->unk0c) { - ptr->unk0c++; - if (gUnk_080D1414[i] != ptr->unk0c) { - return; + if (gUnk_080D1414[i] == ++ptr->unk0c) { + SoundReq(SFX_15E); } - SoundReq(SFX_15E); return; } if ((bVar1) && (i == 4)) { @@ -945,7 +943,6 @@ static NONMATCH("asm/non_matching/vaati/sub_0804334C.inc", void sub_0804334C(Ent } } } -END_NONMATCH static void sub_08043420(Entity* this) { gUnk_080D1320[this->subAction](this);