summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/trade.s109
-rw-r--r--src/trade.c25
2 files changed, 25 insertions, 109 deletions
diff --git a/asm/trade.s b/asm/trade.s
index 7d04ebdc4..56eeeb7ae 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -495,115 +495,6 @@ _0804A2B0: .4byte gUnknown_03004824
.section .text.sub_804A33C
- thumb_func_start sub_804A840
-sub_804A840: @ 804A840
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0804A8A8
- ldr r4, _0804A89C @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x4
- ldr r1, _0804A8A0 @ =gUnknown_0820C330
- ldrb r2, [r1]
- ldrb r1, [r1, 0x1]
- str r1, [sp]
- movs r1, 0x13
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- ldr r0, [r4]
- adds r0, 0xC8
- ldr r3, _0804A8A4 @ =gTradePartyBoxTilemap
- movs r1, 0xF
- str r1, [sp]
- movs r1, 0x11
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0
- movs r2, 0
- bl sub_804A96C_alt
- movs r0, 0
- bl sub_804A6DC
- movs r0, 0
- bl sub_804A41C
- movs r0, 0
- bl sub_804A740
- ldr r0, [r4]
- adds r0, 0xC8
- bl sub_804A938
- b _0804A8FA
- .align 2, 0
-_0804A89C: .4byte gUnknown_03004824
-_0804A8A0: .4byte gUnknown_0820C330
-_0804A8A4: .4byte gTradePartyBoxTilemap
-_0804A8A8:
- bl HandleDestroyMenuCursors
- ldr r4, _0804A924 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0x4
- ldr r1, _0804A928 @ =gUnknown_0820C330
- ldrb r2, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- str r1, [sp]
- movs r1, 0x13
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- ldr r0, [r4]
- adds r0, 0xC8
- ldr r3, _0804A92C @ =gTradePartyBoxTilemap
- movs r1, 0xF
- str r1, [sp]
- movs r1, 0x11
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0xF
- movs r2, 0
- bl sub_804A96C_alt
- movs r0, 0x1
- bl sub_804A6DC
- movs r0, 0x1
- bl sub_804A41C
- movs r0, 0x1
- bl sub_804A740
- ldr r0, [r4]
- adds r0, 0xC8
- bl sub_804A938
-_0804A8FA:
- ldr r0, _0804A930 @ =gUnknown_0820C14C
- ldr r0, [r0, 0x4]
- ldr r4, _0804A924 @ =gUnknown_03004824
- ldr r1, [r4]
- adds r1, 0x7E
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, _0804A934 @ =0x06010000
- adds r1, r2
- movs r2, 0x14
- bl sub_804ACD8
- ldr r0, [r4]
- adds r0, 0x80
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A924: .4byte gUnknown_03004824
-_0804A928: .4byte gUnknown_0820C330
-_0804A92C: .4byte gTradePartyBoxTilemap
-_0804A930: .4byte gUnknown_0820C14C
-_0804A934: .4byte 0x06010000
- thumb_func_end sub_804A840
-
thumb_func_start sub_804A938
sub_804A938: @ 804A938
movs r1, 0x1
diff --git a/src/trade.c b/src/trade.c
index 4a84c1b1d..9a6273238 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -2430,6 +2430,31 @@ void sub_804A80C(void)
sub_804A41C(1);
}
+void sub_804A840(u8 whichParty)
+{
+ if (whichParty == 0)
+ {
+ FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[0][0], 0, gUnknown_0820C330[0][1], 19);
+ sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 0, 0, gTradePartyBoxTilemap, 15, 17, 0);
+ sub_804A6DC(0);
+ sub_804A41C(0);
+ sub_804A740(0);
+ sub_804A938(&gUnknown_03004824->unk_00c8);
+ }
+ else
+ {
+ HandleDestroyMenuCursors();
+ FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[1][0], 0, gUnknown_0820C330[1][1], 19);
+ sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15, 0, gTradePartyBoxTilemap, 15, 17, 0);
+ sub_804A6DC(1);
+ sub_804A41C(1);
+ sub_804A740(1);
+ sub_804A938(&gUnknown_03004824->unk_00c8);
+ }
+ sub_804ACD8(gUnknown_0820C14C[1], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20);
+ gUnknown_03004824->unk_0080[whichParty] = 0;
+}
+
asm(".section .text.sub_804A96C");
/*static*/ void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, const u16 *tilemap, u8 width, u8 height, u16 sp8) {