Sync cable club

This commit is contained in:
GriffinR
2022-08-25 15:03:04 -04:00
parent feccd302d7
commit 321f5371d8
24 changed files with 535 additions and 462 deletions
+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[];