diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-04 22:24:56 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-04 22:24:56 -0400 |
commit | 2aca208b0339ede43cca22b5aba257551c515783 (patch) | |
tree | 02a239f170b7c382538344eff98367cda58fa89c | |
parent | d4d324a41652abe19b6f24417713d8cd8efdb421 (diff) |
sub_804B128
-rw-r--r-- | asm/trade.s | 75 | ||||
-rw-r--r-- | include/util.h | 1 | ||||
-rw-r--r-- | src/trade.c | 13 |
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) { |