summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-12-16 12:07:20 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2017-12-16 12:07:20 -0500
commit5b526906e1dc4b3dd55cc739670836718a90dff7 (patch)
tree623738316b7fc78923ba6002f72f8d621bd3d7ab /src
parent190a2cba61c498eb258dc5743ba613168f15f677 (diff)
through sub_800F0F8
Diffstat (limited to 'src')
-rw-r--r--src/link_rfu.c72
1 files changed, 71 insertions, 1 deletions
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 7ac380ddf..06fdbe207 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -62,7 +62,9 @@ void sub_801084C(u8 taskId);
void sub_8010AAC(u8 taskId);
void sub_8010D0C(u8 taskId);
void sub_8011068(u8 a0);
-void sub_8011A64(u8 a0, u8 a1);
+void sub_8011170(u32 a0);
+void sub_8011A64(u8 a0, u16 a1);
+void sub_8011D6C(u8 a0);
u8 sub_8012224(void);
void sub_801227C(void);
@@ -2963,3 +2965,71 @@ static void sub_800F048(void)
sub_800DA68(&gUnknown_03005000.unk_c1c, gUnknown_03005000.unk_4c);
}
}
+
+bool32 sub_800F0B8(void)
+{
+ int i;
+ int j;
+
+ if (gUnknown_03007890->unk_06 == 0)
+ {
+ return FALSE;
+ }
+ for (i = 0; i < 5; i++)
+ {
+ for (j = 0; j < 7; j++)
+ {
+ if (gRecvCmds[i][j] != 0)
+ {
+ return FALSE;
+ }
+ }
+ }
+ return TRUE;
+}
+
+bool32 sub_800F0F8(void)
+{
+ if (gUnknown_03005000.unk_04 < 20)
+ {
+ rfu_REQ_recvData();
+ rfu_waitREQComplete();
+ rfu_REQ_sendData_wrapper(0);
+ }
+ else
+ {
+ gUnknown_03005000.unk_cdb = 0;
+ if ((gUnknown_03005000.unk_ce2 & gUnknown_03007890->unk_02) == gUnknown_03005000.unk_ce2 && (gUnknown_03005000.unk_ce2 & gUnknown_03007890->unk_02))
+ {
+ if (!gUnknown_03005000.unk_cdc)
+ {
+ if (gUnknown_03005000.unk_ce3)
+ {
+ sub_8011D6C(gUnknown_03005000.unk_ce3);
+ gUnknown_03005000.unk_ce3 = 0;
+ if (gUnknown_03005000.unk_ce4 == 1)
+ {
+ sub_8011A64(2, 0x8000);
+ sub_8011170(0x8000);
+ return FALSE;
+ }
+ if (!gUnknown_03004140.unk_00)
+ {
+ sub_800EDD4();
+ gReceivedRemoteLinkPlayers = 0;
+ return FALSE;
+ }
+ }
+ sub_800EFB0();
+ rfu_UNI_readySendData(gUnknown_03005000.unk_cda);
+ rfu_REQ_sendData_wrapper(1);
+ }
+ else
+ {
+ rfu_REQ_PARENT_resumeRetransmitAndChange();
+ }
+ gUnknown_03005000.unk_0e = 1;
+ }
+ }
+ return FALSE;
+}