diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 21:58:54 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-02 21:58:54 -0400 |
commit | afc3164c5b9139537875c96bb7da693fe16f5815 (patch) | |
tree | bd75089abaa2e7d0eb31df0d7948e74ff1c40cb3 | |
parent | b7b7010563a309a67422d52775c892ac4d25fb64 (diff) |
sub_804AA88
-rw-r--r-- | asm/trade.s | 44 | ||||
-rw-r--r-- | src/trade.c | 22 |
2 files changed, 20 insertions, 46 deletions
diff --git a/asm/trade.s b/asm/trade.s index 5508f9406..a0fd799e2 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -495,50 +495,6 @@ _0804A2B0: .4byte gUnknown_03004824 .section .text.sub_804A9F4 - thumb_func_start sub_804AA88 -sub_804AA88: @ 804AA88 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r3, 0 - ldr r5, _0804AAD0 @ =gUnknown_03004824 - ldr r0, _0804AAD4 @ =0x000008dc - mov r8, r0 - movs r4, 0 - ldr r2, _0804AAD8 @ =0x000008de - mov r12, r2 - movs r7, 0x8E - lsls r7, 4 - movs r6, 0xFF -_0804AAA2: - ldr r0, [r5] - lsls r2, r3, 3 - adds r0, r2 - add r0, r8 - strb r4, [r0] - ldr r1, [r5] - adds r1, r2 - mov r2, r12 - adds r0, r1, r2 - strh r4, [r0] - adds r1, r7 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0x3 - ble _0804AAA2 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AAD0: .4byte gUnknown_03004824 -_0804AAD4: .4byte 0x000008dc -_0804AAD8: .4byte 0x000008de - thumb_func_end sub_804AA88 - thumb_func_start sub_804AADC sub_804AADC: @ 804AADC push {r4-r7,lr} diff --git a/src/trade.c b/src/trade.c index ea3e7732f..2e854ebb7 100644 --- a/src/trade.c +++ b/src/trade.c @@ -62,6 +62,12 @@ struct UnkStructD { /*0x12*/ u16 unk_12[0x400]; }; +struct UnkStructE { + /*0x00*/ u8 unk_00; + /*0x02*/ u16 unk_02; + /*0x04*/ u8 unk_04; +}; + struct TradeEwramSubstruct { /*0x0000*/ u8 unk_0000; /*0x0001*/ u8 unk_0001; @@ -95,7 +101,8 @@ struct TradeEwramSubstruct { /*0x00b5*/ u8 unk_00b5[7]; /*0x00bc*/ u8 filler_00bc[12]; /*0x00c8*/ struct UnkStructD unk_00c8; - /*0x08dc*/ u8 filler_04dc[0x724]; + /*0x08dc*/ struct UnkStructE unk_08dc[4]; + /*0x08fc*/ u8 filler_08fc[0x704]; }; struct UnkStructF { @@ -116,7 +123,7 @@ static void sub_8047EC0(void); /*static*/ void sub_804AFB8(const struct WindowConfig *, u8 *, const u8 *, u8); /*static*/ void sub_804ACD8(const u8 *, u8 *, u8); static void nullsub_5(u8, u8); -/*static*/ void sub_804AA88(void); +static void sub_804AA88(void); static void sub_804A964(struct UnkStructD *, void *); static void sub_80489F4(void); /*static*/ void sub_804AA0C(u8); @@ -2516,6 +2523,17 @@ static void sub_804AA00(u8 unused) sub_8003460(&gUnknown_03004824->window, gUnknown_0820C2F0[a0], 0x180 + gUnknown_03004824->unk_007a, gTradeMessageWindowRects[a0][0] + 1, gTradeMessageWindowRects[a0][1] + 1); } +static void sub_804AA88(void) +{ + int i; + for (i = 0; i < 4; i ++) + { + gUnknown_03004824->unk_08dc[i].unk_00 = 0; + gUnknown_03004824->unk_08dc[i].unk_02 = 0; + gUnknown_03004824->unk_08dc[i].unk_04 |= 0xff; + } +} + asm(".section .text.sub_804DAD4"); /*static*/ void sub_804DAD4(struct UnkStructC *arg0, struct InGameTrade *trade) { |