diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-04 23:11:46 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-04 23:11:46 -0400 |
commit | fd131fb769e25037c2979b5648e29b18cc8f0f6c (patch) | |
tree | 836bd2e72c876814b75b913406cb9f773b3a3590 | |
parent | 1b2096556ae0dcbc31723e782cfec354a4a94117 (diff) |
sub_804AE3C
-rw-r--r-- | asm/trade.s | 105 | ||||
-rw-r--r-- | src/trade.c | 27 |
2 files changed, 27 insertions, 105 deletions
diff --git a/asm/trade.s b/asm/trade.s index 53fe968a5..45bb5da25 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -183,109 +183,4 @@ _0804AE2C: _0804AE38: .4byte gUnknown_03004824 thumb_func_end sub_804ACF4 - thumb_func_start sub_804AE3C -sub_804AE3C: @ 804AE3C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0804AE4C - cmp r0, 0x1 - beq _0804AEAC - b _0804AF00 -_0804AE4C: - movs r6, 0 - ldr r1, _0804AEA4 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804AF00 - adds r7, r1, 0 -_0804AE5C: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804AEA8 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x69 - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804AE5C - b _0804AF00 - .align 2, 0 -_0804AEA4: .4byte gUnknown_03004824 -_0804AEA8: .4byte gPlayerParty -_0804AEAC: - movs r6, 0 - ldr r1, _0804AF08 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804AF00 - adds r7, r1, 0 -_0804AEBC: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804AF0C @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x6F - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804AEBC -_0804AF00: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AF08: .4byte gUnknown_03004824 -_0804AF0C: .4byte gEnemyParty - thumb_func_end sub_804AE3C - .align 2, 0 @ Don't pad with nop. diff --git a/src/trade.c b/src/trade.c index f9922dcfb..877f24f9e 100644 --- a/src/trade.c +++ b/src/trade.c @@ -37,6 +37,7 @@ #include "pokedex.h" #include "field_effect.h" #include "util.h" +#include "battle_interface.h" #include "trade.h" #ifdef ENGLISH @@ -3512,6 +3513,32 @@ static bool8 sub_804ABF8(void) asm(".section .text.sub_804DAD4"); +void sub_804AE3C(u8 who) +{ + u16 i; + u16 curHp; + u16 maxHp; + switch (who) + { + case 0: + for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++) + { + curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); + gUnknown_03004824->unk_0069[0][i] = GetHPBarLevel(curHp, maxHp); + } + break; + case 1: + for (i = 0; i < gUnknown_03004824->partyCounts[1]; i ++) + { + curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP); + gUnknown_03004824->unk_0069[1][i] = GetHPBarLevel(curHp, maxHp); + } + break; + } +} + void sub_804AF10(void) { int i, j; |