mirror of https://github.com/zeldaret/tmc.git
Match sub_08026968
This commit is contained in:
parent
36579fb5ec
commit
4b4065ba77
|
@ -18,61 +18,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
thumb_func_start sub_08026968
|
|
||||||
sub_08026968: @ 0x08026968
|
|
||||||
push {r4, r5, r6, lr}
|
|
||||||
adds r2, r0, #0
|
|
||||||
adds r1, r2, #0
|
|
||||||
adds r1, #0x7d
|
|
||||||
ldrb r0, [r1]
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r1]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
lsrs r0, r0, #0x18
|
|
||||||
cmp r0, #0xff
|
|
||||||
bne _0802698C
|
|
||||||
adds r0, r2, #0
|
|
||||||
adds r0, #0x84
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldrb r0, [r1, #3]
|
|
||||||
adds r0, #1
|
|
||||||
strb r0, [r1, #3]
|
|
||||||
b _080269C0
|
|
||||||
_0802698C:
|
|
||||||
ldr r6, [r2, #0x54]
|
|
||||||
ldr r4, [r2, #0x68]
|
|
||||||
ldr r5, [r2, #0x50]
|
|
||||||
ldrb r1, [r2, #0x15]
|
|
||||||
movs r0, #0x10
|
|
||||||
ands r0, r1
|
|
||||||
ldr r3, _080269C8 @ =0xFFFFFF00
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080269A2
|
|
||||||
movs r3, #0x80
|
|
||||||
lsls r3, r3, #1
|
|
||||||
_080269A2:
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x82
|
|
||||||
ldrh r0, [r1]
|
|
||||||
adds r0, r0, r3
|
|
||||||
strh r0, [r1]
|
|
||||||
adds r1, r5, #0
|
|
||||||
adds r1, #0x82
|
|
||||||
ldrh r0, [r1]
|
|
||||||
adds r0, r0, r3
|
|
||||||
strh r0, [r1]
|
|
||||||
adds r1, r6, #0
|
|
||||||
adds r1, #0x82
|
|
||||||
ldrh r0, [r1]
|
|
||||||
adds r0, r0, r3
|
|
||||||
strh r0, [r1]
|
|
||||||
_080269C0:
|
|
||||||
adds r0, r2, #0
|
|
||||||
bl sub_08027870
|
|
||||||
pop {r4, r5, r6, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_080269C8: .4byte 0xFFFFFF00
|
|
||||||
|
|
||||||
thumb_func_start sub_080269CC
|
thumb_func_start sub_080269CC
|
||||||
sub_080269CC: @ 0x080269CC
|
sub_080269CC: @ 0x080269CC
|
||||||
.ifdef EU
|
.ifdef EU
|
||||||
|
|
|
@ -43,8 +43,7 @@ typedef struct _ChuchuBossEntity {
|
||||||
u16 unk_7e;
|
u16 unk_7e;
|
||||||
u8 unk_80;
|
u8 unk_80;
|
||||||
u8 unk_81;
|
u8 unk_81;
|
||||||
u8 unk_82;
|
union SplitHWord unk_82;
|
||||||
u8 unk_83;
|
|
||||||
Helper* unk_84;
|
Helper* unk_84;
|
||||||
} ChuchuBossEntity;
|
} ChuchuBossEntity;
|
||||||
|
|
||||||
|
@ -479,18 +478,18 @@ void sub_08026110(ChuchuBossEntity* this) {
|
||||||
this->unk_74.WORD -= this->unk_80 * 0x1000;
|
this->unk_74.WORD -= this->unk_80 * 0x1000;
|
||||||
this->unk_78.WORD -= this->unk_80 * 0x1000;
|
this->unk_78.WORD -= this->unk_80 * 0x1000;
|
||||||
uVar3 = this->unk_74.HALF_U.HI;
|
uVar3 = this->unk_74.HALF_U.HI;
|
||||||
uVar2 = this->unk_82 + (u8)this->unk_84->unk_05;
|
uVar2 = this->unk_82.HALF.LO + (u8)this->unk_84->unk_05;
|
||||||
if (uVar3 <= uVar2) {
|
if (uVar3 <= uVar2) {
|
||||||
this->unk_74.HALF.HI = uVar2;
|
this->unk_74.HALF.HI = uVar2;
|
||||||
}
|
}
|
||||||
uVar3 = this->unk_78.HALF_U.HI;
|
uVar3 = this->unk_78.HALF_U.HI;
|
||||||
uVar2 = this->unk_82;
|
uVar2 = this->unk_82.HALF.LO;
|
||||||
uVar2 += (u8)this->unk_84->unk_05;
|
uVar2 += (u8)this->unk_84->unk_05;
|
||||||
if (uVar3 <= uVar2) {
|
if (uVar3 <= uVar2) {
|
||||||
this->unk_78.HALF.HI = uVar2;
|
this->unk_78.HALF.HI = uVar2;
|
||||||
}
|
}
|
||||||
uVar3 = this->unk_74.HALF_U.HI;
|
uVar3 = this->unk_74.HALF_U.HI;
|
||||||
uVar2 = this->unk_82;
|
uVar2 = this->unk_82.HALF.LO;
|
||||||
uVar2 += (u8)this->unk_84->unk_05;
|
uVar2 += (u8)this->unk_84->unk_05;
|
||||||
if ((uVar3 <= uVar2) && (this->unk_78.HALF_U.HI <= uVar2)) {
|
if ((uVar3 <= uVar2) && (this->unk_78.HALF_U.HI <= uVar2)) {
|
||||||
super->timer ^= 1;
|
super->timer ^= 1;
|
||||||
|
@ -534,7 +533,7 @@ void sub_0802626C(ChuchuBossEntity* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_080262A8(ChuchuBossEntity* this) {
|
void sub_080262A8(ChuchuBossEntity* this) {
|
||||||
this->unk_82 = 0x90;
|
this->unk_82.HALF.LO = 0x90;
|
||||||
this->unk_81 = 0xb0;
|
this->unk_81 = 0xb0;
|
||||||
this->unk_80 = 8;
|
this->unk_80 = 8;
|
||||||
super->timer = 1;
|
super->timer = 1;
|
||||||
|
@ -746,8 +745,8 @@ void sub_08026750(ChuchuBossEntity* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_08026774(ChuchuBossEntity* this) {
|
void sub_08026774(ChuchuBossEntity* this) {
|
||||||
if ((((ChuchuBossEntity*)super->child)->unk_83 | ((ChuchuBossEntity*)super->parent)->unk_83 |
|
if ((((ChuchuBossEntity*)super->child)->unk_82.HALF.HI | ((ChuchuBossEntity*)super->parent)->unk_82.HALF.HI |
|
||||||
this->unk_68->unk_83) == 0) {
|
this->unk_68->unk_82.HALF.HI) == 0) {
|
||||||
if (this->unk_7d-- != 0) {
|
if (this->unk_7d-- != 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -832,3 +831,27 @@ void sub_08026914(ChuchuBossEntity* this) {
|
||||||
void sub_0802694C(ChuchuBossEntity* this) {
|
void sub_0802694C(ChuchuBossEntity* this) {
|
||||||
gUnk_080CC26C[this->unk_84->unk_03](this);
|
gUnk_080CC26C[this->unk_84->unk_03](this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_08026968(ChuchuBossEntity* this) {
|
||||||
|
s32 sVar5;
|
||||||
|
ChuchuBossEntity* pEVar6;
|
||||||
|
ChuchuBossEntity* pEVar7;
|
||||||
|
ChuchuBossEntity* pEVar8;
|
||||||
|
|
||||||
|
if (this->unk_7d-- == 0) {
|
||||||
|
this->unk_84->unk_03++;
|
||||||
|
} else {
|
||||||
|
pEVar7 = (ChuchuBossEntity*)super->child;
|
||||||
|
pEVar8 = this->unk_68;
|
||||||
|
pEVar6 = (ChuchuBossEntity*)super->parent;
|
||||||
|
if ((super->direction & 0x10) != 0) {
|
||||||
|
sVar5 = 0x100;
|
||||||
|
} else {
|
||||||
|
sVar5 = -0x100;
|
||||||
|
}
|
||||||
|
pEVar8->unk_82.HWORD += sVar5;
|
||||||
|
pEVar6->unk_82.HWORD += sVar5;
|
||||||
|
pEVar7->unk_82.HWORD += sVar5;
|
||||||
|
}
|
||||||
|
sub_08027870(super);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue