Decompile mpGetBodyUnk06

This commit is contained in:
Ryan Dwyer 2020-01-19 20:22:43 +10:00
parent 76e5d003ab
commit 0e66af34f5
8 changed files with 29 additions and 34 deletions

View File

@ -3624,7 +3624,7 @@ glabel func0f179da4
/* f179dcc: 8c2e8078 */ lw $t6,%lo(var7f1b8078)($at)
/* f179dd0: 01c00008 */ jr $t6
/* f179dd4: 00000000 */ sll $zero,$zero,0x0
/* f179dd8: 0fc62ee2 */ jal func0f18bb88
/* f179dd8: 0fc62ee2 */ jal mpGetNumBodies
/* f179ddc: afa60048 */ sw $a2,0x48($sp)
/* f179de0: 8fa60048 */ lw $a2,0x48($sp)
/* f179de4: 1000008b */ beqz $zero,.L0f17a014
@ -3680,7 +3680,7 @@ glabel func0f179da4
/* f179ea0: ac400df4 */ sw $zero,0xdf4($v0)
/* f179ea4: 1000005b */ beqz $zero,.L0f17a014
/* f179ea8: e4500d94 */ swc1 $f16,0xd94($v0)
/* f179eac: 0fc62f1c */ jal func0f18bc70
/* f179eac: 0fc62f1c */ jal mpGetBodyUnk06
/* f179eb0: 90c40003 */ lbu $a0,0x3($a2)
/* f179eb4: 0fc67244 */ jal mpIsChallengeComplete
/* f179eb8: 00402025 */ or $a0,$v0,$zero
@ -6283,8 +6283,8 @@ glabel menuhandler0017c6a4
/* f17c714: 01000008 */ jr $t0
/* f17c718: 00000000 */ sll $zero,$zero,0x0
/* f17c71c: 3c108008 */ lui $s0,%hi(g_MpGeneralSimulants)
/* f17c720: 3c118008 */ lui $s1,%hi(mpbodytable)
/* f17c724: 263177bc */ addiu $s1,$s1,%lo(mpbodytable)
/* f17c720: 3c118008 */ lui $s1,%hi(g_MpBodies)
/* f17c724: 263177bc */ addiu $s1,$s1,%lo(g_MpBodies)
/* f17c728: 2610772c */ addiu $s0,$s0,%lo(g_MpGeneralSimulants)
.L0f17c72c:
/* f17c72c: 0fc67244 */ jal mpIsChallengeComplete
@ -6298,8 +6298,8 @@ glabel menuhandler0017c6a4
/* f17c748: 100000b4 */ beqz $zero,.L0f17ca1c
/* f17c74c: ae920000 */ sw $s2,0x0($s4)
/* f17c750: 3c108008 */ lui $s0,%hi(g_MpGeneralSimulants)
/* f17c754: 3c118008 */ lui $s1,%hi(mpbodytable)
/* f17c758: 263177bc */ addiu $s1,$s1,%lo(mpbodytable)
/* f17c754: 3c118008 */ lui $s1,%hi(g_MpBodies)
/* f17c758: 263177bc */ addiu $s1,$s1,%lo(g_MpBodies)
/* f17c75c: 2610772c */ addiu $s0,$s0,%lo(g_MpGeneralSimulants)
.L0f17c760:
/* f17c760: 0fc67244 */ jal mpIsChallengeComplete

View File

