diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 11:40:02 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 11:40:02 -0400 |
commit | 84471b024d0ca28200b49416d022c6c588b3546e (patch) | |
tree | 4ba6aa068a2b09aee908c6005a65d251e60b4022 | |
parent | abdaf14f1098be7e65b388ad1960a94c4552bf80 (diff) |
sub_80491E4
-rw-r--r-- | asm/trade.s | 124 | ||||
-rw-r--r-- | src/trade.c | 39 |
2 files changed, 39 insertions, 124 deletions
diff --git a/asm/trade.s b/asm/trade.s index e298e18c4..ebfeb8132 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -10,130 +10,6 @@ .set sub_804A96C_alt, sub_804A96C .endif - thumb_func_start sub_80491E4 -sub_80491E4: @ 80491E4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _080492BE - ldr r2, _08049210 @ =gBlockRecvBuffer - ldrh r1, [r2] - ldr r0, _08049214 @ =0x0000ddee - cmp r1, r0 - beq _080492A8 - cmp r1, r0 - bgt _08049220 - ldr r0, _08049218 @ =0x0000ccdd - cmp r1, r0 - beq _08049288 - ldr r0, _0804921C @ =0x0000dddd - cmp r1, r0 - beq _0804925C - b _080492B8 - .align 2, 0 -_08049210: .4byte gBlockRecvBuffer -_08049214: .4byte 0x0000ddee -_08049218: .4byte 0x0000ccdd -_0804921C: .4byte 0x0000dddd -_08049220: - ldr r0, _08049230 @ =0x0000eebb - cmp r1, r0 - beq _08049234 - adds r0, 0x11 - cmp r1, r0 - beq _08049258 - b _080492B8 - .align 2, 0 -_08049230: .4byte 0x0000eebb -_08049234: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - bl sub_804AA0C - ldr r0, _08049254 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0xB - b _080492B6 - .align 2, 0 -_08049254: .4byte gUnknown_03004824 -_08049258: - movs r0, 0x5 - b _080492AA -_0804925C: - ldr r4, _08049284 @ =gUnknown_03004824 - ldr r1, [r4] - ldrb r0, [r2, 0x2] - adds r0, 0x6 - adds r1, 0x8A - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x41 - ldrb r0, [r0] - bl sub_8049E9C - ldr r0, [r4] - adds r0, 0x8A - ldrb r0, [r0] - bl sub_8049E9C - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x7 - b _080492B6 - .align 2, 0 -_08049284: .4byte gUnknown_03004824 -_08049288: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080492A4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0xA - b _080492B6 - .align 2, 0 -_080492A4: .4byte gUnknown_03004824 -_080492A8: - movs r0, 0x1 -_080492AA: - bl sub_804AA0C - ldr r0, _080492D4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0x8 -_080492B6: - strb r1, [r0] -_080492B8: - movs r0, 0 - bl ResetBlockReceivedFlag -_080492BE: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _080492CC - movs r0, 0x1 - bl ResetBlockReceivedFlag -_080492CC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080492D4: .4byte gUnknown_03004824 - thumb_func_end sub_80491E4 - thumb_func_start sub_80492D8 sub_80492D8: @ 80492D8 push {r4-r6,lr} diff --git a/src/trade.c b/src/trade.c index 440a26ffb..ee4853944 100644 --- a/src/trade.c +++ b/src/trade.c @@ -140,6 +140,7 @@ void sub_804A6DC(u8); void sub_804A938(struct UnkStructE *); u8 sub_804A9F4(void); u8 sub_804AA00(void); +void sub_8049E9C(u8); #ifdef ENGLISH #define sub_804A96C_alt sub_804A96C @@ -1482,6 +1483,44 @@ void sub_80490BC(u8 a0, u8 a1) } } +void sub_80491E4(u8 unused, u8 a1) +{ + if (a1 & 1) + { + switch (gBlockRecvBuffer[0][0]) + { + case 0xeebb: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + sub_804AA0C(4); + gUnknown_03004824->unk_007b = 11; + break; + case 0xeecc: + sub_804AA0C(5); + gUnknown_03004824->unk_007b = 8; + break; + case 0xdddd: + gUnknown_03004824->unk_008a = ((u8 *)gBlockRecvBuffer[0])[1 * sizeof(u16)] + 6; + sub_8049E9C(gUnknown_03004824->unk_0041); + sub_8049E9C(gUnknown_03004824->unk_008a); + gUnknown_03004824->unk_007b = 7; + break; + case 0xccdd: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_03004824->unk_007b = 10; + break; + case 0xddee: + sub_804AA0C(1); + gUnknown_03004824->unk_007b = 8; + break; + } + ResetBlockReceivedFlag(0); + } + if (a1 & 2) + { + ResetBlockReceivedFlag(1); + } +} + asm(".section .text.sub_804A96C"); void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) { |