Match sub_08044000

This commit is contained in:
Tal Hayon 2022-05-05 17:15:02 +03:00
parent 45806a810f
commit c0b88caad2
2 changed files with 9 additions and 67 deletions

View File

@ -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

View File

@ -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) {