From 31176b14f6d72170b79d6b1ce4c9d1c3f77178bb Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 19 Jan 2020 20:48:39 +1000 Subject: [PATCH] Decompile mpGetBodyId --- src/game/game_013540.c | 2 +- src/game/game_0b28d0.c | 2 +- src/game/game_0f09f0.c | 2 +- src/game/game_187770.c | 35 ++++++++++++---------------------- src/include/game/game_187770.h | 2 +- 5 files changed, 16 insertions(+), 27 deletions(-) diff --git a/src/game/game_013540.c b/src/game/game_013540.c index 00e984c13..4d76b3619 100644 --- a/src/game/game_013540.c +++ b/src/game/game_013540.c @@ -1432,7 +1432,7 @@ glabel func0f014848 /* f014890: afa2003c */ sw $v0,0x3c($sp) /* f014894: 8fa9003c */ lw $t1,0x3c($sp) /* f014898: afa20058 */ sw $v0,0x58($sp) -/* f01489c: 0fc62ee4 */ jal func0f18bb90 +/* f01489c: 0fc62ee4 */ jal mpGetBodyId /* f0148a0: 91240010 */ lbu $a0,0x10($t1) /* f0148a4: 3c0a8009 */ lui $t2,0x8009 /* f0148a8: 914a0af0 */ lbu $t2,0xaf0($t2) diff --git a/src/game/game_0b28d0.c b/src/game/game_0b28d0.c index 79fff79ee..faf0551f5 100644 --- a/src/game/game_0b28d0.c +++ b/src/game/game_0b28d0.c @@ -7097,7 +7097,7 @@ glabel func0f0b872c /* f0b8850: 01cd7021 */ addu $t6,$t6,$t5 /* f0b8854: 000e7140 */ sll $t6,$t6,0x5 /* f0b8858: 008e2021 */ addu $a0,$a0,$t6 -/* f0b885c: 0fc62ee4 */ jal func0f18bb90 +/* f0b885c: 0fc62ee4 */ jal mpGetBodyId /* f0b8860: 9084c7c8 */ lbu $a0,-0x3838($a0) /* f0b8864: 8fa60020 */ lw $a2,0x20($sp) /* f0b8868: 100000c9 */ beqz $zero,.L0f0b8b90 diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index c1ff1b544..708d9bb58 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -3981,7 +3981,7 @@ glabel func0f0f38b0 /* f0f3a08: 322c00ff */ andi $t4,$s1,0xff /* f0f3a0c: 00026e02 */ srl $t5,$v0,0x18 /* f0f3a10: 01808825 */ or $s1,$t4,$zero -/* f0f3a14: 0fc62ee4 */ jal func0f18bb90 +/* f0f3a14: 0fc62ee4 */ jal mpGetBodyId /* f0f3a18: 31a400ff */ andi $a0,$t5,0xff /* f0f3a1c: 0fc62ec7 */ jal func0f18bb1c /* f0f3a20: afa20404 */ sw $v0,0x404($sp) diff --git a/src/game/game_187770.c b/src/game/game_187770.c index 8268fca93..f03200aa6 100644 --- a/src/game/game_187770.c +++ b/src/game/game_187770.c @@ -5141,29 +5141,18 @@ u32 mpGetNumBodies(void) return NUM_MPBODIES; } -GLOBAL_ASM( -glabel func0f18bb90 -/* f18bb90: 308e00ff */ andi $t6,$a0,0xff -/* f18bb94: afa40000 */ sw $a0,0x0($sp) -/* f18bb98: 29c1003e */ slti $at,$t6,0x3e -/* f18bb9c: 14200008 */ bnez $at,.L0f18bbc0 -/* f18bba0: 01c02025 */ or $a0,$t6,$zero -/* f18bba4: 2401003e */ addiu $at,$zero,0x3e -/* f18bba8: 15c10003 */ bne $t6,$at,.L0f18bbb8 -/* f18bbac: 00000000 */ sll $zero,$zero,0x0 -/* f18bbb0: 03e00008 */ jr $ra -/* f18bbb4: 2402006b */ addiu $v0,$zero,0x6b -.L0f18bbb8: -/* f18bbb8: 03e00008 */ jr $ra -/* f18bbbc: 24020056 */ addiu $v0,$zero,0x56 -.L0f18bbc0: -/* f18bbc0: 000478c0 */ sll $t7,$a0,0x3 -/* f18bbc4: 3c028008 */ lui $v0,0x8008 -/* f18bbc8: 004f1021 */ addu $v0,$v0,$t7 -/* f18bbcc: 844277bc */ lh $v0,0x77bc($v0) -/* f18bbd0: 03e00008 */ jr $ra -/* f18bbd4: 00000000 */ sll $zero,$zero,0x0 -); +s32 mpGetBodyId(u8 bodynum) +{ + if (bodynum >= 62) { + if (bodynum == 62) { + return BODY_DRCAROLL; + } + + return BODY_DARK_COMBAT; + } + + return g_MpBodies[bodynum].bodyid; +} s32 mpGetBodyIndexByBodyId(u16 bodyid) { diff --git a/src/include/game/game_187770.h b/src/include/game/game_187770.h index cadcd303d..2c638c11a 100644 --- a/src/include/game/game_187770.h +++ b/src/include/game/game_187770.h @@ -51,7 +51,7 @@ u32 func0f18bb2c(void); u32 func0f18bb48(void); u32 func0f18bb64(void); u32 mpGetNumBodies(void); -u32 func0f18bb90(void); +s32 mpGetBodyId(u8 bodynum); s32 mpGetBodyIndexByBodyId(u16 bodyid); char *mpGetBodyName(u8 bodynum); u8 mpGetBodyUnk06(u8 bodynum);