From 22bb57aadabe9de5868dc18b5136fc5daf62f320 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 26 Mar 2020 19:04:48 +1000 Subject: [PATCH] Decompile pdmodeGetHealth --- src/game/chr/chraction.c | 6 +++--- src/game/game_01b0a0.c | 25 ++++++++----------------- src/include/game/game_01b0a0.h | 2 +- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index 30242505c..946e885d7 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -7335,7 +7335,7 @@ glabel var7f1a8d98 .L0f034994: /* f034994: 50610007 */ beql $v1,$at,.L0f0349b4 /* f034998: 24010006 */ addiu $at,$zero,0x6 -/* f03499c: 0fc06c2b */ jal func0f01b0ac +/* f03499c: 0fc06c2b */ jal pdmodeGetHealth /* f0349a0: 00000000 */ sll $zero,$zero,0x0 /* f0349a4: 8fa50128 */ lw $a1,0x128($sp) /* f0349a8: 4600a503 */ div.s $f20,$f20,$f0 @@ -7417,7 +7417,7 @@ glabel var7f1a8d98 .L0f034ac4: /* f034ac4: 50610007 */ beql $v1,$at,.L0f034ae4 /* f034ac8: 24010006 */ addiu $at,$zero,0x6 -/* f034acc: 0fc06c2b */ jal func0f01b0ac +/* f034acc: 0fc06c2b */ jal pdmodeGetHealth /* f034ad0: 00000000 */ sll $zero,$zero,0x0 /* f034ad4: 8fa50128 */ lw $a1,0x128($sp) /* f034ad8: 4600a503 */ div.s $f20,$f20,$f0 @@ -7498,7 +7498,7 @@ glabel var7f1a8d98 .L0f034bf4: /* f034bf4: 10a20008 */ beq $a1,$v0,.L0f034c18 /* f034bf8: 00000000 */ sll $zero,$zero,0x0 -/* f034bfc: 0fc06c2b */ jal func0f01b0ac +/* f034bfc: 0fc06c2b */ jal pdmodeGetHealth /* f034c00: 00000000 */ sll $zero,$zero,0x0 /* f034c04: 3c0f800a */ lui $t7,%hi(g_Vars+0x2a0) /* f034c08: 8defa260 */ lw $t7,%lo(g_Vars+0x2a0)($t7) diff --git a/src/game/game_01b0a0.c b/src/game/game_01b0a0.c index be82e81ac..25c1d9fa9 100644 --- a/src/game/game_01b0a0.c +++ b/src/game/game_01b0a0.c @@ -29,23 +29,14 @@ glabel func0f01b0a0 /* f01b0a8: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f01b0ac -/* f01b0ac: 3c02800a */ lui $v0,%hi(g_MissionConfig) -/* f01b0b0: 2442dfe8 */ addiu $v0,$v0,%lo(g_MissionConfig) -/* f01b0b4: 904e0000 */ lbu $t6,0x0($v0) -/* f01b0b8: 31cf0001 */ andi $t7,$t6,0x1 -/* f01b0bc: 51e00004 */ beqzl $t7,.L0f01b0d0 -/* f01b0c0: 3c013f80 */ lui $at,0x3f80 -/* f01b0c4: 03e00008 */ jr $ra -/* f01b0c8: c440000c */ lwc1 $f0,0xc($v0) -/* f01b0cc: 3c013f80 */ lui $at,0x3f80 -.L0f01b0d0: -/* f01b0d0: 44810000 */ mtc1 $at,$f0 -/* f01b0d4: 00000000 */ sll $zero,$zero,0x0 -/* f01b0d8: 03e00008 */ jr $ra -/* f01b0dc: 00000000 */ sll $zero,$zero,0x0 -); +f32 pdmodeGetHealth(void) +{ + if (g_MissionConfig.pdmode) { + return g_MissionConfig.pdmodehealthf; + } + + return 1.0f; +} GLOBAL_ASM( glabel func0f01b0e0 diff --git a/src/include/game/game_01b0a0.h b/src/include/game/game_01b0a0.h index 7caa32dd6..be9e35a8f 100644 --- a/src/include/game/game_01b0a0.h +++ b/src/include/game/game_01b0a0.h @@ -4,7 +4,7 @@ #include "types.h" u32 func0f01b0a0(void); -u32 func0f01b0ac(void); +f32 pdmodeGetHealth(void); u32 func0f01b0e0(void); u32 func0f01b114(void); u32 func0f01b148(void);