summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-02 21:58:54 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-02 21:58:54 -0400
commitafc3164c5b9139537875c96bb7da693fe16f5815 (patch)
treebd75089abaa2e7d0eb31df0d7948e74ff1c40cb3
parentb7b7010563a309a67422d52775c892ac4d25fb64 (diff)
sub_804AA88
-rw-r--r--asm/trade.s44
-rw-r--r--src/trade.c22
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) {