summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/trade.s31
-rw-r--r--src/trade.c27
2 files changed, 18 insertions, 40 deletions
diff --git a/asm/trade.s b/asm/trade.s
index dd9a26675..2512e7802 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -10,37 +10,6 @@
.set sub_804A96C_alt, sub_804A96C
.endif
- thumb_func_start sub_8049E9C
-sub_8049E9C: @ 8049E9C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, _08049ED0 @ =gUnknown_03004824
- ldr r0, [r3]
- adds r0, 0x80
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _08049EC8
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x82
- adds r0, r2
- strb r4, [r0]
-_08049EC8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08049ED0: .4byte gUnknown_03004824
- thumb_func_end sub_8049E9C
-
thumb_func_start sub_8049ED4
sub_8049ED4: @ 8049ED4
push {r4-r7,lr}
diff --git a/src/trade.c b/src/trade.c
index b1692a984..9d28ec8a5 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -87,9 +87,8 @@ struct TradeEwramSubstruct {
/*0x007c*/ u8 unk_007c;
/*0x007d*/ u8 unk_007d;
/*0x007e*/ u16 unk_007e;
- /*0x0080*/ u8 unk_0080;
- /*0x0081*/ u8 unk_0081;
- /*0x0082*/ u8 filler_0082[2];
+ /*0x0080*/ u8 unk_0080[2];
+ /*0x0082*/ u8 unk_0082[2];
/*0x0084*/ u8 unk_0084;
/*0x0085*/ u8 unk_0085;
/*0x0086*/ u8 unk_0086;
@@ -147,7 +146,7 @@ static void sub_8049DE0(void);
/*static*/ void sub_804A938(struct UnkStructE *);
/*static*/ u8 sub_804A9F4(void);
/*static*/ u8 sub_804AA00(void);
-/*static*/ void sub_8049E9C(u8);
+static void sub_8049E9C(u8);
/*static*/ void sub_804AADC(u8, u8);
/*static*/ void sub_804A80C(void);
static u8 sub_80499F0(const u8 *, u8, u8);
@@ -690,8 +689,8 @@ static void sub_8047EC0(void)
gUnknown_03004824->unk_0075 = 0;
gUnknown_03004824->unk_007b = 0;
gUnknown_03004824->unk_007c = 0;
- gUnknown_03004824->unk_0080 = 0;
- gUnknown_03004824->unk_0081 = 0;
+ gUnknown_03004824->unk_0080[0] = 0;
+ gUnknown_03004824->unk_0080[1] = 0;
gUnknown_03004824->unk_0086 = 0;
gUnknown_03004824->unk_0087 = 0;
gUnknown_03004824->unk_00b4 = 0;
@@ -870,8 +869,8 @@ void sub_80484F4(void)
gUnknown_03004824->unk_0075 = 0;
gUnknown_03004824->unk_007b = 0;
gUnknown_03004824->unk_007c = 0;
- gUnknown_03004824->unk_0080 = 0;
- gUnknown_03004824->unk_0081 = 0;
+ gUnknown_03004824->unk_0080[0] = 0;
+ gUnknown_03004824->unk_0080[1] = 0;
gUnknown_03004824->unk_0086 = 0;
gUnknown_03004824->unk_0087 = 0;
gUnknown_03004824->unk_00b4 = 0;
@@ -1915,7 +1914,7 @@ static void sub_8049C8C(void)
static void sub_8049CC4(void)
{
- if (gUnknown_03004824->unk_0080 == 5 && gUnknown_03004824->unk_0081 == 5)
+ if (gUnknown_03004824->unk_0080[0] == 5 && gUnknown_03004824->unk_0080[1] == 5)
{
sub_8049088();
gUnknown_03004824->unk_007b = 14;
@@ -2015,6 +2014,16 @@ static void sub_8049DE0(void)
}
}
+static void sub_8049E9C(u8 a0)
+{
+ u8 v0 = a0 / 6;
+ if (gUnknown_03004824->unk_0080[v0] == 0)
+ {
+ gUnknown_03004824->unk_0080[v0] = 1;
+ gUnknown_03004824->unk_0082[v0] = a0;
+ }
+}
+
asm(".section .text.sub_804A96C");
/*static*/ void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) {