From c0b88caad2b1d6a45929dafd757b186d4daa5707 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Thu, 5 May 2022 17:15:02 +0300 Subject: [PATCH] Match sub_08044000 --- asm/non_matching/vaati/sub_08044000.inc | 59 ------------------------- src/enemy/vaatiArm.c | 17 +++---- 2 files changed, 9 insertions(+), 67 deletions(-) delete mode 100644 asm/non_matching/vaati/sub_08044000.inc diff --git a/asm/non_matching/vaati/sub_08044000.inc b/asm/non_matching/vaati/sub_08044000.inc deleted file mode 100644 index eb4a964a..00000000 --- a/asm/non_matching/vaati/sub_08044000.inc +++ /dev/null @@ -1,59 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #1 - ldr r0, _08044070 @ =gUnk_080D1400 - movs r3, #0 - ldr r2, _08044074 @ =gUnk_080D1414 - mov ip, r2 - movs r7, #8 - rsbs r7, r7, #0 - adds r5, r1, r0 - movs r6, #0x18 -_0804401C: - ldr r0, [r4, #0x64] - lsls r1, r3, #2 - adds r0, r0, r1 - ldr r2, [r0] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r2, #0x29 - ldrb r1, [r2] - adds r0, r7, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r4, #0x64] - adds r1, r1, r6 - ldrh r0, [r5] - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #7 - strh r0, [r1, #4] - mov r2, ip - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1, #0xc] - adds r5, #2 - adds r6, #0x10 - adds r3, #1 - cmp r3, #4 - bls _0804401C - adds r0, r4, #0 - movs r1, #7 - bl InitAnimationForceUpdate - ldr r1, [r4, #0x64] - ldr r0, [r1, #0x14] - ldr r1, [r1, #0x10] - bl CopyPosition - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08044070: .4byte gUnk_080D1400 -_08044074: .4byte gUnk_080D1414 - .syntax divided diff --git a/src/enemy/vaatiArm.c b/src/enemy/vaatiArm.c index 1512c92f..912e48cc 100644 --- a/src/enemy/vaatiArm.c +++ b/src/enemy/vaatiArm.c @@ -167,8 +167,10 @@ const u8 gUnk_080D13E0[] = { 0xc, 0xe, 0x10 }; const u8 gUnk_080D13E3[] = { 8, 9, 10, 4, 4, 5 }; const s8 gUnk_080D13E9[] = { -8, 8 }; const ScreenTransitionData gUnk_080D13EC = { 1, { 0, 0, 0, 0 }, 0x98, 0xb8, 0, 0x8a, 0, 1, 0, 0, 0 }; -const u16 gUnk_080D1400[] = { 0x8000, 0x7000, 0x6000, 0x5000, 0x4000, 0x8000, -0x7000 }; -const u16 gUnk_080D140E[] = { -0x6000, -0x5000, -0x4000 }; +const u16 gUnk_080D1400[][5] = { + { 0x8000, 0x7000, 0x6000, 0x5000, 0x4000 }, + { 0x8000, -0x7000, -0x6000, -0x5000, -0x4000 }, +}; const u8 gUnk_080D1414[] = { 0, 0xc, 0xe, 0x10, 0x1c }; const u8 gUnk_080D1419[] = { 0, 0xa, 0xa, 0xa, 0x1c }; @@ -1423,26 +1425,25 @@ static void sub_08043EB8(Entity* this) { } } -static NONMATCH("asm/non_matching/vaati/sub_08044000.inc", void sub_08044000(Entity* this)) { +void sub_08044000(Entity* this) { Entity* entity; u32 i; VaatiArm_HeapStruct1* ptr; const u16* ptr2; - ptr2 = &gUnk_080D1400[this->type2 * 5]; - for (i = 0; i < 5; ptr2++, i++) { + ptr2 = gUnk_080D1400[this->type2]; + for (i = 0; i < 5; i++) { entity = ((VaatiArm_HeapStruct*)this->myHeap)->entities[i]; - entity->flags = entity->flags | ENT_COLLIDE; + entity->flags = entity->flags | 0x80; entity->spritePriority.b0 = 4; ptr = &((VaatiArm_HeapStruct*)this->myHeap)->s1[i]; - ptr->unk00.HWORD = *ptr2; + ptr->unk00.HWORD = ptr2[i]; ptr->unk04.HWORD = 0x4000; ptr->unk0c = gUnk_080D1414[i]; } InitAnimationForceUpdate(this, 7); CopyPosition(((VaatiArm_HeapStruct*)this->myHeap)->parent, ((VaatiArm_HeapStruct*)this->myHeap)->entities[4]); } -END_NONMATCH static void sub_08044078(Entity* this) { if (this->action == 0) {