diff options
author | camthesaxman <cameronghall@cox.net> | 2017-06-07 15:47:12 -0500 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2017-06-07 15:47:12 -0500 |
commit | f4463930f4776198a7d6f5d1aac425dfc05a0dbf (patch) | |
tree | c99967d1ea517b146bbaefff63292ebf1b5fcff7 | |
parent | eed525462313d549da185d4caacc46a171a31de1 (diff) |
decompile sub_812014C
-rw-r--r-- | asm/battle_811DA74.s | 108 | ||||
-rw-r--r-- | src/battle_811DA74.c | 24 |
2 files changed, 24 insertions, 108 deletions
diff --git a/asm/battle_811DA74.s b/asm/battle_811DA74.s index 7db510f0e..6b22087ef 100644 --- a/asm/battle_811DA74.s +++ b/asm/battle_811DA74.s @@ -6,114 +6,6 @@ .text - thumb_func_start sub_812014C -sub_812014C: @ 812014C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - bl load_gfxc_health_bar - ldr r3, _081201C4 @ =gUnknown_02023A60 - ldr r0, _081201C8 @ =gUnknown_02024A60 - mov r9, r0 - ldrb r4, [r0] - lsls r2, r4, 9 - adds r0, r3, 0x2 - adds r0, r2, r0 - ldrb r1, [r0] - adds r3, 0x3 - adds r2, r3 - ldrb r0, [r2] - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - asrs r7, r1, 16 - ldr r0, _081201CC @ =0x00007fff - cmp r7, r0 - beq _081201DC - ldr r6, _081201D0 @ =gUnknown_02024A6A - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _081201D4 @ =gPlayerParty - adds r0, r4 - movs r1, 0x3A - bl GetMonData - mov r8, r0 - mov r1, r9 - ldrb r0, [r1] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - adds r3, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _081201D8 @ =gUnknown_03004340 - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl sub_8043D84 - b _08120206 - .align 2, 0 -_081201C4: .4byte gUnknown_02023A60 -_081201C8: .4byte gUnknown_02024A60 -_081201CC: .4byte 0x00007fff -_081201D0: .4byte gUnknown_02024A6A -_081201D4: .4byte gPlayerParty -_081201D8: .4byte gUnknown_03004340 -_081201DC: - ldr r1, _08120224 @ =gUnknown_02024A6A - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08120228 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _0812022C @ =gUnknown_03004340 - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - movs r3, 0 - bl sub_8043D84 -_08120206: - ldr r1, _08120230 @ =gUnknown_03004330 - ldr r0, _08120234 @ =gUnknown_02024A60 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08120238 @ =bx_t3_healthbar_update - str r1, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08120224: .4byte gUnknown_02024A6A -_08120228: .4byte gPlayerParty -_0812022C: .4byte gUnknown_03004340 -_08120230: .4byte gUnknown_03004330 -_08120234: .4byte gUnknown_02024A60 -_08120238: .4byte bx_t3_healthbar_update - thumb_func_end sub_812014C - thumb_func_start sub_812023C sub_812023C: @ 812023C push {lr} diff --git a/src/battle_811DA74.c b/src/battle_811DA74.c index f4e2cc57d..dbd7f77e8 100644 --- a/src/battle_811DA74.c +++ b/src/battle_811DA74.c @@ -81,6 +81,8 @@ extern u8 ewram[]; #define ewram17800 ((struct UnknownStruct4 *)(ewram + 0x17800)) #define ewram17810 ((struct UnknownStruct2 *)(ewram + 0x17810)) +extern void load_gfxc_health_bar(); +extern void sub_8043D84(); extern void sub_8120AA8(); extern void sub_8031F24(void); extern void sub_80326EC(); @@ -1287,3 +1289,25 @@ void sub_8120140(void) { dp01_tbl3_exec_completed(); } + +void sub_812014C(void) +{ + s16 r7; + + load_gfxc_health_bar(0); + r7 = gUnknown_02023A60[gUnknown_02024A60][2] | (gUnknown_02023A60[gUnknown_02024A60][3] << 8); + if (r7 != 0x7FFF) + { + u32 maxHP = GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_HP); + + sub_8043D84(gUnknown_02024A60, gUnknown_03004340[gUnknown_02024A60], maxHP, hp, r7); + } + else + { + u32 maxHP = GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_MAX_HP); + + sub_8043D84(gUnknown_02024A60, gUnknown_03004340[gUnknown_02024A60], maxHP, 0, r7); + } + gUnknown_03004330[gUnknown_02024A60] = bx_t3_healthbar_update; +} |