summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-04 22:24:56 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-04 22:24:56 -0400
commit2aca208b0339ede43cca22b5aba257551c515783 (patch)
tree02a239f170b7c382538344eff98367cda58fa89c
parentd4d324a41652abe19b6f24417713d8cd8efdb421 (diff)
sub_804B128
-rw-r--r--asm/trade.s75
-rw-r--r--include/util.h1
-rw-r--r--src/trade.c13
3 files changed, 14 insertions, 75 deletions
diff --git a/asm/trade.s b/asm/trade.s
index 8e89884fa..309ebc46b 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -580,79 +580,4 @@ _0804B120:
bx r0
thumb_func_end sub_804B104
- thumb_func_start sub_804B128
-sub_804B128: @ 804B128
- push {r4,r5,lr}
- sub sp, 0x20
- ldr r0, _0804B1B4 @ =gUnknown_03004828
- ldr r0, [r0]
- mov r12, r0
- movs r0, 0x82
- lsls r0, 1
- add r0, r12
- ldrh r1, [r0]
- lsls r1, 8
- movs r0, 0x83
- lsls r0, 1
- add r0, r12
- ldrh r2, [r0]
- lsls r2, 8
- movs r0, 0x86
- lsls r0, 1
- add r0, r12
- movs r4, 0
- ldrsh r3, [r0, r4]
- movs r0, 0x87
- lsls r0, 1
- add r0, r12
- movs r5, 0
- ldrsh r0, [r0, r5]
- str r0, [sp]
- movs r4, 0x8C
- lsls r4, 1
- add r4, r12
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x4]
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x8]
- movs r0, 0x8E
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- bl DoBgAffineSet
- ldr r1, _0804B1B8 @ =REG_BG2PA
- add r0, sp, 0x10
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- add r0, sp, 0x10
- ldrh r0, [r0, 0x2]
- strh r0, [r1]
- adds r1, 0x2
- add r0, sp, 0x10
- ldrh r0, [r0, 0x4]
- strh r0, [r1]
- adds r1, 0x2
- add r0, sp, 0x10
- ldrh r0, [r0, 0x6]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [sp, 0x18]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [sp, 0x1C]
- str r0, [r1]
- add sp, 0x20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B1B4: .4byte gUnknown_03004828
-_0804B1B8: .4byte REG_BG2PA
- thumb_func_end sub_804B128
-
.align 2, 0 @ Don't pad with nop.
diff --git a/include/util.h b/include/util.h
index cd50b75cc..87fa4aecc 100644
--- a/include/util.h
+++ b/include/util.h
@@ -10,5 +10,6 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
void StoreWordInTwoHalfwords(u16 *, u32);
void LoadWordFromTwoHalfwords(u16 *, u32 *);
u16 CalcCRC16(u8 *data, int length);
+void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha);
#endif // GUARD_UTIL_H
diff --git a/src/trade.c b/src/trade.c
index 1554380bd..06da2c333 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -36,6 +36,7 @@
#include "pokeball.h"
#include "pokedex.h"
#include "field_effect.h"
+#include "util.h"
#include "trade.h"
#ifdef ENGLISH
@@ -3510,6 +3511,18 @@ static bool8 sub_804ABF8(void)
asm(".section .text.sub_804DAD4");
+void sub_804B128(void)
+{
+ struct BgAffineDstData dest;
+ DoBgAffineSet(&dest, gUnknown_03004828->unk_0104 << 8, gUnknown_03004828->unk_0106 << 8, gUnknown_03004828->unk_010c, gUnknown_03004828->unk_010e, gUnknown_03004828->unk_0118, gUnknown_03004828->unk_0118, gUnknown_03004828->unk_011c);
+ REG_BG2PA = dest.pa;
+ REG_BG2PB = dest.pb;
+ REG_BG2PC = dest.pc;
+ REG_BG2PD = dest.pd;
+ REG_BG2X = dest.dx;
+ REG_BG2Y = dest.dy;
+}
+
#ifdef NONMATCHING
void sub_804B1BC(void)
{