mirror of https://github.com/zeldaret/tmc.git
Match sub_080277F8
This commit is contained in:
parent
df272fcd6f
commit
d88ce74486
|
|
@ -9,69 +9,6 @@
|
|||
|
||||
|
||||
|
||||
thumb_func_start sub_080277F8
|
||||
sub_080277F8: @ 0x080277F8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r6, r0, #0
|
||||
ldr r3, [r6, #0x54]
|
||||
ldr r5, [r6, #0x68]
|
||||
ldr r4, [r6, #0x50]
|
||||
ldrh r2, [r6, #0x2e]
|
||||
strh r2, [r5, #0x2e]
|
||||
movs r7, #0xe
|
||||
strb r7, [r5, #0xe]
|
||||
ldrh r0, [r6, #0x32]
|
||||
subs r0, #0xe
|
||||
strh r0, [r5, #0x32]
|
||||
strh r2, [r4, #0x2e]
|
||||
movs r0, #0x7a
|
||||
adds r0, r0, r3
|
||||
mov ip, r0
|
||||
ldrh r1, [r0]
|
||||
subs r1, #0xa0
|
||||
asrs r1, r1, #4
|
||||
movs r0, #0x12
|
||||
subs r0, r0, r1
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r1, [r4, #0xe]
|
||||
ldrh r0, [r5, #0x32]
|
||||
subs r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
strh r2, [r3, #0x2e]
|
||||
mov r1, ip
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0xa0
|
||||
bls _0802784E
|
||||
subs r0, #0xa0
|
||||
asrs r0, r0, #2
|
||||
movs r1, #0xe
|
||||
subs r1, r1, r0
|
||||
strb r1, [r3, #0xe]
|
||||
movs r0, #0x80
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _08027850
|
||||
movs r0, #0
|
||||
strb r0, [r3, #0xe]
|
||||
b _08027850
|
||||
_0802784E:
|
||||
strb r7, [r3, #0xe]
|
||||
_08027850:
|
||||
ldrb r1, [r3, #0xe]
|
||||
ldrh r0, [r4, #0x32]
|
||||
subs r0, r0, r1
|
||||
strh r0, [r3, #0x32]
|
||||
ldr r0, [r3, #0x74]
|
||||
str r0, [r4, #0x74]
|
||||
ldr r0, [r3, #0x78]
|
||||
str r0, [r4, #0x78]
|
||||
ldr r0, [r3, #0x74]
|
||||
str r0, [r5, #0x74]
|
||||
ldr r0, [r3, #0x78]
|
||||
str r0, [r5, #0x78]
|
||||
adds r0, r6, #0
|
||||
bl sub_08027984
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_08027870
|
||||
sub_08027870: @ 0x08027870
|
||||
|
|
|
|||
|
|
@ -1533,3 +1533,36 @@ void sub_080277B8(ChuchuBossEntity* this, u32 param_2, s32 param_3) {
|
|||
}
|
||||
sub_080277F8(this);
|
||||
}
|
||||
|
||||
void sub_080277F8(ChuchuBossEntity* this) {
|
||||
u32 uVar1;
|
||||
ChuchuBossEntity* pEVar3;
|
||||
ChuchuBossEntity* pEVar4;
|
||||
ChuchuBossEntity* pEVar5;
|
||||
|
||||
pEVar3 = (ChuchuBossEntity*)super->child;
|
||||
pEVar5 = this->unk_68;
|
||||
pEVar4 = (ChuchuBossEntity*)super->parent;
|
||||
uVar1 = super->x.HALF_U.HI;
|
||||
pEVar5->base.x.HALF.HI = uVar1;
|
||||
pEVar5->base.timer = 14;
|
||||
pEVar5->base.y.HALF.HI = super->y.HALF.HI - 14;
|
||||
pEVar4->base.x.HALF.HI = uVar1;
|
||||
pEVar4->base.timer = 18 - ((pEVar3->unk_78.HALF_U.HI - 0xa0) >> 4);
|
||||
pEVar4->base.y.HALF.HI = pEVar5->base.y.HALF.HI - pEVar4->base.timer;
|
||||
pEVar3->base.x.HALF.HI = uVar1;
|
||||
if (pEVar3->unk_78.HALF_U.HI >= 0xa1) {
|
||||
pEVar3->base.timer = 14 - ((pEVar3->unk_78.HALF_U.HI - 0xa0) >> 2);
|
||||
if ((pEVar3->base.timer & 0x80) != 0) {
|
||||
pEVar3->base.timer = 0;
|
||||
}
|
||||
} else {
|
||||
pEVar3->base.timer = 14;
|
||||
}
|
||||
pEVar3->base.y.HALF.HI = pEVar4->base.y.HALF.HI - pEVar3->base.timer;
|
||||
pEVar4->unk_74.WORD = pEVar3->unk_74.WORD;
|
||||
pEVar4->unk_78.WORD = pEVar3->unk_78.WORD;
|
||||
pEVar5->unk_74.WORD = pEVar3->unk_74.WORD;
|
||||
pEVar5->unk_78.WORD = pEVar3->unk_78.WORD;
|
||||
sub_08027984(this);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue