through sub_800AD88

This commit is contained in:
PikalaxALT 2017-11-12 22:30:00 -05:00
parent 6fe7b33ae1
commit 16dba15c1c
2 changed files with 40 additions and 71 deletions

View File

@ -5,76 +5,6 @@
.text .text
thumb_func_start sub_800AD5C
sub_800AD5C: @ 800AD5C
push {lr}
ldr r0, =gUnknown_03004130
ldrb r0, [r0]
cmp r0, 0
bne _0800AD72
ldr r0, =0x00005fff
bl BuildSendCmd
ldr r1, =gLinkCallback
ldr r0, =sub_800AD88
str r0, [r1]
_0800AD72:
pop {r0}
bx r0
.pool
thumb_func_end sub_800AD5C
thumb_func_start sub_800AD88
sub_800AD88: @ 800AD88
push {r4,r5,lr}
bl GetLinkPlayerCount
lsls r0, 24
lsrs r3, r0, 24
movs r1, 0
movs r2, 0
cmp r1, r3
bge _0800ADB6
ldr r5, =gUnknown_030030F0
ldr r4, =gLinkPlayers
_0800AD9E:
ldrh r0, [r4, 0x1A]
cmp r0, 0x1
beq _0800ADAC
adds r0, r2, r5
ldrb r0, [r0]
cmp r0, 0
beq _0800ADAE
_0800ADAC:
adds r1, 0x1
_0800ADAE:
adds r4, 0x1C
adds r2, 0x1
cmp r2, r3
blt _0800AD9E
_0800ADB6:
cmp r1, r3
bne _0800ADDA
ldr r2, =gBattleTypeFlags
ldr r0, [r2]
movs r1, 0x21
negs r1, r1
ands r0, r1
str r0, [r2]
ldr r0, =gLinkVSyncDisabled
movs r4, 0x1
strb r4, [r0]
bl CloseLink
ldr r1, =gLinkCallback
movs r0, 0
str r0, [r1]
ldr r0, =gUnknown_030030E4
strb r4, [r0]
_0800ADDA:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_800AD88
thumb_func_start sub_800ADF8 thumb_func_start sub_800ADF8
sub_800ADF8: @ 800ADF8 sub_800ADF8: @ 800ADF8
push {lr} push {lr}

View File

@ -134,7 +134,8 @@ static void LinkCB_RequestPlayerDataExchange(void);
static void Task_PrintTestData(u8 taskId); static void Task_PrintTestData(u8 taskId);
static void sub_800AC80(void); static void sub_800AC80(void);
static void sub_800ACAC(void); static void sub_800ACAC(void);
void sub_800AD5C(void); static void sub_800AD5C(void);
static void sub_800AD88(void);
void sub_800AEB4(void); void sub_800AEB4(void);
u8 sub_800B2F8(void); u8 sub_800B2F8(void);
void sub_800B4A4(void); void sub_800B4A4(void);
@ -1485,3 +1486,41 @@ void sub_800AD10(void)
} }
} }
} }
static void sub_800AD5C(void)
{
if (gUnknown_03004130 == 0)
{
BuildSendCmd(0x5fff);
gLinkCallback = sub_800AD88;
}
}
static void sub_800AD88(void)
{
int i;
unsigned count;
u8 linkPlayerCount;
linkPlayerCount = GetLinkPlayerCount();
count = 0;
for (i = 0; i < linkPlayerCount; i ++)
{
if (gLinkPlayers[i].language == LANGUAGE_JAPANESE)
{
count ++;
}
else if (gUnknown_030030F0[i])
{
count ++;
}
}
if (count == linkPlayerCount)
{
gBattleTypeFlags &= ~BATTLE_TYPE_20;
gLinkVSyncDisabled = TRUE;
CloseLink();
gLinkCallback = NULL;
gUnknown_030030E4 = 1;
}
}