summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2020-01-16 09:19:09 -0500
committerGitHub <noreply@github.com>2020-01-16 09:19:09 -0500
commit0bc479db34154988c6322bf5f2bb6d48556f62c3 (patch)
treebf67a4d816f6e6cf7d862cdc67c92f183be0a70f /src
parent3170b753442da34dbdff6f141f0d2223973c0e83 (diff)
parent0727b0ffd3f1854e1cc64d59a304d8c33cbbccb7 (diff)
Merge pull request #224 from PikalaxALT/doc_link_rfu
Document link_rfu_*.c
Diffstat (limited to 'src')
-rw-r--r--src/link.c4
-rw-r--r--src/link_rfu.c126
-rw-r--r--src/link_rfu_2.c113
-rw-r--r--src/link_rfu_3.c64
-rw-r--r--src/main.c2
5 files changed, 156 insertions, 153 deletions
diff --git a/src/link.c b/src/link.c
index 7be93026b..04313bade 100644
--- a/src/link.c
+++ b/src/link.c
@@ -234,8 +234,8 @@ bool8 IsWirelessAdapterConnected(void)
sub_800B1F4();
sub_80F86F4();
- sub_80FB128(1);
- if (sub_80FD3A4() == 0x8001)
+ sub_80FB128(TRUE);
+ if (sub_80FD3A4() == RFU_ID)
{
rfu_REQ_stopMode();
rfu_waitREQComplete();
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 0d6e14551..8ab76ffd5 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -22,7 +22,7 @@ static void sub_80FEAF4(void);
u32 sub_80FD3A4(void)
{
u32 id = rfu_REQBN_softReset_and_checkID();
- if (id == 0x8001)
+ if (id == RFU_ID)
gUnknown_3005E10.unk_08 = 1;
if (gUnknown_3005E10.unk_04 != 0x17 && gUnknown_3005E10.unk_04 != 0x01)
{
@@ -123,7 +123,7 @@ u8 sub_80FD538(u8 r5, u16 r7, u16 r8, const u16 *r6)
sub_80FE7F0(0xf3, 0x01);
return 1;
}
- if (!rfu_getMasterSlave())
+ if (rfu_getMasterSlave() == AGB_CLK_SLAVE)
{
gUnknown_3005E10.unk_14 = 2;
sub_80FE7F0(0xf3, 0x01);
@@ -181,7 +181,7 @@ u8 sub_80FD610(u16 parentId, u16 unk_1a)
sub_80FE7F0(0xF3, 0x01);
return 1;
}
- if (!rfu_getMasterSlave())
+ if (rfu_getMasterSlave() == AGB_CLK_SLAVE)
{
gUnknown_3005E10.unk_14 = 2;
sub_80FE7F0(0xF3, 0x01);
@@ -449,12 +449,12 @@ void sub_80FDA30(u32 a0)
switch (gUnknown_3005E10.unk_04)
{
case 23:
- r2 = sub_80FD3A4() == 0x8001 ? 0x44 : 0xFF;
+ r2 = sub_80FD3A4() == RFU_ID ? 0x44 : 0xFF;
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0;
sub_80FE7F0(r2, 0);
break;
case 1:
- if (sub_80FD3A4() == 0x8001)
+ if (sub_80FD3A4() == RFU_ID)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05;
gUnknown_3005E10.unk_05 = 3;
@@ -469,10 +469,10 @@ void sub_80FDA30(u32 a0)
rfu_REQ_reset();
break;
case 3:
- rfu_REQ_configSystem(gUnknown_3005E10.unk_3c->unk_02, gUnknown_3005E10.unk_3c->unk_00, gUnknown_3005E10.unk_3c->unk_01);
+ rfu_REQ_configSystem(gUnknown_3005E10.unk_3c->availSlotFlag, gUnknown_3005E10.unk_3c->maxMFrame, gUnknown_3005E10.unk_3c->mcTimer);
break;
case 4:
- rfu_REQ_configGameData(gUnknown_3005E10.unk_3c->unk_04, gUnknown_3005E10.unk_3c->unk_06, (const u8 *)gUnknown_3005E10.unk_3c->unk_08, gUnknown_3005E10.unk_3c->unk_0c);
+ rfu_REQ_configGameData(gUnknown_3005E10.unk_3c->mbootFlag, gUnknown_3005E10.unk_3c->serialNo, (const u8 *)gUnknown_3005E10.unk_3c->gname, gUnknown_3005E10.unk_3c->uname);
break;
case 5:
rfu_REQ_startSearchChild();
@@ -579,7 +579,7 @@ static void sub_80FDC28(u32 a0)
}
}
-static void sub_80FDC98(u16 r8, u16 r6)
+static void sub_80FDC98(u16 reqCommandId, u16 reqResult)
{
u8 sp0;
register u8 *stwiRecvBuffer asm("r0");
@@ -589,44 +589,44 @@ static void sub_80FDC98(u16 r8, u16 r6)
if (gUnknown_3005E10.unk_0e != 0)
{
gUnknown_3005E10.unk_0e = 0;
- switch (r8)
+ switch (reqCommandId)
{
- case 16:
- if (r6 == 0)
+ case ID_RESET_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05;
gUnknown_3005E10.unk_05 = 4;
}
break;
- case 23:
- if (r6 == 0)
+ case ID_SYSTEM_CONFIG_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05;
gUnknown_3005E10.unk_05 = 0;
}
break;
- case 22:
- if (r6 == 0)
+ case ID_GAME_CONFIG_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0;
sub_80FE7F0(0x00, 0x00);
}
break;
- case 25:
- if (r6 == 0)
+ case ID_SC_START_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 6;
}
break;
- case 26:
+ case ID_SC_POLL_REQ:
if (gUnknown_3005E10.unk_1a && --gUnknown_3005E10.unk_1a == 0)
{
gUnknown_3005E10.unk_04 = 7;
gUnknown_3005E10.unk_05 = 8;
}
break;
- case 27:
- if (r6 == 0)
+ case ID_SC_END_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05;
gUnknown_3005E10.unk_05 = 0;
@@ -636,8 +636,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
}
}
break;
- case 28:
- if (r6 == 0)
+ case ID_SP_START_REQ:
+ if (reqResult == 0)
{
if (gUnknown_3005E10.unk_0b == 1 && gUnknown_3005E10.unk_1a > 1)
{
@@ -646,8 +646,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 10;
}
break;
- case 29:
- if (r6 == 0)
+ case ID_SP_POLL_REQ:
+ if (reqResult == 0)
{
sp0 = sub_80FE778();
gUnknown_3005E10.unk_14 = sp0;
@@ -669,8 +669,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
gUnknown_3005E10.unk_05 = 0;
}
break;
- case 30:
- if (r6 == 0)
+ case ID_SP_END_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05;
if (gUnknown_3005E10.unk_07 == 0)
@@ -687,14 +687,14 @@ static void sub_80FDC98(u16 r8, u16 r6)
}
}
break;
- case 31:
- if (r6 == 0)
+ case ID_CP_START_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 13;
}
break;
- case 32:
- if (r6 == 0 && !rfu_getConnectParentStatus(&sp0, &gUnknown_3005E10.unk_10) && !sp0)
+ case ID_CP_POLL_REQ:
+ if (reqResult == 0 && !rfu_getConnectParentStatus(&sp0, &gUnknown_3005E10.unk_10) && !sp0)
{
gUnknown_3005E10.unk_04 = 14;
}
@@ -703,8 +703,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
gUnknown_3005E10.unk_04 = 14;
}
break;
- case 33:
- if (r6 == 0 && !rfu_getConnectParentStatus(&sp0, &gUnknown_3005E10.unk_10))
+ case ID_CP_END_REQ:
+ if (reqResult == 0 && !rfu_getConnectParentStatus(&sp0, &gUnknown_3005E10.unk_10))
{
if (!sp0)
{
@@ -728,8 +728,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
gUnknown_3005E10.unk_1e = 0;
}
break;
- case 50:
- if (r6 == 0)
+ case ID_CPR_START_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_14 = gRfuLinkStatus->linkLossSlotFlag;
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 17;
@@ -742,8 +742,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
}
}
break;
- case 51:
- if (r6 == 0 && !rfu_CHILD_getConnectRecoveryStatus(&sp0) && sp0 < 2)
+ case ID_CPR_POLL_REQ:
+ if (reqResult == 0 && !rfu_CHILD_getConnectRecoveryStatus(&sp0) && sp0 < 2)
{
gUnknown_3005E10.unk_04 = 18;
}
@@ -752,8 +752,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
gUnknown_3005E10.unk_04 = 18;
}
break;
- case 52:
- if (r6 == 0 && !rfu_CHILD_getConnectRecoveryStatus(&sp0))
+ case ID_CPR_END_REQ:
+ if (reqResult == 0 && !rfu_CHILD_getConnectRecoveryStatus(&sp0))
{
if (!sp0)
{
@@ -774,8 +774,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
gUnknown_3005E10.unk_1e = 0;
}
break;
- case 39:
- if (r6 == 0)
+ case ID_MS_CHANGE_REQ:
+ if (reqResult == 0)
{
if (gUnknown_3005E10.unk_05 == 22)
{
@@ -791,7 +791,7 @@ static void sub_80FDC98(u16 r8, u16 r6)
sub_80FE7F0(0x41, 0x00);
gUnknown_3005E10.unk_24 |= 1 << gUnknown_3005E10.unk_10;
gUnknown_3005E10.unk_28[gUnknown_3005E10.unk_10] = gUnknown_3005E10.unk_26;
- rfu_clearSlot(4, gUnknown_3005E10.unk_10);
+ rfu_clearSlot(TYPE_NI_SEND, gUnknown_3005E10.unk_10);
tmp = &sp0;
*tmp = rfu_NI_CHILD_setSendGameName(gUnknown_3005E10.unk_10, 0x0e);
if (*tmp)
@@ -805,8 +805,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
}
}
break;
- case 61:
- if (r6 == 0)
+ case ID_STOP_MODE_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0;
sub_80FE7F0(0x42, 0x00);
@@ -815,7 +815,7 @@ static void sub_80FDC98(u16 r8, u16 r6)
}
gUnknown_3005E10.unk_0e = 1;
}
- else if (r6 == 3 && gUnknown_3005E10.unk_0f && (r8 == 0x24 || r8 == 0x26 || r8 == 0x27))
+ else if (reqResult == 3 && gUnknown_3005E10.unk_0f && (reqCommandId == ID_DATA_TX_REQ || reqCommandId == ID_DATA_RX_REQ || reqCommandId == ID_MS_CHANGE_REQ))
{
rfu_REQ_RFUStatus();
rfu_waitREQComplete();
@@ -826,13 +826,13 @@ static void sub_80FDC98(u16 r8, u16 r6)
stwiRecvBuffer[4] = gRfuLinkStatus->connSlotFlag;
stwiRecvBuffer[5] = 1;
sub_80FD850(0x29);
- r6 = 0;
+ reqResult = 0;
}
}
- switch (r8)
+ switch (reqCommandId)
{
- case 48:
- if (r6 == 0)
+ case ID_DISCONNECT_REQ:
+ if (reqResult == 0)
{
stwiRecvBuffer = rfu_getSTWIRecvBuffer()->rxPacketAlloc.rfuPacket8.data;
gUnknown_3005E10.unk_14 = stwiRecvBuffer[8];
@@ -891,32 +891,32 @@ static void sub_80FDC98(u16 r8, u16 r6)
}
}
break;
- case 38:
+ case ID_DATA_RX_REQ:
sub_80FE6F0();
if (gRfuLinkStatus->parentChild != MODE_NEUTRAL)
{
sub_80FE7F0(0x50, 0x00);
}
break;
- case 16:
- case 61:
- if (r6 == 0)
+ case ID_RESET_REQ:
+ case ID_STOP_MODE_REQ:
+ if (reqResult == 0)
{
gUnknown_3005E10.unk_0d = 0;
gUnknown_3005E10.unk_01 = 0;
gUnknown_3005E10.unk_00 = 0;;
gUnknown_3005E10.unk_06 = -1;
sub_80FEAF4();
- if (r8 == 61)
+ if (reqCommandId == 61)
{
sub_80FD484();
}
}
break;
}
- if (r6 != 0)
+ if (reqResult != 0)
{
- if (r8 == 28 && r6 != 0 && gUnknown_3005E10.unk_07 == 4)
+ if (reqCommandId == ID_SP_START_REQ && reqResult != 0 && gUnknown_3005E10.unk_07 == 4)
{
gRfuLinkStatus->parentChild = MODE_PARENT;
gRfuLinkStatus->connSlotFlag = 0xF;
@@ -926,8 +926,8 @@ static void sub_80FDC98(u16 r8, u16 r6)
}
else
{
- gUnknown_3005E10.unk_14 = r8;
- gUnknown_3005E10.unk_16 = r6;
+ gUnknown_3005E10.unk_14 = reqCommandId;
+ gUnknown_3005E10.unk_16 = reqResult;
if (gUnknown_3005E10.unk_0e)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0;
@@ -936,7 +936,7 @@ static void sub_80FDC98(u16 r8, u16 r6)
sub_80FEAF4();
}
}
- if (r8 == 0xFF)
+ if (reqCommandId == ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ)
{
sub_80FE7F0(0xf2, 0x00);
sub_80FEAF4();
@@ -1042,7 +1042,7 @@ static void sub_80FE418(void)
{
gUnknown_3005E10.unk_24 &= ~r4;
gUnknown_3005E10.unk_28[i] = 0;
- rfu_clearSlot(0x08, i);
+ rfu_clearSlot(TYPE_NI_RECV, i);
}
if (r5 & 0x04)
{
@@ -1110,7 +1110,7 @@ static void sub_80FE63C(void)
{
sub_80FEB14();
gUnknown_3005E10.unk_04 = 24;
- rfu_clearSlot(4, gUnknown_3005E10.unk_10);
+ rfu_clearSlot(TYPE_NI_SEND, gUnknown_3005E10.unk_10);
gUnknown_3005E10.unk_24 &= ~(1 << gUnknown_3005E10.unk_10);
gUnknown_3005E10.unk_28[gUnknown_3005E10.unk_10] = 0;
}
@@ -1137,7 +1137,7 @@ static void sub_80FE6F0(void)
if (gUnknown_3005E10.unk_04 == 15 && gRfuSlotStatusNI[gUnknown_3005E10.unk_10]->send.state == SLOT_STATE_SEND_SUCCESS)
{
gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0;
- rfu_clearSlot(4, gUnknown_3005E10.unk_10);
+ rfu_clearSlot(TYPE_NI_SEND, gUnknown_3005E10.unk_10);
gUnknown_3005E10.unk_24 &= ~(1 << gUnknown_3005E10.unk_10);
gUnknown_3005E10.unk_28[gUnknown_3005E10.unk_10] = 0;
sub_80FE7F0(0x24, 0x00);
@@ -1203,7 +1203,7 @@ static void sub_80FE83C(u8 a0)
{
if (gRfuSlotStatusNI[i]->send.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->send.bmSlot & a0)
{
- rfu_changeSendTarget(0x20, i, gRfuSlotStatusNI[i]->send.bmSlot & ~a0);
+ rfu_changeSendTarget(TYPE_NI, i, gRfuSlotStatusNI[i]->send.bmSlot & ~a0);
}
}
}
@@ -1253,7 +1253,7 @@ static void sub_80FE918(void)
}
if (flags)
{
- rfu_changeSendTarget(0x20, i, flags ^ gRfuSlotStatusNI[i]->send.bmSlot);
+ rfu_changeSendTarget(TYPE_NI, i, flags ^ gRfuSlotStatusNI[i]->send.bmSlot);
}
}
}
diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c
index a06e3bc9c..bda154544 100644
--- a/src/link_rfu_2.c
+++ b/src/link_rfu_2.c
@@ -21,16 +21,16 @@ struct UnkRfuStruct_8010A14{
u8 fill_a0[0x5c];
};
-static EWRAM_DATA struct UnkLinkRfuStruct_02022B2C gUnknown_203ABF0 = {};
+static EWRAM_DATA struct UnkLinkRfuStruct_02022B2C sRfuReqConfig = {};
static EWRAM_DATA struct UnkLinkRfuStruct_02022B44 gUnknown_203AC08 = {};
static struct RfuAPIBuffer gRfuAPIBuffer;
static u8 gUnknown_3001FF8[14];
static u16 gUnknown_3002008[7];
-struct GFtgtGname gUnknown_3005440;
+struct GFtgtGname gHostRFUtgtGnameBuffer;
struct UnkRfuStruct_2 Rfu;
-u8 gUnknown_3005E00[PLAYER_NAME_LENGTH];
+u8 gHostRFUtgtUnameBuffer[PLAYER_NAME_LENGTH];
static void sub_80F8AA4(void);
static void sub_80F8AEC(void);
@@ -61,22 +61,25 @@ static void sub_80FC028(u8 taskId);
static void sub_80FC208(void);
static void nullsub_89(u8 taskId);
-static const struct UnkLinkRfuStruct_02022B2C gUnknown_843EBB4 = {
- .unk_00 = 0x04,
- .unk_01 = 0x20,
- .unk_02 = 0x0000,
- .unk_04 = 0x00,
- .unk_06 = 0x0002,
- .unk_08 = &gUnknown_3005440,
- .unk_0c = gUnknown_3005E00,
+static const struct UnkLinkRfuStruct_02022B2C sRfuReqConfigTemplate = {
+ .maxMFrame = 4,
+ .mcTimer = 32,
+ .availSlotFlag = 0,
+ .mbootFlag = 0,
+ .serialNo = 0x0002,
+ .gname = &gHostRFUtgtGnameBuffer,
+ .uname = gHostRFUtgtUnameBuffer,
.unk_10 = 0x01,
.unk_11 = 0x00,
.unk_12 = 0x0258,
.unk_14 = 0x012c
};
-static const u8 gUnknown_843EBCC[] = {
- 0, 3, 2, 1, 0
+static const u8 sAvailSlots[] = {
+ [1] = AVAIL_SLOT1,
+ [2] = AVAIL_SLOT2,
+ [3] = AVAIL_SLOT3,
+ [4] = AVAIL_SLOT4
};
static const u32 gUnknown_843EBD4[] = {
@@ -218,7 +221,7 @@ void sub_80F86F4(void)
if (!rfu_initializeAPI(&gRfuAPIBuffer, sizeof gRfuAPIBuffer, gIntrTable + 1, TRUE))
{
gLinkType = 0;
- sub_80FB128(0);
+ sub_80FB128(FALSE);
sub_80F85F8();
rfu_setTimerInterrupt(3, gIntrTable + 2);
}
@@ -230,7 +233,7 @@ static void sub_80F8738(u8 taskId)
switch (Rfu.unk_04)
{
case 0:
- sub_80FD4B0(&gUnknown_203ABF0);
+ sub_80FD4B0(&sRfuReqConfig);
Rfu.unk_04 = 1;
gTasks[taskId].data[1] = 1;
break;
@@ -316,7 +319,7 @@ static void sub_80F893C(u8 taskId)
switch (Rfu.unk_04)
{
case 0:
- sub_80FD4B0(&gUnknown_843EBB4);
+ sub_80FD4B0(&sRfuReqConfigTemplate);
Rfu.unk_04 = 1;
gTasks[taskId].data[1] = 1;
break;
@@ -349,8 +352,8 @@ static void sub_80F893C(u8 taskId)
case 12:
{
u8 r5 = 1 << Rfu.unk_c3e;
- rfu_clearSlot(12, Rfu.unk_c3e);
- rfu_setRecvBuffer(16, Rfu.unk_c3e, Rfu.unk_c3f, sizeof(Rfu.unk_c3f));
+ rfu_clearSlot(TYPE_NI_SEND | TYPE_NI_RECV, Rfu.unk_c3e);
+ rfu_setRecvBuffer(TYPE_UNI, Rfu.unk_c3e, Rfu.unk_c3f, sizeof(Rfu.unk_c3f));
rfu_UNI_setSendData(r5, Rfu.unk_4c, sizeof(Rfu.unk_4c));
gTasks[taskId].data[1] = 8;
DestroyTask(taskId);
@@ -373,8 +376,8 @@ static void sub_80F8AA4(void)
{
if (r5 & 1)
{
- rfu_setRecvBuffer(16, i, Rfu.unk_14[i], sizeof(Rfu.unk_14[i]));
- rfu_clearSlot(3, i);
+ rfu_setRecvBuffer(TYPE_UNI, i, Rfu.unk_14[i], sizeof(Rfu.unk_14[i]));
+ rfu_clearSlot(TYPE_UNI_SEND | TYPE_UNI_RECV, i);
}
r5 >>= 1;
}
@@ -401,7 +404,7 @@ static void sub_80F8B34(u8 taskId)
switch (Rfu.unk_04)
{
case 0:
- sub_80FD4B0(&gUnknown_203ABF0);
+ sub_80FD4B0(&sRfuReqConfig);
Rfu.unk_04 = 1;
gTasks[taskId].data[1] = 1;
break;
@@ -785,12 +788,12 @@ static bool32 sub_80F9204(void)
if (Rfu.unk_ce5 && !Rfu.unk_cd9)
{
gUnknown_203AC08.unk_0e = 0;
- rfu_clearSlot(3, Rfu.unk_cda);
+ rfu_clearSlot(TYPE_UNI_SEND | TYPE_UNI_RECV, Rfu.unk_cda);
for (i = 0; i < RFU_CHILD_MAX; i++)
{
if ((Rfu.unk_ce5 >> i) & 1)
{
- rfu_setRecvBuffer(0x10, i, Rfu.unk_14[i], sizeof(Rfu.unk_14[i]));
+ rfu_setRecvBuffer(TYPE_UNI, i, Rfu.unk_14[i], sizeof(Rfu.unk_14[i]));
}
}
sub_80F887C(Rfu.unk_ce2, Rfu.unk_ce2 | Rfu.unk_ce5);
@@ -951,7 +954,7 @@ static void rfu_func_080F97B8(void)
struct GFtgtGname *sub_80F9800(void)
{
- return &gUnknown_3005440;
+ return &gHostRFUtgtGnameBuffer;
}
bool32 IsSendingKeysToRfu(void)
@@ -1498,7 +1501,7 @@ static bool8 sub_80FA528(void)
{
Rfu.unk_cd1[i] = 9;
Rfu.unk_cd5[i] = 10;
- rfu_clearSlot(8, i);
+ rfu_clearSlot(TYPE_NI_RECV, i);
rfu_NI_setSendData(1 << i, 8, Rfu.unk_cd1 + i, 1);
retval = TRUE;
}
@@ -1506,7 +1509,7 @@ static bool8 sub_80FA528(void)
}
else if (gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == SLOT_STATE_RECV_FAILED)
{
- rfu_clearSlot(8, i);
+ rfu_clearSlot(TYPE_NI_RECV, i);
}
}
}
@@ -1552,14 +1555,14 @@ void sub_80FA670(u8 a0, u16 a1, const u8 *a2)
{
u8 r4 = sub_80FBC70(a2, a1);
Rfu.unk_cd1[r4] = a0;
- rfu_clearSlot(4, r4);
+ rfu_clearSlot(TYPE_NI_SEND, r4);
rfu_NI_setSendData(1 << r4, 8, Rfu.unk_cd1 + r4, 1);
}
void sub_80FA6BC(void)
{
Rfu.unk_c85 = 8;
- rfu_clearSlot(4, Rfu.unk_c3e);
+ rfu_clearSlot(TYPE_NI_SEND, Rfu.unk_c3e);
rfu_NI_setSendData(1 << Rfu.unk_c3e, 8, &Rfu.unk_c85, 1);
}
@@ -1584,7 +1587,7 @@ static void sub_80FA738(void)
{
if (Rfu.unk_cd5[i] == 10)
Rfu.unk_cd5[i] = 11;
- rfu_clearSlot(4, i);
+ rfu_clearSlot(TYPE_NI_SEND, i);
}
}
}
@@ -1595,17 +1598,17 @@ static s32 sub_80FA788(void)
if (Rfu.unk_c85 == 8)
{
if (gRfuSlotStatusNI[Rfu.unk_c3e]->send.state == SLOT_STATE_SEND_SUCCESS || gRfuSlotStatusNI[Rfu.unk_c3e]->send.state == SLOT_STATE_SEND_FAILED)
- rfu_clearSlot(4, Rfu.unk_c3e);
+ rfu_clearSlot(TYPE_NI_SEND, Rfu.unk_c3e);
}
if (gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == SLOT_STATE_RECV_SUCCESS || gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == SLOT_STATE_RECV_SUCCESS_AND_SENDSIDE_UNKNOWN)
{
- rfu_clearSlot(8, Rfu.unk_c3e);
+ rfu_clearSlot(TYPE_NI_RECV, Rfu.unk_c3e);
sub_80FB9E4(Rfu.unk_c86, 0);
retval = Rfu.unk_c86;
}
else if (gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == SLOT_STATE_RECV_FAILED)
{
- rfu_clearSlot(8, Rfu.unk_c3e);
+ rfu_clearSlot(TYPE_NI_RECV, Rfu.unk_c3e);
retval = 6;
}
return retval;
@@ -1905,44 +1908,44 @@ bool32 sub_80FAEF0(void)
static void sub_80FAF1C(void)
{
- StringCopy(gUnknown_3005E00, gSaveBlock2Ptr->playerName);
+ StringCopy(gHostRFUtgtUnameBuffer, gSaveBlock2Ptr->playerName);
}
-void sub_80FAF34(void)
+void ClearAndInitHostRFUtgtGname(void)
{
- memset(&gUnknown_3005440, 0, RFU_GAME_NAME_LENGTH);
- sub_80FCB54(&gUnknown_3005440, 0, 0, 0);
+ memset(&gHostRFUtgtGnameBuffer, 0, RFU_GAME_NAME_LENGTH);
+ InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, 0, 0, 0);
}
void sub_80FAF58(u8 a0, u32 a1, u32 a2)
{
- sub_80FCB54(&gUnknown_3005440, a0, a2, a1);
+ InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, a0, a2, a1);
}
void sub_80FAF74(bool32 a0, bool32 a1)
{
- gUnknown_3005440.unk_00.unk_00_4 = a0;
- gUnknown_3005440.unk_00.unk_00_5 = a1;
+ gHostRFUtgtGnameBuffer.unk_00.unk_00_4 = a0;
+ gHostRFUtgtGnameBuffer.unk_00.unk_00_5 = a1;
}
void sub_80FAFA0(u32 type, u32 species, u32 level)
{
- gUnknown_3005440.type = type;
- gUnknown_3005440.species = species;
- gUnknown_3005440.level = level;
+ gHostRFUtgtGnameBuffer.type = type;
+ gHostRFUtgtGnameBuffer.species = species;
+ gHostRFUtgtGnameBuffer.level = level;
}
void sub_80FAFE0(u8 a0)
{
- gUnknown_3005440.unk_0a_7 = a0;
- rfu_REQ_configGameData(0, 2, (void *)&gUnknown_3005440, gUnknown_3005E00);
+ gHostRFUtgtGnameBuffer.unk_0a_7 = a0;
+ rfu_REQ_configGameData(0, 2, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer);
}
void sub_80FB008(u8 a0, u32 a1, u32 a2)
{
if (a0)
sub_80FAF58(a0, a1, a2);
- rfu_REQ_configGameData(0, 2, (void *)&gUnknown_3005440, gUnknown_3005E00);
+ rfu_REQ_configGameData(0, 2, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer);
}
void sub_80FB030(u32 a0)
@@ -2028,7 +2031,7 @@ static void sub_80FB184(u8 a0, u8 unused1)
{
Rfu.unk_cd1[i] = 0;
Rfu.unk_cd5[i] = 0;
- rfu_setRecvBuffer(0x20, i, Rfu.unk_cd5 + i, 1);
+ rfu_setRecvBuffer(TYPE_NI, i, Rfu.unk_cd5 + i, 1);
}
else
{
@@ -2115,8 +2118,8 @@ static void sub_80FB37C(u8 a0, u8 unused1)
Rfu.unk_04 = 11;
Rfu.unk_c85 = 0;
Rfu.unk_c86 = 0;
- rfu_setRecvBuffer(0x20, Rfu.unk_c3e, &Rfu.unk_c86, 1);
- rfu_setRecvBuffer(0x10, Rfu.unk_c3e, Rfu.unk_c3f, 70);
+ rfu_setRecvBuffer(TYPE_NI, Rfu.unk_c3e, &Rfu.unk_c86, 1);
+ rfu_setRecvBuffer(TYPE_UNI, Rfu.unk_c3e, Rfu.unk_c3f, 70);
break;
case 0x25:
sub_80FB9E4(2, 0x25);
@@ -2272,7 +2275,7 @@ static void sub_80FB5EC(u8 a0, u8 unused1)
case 0x24:
Rfu.unk_04 = 0xD;
sub_80FB9E4(3, 0);
- rfu_setRecvBuffer(0x10, Rfu.unk_c3e, Rfu.unk_c3f, 70);
+ rfu_setRecvBuffer(TYPE_UNI, Rfu.unk_c3e, Rfu.unk_c3f, sizeof(Rfu.unk_c3f));
break;
case 0x25:
sub_80FB9E4(2, a0);
@@ -2442,8 +2445,8 @@ void sub_80FBB8C(u32 a0)
Rfu.unk_0c = 1;
sub_80FAF1C();
sub_80FD430(sub_80FB184, NULL);
- gUnknown_203ABF0 = gUnknown_843EBB4;
- gUnknown_203ABF0.unk_02 = gUnknown_843EBCC[a0 - 1];
+ sRfuReqConfig = sRfuReqConfigTemplate;
+ sRfuReqConfig.availSlotFlag = sAvailSlots[a0 - 1];
sub_80F8E74();
}
@@ -2462,9 +2465,9 @@ void sub_80FBC00(void)
Rfu.unk_0c = 2;
sub_80FAF1C();
sub_80FD430(sub_80FB5EC, NULL);
- gUnknown_203ABF0 = gUnknown_843EBB4;
- gUnknown_203ABF0.unk_11 = 0;
- gUnknown_203ABF0.unk_12 = 0x258;
+ sRfuReqConfig = sRfuReqConfigTemplate;
+ sRfuReqConfig.unk_11 = 0;
+ sRfuReqConfig.unk_12 = 0x258;
Rfu.unk_67 = CreateTask(sub_80F8B34, 1);
}
@@ -2500,7 +2503,7 @@ static void sub_80FBCF8(u32 a0)
rfu_REQ_disconnect(a0);
rfu_waitREQComplete();
Rfu.unk_ce2 &= ~(a0);
- rfu_clearSlot(1, Rfu.unk_cda);
+ rfu_clearSlot(TYPE_UNI_SEND, Rfu.unk_cda);
rfu_UNI_setSendData(Rfu.unk_ce2, Rfu.unk_c87, 70);
Rfu.unk_cda = sub_80F886C(Rfu.unk_ce2);
}
diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c
index 01f19d817..87197f57f 100644
--- a/src/link_rfu_3.c
+++ b/src/link_rfu_3.c
@@ -502,7 +502,7 @@ static void ASCIIToPkmnStr(u8 *q1, const u8 *q2)
}
#ifdef NONMATCHING
-static u8 sub_80FCADC(u8 maxFlags)
+static u8 GetConnectedChildStrength(u8 maxFlags)
{
u8 flagCount = 0;
u8 flags = gRfuLinkStatus->connSlotFlag;
@@ -533,7 +533,7 @@ static u8 sub_80FCADC(u8 maxFlags)
}
#else
NAKED
-static u8 sub_80FCADC(u8 maxFlags)
+static u8 GetConnectedChildStrength(u8 maxFlags)
{
asm_unified("\tpush {r4-r7,lr}\n"
"\tlsls r0, 24\n"
@@ -603,7 +603,7 @@ static u8 sub_80FCADC(u8 maxFlags)
}
#endif
-void sub_80FCB54(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3)
+void InitHostRFUtgtGname(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3)
{
s32 i;
@@ -629,7 +629,7 @@ void sub_80FCB54(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3)
data->unk_00.gameClear = FlagGet(FLAG_SYS_GAME_CLEAR);
}
-bool8 sub_80FCC3C(struct GFtgtGname *buff1, u8 *buff2, u8 idx)
+bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx)
{
bool8 retVal;
@@ -638,13 +638,13 @@ bool8 sub_80FCC3C(struct GFtgtGname *buff1, u8 *buff2, u8 idx)
retVal = TRUE;
if (sub_80FA44C(gRfuLinkStatus->partner[idx].serialNo) && ((gRfuLinkStatus->getNameFlag >> idx) & 1))
{
- memcpy(buff1, &gRfuLinkStatus->partner[idx].gname, RFU_GAME_NAME_LENGTH);
- memcpy(buff2, gRfuLinkStatus->partner[idx].uname, RFU_USER_NAME_LENGTH);
+ memcpy(gname, &gRfuLinkStatus->partner[idx].gname, RFU_GAME_NAME_LENGTH);
+ memcpy(uname, gRfuLinkStatus->partner[idx].uname, RFU_USER_NAME_LENGTH);
}
else
{
- memset(buff1, 0, RFU_GAME_NAME_LENGTH);
- memset(buff2, 0, RFU_USER_NAME_LENGTH);
+ memset(gname, 0, RFU_GAME_NAME_LENGTH);
+ memset(uname, 0, RFU_USER_NAME_LENGTH);
}
}
else
@@ -652,39 +652,39 @@ bool8 sub_80FCC3C(struct GFtgtGname *buff1, u8 *buff2, u8 idx)
retVal = FALSE;
if (sub_80FA44C(gRfuLinkStatus->partner[idx].serialNo))
{
- memcpy(buff1, &gRfuLinkStatus->partner[idx].gname, RFU_GAME_NAME_LENGTH);
- memcpy(buff2, gRfuLinkStatus->partner[idx].uname, RFU_USER_NAME_LENGTH);
+ memcpy(gname, &gRfuLinkStatus->partner[idx].gname, RFU_GAME_NAME_LENGTH);
+ memcpy(uname, gRfuLinkStatus->partner[idx].uname, RFU_USER_NAME_LENGTH);
}
else
{
- memset(buff1, 0, RFU_GAME_NAME_LENGTH);
- memset(buff2, 0, RFU_USER_NAME_LENGTH);
+ memset(gname, 0, RFU_GAME_NAME_LENGTH);
+ memset(uname, 0, RFU_USER_NAME_LENGTH);
}
}
return retVal;
}
-bool8 sub_80FCCF4(struct GFtgtGname *buff1, u8 *buff2, u8 idx)
+bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx)
{
bool8 retVal = FALSE;
if (gRfuLinkStatus->partner[idx].serialNo == 0x7F7D)
{
- memcpy(buff1, gRfuLinkStatus->partner[idx].gname, RFU_GAME_NAME_LENGTH);
- memcpy(buff2, gRfuLinkStatus->partner[idx].uname, RFU_USER_NAME_LENGTH);
+ memcpy(gname, gRfuLinkStatus->partner[idx].gname, RFU_GAME_NAME_LENGTH);
+ memcpy(uname, gRfuLinkStatus->partner[idx].uname, RFU_USER_NAME_LENGTH);
retVal = TRUE;
}
else
{
- memset(buff1, 0, RFU_GAME_NAME_LENGTH);
- memset(buff2, 0, RFU_USER_NAME_LENGTH);
+ memset(gname, 0, RFU_GAME_NAME_LENGTH);
+ memset(uname, 0, RFU_USER_NAME_LENGTH);
}
return retVal;
}
-void sub_80FCD50(struct GFtgtGname *buff1, u8 *buff2)
+void sub_80FCD50(struct GFtgtGname *gname, u8 *uname)
{
- memcpy(buff1, &gUnknown_3005440, RFU_GAME_NAME_LENGTH);
- memcpy(buff2, gUnknown_3005E00, RFU_USER_NAME_LENGTH);
+ memcpy(gname, &gHostRFUtgtGnameBuffer, RFU_GAME_NAME_LENGTH);
+ memcpy(uname, gHostRFUtgtUnameBuffer, RFU_USER_NAME_LENGTH);
}
void CreateWirelessStatusIndicatorSprite(u8 x, u8 y)
@@ -734,7 +734,7 @@ void LoadWirelessStatusIndicatorSpriteGfx(void)
gWirelessStatusIndicatorSpriteId = 0xFF;
}
-static u8 sub_80FCEE4(void)
+static u8 GetParentSignalStrength(void)
{
u8 i;
u8 flags = gRfuLinkStatus->connSlotFlag;
@@ -749,7 +749,7 @@ static u8 sub_80FCEE4(void)
return 0;
}
-static void sub_80FCF1C(struct Sprite *sprite, s32 signalStrengthAnimNum)
+static void SetAndRestartWirelessStatusIndicatorAnim(struct Sprite *sprite, s32 signalStrengthAnimNum)
{
if (sprite->data[2] != signalStrengthAnimNum)
{
@@ -759,50 +759,50 @@ static void sub_80FCF1C(struct Sprite *sprite, s32 signalStrengthAnimNum)
}
}
-void sub_80FCF34(void)
+void UpdateWirelessStatusIndicatorSprite(void)
{
if (gWirelessStatusIndicatorSpriteId != 0xFF && gSprites[gWirelessStatusIndicatorSpriteId].data[7] == 0x1234)
{
struct Sprite *sprite = &gSprites[gWirelessStatusIndicatorSpriteId];
- u8 signalStrength = 255;
+ u8 signalStrength = RFU_LINK_ICON_LEVEL4_MAX;
u8 i = 0;
if (gRfuLinkStatus->parentChild == MODE_PARENT)
{
for (i = 0; i < GetLinkPlayerCount() - 1; i++)
{
- if (signalStrength >= sub_80FCADC(i + 1))
+ if (signalStrength >= GetConnectedChildStrength(i + 1))
{
- signalStrength = sub_80FCADC(i + 1);
+ signalStrength = GetConnectedChildStrength(i + 1);
}
}
}
else
{
- signalStrength = sub_80FCEE4();
+ signalStrength = GetParentSignalStrength();
}
if (sub_80FC1B0() == TRUE)
{
sprite->data[0] = 4;
}
- else if (signalStrength < 25)
+ else if (signalStrength <= RFU_LINK_ICON_LEVEL1_MAX)
{
sprite->data[0] = 3;
}
- else if (signalStrength >= 25 && signalStrength < 127)
+ else if (signalStrength >= RFU_LINK_ICON_LEVEL2_MIN && signalStrength <= RFU_LINK_ICON_LEVEL2_MAX)
{
sprite->data[0] = 2;
}
- else if (signalStrength >= 127 && signalStrength < 229)
+ else if (signalStrength >= RFU_LINK_ICON_LEVEL3_MIN && signalStrength <= RFU_LINK_ICON_LEVEL3_MAX)
{
sprite->data[0] = 1;
}
- else if (signalStrength >= 229)
+ else if (signalStrength >= RFU_LINK_ICON_LEVEL4_MIN)
{
sprite->data[0] = 0;
}
if (sprite->data[0] != sprite->data[1])
{
- sub_80FCF1C(sprite, sprite->data[0]);
+ SetAndRestartWirelessStatusIndicatorAnim(sprite, sprite->data[0]);
sprite->data[1] = sprite->data[0];
}
if (sprite->anims[sprite->data[2]][sprite->data[4]].frame.duration < sprite->data[3])
diff --git a/src/main.c b/src/main.c
index 5d2db95be..336584ab3 100644
--- a/src/main.c
+++ b/src/main.c
@@ -352,7 +352,7 @@ static void VBlankIntr(void)
sub_800DD28();
Random();
- sub_80FCF34();
+ UpdateWirelessStatusIndicatorSprite();
INTR_CHECK |= INTR_FLAG_VBLANK;
gMain.intrCheck |= INTR_FLAG_VBLANK;