Finish syncing link_rfu_2
This commit is contained in:
+15
-15
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user