diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-01 22:09:59 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-01 22:09:59 -0400 |
commit | a4b29bdd2b3cb2ff3fc69fc69e0725ce50bd828a (patch) | |
tree | c196798236743f4b7240e5789919dd6f913fa45c | |
parent | ff1da361388c9f38813e6622839e702740b2974c (diff) |
sub_8048C70
-rw-r--r-- | asm/trade.s | 95 | ||||
-rw-r--r-- | src/trade.c | 31 |
2 files changed, 30 insertions, 96 deletions
diff --git a/asm/trade.s b/asm/trade.s index 95c9c4b15..5a0634734 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -10,101 +10,6 @@ .set sub_804A96C_alt, sub_804A96C .endif - thumb_func_start sub_8048C70 -sub_8048C70: @ 8048C70 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r3, 0 - ldr r5, _08048CC0 @ =gUnknown_03004824 - mov r8, r5 - ldr r0, _08048CC4 @ =gSprites - mov r12, r0 - movs r1, 0x5 - negs r1, r1 - mov r9, r1 - movs r4, 0x6 - movs r7, 0x1 - movs r6, 0 -_08048C8E: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x42 - ldrb r1, [r1] - cmp r3, r1 - bge _08048CC8 - adds r0, 0x34 - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x44 - adds r0, r3 - strb r7, [r0] - b _08048CCE - .align 2, 0 -_08048CC0: .4byte gUnknown_03004824 -_08048CC4: .4byte gSprites -_08048CC8: - adds r0, 0x44 - adds r0, r3 - strb r6, [r0] -_08048CCE: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x43 - ldrb r1, [r1] - cmp r3, r1 - bge _08048CFE - adds r0, 0x3A - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x44 - adds r0, r4 - strb r7, [r0] - b _08048D04 -_08048CFE: - adds r0, 0x44 - adds r0, r4 - strb r6, [r0] -_08048D04: - adds r4, 0x1 - adds r3, 0x1 - cmp r3, 0x5 - ble _08048C8E - ldr r0, [r5] - adds r0, 0x50 - movs r1, 0x1 - strb r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8048C70 - thumb_func_start nullsub_5 nullsub_5: @ 8048D20 bx lr diff --git a/src/trade.c b/src/trade.c index 38cde38de..5b0ea50fe 100644 --- a/src/trade.c +++ b/src/trade.c @@ -69,7 +69,9 @@ struct TradeEwramSubstruct { /*0x0041*/ u8 unk_0041; /*0x0042*/ u8 playerPartyCount; /*0x0043*/ u8 friendPartyCount; - /*0x0044*/ u8 filler_0044[0x31]; + /*0x0044*/ u8 tradeIconsActive[12]; + /*0x0050*/ u8 unk_0050; + /*0x0051*/ u8 filler_0044[0x24]; /*0x0075*/ u8 unk_0075; /*0x0076*/ u8 filler_0076[4]; /*0x007a*/ u8 unk_007a; @@ -1184,6 +1186,33 @@ void sub_8048B0C(u8 a0) } #endif +void sub_8048C70(void) +{ + int i; + for (i = 0; i < PARTY_SIZE; i ++) + { + if (i < gUnknown_03004824->playerPartyCount) + { + gSprites[gUnknown_03004824->playerPartyIcons[i]].invisible = FALSE; + gUnknown_03004824->tradeIconsActive[i] = TRUE; + } + else + { + gUnknown_03004824->tradeIconsActive[i] = FALSE; + } + if (i < gUnknown_03004824->friendPartyCount) + { + gSprites[gUnknown_03004824->friendPartyIcons[i]].invisible = FALSE; + gUnknown_03004824->tradeIconsActive[i + 6] = TRUE; + } + else + { + gUnknown_03004824->tradeIconsActive[i + 6] = FALSE; + } + } + gUnknown_03004824->unk_0050 = TRUE; +} + asm(".section .text.sub_804A96C"); void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) { |