From c3c8fb40cfab23b5db845ce4b2bd3e626a5506dc Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 3 Oct 2019 01:16:22 -0400 Subject: Move trade data, some trade.c clean up documentation --- include/constants/trade.h | 13 +++++++++++++ include/graphics.h | 6 +++--- include/trade.h | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 include/constants/trade.h (limited to 'include') diff --git a/include/constants/trade.h b/include/constants/trade.h new file mode 100644 index 000000000..1afa3b263 --- /dev/null +++ b/include/constants/trade.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONSTANTS_TRADE_H +#define GUARD_CONSTANTS_TRADE_H + +#define TRADE_PLAYER 0 +#define TRADE_PARTNER 1 +#define TRADE_PARTICIPANT_COUNT 2 + +#define INGAME_TRADE_SEEDOT 0 +#define INGAME_TRADE_PLUSLE 1 +#define INGAME_TRADE_HORSEA 2 +#define INGAME_TRADE_MEOWTH 3 + +#endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/graphics.h b/include/graphics.h index 5f5c579d2..967af3d6a 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4848,13 +4848,13 @@ extern const u32 gCableCarCord_Gfx[]; extern const u16 gCableCar_Pal[]; // Trade -extern const u16 gUnknown_08DDB3E4[]; -extern const u8 gUnknown_08DDB464[]; +extern const u16 gTradeMenu_Pal[]; +extern const u8 gTradeMenu_Gfx[]; extern const u16 gUnknown_08DDCF04[]; extern const u16 gTradeGba2_Pal[]; extern const u8 gTradeGba_Gfx[]; extern const u16 gUnknown_08DDD704[]; -extern const u8 gUnknown_08DDC6E4[]; +extern const u8 gTradeButtons_Gfx[]; extern const u16 gUnknown_08DDB444[]; // Party menu diff --git a/include/trade.h b/include/trade.h index 0c95e1e81..861ac490d 100644 --- a/include/trade.h +++ b/include/trade.h @@ -7,7 +7,7 @@ // Exported RAM declarations extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; -extern u8 gUnknown_02032298[2]; +extern u8 gSelectedTradeMonPositions[2]; // Exported ROM declarations extern const struct WindowTemplate gUnknown_0833900C; -- cgit v1.2.3 From 4a7f06188557e4bbc7bdcfa6656d9e8dec29929a Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 3 Oct 2019 19:39:37 -0400 Subject: Document some of trade --- include/constants/trade.h | 31 ++++++++++++++++++++++++++++++- include/pokemon_icon.h | 2 +- include/trade.h | 3 ++- 3 files changed, 33 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/constants/trade.h b/include/constants/trade.h index 1afa3b263..a12ee7fca 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -3,11 +3,40 @@ #define TRADE_PLAYER 0 #define TRADE_PARTNER 1 -#define TRADE_PARTICIPANT_COUNT 2 #define INGAME_TRADE_SEEDOT 0 #define INGAME_TRADE_PLUSLE 1 #define INGAME_TRADE_HORSEA 2 #define INGAME_TRADE_MEOWTH 3 +#define INGAME_TRADE_MAIL_LENGTH 9 + +#define PLAYER_MON_INVALID 0 +#define PLAYER_MON_VALID 1 +#define PARTNER_MON_INVALID 2 + +#define MON_VALID 0 + + +#define TRADE_ACTION_TEXT_CANCEL 0 +#define TRADE_ACTION_TEXT_CHOOSE_MON 1 +#define TRADE_ACTION_TEXT_SUMMARY 2 +#define TRADE_ACTION_TEXT_TRADE 3 +#define TRADE_ACTION_TEXT_CANCEL_TRADE 4 +#define TRADE_ACTION_TEXT_JP_QUIT 5 + +#define MENU_ACTION_SUMMARY 0 +#define MENU_ACTION_TRADE 1 + +#define TRADE_MSG_STANDBY 0 +#define TRADE_MSG_CANCELED 1 +#define TRADE_MSG_ONLY_MON1 2 +#define TRADE_MSG_ONLY_MON2 3 +#define TRADE_MSG_WAITING_FOR_FRIEND 4 +#define TRADE_MSG_FRIEND_WANTS_TO_TRADE 5 +#define TRADE_MSG_MON_CANT_BE_TRADED 6 +#define TRADE_MSG_EGG_CANT_BE_TRADED 7 +#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8 + + #endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 8af43c753..efc0028a1 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -22,7 +22,7 @@ u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); void sub_80D328C(struct Sprite *sprite); void sub_80D3014(struct Sprite *sprite); -void sub_80D32C8(struct Sprite *sprite, u8 animNum); +void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum); u8 GetMonIconPaletteIndexFromSpecies(u16 species); #endif // GUARD_POKEMON_ICON_H diff --git a/include/trade.h b/include/trade.h index 861ac490d..218a5be2f 100644 --- a/include/trade.h +++ b/include/trade.h @@ -2,6 +2,7 @@ #define GUARD_TRADE_H #include "link_rfu.h" +#include "constants/trade.h" // Exported type declarations @@ -21,6 +22,6 @@ int sub_807A918(struct Pokemon*, u16); void sub_807B140(void); void sub_807B154(void); void sub_807F19C(void); -void sub_807F1A8(u8, const u8 *, u8); +void DrawTextOnTradeWindow(u8, const u8 *, u8); #endif //GUARD_TRADE_H -- cgit v1.2.3 From 2b0c9442864c8f7a138bd601d3dc17f3ecc9e586 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 4 Oct 2019 07:42:45 -0400 Subject: Document more of trade --- include/battle_anim.h | 2 +- include/trade.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index a7b71bd85..90104fe9c 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -151,7 +151,7 @@ void sub_80A78AC(struct Sprite *sprite); void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused); u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); void sub_80A749C(struct Sprite *sprite); -void sub_80A6DEC(struct Sprite *sprite); +void TradeMenuBouncePartySprites(struct Sprite *sprite); void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); void DestroySpriteAndFreeResources_(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); diff --git a/include/trade.h b/include/trade.h index 218a5be2f..e4d2a4897 100644 --- a/include/trade.h +++ b/include/trade.h @@ -7,7 +7,7 @@ // Exported type declarations // Exported RAM declarations -extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; +extern struct MailStruct gTradeMail[PARTY_SIZE]; extern u8 gSelectedTradeMonPositions[2]; // Exported ROM declarations -- cgit v1.2.3 From 6b556900f81b8f99920012f58060e4eccec70aed Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 4 Oct 2019 17:24:03 -0400 Subject: Move union room data, more trade doc --- include/constants/trade.h | 16 +++++++++++++--- include/librfu.h | 10 +++++----- include/trade.h | 2 +- include/union_room.h | 4 ++-- 4 files changed, 21 insertions(+), 11 deletions(-) (limited to 'include') diff --git a/include/constants/trade.h b/include/constants/trade.h index a12ee7fca..dbaefcdc3 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -15,9 +15,6 @@ #define PLAYER_MON_VALID 1 #define PARTNER_MON_INVALID 2 -#define MON_VALID 0 - - #define TRADE_ACTION_TEXT_CANCEL 0 #define TRADE_ACTION_TEXT_CHOOSE_MON 1 #define TRADE_ACTION_TEXT_SUMMARY 2 @@ -28,6 +25,7 @@ #define MENU_ACTION_SUMMARY 0 #define MENU_ACTION_TRADE 1 +// Message indexes for sTradeMessages #define TRADE_MSG_STANDBY 0 #define TRADE_MSG_CANCELED 1 #define TRADE_MSG_ONLY_MON1 2 @@ -38,5 +36,17 @@ #define TRADE_MSG_EGG_CANT_BE_TRADED 7 #define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8 +// Message indexes for sUnionRoomTradeMessages +#define UR_TRADE_MSG_NONE 0 +#define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1 +#define UR_TRADE_MSG_NOT_EGG 2 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4 +#define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5 +#define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6 +#define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 8 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9 + #endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/librfu.h b/include/librfu.h index 38c819835..55b5d264c 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -76,10 +76,10 @@ struct UnkLinkRfuStruct_02022B14Substruct u16 unk_00_4:1; u16 unk_00_5:1; u16 unk_00_6:1; - u16 unk_00_7:1; - u16 unk_01_0:1; - u16 unk_01_1:1; - u16 unk_01_2:4; + u16 isChampion:1; + u16 hasNationalDex:1; + u16 gameClear:1; // never read, redundant with isChampion + u16 unk_01_2:4; // always 3? u16 unk_01_6:2; u8 playerTrainerId[2]; }; @@ -93,7 +93,7 @@ struct __attribute__((packed, aligned(2))) UnkLinkRfuStruct_02022B14 u8 unk_0a_0:7; u8 unk_0a_7:1; u8 playerGender:1; - u8 unk_0b_1:7; + u8 level:7; u8 unk_0c; }; diff --git a/include/trade.h b/include/trade.h index e4d2a4897..b415bfa4e 100644 --- a/include/trade.h +++ b/include/trade.h @@ -17,7 +17,7 @@ s32 sub_807A728(void); void sub_80773AC(void); void sub_807AE50(void); int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); -int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); +int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); int sub_807A918(struct Pokemon*, u16); void sub_807B140(void); void sub_807B154(void); diff --git a/include/union_room.h b/include/union_room.h index facc63986..2fd8d421d 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -156,8 +156,8 @@ extern u8 gUnknown_02022C2C; extern union UnkUnion_Main gUnknown_02022C30; extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38; -extern u16 gUnknown_02022C3C; -extern u8 gUnknown_02022C3E; +extern u16 gUnionRoomOfferedSpecies; +extern u8 gUnionRoomRequestedMonType; // Exported ROM declarations -- cgit v1.2.3 From dadb1cb9f14a19cf0e483d4b15122b9d9cfb4baa Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 4 Oct 2019 23:31:25 -0400 Subject: More trade/union room doc, incidental party_menu doc --- include/constants/trade.h | 5 +++++ include/party_menu.h | 4 ++-- include/trade.h | 2 +- include/union_room.h | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/constants/trade.h b/include/constants/trade.h index dbaefcdc3..54e58f922 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -48,5 +48,10 @@ #define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 8 #define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9 +// Return values for CanRegisterMonForTradingBoard +#define CAN_REGISTER_MON 0 +#define CANT_REGISTER_MON 1 +#define CANT_REGISTER_EGG 2 + #endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/party_menu.h b/include/party_menu.h index d76e50788..1ea9ea1d1 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -93,12 +93,12 @@ u8 GetCursorSelectionMonId(void); u8 sub_81B1360(void); void sub_81B1370(u8 taskId); u8* GetMonNickname(struct Pokemon *mon, u8 *dest); -u8 sub_81B1B5C(const u8* str, u8 b); +u8 DisplayPartyMenuMessage(const u8* str, u8 b); bool8 sub_81B1BD4(void); void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func); u8 pokemon_ailments_get_primary(u32 status); u8 GetMonAilment(struct Pokemon *mon); -void display_pokemon_menu_message(u32 stringID); +void DisplayPartyMenuStdMessage(u32 stringID); void sub_81B47E0(u8 taskId); bool8 FieldCallback_PrepareFadeInFromMenu(void); void sub_81B58A8(void); diff --git a/include/trade.h b/include/trade.h index b415bfa4e..ec94780cb 100644 --- a/include/trade.h +++ b/include/trade.h @@ -16,7 +16,7 @@ extern const struct WindowTemplate gUnknown_0833900C; s32 sub_807A728(void); void sub_80773AC(void); void sub_807AE50(void); -int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); +int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); int sub_807A918(struct Pokemon*, u16); void sub_807B140(void); diff --git a/include/union_room.h b/include/union_room.h index 2fd8d421d..54f09cbeb 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -135,7 +135,7 @@ union UnkUnion_Main struct UnkStruct_URoom *uRoom; }; -struct TradeUnkStruct +struct UnionRoomTrade { u16 field_0; u16 type; -- cgit v1.2.3 From 66a68159b17f3c4c5f62219fc4bd0ec636d772b5 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sat, 5 Oct 2019 10:41:37 -0400 Subject: Continue trade doc --- include/constants/trade.h | 22 +++++++++++----------- include/link_rfu.h | 4 ++-- include/trade.h | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) (limited to 'include') diff --git a/include/constants/trade.h b/include/constants/trade.h index 54e58f922..bd66a16aa 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -9,8 +9,6 @@ #define INGAME_TRADE_HORSEA 2 #define INGAME_TRADE_MEOWTH 3 -#define INGAME_TRADE_MAIL_LENGTH 9 - #define PLAYER_MON_INVALID 0 #define PLAYER_MON_VALID 1 #define PARTNER_MON_INVALID 2 @@ -26,15 +24,15 @@ #define MENU_ACTION_TRADE 1 // Message indexes for sTradeMessages -#define TRADE_MSG_STANDBY 0 -#define TRADE_MSG_CANCELED 1 -#define TRADE_MSG_ONLY_MON1 2 -#define TRADE_MSG_ONLY_MON2 3 -#define TRADE_MSG_WAITING_FOR_FRIEND 4 -#define TRADE_MSG_FRIEND_WANTS_TO_TRADE 5 -#define TRADE_MSG_MON_CANT_BE_TRADED 6 -#define TRADE_MSG_EGG_CANT_BE_TRADED 7 -#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8 +#define TRADE_MSG_STANDBY 0 +#define TRADE_MSG_CANCELED 1 +#define TRADE_MSG_ONLY_MON1 2 +#define TRADE_MSG_ONLY_MON2 3 +#define TRADE_MSG_WAITING_FOR_FRIEND 4 +#define TRADE_MSG_FRIEND_WANTS_TO_TRADE 5 +#define TRADE_MSG_MON_CANT_BE_TRADED 6 +#define TRADE_MSG_EGG_CANT_BE_TRADED 7 +#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8 // Message indexes for sUnionRoomTradeMessages #define UR_TRADE_MSG_NONE 0 @@ -53,5 +51,7 @@ #define CANT_REGISTER_MON 1 #define CANT_REGISTER_EGG 2 +#define LINK_TRADE_TIMEOUT 300 + #endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/link_rfu.h b/include/link_rfu.h index d6e1009e1..3284aba88 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -128,7 +128,7 @@ struct UnkRfuStruct_Sub_Unused struct UnkRfuStruct_2 { - /* 0x000 */ void (*unk_00)(void); + /* 0x000 */ void (*linkRfuCallback)(void); /* 0x004 */ u16 unk_04; /* 0x006 */ u8 filler_06[4]; /* 0x00a */ u16 unk_0a; @@ -224,7 +224,7 @@ void sub_800F804(void); void sub_800F850(void); u8 sub_800FCD8(void); bool32 sub_800FE84(const u8 *src, size_t size); -void Rfu_set_zero(void); +void ClearLinkRfuCallback(void); u8 sub_80104F4(void); u8 rfu_get_multiplayer_id(void); bool8 sub_8010100(u8 a0); diff --git a/include/trade.h b/include/trade.h index ec94780cb..9975e17af 100644 --- a/include/trade.h +++ b/include/trade.h @@ -15,13 +15,13 @@ extern const struct WindowTemplate gUnknown_0833900C; s32 sub_807A728(void); void sub_80773AC(void); -void sub_807AE50(void); +void CB2_LinkTrade(void); int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); int sub_807A918(struct Pokemon*, u16); void sub_807B140(void); void sub_807B154(void); -void sub_807F19C(void); +void InitTradeBg(void); void DrawTextOnTradeWindow(u8, const u8 *, u8); #endif //GUARD_TRADE_H -- cgit v1.2.3 From d1bcd60b58dafea5b8e48cc615460a8039ae6c4b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 6 Oct 2019 22:58:25 -0400 Subject: Document more trade.c --- include/constants/trade.h | 31 +++++++++++++++++++++++++++++++ include/link.h | 14 +++++++++++++- include/party_menu.h | 2 +- include/pokemon_storage_system.h | 2 +- include/trade.h | 2 +- 5 files changed, 47 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/constants/trade.h b/include/constants/trade.h index bd66a16aa..f03ced677 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -4,6 +4,7 @@ #define TRADE_PLAYER 0 #define TRADE_PARTNER 1 +// In-game Trade IDs #define INGAME_TRADE_SEEDOT 0 #define INGAME_TRADE_PLUSLE 1 #define INGAME_TRADE_HORSEA 2 @@ -13,6 +14,21 @@ #define PLAYER_MON_VALID 1 #define PARTNER_MON_INVALID 2 +// Flag IDs for sending link data +#define CHOSE_VALID_MON 1 +#define CHOSE_INVALID_MON 2 +#define WANTS_TO_TRADE 1 +#define WANTS_TO_CANCEL 2 + +// Return values for CanTradeSelectedMon +#define CAN_TRADE_MON 0 +#define CANT_TRADE_LAST_MON 1 +#define CANT_TRADE_NATIONAL 2 +#define CANT_TRADE_EGG 3 +#define CANT_TRADE_INVALID_MON 4 +#define CANT_TRADE_EGG2 5 + +// Indexes for sTradeActionTexts #define TRADE_ACTION_TEXT_CANCEL 0 #define TRADE_ACTION_TEXT_CHOOSE_MON 1 #define TRADE_ACTION_TEXT_SUMMARY 2 @@ -34,6 +50,21 @@ #define TRADE_MSG_EGG_CANT_BE_TRADED 7 #define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8 +// Queue actions +#define QUEUE_SEND_DATA 0 +#define QUEUE_STANDBY 1 +#define QUEUE_ONLY_MON1 2 +#define QUEUE_ONLY_MON2 3 +#define QUEUE_UNUSED1 4 +#define QUEUE_UNUSED2 5 +#define QUEUE_MON_CANT_BE_TRADED 6 +#define QUEUE_EGG_CANT_BE_TRADED 7 +#define QUEUE_FRIENDS_MON_CANT_BE_TRADED 8 + +// Queue delays +#define QUEUE_DELAY_MSG 3 +#define QUEUE_DELAY_DATA 5 + // Message indexes for sUnionRoomTradeMessages #define UR_TRADE_MSG_NONE 0 #define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1 diff --git a/include/link.h b/include/link.h index c14084066..4d6e4593c 100644 --- a/include/link.h +++ b/include/link.h @@ -48,7 +48,7 @@ #define EXTRACT_LINK_ERRORS(status) \ (((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT) -#define LINKCMD_SEND_LINK_TYPE 0x2222 +#define LINKCMD_SEND_LINK_TYPE 0x2222 #define LINKCMD_0x2FFE 0x2FFE #define LINKCMD_SEND_HELD_KEYS 0x4444 #define LINKCMD_0x5555 0x5555 @@ -59,9 +59,21 @@ #define LINKCMD_CONT_BLOCK 0x8888 #define LINKCMD_0xAAAA 0xAAAA #define LINKCMD_0xAAAB 0xAAAB +#define LINKCMD_0xAABB 0xAABB // used in trade #define LINKCMD_INIT_BLOCK 0xBBBB +#define LINKCMD_0xBBCC 0xBBCC // used in trade #define LINKCMD_SEND_HELD_KEYS_2 0xCAFE #define LINKCMD_0xCCCC 0xCCCC +#define LINKCMD_0xCCDD 0xCCDD // all below linkcmds used in trade +#define LINKCMD_0xDDDD 0xDDDD +#define LINKCMD_0xDDEE 0xDDEE +#define LINKCMD_0xEEAA 0xEEAA +#define LINKCMD_0xEEBB 0xEEBB +#define LINKCMD_0xEECC 0xEECC + +#define LINKCMD_0xABCD 0xABCD +#define LINKCMD_0xDCBA 0xDCBA + struct LinkStatus { diff --git a/include/party_menu.h b/include/party_menu.h index 1ea9ea1d1..1f66ef3f9 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -103,7 +103,7 @@ void sub_81B47E0(u8 taskId); bool8 FieldCallback_PrepareFadeInFromMenu(void); void sub_81B58A8(void); void LoadHeldItemIcons(void); -void sub_81B5D4C(u8 *a, u8 *b, u8 c); +void DrawHeldItemIconsForTrade(u8 *a, u8 *b, u8 c); void sub_81B617C(void); void ItemUseCB_Medicine(u8 taskId, TaskFunc task); void sub_81B67C8(u8 taskId, TaskFunc task); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 4c319e59d..7b6a38678 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -25,7 +25,7 @@ struct PokemonStorage extern struct PokemonStorage *gPokemonStoragePtr; -void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4); +void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 bytesToBuffer); u8 CountMonsInBox(u8 boxId); s16 GetFirstFreeBoxSpot(u8 boxId); u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore); diff --git a/include/trade.h b/include/trade.h index 9975e17af..9d48f6b23 100644 --- a/include/trade.h +++ b/include/trade.h @@ -11,7 +11,7 @@ extern struct MailStruct gTradeMail[PARTY_SIZE]; extern u8 gSelectedTradeMonPositions[2]; // Exported ROM declarations -extern const struct WindowTemplate gUnknown_0833900C; +extern const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate; s32 sub_807A728(void); void sub_80773AC(void); -- cgit v1.2.3 From 2c062dc76478c5e6ce126310ece41355d4156c42 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 9 Oct 2019 05:56:44 -0400 Subject: More trade documentation --- include/constants/trade.h | 46 +++++++++++++++++++++++++++++++--------- include/graphics.h | 2 +- include/link.h | 54 ++++++++++++++++++++++++----------------------- include/link_rfu.h | 2 +- include/pokeball.h | 2 +- include/pokemon_icon.h | 2 +- include/trade.h | 2 +- 7 files changed, 69 insertions(+), 41 deletions(-) (limited to 'include') diff --git a/include/constants/trade.h b/include/constants/trade.h index f03ced677..7f61c88e8 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -4,6 +4,8 @@ #define TRADE_PLAYER 0 #define TRADE_PARTNER 1 +#define LINK_TRADE_TIMEOUT 300 + // In-game Trade IDs #define INGAME_TRADE_SEEDOT 0 #define INGAME_TRADE_PLUSLE 1 @@ -15,8 +17,8 @@ #define PARTNER_MON_INVALID 2 // Flag IDs for sending link data -#define CHOSE_VALID_MON 1 -#define CHOSE_INVALID_MON 2 +#define INITIATE_TRADE 1 +#define CANCEL_TRADE 2 #define WANTS_TO_TRADE 1 #define WANTS_TO_CANCEL 2 @@ -29,15 +31,20 @@ #define CANT_TRADE_EGG2 5 // Indexes for sTradeActionTexts -#define TRADE_ACTION_TEXT_CANCEL 0 -#define TRADE_ACTION_TEXT_CHOOSE_MON 1 -#define TRADE_ACTION_TEXT_SUMMARY 2 -#define TRADE_ACTION_TEXT_TRADE 3 -#define TRADE_ACTION_TEXT_CANCEL_TRADE 4 -#define TRADE_ACTION_TEXT_JP_QUIT 5 +#define TRADE_TEXT_CANCEL 0 +#define TRADE_TEXT_CHOOSE_MON 1 +#define TRADE_TEXT_SUMMARY 2 +#define TRADE_TEXT_TRADE 3 +#define TRADE_TEXT_CANCEL_TRADE 4 +#define TRADE_TEXT_JP_QUIT 5 #define MENU_ACTION_SUMMARY 0 #define MENU_ACTION_TRADE 1 +#define MENU_ACTION_CONFIRM_TRADE 0 +#define MENU_ACTION_CANCEL_TRADE 1 + +#define DRAW_PARTY_BEGIN 1 +#define DRAW_PARTY_FINISH 5 // Message indexes for sTradeMessages #define TRADE_MSG_STANDBY 0 @@ -65,6 +72,27 @@ #define QUEUE_DELAY_MSG 3 #define QUEUE_DELAY_DATA 5 +// IDs for CallTradeMenuFunc +#define TRADEMENUFUNC_MAIN_MENU 0 +#define TRADEMENUFUNC_SELECTED_MON 1 +#define TRADEMENUFUNC_SHOW_MON_SUMMARY 2 +#define TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE 3 +#define TRADEMENUFUNC_CANCEL_TRADE_PROMPT 4 +#define TRADEMENUFUNC_UNUSED_5 5 +#define TRADEMENUFUNC_BOTH_MONS_SELECTED 6 +#define TRADEMENUFUNC_CONFIRM_TRADE_PROMPT 7 +#define TRADEMENUFUNC_REDRAW_MAIN_MENU 8 +#define TRADEMENUFUNC_LINK_TRADE_FADE_OUT 9 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_FADE 10 +#define TRADEMENUFUNC_CANCEL_TRADE_1 11 +#define TRADEMENUFUNC_CANCEL_TRADE_2 12 +#define TRADEMENUFUNC_START_LINK_TRADE 13 +#define TRADEMENUFUNC_DELAY_TRADE_CONFIRM 14 +#define TRADEMENUFUNC_UNUSED_15 15 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE 16 +#define TRADEMENUFUNC_PARTNER_MON_INVALID 17 +#define TRADEMENUFUNC_STANDBY 100 + // Message indexes for sUnionRoomTradeMessages #define UR_TRADE_MSG_NONE 0 #define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1 @@ -82,7 +110,5 @@ #define CANT_REGISTER_MON 1 #define CANT_REGISTER_EGG 2 -#define LINK_TRADE_TIMEOUT 300 - #endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/graphics.h b/include/graphics.h index 967af3d6a..a08d3760f 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4853,7 +4853,7 @@ extern const u8 gTradeMenu_Gfx[]; extern const u16 gUnknown_08DDCF04[]; extern const u16 gTradeGba2_Pal[]; extern const u8 gTradeGba_Gfx[]; -extern const u16 gUnknown_08DDD704[]; +extern const u16 gTradeMenuMonBox_Tilemap[]; extern const u8 gTradeButtons_Gfx[]; extern const u16 gUnknown_08DDB444[]; diff --git a/include/link.h b/include/link.h index 4d6e4593c..c4033d05a 100644 --- a/include/link.h +++ b/include/link.h @@ -48,31 +48,30 @@ #define EXTRACT_LINK_ERRORS(status) \ (((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT) -#define LINKCMD_SEND_LINK_TYPE 0x2222 -#define LINKCMD_0x2FFE 0x2FFE -#define LINKCMD_SEND_HELD_KEYS 0x4444 -#define LINKCMD_0x5555 0x5555 -#define LINKCMD_0x5566 0x5566 -#define LINKCMD_0x5FFF 0x5FFF -#define LINKCMD_0x6666 0x6666 -#define LINKCMD_0x7777 0x7777 -#define LINKCMD_CONT_BLOCK 0x8888 -#define LINKCMD_0xAAAA 0xAAAA -#define LINKCMD_0xAAAB 0xAAAB -#define LINKCMD_0xAABB 0xAABB // used in trade -#define LINKCMD_INIT_BLOCK 0xBBBB -#define LINKCMD_0xBBCC 0xBBCC // used in trade -#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE -#define LINKCMD_0xCCCC 0xCCCC -#define LINKCMD_0xCCDD 0xCCDD // all below linkcmds used in trade -#define LINKCMD_0xDDDD 0xDDDD -#define LINKCMD_0xDDEE 0xDDEE -#define LINKCMD_0xEEAA 0xEEAA -#define LINKCMD_0xEEBB 0xEEBB -#define LINKCMD_0xEECC 0xEECC - -#define LINKCMD_0xABCD 0xABCD -#define LINKCMD_0xDCBA 0xDCBA +#define LINKCMD_SEND_LINK_TYPE 0x2222 +#define LINKCMD_0x2FFE 0x2FFE +#define LINKCMD_SEND_HELD_KEYS 0x4444 +#define LINKCMD_0x5555 0x5555 +#define LINKCMD_0x5566 0x5566 +#define LINKCMD_0x5FFF 0x5FFF +#define LINKCMD_0x6666 0x6666 +#define LINKCMD_0x7777 0x7777 +#define LINKCMD_CONT_BLOCK 0x8888 +#define LINKCMD_0xAAAA 0xAAAA +#define LINKCMD_0xAAAB 0xAAAB +#define LINKCMD_READY_TO_TRADE 0xAABB // used in trade +#define LINKCMD_0xABCD 0xABCD // used in trade +#define LINKCMD_INIT_BLOCK 0xBBBB +#define LINKCMD_SET_CANCEL_TRADE 0xBBCC // used in trade +#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE +#define LINKCMD_0xCCCC 0xCCCC +#define LINKCMD_START_TRADE 0xCCDD // all below linkcmds used in trade +#define LINKCMD_0xDCBA 0xDCBA +#define LINKCMD_SET_MONS_TO_TRADE 0xDDDD +#define LINKCMD_0xDDEE 0xDDEE +#define LINKCMD_REQUEST_CANCEL 0xEEAA +#define LINKCMD_0xEEBB 0xEEBB +#define LINKCMD_PARTNER_WANTS_TRADE 0xEECC struct LinkStatus @@ -132,7 +131,10 @@ struct LinkPlayer /* 0x00 */ u16 version; /* 0x02 */ u16 lp_field_2; /* 0x04 */ u32 trainerId; - /* 0x08 */ u8 name[11]; + /* 0x08 */ u8 name[PLAYER_NAME_LENGTH + 1]; + /* 0x10 */ u8 progressFlags; // 0x0F is hasClearedGame, 0xF0 is hasNationalDex + /* 0x11 */ u8 neverRead; + /* 0x12 */ u8 progressFlagsCopy; /* 0x13 */ u8 gender; /* 0x14 */ u32 linkType; /* 0x18 */ u16 id; // battler id in battles diff --git a/include/link_rfu.h b/include/link_rfu.h index 3284aba88..533e515c5 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -228,7 +228,7 @@ void ClearLinkRfuCallback(void); u8 sub_80104F4(void); u8 rfu_get_multiplayer_id(void); bool8 sub_8010100(u8 a0); -bool8 sub_8010500(void); +bool8 IsLinkRfuTaskFinished(void); bool8 Rfu_IsMaster(void); void task_add_05_task_del_08FA224_when_no_RfuFunc(void); void sub_8010434(void); diff --git a/include/pokeball.h b/include/pokeball.h index 8e1d8b8ec..12b9b1eff 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -25,7 +25,7 @@ extern const struct SpriteTemplate gBallSpriteTemplates[]; u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow); void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battler, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species); -u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); +u8 CreateTradePokeballSprite(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); void sub_8076918(u8 battler); void DoHitAnimHealthboxEffect(u8 battler); void LoadBallGfx(u8 ballId); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index efc0028a1..5018de37c 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -21,7 +21,7 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); void sub_80D328C(struct Sprite *sprite); -void sub_80D3014(struct Sprite *sprite); +void UpdateTradeMonIconFrame(struct Sprite *sprite); void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum); u8 GetMonIconPaletteIndexFromSpecies(u16 species); diff --git a/include/trade.h b/include/trade.h index 9d48f6b23..a0385297e 100644 --- a/include/trade.h +++ b/include/trade.h @@ -14,7 +14,7 @@ extern u8 gSelectedTradeMonPositions[2]; extern const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate; s32 sub_807A728(void); -void sub_80773AC(void); +void CB2_StartCreateTradeMenu(void); void CB2_LinkTrade(void); int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); -- cgit v1.2.3 From 32aa87c7e126357165e1efa2f6e1ed3d3aadbdf8 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 9 Oct 2019 09:55:06 -0400 Subject: More trade doc, fix switch indentations --- include/constants/trade.h | 2 ++ include/link.h | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/constants/trade.h b/include/constants/trade.h index 7f61c88e8..8a2626c9a 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -21,6 +21,8 @@ #define CANCEL_TRADE 2 #define WANTS_TO_TRADE 1 #define WANTS_TO_CANCEL 2 +#define READY_FINISH_TRADE 1 +#define FINISH_TRADE 2 // Return values for CanTradeSelectedMon #define CAN_TRADE_MON 0 diff --git a/include/link.h b/include/link.h index c4033d05a..f149f8a92 100644 --- a/include/link.h +++ b/include/link.h @@ -60,13 +60,13 @@ #define LINKCMD_0xAAAA 0xAAAA #define LINKCMD_0xAAAB 0xAAAB #define LINKCMD_READY_TO_TRADE 0xAABB // used in trade -#define LINKCMD_0xABCD 0xABCD // used in trade +#define LINKCMD_READY_FINISH_TRADE 0xABCD // used in trade #define LINKCMD_INIT_BLOCK 0xBBBB #define LINKCMD_SET_CANCEL_TRADE 0xBBCC // used in trade #define LINKCMD_SEND_HELD_KEYS_2 0xCAFE #define LINKCMD_0xCCCC 0xCCCC #define LINKCMD_START_TRADE 0xCCDD // all below linkcmds used in trade -#define LINKCMD_0xDCBA 0xDCBA +#define LINKCMD_CONFIRM_FINISH_TRADE 0xDCBA #define LINKCMD_SET_MONS_TO_TRADE 0xDDDD #define LINKCMD_0xDDEE 0xDDEE #define LINKCMD_REQUEST_CANCEL 0xEEAA -- cgit v1.2.3 From 07fa82c911c5a22f0671a4ea798056b8de3c0a80 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 10 Oct 2019 03:50:51 -0400 Subject: Last non-anim trade.c doc --- include/constants/trade.h | 26 +++++++++++++------------- include/link.h | 6 +++--- include/trade.h | 8 ++++---- 3 files changed, 20 insertions(+), 20 deletions(-) (limited to 'include') diff --git a/include/constants/trade.h b/include/constants/trade.h index 8a2626c9a..4fb8966d0 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -12,10 +12,6 @@ #define INGAME_TRADE_HORSEA 2 #define INGAME_TRADE_MEOWTH 3 -#define PLAYER_MON_INVALID 0 -#define PLAYER_MON_VALID 1 -#define PARTNER_MON_INVALID 2 - // Flag IDs for sending link data #define INITIATE_TRADE 1 #define CANCEL_TRADE 2 @@ -24,7 +20,7 @@ #define READY_FINISH_TRADE 1 #define FINISH_TRADE 2 -// Return values for CanTradeSelectedMon +// Return values for CanTradeSelectedMon and CanTradeSelectedPartyMenuMon #define CAN_TRADE_MON 0 #define CANT_TRADE_LAST_MON 1 #define CANT_TRADE_NATIONAL 2 @@ -32,6 +28,16 @@ #define CANT_TRADE_INVALID_MON 4 #define CANT_TRADE_EGG2 5 +// Return values for CheckValidityOfTradeMons +#define PLAYER_MON_INVALID 0 +#define BOTH_MONS_VALID 1 +#define PARTNER_MON_INVALID 2 + +// Return values for GetGameProgressForLinkTrade +#define TRADE_BOTH_PLAYERS_READY 0 +#define TRADE_PLAYER_NOT_READY 1 +#define TRADE_PARTNER_NOT_READY 2 + // Indexes for sTradeActionTexts #define TRADE_TEXT_CANCEL 0 #define TRADE_TEXT_CHOOSE_MON 1 @@ -40,12 +46,7 @@ #define TRADE_TEXT_CANCEL_TRADE 4 #define TRADE_TEXT_JP_QUIT 5 -#define MENU_ACTION_SUMMARY 0 -#define MENU_ACTION_TRADE 1 -#define MENU_ACTION_CONFIRM_TRADE 0 -#define MENU_ACTION_CANCEL_TRADE 1 - -#define DRAW_PARTY_BEGIN 1 +// Checked to confirm DrawTradeMenuParty has reached final state #define DRAW_PARTY_FINISH 5 // Message indexes for sTradeMessages @@ -59,7 +60,7 @@ #define TRADE_MSG_EGG_CANT_BE_TRADED 7 #define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8 -// Queue actions +// IDs for QueueAction #define QUEUE_SEND_DATA 0 #define QUEUE_STANDBY 1 #define QUEUE_ONLY_MON1 2 @@ -70,7 +71,6 @@ #define QUEUE_EGG_CANT_BE_TRADED 7 #define QUEUE_FRIENDS_MON_CANT_BE_TRADED 8 -// Queue delays #define QUEUE_DELAY_MSG 3 #define QUEUE_DELAY_DATA 5 diff --git a/include/link.h b/include/link.h index f149f8a92..04efc973c 100644 --- a/include/link.h +++ b/include/link.h @@ -106,8 +106,8 @@ enum EXCHANGE_COMPLETE, EXCHANGE_TIMED_OUT, EXCHANGE_IN_PROGRESS, - EXCHANGE_STAT_4, - EXCHANGE_STAT_5, + EXCHANGE_PLAYER_NOT_READY, + EXCHANGE_PARTNER_NOT_READY, EXCHANGE_STAT_6, EXCHANGE_STAT_7 }; @@ -132,7 +132,7 @@ struct LinkPlayer /* 0x02 */ u16 lp_field_2; /* 0x04 */ u32 trainerId; /* 0x08 */ u8 name[PLAYER_NAME_LENGTH + 1]; - /* 0x10 */ u8 progressFlags; // 0x0F is hasClearedGame, 0xF0 is hasNationalDex + /* 0x10 */ u8 progressFlags; // (& 0x0F) is hasNationalDex, (& 0xF0) is hasClearedGame /* 0x11 */ u8 neverRead; /* 0x12 */ u8 progressFlagsCopy; /* 0x13 */ u8 gender; diff --git a/include/trade.h b/include/trade.h index a0385297e..42bfc1482 100644 --- a/include/trade.h +++ b/include/trade.h @@ -13,14 +13,14 @@ extern u8 gSelectedTradeMonPositions[2]; // Exported ROM declarations extern const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate; -s32 sub_807A728(void); +s32 GetGameProgressForLinkTrade(void); void CB2_StartCreateTradeMenu(void); void CB2_LinkTrade(void); int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); -int sub_807A918(struct Pokemon*, u16); -void sub_807B140(void); -void sub_807B154(void); +int CanTradeSelectedPartyMenuMon(struct Pokemon*, u16); +void InitTradeSequenceBgGpuRegs(void); +void LinkTradeDrawWindow(void); void InitTradeBg(void); void DrawTextOnTradeWindow(u8, const u8 *, u8); -- cgit v1.2.3 From 3514f9dd6b48f1a0c42a4ea6cb1ab5317fa88c50 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 10 Oct 2019 18:46:42 -0400 Subject: Clean up trade.c doc --- include/link.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/link.h b/include/link.h index 04efc973c..cecc7a3f7 100644 --- a/include/link.h +++ b/include/link.h @@ -59,19 +59,19 @@ #define LINKCMD_CONT_BLOCK 0x8888 #define LINKCMD_0xAAAA 0xAAAA #define LINKCMD_0xAAAB 0xAAAB -#define LINKCMD_READY_TO_TRADE 0xAABB // used in trade -#define LINKCMD_READY_FINISH_TRADE 0xABCD // used in trade +#define LINKCMD_READY_TO_TRADE 0xAABB +#define LINKCMD_READY_FINISH_TRADE 0xABCD #define LINKCMD_INIT_BLOCK 0xBBBB -#define LINKCMD_SET_CANCEL_TRADE 0xBBCC // used in trade +#define LINKCMD_READY_CANCEL_TRADE 0xBBCC #define LINKCMD_SEND_HELD_KEYS_2 0xCAFE #define LINKCMD_0xCCCC 0xCCCC -#define LINKCMD_START_TRADE 0xCCDD // all below linkcmds used in trade +#define LINKCMD_START_TRADE 0xCCDD #define LINKCMD_CONFIRM_FINISH_TRADE 0xDCBA #define LINKCMD_SET_MONS_TO_TRADE 0xDDDD #define LINKCMD_0xDDEE 0xDDEE #define LINKCMD_REQUEST_CANCEL 0xEEAA -#define LINKCMD_0xEEBB 0xEEBB -#define LINKCMD_PARTNER_WANTS_TRADE 0xEECC +#define LINKCMD_CANCEL_TRADE 0xEEBB +#define LINKCMD_0xEECC 0xEECC struct LinkStatus -- cgit v1.2.3 From 1b7607bd91a9bdf9ee5e2ccbf895727bc53f9254 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 11 Oct 2019 04:14:09 -0400 Subject: Document cable_club.inc --- include/constants/cable_club.h | 15 +++++++++++++++ include/constants/vars.h | 2 +- include/dodrio_berry_picking.h | 4 ++-- include/link.h | 22 ++++++++++++++++++++++ include/party_menu.h | 2 +- include/pokemon_jump.h | 6 +++--- 6 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 include/constants/cable_club.h (limited to 'include') diff --git a/include/constants/cable_club.h b/include/constants/cable_club.h new file mode 100644 index 000000000..f2aa4120c --- /dev/null +++ b/include/constants/cable_club.h @@ -0,0 +1,15 @@ +#ifndef GUARD_CONSTANTS_CABLE_CLUB_H +#define GUARD_CONSTANTS_CABLE_CLUB_H + +// States for VAR_CABLE_CLUB_STATE +#define USING_SINGLE_BATTLE 1 +#define USING_DOUBLE_BATTLE 2 +#define USING_TRADE_CENTER 3 +#define USING_RECORD_CORNER 4 +#define USING_MULTI_BATTLE 5 +#define USING_UNION_ROOM 6 +#define USING_BERRY_CRUSH 7 +#define USING_MINIGAME 8 +#define USING_BATTLE_TOWER 9 + +#endif //GUARD_CONSTANTS_CABLE_CLUB_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 72b15654e..3fde9cc11 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -77,7 +77,7 @@ #define VAR_REGICE_STEPS_2 0x403C #define VAR_REGICE_STEPS_3 0x403D #define VAR_ALTERING_CAVE_WILD_SET 0x403E -#define VAR_ALWAYS_ZERO_0x403F 0x403F // This var is read and written, but is always zero. +#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. Presumably meant to be set externally by Mystery Gift distribution #define VAR_DAYS 0x4040 #define VAR_FANCLUB_UNKNOWN_1 0x4041 #define VAR_FANCLUB_UNKNOWN_2 0x4042 diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h index 55e8fa880..ac802a2b5 100644 --- a/include/dodrio_berry_picking.h +++ b/include/dodrio_berry_picking.h @@ -2,7 +2,7 @@ #define GUARD_DODRIO_BERRY_PICKING_H void sub_802493C(u16 a0, void (*callback)(void)); -void sub_8027A5C(void); -void sub_8027AAC(void); +void DoesPartyHaveDodrio(void); +void ShowDodrioBerryPickingRecords(void); #endif // GUARD_DODRIO_BERRY_PICKING_H diff --git a/include/link.h b/include/link.h index c14084066..847ea38ba 100644 --- a/include/link.h +++ b/include/link.h @@ -48,6 +48,28 @@ #define EXTRACT_LINK_ERRORS(status) \ (((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT) +#define LINKTYPE_0x1111 0x1111 // trade +#define LINKTYPE_0x1122 0x1122 // trade +#define LINKTYPE_0x1133 0x1133 // trade +#define LINKTYPE_0x1144 0x1144 // trade +#define LINKTYPE_BATTLE 0x2211 +#define LINKTYPE_0x2222 0x2222 // unused battle? +#define LINKTYPE_SINGLE_BATTLE 0x2233 +#define LINKTYPE_DOUBLE_BATTLE 0x2244 +#define LINKTYPE_MULTI_BATTLE 0x2255 +#define LINKTYPE_BATTLE_TOWER_50 0x2266 +#define LINKTYPE_BATTLE_TOWER_OPEN 0x2277 +#define LINKTYPE_0x2288 0x2288 // battle? +#define LINKTYPE_0x3311 0x3311 +#define LINKTYPE_0x3322 0x3322 +#define LINKTYPE_0x4411 0x4411 +#define LINKTYPE_BERRY_BLENDER 0x4422 +#define LINKTYPE_0x5501 0x5501 // mystery event +#define LINKTYPE_0x5502 0x5502 // unused? +#define LINKTYPE_0x5503 0x5503 // eReader +#define LINKTYPE_0x6601 0x6601 +#define LINKTYPE_0x6602 0x6602 + #define LINKCMD_SEND_LINK_TYPE 0x2222 #define LINKCMD_0x2FFE 0x2FFE #define LINKCMD_SEND_HELD_KEYS 0x4444 diff --git a/include/party_menu.h b/include/party_menu.h index d76e50788..fc4020b27 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -124,7 +124,7 @@ void InitChooseHalfPartyForBattle(u8 unused); void sub_81B8558(void); void sub_81B8904(u8 initArg, MainCallback callback); void sub_81B892C(void); -void sub_81B8958(void); +void ChooseMonForWirelessMinigame(void); void OpenPartyMenuInBattle(u8 arg); void sub_81B89F0(void); void sub_81B8C68(void); diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index 28b19f9b1..4586ad6a6 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -4,10 +4,10 @@ #include "main.h" void sub_802A9A8(u16 monId, MainCallback callback); -bool32 sub_802C908(u16 species); -void sub_802C920(void); +bool32 IsSpeciesAllowedInPokemonJump(u16 species); +void DoesPartyHavePokemonJumpSpecies(void); void ResetPokeJumpResults(void); -void sub_802E3C4(void); +void ShowPokemonJumpRecords(void); void sub_802EB24(s16 tileTag, s16 palTag, s16 x, s16 y, u8 subpriority); bool32 sub_802EB84(void); -- cgit v1.2.3 From 4e2be7ff5e4e4f6b7f664bfee4f1d4433c7f238f Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 11 Oct 2019 22:23:05 -0400 Subject: Review changes for #835 --- include/constants/vars.h | 2 +- include/dodrio_berry_picking.h | 2 +- include/pokemon_jump.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/constants/vars.h b/include/constants/vars.h index 3fde9cc11..3030581c6 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -77,7 +77,7 @@ #define VAR_REGICE_STEPS_2 0x403C #define VAR_REGICE_STEPS_3 0x403D #define VAR_ALTERING_CAVE_WILD_SET 0x403E -#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. Presumably meant to be set externally by Mystery Gift distribution +#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing #define VAR_DAYS 0x4040 #define VAR_FANCLUB_UNKNOWN_1 0x4041 #define VAR_FANCLUB_UNKNOWN_2 0x4042 diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h index ac802a2b5..9995decc2 100644 --- a/include/dodrio_berry_picking.h +++ b/include/dodrio_berry_picking.h @@ -2,7 +2,7 @@ #define GUARD_DODRIO_BERRY_PICKING_H void sub_802493C(u16 a0, void (*callback)(void)); -void DoesPartyHaveDodrio(void); +void IsDodrioInParty(void); void ShowDodrioBerryPickingRecords(void); #endif // GUARD_DODRIO_BERRY_PICKING_H diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index 4586ad6a6..dde59aac5 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -5,7 +5,7 @@ void sub_802A9A8(u16 monId, MainCallback callback); bool32 IsSpeciesAllowedInPokemonJump(u16 species); -void DoesPartyHavePokemonJumpSpecies(void); +void IsPokemonJumpSpeciesInParty(void); void ResetPokeJumpResults(void); void ShowPokemonJumpRecords(void); void sub_802EB24(s16 tileTag, s16 palTag, s16 x, s16 y, u8 subpriority); -- cgit v1.2.3