through sub_80111FC

This commit is contained in:
PikalaxALT 2018-01-20 19:51:19 -05:00
parent 3faaeafffe
commit 7af3cd051e
2 changed files with 62 additions and 173 deletions

View File

@ -5,179 +5,6 @@
.text
thumb_func_start sub_80110B8
sub_80110B8: @ 80110B8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
mov r9, r0
bl sub_800F7DC
ldrb r1, [r0, 0xA]
movs r0, 0x7F
ands r0, r1
cmp r0, 0x45
bne _0801114C
movs r5, 0
movs r7, 0
ldr r3, =gUnknown_03005000
ldr r1, =0x00000ce2
adds r0, r3, r1
ldr r2, =0x00000ce3
adds r1, r3, r2
ldrb r2, [r0]
ldrb r0, [r1]
adds r1, r0, 0
eors r1, r2
mov r8, r1
movs r4, 0
movs r6, 0x1
ldr r2, =gLinkPlayers
mov r12, r2
ldr r0, =0x00000cde
adds r0, r3
mov r10, r0
mov r3, r12
adds r3, 0x4
_080110FC:
mov r0, r8
asrs r0, r4
ands r0, r6
cmp r0, 0
beq _0801113C
mov r1, r10
adds r0, r4, r1
ldrb r1, [r0]
lsls r0, r1, 3
subs r0, r1
lsls r0, 2
mov r2, r12
adds r1, r0, r2
ldrb r1, [r1, 0x13]
adds r2, r6, 0
ands r2, r1
lsls r2, 3
adds r0, r3
ldr r1, [r0]
movs r0, 0x7
ands r1, r0
movs r0, 0x80
orrs r1, r0
orrs r2, r1
lsls r0, r5, 3
lsls r2, r0
orrs r7, r2
adds r5, 0x1
mov r0, r9
subs r0, 0x1
cmp r5, r0
beq _08011142
_0801113C:
adds r4, 0x1
cmp r4, 0x3
ble _080110FC
_08011142:
movs r0, 0x45
adds r1, r7, 0
movs r2, 0
bl sub_8011090
_0801114C:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_80110B8
thumb_func_start sub_8011170
sub_8011170: @ 8011170
push {r4,lr}
adds r4, r0, 0
ldr r2, =gUnknown_03005000
adds r3, r2, 0
adds r3, 0xEE
ldrb r0, [r3]
cmp r0, 0
bne _08011192
ldr r1, =gUnknown_03004140
ldrh r0, [r1, 0x14]
strh r0, [r2, 0x10]
ldrh r0, [r1, 0x16]
strh r0, [r2, 0x12]
strh r4, [r2, 0xA]
ldrb r0, [r3]
movs r0, 0x1
strb r0, [r3]
_08011192:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8011170
thumb_func_start sub_80111A0
sub_80111A0: @ 80111A0
ldr r0, =gUnknown_03005000
adds r0, 0xEE
ldrb r1, [r0]
movs r1, 0
strb r1, [r0]
bx lr
.pool
thumb_func_end sub_80111A0
thumb_func_start sub_80111B0
sub_80111B0: @ 80111B0
push {lr}
adds r2, r0, 0
cmp r2, 0
bne _080111C8
ldr r0, =gUnknown_03005000
adds r0, 0xEE
ldrb r1, [r0]
strb r2, [r0]
b _080111D2
.pool
_080111C8:
ldr r0, =gUnknown_03005000
adds r0, 0xEE
ldrb r1, [r0]
movs r1, 0x4
strb r1, [r0]
_080111D2:
pop {r0}
bx r0
.pool
thumb_func_end sub_80111B0
thumb_func_start sub_80111DC
sub_80111DC: @ 80111DC
push {lr}
ldr r0, =gUnknown_03004140
ldrb r0, [r0]
movs r1, 0x1
bl sub_8011E94
ldr r1, =gUnknown_03005000
movs r0, 0
str r0, [r1]
pop {r0}
bx r0
.pool
thumb_func_end sub_80111DC
thumb_func_start sub_80111FC
sub_80111FC: @ 80111FC
ldr r1, =gUnknown_03005000
ldr r0, =sub_80111DC
str r0, [r1]
bx lr
.pool
thumb_func_end sub_80111FC
thumb_func_start sub_801120C
sub_801120C: @ 801120C
push {r4-r7,lr}

View File

@ -74,6 +74,7 @@ void sub_8010AAC(u8 taskId);
void sub_8010D0C(u8 taskId);
u8 sub_8011CE4(const u8 *a0, u16 a1);
void sub_8011D6C(u8 a0);
void sub_8011E94(u8 a0, u8 a1);
u8 sub_8012224(void);
void sub_801227C(void);
@ -4548,3 +4549,64 @@ void sub_8011090(u8 a0, u32 a1, u32 a2)
sub_8010F84(a0, a1, a2);
rfu_REQ_configGameData(0, 2, &gUnknown_02022B14, gUnknown_02022B22);
}
void sub_80110B8(u32 a0)
{
int i;
u32 r5;
u32 r7;
int r8;
if (sub_800F7DC()->unk_0a_0 == 0x45)
{
r5 = 0;
r7 = 0;
r8 = gUnknown_03005000.unk_ce2 ^ gUnknown_03005000.unk_ce3;
for (i = 0; i < 4; i++)
{
if ((r8 >> i) & 1)
{
r7 |= ((0x80 | ((gLinkPlayers[gUnknown_03005000.unk_cde[i]].gender & 1) << 3) | (gLinkPlayers[gUnknown_03005000.unk_cde[i]].trainerId & 7)) << (r5 << 3));
r5++;
if (r5 == a0 - 1)
break;
}
}
sub_8011090(0x45, r7, 0);
}
}
void sub_8011170(u32 a0)
{
if (gUnknown_03005000.unk_ee == 0)
{
gUnknown_03005000.unk_10 = gUnknown_03004140.unk_14;
gUnknown_03005000.unk_12 = gUnknown_03004140.unk_16;
gUnknown_03005000.unk_0a = a0;
gUnknown_03005000.unk_ee = 1;
}
}
void sub_80111A0(void)
{
gUnknown_03005000.unk_ee = 0;
}
void sub_80111B0(bool32 a0)
{
if (!a0)
gUnknown_03005000.unk_ee = 0;
else
gUnknown_03005000.unk_ee = 4;
}
void sub_80111DC(void)
{
sub_8011E94(gUnknown_03004140.unk_00, 1);
gUnknown_03005000.unk_00 = NULL;
}
void sub_80111FC(void)
{
gUnknown_03005000.unk_00 = sub_80111DC;
}