summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-08-31 19:33:46 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-08-31 19:33:46 -0400
commit67d86d6a4cf715b9089f420c067935bcee9d1d7f (patch)
tree3dfe44800a2d5993215ac1dea0f1843afa855a26
parentd074813fc531f43a634559f104e41795560678fa (diff)
through sub_8048AB4
-rw-r--r--asm/trade.s143
-rw-r--r--src/trade.c61
2 files changed, 60 insertions, 144 deletions
diff --git a/asm/trade.s b/asm/trade.s
index d50feda0b..f4ddba518 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -10,149 +10,6 @@
.set sub_804A96C_alt, sub_804A96C
.endif
- thumb_func_start sub_80489F4
-sub_80489F4: @ 80489F4
- push {lr}
- ldr r0, _08048A10 @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xC8
- bl sub_804A940
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_08048A10: .4byte gUnknown_03004824
- thumb_func_end sub_80489F4
-
- thumb_func_start sub_8048A14
-sub_8048A14: @ 8048A14
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _08048A4C @ =gUnknown_03004824
- ldr r1, [r4]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _08048A44
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0xA
- strb r1, [r0]
-_08048A44:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048A4C: .4byte gUnknown_03004824
- thumb_func_end sub_8048A14
-
- thumb_func_start sub_8048A50
-sub_8048A50: @ 8048A50
- push {r4,lr}
- ldr r0, _08048A84 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08048A7E
- ldr r2, _08048A88 @ =gUnknown_020297D8
- ldr r4, _08048A8C @ =gUnknown_03004824
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x41
- ldrb r1, [r1]
- strb r1, [r2]
- adds r0, 0x8A
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- bl sub_800832C
- ldr r0, [r4]
- adds r0, 0x7B
- movs r1, 0xD
- strb r1, [r0]
-_08048A7E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048A84: .4byte gPaletteFade
-_08048A88: .4byte gUnknown_020297D8
-_08048A8C: .4byte gUnknown_03004824
- thumb_func_end sub_8048A50
-
- thumb_func_start sub_8048A90
-sub_8048A90: @ 8048A90
- push {lr}
- ldr r0, _08048AA8 @ =gReceivedRemoteLinkPlayers
- ldrb r1, [r0]
- cmp r1, 0
- bne _08048AA4
- ldr r0, _08048AAC @ =gMain
- str r1, [r0]
- ldr r0, _08048AB0 @ =sub_804B41C
- bl SetMainCallback2
-_08048AA4:
- pop {r0}
- bx r0
- .align 2, 0
-_08048AA8: .4byte gReceivedRemoteLinkPlayers
-_08048AAC: .4byte gMain
-_08048AB0: .4byte sub_804B41C
- thumb_func_end sub_8048A90
-
- thumb_func_start sub_8048AB4
-sub_8048AB4: @ 8048AB4
- push {r4,lr}
- bl sub_8049DE0
- bl sub_804AB30
- movs r0, 0
- bl sub_8049ED4
- movs r0, 0x1
- bl sub_8049ED4
- ldr r4, _08048B04 @ =REG_BG2HOFS
- ldr r3, _08048B08 @ =gUnknown_03004824
- ldr r2, [r3]
- ldrb r0, [r2]
- adds r1, r0, 0x1
- strb r1, [r2]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- adds r4, 0x4
- ldr r2, [r3]
- ldrb r0, [r2, 0x1]
- adds r1, r0, 0
- adds r1, 0xFF
- strb r1, [r2, 0x1]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048B04: .4byte REG_BG2HOFS
-_08048B08: .4byte gUnknown_03004824
- thumb_func_end sub_8048AB4
-
thumb_func_start sub_8048B0C
sub_8048B0C: @ 8048B0C
push {r4-r7,lr}
diff --git a/src/trade.c b/src/trade.c
index cf2070fe1..4e1c74b83 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -80,7 +80,9 @@ struct TradeEwramSubstruct {
/*0x0082*/ u8 filler_0082[4];
/*0x0086*/ u8 unk_0086;
/*0x0087*/ u8 unk_0087;
- /*0x0088*/ u8 filler_0088[0x2c];
+ /*0x0088*/ u8 filler_0088[2];
+ /*0x008a*/ u8 unk_008a;
+ /*0x008b*/ u8 filler_008b[0x29];
/*0x00b4*/ u8 unk_00b4;
/*0x00b5*/ u8 filler_00b4[0x13];
/*0x00c8*/ struct UnkStructE unk_00c8;
@@ -121,7 +123,13 @@ void sub_804AE3C(u8);
void sub_804AF10(void);
void sub_80494D8(void);
void sub_8048AB4(void);
+void sub_804A940(struct UnkStructE *);
+void sub_804B41C(void);
+void sub_8049DE0(void);
+void sub_804AB30(void);
+void sub_8049ED4(u8);
+extern u8 gUnknown_020297D8[2];
extern u8 *gUnknown_020296CC[13];
extern struct TradeEwramSubstruct *gUnknown_03004824;
extern u8 gUnknown_03000508;
@@ -894,6 +902,57 @@ void sub_80484F4(void)
UpdatePaletteFade();
}
+void sub_80489F4(void)
+{
+ sub_804A940(&gUnknown_03004824->unk_00c8);
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_8048A14(void)
+{
+ if (++gUnknown_03004824->unk_00b4 >= 16)
+ {
+ BeginNormalPaletteFade(-1, 0, 0, 16, 0);
+ gUnknown_03004824->unk_007b = 10;
+ }
+}
+
+void sub_8048A50(void)
+{
+ if (!gPaletteFade.active)
+ {
+ gUnknown_020297D8[0] = gUnknown_03004824->unk_0041;
+ gUnknown_020297D8[1] = gUnknown_03004824->unk_008a;
+ sub_800832C();
+ gUnknown_03004824->unk_007b = 13;
+ }
+}
+
+void sub_8048A90(void)
+{
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ gMain.callback1 = NULL;
+ SetMainCallback2(sub_804B41C);
+ }
+}
+
+void sub_8048AB4(void)
+{
+ sub_8049DE0();
+ sub_804AB30();
+ sub_8049ED4(0);
+ sub_8049ED4(1);
+ REG_BG2HOFS = gUnknown_03004824->unk_0000++;
+ REG_BG3HOFS = gUnknown_03004824->unk_0001--;
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
asm(".section .text.sub_804A96C");
void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) {