Still more documentation of RFU

This commit is contained in:
PikalaxALT
2020-01-30 14:54:21 -05:00
parent 78196be41e
commit e3307a5b7a
5 changed files with 192 additions and 192 deletions
+84 -84
View File
@@ -166,7 +166,7 @@ static const struct SpriteTemplate sWirelessStatusIndicatorSpriteTemplate = {
SpriteCallbackDummy
};
void sub_80FC478(struct UnkRfuStruct_2_Sub_124 *ptr)
void RFU_queue_20_70_reset(struct UnkRfuStruct_2_Sub_124 *queue)
{
s32 i;
s32 j;
@@ -175,16 +175,16 @@ void sub_80FC478(struct UnkRfuStruct_2_Sub_124 *ptr)
{
for (j = 0; j < 70; j++)
{
ptr->unk_00[i][j] = 0;
queue->slots[i][j] = 0;
}
}
ptr->unk_8c1 = 0;
ptr->unk_8c0 = 0;
ptr->unk_8c2 = 0;
ptr->unk_8c3 = 0;
queue->send_slot = 0;
queue->recv_slot = 0;
queue->count = 0;
queue->full = 0;
}
void sub_80FC4D4(struct UnkRfuStruct_2_Sub_9e8 *ptr)
void RFU_queue_40_14_reset(struct UnkRfuStruct_2_Sub_9e8 *ptr)
{
s32 i;
s32 j;
@@ -193,16 +193,16 @@ void sub_80FC4D4(struct UnkRfuStruct_2_Sub_9e8 *ptr)
{
for (j = 0; j < 14; j++)
{
ptr->unk_00[i][j] = 0;
ptr->slots[i][j] = 0;
}
}
ptr->unk_231 = 0;
ptr->unk_230 = 0;
ptr->unk_232 = 0;
ptr->unk_233 = 0;
ptr->send_slot = 0;
ptr->recv_slot = 0;
ptr->count = 0;
ptr->full = 0;
}
static void sub_80FC530(struct UnkRfuStruct_Sub_Unused *ptr)
static void RFU_queue_2_256_reset(struct UnkRfuStruct_Sub_Unused *ptr)
{
s32 i;
s32 j;
@@ -211,29 +211,29 @@ static void sub_80FC530(struct UnkRfuStruct_Sub_Unused *ptr)
{
for (j = 0; j < 256; j++)
{
ptr->unk_00[i][j] = 0;
ptr->slots[i][j] = 0;
}
}
ptr->unk_201 = 0;
ptr->unk_200 = 0;
ptr->unk_202 = 0;
ptr->unk_203 = 0;
ptr->send_slot = 0;
ptr->recv_slot = 0;
ptr->count = 0;
ptr->full = 0;
}
void sub_80FC588(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
void RFU_queue_20_70_recv(struct UnkRfuStruct_2_Sub_124 *queue, u8 *data)
{
s32 i;
u16 imeBak;
u8 count;
if (q1->unk_8c2 < 20)
if (queue->count < 20)
{
imeBak = REG_IME;
REG_IME = 0;
count = 0;
for (i = 0; i < 70; i += 14)
{
if (q2[i] == 0 && q2[i + 1] == 0)
if (data[i] == 0 && data[i + 1] == 0)
{
count++;
}
@@ -242,36 +242,36 @@ void sub_80FC588(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
{
for (i = 0; i < 70; i++)
{
q1->unk_00[q1->unk_8c0][i] = q2[i];
queue->slots[queue->recv_slot][i] = data[i];
}
q1->unk_8c0++;
q1->unk_8c0 %= 20;
q1->unk_8c2++;
queue->recv_slot++;
queue->recv_slot %= 20;
queue->count++;
for (i = 0; i < 70; i++)
{
q2[i] = 0;
data[i] = 0;
}
}
REG_IME = imeBak;
}
else
{
q1->unk_8c3 = 1;
queue->full = 1;
}
}
void sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
void RFU_queue_40_14_recv(struct UnkRfuStruct_2_Sub_9e8 *queue, u8 *data)
{
s32 i;
u16 imeBak;
if (q1->unk_232 < 40)
if (queue->count < 40)
{
imeBak = REG_IME;
REG_IME = 0;
for (i = 0; i < 14; i++)
{
if (q2[i] != 0)
if (data[i] != 0)
{
break;
}
@@ -280,57 +280,57 @@ void sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
{
for (i = 0; i < 14; i++)
{
q1->unk_00[q1->unk_230][i] = q2[i];
queue->slots[queue->recv_slot][i] = data[i];
}
q1->unk_230++;
q1->unk_230 %= 40;
q1->unk_232++;
queue->recv_slot++;
queue->recv_slot %= 40;
queue->count++;
for (i = 0; i < 14; i++)
{
q2[i] = 0;
data[i] = 0;
}
}
REG_IME = imeBak;
}
else
{
q1->unk_233 = 1;
queue->full = 1;
}
}
bool8 sub_80FC6E8(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
bool8 RFU_queue_20_70_send(struct UnkRfuStruct_2_Sub_124 *queue, u8 *dest)
{
u16 imeBak;
s32 i;
imeBak = REG_IME;
REG_IME = 0;
if (q1->unk_8c0 == q1->unk_8c1 || q1->unk_8c3 != 0)
if (queue->recv_slot == queue->send_slot || queue->full)
{
for (i = 0; i < 70; i++)
{
q2[i] = 0;
dest[i] = 0;
}
REG_IME = imeBak;
return FALSE;
}
for (i = 0; i < 70; i++)
{
q2[i] = q1->unk_00[q1->unk_8c1][i];
dest[i] = queue->slots[queue->send_slot][i];
}
q1->unk_8c1++;
q1->unk_8c1 %= 20;
q1->unk_8c2--;
queue->send_slot++;
queue->send_slot %= 20;
queue->count--;
REG_IME = imeBak;
return TRUE;
}
bool8 sub_80FC79C(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
bool8 RFU_queue_40_14_send(struct UnkRfuStruct_2_Sub_9e8 *queue, u8 *dest)
{
s32 i;
u16 imeBak;
if (q1->unk_230 == q1->unk_231 || q1->unk_233 != 0)
if (queue->recv_slot == queue->send_slot || queue->full != 0)
{
return FALSE;
}
@@ -338,98 +338,98 @@ bool8 sub_80FC79C(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
REG_IME = 0;
for (i = 0; i < 14; i++)
{
q2[i] = q1->unk_00[q1->unk_231][i];
dest[i] = queue->slots[queue->send_slot][i];
}
q1->unk_231++;
q1->unk_231 %= 40;
q1->unk_232--;
queue->send_slot++;
queue->send_slot %= 40;
queue->count--;
REG_IME = imeBak;
return TRUE;
}
void sub_80FC828(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2)
void RFU_queue_2_14_recv(struct UnkRfuStruct_2_Sub_c1c *queue, const u8 *data)
{
s32 i;
if (q2[1] == 0)
if (data[1] == 0)
{
sub_80FC888(q1, NULL);
RFU_queue_2_14_send(queue, NULL);
}
else
{
for (i = 0; i < 14; i++)
{
q1->unk_00[q1->unk_1c][i] = q2[i];
queue->slots[queue->recv_slot][i] = data[i];
}
q1->unk_1c++;
q1->unk_1c %= 2;
if (q1->unk_1e < 2)
queue->recv_slot++;
queue->recv_slot %= 2;
if (queue->count < 2)
{
q1->unk_1e++;
queue->count++;
}
else
{
q1->unk_1d = q1->unk_1c;
queue->send_slot = queue->recv_slot;
}
}
}
bool8 sub_80FC888(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2)
bool8 RFU_queue_2_14_send(struct UnkRfuStruct_2_Sub_c1c *queue, u8 *dest)
{
s32 i;
if (q1->unk_1e == 0)
if (queue->count == 0)
{
return FALSE;
}
if (q2 != NULL)
if (dest != NULL)
{
for (i = 0; i < 14; i++)
{
q2[i] = q1->unk_00[q1->unk_1d][i];
dest[i] = queue->slots[queue->send_slot][i];
}
}
q1->unk_1d++;
q1->unk_1d %= 2;
q1->unk_1e--;
queue->send_slot++;
queue->send_slot %= 2;
queue->count--;
return TRUE;
}
static void sub_80FC8D8(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
static void RFU_queue_2_256_recv(struct UnkRfuStruct_Sub_Unused *queue, u8 *data)
{
s32 i;
if (q1->unk_202 < 2)
if (queue->count < 2)
{
for (i = 0; i < 256; i++)
{
q1->unk_00[q1->unk_200][i] = q2[i];
queue->slots[queue->recv_slot][i] = data[i];
}
q1->unk_200++;
q1->unk_200 %= 2;
q1->unk_202++;
queue->recv_slot++;
queue->recv_slot %= 2;
queue->count++;
}
else
{
q1->unk_203 = 1;
queue->full = 1;
}
}
static bool8 sub_80FC944(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
static bool8 RFU_queue_2_256_send(struct UnkRfuStruct_Sub_Unused *queue, u8 *send)
{
s32 i;
if (q1->unk_200 == q1->unk_201 || q1->unk_203)
if (queue->recv_slot == queue->send_slot || queue->full)
{
return FALSE;
}
for (i = 0; i < 256; i++)
{
q2[i] = q1->unk_00[q1->unk_201][i];
send[i] = queue->slots[queue->send_slot][i];
}
q1->unk_201++;
q1->unk_201 %= 2;
q1->unk_202--;
queue->send_slot++;
queue->send_slot %= 2;
queue->count--;
return TRUE;
}
@@ -438,7 +438,7 @@ static void sub_80FC9B8(u8 *q1, u8 mode)
s32 i;
u8 rval;
u16 r5 = 0;
static u8 _3002018;
static u8 counter;
switch (mode)
{
@@ -470,11 +470,11 @@ static void sub_80FC9B8(u8 *q1, u8 mode)
case 3:
for (i = 0; i < 200; i++)
{
q1[i] = i + 1 + _3002018;
r5 += (i + 1 + _3002018) & 0xFF;
q1[i] = i + 1 + counter;
r5 += (i + 1 + counter) & 0xFF;
}
*((u16 *)(q1 + i)) = r5;
_3002018++;
counter++;
break;
}
}
@@ -892,7 +892,7 @@ void RecordMixTrainerNames(void)
s32 connectedTrainerRecordIndices[5];
struct TrainerNameRecord *newRecords = AllocZeroed(20 * sizeof(struct TrainerNameRecord));
// Check if we already have a record saved for connected trainers.
// Check if we alsendy have a record saved for connected trainers.
for (i = 0; i < GetLinkPlayerCount(); i++)
{
connectedTrainerRecordIndices[i] = -1;
@@ -913,7 +913,7 @@ void RecordMixTrainerNames(void)
{
CopyTrainerRecord(&newRecords[nextSpace], (u16)gLinkPlayers[i].trainerId, gLinkPlayers[i].name);
// If we already had a record for this trainer, wipe it so that the next step doesn't duplicate it.
// If we alsendy had a record for this trainer, wipe it so that the next step doesn't duplicate it.
if (connectedTrainerRecordIndices[i] >= 0)
{
ZeroName(gSaveBlock1Ptr->trainerNameRecords[connectedTrainerRecordIndices[i]].trainerName);