summaryrefslogtreecommitdiff
path: root/src/link_rfu_2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/link_rfu_2.c')
-rw-r--r--src/link_rfu_2.c111
1 files changed, 57 insertions, 54 deletions
diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c
index a06e3bc9c..1cd0d2ea4 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[] = {
@@ -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);
}