Match sub_080279E8

This commit is contained in:
Tal Hayon 2022-07-19 04:13:33 +03:00
parent 27d04023f7
commit 92287593ac
2 changed files with 28 additions and 68 deletions

View File

@ -13,74 +13,6 @@
thumb_func_start sub_080279E8
sub_080279E8: @ 0x080279E8
push {r4, lr}
sub sp, #4
adds r2, r0, #0
ldr r4, [r2, #0x54]
adds r0, #0x81
ldrb r0, [r0]
cmp r0, #0x80
bne _08027A20
adds r0, r2, #0
adds r0, #0x76
ldrh r1, [r0]
adds r0, #0xe
ldr r0, [r0]
ldrb r0, [r0, #5]
subs r1, r1, r0
cmp r1, #0x80
bne _08027A58
adds r0, r2, #0
adds r0, #0x82
ldrb r1, [r0]
movs r0, #1
str r0, [sp]
adds r0, r2, #0
movs r2, #0xa0
movs r3, #0x20
bl sub_08027B98
b _08027A58
_08027A20:
adds r0, r4, #0
adds r0, #0x76
ldrh r1, [r0]
adds r3, r0, #0
cmp r1, #0xa0
bls _08027A30
subs r0, r1, #4
b _08027A32
_08027A30:
movs r0, #0xa0
_08027A32:
strh r0, [r3]
adds r0, r4, #0
adds r0, #0x7a
ldrh r2, [r0]
adds r1, r0, #0
cmp r2, #0xa0
bls _08027A44
subs r0, r2, #4
b _08027A46
_08027A44:
movs r0, #0xa0
_08027A46:
strh r0, [r1]
ldrh r0, [r3]
cmp r0, #0xa0
bne _08027A58
ldrh r0, [r1]
cmp r0, #0xa0
bne _08027A58
movs r0, #1
b _08027A5A
_08027A58:
movs r0, #0
_08027A5A:
add sp, #4
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08027A60
sub_08027A60: @ 0x08027A60

View File

@ -1646,3 +1646,31 @@ void sub_080279AC(ChuchuBossEntity* this, Entity* param_2, s32 param_3) {
param_2->hitbox->offset_x = param_2->spriteOffsetX;
param_2->hitbox->offset_y = param_2->spriteOffsetY;
}
bool32 sub_080279E8(ChuchuBossEntity* this) {
u32 sVar1;
u32 sVar2;
ChuchuBossEntity* pEVar4;
pEVar4 = (ChuchuBossEntity*)super->child;
if (this->unk_81 == 0x80) {
if (this->unk_74.HALF_U.HI - (u8)this->unk_84->unk_05 == 0x80) {
sub_08027B98(this, this->unk_82.HALF.LO, 0xa0, 0x20, 1);
}
} else {
if (pEVar4->unk_74.HALF_U.HI >= 0xa1) {
pEVar4->unk_74.HALF_U.HI = pEVar4->unk_74.HALF_U.HI - 4;
} else {
pEVar4->unk_74.HALF_U.HI = 0xa0;
}
if (pEVar4->unk_78.HALF_U.HI >= 0xa1) {
pEVar4->unk_78.HALF_U.HI = pEVar4->unk_78.HALF_U.HI - 4;
} else {
pEVar4->unk_78.HALF_U.HI = 0xa0;
}
if ((pEVar4->unk_74.HALF_U.HI == 0xa0) && (pEVar4->unk_78.HALF_U.HI == 0xa0)) {
return TRUE;
}
}
return FALSE;
}