diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 12:02:53 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 12:02:53 -0400 |
commit | fd5ccd263652760f3c0c77fb0b727a01ef9d83a0 (patch) | |
tree | c38aba54c4bab8b1cc54d2db94fdc76b3a6cc3f3 | |
parent | 4f684294677b00c4ebf78cf957e16b32882dfa09 (diff) |
sub_80494D8
-rw-r--r-- | asm/trade.s | 31 | ||||
-rw-r--r-- | src/trade.c | 28 |
2 files changed, 22 insertions, 37 deletions
diff --git a/asm/trade.s b/asm/trade.s index d986d09e3..5ac3ba35e 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -10,37 +10,6 @@ .set sub_804A96C_alt, sub_804A96C .endif - thumb_func_start sub_80494D8 -sub_80494D8: @ 80494D8 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r4, r0, 24 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08049504 - cmp r4, 0 - bne _080494FA - movs r0, 0 - bl sub_80490BC - b _08049500 -_080494FA: - adds r0, r4, 0 - bl sub_80491E4 -_08049500: - bl ResetBlockReceivedFlags -_08049504: - cmp r4, 0 - bne _0804950C - bl sub_80492D8 -_0804950C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80494D8 - thumb_func_start sub_8049514 sub_8049514: @ 8049514 push {r4-r6,lr} diff --git a/src/trade.c b/src/trade.c index 2fc76c820..78befff44 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1444,11 +1444,11 @@ void sub_8049088(void) sub_804ACD8(string, (u8 *)BG_CHAR_ADDR(4) + gUnknown_03004824->unk_007e * 32, 20); } -void sub_80490BC(u8 a0, u8 a1) +static void sub_80490BC(u8 mpId, u8 a1) { if (a1 & 1) { - switch (gBlockRecvBuffer[a0][0]) + switch (gBlockRecvBuffer[mpId][0]) { case 0xeeaa: gUnknown_03004824->unk_0084 = 2; @@ -1487,9 +1487,9 @@ void sub_80490BC(u8 a0, u8 a1) } } -void sub_80491E4(u8 unused, u8 a1) +static void sub_80491E4(u8 mpId, u8 status) { - if (a1 & 1) + if (status & 1) { switch (gBlockRecvBuffer[0][0]) { @@ -1519,13 +1519,13 @@ void sub_80491E4(u8 unused, u8 a1) } ResetBlockReceivedFlag(0); } - if (a1 & 2) + if (status & 2) { ResetBlockReceivedFlag(1); } } -void sub_80492D8(void) +static void sub_80492D8(void) { if (gUnknown_03004824->unk_0084 && gUnknown_03004824->unk_0085) { @@ -1591,6 +1591,22 @@ void sub_80492D8(void) } } +void sub_80494D8(void) +{ + u8 mpId = GetMultiplayerId(); + u8 status = GetBlockReceivedStatus(); + if (status) + { + if (mpId == 0) + sub_80490BC(mpId, status); + else + sub_80491E4(mpId, status); + ResetBlockReceivedFlags(); + } + if (mpId == 0) + sub_80492D8(); +} + asm(".section .text.sub_804A96C"); void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) { |