Use librfu consts in link_rfu_*.c
This commit is contained in:
+1
-1
@@ -5318,7 +5318,7 @@ _08118604:
|
||||
thumb_func_start UnionRoomSpecial
|
||||
UnionRoomSpecial: @ 811860C
|
||||
push {r4,lr}
|
||||
bl sub_80FAF34
|
||||
bl ClearAndInitHostRFUtgtGname
|
||||
ldr r0, _08118648 @ =sub_81186E0
|
||||
movs r1, 0xA
|
||||
bl CreateTask
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
gUnknown_3005440
|
||||
gHostRFUtgtGnameBuffer
|
||||
Rfu
|
||||
gUnknown_3005E00
|
||||
gHostRFUtgtUnameBuffer
|
||||
|
||||
+11
-11
@@ -39,13 +39,13 @@ struct Padded_U8
|
||||
|
||||
struct UnkLinkRfuStruct_02022B2C
|
||||
{
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
u16 unk_02;
|
||||
u8 unk_04;
|
||||
u16 unk_06;
|
||||
struct GFtgtGname *unk_08;
|
||||
u8 *unk_0c;
|
||||
u8 maxMFrame;
|
||||
u8 mcTimer;
|
||||
u16 availSlotFlag;
|
||||
u8 mbootFlag;
|
||||
u16 serialNo;
|
||||
struct GFtgtGname *gname;
|
||||
u8 *uname;
|
||||
u8 unk_10;
|
||||
u8 unk_11;
|
||||
u16 unk_12;
|
||||
@@ -223,8 +223,8 @@ struct UnkRfuStruct_2
|
||||
}; // size: 0x9AC
|
||||
|
||||
extern struct UnkRfuStruct_1 gUnknown_3005E10;
|
||||
extern struct GFtgtGname gUnknown_3005440;
|
||||
extern u8 gUnknown_3005E00[];
|
||||
extern struct GFtgtGname gHostRFUtgtGnameBuffer;
|
||||
extern u8 gHostRFUtgtUnameBuffer[];
|
||||
|
||||
void AddTextPrinterToWindow1(const u8 *str);
|
||||
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 * cmdPtr, const u8 * src);
|
||||
@@ -263,7 +263,7 @@ void sub_80FBB20(void);
|
||||
bool8 sub_80FA484(bool32 a0);
|
||||
void var_800D_set_xB(void);
|
||||
struct GFtgtGname *sub_80F9800(void);
|
||||
void sub_80FCF34(void);
|
||||
void UpdateWirelessStatusIndicatorSprite(void);
|
||||
void InitRFU(void);
|
||||
void sub_80FEB14(void);
|
||||
bool32 sub_80FBA00(void);
|
||||
@@ -288,7 +288,7 @@ bool8 sub_80FC6E8(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1);
|
||||
void sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 * a0, u8 *a1);
|
||||
u8 sub_80FEA34(u8 a0, u16 a1);
|
||||
void sub_80FDA30(u32 a0);
|
||||
void sub_80FCB54(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3);
|
||||
void InitHostRFUtgtGname(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3);
|
||||
void LinkRfu_syncVBlank_(void);
|
||||
s32 sub_80FD430(void (*func1)(u8, u8), void (*func2)(u16));
|
||||
void sub_80FEB3C(void);
|
||||
|
||||
+63
-63
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+57
-54
@@ -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);
|
||||
}
|
||||
|
||||
+32
-32
@@ -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])
|
||||
|
||||
+1
-1
@@ -352,7 +352,7 @@ static void VBlankIntr(void)
|
||||
|
||||
sub_800DD28();
|
||||
Random();
|
||||
sub_80FCF34();
|
||||
UpdateWirelessStatusIndicatorSprite();
|
||||
|
||||
INTR_CHECK |= INTR_FLAG_VBLANK;
|
||||
gMain.intrCheck |= INTR_FLAG_VBLANK;
|
||||
|
||||
Reference in New Issue
Block a user