From fde1b97431f2bbc0824dde908c319afa3db902ce Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 19 Jan 2020 21:15:27 +1000 Subject: [PATCH] Decompile mpGetHeadId --- src/game/game_013540.c | 2 +- src/game/game_0b28d0.c | 2 +- src/game/game_0f09f0.c | 2 +- src/game/game_176d70.c | 4 ++-- src/game/game_187770.c | 28 ++++++++-------------------- src/include/game/game_187770.h | 4 ++-- 6 files changed, 15 insertions(+), 27 deletions(-) diff --git a/src/game/game_013540.c b/src/game/game_013540.c index 4d76b3619..9cc927a41 100644 --- a/src/game/game_013540.c +++ b/src/game/game_013540.c @@ -1428,7 +1428,7 @@ glabel func0f014848 /* f014880: afa5007c */ sw $a1,0x7c($sp) /* f014884: a7ae0074 */ sh $t6,0x74($sp) /* f014888: 9044000f */ lbu $a0,0xf($v0) -/* f01488c: 0fc62ecb */ jal func0f18bb2c +/* f01488c: 0fc62ecb */ jal mpGetHeadId /* f014890: afa2003c */ sw $v0,0x3c($sp) /* f014894: 8fa9003c */ lw $t1,0x3c($sp) /* f014898: afa20058 */ sw $v0,0x58($sp) diff --git a/src/game/game_0b28d0.c b/src/game/game_0b28d0.c index faf0551f5..520be6605 100644 --- a/src/game/game_0b28d0.c +++ b/src/game/game_0b28d0.c @@ -7062,7 +7062,7 @@ glabel func0f0b872c /* f0b87cc: 0082082a */ slt $at,$a0,$v0 /* f0b87d0: 10200008 */ beqz $at,.L0f0b87f4 /* f0b87d4: 00000000 */ sll $zero,$zero,0x0 -/* f0b87d8: 0fc62ecb */ jal func0f18bb2c +/* f0b87d8: 0fc62ecb */ jal mpGetHeadId /* f0b87dc: afa70024 */ sw $a3,0x24($sp) /* f0b87e0: 8fa70024 */ lw $a3,0x24($sp) /* f0b87e4: 3c03800a */ lui $v1,%hi(g_Vars) diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index 33c47ae36..0b48532b1 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -3988,7 +3988,7 @@ glabel func0f0f38b0 /* f0f3a24: 0222082a */ slt $at,$s1,$v0 /* f0f3a28: 10200005 */ beqz $at,.L0f0f3a40 /* f0f3a2c: 00000000 */ sll $zero,$zero,0x0 -/* f0f3a30: 0fc62ecb */ jal func0f18bb2c +/* f0f3a30: 0fc62ecb */ jal mpGetHeadId /* f0f3a34: 322400ff */ andi $a0,$s1,0xff /* f0f3a38: 1000000b */ beqz $zero,.L0f0f3a68 /* f0f3a3c: afa20400 */ sw $v0,0x400($sp) diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index 018352822..b494059bd 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -5237,7 +5237,7 @@ glabel func0f17b4f8 /* f17b59c: 0062082a */ slt $at,$v1,$v0 /* f17b5a0: 1020001a */ beqz $at,.L0f17b60c /* f17b5a4: 00000000 */ sll $zero,$zero,0x0 -/* f17b5a8: 0fc62ecb */ jal func0f18bb2c +/* f17b5a8: 0fc62ecb */ jal mpGetHeadId /* f17b5ac: 306400ff */ andi $a0,$v1,0xff /* f17b5b0: 3c088007 */ lui $t0,0x8007 /* f17b5b4: 8d081448 */ lw $t0,0x1448($t0) @@ -5317,7 +5317,7 @@ glabel func0f17b4f8 /* f17b6d4: ac690df4 */ sw $t1,0xdf4($v1) /* f17b6d8: 10000054 */ beqz $zero,.L0f17b82c /* f17b6dc: e4700d94 */ swc1 $f16,0xd94($v1) -/* f17b6e0: 0fc62ed2 */ jal func0f18bb48 +/* f17b6e0: 0fc62ed2 */ jal mpGetHeadUnlockValue /* f17b6e4: 90c40003 */ lbu $a0,0x3($a2) /* f17b6e8: 0fc67244 */ jal mpIsChallengeComplete /* f17b6ec: 00402025 */ or $a0,$v0,$zero diff --git a/src/game/game_187770.c b/src/game/game_187770.c index 8819c5064..47416a54f 100644 --- a/src/game/game_187770.c +++ b/src/game/game_187770.c @@ -5101,27 +5101,15 @@ s32 mpGetNumHeads(void) return 75; } -GLOBAL_ASM( -glabel func0f18bb2c -/* f18bb2c: 308e00ff */ andi $t6,$a0,0xff -/* f18bb30: 000e7880 */ sll $t7,$t6,0x2 -/* f18bb34: 3c028008 */ lui $v0,0x8008 -/* f18bb38: 004f1021 */ addu $v0,$v0,$t7 -/* f18bb3c: afa40000 */ sw $a0,0x0($sp) -/* f18bb40: 03e00008 */ jr $ra -/* f18bb44: 8442752c */ lh $v0,0x752c($v0) -); +s32 mpGetHeadId(u8 headnum) +{ + return g_MpHeads[headnum].headid; +} -GLOBAL_ASM( -glabel func0f18bb48 -/* f18bb48: 308e00ff */ andi $t6,$a0,0xff -/* f18bb4c: 000e7880 */ sll $t7,$t6,0x2 -/* f18bb50: 3c028008 */ lui $v0,0x8008 -/* f18bb54: 004f1021 */ addu $v0,$v0,$t7 -/* f18bb58: afa40000 */ sw $a0,0x0($sp) -/* f18bb5c: 03e00008 */ jr $ra -/* f18bb60: 9042752e */ lbu $v0,0x752e($v0) -); +s32 mpGetHeadUnlockValue(u8 headnum) +{ + return g_MpHeads[headnum].unlockvalue; +} s32 mpGetBeauHeadId(u8 headnum) { diff --git a/src/include/game/game_187770.h b/src/include/game/game_187770.h index 47ec0761d..8ffe59b90 100644 --- a/src/include/game/game_187770.h +++ b/src/include/game/game_187770.h @@ -47,8 +47,8 @@ u32 func0f18a56c(void); u32 func0f18b9e4(void); u32 func0f18bb1c(void); s32 mpGetNumHeads(void); -u32 func0f18bb2c(void); -u32 func0f18bb48(void); +s32 mpGetHeadId(u8 headnum); +s32 mpGetHeadUnlockValue(u8 headnum); s32 mpGetBeauHeadId(u8 headnum); u32 mpGetNumBodies(void); s32 mpGetBodyId(u8 bodynum);