diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-22 00:16:00 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-22 00:16:00 -0500 |
commit | 73b0f9eb5358b839bfa5f3d1b4c4163fe893d428 (patch) | |
tree | d59956b32da1fd5d49bff20a016db28a848e27d2 /src | |
parent | 7a38a43f81e4aa5d6b9001d31b47e1a000786e3e (diff) |
sub_800CEB0
Diffstat (limited to 'src')
-rw-r--r-- | src/link_rfu.c | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/src/link_rfu.c b/src/link_rfu.c index 12ec3e708..5beb7c88b 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -84,7 +84,7 @@ void rfu_REQ_sendData_wrapper(u8 r2) rfu_REQ_sendData(r2); } -int sub_800BF4C(void (*func1)(u8), void (*func2)(void)) +int sub_800BF4C(void (*func1)(u8), void (*func2)(u16)) { if (func1 == NULL) { @@ -976,3 +976,42 @@ void sub_800C7B4(u16 r8, u16 r6) sub_800D610(); } } + +void sub_800CEB0(u16 r6) +{ + u8 r7; + u8 sp0; + + r7 = gUnknown_03004140.unk_0e; + gUnknown_03004140.unk_0e = 0; + gUnknown_03004140.unk_0f = 1; + if (gUnknown_03007890->unk_00 == 0) + { + sub_800C36C(r6); + if (gUnknown_03004140.unk_02 != 1) + { + sub_800D610(); + gUnknown_03004140.unk_0f = 0; + gUnknown_03004140.unk_0e = r7; + return; + } + } + else + { + if (!rfu_UNI_PARENT_getDRAC_ACK(&sp0)) + { + gUnknown_03004140.unk_03 |= sp0; + } + } + if (gUnknown_03004140.unk_44 != NULL) + { + gUnknown_03004140.unk_44(r6); + rfu_waitREQComplete(); + if (gUnknown_03004140.unk_02 == 2) + { + sub_800D610(); + } + } + gUnknown_03004140.unk_0f = 0; + gUnknown_03004140.unk_0e = r7; +} |