summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-02 15:30:51 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-02 15:30:51 -0400
commit8fa301e80c5b196c4530235d874e603689a7a8f4 (patch)
treea3675d1108f77fd71fcb9ea7e0bacbff7b393c50
parentfdce319c1c3e54948b476a6e27be80b07a80ac1d (diff)
sub_8049DE0
-rw-r--r--asm/trade.s84
-rw-r--r--src/trade.c80
2 files changed, 66 insertions, 98 deletions
diff --git a/asm/trade.s b/asm/trade.s
index 7e2912e06..dd9a26675 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -10,90 +10,6 @@
.set sub_804A96C_alt, sub_804A96C
.endif
- thumb_func_start sub_8049DE0
-sub_8049DE0: @ 8049DE0
- push {lr}
- ldr r0, _08049DF8 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0xF
- bhi _08049E98
- lsls r0, 2
- ldr r1, _08049DFC @ =_08049E00
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08049DF8: .4byte gUnknown_03004824
-_08049DFC: .4byte _08049E00
- .align 2, 0
-_08049E00:
- .4byte _08049E40
- .4byte _08049E46
- .4byte _08049E4C
- .4byte _08049E52
- .4byte _08049E58
- .4byte _08049E98
- .4byte _08049E5E
- .4byte _08049E64
- .4byte _08049E6A
- .4byte _08049E70
- .4byte _08049E76
- .4byte _08049E7C
- .4byte _08049E82
- .4byte _08049E88
- .4byte _08049E8E
- .4byte _08049E94
-_08049E40:
- bl sub_8049680
- b _08049E98
-_08049E46:
- bl sub_8049860
- b _08049E98
-_08049E4C:
- bl sub_804997C
- b _08049E98
-_08049E52:
- bl sub_8049AC0
- b _08049E98
-_08049E58:
- bl sub_8049BC0
- b _08049E98
-_08049E5E:
- bl sub_8049C8C
- b _08049E98
-_08049E64:
- bl sub_8049CC4
- b _08049E98
-_08049E6A:
- bl sub_8049D44
- b _08049E98
-_08049E70:
- bl sub_8048A14
- b _08049E98
-_08049E76:
- bl sub_8048A50
- b _08049E98
-_08049E7C:
- bl sub_8049D9C
- b _08049E98
-_08049E82:
- bl sub_8049DC4
- b _08049E98
-_08049E88:
- bl sub_8048A90
- b _08049E98
-_08049E8E:
- bl DisplayMessageAndContinueTask
- b _08049E98
-_08049E94:
- bl sub_8049954
-_08049E98:
- pop {r0}
- bx r0
- thumb_func_end sub_8049DE0
-
thumb_func_start sub_8049E9C
sub_8049E9C: @ 8049E9C
push {r4,lr}
diff --git a/src/trade.c b/src/trade.c
index 5989b1484..b1692a984 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -140,7 +140,7 @@ static void sub_80494D8(void);
static void sub_8048AB4(void);
/*static*/ void sub_804A940(struct UnkStructE *);
/*static*/ void sub_804B41C(void);
-/*static*/ void sub_8049DE0(void);
+static void sub_8049DE0(void);
/*static*/ void sub_804AB30(void);
/*static*/ void sub_8049ED4(u8);
/*static*/ void sub_804A6DC(u8);
@@ -1662,7 +1662,7 @@ static void sub_8049620(void)
}
}
-/*static*/ void sub_8049680(void)
+static void sub_8049680(void)
{
int i;
if (gMain.newAndRepeatedKeys & DPAD_UP)
@@ -1714,7 +1714,7 @@ static void sub_8049620(void)
}
}
-/*static*/ void sub_8049804(void)
+static void sub_8049804(void)
{
HandleDestroyMenuCursors();
sub_804A80C();
@@ -1723,7 +1723,7 @@ static void sub_8049620(void)
sub_804ACD8(gUnknown_0820C14C[1], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20);
}
-/*static*/ void sub_8049860(void)
+static void sub_8049860(void)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
{
@@ -1761,7 +1761,7 @@ static void sub_8049620(void)
}
}
-/*static*/ void sub_8049954(void)
+static void sub_8049954(void)
{
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
{
@@ -1770,7 +1770,7 @@ static void sub_8049620(void)
}
}
-/*static*/ void sub_804997C(void)
+static void sub_804997C(void)
{
if (!gPaletteFade.active)
{
@@ -1824,7 +1824,7 @@ static void sub_8049A20(void)
}
}
-/*static*/ void sub_8049AC0(void)
+static void sub_8049AC0(void)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
{
@@ -1867,7 +1867,7 @@ static void sub_8049A20(void)
}
}
-/*static*/ void sub_8049BC0(void)
+static void sub_8049BC0(void)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
{
@@ -1903,7 +1903,7 @@ static void sub_8049A20(void)
}
}
-/*static*/ void sub_8049C8C(void)
+static void sub_8049C8C(void)
{
if (GetMultiplayerId() == 0)
{
@@ -1913,7 +1913,7 @@ static void sub_8049A20(void)
gUnknown_03004824->unk_007b = 7;
}
-/*static*/ void sub_8049CC4(void)
+static void sub_8049CC4(void)
{
if (gUnknown_03004824->unk_0080 == 5 && gUnknown_03004824->unk_0081 == 5)
{
@@ -1922,7 +1922,7 @@ static void sub_8049A20(void)
}
}
-/*static*/ void DisplayMessageAndContinueTask(void)
+static void DisplayMessageAndContinueTask(void)
{
gUnknown_03004824->unk_00b4++;
if (gUnknown_03004824->unk_00b4 > 120)
@@ -1934,7 +1934,7 @@ static void sub_8049A20(void)
}
}
-/*static*/ void sub_8049D44(void)
+static void sub_8049D44(void)
{
if (gMain.newKeys & A_BUTTON)
{
@@ -1946,7 +1946,7 @@ static void sub_8049A20(void)
}
}
-/*static*/ void sub_8049D9C(void)
+static void sub_8049D9C(void)
{
if (!gPaletteFade.active)
{
@@ -1955,7 +1955,7 @@ static void sub_8049A20(void)
}
}
-/*static*/ void sub_8049DC4(void)
+static void sub_8049DC4(void)
{
if (gReceivedRemoteLinkPlayers == 0)
{
@@ -1963,6 +1963,58 @@ static void sub_8049A20(void)
}
}
+static void sub_8049DE0(void)
+{
+ switch (gUnknown_03004824->unk_007b)
+ {
+ case 0:
+ sub_8049680();
+ break;
+ case 1:
+ sub_8049860();
+ break;
+ case 2:
+ sub_804997C();
+ break;
+ case 3:
+ sub_8049AC0();
+ break;
+ case 4:
+ sub_8049BC0();
+ break;
+ case 6:
+ sub_8049C8C();
+ break;
+ case 7:
+ sub_8049CC4();
+ break;
+ case 8:
+ sub_8049D44();
+ break;
+ case 9:
+ sub_8048A14();
+ break;
+ case 10:
+ sub_8048A50();
+ break;
+ case 11:
+ sub_8049D9C();
+ break;
+ case 12:
+ sub_8049DC4();
+ break;
+ case 13:
+ sub_8048A90();
+ break;
+ case 14:
+ DisplayMessageAndContinueTask();
+ break;
+ case 15:
+ sub_8049954();
+ break;
+ }
+}
+
asm(".section .text.sub_804A96C");
/*static*/ void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) {