mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-03-06 07:27:47 +01:00
through sub_800AD88
This commit is contained in:
parent
6fe7b33ae1
commit
16dba15c1c
70
asm/link.s
70
asm/link.s
@ -5,76 +5,6 @@
|
||||
|
||||
.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
|
||||
sub_800ADF8: @ 800ADF8
|
||||
push {lr}
|
||||
|
41
src/link.c
41
src/link.c
@ -134,7 +134,8 @@ static void LinkCB_RequestPlayerDataExchange(void);
|
||||
static void Task_PrintTestData(u8 taskId);
|
||||
static void sub_800AC80(void);
|
||||
static void sub_800ACAC(void);
|
||||
void sub_800AD5C(void);
|
||||
static void sub_800AD5C(void);
|
||||
static void sub_800AD88(void);
|
||||
void sub_800AEB4(void);
|
||||
u8 sub_800B2F8(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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user