@ -5136,9 +5136,9 @@ glabel func0f18bb64
/* f18bb84: 24020005 */ addiu $v0,$zero,0x5
);
u32 func0f18bb88(void)
u32 mpGetNumBodies(void)
{
return 61;
return NUM_MPBODIES;
}
GLOBAL_ASM(
@ -5174,8 +5174,8 @@ glabel func0f18bbd8
/* f18bbe8: 03e00008 */ jr $ra
/* f18bbec: 2402003e */ addiu $v0,$zero,0x3e
.L0f18bbf0:
/* f18bbf0: 3c048008 */ lui $a0,%hi(mpbodytable)
/* f18bbf4: 248477bc */ addiu $a0,$a0,%lo(mpbodytable)
/* f18bbf0: 3c048008 */ lui $a0,%hi(g_MpBodies)
/* f18bbf4: 248477bc */ addiu $a0,$a0,%lo(g_MpBodies)
/* f18bbf8: 00001825 */ or $v1,$zero,$zero
/* f18bbfc: 2405003d */ addiu $a1,$zero,0x3d
.L0f18bc00:
@ -5215,21 +5215,15 @@ glabel func0f18bc30
/* f18bc6c: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel func0f18bc70
/* f18bc70: 308e00ff */ andi $t6,$a0,0xff
/* f18bc74: afa40000 */ sw $a0,0x0($sp)
/* f18bc78: 29c1003e */ slti $at,$t6,0x3e
/* f18bc7c: 14200002 */ bnez $at,.L0f18bc88
/* f18bc80: 01c02025 */ or $a0,$t6,$zero
/* f18bc84: 00002025 */ or $a0,$zero,$zero
.L0f18bc88:
/* f18bc88: 000478c0 */ sll $t7,$a0,0x3
/* f18bc8c: 3c028008 */ lui $v0,0x8008
/* f18bc90: 004f1021 */ addu $v0,$v0,$t7
/* f18bc94: 03e00008 */ jr $ra
/* f18bc98: 904277c2 */ lbu $v0,0x77c2($v0)
);
u8 mpGetBodyUnk06(u8 bodynum)
{
// Possible @bug: This should probably be >=
if (bodynum > NUM_MPBODIES) {
bodynum = 0;
}
return g_MpBodies[bodynum].unk06;
}
GLOBAL_ASM(
glabel func0f18bc9c
@ -5240,8 +5234,8 @@ glabel func0f18bc9c
/* f18bcac: 00003025 */ or $a2,$zero,$zero
/* f18bcb0: 00002025 */ or $a0,$zero,$zero
.L0f18bcb4:
/* f18bcb4: 3c0f8008 */ lui $t7,%hi(mpbodytable)
/* f18bcb8: 25ef77bc */ addiu $t7,$t7,%lo(mpbodytable)
/* f18bcb4: 3c0f8008 */ lui $t7,%hi(g_MpBodies)
/* f18bcb8: 25ef77bc */ addiu $t7,$t7,%lo(g_MpBodies)
/* f18bcbc: 000470c0 */ sll $t6,$a0,0x3
/* f18bcc0: 01cf1021 */ addu $v0,$t6,$t7
/* f18bcc4: 84450004 */ lh $a1,0x4($v0)

View File

@ -2781,11 +2781,11 @@ glabel func0f19bfa0
/* f19bfec: 3c11800b */ lui $s1,%hi(g_MpSimulants)
/* f19bff0: 3c1e800b */ lui $s8,%hi(var800ac798)
/* f19bff4: 3c178008 */ lui $s7,%hi(mpheadstable)
/* f19bff8: 3c168008 */ lui $s6,%hi(mpbodytable)
/* f19bff8: 3c168008 */ lui $s6,%hi(g_MpBodies)
/* f19bffc: 3c148008 */ lui $s4,%hi(g_MpGeneralSimulants)
/* f19c000: 00408025 */ or $s0,$v0,$zero
/* f19c004: 2694772c */ addiu $s4,$s4,%lo(g_MpGeneralSimulants)
/* f19c008: 26d677bc */ addiu $s6,$s6,%lo(mpbodytable)
/* f19c008: 26d677bc */ addiu $s6,$s6,%lo(g_MpBodies)
/* f19c00c: 26f7752c */ addiu $s7,$s7,%lo(mpheadstable)
/* f19c010: 27dec798 */ addiu $s8,$s8,%lo(var800ac798)
/* f19c014: 2631c538 */ addiu $s1,$s1,%lo(g_MpSimulants)

View File

@ -557,6 +557,7 @@
#define NUM_CHEATS 42
#define NUM_FIRESLOTS 20
#define NUM_MPBOTCOMMANDS 14
#define NUM_MPBODIES 61
#define NUM_MPTRACKS 42
#define NUM_SOLONORMALSTAGES 17
#define NUM_SOLOSTAGES 21

View File

@ -50,11 +50,11 @@ s32 mpGetNumHeads(void);
u32 func0f18bb2c(void);
u32 func0f18bb48(void);
u32 func0f18bb64(void);
u32 func0f18bb88(void);
u32 mpGetNumBodies(void);
u32 func0f18bb90(void);
u32 func0f18bbd8(void);
u32 func0f18bc30(void);
u32 func0f18bc70(void);
u8 mpGetBodyUnk06(u8 bodynum);
s32 func0f18bc9c(s32 arg0);
u32 func0f18bee8(void);
s32 mpSetLock(s32 arg0, s32 arg1);

View File

@ -302,7 +302,7 @@ extern struct mpheadentry mpheadstable[];
extern u32 table_0x2d678[];
extern struct mpsimulant g_MpGeneralSimulants[];
extern struct mpsimulant mpspecialsimulants[];
extern struct bodynum mpbodytable[];
extern struct mpbody g_MpBodies[NUM_MPBODIES];
extern struct mptrack g_MpTracks[NUM_MPTRACKS];
extern u32 mppresets[];
extern u32 g_TeamColours[MAX_TEAMS];

View File

@ -2873,7 +2873,7 @@ struct mpsimulant {
u8 unlockvalue;
};
struct bodynum {
struct mpbody {
u16 slot;
u16 name;
u16 unk04;

View File

@ -12051,7 +12051,7 @@ struct mpsimulant mpspecialsimulants[] = {
};
// 2d7dc
struct bodynum mpbodytable[] = {
struct mpbody g_MpBodies[NUM_MPBODIES] = {
// slot, name, unk04, unk06
/*0x00*/ { 0x0056, 0x5610, 0x0004, 0x00 },
/*0x01*/ { 0x0062, 0x5611, 0x0004, 0x46 },