vaatiarm: Fix sub_08043490

This commit is contained in:
Tal Hayon 2022-01-08 14:30:51 +02:00
parent dd6953fac9
commit ab0ea2a697
2 changed files with 7 additions and 81 deletions

View File

@ -1,75 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
ldr r0, [r4, #0x64]
ldr r0, [r0, #0x10]
mov ip, r0
ldrh r1, [r0, #0x36]
movs r2, #0x36
ldrsh r0, [r0, r2]
movs r2, #4
rsbs r2, r2, #0
cmp r0, r2
bge _080434C4
movs r0, #0xc0
lsls r0, r0, #9
mov r3, ip
str r0, [r3, #0x20]
movs r0, #0
movs r1, #2
strb r1, [r4, #0xd]
adds r2, r4, #0
adds r2, #0x7e
strb r0, [r2]
ldr r0, [r4, #0x64]
ldr r0, [r0, #0x14]
strb r1, [r0, #0xd]
b _08043514
_080434C4:
subs r0, r1, #2
mov r1, ip
strh r0, [r1, #0x36]
lsls r0, r0, #0x10
cmp r0, #0
bge _08043514
ldrb r0, [r1, #0x10]
movs r3, #0x80
orrs r0, r3
strb r0, [r1, #0x10]
ldrb r1, [r1, #0x18]
adds r0, r2, #0
ands r0, r1
movs r1, #1
orrs r0, r1
mov r2, ip
strb r0, [r2, #0x18]
adds r2, #0x3c
ldrb r1, [r2]
movs r0, #0xef
ands r0, r1
strb r0, [r2]
mov r1, ip
adds r1, #0x3f
movs r0, #0x3a
strb r0, [r1]
ldr r0, _0804351C @ =gUnk_080FD450
mov r1, ip
str r0, [r1, #0x48]
ldr r0, [r4, #0x64]
ldr r1, [r0, #8]
ldrb r0, [r1, #0x10]
orrs r3, r0
strb r3, [r1, #0x10]
ldr r0, [r4, #0x64]
ldr r2, [r0, #0xc]
ldrb r1, [r2, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r2, #0x10]
_08043514:
adds r0, r4, #0
bl UpdateAnimationSingleFrame
pop {r4, pc}
.align 2, 0
_0804351C: .4byte gUnk_080FD450
.syntax divided

View File

@ -944,8 +944,10 @@ void sub_08043440(Entity* this) {
}
}
NONMATCH("asm/non_matching/vaati/sub_08043490.inc", void sub_08043490(Entity* this)) {
void sub_08043490(Entity* this) {
Entity* entity;
Entity* entity2;
Entity* entity3;
entity = ((VaatiArm_HeapStruct*)this->myHeap)->entities[4];
if (entity->z.HALF.HI < -4) {
@ -961,15 +963,14 @@ NONMATCH("asm/non_matching/vaati/sub_08043490.inc", void sub_08043490(Entity* th
entity->field_0x3c = entity->field_0x3c & 0xef;
entity->hitType = 0x3a;
entity->hitbox = (Hitbox*)&gUnk_080FD450;
entity = ((VaatiArm_HeapStruct*)this->myHeap)->entities[2];
entity->flags = entity->flags | 0x80;
entity = ((VaatiArm_HeapStruct*)this->myHeap)->entities[3];
entity->flags = entity->flags & 0x7f;
entity2 = ((VaatiArm_HeapStruct*)this->myHeap)->entities[2];
entity2->flags = entity2->flags | 0x80;
entity3 = ((VaatiArm_HeapStruct*)this->myHeap)->entities[3];
entity3->flags = entity3->flags & 0x7f;
}
}
UpdateAnimationSingleFrame(this);
}
END_NONMATCH
void sub_08043520(Entity* this) {
Entity* entity;