From bd72fc11fcc9951a84bb8b7e6fbe7c94415a2d47 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 5 Jan 2020 16:56:17 +1000 Subject: [PATCH] Decompile func0f194834 --- src/game/chr/chr.c | 14 +++--- src/game/game_066310.c | 12 ++--- src/game/game_097a50.c | 2 +- src/game/game_176d70.c | 12 ++--- src/game/game_187770.c | 87 +++++++++++++--------------------- src/game/game_197600.c | 8 ++-- src/gvars/gvars.c | 10 +--- src/include/game/game_187770.h | 4 +- src/include/gvars/gvars.h | 5 +- src/include/types.h | 9 ++++ 10 files changed, 72 insertions(+), 91 deletions(-) diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 5e4408fc2..7b624770b 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -3241,7 +3241,7 @@ glabel func0f01f264 /* f020260: 10000004 */ beqz $zero,.L0f020274 /* f020264: 00402825 */ or $a1,$v0,$zero .L0f020268: -/* f020268: 0fc633fe */ jal func0f18cff8 +/* f020268: 0fc633fe */ jal mpPlayerGetIndex /* f02026c: 02002025 */ or $a0,$s0,$zero /* f020270: 00402825 */ or $a1,$v0,$zero .L0f020274: @@ -23659,7 +23659,7 @@ glabel func0f0319a8 /* f0329b8: 8fa40128 */ lw $a0,0x128($sp) /* f0329bc: 13000008 */ beqz $t8,.L0f0329e0 /* f0329c0: 00000000 */ sll $zero,$zero,0x0 -/* f0329c4: 0fc633fe */ jal func0f18cff8 +/* f0329c4: 0fc633fe */ jal mpPlayerGetIndex /* f0329c8: 02002025 */ or $a0,$s0,$zero /* f0329cc: 8fa40128 */ lw $a0,0x128($sp) /* f0329d0: 0fc2c27d */ jal func0f0b09f4 @@ -26182,7 +26182,7 @@ glabel func0f034524 /* f034da0: 14410010 */ bne $v0,$at,.L0f034de4 /* f034da4: 00000000 */ sll $zero,$zero,0x0 .L0f034da8: -/* f034da8: 0fc633fe */ jal func0f18cff8 +/* f034da8: 0fc633fe */ jal mpPlayerGetIndex /* f034dac: 8e240004 */ lw $a0,0x4($s1) /* f034db0: afa200f0 */ sw $v0,0xf0($sp) /* f034db4: 1000000b */ beqz $zero,.L0f034de4 @@ -27448,7 +27448,7 @@ glabel func0f034524 /* f035fbc: 8f39a2d4 */ lw $t9,-0x5d2c($t9) /* f035fc0: 13200008 */ beqz $t9,.L0f035fe4 /* f035fc4: 00000000 */ sll $zero,$zero,0x0 -/* f035fc8: 0fc633fe */ jal func0f18cff8 +/* f035fc8: 0fc633fe */ jal mpPlayerGetIndex /* f035fcc: 02002025 */ or $a0,$s0,$zero /* f035fd0: 8fa400f0 */ lw $a0,0xf0($sp) /* f035fd4: 0fc2c27d */ jal func0f0b09f4 @@ -27712,7 +27712,7 @@ void func0f036358(struct chrdata *chr, s32 arg1) chr->ailist = ailistFindById(GFUNC_AI_BOT_DEAD); chr->aioffset = 0; - func0f0b09f4(arg1, func0f18cff8(chr)); + func0f0b09f4(arg1, mpPlayerGetIndex(chr)); func0f199964(chr, chr->unk2d4->unk20); chr->unk2d4->unk9c_00 = 0; @@ -39956,7 +39956,7 @@ glabel func0f0404d4 /* f041764: afb90068 */ sw $t9,0x68($sp) /* f041768: 11a00004 */ beqz $t5,.L0f04177c /* f04176c: afac006c */ sw $t4,0x6c($sp) -/* f041770: 0fc633fe */ jal func0f18cff8 +/* f041770: 0fc633fe */ jal mpPlayerGetIndex /* f041774: 8fa40278 */ lw $a0,0x278($sp) /* f041778: afa20068 */ sw $v0,0x68($sp) .L0f04177c: @@ -40067,7 +40067,7 @@ glabel func0f0404d4 /* f041900: 3c03800a */ lui $v1,0x800a /* f041904: 11600005 */ beqz $t3,.L0f04191c /* f041908: 00000000 */ sll $zero,$zero,0x0 -/* f04190c: 0fc633fe */ jal func0f18cff8 +/* f04190c: 0fc633fe */ jal mpPlayerGetIndex /* f041910: 01a02025 */ or $a0,$t5,$zero /* f041914: 10000002 */ beqz $zero,.L0f041920 /* f041918: 00401825 */ or $v1,$v0,$zero diff --git a/src/game/game_066310.c b/src/game/game_066310.c index ed3a6d6c4..751b233f8 100644 --- a/src/game/game_066310.c +++ b/src/game/game_066310.c @@ -12297,7 +12297,7 @@ glabel func0f06f54c /* f06fcd0: 00000000 */ sll $zero,$zero,0x0 /* f06fcd4: 10800007 */ beqz $a0,.L0f06fcf4 /* f06fcd8: 00000000 */ sll $zero,$zero,0x0 -/* f06fcdc: 0fc633fe */ jal func0f18cff8 +/* f06fcdc: 0fc633fe */ jal mpPlayerGetIndex /* f06fce0: afa30178 */ sw $v1,0x178($sp) /* f06fce4: 8fa30178 */ lw $v1,0x178($sp) /* f06fce8: 3c058007 */ lui $a1,%hi(var80069910) @@ -16552,7 +16552,7 @@ glabel func0f073478 /* f073980: 8e09001c */ lw $t1,0x1c($s0) /* f073984: 14490029 */ bne $v0,$t1,.L0f073a2c /* f073988: 00000000 */ sll $zero,$zero,0x0 -/* f07398c: 0fc633fe */ jal func0f18cff8 +/* f07398c: 0fc633fe */ jal mpPlayerGetIndex /* f073990: 02802025 */ or $a0,$s4,$zero /* f073994: 3c0b800b */ lui $t3,0x800b /* f073998: 8d6bc530 */ lw $t3,-0x3ad0($t3) @@ -38305,7 +38305,7 @@ glabel func0f086f40 /* f087240: 00000000 */ sll $zero,$zero,0x0 /* f087244: 8d4aa244 */ lw $t2,-0x5dbc($t2) /* f087248: 8d4b00bc */ lw $t3,0xbc($t2) -/* f08724c: 0fc633fe */ jal func0f18cff8 +/* f08724c: 0fc633fe */ jal mpPlayerGetIndex /* f087250: 8d640004 */ lw $a0,0x4($t3) /* f087254: 10000002 */ beqz $zero,.L0f087260 /* f087258: 00401825 */ or $v1,$v0,$zero @@ -42704,7 +42704,7 @@ glabel func0f08ae54 /* f08aea4: 53200012 */ beqzl $t9,.L0f08aef0 /* f08aea8: 00037880 */ sll $t7,$v1,0x2 /* f08aeac: afa50038 */ sw $a1,0x38($sp) -/* f08aeb0: 0fc633fe */ jal func0f18cff8 +/* f08aeb0: 0fc633fe */ jal mpPlayerGetIndex /* f08aeb4: afa60040 */ sw $a2,0x40($sp) /* f08aeb8: 8fa60040 */ lw $a2,0x40($sp) /* f08aebc: 3c010fff */ lui $at,0xfff @@ -42991,7 +42991,7 @@ glabel func0f08b27c /* f08b298: afa600b0 */ sw $a2,0xb0($sp) /* f08b29c: 11c00005 */ beqz $t6,.L0f08b2b4 /* f08b2a0: 00008025 */ or $s0,$zero,$zero -/* f08b2a4: 0fc633fe */ jal func0f18cff8 +/* f08b2a4: 0fc633fe */ jal mpPlayerGetIndex /* f08b2a8: 00c02025 */ or $a0,$a2,$zero /* f08b2ac: 10000005 */ beqz $zero,.L0f08b2c4 /* f08b2b0: afa20094 */ sw $v0,0x94($sp) @@ -43358,7 +43358,7 @@ glabel func0f08b658 /* f08b7ec: 00408825 */ or $s1,$v0,$zero /* f08b7f0: 5180000e */ beqzl $t4,.L0f08b82c /* f08b7f4: 922a003f */ lbu $t2,0x3f($s1) -/* f08b7f8: 0fc633fe */ jal func0f18cff8 +/* f08b7f8: 0fc633fe */ jal mpPlayerGetIndex /* f08b7fc: 8fa400a8 */ lw $a0,0xa8($sp) /* f08b800: 8e0d0040 */ lw $t5,0x40($s0) /* f08b804: 3c010fff */ lui $at,0xfff diff --git a/src/game/game_097a50.c b/src/game/game_097a50.c index e7e9899d1..e58c7d5ff 100644 --- a/src/game/game_097a50.c +++ b/src/game/game_097a50.c @@ -9217,7 +9217,7 @@ glabel func0f09ee18 /* f09f030: 8fae00b8 */ lw $t6,0xb8($sp) /* f09f034: 11a00005 */ beqz $t5,.L0f09f04c /* f09f038: 00000000 */ sll $zero,$zero,0x0 -/* f09f03c: 0fc633fe */ jal func0f18cff8 +/* f09f03c: 0fc633fe */ jal mpPlayerGetIndex /* f09f040: 8fa400b8 */ lw $a0,0xb8($sp) /* f09f044: 10000004 */ beqz $zero,.L0f09f058 /* f09f048: 8e0f0040 */ lw $t7,0x40($s0) diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index 2f5f3d484..1e233f5a9 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -10646,7 +10646,7 @@ glabel func0f180600 /* f18067c: afad001c */ sw $t5,0x1c($sp) /* f180680: 0c004241 */ jal func00010904 /* f180684: e7a40014 */ swc1 $f4,0x14($sp) -/* f180688: 0fc633fe */ jal func0f18cff8 +/* f180688: 0fc633fe */ jal mpPlayerGetIndex /* f18068c: 02002025 */ or $a0,$s0,$zero /* f180690: 00027080 */ sll $t6,$v0,0x2 /* f180694: 3c03800b */ lui $v1,0x800b @@ -13896,7 +13896,7 @@ glabel func0f183380 /* f1833ac: 8c8e02d4 */ lw $t6,0x2d4($a0) /* f1833b0: 8dd3004c */ lw $s3,0x4c($t6) /* f1833b4: 00137940 */ sll $t7,$s3,0x5 -/* f1833b8: 0fc633fe */ jal func0f18cff8 +/* f1833b8: 0fc633fe */ jal mpPlayerGetIndex /* f1833bc: 000f9fc2 */ srl $s3,$t7,0x1f /* f1833c0: 1000000d */ beqz $zero,.L0f1833f8 /* f1833c4: 00409025 */ or $s2,$v0,$zero @@ -17715,7 +17715,7 @@ glabel func0f186898 /* f1868e0: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) /* f1868e4: 53200017 */ beqzl $t9,.L0f186944 /* f1868e8: 8e39028c */ lw $t9,0x28c($s1) -/* f1868ec: 0fc633fe */ jal func0f18cff8 +/* f1868ec: 0fc633fe */ jal mpPlayerGetIndex /* f1868f0: 00000000 */ sll $zero,$zero,0x0 /* f1868f4: 00025080 */ sll $t2,$v0,0x2 /* f1868f8: 3c0b800b */ lui $t3,0x800b @@ -17900,7 +17900,7 @@ glabel func0f186898 /* f186b74: 8d4302d4 */ lw $v1,0x2d4($t2) /* f186b78: 5060000e */ beqzl $v1,.L0f186bb4 /* f186b7c: 8e2e028c */ lw $t6,0x28c($s1) -/* f186b80: 0fc633fe */ jal func0f18cff8 +/* f186b80: 0fc633fe */ jal mpPlayerGetIndex /* f186b84: 01402025 */ or $a0,$t2,$zero /* f186b88: 00025880 */ sll $t3,$v0,0x2 /* f186b8c: 3c0c800b */ lui $t4,0x800b @@ -18529,7 +18529,7 @@ glabel func0f187410 /* f187454: 8c8b02d4 */ lw $t3,0x2d4($a0) /* f187458: 51600009 */ beqzl $t3,.L0f187480 /* f18745c: 8d4d028c */ lw $t5,0x28c($t2) -/* f187460: 0fc633fe */ jal func0f18cff8 +/* f187460: 0fc633fe */ jal mpPlayerGetIndex /* f187464: 00000000 */ sll $zero,$zero,0x0 /* f187468: 00026080 */ sll $t4,$v0,0x2 /* f18746c: 3c10800b */ lui $s0,0x800b @@ -18725,7 +18725,7 @@ glabel func0f1876e4 /* f187704: 31f82000 */ andi $t8,$t7,0x2000 /* f187708: 53000013 */ beqzl $t8,.L0f187758 /* f18770c: 8fbf0014 */ lw $ra,0x14($sp) -/* f187710: 0fc633fe */ jal func0f18cff8 +/* f187710: 0fc633fe */ jal mpPlayerGetIndex /* f187714: afa3001c */ sw $v1,0x1c($sp) /* f187718: 8fa3001c */ lw $v1,0x1c($sp) /* f18771c: 3c010fff */ lui $at,0xfff diff --git a/src/game/game_187770.c b/src/game/game_187770.c index 7d7f1e8c1..9a019a966 100644 --- a/src/game/game_187770.c +++ b/src/game/game_187770.c @@ -6799,7 +6799,7 @@ glabel func0f18cddc ); GLOBAL_ASM( -glabel func0f18cff8 +glabel mpPlayerGetIndex /* f18cff8: 3c02800b */ lui $v0,0x800b /* f18cffc: 8c42c530 */ lw $v0,-0x3ad0($v0) /* f18d000: 3c05800b */ lui $a1,%hi(g_MpPlayerChrs) @@ -11732,7 +11732,7 @@ glabel func0f191638 /* f19165c: 0fc0a221 */ jal chrGetTargetProp /* f191660: afa0002c */ sw $zero,0x2c($sp) /* f191664: afa20028 */ sw $v0,0x28($sp) -/* f191668: 0fc633fe */ jal func0f18cff8 +/* f191668: 0fc633fe */ jal mpPlayerGetIndex /* f19166c: 8c440004 */ lw $a0,0x4($v0) /* f191670: 8fa70030 */ lw $a3,0x30($sp) /* f191674: afa20020 */ sw $v0,0x20($sp) @@ -12976,7 +12976,7 @@ glabel func0f19277c /* f1927ac: 8f040004 */ lw $a0,0x4($t8) /* f1927b0: afa60020 */ sw $a2,0x20($sp) /* f1927b4: afa50024 */ sw $a1,0x24($sp) -/* f1927b8: 0fc633fe */ jal func0f18cff8 +/* f1927b8: 0fc633fe */ jal mpPlayerGetIndex /* f1927bc: afa4001c */ sw $a0,0x1c($sp) /* f1927c0: 8fa60020 */ lw $a2,0x20($sp) /* f1927c4: 8fa50024 */ lw $a1,0x24($sp) @@ -13844,7 +13844,7 @@ glabel func0f192e90 /* f1933bc: 01a26821 */ addu $t5,$t5,$v0 /* f1933c0: 000d68c0 */ sll $t5,$t5,0x3 /* f1933c4: 01abc821 */ addu $t9,$t5,$t3 -/* f1933c8: 0fc633fe */ jal func0f18cff8 +/* f1933c8: 0fc633fe */ jal mpPlayerGetIndex /* f1933cc: 8f240004 */ lw $a0,0x4($t9) /* f1933d0: 02626021 */ addu $t4,$s3,$v0 /* f1933d4: 918e016c */ lbu $t6,0x16c($t4) @@ -15314,36 +15314,13 @@ glabel func0f194724 /* f194830: 00601025 */ or $v0,$v1,$zero ); -GLOBAL_ASM( -glabel func0f194834 -/* f194834: 27bdffe8 */ addiu $sp,$sp,-24 -/* f194838: afbf0014 */ sw $ra,0x14($sp) -/* f19483c: 0fc633fe */ jal func0f18cff8 -/* f194840: 00000000 */ sll $zero,$zero,0x0 -/* f194844: 00027080 */ sll $t6,$v0,0x2 -/* f194848: 3c03800b */ lui $v1,0x800b -/* f19484c: 006e1821 */ addu $v1,$v1,$t6 -/* f194850: 8c63c500 */ lw $v1,-0x3b00($v1) -/* f194854: 3c04800b */ lui $a0,0x800b -/* f194858: 8fbf0014 */ lw $ra,0x14($sp) -/* f19485c: 906f0011 */ lbu $t7,0x11($v1) -/* f194860: 000fc080 */ sll $t8,$t7,0x2 -/* f194864: 00982021 */ addu $a0,$a0,$t8 -/* f194868: 8c84c168 */ lw $a0,-0x3e98($a0) -/* f19486c: 0004102b */ sltu $v0,$zero,$a0 -/* f194870: 10400008 */ beqz $v0,.L0f194894 -/* f194874: 00000000 */ sll $zero,$zero,0x0 -/* f194878: 90830000 */ lbu $v1,0x0($a0) -/* f19487c: 38620003 */ xori $v0,$v1,0x3 -/* f194880: 2c420001 */ sltiu $v0,$v0,0x1 -/* f194884: 14400003 */ bnez $v0,.L0f194894 -/* f194888: 00000000 */ sll $zero,$zero,0x0 -/* f19488c: 38620006 */ xori $v0,$v1,0x6 -/* f194890: 2c420001 */ sltiu $v0,$v0,0x1 -.L0f194894: -/* f194894: 03e00008 */ jr $ra -/* f194898: 27bd0018 */ addiu $sp,$sp,0x18 -); +s32 func0f194834(struct chrdata *chr) +{ + struct var800ac500 *thing = var800ac500[mpPlayerGetIndex(chr)]; + struct prop *prop = var800ac168[thing->propindex]; + + return prop && (prop->type == PROPTYPE_CHR || prop->type == PROPTYPE_PLAYER); +} bool func0f19489c(struct chrdata *chr) { @@ -15384,7 +15361,7 @@ glabel func0f194990 /* f1949ac: afb30024 */ sw $s3,0x24($sp) /* f1949b0: afb20020 */ sw $s2,0x20($sp) /* f1949b4: afb1001c */ sw $s1,0x1c($sp) -/* f1949b8: 0fc633fe */ jal func0f18cff8 +/* f1949b8: 0fc633fe */ jal mpPlayerGetIndex /* f1949bc: afb00018 */ sw $s0,0x18($sp) /* f1949c0: 3c188008 */ lui $t8,%hi(var80087e2c) /* f1949c4: 27187e2c */ addiu $t8,$t8,%lo(var80087e2c) @@ -16232,7 +16209,7 @@ glabel func0f194b40 /* f195594: 00000000 */ sll $zero,$zero,0x0 /* f195598: 0fc0a221 */ jal chrGetTargetProp /* f19559c: 2415002f */ addiu $s5,$zero,0x2f -/* f1955a0: 0fc633fe */ jal func0f18cff8 +/* f1955a0: 0fc633fe */ jal mpPlayerGetIndex /* f1955a4: 8c440004 */ lw $a0,0x4($v0) /* f1955a8: a6420008 */ sh $v0,0x8($s2) /* f1955ac: ae5e01d8 */ sw $s8,0x1d8($s2) @@ -16269,7 +16246,7 @@ glabel func0f194b40 /* f195620: 02002825 */ or $a1,$s0,$zero /* f195624: 1040022a */ beqz $v0,.L0f195ed0 /* f195628: 02002025 */ or $a0,$s0,$zero -/* f19562c: 0fc633fe */ jal func0f18cff8 +/* f19562c: 0fc633fe */ jal mpPlayerGetIndex /* f195630: 2415002f */ addiu $s5,$zero,0x2f /* f195634: a6420008 */ sh $v0,0x8($s2) /* f195638: 10000225 */ beqz $zero,.L0f195ed0 @@ -16285,7 +16262,7 @@ glabel func0f194b40 /* f19565c: 000e70c0 */ sll $t6,$t6,0x3 /* f195660: 01cfc021 */ addu $t8,$t6,$t7 /* f195664: 24150032 */ addiu $s5,$zero,0x32 -/* f195668: 0fc633fe */ jal func0f18cff8 +/* f195668: 0fc633fe */ jal mpPlayerGetIndex /* f19566c: 8f040004 */ lw $a0,0x4($t8) /* f195670: 10000217 */ beqz $zero,.L0f195ed0 /* f195674: a642000a */ sh $v0,0xa($s2) @@ -16300,7 +16277,7 @@ glabel func0f194b40 /* f195694: 000948c0 */ sll $t1,$t1,0x3 /* f195698: 012a5821 */ addu $t3,$t1,$t2 /* f19569c: 24150032 */ addiu $s5,$zero,0x32 -/* f1956a0: 0fc633fe */ jal func0f18cff8 +/* f1956a0: 0fc633fe */ jal mpPlayerGetIndex /* f1956a4: 8d640004 */ lw $a0,0x4($t3) /* f1956a8: 10000209 */ beqz $zero,.L0f195ed0 /* f1956ac: a642000a */ sh $v0,0xa($s2) @@ -16470,7 +16447,7 @@ glabel func0f194b40 /* f1958ec: 2dcf0001 */ sltiu $t7,$t6,0x1 /* f1958f0: ae4f01e0 */ sw $t7,0x1e0($s2) /* f1958f4: 8e780000 */ lw $t8,0x0($s3) -/* f1958f8: 0fc633fe */ jal func0f18cff8 +/* f1958f8: 0fc633fe */ jal mpPlayerGetIndex /* f1958fc: 8f040004 */ lw $a0,0x4($t8) /* f195900: a642000a */ sh $v0,0xa($s2) .L0f195904: @@ -16512,7 +16489,7 @@ glabel func0f194b40 /* f195988: 304d0003 */ andi $t5,$v0,0x3 /* f19598c: 2dac0001 */ sltiu $t4,$t5,0x1 /* f195990: ae4c01e0 */ sw $t4,0x1e0($s2) -/* f195994: 0fc633fe */ jal func0f18cff8 +/* f195994: 0fc633fe */ jal mpPlayerGetIndex /* f195998: 02002025 */ or $a0,$s0,$zero /* f19599c: 1000014c */ beqz $zero,.L0f195ed0 /* f1959a0: a642000a */ sh $v0,0xa($s2) @@ -16529,7 +16506,7 @@ glabel func0f194b40 /* f1959c8: 02002825 */ or $a1,$s0,$zero /* f1959cc: 10400140 */ beqz $v0,.L0f195ed0 /* f1959d0: 02002025 */ or $a0,$s0,$zero -/* f1959d4: 0fc633fe */ jal func0f18cff8 +/* f1959d4: 0fc633fe */ jal mpPlayerGetIndex /* f1959d8: 2415002f */ addiu $s5,$zero,0x2f /* f1959dc: a6420008 */ sh $v0,0x8($s2) /* f1959e0: 1000013b */ beqz $zero,.L0f195ed0 @@ -16578,7 +16555,7 @@ glabel func0f194b40 /* f195a84: 02802025 */ or $a0,$s4,$zero /* f195a88: 0fc0a221 */ jal chrGetTargetProp /* f195a8c: 2415002f */ addiu $s5,$zero,0x2f -/* f195a90: 0fc633fe */ jal func0f18cff8 +/* f195a90: 0fc633fe */ jal mpPlayerGetIndex /* f195a94: 8c440004 */ lw $a0,0x4($v0) /* f195a98: 240c012c */ addiu $t4,$zero,0x12c /* f195a9c: a6420008 */ sh $v0,0x8($s2) @@ -16715,7 +16692,7 @@ glabel func0f194b40 /* f195c98: 304f0003 */ andi $t7,$v0,0x3 /* f195c9c: 2df80001 */ sltiu $t8,$t7,0x1 /* f195ca0: ae5801e0 */ sw $t8,0x1e0($s2) -/* f195ca4: 0fc633fe */ jal func0f18cff8 +/* f195ca4: 0fc633fe */ jal mpPlayerGetIndex /* f195ca8: 02002025 */ or $a0,$s0,$zero /* f195cac: 10000088 */ beqz $zero,.L0f195ed0 /* f195cb0: a642000a */ sh $v0,0xa($s2) @@ -16728,7 +16705,7 @@ glabel func0f194b40 /* f195cc8: 02002825 */ or $a1,$s0,$zero /* f195ccc: 10400080 */ beqz $v0,.L0f195ed0 /* f195cd0: 02002025 */ or $a0,$s0,$zero -/* f195cd4: 0fc633fe */ jal func0f18cff8 +/* f195cd4: 0fc633fe */ jal mpPlayerGetIndex /* f195cd8: 2415002f */ addiu $s5,$zero,0x2f /* f195cdc: a6420008 */ sh $v0,0x8($s2) /* f195ce0: 1000007b */ beqz $zero,.L0f195ed0 @@ -16779,7 +16756,7 @@ glabel func0f194b40 /* f195d88: 304c0003 */ andi $t4,$v0,0x3 /* f195d8c: 2d8f0001 */ sltiu $t7,$t4,0x1 /* f195d90: ae4f01e0 */ sw $t7,0x1e0($s2) -/* f195d94: 0fc633fe */ jal func0f18cff8 +/* f195d94: 0fc633fe */ jal mpPlayerGetIndex /* f195d98: 02002025 */ or $a0,$s0,$zero /* f195d9c: 1000004c */ beqz $zero,.L0f195ed0 /* f195da0: a642000a */ sh $v0,0xa($s2) @@ -16792,7 +16769,7 @@ glabel func0f194b40 /* f195db8: 02002825 */ or $a1,$s0,$zero /* f195dbc: 10400044 */ beqz $v0,.L0f195ed0 /* f195dc0: 02002025 */ or $a0,$s0,$zero -/* f195dc4: 0fc633fe */ jal func0f18cff8 +/* f195dc4: 0fc633fe */ jal mpPlayerGetIndex /* f195dc8: 2415002f */ addiu $s5,$zero,0x2f /* f195dcc: a6420008 */ sh $v0,0x8($s2) /* f195dd0: 1000003f */ beqz $zero,.L0f195ed0 @@ -16845,7 +16822,7 @@ glabel func0f194b40 /* f195e84: 30590003 */ andi $t9,$v0,0x3 /* f195e88: 2f290001 */ sltiu $t1,$t9,0x1 /* f195e8c: ae4901e0 */ sw $t1,0x1e0($s2) -/* f195e90: 0fc633fe */ jal func0f18cff8 +/* f195e90: 0fc633fe */ jal mpPlayerGetIndex /* f195e94: 02002025 */ or $a0,$s0,$zero /* f195e98: 1000000d */ beqz $zero,.L0f195ed0 /* f195e9c: a642000a */ sh $v0,0xa($s2) @@ -16858,7 +16835,7 @@ glabel func0f194b40 /* f195eb4: 02002825 */ or $a1,$s0,$zero /* f195eb8: 10400005 */ beqz $v0,.L0f195ed0 /* f195ebc: 02002025 */ or $a0,$s0,$zero -/* f195ec0: 0fc633fe */ jal func0f18cff8 +/* f195ec0: 0fc633fe */ jal mpPlayerGetIndex /* f195ec4: 2415002f */ addiu $s5,$zero,0x2f /* f195ec8: a6420008 */ sh $v0,0x8($s2) /* f195ecc: ae5e01d8 */ sw $s8,0x1d8($s2) @@ -16977,7 +16954,7 @@ glabel func0f194b40 /* f196078: 8e8e001c */ lw $t6,0x1c($s4) /* f19607c: 156e000d */ bne $t3,$t6,.L0f1960b4 /* f196080: 00000000 */ sll $zero,$zero,0x0 -/* f196084: 0fc633fe */ jal func0f18cff8 +/* f196084: 0fc633fe */ jal mpPlayerGetIndex /* f196088: 02802025 */ or $a0,$s4,$zero /* f19608c: 3c03800b */ lui $v1,%hi(var800ac110) /* f196090: 2463c110 */ addiu $v1,$v1,%lo(var800ac110) @@ -17508,7 +17485,7 @@ glabel func0f194b40 /* f196810: 00000000 */ sll $zero,$zero,0x0 /* f196814: 0fc0a221 */ jal chrGetTargetProp /* f196818: a28e02a0 */ sb $t6,0x2a0($s4) -/* f19681c: 0fc633fe */ jal func0f18cff8 +/* f19681c: 0fc633fe */ jal mpPlayerGetIndex /* f196820: 8c440004 */ lw $a0,0x4($v0) /* f196824: 240c012c */ addiu $t4,$zero,0x12c /* f196828: a6420008 */ sh $v0,0x8($s2) @@ -17610,7 +17587,7 @@ glabel func0f194b40 /* f196988: a28f02a0 */ sb $t7,0x2a0($s4) /* f19698c: 0fc0a221 */ jal chrGetTargetProp /* f196990: 02802025 */ or $a0,$s4,$zero -/* f196994: 0fc633fe */ jal func0f18cff8 +/* f196994: 0fc633fe */ jal mpPlayerGetIndex /* f196998: 8c440004 */ lw $a0,0x4($v0) /* f19699c: 2419012c */ addiu $t9,$zero,0x12c /* f1969a0: a6420008 */ sh $v0,0x8($s2) @@ -17722,7 +17699,7 @@ glabel func0f194b40 /* f196b14: 8e8d001c */ lw $t5,0x1c($s4) /* f196b18: 152d001b */ bne $t1,$t5,.L0f196b88 /* f196b1c: 00000000 */ sll $zero,$zero,0x0 -/* f196b20: 0fc633fe */ jal func0f18cff8 +/* f196b20: 0fc633fe */ jal mpPlayerGetIndex /* f196b24: 02802025 */ or $a0,$s4,$zero /* f196b28: 3c0a800b */ lui $t2,0x800b /* f196b2c: 854ac1e2 */ lh $t2,-0x3e1e($t2) @@ -17742,7 +17719,7 @@ glabel func0f194b40 /* f196b60: 10000009 */ beqz $zero,.L0f196b88 /* f196b64: a28e02a0 */ sb $t6,0x2a0($s4) .L0f196b68: -/* f196b68: 0fc633fe */ jal func0f18cff8 +/* f196b68: 0fc633fe */ jal mpPlayerGetIndex /* f196b6c: 02802025 */ or $a0,$s4,$zero /* f196b70: 3c0c800b */ lui $t4,0x800b /* f196b74: 858cc1e2 */ lh $t4,-0x3e1e($t4) @@ -17753,7 +17730,7 @@ glabel func0f194b40 .L0f196b88: /* f196b88: 0fc64ba4 */ jal func0f192e90 /* f196b8c: 02802025 */ or $a0,$s4,$zero -/* f196b90: 0fc633fe */ jal func0f18cff8 +/* f196b90: 0fc633fe */ jal mpPlayerGetIndex /* f196b94: 02802025 */ or $a0,$s4,$zero /* f196b98: 8ecf000c */ lw $t7,0xc($s6) /* f196b9c: 8e790000 */ lw $t9,0x0($s3) diff --git a/src/game/game_197600.c b/src/game/game_197600.c index 5b969ca83..b9f4cf097 100644 --- a/src/game/game_197600.c +++ b/src/game/game_197600.c @@ -1423,7 +1423,7 @@ glabel func0f198338 /* f198860: afa8004c */ sw $t0,0x4c($sp) /* f198864: 0fc0a221 */ jal chrGetTargetProp /* f198868: afaa0048 */ sw $t2,0x48($sp) -/* f19886c: 0fc633fe */ jal func0f18cff8 +/* f19886c: 0fc633fe */ jal mpPlayerGetIndex /* f198870: 8c440004 */ lw $a0,0x4($v0) /* f198874: 8fb80050 */ lw $t8,0x50($sp) /* f198878: 8fa8004c */ lw $t0,0x4c($sp) @@ -1464,7 +1464,7 @@ glabel func0f198338 /* f1988f8: afa8004c */ sw $t0,0x4c($sp) /* f1988fc: 0fc0a221 */ jal chrGetTargetProp /* f198900: afaa0048 */ sw $t2,0x48($sp) -/* f198904: 0fc633fe */ jal func0f18cff8 +/* f198904: 0fc633fe */ jal mpPlayerGetIndex /* f198908: 8c440004 */ lw $a0,0x4($v0) /* f19890c: 8fab0050 */ lw $t3,0x50($sp) /* f198910: 8fa8004c */ lw $t0,0x4c($sp) @@ -2212,7 +2212,7 @@ glabel func0f198eec /* f199380: 8fa40090 */ lw $a0,0x90($sp) /* f199384: 0fc0a221 */ jal chrGetTargetProp /* f199388: 01802025 */ or $a0,$t4,$zero -/* f19938c: 0fc633fe */ jal func0f18cff8 +/* f19938c: 0fc633fe */ jal mpPlayerGetIndex /* f199390: 8c440004 */ lw $a0,0x4($v0) /* f199394: 8fae00a0 */ lw $t6,0xa0($sp) /* f199398: 0002c880 */ sll $t9,$v0,0x2 @@ -2227,7 +2227,7 @@ glabel func0f198eec /* f1993bc: 8fa40090 */ lw $a0,0x90($sp) /* f1993c0: 0fc0a221 */ jal chrGetTargetProp /* f1993c4: 01c02025 */ or $a0,$t6,$zero -/* f1993c8: 0fc633fe */ jal func0f18cff8 +/* f1993c8: 0fc633fe */ jal mpPlayerGetIndex /* f1993cc: 8c440004 */ lw $a0,0x4($v0) /* f1993d0: 8fa900a0 */ lw $t1,0xa0($sp) /* f1993d4: 00025080 */ sll $t2,$v0,0x2 diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index eb20a4478..594a3983e 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -30389,10 +30389,7 @@ u32 var800ac158 = 0; u32 var800ac15c = 0; u32 var800ac160 = 0; u32 var800ac164 = 0; -u32 var800ac168 = 0; -u32 var800ac16c = 0; -u32 var800ac170 = 0; -u32 var800ac174 = 0; +struct prop *var800ac168[] = {NULL, NULL, NULL, NULL}; u32 var800ac178 = 0; u32 var800ac17c = 0; u32 var800ac180 = 0; @@ -30616,10 +30613,7 @@ u32 var800ac4f0 = 0; u32 var800ac4f4 = 0; u32 var800ac4f8 = 0; u32 var800ac4fc = 0; -u32 var800ac500 = 0; -u32 var800ac504 = 0; -u32 var800ac508 = 0; -u32 var800ac50c = 0; +struct var800ac500 *var800ac500[] = {NULL, NULL, NULL, NULL}; u32 var800ac510 = 0; u32 var800ac514 = 0; u32 var800ac518 = 0; diff --git a/src/include/game/game_187770.h b/src/include/game/game_187770.h index 8eb21e397..368673329 100644 --- a/src/include/game/game_187770.h +++ b/src/include/game/game_187770.h @@ -92,7 +92,7 @@ u32 func0f18cc8c(void); bool mpIsSimSlotEnabled(s32 slotindex); u32 func0f18cd68(void); u32 func0f18cddc(void); -s32 func0f18cff8(struct chrdata *chr); +s32 mpPlayerGetIndex(struct chrdata *chr); u32 func0f18d040(void); u32 func0f18d074(void); u32 func0f18d0e8(void); @@ -162,7 +162,7 @@ u32 func0f194694(void); u32 func0f1946b4(void); s32 mpGetNumPlayerTeammates(struct chrdata *chr); u32 func0f194724(void); -bool func0f194834(struct chrdata *chr); +s32 func0f194834(struct chrdata *chr); bool func0f19489c(struct chrdata *chr); s32 mpGetNumTeammatesInRoomDoingSomething(struct chrdata *bot); u32 func0f194990(void); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index c3a7efddd..480b9abd0 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -832,6 +832,7 @@ extern u32 var800ac128; extern u32 var800ac134; extern u32 var800ac140; extern u32 var800ac150; +extern struct prop *var800ac168[]; extern u32 var800ac188; extern u32 var800ac258; extern u32 var800ac2c0; @@ -840,8 +841,8 @@ extern u32 var800ac390; extern u32 var800ac3f8; extern u32 var800ac460; extern u32 var800ac4cc; -extern struct chrdata *g_MpPlayerChrs[]; -extern u32 var800ac500; +extern struct chrdata *g_MpPlayerChrs[4]; +extern struct var800ac500 *var800ac500[4]; extern s32 g_MpNumPlayers; extern struct mpsim g_MpSimulants[8]; extern u32 var800ac798[8]; diff --git a/src/include/types.h b/src/include/types.h index c985baaef..9eee590cf 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -4330,4 +4330,13 @@ struct challenge { /*0x18*/ u16 unk18; }; +struct var800ac500 { + u32 unk00; + u32 unk04; + u32 unk08; + u32 unk0c; + u8 unk10; + u8 propindex; +}; + #endif