mirror of https://github.com/zeldaret/tmc.git
Match sub_08026E1C
This commit is contained in:
parent
1f0a99b011
commit
204bc4e9a4
|
|
@ -9,148 +9,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
thumb_func_start sub_08026E1C
|
||||
sub_08026E1C: @ 0x08026E1C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, #4
|
||||
adds r4, r0, #0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x7c
|
||||
ldrb r0, [r1]
|
||||
adds r6, r0, #0
|
||||
cmp r6, #0
|
||||
bne _08026EE0
|
||||
ldr r0, [r4, #0x54]
|
||||
ldrb r0, [r0, #0xf]
|
||||
ldr r1, [r4, #0x50]
|
||||
ldrb r1, [r1, #0xf]
|
||||
ldr r2, [r4, #0x68]
|
||||
adds r0, r0, r1
|
||||
ldrb r2, [r2, #0xf]
|
||||
adds r0, r0, r2
|
||||
cmp r0, #0xa
|
||||
ble _08026EF2
|
||||
ldrb r0, [r4, #0x10]
|
||||
movs r1, #0x80
|
||||
mov r8, r1
|
||||
movs r7, #0
|
||||
mov r1, r8
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
bl sub_08027C54
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x84
|
||||
cmp r0, #0
|
||||
beq _08026E72
|
||||
ldr r1, [r5]
|
||||
ldrb r0, [r1, #4]
|
||||
adds r0, #1
|
||||
strb r0, [r1, #4]
|
||||
ldr r0, [r4, #0x54]
|
||||
adds r0, #0x45
|
||||
movs r1, #0xff
|
||||
strb r1, [r0]
|
||||
_08026E72:
|
||||
ldr r1, [r5]
|
||||
ldrb r0, [r1, #4]
|
||||
cmp r0, #3
|
||||
bne _08026EA0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x45
|
||||
strb r6, [r0]
|
||||
ldrb r0, [r4, #0x10]
|
||||
movs r1, #0x7f
|
||||
ands r1, r0
|
||||
strb r1, [r4, #0x10]
|
||||
ldr r3, [r4, #0x54]
|
||||
ldr r2, [r4, #0x50]
|
||||
ldr r0, [r4, #0x68]
|
||||
strb r1, [r0, #0x10]
|
||||
ldrb r0, [r4, #0x10]
|
||||
strb r0, [r2, #0x10]
|
||||
strb r0, [r3, #0x10]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3d
|
||||
movs r0, #0xc4
|
||||
strb r0, [r1]
|
||||
b _08026F14
|
||||
_08026EA0:
|
||||
movs r0, #4
|
||||
strb r0, [r1]
|
||||
ldr r1, [r5]
|
||||
movs r0, #0x81
|
||||
strb r0, [r1, #1]
|
||||
ldrb r0, [r4, #0x10]
|
||||
mov r1, r8
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0x7d
|
||||
strb r0, [r1]
|
||||
movs r0, #0xb
|
||||
strb r0, [r4, #0xd]
|
||||
ldr r0, [r5]
|
||||
strb r6, [r0, #3]
|
||||
ldr r0, [r4, #0x54]
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
str r6, [sp]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x80
|
||||
movs r2, #0x80
|
||||
movs r3, #0x80
|
||||
bl sub_08027B98
|
||||
ldr r1, [r5]
|
||||
movs r0, #0x21
|
||||
strb r0, [r1, #1]
|
||||
b _08026EF2
|
||||
_08026EE0:
|
||||
subs r0, #1
|
||||
movs r2, #0
|
||||
strb r0, [r1]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x84
|
||||
ldr r0, [r1]
|
||||
str r2, [r0, #8]
|
||||
ldr r0, [r1]
|
||||
strb r2, [r0, #6]
|
||||
_08026EF2:
|
||||
adds r0, r4, #0
|
||||
bl sub_08027C54
|
||||
cmp r0, #0
|
||||
beq _08026F14
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x84
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #4]
|
||||
cmp r0, #2
|
||||
bne _08026F14
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x3f
|
||||
bl sub_08027C7C
|
||||
bl sub_08078B48
|
||||
_08026F14:
|
||||
add sp, #4
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_08026F1C
|
||||
sub_08026F1C: @ 0x08026F1C
|
||||
push {r4, r5, lr}
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ void sub_08027A60();
|
|||
bool32 sub_08027AA4(ChuchuBossEntity*);
|
||||
void sub_08027B98();
|
||||
void sub_08027BBC();
|
||||
void sub_08027C54();
|
||||
bool32 sub_08027C54();
|
||||
void sub_08027C7C(ChuchuBossEntity*, u32);
|
||||
void sub_08027C9C();
|
||||
void sub_08027D20();
|
||||
|
|
@ -1070,3 +1070,49 @@ void sub_08026C40(ChuchuBossEntity* this) {
|
|||
}
|
||||
sub_08027870(super);
|
||||
}
|
||||
|
||||
void sub_08026E1C(ChuchuBossEntity* this) {
|
||||
u32 uVar2;
|
||||
Entity* pEVar5;
|
||||
Entity* pEVar6;
|
||||
|
||||
if (this->unk_7c == 0) {
|
||||
if (10 < super->child->subtimer + super->parent->subtimer + this->unk_68->base.subtimer) {
|
||||
COLLISION_ON(super);
|
||||
if (sub_08027C54(this)) {
|
||||
this->unk_84->unk_04++;
|
||||
;
|
||||
super->child->health = 0xff;
|
||||
}
|
||||
if (this->unk_84->unk_04 == 3) {
|
||||
super->health = 0;
|
||||
COLLISION_OFF(super);
|
||||
pEVar6 = super->child;
|
||||
pEVar5 = super->parent;
|
||||
this->unk_68->base.flags = super->flags;
|
||||
uVar2 = super->flags;
|
||||
pEVar5->flags = uVar2;
|
||||
pEVar6->flags = uVar2;
|
||||
super->iframes = -0x3c;
|
||||
return;
|
||||
}
|
||||
this->unk_84->unk_00 = 4;
|
||||
this->unk_84->unk_01 = 0x81;
|
||||
COLLISION_ON(super);
|
||||
super->hitType = 0x7d;
|
||||
super->subAction = 11;
|
||||
this->unk_84->unk_03 = 0;
|
||||
InitAnimationForceUpdate(super->child, 0);
|
||||
sub_08027B98(this, 0x80, 0x80, 0x80, 0);
|
||||
this->unk_84->unk_01 = 0x21;
|
||||
}
|
||||
} else {
|
||||
this->unk_7c--;
|
||||
this->unk_84->unk_08 = 0;
|
||||
this->unk_84->unk_06 = 0;
|
||||
}
|
||||
if ((sub_08027C54(this)) && this->unk_84->unk_04 == 2) {
|
||||
sub_08027C7C(this, 0x3f);
|
||||
sub_08078B48();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue