Merge pull request #542 from GriffinRichards/sync-cableclub

Sync cable club
This commit is contained in:
GriffinR
2022-09-03 14:27:13 -04:00
committed by GitHub
24 changed files with 535 additions and 462 deletions
+38 -38
View File
@@ -275,12 +275,12 @@ CableClub_EventScript_TryEnterColosseum::
special TryBattleLinkup
waitstate
call EventScript_RestorePrevTextColor
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterColosseum
goto_if_eq VAR_RESULT, 2, CableClub_EventScript_AbortLinkSomeoneNotReady
goto_if_eq VAR_RESULT, 3, CableClub_EventScript_AbortLinkDifferentSelections
goto_if_eq VAR_RESULT, 4, CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_AbortLink
goto_if_eq VAR_RESULT, 6, CableClub_EventScript_AbortLinkConnectionError
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterColosseum
goto_if_eq VAR_RESULT, LINKUP_SOMEONE_NOT_READY, CableClub_EventScript_AbortLinkSomeoneNotReady
goto_if_eq VAR_RESULT, LINKUP_DIFF_SELECTIONS, CableClub_EventScript_AbortLinkDifferentSelections
goto_if_eq VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS, CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_AbortLink
goto_if_eq VAR_RESULT, LINKUP_CONNECTION_ERROR, CableClub_EventScript_AbortLinkConnectionError
end
CableClub_EventScript_EnterColosseum::
@@ -373,14 +373,14 @@ CableClub_EventScript_TradeCenter::
special TryTradeLinkup
waitstate
call EventScript_RestorePrevTextColor
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterTradeCenter
goto_if_eq VAR_RESULT, 2, CableClub_EventScript_AbortLinkSomeoneNotReady
goto_if_eq VAR_RESULT, 3, CableClub_EventScript_AbortLinkDifferentSelections
goto_if_eq VAR_RESULT, 4, CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_AbortLink
goto_if_eq VAR_RESULT, 6, CableClub_EventScript_AbortLinkConnectionError
goto_if_eq VAR_RESULT, 7, CableClub_EventScript_AbortLinkPlayerNotReady
goto_if_eq VAR_RESULT, 9, CableClub_EventScript_AbortLinkOtherTrainerNotReady
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterTradeCenter
goto_if_eq VAR_RESULT, LINKUP_SOMEONE_NOT_READY, CableClub_EventScript_AbortLinkSomeoneNotReady
goto_if_eq VAR_RESULT, LINKUP_DIFF_SELECTIONS, CableClub_EventScript_AbortLinkDifferentSelections
goto_if_eq VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS, CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_AbortLink
goto_if_eq VAR_RESULT, LINKUP_CONNECTION_ERROR, CableClub_EventScript_AbortLinkConnectionError
goto_if_eq VAR_RESULT, LINKUP_PLAYER_NOT_READY, CableClub_EventScript_AbortLinkPlayerNotReady
goto_if_eq VAR_RESULT, LINKUP_PARTNER_NOT_READY, CableClub_EventScript_AbortLinkOtherTrainerNotReady
end
CableClub_EventScript_EnterTradeCenter::
@@ -963,17 +963,17 @@ CableClub_EventScript_ChooseLinkLeaderFrom2::
CableClub_EventScript_TryLeadGroup2Players::
call CableClub_EventScript_TryBecomeLinkLeader
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_ChooseLinkLeaderFrom2
goto_if_eq VAR_RESULT, 8, CableClub_EventScript_TryLeadGroup2Players
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderFrom2
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryLeadGroup2Players
release
return
CableClub_EventScript_TryJoinGroup2Players::
call CableClub_EventScript_TryJoinLinkGroup
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_ChooseLinkLeaderFrom2
goto_if_eq VAR_RESULT, 8, CableClub_EventScript_TryJoinGroup2Players
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderFrom2
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryJoinGroup2Players
release
return
@@ -992,17 +992,17 @@ CableClub_EventScript_ChooseLinkLeaderFrom4::
CableClub_EventScript_TryLeadGroup4Players::
call CableClub_EventScript_TryBecomeLinkLeader
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_ChooseLinkLeaderFrom4
goto_if_eq VAR_RESULT, 8, CableClub_EventScript_TryLeadGroup4Players
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderFrom4
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryLeadGroup4Players
release
return
CableClub_EventScript_TryJoinGroup4Players::
call CableClub_EventScript_TryJoinLinkGroup
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_ChooseLinkLeaderFrom4
goto_if_eq VAR_RESULT, 8, CableClub_EventScript_TryJoinGroup4Players
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderFrom4
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryJoinGroup4Players
release
return
@@ -1021,17 +1021,17 @@ CableClub_EventScript_ChooseLinkLeader::
CableClub_EventScript_TryLeadGroupXPlayers::
call CableClub_EventScript_TryBecomeLinkLeader
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_ChooseLinkLeader
goto_if_eq VAR_RESULT, 8, CableClub_EventScript_TryLeadGroupXPlayers
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeader
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryLeadGroupXPlayers
release
return
CableClub_EventScript_TryJoinGroupXPlayers::
call CableClub_EventScript_TryJoinLinkGroup
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_ChooseLinkLeader
goto_if_eq VAR_RESULT, 8, CableClub_EventScript_TryJoinGroupXPlayers
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeader
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryJoinGroupXPlayers
release
return
@@ -1217,17 +1217,17 @@ CableClub_EventScript_ChooseLinkLeaderMinigame::
CableClub_EventScript_TryBecomeMinigameLinkLeader::
call CableClub_EventScript_TryBecomeLinkLeader
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterMinigame
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_ChooseLinkLeaderMinigame
goto_if_eq VAR_RESULT, 8, CableClub_EventScript_TryBecomeMinigameLinkLeader
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterMinigame
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderMinigame
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryBecomeMinigameLinkLeader
release
return
CableClub_EventScript_TryJoinMinigameLinkGroup::
call CableClub_EventScript_TryJoinLinkGroup
goto_if_eq VAR_RESULT, 1, CableClub_EventScript_EnterMinigame
goto_if_eq VAR_RESULT, 5, CableClub_EventScript_ChooseLinkLeaderMinigame
goto_if_eq VAR_RESULT, 8, CableClub_EventScript_TryJoinMinigameLinkGroup
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterMinigame
goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderMinigame
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryJoinMinigameLinkGroup
release
return
+1 -1
View File
@@ -2,6 +2,6 @@
#define GUARD_BATTLE_RECORDS_H
void ClearPlayerLinkBattleRecords(void);
void TryRecordLinkBattleOutcome(s32 battlerId);
void UpdatePlayerLinkBattleRecords(s32 battlerId);
#endif // GUARD_BATTLE_RECORDS_H
+2 -9
View File
@@ -1,15 +1,8 @@
#ifndef GUARD_CABLE_CLUB_H
#define GUARD_CABLE_CLUB_H
#include "task.h"
// Exported type declarations
// Exported RAM declarations
// Exported ROM declarations
void Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout(u8 taskId);
u8 CreateTask_ReestablishLinkInCableClubRoom(void);
void Task_WaitForLinkPlayerConnection(u8 taskId);
u8 CreateTask_ReestablishCableClubLink(void);
void CB2_ReturnFromCableClubBattle(void);
bool32 GetSeeingLinkPlayerCardMsg(u8 who);
+17
View File
@@ -12,4 +12,21 @@
#define USING_MINIGAME 8
#define USING_BATTLE_TOWER 9
// Return states for the group of specials that use CreateLinkupTask
// A few also used by TryBecomeLinkLeader and TryJoinLinkGroup
#define LINKUP_ONGOING 0
#define LINKUP_SUCCESS 1
#define LINKUP_SOMEONE_NOT_READY 2
#define LINKUP_DIFF_SELECTIONS 3
#define LINKUP_WRONG_NUM_PLAYERS 4
#define LINKUP_FAILED 5
#define LINKUP_CONNECTION_ERROR 6
#define LINKUP_PLAYER_NOT_READY 7
#define LINKUP_RETRY_ROLE_ASSIGN 8
#define LINKUP_PARTNER_NOT_READY 9
#define CABLE_SEAT_WAITING 0
#define CABLE_SEAT_SUCCESS 1
#define CABLE_SEAT_FAILED 2
#endif //GUARD_CONSTANTS_CABLE_CLUB_H
+2
View File
@@ -12,6 +12,8 @@
#define MAP(map) MAP_GROUP(map), MAP_NUM(map)
#define WARP_ID_DYNAMIC 0x7F
// Used to indicate an invalid warp id, for dummy warps or when a warp should
// use the given coordinates rather than the coordinates of a target warp.
#define WARP_ID_NONE (-1)
+7
View File
@@ -3,6 +3,13 @@
#include "global.h"
enum {
FIELD_MESSAGE_BOX_HIDDEN,
FIELD_MESSAGE_BOX_UNUSED,
FIELD_MESSAGE_BOX_NORMAL,
FIELD_MESSAGE_BOX_AUTO_SCROLL,
};
bool8 ShowFieldMessage(const u8 *message);
bool8 ShowFieldAutoScrollMessage(const u8 *message);
void HideFieldMessageBox(void);
+21 -14
View File
@@ -68,7 +68,7 @@
#define LINKTYPE_TRADE 0x1111 // trade
#define LINKTYPE_0x1122 0x1122 // trade
#define LINKTYPE_0x1133 0x1133 // trade
#define LINKTYPE_TRADE_SETUP 0x1133
#define LINKTYPE_0x1144 0x1144 // trade
#define LINKTYPE_BATTLE 0x2211
#define LINKTYPE_0x2222 0x2222 // unused battle?
@@ -78,11 +78,19 @@
#define LINKTYPE_BATTLE_TOWER_50 0x2266
#define LINKTYPE_BATTLE_TOWER_OPEN 0x2277
#define LINKTYPE_BATTLE_TOWER 0x2288
#define LINKTYPE_0x3311 0x3311
#define LINKTYPE_0x3322 0x3322
#define LINKTYPE_RECORD_MIX_BEFORE 0x3311
#define LINKTYPE_RECORD_MIX_AFTER 0x3322
#define LINKTYPE_BERRY_BLENDER_SETUP 0x4411
#define LINKTYPE_CONTEST_GMODE 0x6601
enum {
BLOCK_REQ_SIZE_NONE, // Identical to 200
BLOCK_REQ_SIZE_200,
BLOCK_REQ_SIZE_100,
BLOCK_REQ_SIZE_220,
BLOCK_REQ_SIZE_40,
};
#define MASTER_HANDSHAKE 0x8FFF
#define SLAVE_HANDSHAKE 0xB9A0
@@ -102,11 +110,10 @@ enum
EXCHANGE_NOT_STARTED,
EXCHANGE_COMPLETE,
EXCHANGE_TIMED_OUT,
EXCHANGE_IN_PROGRESS,
EXCHANGE_STAT_4,
EXCHANGE_STAT_5,
EXCHANGE_STAT_6,
EXCHANGE_STAT_7
EXCHANGE_DIFF_SELECTIONS,
EXCHANGE_PLAYER_NOT_READY,
EXCHANGE_PARTNER_NOT_READY,
EXCHANGE_WRONG_NUM_PLAYERS,
};
enum
@@ -269,17 +276,17 @@ void ClearLinkCallback_2(void);
void Rfu_SetLinkStandbyCallback(void);
void ConvertLinkPlayerName(struct LinkPlayer * linkPlayer);
bool8 IsWirelessAdapterConnected(void);
bool8 Link_PrepareCmd0xCCCC_Rfu0xA100(u8 blockRequestType);
bool8 SendBlockRequest(u8 blockRequestType);
void LinkVSync(void);
bool8 HandleLinkConnection(void);
void LocalLinkPlayerToBlock(void);
void LinkPlayerFromBlock(u32 who);
void SetLinkErrorFromRfu(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 isConnectionError);
u8 sub_800A8D4(void);
void sub_800AA24(void);
void sub_800A900(u8 a0);
u8 sub_800A8A4(void);
void sub_800A9A4(void);
u8 GetLinkPlayerCountAsBitFlags(void);
void ResetLinkPlayerCount(void);
void SaveLinkPlayers(u8 numPlayers);
u8 GetSavedLinkPlayerCountAsBitFlags(void);
void CheckLinkPlayersMatchSaved(void);
void SetLocalLinkPlayerId(u8 playerId);
bool32 IsSendingKeysToLink(void);
u32 GetLinkRecvQueueLength(void);
+7 -1
View File
@@ -3,6 +3,12 @@
#include "global.h"
#define CARD_STAT_BATTLES_WON 0
#define CARD_STAT_BATTLES_LOST 1
#define CARD_STAT_NUM_TRADES 2
#define CARD_STAT_NUM_STAMPS 3
#define CARD_STAT_MAX_STAMPS 4
struct MEventClientHeaderStruct
{
u32 unk_00;
@@ -85,7 +91,7 @@ bool32 WonderCard_Test_Unk_08_6(void);
u32 MENews_GetInput(u16 input);
void InitMEventData(void);
u16 MEvent_GetBattleCardCount(u32 command);
void MEvent_RecordIdOfWonderCardSenderByEventType(u32 eventId, u32 trainerId);
void MysteryGift_TryIncrementStat(u32 eventId, u32 trainerId);
u16 *GetMEventProfileECWordsMaybe(void);
void ResetReceivedWonderCardFlag(void);
bool32 MEventHandleReceivedWonderCard(u16 flagId);
+1 -1
View File
@@ -31,7 +31,7 @@ void DrawDialogueFrame(u8 windowId, bool8 transfer);
void DrawStdWindowFrame(u8 windowId, bool8 copyNow);
void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram);
void ClearStdWindowAndFrame(u8 windowId, bool8 copyNow);
void sub_80F771C(bool8 copyToVram);
void EraseFieldMessageBox(bool8 copyToVram);
void SetStdWindowBorderStyle(u8 windowId, bool8 copyToVram);
void sub_80F7768(u8 windowId, bool8 copyToVram);
void Menu_LoadStdPal(void);
+5 -5
View File
@@ -1174,11 +1174,11 @@ extern const u8 gText_ExcellentsInARow[];
extern const u8 gText_PkmnJumpRecords[];
// cable_club
extern const u8 gUnknown_841DF82[];
extern const u8 gUnknown_841DF8B[];
extern const u8 gUnknown_841DF92[];
extern const u8 gUnknown_841DF99[];
extern const u8 gUnknown_841DFA0[];
extern const u8 gText_NumPlayerLink[];
extern const u8 gText_BronzeCard[];
extern const u8 gText_CopperCard[];
extern const u8 gText_SilverCard[];
extern const u8 gText_GoldCard[];
// berry_crush
extern const u8 gText_BerryCrush_AreYouReady[];
+1 -1
View File
@@ -36,7 +36,7 @@ void HandleLinkBattleSetup(void)
SetWirelessCommType1();
if (!gReceivedRemoteLinkPlayers)
OpenLink();
CreateTask(Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout, 0);
CreateTask(Task_WaitForLinkPlayerConnection, 0);
CreateTasksForSendRecvLinkBuffers();
}
}
+1 -1
View File
@@ -440,7 +440,7 @@ static void UpdateBattleOutcomeOnTrainerCards(s32 battlerId)
}
}
void TryRecordLinkBattleOutcome(s32 battlerId)
void UpdatePlayerLinkBattleRecords(s32 battlerId)
{
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(UNION_ROOM) || gSaveBlock1Ptr->location.mapNum != MAP_NUM(UNION_ROOM))
{
+384 -325
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -173,7 +173,7 @@ static void Task_ReturnToFieldCableLink(u8 taskId)
switch (task->data[0])
{
case 0:
task->data[1] = CreateTask_ReestablishLinkInCableClubRoom();
task->data[1] = CreateTask_ReestablishCableClubLink();
task->data[0]++;
break;
case 1:
+1 -8
View File
@@ -1,18 +1,11 @@
#include "global.h"
#include "field_message_box.h"
#include "gflib.h"
#include "new_menu_helpers.h"
#include "quest_log.h"
#include "script.h"
#include "text_window.h"
enum
{
FIELD_MESSAGE_BOX_HIDDEN,
FIELD_MESSAGE_BOX_UNUSED,
FIELD_MESSAGE_BOX_NORMAL,
FIELD_MESSAGE_BOX_AUTO_SCROLL,
};
static EWRAM_DATA u8 sMessageBoxType = 0;
static void ExpandStringAndStartDrawFieldMessageBox(const u8 *str);
+18 -18
View File
@@ -163,11 +163,11 @@ static const u16 sLinkTestFontPal[] = INCBIN_U16("graphics/interface/link_test_f
static const u16 sLinkTestFontGfx[] = INCBIN_U16("graphics/interface/link_test_font.4bpp");
static const struct BlockRequest sBlockRequests[] = {
{gBlockSendBuffer, 200},
{gBlockSendBuffer, 200},
{gBlockSendBuffer, 100},
{gBlockSendBuffer, 220},
{gBlockSendBuffer, 40}
[BLOCK_REQ_SIZE_NONE] = { gBlockSendBuffer, 200 },
[BLOCK_REQ_SIZE_200] = { gBlockSendBuffer, 200 },
[BLOCK_REQ_SIZE_100] = { gBlockSendBuffer, 100 },
[BLOCK_REQ_SIZE_220] = { gBlockSendBuffer, 220 },
[BLOCK_REQ_SIZE_40] = { gBlockSendBuffer, 40 }
};
static const char sASCIIGameFreakInc[] = "GameFreak inc.";
static const char sASCIITestPrint[] = "TEST PRINT\n"
@@ -788,8 +788,8 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper)
cmpVal = GetLinkPlayerCount_2();
if (lower > cmpVal || cmpVal > upper)
{
sPlayerDataExchangeStatus = EXCHANGE_STAT_6;
return EXCHANGE_STAT_6;
sPlayerDataExchangeStatus = EXCHANGE_WRONG_NUM_PLAYERS;
return sPlayerDataExchangeStatus;
}
else
{
@@ -815,10 +815,10 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper)
sPlayerDataExchangeStatus = EXCHANGE_COMPLETE;
break;
case 1:
sPlayerDataExchangeStatus = EXCHANGE_STAT_4;
sPlayerDataExchangeStatus = EXCHANGE_PLAYER_NOT_READY;
break;
case 2:
sPlayerDataExchangeStatus = EXCHANGE_STAT_5;
sPlayerDataExchangeStatus = EXCHANGE_PARTNER_NOT_READY;
break;
}
}
@@ -829,7 +829,7 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper)
}
else
{
sPlayerDataExchangeStatus = EXCHANGE_IN_PROGRESS;
sPlayerDataExchangeStatus = EXCHANGE_DIFF_SELECTIONS;
}
}
}
@@ -862,7 +862,7 @@ bool8 IsLinkPlayerDataExchangeComplete(void)
else
{
retval = FALSE;
sPlayerDataExchangeStatus = EXCHANGE_IN_PROGRESS;
sPlayerDataExchangeStatus = EXCHANGE_DIFF_SELECTIONS;
}
return retval;
}
@@ -999,7 +999,7 @@ bool8 SendBlock(u8 unused, const void *src, u16 size)
return InitBlockSend(src, size);
}
bool8 Link_PrepareCmd0xCCCC_Rfu0xA100(u8 blockRequestType)
bool8 SendBlockRequest(u8 blockRequestType)
{
if (gWirelessCommType == 1)
{
@@ -1195,7 +1195,7 @@ void SetLinkDebugValues(u32 seed, u32 flags)
gLinkDebugFlags = flags;
}
u8 sub_800A8A4(void)
u8 GetSavedLinkPlayerCountAsBitFlags(void)
{
int i;
u8 flags;
@@ -1208,7 +1208,7 @@ u8 sub_800A8A4(void)
return flags;
}
u8 sub_800A8D4(void)
u8 GetLinkPlayerCountAsBitFlags(void)
{
int i;
u8 flags;
@@ -1221,11 +1221,11 @@ u8 sub_800A8D4(void)
return flags;
}
void sub_800A900(u8 a0)
void SaveLinkPlayers(u8 numPlayers)
{
int i;
gSavedLinkPlayerCount = a0;
gSavedLinkPlayerCount = numPlayers;
gSavedMultiplayerId = GetMultiplayerId();
for (i = 0; i < MAX_RFU_PLAYERS; i++)
{
@@ -1265,7 +1265,7 @@ bool8 sub_800A95C(void)
return FALSE;
}
void sub_800A9A4(void)
void CheckLinkPlayersMatchSaved(void)
{
u8 i;
@@ -1280,7 +1280,7 @@ void sub_800A9A4(void)
}
}
void sub_800AA24(void)
void ResetLinkPlayerCount(void)
{
gSavedLinkPlayerCount = 0;
gSavedMultiplayerId = 0;
+6 -6
View File
@@ -168,11 +168,11 @@ static const u8 sNumTrailingZeroes[] = {
};
static const struct BlockRequest sBlockRequests[] = {
{ gBlockSendBuffer, 200 },
{ gBlockSendBuffer, 200 },
{ gBlockSendBuffer, 100 },
{ gBlockSendBuffer, 220 },
{ gBlockSendBuffer, 40 }
[BLOCK_REQ_SIZE_NONE] = { gBlockSendBuffer, 200 },
[BLOCK_REQ_SIZE_200] = { gBlockSendBuffer, 200 },
[BLOCK_REQ_SIZE_100] = { gBlockSendBuffer, 100 },
[BLOCK_REQ_SIZE_220] = { gBlockSendBuffer, 220 },
[BLOCK_REQ_SIZE_40] = { gBlockSendBuffer, 40 }
};
static const u16 sAcceptedSerialNos[] = {
@@ -1709,7 +1709,7 @@ static void sub_80FA834(u8 taskId)
{
if (AreNoPlayersReceiving())
{
Rfu.cmdA100_blockRequestType = 0;
Rfu.cmdA100_blockRequestType = BLOCK_REQ_SIZE_NONE;
RfuPrepareSendBuffer(RFUCMD_SEND_BLOCK_REQ);
gTasks[taskId].data[0]++;
}
+1 -1
View File
@@ -961,7 +961,7 @@ bool32 MEventHandleReceivedWonderCard(u16 flagId)
return TRUE;
}
void MEvent_RecordIdOfWonderCardSenderByEventType(u32 eventId, u32 trainerId)
void MysteryGift_TryIncrementStat(u32 eventId, u32 trainerId)
{
if (sReceivedWonderCardIsValid)
{
+1 -1
View File
@@ -592,7 +592,7 @@ static void WindowFunc_ClearDialogWindowAndFrame(u8 bg, u8 tilemapLeft, u8 tilem
FillBgTilemapBufferRect(bg, 0, tilemapLeft - 2, tilemapTop - 1, width + 4, height + 2, STD_WINDOW_PALETTE_NUM);
}
void sub_80F771C(bool8 copyToVram)
void EraseFieldMessageBox(bool8 copyToVram)
{
FillBgTilemapBufferRect(0, 0, 0, 0, 0x20, 0x20, 0x11);
if (copyToVram == TRUE)
+6 -5
View File
@@ -47,6 +47,7 @@
#include "trainer_pokemon_sprites.h"
#include "vs_seeker.h"
#include "wild_encounter.h"
#include "constants/cable_club.h"
#include "constants/maps.h"
#include "constants/region_map_sections.h"
#include "constants/songs.h"
@@ -2979,14 +2980,14 @@ static u16 KeyInterCB_SendNothing_2(u32 key)
u32 GetCableClubPartnersReady(void)
{
if (IsAnyPlayerInLinkState(PLAYER_LINK_STATE_EXITING_ROOM) == TRUE)
return 2;
return CABLE_SEAT_FAILED;
if (sPlayerKeyInterceptCallback == KeyInterCB_Ready && sPlayerLinkStates[gLocalLinkPlayerId] != PLAYER_LINK_STATE_READY)
return 0;
return CABLE_SEAT_WAITING;
if (sPlayerKeyInterceptCallback == KeyInterCB_DoNothingAndKeepAlive && sPlayerLinkStates[gLocalLinkPlayerId] == PLAYER_LINK_STATE_BUSY)
return 2;
return CABLE_SEAT_FAILED;
if (AreAllPlayersInLinkState(PLAYER_LINK_STATE_READY) != FALSE)
return 1;
return 0;
return CABLE_SEAT_SUCCESS;
return CABLE_SEAT_WAITING;
}
static bool32 IsAnyPlayerExitingCableClub(void)
+5 -5
View File
@@ -1168,11 +1168,11 @@ const u8 gText_CommErrorEllipsis[] = _("Communication error…");
const u8 gText_MoveCloserToLinkPartner[] = _("Move closer to your link partner(s).\nAvoid obstacles between partners.");
const u8 gText_ABtnRegistrationCounter[] = _("A Button: Registration Counter");
const u8 gText_ABtnTitleScreen[] = _("A Button: Title Screen");
const u8 gUnknown_841DF82[] = _("{STR_VAR_1}P LINK");
const u8 gUnknown_841DF8B[] = _("BRONZE");
const u8 gUnknown_841DF92[] = _("COPPER");
const u8 gUnknown_841DF99[] = _("SILVER");
const u8 gUnknown_841DFA0[] = _("GOLD");
const u8 gText_NumPlayerLink[] = _("{STR_VAR_1}P LINK");
const u8 gText_BronzeCard[] = _("BRONZE");
const u8 gText_CopperCard[] = _("COPPER");
const u8 gText_SilverCard[] = _("SILVER");
const u8 gText_GoldCard[] = _("GOLD");
const u8 gText_HelpSystemControls_A_Next[] = _("{A_BUTTON}NEXT");
const u8 gText_HelpSystemControls_PickOkEnd[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}END");
const u8 gText_HelpSystemControls_AorBtoCancel[] = _("{A_BUTTON}{B_BUTTON}CANCEL");
+6 -16
View File
@@ -767,7 +767,7 @@ static void CB2_ReturnFromLinkTrade2(void)
gMain.state++;
}
if (gWirelessCommType == 0)
CreateTask(Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout, 1);
CreateTask(Task_WaitForLinkPlayerConnection, 1);
}
else
{
@@ -1346,9 +1346,7 @@ static bool8 shedinja_maker_maybe(void)
break;
case 3:
if (id == 0)
{
Link_PrepareCmd0xCCCC_Rfu0xA100(1);
}
SendBlockRequest(BLOCK_REQ_SIZE_200);
sTradeMenuResourcesPtr->state++;
break;
case 4:
@@ -1365,9 +1363,7 @@ static bool8 shedinja_maker_maybe(void)
break;
case 7:
if (id == 0)
{
Link_PrepareCmd0xCCCC_Rfu0xA100(1);
}
SendBlockRequest(BLOCK_REQ_SIZE_200);
sTradeMenuResourcesPtr->state++;
break;
case 8:
@@ -1384,9 +1380,7 @@ static bool8 shedinja_maker_maybe(void)
break;
case 11:
if (id == 0)
{
Link_PrepareCmd0xCCCC_Rfu0xA100(1);
}
SendBlockRequest(BLOCK_REQ_SIZE_200);
sTradeMenuResourcesPtr->state++;
break;
case 12:
@@ -1403,9 +1397,7 @@ static bool8 shedinja_maker_maybe(void)
break;
case 15:
if (id == 0)
{
Link_PrepareCmd0xCCCC_Rfu0xA100(3);
}
SendBlockRequest(BLOCK_REQ_SIZE_220);
sTradeMenuResourcesPtr->state++;
break;
case 16:
@@ -1422,9 +1414,7 @@ static bool8 shedinja_maker_maybe(void)
break;
case 19:
if (id == 0)
{
Link_PrepareCmd0xCCCC_Rfu0xA100(4);
}
SendBlockRequest(BLOCK_REQ_SIZE_40);
sTradeMenuResourcesPtr->state++;
break;
case 20:
+1 -3
View File
@@ -2583,9 +2583,7 @@ static void CB2_HandleTradeEnded(void)
IncrementGameStat(GAME_STAT_POKEMON_TRADES);
}
if (gWirelessCommType)
{
MEvent_RecordIdOfWonderCardSenderByEventType(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId);
}
MysteryGift_TryIncrementStat(CARD_STAT_NUM_TRADES, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId);
SetContinueGameWarpStatusToDynamicWarp();
LinkFullSave_Init();
gMain.state++;
+2 -2
View File
@@ -1794,11 +1794,11 @@ static void Task_ExchangeCards(u8 taskId)
{
case 0:
if (GetMultiplayerId() == 0)
Link_PrepareCmd0xCCCC_Rfu0xA100(2);
SendBlockRequest(BLOCK_REQ_SIZE_100);
gTasks[taskId].data[0]++;
break;
case 1:
if (GetBlockReceivedStatus() == sub_800A8D4())
if (GetBlockReceivedStatus() == GetLinkPlayerCountAsBitFlags())
{
s32 i;
u16 *recvBuff;