diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/trade.c | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/src/trade.c b/src/trade.c index 493730095..d0a375b0f 100644 --- a/src/trade.c +++ b/src/trade.c @@ -149,7 +149,7 @@ static void sub_8048AB4(void); /*static*/ void sub_8049E9C(u8); /*static*/ void sub_804AADC(u8, u8); /*static*/ void sub_804A80C(void); -/*static*/ u8 sub_80499F0(const u8 *, u8, u8); +static u8 sub_80499F0(const u8 *, u8, u8); extern u8 gUnknown_020297D8[2]; extern u8 *gUnknown_020296CC[13]; @@ -1652,7 +1652,7 @@ static void sub_8049620(void) { gUnknown_03004824->linkData[0] = 0xaabb; gUnknown_03004824->linkData[1] = gUnknown_03004824->tradeMenuCursorPosition; - SendBlock(bitmask_all_link_players_but_self(), gUnknown_03004824->linkData, 20); + SendBlock(bitmask_all_link_players_but_self(), gUnknown_03004824->linkData, ARRAY_COUNT(gUnknown_03004824->linkData)); } else { @@ -1708,7 +1708,7 @@ static void sub_8049620(void) { gUnknown_03004824->linkData[i] = i; } - SendBlock(bitmask_all_link_players_but_self(), gUnknown_03004824->linkData, 20); + SendBlock(bitmask_all_link_players_but_self(), gUnknown_03004824->linkData, ARRAY_COUNT(gUnknown_03004824->linkData)); } } @@ -1783,7 +1783,7 @@ static void sub_8049620(void) } } -/*static*/ u8 sub_80499F0(const u8 *src, u8 partyCount, u8 tradeMenuCursorPosition) +static u8 sub_80499F0(const u8 *src, u8 partyCount, u8 tradeMenuCursorPosition) { u8 retval = 0; int i; @@ -1797,6 +1797,31 @@ static void sub_8049620(void) return retval; } +/*static*/ void sub_8049A20(void) +{ + u8 unk_0051[12]; + int i; + for (i = 0; i < gUnknown_03004824->playerPartyCount; i ++) + { + unk_0051[i] = gUnknown_03004824->unk_0051[i]; + } + if (sub_80499F0(unk_0051, gUnknown_03004824->playerPartyCount, gUnknown_03004824->tradeMenuCursorPosition) == 0) + { + sub_804AADC(3, 2); + gUnknown_03004824->linkData[0] = 0xbbcc; + sub_804AADC(0xb4, 0); + } + else + { + sub_804AADC(3, 1); + gUnknown_03004824->linkData[0] = 0xbbbb; + if (sub_8007ECC()) + { + SendBlock(bitmask_all_link_players_but_self(), gUnknown_03004824->linkData, ARRAY_COUNT(gUnknown_03004824->linkData)); + } + } +} + asm(".section .text.sub_804A96C"); /*static*/ void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) { |