From cd994f4935b9de81383d8e0a17d790414652a4d6 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 18 Dec 2018 19:29:41 -0600 Subject: Begin trade.c --- include/graphics.h | 5 +++++ include/librfu.h | 2 +- include/link.h | 1 + include/link_rfu.h | 2 ++ include/party_menu.h | 2 ++ include/pokemon_icon.h | 1 + include/trainer_card.h | 1 + 7 files changed, 13 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/graphics.h b/include/graphics.h index 33a26068b..924d2d58e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4754,4 +4754,9 @@ extern const u32 gUnknown_08C2DDA4[]; extern const u32 gUnknown_08C2EA50[]; extern const u32 gUnknown_08C2EA9C[]; +// Trade +extern const u16 gUnknown_08DDB3E4[]; +extern const u8 gUnknown_08DDB464[]; +extern const u16 gUnknown_08DDCF04[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/librfu.h b/include/librfu.h index 49df42541..38c819835 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -255,6 +255,6 @@ void rfu_REQ_recvData(void); void rfu_UNI_readySendData(u8 a0); void rfu_UNI_clearRecvNewDataFlag(u8 a0); void rfu_REQ_PARENT_resumeRetransmitAndChange(void); -void rfu_NI_setSendData(u8, u8, u8 *, u8); +void rfu_NI_setSendData(u8, u8, const void *, u32); #endif // GUARD_LIBRFU_H diff --git a/include/link.h b/include/link.h index f12f0990f..f2463983b 100644 --- a/include/link.h +++ b/include/link.h @@ -311,5 +311,6 @@ void sub_800AD10(void); void sub_800AB18(void); void sub_8009F18(void); bool8 sub_800AA60(void); +void sub_800ABF4(u16 a0); #endif // GUARD_LINK_H diff --git a/include/link_rfu.h b/include/link_rfu.h index 426565e56..eb7097bc1 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -278,5 +278,7 @@ void sub_8011DE0(u32 arg0); u8 sub_801100C(int a0); void sub_800EF7C(void); bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx); +s32 sub_800E87C(u8 idx); +void sub_8011BA4(void); #endif //GUARD_LINK_RFU_H diff --git a/include/party_menu.h b/include/party_menu.h index cb82eb82c..35c06f6e0 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -61,6 +61,8 @@ u8 sub_81B205C(struct Pokemon* a); void sub_81B617C(void); u8 sub_81B6D14(u16 a); bool8 hm_add_c3_without_phase_2(void); +void sub_81B5D30(void); +void sub_81B5D4C(u8 *a0, u8 *a1, u8 a2); extern void dp05_ether(u8, u16, TaskFunc); extern void dp05_pp_up(u8, u16, TaskFunc); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index f1c8a3e61..926b7585b 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -16,5 +16,6 @@ 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); #endif // GUARD_POKEMON_ICON_H diff --git a/include/trainer_card.h b/include/trainer_card.h index d80a5fa52..1af247d8a 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -38,5 +38,6 @@ void sub_80C3120(struct TrainerCard *arg0, u16 *arg1, u8 gameVersion); void TrainerCard_ShowLinkCard(u8 arg0, void (*callback)(void)); void TrainerCard_GenerateCardForPlayer(struct TrainerCard *); u8 sub_80C4904(u8); +void sub_80C6D80(const u8 *, u8 *, u8, u8, u8); #endif // GUARD_TRAINER_CARD_H -- cgit v1.2.3 From bd7c251859e614e060e1f6407de1f0bba22685c3 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 18 Dec 2018 20:15:59 -0600 Subject: Fix compressed palette alignment --- include/battle_anim.h | 4 ++-- include/graphics.h | 12 +++++++++--- include/palette.h | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index b25822992..65bd6a393 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -122,7 +122,7 @@ s16 CloneBattlerSpriteWithBlend(u8); void obj_delete_but_dont_free_vram(struct Sprite*); u8 sub_80A89C8(int, u8, int); void sub_80A6D60(struct UnknownAnimStruct2*, const void*, u32); -void sub_80A6CC0(u32, const void*, u32); +void sub_80A6CC0(u32, const u32*, u32); void sub_80A6DAC(bool8); void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *); void sub_80A653C(struct Sprite *); @@ -190,7 +190,7 @@ u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 selectedPalettes, // battle_anim_utility_funcs.s void sub_8116EB4(u8); -void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u8 *arg8, const u8 *arg9, const u16 *palette); +void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette); u32 UnpackSelectedBattleAnimPalettes(s16); diff --git a/include/graphics.h b/include/graphics.h index f92ab05f6..40b9744eb 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3071,7 +3071,7 @@ extern const u32 gTrainerBackPicPalette_Leaf[]; // pokeblock extern const u32 gMenuPokeblock_Gfx[]; -extern const u8 gMenuPokeblock_Pal[]; +extern const u32 gMenuPokeblock_Pal[]; extern const u32 gMenuPokeblock_Tilemap[]; extern const u32 gMenuPokeblockDevice_Gfx[]; extern const u32 gMenuPokeblockDevice_Pal[]; @@ -3859,8 +3859,8 @@ extern const u8 gFireRedMenuElements_Gfx[]; // item menu graphics extern const u32 gBagScreen_Gfx[]; -extern const u16 gBagScreenFemale_Pal[]; -extern const u16 gBagScreenMale_Pal[]; +extern const u32 gBagScreenFemale_Pal[]; +extern const u32 gBagScreenMale_Pal[]; extern const u8 gBagMenuHMIcon_Gfx[]; // item menu icons graphics @@ -4100,6 +4100,10 @@ extern const u32 gUnknown_08D83C3C[]; extern const u32 gUnknown_08D83900[]; extern const u32 gBattleFrontierGfx_DomeOptions[]; +extern const u32 gUnknown_08D854E8[]; +extern const u32 gUnknown_08D855E8[]; +extern const u32 gContest2Pal[]; + extern const u32 gBattleAnimSpriteSheet_000[]; extern const u32 gBattleAnimSpriteSheet_001[]; extern const u32 gBattleAnimSpriteSheet_002[]; @@ -4769,5 +4773,7 @@ extern const u16 gCableCar_Pal[]; extern const u16 gUnknown_08DDB3E4[]; extern const u8 gUnknown_08DDB464[]; extern const u16 gUnknown_08DDCF04[]; +extern const u16 gTradeGba2_Pal[]; +extern const u8 gTradeGba_Gfx[]; #endif //GUARD_GRAPHICS_H diff --git a/include/palette.h b/include/palette.h index c14e9f453..540452f3d 100644 --- a/include/palette.h +++ b/include/palette.h @@ -43,7 +43,7 @@ extern u8 gPaletteDecompressionBuffer[]; extern u16 gPlttBufferUnfaded[]; extern u16 gPlttBufferFaded[]; -void LoadCompressedPalette(const void *, u16, u16); +void LoadCompressedPalette(const u32 *, u16, u16); void LoadPalette(const void *, u16, u16); void FillPalette(u16, u16, u16); void TransferPlttBuffer(void); -- cgit v1.2.3 From 052d458f48e53c7a8305a50791397bc9e3a4ffc6 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 21 Dec 2018 12:20:28 -0600 Subject: sub_80796B4 is a pain --- include/battle_anim.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index 65bd6a393..3a6679414 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -149,6 +149,7 @@ u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority void sub_80A749C(struct Sprite *sprite); void sub_80A6814(u8 taskId); void sub_80A8610(struct Sprite *sprite); +void sub_80A6DEC(struct Sprite *sprite); enum { -- cgit v1.2.3 From a5c09bfec631c6437bd81c92d3878e7cdb1c8859 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 23 Dec 2018 01:26:38 -0600 Subject: S'more trade --- include/graphics.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/graphics.h b/include/graphics.h index 40b9744eb..8f6560318 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4775,5 +4775,6 @@ extern const u8 gUnknown_08DDB464[]; extern const u16 gUnknown_08DDCF04[]; extern const u16 gTradeGba2_Pal[]; extern const u8 gTradeGba_Gfx[]; +extern const u16 gUnknown_08DDD704[]; #endif //GUARD_GRAPHICS_H -- cgit v1.2.3 From 3f08e0c76c0e273954021491b7336f1748c0b557 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Mon, 24 Dec 2018 03:03:02 -0600 Subject: Some more trade nonsense --- include/pokemon_icon.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 926b7585b..17c7d5573 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -17,5 +17,6 @@ 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); #endif // GUARD_POKEMON_ICON_H -- cgit v1.2.3 From 5691a676293c3b7e5ab01d88eb03552d175a70f3 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Thu, 27 Dec 2018 02:05:09 -0600 Subject: Up to sub_807B62C --- include/trade.h | 2 +- include/util.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/trade.h b/include/trade.h index 45d8d9a0d..b7f1fc7ad 100644 --- a/include/trade.h +++ b/include/trade.h @@ -12,7 +12,7 @@ s32 sub_807A728(void); void sub_80773AC(void); void sub_807AE50(void); -int sub_807A8D0(u32 /* probably wrong */, u16, u16, u8); +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 sub_807A918(struct Pokemon*, u16); diff --git a/include/util.h b/include/util.h index 997c8f713..9d13453c2 100644 --- a/include/util.h +++ b/include/util.h @@ -14,5 +14,6 @@ u16 CalcCRC16(u8 *data, s32 length); u16 CalcCRC16WithTable(u8 *data, u32 length); u32 CalcByteArraySum(const u8* data, u32 length); void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); +void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha); #endif // GUARD_UTIL_H -- cgit v1.2.3 From 9cad5e8197c797c1aa6382c7143f48a73250d0f8 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 28 Dec 2018 02:11:41 -0600 Subject: Big switch mofo --- include/gba/io_reg.h | 2 +- include/strings.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index c20b69886..448fae06d 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -600,7 +600,7 @@ #define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD) // BLDALPHA -#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1)) +#define BLDALPHA_BLEND(target1, target2) ((target1)) | ((target2) << 8) // SOUNDCNT_H #define SOUND_CGB_MIX_QUARTER 0x0000 diff --git a/include/strings.h b/include/strings.h index 64222cddb..528990bfe 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1984,4 +1984,10 @@ extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OtherTrainerCantAcceptPkmn[]; extern const u8 gText_CantTradeWithTrainer[]; +// trade +extern const u8 gText_XWillBeSentToY[]; +extern const u8 gText_ByeByeVar1[]; +extern const u8 gText_XSentOverY[]; +extern const u8 gText_TakeGoodCareOfX[]; + #endif //GUARD_STRINGS_H -- cgit v1.2.3 From f30270dffe2d678b8c82bb03e23252a75dcdf61c Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 28 Dec 2018 12:56:06 -0600 Subject: Undo bad idea with BLDALPHA_BLEND macro --- include/gba/io_reg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 448fae06d..c20b69886 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -600,7 +600,7 @@ #define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD) // BLDALPHA -#define BLDALPHA_BLEND(target1, target2) ((target1)) | ((target2) << 8) +#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1)) // SOUNDCNT_H #define SOUND_CGB_MIX_QUARTER 0x0000 -- cgit v1.2.3 From 2fb9f490fbf961ff737c897c025ce1f5a54b2639 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sat, 29 Dec 2018 12:46:15 -0600 Subject: Almost done with trade --- include/gba/defines.h | 2 -- include/gba/io_reg.h | 3 +++ include/strings.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/gba/defines.h b/include/gba/defines.h index 16f1315d0..b68a2ad1e 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -66,6 +66,4 @@ #define TOTAL_OBJ_TILE_COUNT 1024 -#define WIN_RANGE(a, b) (((a) << 8) | (b)) - #endif // GUARD_GBA_DEFINES diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index c20b69886..df79b084d 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -576,6 +576,9 @@ #define WINOUT_WINOBJ_OBJ (1 << 12) #define WINOUT_WINOBJ_CLR (1 << 13) +#define WIN_RANGE(a, b) (((a) << 8) | (b)) +#define WIN_RANGE2(a, b) ((b) | ((a) << 8)) + // BLDCNT // Bits 0-5 select layers for the 1st target #define BLDCNT_TGT1_BG0 (1 << 0) diff --git a/include/strings.h b/include/strings.h index 528990bfe..7c6ca14ba 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1893,7 +1893,6 @@ extern const u8 gText_PkmnTransferredSomeonesPC[]; extern const u8 gText_PkmnTransferredLanettesPC[]; // hall of fame -extern const u8 gText_SavingDontTurnOffPower[]; extern const u8 gText_LeagueChamp[]; extern const u8 gText_HOFNumber[]; extern const u8 gText_PickNextCancel[]; @@ -1989,5 +1988,6 @@ extern const u8 gText_XWillBeSentToY[]; extern const u8 gText_ByeByeVar1[]; extern const u8 gText_XSentOverY[]; extern const u8 gText_TakeGoodCareOfX[]; +extern const u8 gText_CommunicationStandby5[]; #endif //GUARD_STRINGS_H -- cgit v1.2.3 From c5c6e437ec77138505cd236c572f8d9956a4c4b4 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Mon, 31 Dec 2018 01:23:27 -0600 Subject: Document, cleanup, extract data from trade --- include/graphics.h | 2 ++ include/rom_8011DC0.h | 1 + include/trade.h | 4 ++++ 3 files changed, 7 insertions(+) (limited to 'include') diff --git a/include/graphics.h b/include/graphics.h index 7e1ea8506..8a54ba536 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4808,6 +4808,8 @@ 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 u16 gUnknown_08DDB444[]; // Party menu extern const u32 gPartyMenuPokeball_Gfx[]; diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index c1bdbdf34..faffd3375 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -5,6 +5,7 @@ // Exported RAM declarations +extern u8 gUnknown_02022C2C; extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38; extern u16 gUnknown_02022C3C; extern u8 gUnknown_02022C3E; diff --git a/include/trade.h b/include/trade.h index b7f1fc7ad..95a10cacf 100644 --- a/include/trade.h +++ b/include/trade.h @@ -15,5 +15,9 @@ 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 sub_807A918(struct Pokemon*, u16); +void sub_807B140(void); +void sub_807B154(void); +void sub_807F19C(void); +void sub_807F1A8(u8, const u8 *, u8); #endif //GUARD_TRADE_H -- cgit v1.2.3 From ec780bb2098be75e591b212e85947f88c91d4e37 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Mon, 31 Dec 2018 02:22:21 -0600 Subject: Cleanup and documentation --- include/link.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/link.h b/include/link.h index f2463983b..9552f062c 100644 --- a/include/link.h +++ b/include/link.h @@ -240,7 +240,7 @@ void SerialCB(void); u8 GetLinkPlayerCount(void); bool32 InUnionRoom(void); void sub_800E0E8(void); -bool8 sub_800A520(void); +bool8 IsLinkTaskFinished(void); void CreateWirelessStatusIndicatorSprite(u8, u8); void sub_800ADF8(void); void sub_800B488(void); -- cgit v1.2.3