diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 14:39:03 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 14:39:03 -0400 |
commit | 6481f3b1201dfc6cbefb49e735d16f0522b32e09 (patch) | |
tree | f6db1a12de27757f9b9b2e4920f76660177f0940 | |
parent | 2a5df1b3eed197bd44a10d54960770b9f02995f5 (diff) |
sub_80499F0
-rw-r--r-- | asm/trade.s | 31 | ||||
-rw-r--r-- | src/trade.c | 21 |
2 files changed, 18 insertions, 34 deletions
diff --git a/asm/trade.s b/asm/trade.s index 1edb0d61c..6e11cdaf2 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -10,37 +10,6 @@ .set sub_804A96C_alt, sub_804A96C .endif - thumb_func_start sub_80499F0 -sub_80499F0: @ 80499F0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - movs r3, 0 - cmp r1, r4 - bge _08049A18 -_08049A04: - cmp r2, r3 - beq _08049A12 - adds r0, r5, r3 - ldrb r0, [r0] - adds r0, r1, r0 - lsls r0, 24 - lsrs r1, r0, 24 -_08049A12: - adds r3, 0x1 - cmp r3, r4 - blt _08049A04 -_08049A18: - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80499F0 - thumb_func_start sub_8049A20 sub_8049A20: @ 8049A20 push {r4,r5,lr} diff --git a/src/trade.c b/src/trade.c index ff63411ce..493730095 100644 --- a/src/trade.c +++ b/src/trade.c @@ -77,7 +77,8 @@ struct TradeEwramSubstruct { /*0x0042*/ u8 playerPartyCount; /*0x0043*/ u8 friendPartyCount; /*0x0044*/ u8 tradeMenuOptionsActive[13]; - /*0x0051*/ u8 unk_0051[0x24]; + /*0x0051*/ u8 unk_0051[6]; + /*0x0056*/ u8 filler_0057[30]; /*0x0075*/ u8 unk_0075; /*0x0076*/ u8 filler_0076[4]; /*0x007a*/ u8 unk_007a; @@ -148,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*/ bool8 sub_80499F0(const u8 *, u8, u8); +/*static*/ u8 sub_80499F0(const u8 *, u8, u8); extern u8 gUnknown_020297D8[2]; extern u8 *gUnknown_020296CC[13]; @@ -1740,7 +1741,7 @@ static void sub_8049620(void) BeginNormalPaletteFade(-1, 0, 0, 16, 0); gUnknown_03004824->unk_007b = 2; } - else if (!sub_80499F0(gUnknown_03004824->unk_0051, gUnknown_03004824->playerPartyCount, gUnknown_03004824->tradeMenuCursorPosition)) + else if (sub_80499F0(gUnknown_03004824->unk_0051, gUnknown_03004824->playerPartyCount, gUnknown_03004824->tradeMenuCursorPosition) == 0) { sub_804AADC(3, 2); gUnknown_03004824->unk_007b = 8; @@ -1782,6 +1783,20 @@ static void sub_8049620(void) } } +/*static*/ u8 sub_80499F0(const u8 *src, u8 partyCount, u8 tradeMenuCursorPosition) +{ + u8 retval = 0; + int i; + for (i = 0; i < partyCount; i ++) + { + if (tradeMenuCursorPosition != i) + { + retval += src[i]; + } + } + return retval; +} + asm(".section .text.sub_804A96C"); /*static*/ void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) { |