diff options
author | scnorton <scnorton@biociphers.org> | 2017-09-04 17:42:33 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-09-04 17:42:33 -0400 |
commit | ce7f9a1cab4ed09809aef9e550050cef7c62488f (patch) | |
tree | 95156da6bed5041f7d52bc31fcec2dd3e43c67fa | |
parent | c121c19a159d902fb697df71fc60dbbd511da567 (diff) |
sub_804BA18
-rw-r--r-- | asm/trade.s | 65 | ||||
-rw-r--r-- | src/trade.c | 21 |
2 files changed, 19 insertions, 67 deletions
diff --git a/asm/trade.s b/asm/trade.s index 49fdce61c..b8377897f 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -1618,69 +1618,4 @@ _0804BA10: .4byte gPaletteFade _0804BA14: .4byte sub_804BBCC thumb_func_end sub_804B790 - thumb_func_start sub_804BA18 -sub_804BA18: @ 804BA18 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _0804BA60 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0804BA5A - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x2 - bl GetNationalPokedexFlag - adds r0, r4, 0 - movs r1, 0x3 - bl GetNationalPokedexFlag -_0804BA5A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804BA60: .4byte gPlayerParty - thumb_func_end sub_804BA18 - - thumb_func_start sub_804BA64 -sub_804BA64: @ 804BA64 - push {lr} - bl GetMultiplayerId - lsls r0, 24 - ldr r2, _0804BA90 @ =gLinkPlayers - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2] - movs r0, 0x80 - lsls r0, 8 - cmp r1, r0 - bne _0804BA8C - bl EnableNationalPokedex -_0804BA8C: - pop {r0} - bx r0 - .align 2, 0 -_0804BA90: .4byte gLinkPlayers - thumb_func_end sub_804BA64 - .align 2, 0 @ Don't pad with nop. diff --git a/src/trade.c b/src/trade.c index c3e8c6a6f..4e4903e51 100644 --- a/src/trade.c +++ b/src/trade.c @@ -34,6 +34,7 @@ #include "mail_data.h" #include "evolution_scene.h" #include "pokeball.h" +#include "pokedex.h" #include "trade.h" #ifdef ENGLISH @@ -245,8 +246,6 @@ void sub_804D80C(struct Sprite *); void sub_804E1DC(void); void sub_804BBCC(void); void sub_804D8E4(void); -void sub_804BA18(u8); -void sub_804BA64(void); extern u8 gUnknown_020297D8[2]; extern u8 *gUnknown_020296CC[13]; @@ -3504,6 +3503,24 @@ static bool8 sub_804ABF8(void) asm(".section .text.sub_804DAD4"); +static void sub_804BA18(u8 partyIdx) +{ + struct Pokemon *pokemon = &gPlayerParty[partyIdx]; + if (!GetMonData(pokemon, MON_DATA_IS_EGG)) + { + u16 species = SpeciesToNationalPokedexNum(GetMonData(pokemon, MON_DATA_SPECIES, NULL)); + GetNationalPokedexFlag(species, 2); + GetNationalPokedexFlag(species, 3); + } +} + +static void sub_804BA64(void) +{ + u8 mpId = GetMultiplayerId(); + if (gLinkPlayers[mpId ^ 1].lp_field_2 == 0x8000) + EnableNationalPokedex(); +} + void sub_804BA94(u8 a0, u8 a1) { u8 friendship; |