diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-12 22:24:15 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-12 22:24:15 -0500 |
commit | 6fe7b33ae15d33896f7808e52ca921d4f5881941 (patch) | |
tree | 5925cff5f4f3c162426884fb475b47cd9d72785e /src/link.c | |
parent | ccf6599b4038a5a957576f7ab88027dd98c07dcf (diff) |
through sub_800AD10
Diffstat (limited to 'src/link.c')
-rw-r--r-- | src/link.c | 60 |
1 files changed, 59 insertions, 1 deletions
diff --git a/src/link.c b/src/link.c index 3ab9acb7c..ab1b9174c 100644 --- a/src/link.c +++ b/src/link.c @@ -16,6 +16,7 @@ #include "palette.h" #include "task.h" #include "trade.h" +#include "battle.h" #include "link_rfu.h" #include "link.h" @@ -131,7 +132,9 @@ static u16 LinkTestCalcBlockChecksum(const u16 *src, u16 size); static void LinkTest_prnthex(u32 pos, u8 a0, u8 a1, u8 a2); static void LinkCB_RequestPlayerDataExchange(void); static void Task_PrintTestData(u8 taskId); -void sub_800AC80(void); +static void sub_800AC80(void); +static void sub_800ACAC(void); +void sub_800AD5C(void); void sub_800AEB4(void); u8 sub_800B2F8(void); void sub_800B4A4(void); @@ -1427,3 +1430,58 @@ void sub_800AC34(void) } } } + +static void sub_800AC80(void) +{ + if (gUnknown_03004130 == 0) + { + BuildSendCmd(0x5fff); + gLinkCallback = sub_800ACAC; + } +} + +static void sub_800ACAC(void) +{ + int i; + unsigned count; + u8 linkPlayerCount; + + linkPlayerCount = GetLinkPlayerCount(); + count = 0; + for (i = 0; i < linkPlayerCount; i ++) + { + if (gUnknown_030030F0[i]) + { + count ++; + } + } + if (count == linkPlayerCount) + { + gBattleTypeFlags &= ~BATTLE_TYPE_20; + gLinkVSyncDisabled = TRUE; + CloseLink(); + gLinkCallback = NULL; + gUnknown_030030E4 = 1; + } +} + +void sub_800AD10(void) +{ + if (gSerialIsRFU == TRUE) + { + task_add_05_task_del_08FA224_when_no_RfuFunc(); + } + else + { + if (gLinkCallback != NULL) + { + gUnknown_02022B08 ++; + } + else + { + gLinkCallback = sub_800AD5C; + gUnknown_030030E4 = 0; + gUnknown_030030F4 = 0; + } + } +} |