Sync cable club
This commit is contained in:
+38
-38
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
@@ -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);
|
||||
|
||||
@@ -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
@@ -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[];
|
||||
|
||||
@@ -36,7 +36,7 @@ void HandleLinkBattleSetup(void)
|
||||
SetWirelessCommType1();
|
||||
if (!gReceivedRemoteLinkPlayers)
|
||||
OpenLink();
|
||||
CreateTask(Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout, 0);
|
||||
CreateTask(Task_WaitForLinkPlayerConnection, 0);
|
||||
CreateTasksForSendRecvLinkBuffers();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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,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
@@ -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
@@ -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
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user