Finish syncing link_rfu_2

This commit is contained in:
GriffinR
2022-11-07 10:59:49 -05:00
parent 87ce3fd349
commit b3c47d0059
20 changed files with 1437 additions and 1355 deletions
+15 -15
View File
@@ -324,7 +324,7 @@ static void ChatEntryRoutine_Join(void)
sWork->routineState++;
// fall through
case 1:
if (IsLinkTaskFinished() && !RfuHasFoundNewLeader())
if (IsLinkTaskFinished() && !Rfu_IsPlayerExchangeActive())
{
if (SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer)))
sWork->routineState++;
@@ -527,14 +527,14 @@ static void ChatEntryRoutine_AskQuitChatting(void)
sWork->routineState = 3;
break;
case 0:
Rfu_UnionRoomChat_StopLinkManager();
Rfu_StopPartnerSearch();
PrepareSendBuffer_Disband(sWork->sendMessageBuffer);
sWork->routineState = 4;
break;
}
break;
case 4:
if (IsLinkTaskFinished() && !RfuHasFoundNewLeader() && SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer)))
if (IsLinkTaskFinished() && !Rfu_IsPlayerExchangeActive() && SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer)))
{
if (sWork->multiplayerId == 0)
sWork->routineState = 6;
@@ -577,15 +577,15 @@ static void ChatEntryRoutine_ExitChat(void)
}
break;
case 3:
if (IsLinkTaskFinished() && !RfuHasFoundNewLeader() && SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer)))
if (IsLinkTaskFinished() && !Rfu_IsPlayerExchangeActive() && SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer)))
sWork->routineState++;
break;
case 4:
if ((GetBlockReceivedStatus() & 1) && !RfuHasFoundNewLeader())
if ((GetBlockReceivedStatus() & 1) && !Rfu_IsPlayerExchangeActive())
sWork->routineState++;
break;
case 5:
if (IsLinkTaskFinished() && !RfuHasFoundNewLeader())
if (IsLinkTaskFinished() && !Rfu_IsPlayerExchangeActive())
{
SetCloseLinkCallback();
sWork->exitDelayTimer = 0;
@@ -620,7 +620,7 @@ static void ChatEntryRoutine_Drop(void)
}
break;
case 1:
if (!RunDisplaySubtask(0) && IsLinkTaskFinished() && !RfuHasFoundNewLeader())
if (!RunDisplaySubtask(0) && IsLinkTaskFinished() && !Rfu_IsPlayerExchangeActive())
{
SetCloseLinkCallback();
sWork->exitDelayTimer = 0;
@@ -666,7 +666,7 @@ static void ChatEntryRoutine_Disbanded(void)
}
break;
case 2:
if (RunDisplaySubtask(0) != TRUE && IsLinkTaskFinished() && !RfuHasFoundNewLeader())
if (RunDisplaySubtask(0) != TRUE && IsLinkTaskFinished() && !Rfu_IsPlayerExchangeActive())
{
SetCloseLinkCallback();
sWork->exitDelayTimer = 0;
@@ -704,7 +704,7 @@ static void ChatEntryRoutine_SendMessage(void)
sWork->routineState++;
// fall through
case 1:
if (IsLinkTaskFinished() == TRUE && !RfuHasFoundNewLeader() && SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer)))
if (IsLinkTaskFinished() == TRUE && !Rfu_IsPlayerExchangeActive() && SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer)))
sWork->routineState++;
break;
case 2:
@@ -1144,7 +1144,7 @@ static void PrepareSendBuffer_Leave(u8 *arg0)
arg0[0] = CHAT_MESSAGE_LEAVE;
StringCopy(&arg0[1], gSaveBlock2Ptr->playerName);
arg0[1 + (PLAYER_NAME_LENGTH + 1)] = sWork->multiplayerId;
sub_80FB9D0();
RfuSetNormalDisconnectMode();
}
static void PrepareSendBuffer_Drop(u8 *arg0)
@@ -1355,7 +1355,7 @@ static void Task_ReceiveChatMessage(u8 taskId)
}
tBlockReceivedStatus = GetBlockReceivedStatus();
if (!tBlockReceivedStatus && RfuHasFoundNewLeader())
if (!tBlockReceivedStatus && Rfu_IsPlayerExchangeActive())
return;
tI = 0;
@@ -1409,13 +1409,13 @@ static void Task_ReceiveChatMessage(u8 taskId)
// You're the leader, and the person who left is not you
if (GetLinkPlayerCount() == 2)
{
Rfu_UnionRoomChat_StopLinkManager();
Rfu_StopPartnerSearch();
sWork->exitType = CHATEXIT_LEADER_LAST;
DestroyTask(taskId);
return;
}
sub_80FBD6C(tCurrLinkPlayer);
Rfu_DisconnectPlayerById(tCurrLinkPlayer);
}
tState = 3;
@@ -1433,10 +1433,10 @@ static void Task_ReceiveChatMessage(u8 taskId)
DestroyTask(taskId);
break;
case 2:
if (!RfuHasFoundNewLeader())
if (!Rfu_IsPlayerExchangeActive())
{
if (sWork->multiplayerId == 0)
sub_80FB030(sWork->linkPlayerCount);
SetUnionRoomChatPlayerData(sWork->linkPlayerCount);
tState = 1;
}