PikalaxALT icon

Untitled

PikalaxALT | PRO | 01/18/18 01:16:50 AM UTC | 0 ⭐ | 674 👁️ | Never ⏰ | []
C |

3.37 KB

|

None

|

0 👍

/

0 👎

 
bool32 sub_800F1E0(void)
{
    u16 i;
    u16 flags;
    u8 r0;
    u16 j;
    u8 retval;
 
    if (gUnknown_03005000.unk_04 >= 20 && gUnknown_03005000.unk_0e == 1)
    {
        rfu_waitREQComplete();
        while (gUnknown_03005000.unk_cdb == 0)
        {
            if (gUnknown_03005000.unk_ee != 0)
            {
                return FALSE;
            }
        }
        rfu_REQ_recvData();
        rfu_waitREQComplete();
        if ((gUnknown_03005000.unk_ce2 & gUnknown_03004140.unk_03) == gUnknown_03005000.unk_ce2)
        {
            gUnknown_03005000.unk_cdc = 0;
            gUnknown_02022B44.unk_06++;
            flags = gUnknown_03004140.unk_00;
            for (i = 0; i < 4; i++)
            {
                if (flags & 1)
                {
                    if (gUnknown_03005000.unk_14[i][1])
                    {
                        if (gUnknown_03005000.unk_cee[i] != 0xff && (gUnknown_03005000.unk_14[i][0] + 1) & 7)
                        {
                            if (++gUnknown_03005000.unk_cea[i] > 4)
                                sub_8011170(0x8100);
                        }
                        else
                        {
                            gUnknown_03005000.unk_cee[i] = gUnknown_03005000.unk_14[i][0] / 32;
                            gUnknown_03005000.unk_cea[i] = 0;
                            gUnknown_03005000.unk_14[i][0] %= 32;
                            r0 = gUnknown_03005000.unk_cde[i];
                            for (j = 0; j < 7; j++)
                            {
                                gRecvCmds[r0][j] = (gUnknown_03005000.unk_14[i][1] << 8) | gUnknown_03005000.unk_14[i][0];
                                gUnknown_03005000.unk_14[i][1] = 0;
                                gUnknown_03005000.unk_14[i][0] = 0;
                            }
                        }
                        rfu_UNI_clearRecvNewDataFlag(i);
                    }
                }
                flags >>= 1;
            }
            sub_800F014();
            sub_800F86C(0);
            sub_8010528();
            if (gUnknown_03005000.unk_ce5 && !gUnknown_03005000.unk_cd9)
            {
                gUnknown_02022B44.unk_0e = 0;
                rfu_clearSlot(gUnknown_03005000.unk_cda, 3);
                for (i = 0; i < 4; i++)
                {
                    if ((gUnknown_03005000.unk_ce5 >> i) & 1)
                    {
                        rfu_setRecvBuffer(0x10, i, gUnknown_03005000.unk_14[i], 14);
                    }
                }
                sub_800E88C(gUnknown_03005000.unk_ce2, gUnknown_03005000.unk_ce2 | gUnknown_03005000.unk_ce5);
                gUnknown_03005000.unk_ce9 = gUnknown_03005000.unk_ce5;
                gUnknown_03005000.unk_ce2 |= gUnknown_03005000.unk_ce5;
                gUnknown_03005000.unk_ce5 = 0;
                rfu_UNI_setSendData(gUnknown_03005000.unk_ce2, gUnknown_03005000.unk_c87, 70);
                gUnknown_03005000.unk_cda = sub_800E87C(gUnknown_03005000.unk_ce2);
                CreateTask(sub_8010AAC, 0);
            }
        }
        else
        {
            gUnknown_03005000.unk_cdc = 1;
            gUnknown_03005000.unk_0e = 0;
        }
        gUnknown_03005000.unk_0e = 0;
    }
    retval = gUnknown_03005000.unk_cdc;
    return gUnknown_03007890->unk_06 ? retval & 1 : FALSE;
}

Comments