diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-04 20:36:12 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-04 20:36:12 -0400 |
commit | 3b274627db0af5edb2b37cdd84effff6358a4cf3 (patch) | |
tree | 9941e477f97d2bebf08fdbd0fcce3404bee669fd | |
parent | 5c7bef25af764b3abe71ba421f603b092be6cb52 (diff) |
sub_804B24C
-rw-r--r-- | asm/trade.s | 55 | ||||
-rw-r--r-- | src/trade.c | 24 |
2 files changed, 22 insertions, 57 deletions
diff --git a/asm/trade.s b/asm/trade.s index 8ebe142e0..03c51aa52 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -733,59 +733,4 @@ sub_804B228: @ 804B228 _0804B248: .4byte gUnknown_03004828 thumb_func_end sub_804B228 - thumb_func_start sub_804B24C -sub_804B24C: @ 804B24C - push {r4,r5,lr} - ldr r1, _0804B270 @ =gUnknown_03004828 - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0xB2 - adds r3, r2, 0 - adds r3, 0xB3 - ldrb r0, [r0] - adds r5, r1, 0 - ldrb r3, [r3] - cmp r0, r3 - bne _0804B274 - adds r1, r2, 0 - adds r1, 0xB4 - ldrh r0, [r1] - adds r0, 0x1 - b _0804B27A - .align 2, 0 -_0804B270: .4byte gUnknown_03004828 -_0804B274: - adds r1, r2, 0 - adds r1, 0xB4 - movs r0, 0 -_0804B27A: - strh r0, [r1] - adds r4, r5, 0 - ldr r3, [r4] - adds r2, r3, 0 - adds r2, 0xB4 - ldrh r0, [r2] - cmp r0, 0xB4 - bls _0804B29C - movs r1, 0 - movs r0, 0 - strh r0, [r2] - adds r0, r3, 0 - adds r0, 0xB3 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xB2 - strb r1, [r0] -_0804B29C: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0xB2 - ldrb r1, [r1] - adds r0, 0xB3 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_804B24C - .align 2, 0 @ Don't pad with nop. diff --git a/src/trade.c b/src/trade.c index c6933d8a0..72f149dfd 100644 --- a/src/trade.c +++ b/src/trade.c @@ -133,7 +133,10 @@ struct TradeEwramSubstruct2 { /*0x0038*/ struct Pokemon pokemon; /*0x009c*/ u8 unk_009c; /*0x009d*/ u8 unk_009d; - /*0x009e*/ u16 linkData[12]; + /*0x009e*/ u16 linkData[10]; + /*0x00b2*/ u8 unk_00b2; + /*0x00b3*/ u8 unk_00b3; + /*0x00b4*/ u16 unk_00b4; /*0x00b6*/ u16 unk_00b6; // Sprite indices /*0x00b8*/ u8 unk_00b8[2]; @@ -3511,7 +3514,24 @@ void sub_804B210(void); void sub_804B228(void); -void sub_804B24C(void); +void sub_804B24C(void) +{ + if (gUnknown_03004828->unk_00b2 == gUnknown_03004828->unk_00b3) + { + gUnknown_03004828->unk_00b4 ++; + } + else + { + gUnknown_03004828->unk_00b4 = 0; + } + if (gUnknown_03004828->unk_00b4 > 0xb4) + { + gUnknown_03004828->unk_00b4 = 0; + gUnknown_03004828->unk_00b3 = 0; + gUnknown_03004828->unk_00b2 = 0; + } + gUnknown_03004828->unk_00b3 = gUnknown_03004828->unk_00b2; +} static u8 sub_804B2B0(void) { |