diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index a81570c2f..19a67537e 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -1566,7 +1566,7 @@ bool aiIfPathStarted(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; - if (g_Vars.chrdata->actiontype == ACT_PATROL || (g_Vars.chrdata->actiontype == ACT_GOPOS && (g_Vars.chrdata->unk065 & 8))) { + if (g_Vars.chrdata->actiontype == ACT_PATROL || (g_Vars.chrdata->actiontype == ACT_GOPOS && (g_Vars.chrdata->speed & 8))) { g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]); } else { g_Vars.aioffset += 3; diff --git a/src/game/game_013540.c b/src/game/game_013540.c index 5d0536dcf..00e984c13 100644 --- a/src/game/game_013540.c +++ b/src/game/game_013540.c @@ -1545,7 +1545,7 @@ glabel func0f014848 .L0f014a50: /* f014a50: 000e6fc2 */ srl $t5,$t6,0x1f /* f014a54: 15a00002 */ bnez $t5,.L0f014a60 -/* f014a58: 3c08800b */ lui $t0,%hi(var800ac530) +/* f014a58: 3c08800b */ lui $t0,%hi(g_MpNumPlayers) /* f014a5c: a20302b1 */ sb $v1,0x2b1($s0) .L0f014a60: /* f014a60: 240c0029 */ addiu $t4,$zero,0x29 @@ -1557,7 +1557,7 @@ glabel func0f014848 /* f014a78: ae0002a4 */ sw $zero,0x2a4($s0) /* f014a7c: a20c02a0 */ sb $t4,0x2a0($s0) /* f014a80: 8faf007c */ lw $t7,0x7c($sp) -/* f014a84: 2508c530 */ addiu $t0,$t0,%lo(var800ac530) +/* f014a84: 2508c530 */ addiu $t0,$t0,%lo(g_MpNumPlayers) /* f014a88: 8d020000 */ lw $v0,0x0($t0) /* f014a8c: 000fc080 */ sll $t8,$t7,0x2 /* f014a90: 3c01800b */ lui $at,0x800b diff --git a/src/game/game_066310.c b/src/game/game_066310.c index 5a4614f42..ed3a6d6c4 100644 --- a/src/game/game_066310.c +++ b/src/game/game_066310.c @@ -6817,8 +6817,8 @@ glabel setupParseObject /* f06ae64: 51200044 */ beqzl $t1,.L0f06af78 /* f06ae68: 8e2c0014 */ lw $t4,0x14($s1) /* f06ae6c: 8c84c530 */ lw $a0,-0x3ad0($a0) -/* f06ae70: 3c03800b */ lui $v1,%hi(var800ac4d0) -/* f06ae74: 2463c4d0 */ addiu $v1,$v1,%lo(var800ac4d0) +/* f06ae70: 3c03800b */ lui $v1,%hi(g_MpPlayerChrs) +/* f06ae74: 2463c4d0 */ addiu $v1,$v1,%lo(g_MpPlayerChrs) /* f06ae78: 1880003e */ blez $a0,.L0f06af74 /* f06ae7c: 00002825 */ or $a1,$zero,$zero .L0f06ae80: @@ -7052,8 +7052,8 @@ glabel setupParseObject /* f06b1a8: 11c00015 */ beqz $t6,.L0f06b200 /* f06b1ac: 3406ffff */ dli $a2,0xffff /* f06b1b0: 8c84c530 */ lw $a0,-0x3ad0($a0) -/* f06b1b4: 3c03800b */ lui $v1,%hi(var800ac4d0) -/* f06b1b8: 2463c4d0 */ addiu $v1,$v1,%lo(var800ac4d0) +/* f06b1b4: 3c03800b */ lui $v1,%hi(g_MpPlayerChrs) +/* f06b1b8: 2463c4d0 */ addiu $v1,$v1,%lo(g_MpPlayerChrs) /* f06b1bc: 18800010 */ blez $a0,.L0f06b200 /* f06b1c0: 00002825 */ or $a1,$zero,$zero .L0f06b1c4: diff --git a/src/game/game_0b0420.c b/src/game/game_0b0420.c index dedfe64f0..49ec70118 100644 --- a/src/game/game_0b0420.c +++ b/src/game/game_0b0420.c @@ -883,8 +883,8 @@ glabel func0f0b09f4 /* f0b0ef0: 8fae0150 */ lw $t6,0x150($sp) /* f0b0ef4: 05c0002e */ bltz $t6,.L0f0b0fb0 /* f0b0ef8: 000e6880 */ sll $t5,$t6,0x2 -/* f0b0efc: 3c0a800b */ lui $t2,%hi(var800ac4d0) -/* f0b0f00: 254ac4d0 */ addiu $t2,$t2,%lo(var800ac4d0) +/* f0b0efc: 3c0a800b */ lui $t2,%hi(g_MpPlayerChrs) +/* f0b0f00: 254ac4d0 */ addiu $t2,$t2,%lo(g_MpPlayerChrs) /* f0b0f04: 01aa2821 */ addu $a1,$t5,$t2 /* f0b0f08: 8caf0000 */ lw $t7,0($a1) /* f0b0f0c: 8de302d4 */ lw $v1,0x2d4($t7) diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index 37cac4842..ab873d070 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -14986,8 +14986,8 @@ glabel menuhandler000fd6f0 /* f0fd7dc: 0046082a */ slt $at,$v0,$a2 /* f0fd7e0: 10200010 */ beqz $at,.L0f0fd824 /* f0fd7e4: 0002c080 */ sll $t8,$v0,0x2 -/* f0fd7e8: 3c19800b */ lui $t9,%hi(var800ac4d0) -/* f0fd7ec: 2739c4d0 */ addiu $t9,$t9,%lo(var800ac4d0) +/* f0fd7e8: 3c19800b */ lui $t9,%hi(g_MpPlayerChrs) +/* f0fd7ec: 2739c4d0 */ addiu $t9,$t9,%lo(g_MpPlayerChrs) /* f0fd7f0: 00067080 */ sll $t6,$a2,0x2 /* f0fd7f4: 01d92021 */ addu $a0,$t6,$t9 /* f0fd7f8: 03191021 */ addu $v0,$t8,$t9 @@ -15052,8 +15052,8 @@ glabel menuhandler000fd6f0 /* f0fd8c0: 8f020000 */ lw $v0,0x0($t8) /* f0fd8c4: 81580000 */ lb $t8,0x0($t2) /* f0fd8c8: 8d670284 */ lw $a3,0x284($t3) -/* f0fd8cc: 3c09800b */ lui $t1,%hi(var800ac4d0) -/* f0fd8d0: 2529c4d0 */ addiu $t1,$t1,%lo(var800ac4d0) +/* f0fd8cc: 3c09800b */ lui $t1,%hi(g_MpPlayerChrs) +/* f0fd8d0: 2529c4d0 */ addiu $t1,$t1,%lo(g_MpPlayerChrs) /* f0fd8d4: 00f87021 */ addu $t6,$a3,$t8 /* f0fd8d8: 91d91be5 */ lbu $t9,0x1be5($t6) /* f0fd8dc: 3c06800b */ lui $a2,%hi(var800ac4cc) @@ -15097,8 +15097,8 @@ glabel menuhandler000fd6f0 .L0f0fd964: /* f0fd964: 91f81be7 */ lbu $t8,0x1be7($t7) /* f0fd968: 8ccf0000 */ lw $t7,0x0($a2) -/* f0fd96c: 3c09800b */ lui $t1,%hi(var800ac4d0) -/* f0fd970: 2529c4d0 */ addiu $t1,$t1,%lo(var800ac4d0) +/* f0fd96c: 3c09800b */ lui $t1,%hi(g_MpPlayerChrs) +/* f0fd970: 2529c4d0 */ addiu $t1,$t1,%lo(g_MpPlayerChrs) /* f0fd974: 00187080 */ sll $t6,$t8,0x2 /* f0fd978: 012ec821 */ addu $t9,$t1,$t6 /* f0fd97c: 8f240000 */ lw $a0,0x0($t9) @@ -17426,10 +17426,10 @@ glabel func0f0ff7bc /* f0ff9c8: 8d4f0284 */ lw $t7,0x284($t2) /* f0ff9cc: 8fb8009c */ lw $t8,0x9c($sp) /* f0ff9d0: 3c0c800b */ lui $t4,0x800b -/* f0ff9d4: 3c0d800b */ lui $t5,%hi(var800ac4d0) +/* f0ff9d4: 3c0d800b */ lui $t5,%hi(g_MpPlayerChrs) /* f0ff9d8: 01f8c821 */ addu $t9,$t7,$t8 /* f0ff9dc: 932b1be7 */ lbu $t3,0x1be7($t9) -/* f0ff9e0: 25adc4d0 */ addiu $t5,$t5,%lo(var800ac4d0) +/* f0ff9e0: 25adc4d0 */ addiu $t5,$t5,%lo(g_MpPlayerChrs) /* f0ff9e4: 000b1080 */ sll $v0,$t3,0x2 /* f0ff9e8: 01826021 */ addu $t4,$t4,$v0 /* f0ff9ec: 8d8cc500 */ lw $t4,-0x3b00($t4) diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index 51957d9bb..2f5f3d484 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -10533,12 +10533,12 @@ glabel func0f1802e0 /* f1804ec: 00001825 */ or $v1,$zero,$zero /* f1804f0: 00001025 */ or $v0,$zero,$zero /* f1804f4: 11400003 */ beqz $t2,.L0f180504 -/* f1804f8: 3c18800b */ lui $t8,%hi(var800ac4d0) +/* f1804f8: 3c18800b */ lui $t8,%hi(g_MpPlayerChrs) /* f1804fc: 10000001 */ beqz $zero,.L0f180504 /* f180500: 24040001 */ addiu $a0,$zero,0x1 .L0f180504: /* f180504: 8e2b0064 */ lw $t3,0x64($s1) -/* f180508: 2718c4d0 */ addiu $t8,$t8,%lo(var800ac4d0) +/* f180508: 2718c4d0 */ addiu $t8,$t8,%lo(g_MpPlayerChrs) /* f18050c: 11600003 */ beqz $t3,.L0f18051c /* f180510: 00000000 */ sll $zero,$zero,0x0 /* f180514: 10000001 */ beqz $zero,.L0f18051c @@ -11119,8 +11119,8 @@ glabel func0f180c98 /* f180d18: 1420fff4 */ bnez $at,.L0f180cec /* f180d1c: 25080010 */ addiu $t0,$t0,0x10 /* f180d20: 3c02800b */ lui $v0,%hi(var800ac110) -/* f180d24: 3c03800b */ lui $v1,%hi(var800ac118) -/* f180d28: 2463c118 */ addiu $v1,$v1,%lo(var800ac118) +/* f180d24: 3c03800b */ lui $v1,0x800b +/* f180d28: 2463c118 */ addiu $v1,$v1,-16104 /* f180d2c: 2442c110 */ addiu $v0,$v0,%lo(var800ac110) .L0f180d30: /* f180d30: 24420002 */ addiu $v0,$v0,0x2 @@ -11244,8 +11244,8 @@ glabel func0f180e34 /* f180eb0: 5420fffa */ bnezl $at,.L0f180e9c /* f180eb4: 00001025 */ or $v0,$zero,$zero /* f180eb8: 3c10800b */ lui $s0,%hi(var800ac110) -/* f180ebc: 3c03800b */ lui $v1,%hi(var800ac118) -/* f180ec0: 2463c118 */ addiu $v1,$v1,%lo(var800ac118) +/* f180ebc: 3c03800b */ lui $v1,0x800b +/* f180ec0: 2463c118 */ addiu $v1,$v1,-16104 /* f180ec4: 2610c110 */ addiu $s0,$s0,%lo(var800ac110) /* f180ec8: 27a200b8 */ addiu $v0,$sp,0xb8 .L0f180ecc: @@ -11351,8 +11351,8 @@ glabel func0f180e34 /* f181034: 5420ffc5 */ bnezl $at,.L0f180f4c /* f181038: 96580016 */ lhu $t8,0x16($s2) /* f18103c: 3c10800b */ lui $s0,%hi(var800ac110) -/* f181040: 3c02800b */ lui $v0,%hi(var800ac118) -/* f181044: 2442c118 */ addiu $v0,$v0,%lo(var800ac118) +/* f181040: 3c02800b */ lui $v0,0x800b +/* f181044: 2442c118 */ addiu $v0,$v0,-16104 /* f181048: 2610c110 */ addiu $s0,$s0,%lo(var800ac110) /* f18104c: 2408ffff */ addiu $t0,$zero,-1 /* f181050: 860f0000 */ lh $t7,0x0($s0) @@ -11381,8 +11381,8 @@ glabel func0f180e34 /* f18109c: 1420fffd */ bnez $at,.L0f181094 /* f1810a0: ac400054 */ sw $zero,0x54($v0) /* f1810a4: 3c10800b */ lui $s0,%hi(var800ac110) -/* f1810a8: 3c02800b */ lui $v0,%hi(var800ac118) -/* f1810ac: 2442c118 */ addiu $v0,$v0,%lo(var800ac118) +/* f1810a8: 3c02800b */ lui $v0,0x800b +/* f1810ac: 2442c118 */ addiu $v0,$v0,-16104 /* f1810b0: 2610c110 */ addiu $s0,$s0,%lo(var800ac110) .L0f1810b4: /* f1810b4: 26100002 */ addiu $s0,$s0,0x2 @@ -11570,8 +11570,8 @@ glabel func0f180e34 /* f181370: a6790016 */ sh $t9,0x16($s3) .L0f181374: /* f181374: 3c10800b */ lui $s0,%hi(var800ac110) -/* f181378: 3c11800b */ lui $s1,%hi(var800ac118) -/* f18137c: 2631c118 */ addiu $s1,$s1,%lo(var800ac118) +/* f181378: 3c11800b */ lui $s1,0x800b +/* f18137c: 2631c118 */ addiu $s1,$s1,-16104 /* f181380: 2610c110 */ addiu $s0,$s0,%lo(var800ac110) /* f181384: 860b0000 */ lh $t3,0x0($s0) .L0f181388: @@ -12002,9 +12002,9 @@ glabel func0f18194c /* f18194c: afa40000 */ sw $a0,0x0($sp) /* f181950: 00047400 */ sll $t6,$a0,0x10 /* f181954: 3c03800b */ lui $v1,%hi(var800ac110) -/* f181958: 3c05800b */ lui $a1,%hi(var800ac118) +/* f181958: 3c05800b */ lui $a1,0x800b /* f18195c: 000e2403 */ sra $a0,$t6,0x10 -/* f181960: 24a5c118 */ addiu $a1,$a1,%lo(var800ac118) +/* f181960: 24a5c118 */ addiu $a1,$a1,-16104 /* f181964: 2463c110 */ addiu $v1,$v1,%lo(var800ac110) /* f181968: 2402ffff */ addiu $v0,$zero,-1 /* f18196c: 84780010 */ lh $t8,0x10($v1) @@ -12681,8 +12681,8 @@ glabel func0f181cf0 /* f182300: e7a60014 */ swc1 $f6,0x14($sp) /* f182304: 3c03800b */ lui $v1,0x800b /* f182308: 8c63c530 */ lw $v1,-0x3ad0($v1) -/* f18230c: 3c10800b */ lui $s0,%hi(var800ac4d0) -/* f182310: 2610c4d0 */ addiu $s0,$s0,%lo(var800ac4d0) +/* f18230c: 3c10800b */ lui $s0,%hi(g_MpPlayerChrs) +/* f182310: 2610c4d0 */ addiu $s0,$s0,%lo(g_MpPlayerChrs) /* f182314: 1860001e */ blez $v1,.L0f182390 /* f182318: 00002825 */ or $a1,$zero,$zero /* f18231c: 3c11800b */ lui $s1,%hi(var800ac500) @@ -12719,8 +12719,8 @@ glabel func0f181cf0 .L0f182390: /* f182390: 1860001b */ blez $v1,.L0f182400 /* f182394: 8e91028c */ lw $s1,0x28c($s4) -/* f182398: 3c10800b */ lui $s0,%hi(var800ac4d0) -/* f18239c: 2610c4d0 */ addiu $s0,$s0,%lo(var800ac4d0) +/* f182398: 3c10800b */ lui $s0,%hi(g_MpPlayerChrs) +/* f18239c: 2610c4d0 */ addiu $s0,$s0,%lo(g_MpPlayerChrs) /* f1823a0: 8e020000 */ lw $v0,0x0($s0) .L0f1823a4: /* f1823a4: 8c4b02d4 */ lw $t3,0x2d4($v0) @@ -13364,8 +13364,8 @@ glabel func0f182bf4 /* f182c58: 1420fffd */ bnez $at,.L0f182c50 /* f182c5c: a4650002 */ sh $a1,0x2($v1) /* f182c60: 3c03800b */ lui $v1,%hi(var800ac110) -/* f182c64: 3c04800b */ lui $a0,%hi(var800ac11c) -/* f182c68: 2484c11c */ addiu $a0,$a0,%lo(var800ac11c) +/* f182c64: 3c04800b */ lui $a0,0x800b +/* f182c68: 2484c11c */ addiu $a0,$a0,-16100 /* f182c6c: 2463c110 */ addiu $v1,$v1,%lo(var800ac110) /* f182c70: 240200ff */ addiu $v0,$zero,0xff .L0f182c74: @@ -13620,7 +13620,7 @@ glabel func0f182e98 /* f182ff0: 3c10800b */ lui $s0,%hi(var800ac110) /* f182ff4: 2610c110 */ addiu $s0,$s0,%lo(var800ac110) /* f182ff8: 19e00006 */ blez $t7,.L0f183014 -/* f182ffc: 3c14800b */ lui $s4,%hi(var800ac11c) +/* f182ffc: 3c14800b */ lui $s4,0x800b /* f183000: 86c20002 */ lh $v0,0x2($s6) /* f183004: 26520001 */ addiu $s2,$s2,0x1 .L0f183008: @@ -13636,7 +13636,7 @@ glabel func0f182e98 /* f183028: 36524000 */ ori $s2,$s2,0x4000 /* f18302c: 36732000 */ ori $s3,$s3,0x2000 /* f183030: c4348954 */ lwc1 $f20,%lo(var7f1b8954)($at) -/* f183034: 2694c11c */ addiu $s4,$s4,%lo(var800ac11c) +/* f183034: 2694c11c */ addiu $s4,$s4,-16100 /* f183038: 4406a000 */ mfc1 $a2,$f20 .L0f18303c: /* f18303c: 24040156 */ addiu $a0,$zero,0x156 @@ -13823,12 +13823,12 @@ glabel func0f1830a4 /* f1832b4: 00001825 */ or $v1,$zero,$zero /* f1832b8: 00001025 */ or $v0,$zero,$zero /* f1832bc: 11400003 */ beqz $t2,.L0f1832cc -/* f1832c0: 3c18800b */ lui $t8,%hi(var800ac4d0) +/* f1832c0: 3c18800b */ lui $t8,%hi(g_MpPlayerChrs) /* f1832c4: 10000001 */ beqz $zero,.L0f1832cc /* f1832c8: 24050001 */ addiu $a1,$zero,0x1 .L0f1832cc: /* f1832cc: 8e2b0064 */ lw $t3,0x64($s1) -/* f1832d0: 2718c4d0 */ addiu $t8,$t8,%lo(var800ac4d0) +/* f1832d0: 2718c4d0 */ addiu $t8,$t8,%lo(g_MpPlayerChrs) /* f1832d4: 11600003 */ beqz $t3,.L0f1832e4 /* f1832d8: 00000000 */ sll $zero,$zero,0x0 /* f1832dc: 10000001 */ beqz $zero,.L0f1832e4 @@ -14605,11 +14605,11 @@ glabel func0f183d10 /* f183de8: 3c16800a */ lui $s6,%hi(g_Vars) /* f183dec: 3c10800b */ lui $s0,%hi(var800ac110) /* f183df0: 3c158008 */ lui $s5,%hi(mpteamcolors) -/* f183df4: 3c14800b */ lui $s4,%hi(var800ac11c) +/* f183df4: 3c14800b */ lui $s4,0x800b /* f183df8: 4481b000 */ mtc1 $at,$f22 /* f183dfc: 4480a000 */ mtc1 $zero,$f20 /* f183e00: 26d69fc0 */ addiu $s6,$s6,%lo(g_Vars) -/* f183e04: 2694c11c */ addiu $s4,$s4,%lo(var800ac11c) +/* f183e04: 2694c11c */ addiu $s4,$s4,-16100 /* f183e08: 26b57cc4 */ addiu $s5,$s5,%lo(mpteamcolors) /* f183e0c: 2610c110 */ addiu $s0,$s0,%lo(var800ac110) /* f183e10: 27b30088 */ addiu $s3,$sp,0x88 @@ -14998,8 +14998,8 @@ glabel func0f184344 /* f184374: 1000000b */ beqz $zero,.L0f1843a4 /* f184378: 24020001 */ addiu $v0,$zero,0x1 .L0f18437c: -/* f18437c: 3c03800b */ lui $v1,%hi(var800ac11c) -/* f184380: 2463c11c */ addiu $v1,$v1,%lo(var800ac11c) +/* f18437c: 3c03800b */ lui $v1,0x800b +/* f184380: 2463c11c */ addiu $v1,$v1,-16100 /* f184384: 8cb90080 */ lw $t9,0x80($a1) .L0f184388: /* f184388: 24a5000c */ addiu $a1,$a1,0xc @@ -15050,8 +15050,8 @@ glabel func0f1843d4 /* f184418: a440001e */ sh $zero,0x1e($v0) /* f18441c: 1443fffd */ bne $v0,$v1,.L0f184414 /* f184420: a4400036 */ sh $zero,0x36($v0) -/* f184424: 3c13800b */ lui $s3,%hi(var800ac530) -/* f184428: 2673c530 */ addiu $s3,$s3,%lo(var800ac530) +/* f184424: 3c13800b */ lui $s3,%hi(g_MpNumPlayers) +/* f184428: 2673c530 */ addiu $s3,$s3,%lo(g_MpNumPlayers) /* f18442c: 8e640000 */ lw $a0,0x0($s3) /* f184430: 00008825 */ or $s1,$zero,$zero /* f184434: 1880001f */ blez $a0,.L0f1844b4 @@ -16362,8 +16362,8 @@ glabel func0f185568 /* f185608: 00403025 */ or $a2,$v0,$zero /* f18560c: 3c03800b */ lui $v1,0x800b /* f185610: 8c63c530 */ lw $v1,-0x3ad0($v1) -/* f185614: 3c10800b */ lui $s0,%hi(var800ac4d0) -/* f185618: 2610c4d0 */ addiu $s0,$s0,%lo(var800ac4d0) +/* f185614: 3c10800b */ lui $s0,%hi(g_MpPlayerChrs) +/* f185618: 2610c4d0 */ addiu $s0,$s0,%lo(g_MpPlayerChrs) /* f18561c: 18600018 */ blez $v1,.L0f185680 /* f185620: 00008825 */ or $s1,$zero,$zero .L0f185624: @@ -17258,8 +17258,8 @@ glabel func0f18620c /* f1862a4: 1420fff5 */ bnez $at,.L0f18627c /* f1862a8: 24c60010 */ addiu $a2,$a2,0x10 /* f1862ac: 3c02800b */ lui $v0,%hi(var800ac110) -/* f1862b0: 3c03800b */ lui $v1,%hi(var800ac118) -/* f1862b4: 2463c118 */ addiu $v1,$v1,%lo(var800ac118) +/* f1862b0: 3c03800b */ lui $v1,0x800b +/* f1862b4: 2463c118 */ addiu $v1,$v1,-16104 /* f1862b8: 2442c110 */ addiu $v0,$v0,%lo(var800ac110) .L0f1862bc: /* f1862bc: 24420002 */ addiu $v0,$v0,0x2 diff --git a/src/game/game_187770.c b/src/game/game_187770.c index a4a23cde6..3e3605b8d 100644 --- a/src/game/game_187770.c +++ b/src/game/game_187770.c @@ -374,8 +374,8 @@ glabel func0f187944 /* f18794c: 3c15800a */ lui $s5,%hi(g_Vars) /* f187950: 26b59fc0 */ addiu $s5,$s5,%lo(g_Vars) /* f187954: 8eae0298 */ lw $t6,0x298($s5) -/* f187958: 3c03800b */ lui $v1,%hi(var800ac530) -/* f18795c: 2463c530 */ addiu $v1,$v1,%lo(var800ac530) +/* f187958: 3c03800b */ lui $v1,%hi(g_MpNumPlayers) +/* f18795c: 2463c530 */ addiu $v1,$v1,%lo(g_MpNumPlayers) /* f187960: afb2001c */ sw $s2,0x1c($sp) /* f187964: 24020001 */ addiu $v0,$zero,0x1 /* f187968: afbf002c */ sw $ra,0x2c($sp) @@ -397,9 +397,9 @@ glabel func0f187944 .L0f1879a4: /* f1879a4: 0fc63319 */ jal func0f18cc64 /* f1879a8: aea00470 */ sw $zero,0x470($s5) -/* f1879ac: 3c03800b */ lui $v1,%hi(var800ac530) +/* f1879ac: 3c03800b */ lui $v1,%hi(g_MpNumPlayers) /* f1879b0: 10400003 */ beqz $v0,.L0f1879c0 -/* f1879b4: 2463c530 */ addiu $v1,$v1,%lo(var800ac530) +/* f1879b4: 2463c530 */ addiu $v1,$v1,%lo(g_MpNumPlayers) /* f1879b8: 24180001 */ addiu $t8,$zero,0x1 /* f1879bc: aeb8031c */ sw $t8,0x31c($s5) .L0f1879c0: @@ -589,8 +589,8 @@ glabel func0f187944 /* f187c58: a2200046 */ sb $zero,0x46($s1) /* f187c5c: 0fc62864 */ jal func0f18a190 /* f187c60: 02202025 */ or $a0,$s1,$zero -/* f187c64: 3c03800b */ lui $v1,%hi(var800ac530) -/* f187c68: 2463c530 */ addiu $v1,$v1,%lo(var800ac530) +/* f187c64: 3c03800b */ lui $v1,%hi(g_MpNumPlayers) +/* f187c68: 2463c530 */ addiu $v1,$v1,%lo(g_MpNumPlayers) /* f187c6c: 8c6a0000 */ lw $t2,0x0($v1) /* f187c70: 92290095 */ lbu $t1,0x95($s1) /* f187c74: 26520001 */ addiu $s2,$s2,0x1 @@ -603,8 +603,8 @@ glabel func0f187944 /* f187c8c: 1601ffe4 */ bne $s0,$at,.L0f187c20 /* f187c90: 00000000 */ sll $zero,$zero,0x0 .L0f187c94: -/* f187c94: 3c11800b */ lui $s1,%hi(var800ac4d0) -/* f187c98: 2631c4d0 */ addiu $s1,$s1,%lo(var800ac4d0) +/* f187c94: 3c11800b */ lui $s1,%hi(g_MpPlayerChrs) +/* f187c98: 2631c4d0 */ addiu $s1,$s1,%lo(g_MpPlayerChrs) /* f187c9c: 00008025 */ or $s0,$zero,$zero /* f187ca0: 2412000c */ addiu $s2,$zero,0xc .L0f187ca4: @@ -747,10 +747,10 @@ glabel func0f187e70 /* f187e90: 24020001 */ addiu $v0,$zero,0x1 .L0f187e94: /* f187e94: 8caf0068 */ lw $t7,0x68($a1) -/* f187e98: 3c0e800b */ lui $t6,%hi(var800ac4d0) +/* f187e98: 3c0e800b */ lui $t6,%hi(g_MpPlayerChrs) /* f187e9c: 00002025 */ or $a0,$zero,$zero /* f187ea0: 11e00003 */ beqz $t7,.L0f187eb0 -/* f187ea4: 25cec4d0 */ addiu $t6,$t6,%lo(var800ac4d0) +/* f187ea4: 25cec4d0 */ addiu $t6,$t6,%lo(g_MpPlayerChrs) /* f187ea8: 10000001 */ beqz $zero,.L0f187eb0 /* f187eac: 24030001 */ addiu $v1,$zero,0x1 .L0f187eb0: @@ -780,8 +780,8 @@ glabel func0f187e70 /* f187f04: 01ae1021 */ addu $v0,$t5,$t6 /* f187f08: 8c430000 */ lw $v1,0x0($v0) .L0f187f0c: -/* f187f0c: 3c18800b */ lui $t8,%hi(var800ac4d0) -/* f187f10: 2718c4d0 */ addiu $t8,$t8,%lo(var800ac4d0) +/* f187f0c: 3c18800b */ lui $t8,%hi(g_MpPlayerChrs) +/* f187f10: 2718c4d0 */ addiu $t8,$t8,%lo(g_MpPlayerChrs) /* f187f14: 14600003 */ bnez $v1,.L0f187f24 /* f187f18: 00097880 */ sll $t7,$t1,0x2 /* f187f1c: 10000021 */ beqz $zero,.L0f187fa4 @@ -799,8 +799,8 @@ glabel func0f187e70 /* f187f48: 18e00011 */ blez $a3,.L0f187f90 /* f187f4c: 00002025 */ or $a0,$zero,$zero /* f187f50: 8c430000 */ lw $v1,0x0($v0) -/* f187f54: 3c08800b */ lui $t0,%hi(var800ac4d0) -/* f187f58: 2508c4d0 */ addiu $t0,$t0,%lo(var800ac4d0) +/* f187f54: 3c08800b */ lui $t0,%hi(g_MpPlayerChrs) +/* f187f58: 2508c4d0 */ addiu $t0,$t0,%lo(g_MpPlayerChrs) /* f187f5c: 90650125 */ lbu $a1,0x125($v1) .L0f187f60: /* f187f60: 8d0f0000 */ lw $t7,0x0($t0) @@ -818,8 +818,8 @@ glabel func0f187e70 /* f187f8c: 25080004 */ addiu $t0,$t0,0x4 .L0f187f90: /* f187f90: 8d29c530 */ lw $t1,-0x3ad0($t1) -/* f187f94: 3c0d800b */ lui $t5,%hi(var800ac4d0) -/* f187f98: 25adc4d0 */ addiu $t5,$t5,%lo(var800ac4d0) +/* f187f94: 3c0d800b */ lui $t5,%hi(g_MpPlayerChrs) +/* f187f98: 25adc4d0 */ addiu $t5,$t5,%lo(g_MpPlayerChrs) /* f187f9c: 00096080 */ sll $t4,$t1,0x2 /* f187fa0: 018d1821 */ addu $v1,$t4,$t5 .L0f187fa4: @@ -6802,8 +6802,8 @@ GLOBAL_ASM( glabel func0f18cff8 /* f18cff8: 3c02800b */ lui $v0,0x800b /* f18cffc: 8c42c530 */ lw $v0,-0x3ad0($v0) -/* f18d000: 3c05800b */ lui $a1,%hi(var800ac4d0) -/* f18d004: 24a5c4d0 */ addiu $a1,$a1,%lo(var800ac4d0) +/* f18d000: 3c05800b */ lui $a1,%hi(g_MpPlayerChrs) +/* f18d004: 24a5c4d0 */ addiu $a1,$a1,%lo(g_MpPlayerChrs) /* f18d008: 1840000a */ blez $v0,.L0f18d034 /* f18d00c: 00001825 */ or $v1,$zero,$zero .L0f18d010: @@ -13656,8 +13656,8 @@ glabel func0f192e90 /* f193108: 0440001b */ bltz $v0,.L0f193178 /* f19310c: 0262c821 */ addu $t9,$s3,$v0 /* f193110: 932c016c */ lbu $t4,0x16c($t9) -/* f193114: 3c10800b */ lui $s0,%hi(var800ac4d0) -/* f193118: 2610c4d0 */ addiu $s0,$s0,%lo(var800ac4d0) +/* f193114: 3c10800b */ lui $s0,%hi(g_MpPlayerChrs) +/* f193118: 2610c4d0 */ addiu $s0,$s0,%lo(g_MpPlayerChrs) /* f19311c: 11800016 */ beqz $t4,.L0f193178 /* f193120: 00027080 */ sll $t6,$v0,0x2 /* f193124: 020e7821 */ addu $t7,$s0,$t6 @@ -13922,10 +13922,10 @@ glabel func0f192e90 GLOBAL_ASM( glabel func0f1934dc -/* f1934dc: 3c08800b */ lui $t0,%hi(var800ac4d0) +/* f1934dc: 3c08800b */ lui $t0,%hi(g_MpPlayerChrs) /* f1934e0: 00803025 */ or $a2,$a0,$zero /* f1934e4: 24030001 */ addiu $v1,$zero,0x1 -/* f1934e8: 2508c4d0 */ addiu $t0,$t0,%lo(var800ac4d0) +/* f1934e8: 2508c4d0 */ addiu $t0,$t0,%lo(g_MpPlayerChrs) /* f1934ec: 24070032 */ addiu $a3,$zero,0x32 /* f1934f0: 8ca202d4 */ lw $v0,0x2d4($a1) .L0f1934f4: @@ -13976,9 +13976,9 @@ glabel func0f193530 /* f193590: 0041001b */ divu $zero,$v0,$at /* f193594: 8e4902d4 */ lw $t1,0x2d4($s2) /* f193598: 00004010 */ mfhi $t0 -/* f19359c: 3c15800b */ lui $s5,%hi(var800ac530) +/* f19359c: 3c15800b */ lui $s5,%hi(g_MpNumPlayers) /* f1935a0: 912a0000 */ lbu $t2,0x0($t1) -/* f1935a4: 26b5c530 */ addiu $s5,$s5,%lo(var800ac530) +/* f1935a4: 26b5c530 */ addiu $s5,$s5,%lo(g_MpNumPlayers) /* f1935a8: 010a082b */ sltu $at,$t0,$t2 /* f1935ac: 50200031 */ beqzl $at,.L0f193674 /* f1935b0: 8fbf0034 */ lw $ra,0x34($sp) @@ -13987,8 +13987,8 @@ glabel func0f193530 /* f1935bc: 2414ffff */ addiu $s4,$zero,-1 /* f1935c0: 19600024 */ blez $t3,.L0f193654 /* f1935c4: 00008025 */ or $s0,$zero,$zero -/* f1935c8: 3c11800b */ lui $s1,%hi(var800ac4d0) -/* f1935cc: 2631c4d0 */ addiu $s1,$s1,%lo(var800ac4d0) +/* f1935c8: 3c11800b */ lui $s1,%hi(g_MpPlayerChrs) +/* f1935cc: 2631c4d0 */ addiu $s1,$s1,%lo(g_MpPlayerChrs) /* f1935d0: 00009825 */ or $s3,$zero,$zero .L0f1935d4: /* f1935d4: 8e250000 */ lw $a1,0x0($s1) @@ -14154,7 +14154,7 @@ glabel func0f1937a4 /* f193814: 852a0028 */ lh $t2,0x28($t1) /* f193818: 554b000e */ bnel $t2,$t3,.L0f193854 /* f19381c: 03c02025 */ or $a0,$s8,$zero -/* f193820: 0fc65241 */ jal func0f194904 +/* f193820: 0fc65241 */ jal mpGetNumTeammatesInRoomDoingSomething /* f193824: 00000000 */ sll $zero,$zero,0x0 /* f193828: 00408025 */ or $s0,$v0,$zero /* f19382c: 0fc65264 */ jal func0f194990 @@ -15261,8 +15261,8 @@ glabel func0f194724 /* f194778: 24040001 */ addiu $a0,$zero,0x1 .L0f19477c: /* f19477c: 8cf80064 */ lw $t8,0x64($a3) -/* f194780: 3c0d800b */ lui $t5,%hi(var800ac4d0) -/* f194784: 25adc4d0 */ addiu $t5,$t5,%lo(var800ac4d0) +/* f194780: 3c0d800b */ lui $t5,%hi(g_MpPlayerChrs) +/* f194784: 25adc4d0 */ addiu $t5,$t5,%lo(g_MpPlayerChrs) /* f194788: 13000003 */ beqz $t8,.L0f194798 /* f19478c: 00003025 */ or $a2,$zero,$zero /* f194790: 10000001 */ beqz $zero,.L0f194798 @@ -15377,47 +15377,21 @@ glabel func0f19489c /* f194900: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f194904 -/* f194904: 3c05800b */ lui $a1,0x800b -/* f194908: 8ca5c530 */ lw $a1,-0x3ad0($a1) -/* f19490c: 3c0e800b */ lui $t6,0x800b -/* f194910: 00001825 */ or $v1,$zero,$zero -/* f194914: 18a0001c */ blez $a1,.L0f194988 -/* f194918: 25c6c4d0 */ addiu $a2,$t6,-15152 -/* f19491c: 00057880 */ sll $t7,$a1,0x2 -/* f194920: 3c08800b */ lui $t0,%hi(var800ac110) -/* f194924: 2508c110 */ addiu $t0,$t0,%lo(var800ac110) -/* f194928: 01e63821 */ addu $a3,$t7,$a2 -/* f19492c: 90820125 */ lbu $v0,0x125($a0) -/* f194930: 240a000a */ addiu $t2,$zero,0xa -/* f194934: 24090009 */ addiu $t1,$zero,0x9 -/* f194938: 8cc40000 */ lw $a0,0x0($a2) -.L0f19493c: -/* f19493c: 24c60004 */ addiu $a2,$a2,0x4 -/* f194940: 00c7082b */ sltu $at,$a2,$a3 -/* f194944: 90980125 */ lbu $t8,0x125($a0) -/* f194948: 1458000d */ bne $v0,$t8,.L0f194980 -/* f19494c: 00000000 */ sll $zero,$zero,0x0 -/* f194950: 8c99001c */ lw $t9,0x1c($a0) -/* f194954: 850c000e */ lh $t4,0xe($t0) -/* f194958: 872b0028 */ lh $t3,0x28($t9) -/* f19495c: 156c0008 */ bne $t3,$t4,.L0f194980 -/* f194960: 00000000 */ sll $zero,$zero,0x0 -/* f194964: 8c8d02d4 */ lw $t5,0x2d4($a0) -/* f194968: 91a50079 */ lbu $a1,0x79($t5) -/* f19496c: 51250004 */ beql $t1,$a1,.L0f194980 -/* f194970: 24630001 */ addiu $v1,$v1,0x1 -/* f194974: 15450002 */ bne $t2,$a1,.L0f194980 -/* f194978: 00000000 */ sll $zero,$zero,0x0 -/* f19497c: 24630001 */ addiu $v1,$v1,0x1 -.L0f194980: -/* f194980: 5420ffee */ bnezl $at,.L0f19493c -/* f194984: 8cc40000 */ lw $a0,0x0($a2) -.L0f194988: -/* f194988: 03e00008 */ jr $ra -/* f19498c: 00601025 */ or $v0,$v1,$zero -); +s32 mpGetNumTeammatesInRoomDoingSomething(struct chrdata *bot) +{ + s32 count = 0; + s32 i; + + for (i = 0; i < g_MpNumPlayers; i++) { + if (bot->team == g_MpPlayerChrs[i]->team && g_MpPlayerChrs[i]->prop->rooms[0] == var800ac110[7]) { + if (g_MpPlayerChrs[i]->unk2d4->unk79 == 9 || g_MpPlayerChrs[i]->unk2d4->unk79 == 10) { + count++; + } + } + } + + return count; +} GLOBAL_ASM( glabel func0f194990 @@ -15451,7 +15425,7 @@ glabel func0f194990 /* f1949fc: ade10008 */ sw $at,0x8($t7) /* f194a00: 8f010010 */ lw $at,0x10($t8) /* f194a04: 8f090014 */ lw $t1,0x14($t8) -/* f194a08: 3c11800b */ lui $s1,%hi(var800ac4d0) +/* f194a08: 3c11800b */ lui $s1,%hi(g_MpPlayerChrs) /* f194a0c: ade10010 */ sw $at,0x10($t7) /* f194a10: ade90014 */ sw $t1,0x14($t7) /* f194a14: 8f09001c */ lw $t1,0x1c($t8) @@ -15460,7 +15434,7 @@ glabel func0f194990 /* f194a20: ade9001c */ sw $t1,0x1c($t7) /* f194a24: ade10018 */ sw $at,0x18($t7) /* f194a28: 8d4ac530 */ lw $t2,-0x3ad0($t2) -/* f194a2c: 2631c4d0 */ addiu $s1,$s1,%lo(var800ac4d0) +/* f194a2c: 2631c4d0 */ addiu $s1,$s1,%lo(g_MpPlayerChrs) /* f194a30: 00008025 */ or $s0,$zero,$zero /* f194a34: 1940002b */ blez $t2,.L0f194ae4 /* f194a38: 2417004c */ addiu $s7,$zero,0x4c @@ -16024,7 +15998,7 @@ glabel func0f194b40 /* f195204: 24010004 */ addiu $at,$zero,0x4 /* f195208: 54610034 */ bnel $v1,$at,.L0f1952dc /* f19520c: 24010005 */ addiu $at,$zero,0x5 -/* f195210: 0fc65241 */ jal func0f194904 +/* f195210: 0fc65241 */ jal mpGetNumTeammatesInRoomDoingSomething /* f195214: 02802025 */ or $a0,$s4,$zero /* f195218: 8e98001c */ lw $t8,0x1c($s4) /* f19521c: 3c09800b */ lui $t1,0x800b @@ -17143,8 +17117,8 @@ glabel func0f194b40 /* f196238: 24010006 */ addiu $at,$zero,0x6 .L0f19623c: /* f19623c: 1441003e */ bne $v0,$at,.L0f196338 -/* f196240: 3c13800b */ lui $s3,%hi(var800ac530) -/* f196244: 2673c530 */ addiu $s3,$s3,%lo(var800ac530) +/* f196240: 3c13800b */ lui $s3,%hi(g_MpNumPlayers) +/* f196244: 2673c530 */ addiu $s3,$s3,%lo(g_MpNumPlayers) /* f196248: 8e690000 */ lw $t1,0x0($s3) /* f19624c: 44805000 */ mtc1 $zero,$f10 /* f196250: 03c08825 */ or $s1,$s8,$zero @@ -17249,9 +17223,9 @@ glabel func0f194b40 /* f1963b4: ae420010 */ sw $v0,0x10($s2) /* f1963b8: 2415002a */ addiu $s5,$zero,0x2a .L0f1963bc: -/* f1963bc: 3c13800b */ lui $s3,%hi(var800ac530) +/* f1963bc: 3c13800b */ lui $s3,%hi(g_MpNumPlayers) /* f1963c0: 06a0007f */ bltz $s5,.L0f1965c0 -/* f1963c4: 2673c530 */ addiu $s3,$s3,%lo(var800ac530) +/* f1963c4: 2673c530 */ addiu $s3,$s3,%lo(g_MpNumPlayers) /* f1963c8: 2401002a */ addiu $at,$zero,0x2a /* f1963cc: 56a1000a */ bnel $s5,$at,.L0f1963f8 /* f1963d0: 2401002f */ addiu $at,$zero,0x2f diff --git a/src/game/game_1999b0.c b/src/game/game_1999b0.c index 3d57ef807..49b77cf76 100644 --- a/src/game/game_1999b0.c +++ b/src/game/game_1999b0.c @@ -591,11 +591,11 @@ glabel func0f199f84 /* f19a058: 2414001e */ addiu $s4,$zero,0x1e /* f19a05c: 19600074 */ blez $t3,.L0f19a230 /* f19a060: 0000a825 */ or $s5,$zero,$zero -/* f19a064: 3c16800b */ lui $s6,%hi(var800ac4d0) +/* f19a064: 3c16800b */ lui $s6,%hi(g_MpPlayerChrs) /* f19a068: 3c017f1c */ lui $at,%hi(var7f1b90a0) /* f19a06c: 4480a000 */ mtc1 $zero,$f20 /* f19a070: c43690a0 */ lwc1 $f22,%lo(var7f1b90a0)($at) -/* f19a074: 26d6c4d0 */ addiu $s6,$s6,%lo(var800ac4d0) +/* f19a074: 26d6c4d0 */ addiu $s6,$s6,%lo(g_MpPlayerChrs) /* f19a078: 8ed00000 */ lw $s0,0x0($s6) .L0f19a07c: /* f19a07c: 24010006 */ addiu $at,$zero,0x6 diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index ca1655f96..eb20a4478 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -30370,10 +30370,7 @@ u32 var800ac100 = 0; u32 var800ac104 = 0; u32 var800ac108 = 0; u32 var800ac10c = 0; -u32 var800ac110 = 0; -u32 var800ac114 = 0; -u32 var800ac118 = 0; -u32 var800ac11c = 0; +s16 var800ac110[8] = {0}; u32 var800ac120 = 0; u32 var800ac124 = 0; u32 var800ac128 = 0; @@ -30610,10 +30607,7 @@ u32 var800ac4c0 = 0; u32 var800ac4c4 = 0; u32 var800ac4c8 = 0; u32 var800ac4cc = 0; -u32 var800ac4d0 = 0; -u32 var800ac4d4 = 0; -u32 var800ac4d8 = 0; -u32 var800ac4dc = 0; +struct chrdata *g_MpPlayerChrs[] = {NULL, NULL, NULL, NULL}; u32 var800ac4e0 = 0; u32 var800ac4e4 = 0; u32 var800ac4e8 = 0; @@ -30634,7 +30628,7 @@ u32 var800ac520 = 0; u32 var800ac524 = 0; u32 var800ac528 = 0; u32 var800ac52c = 0; -u32 var800ac530 = 0; +s32 g_MpNumPlayers = 0; u32 var800ac534 = 0; struct mpsim g_MpSimulants[8] = {0}; u32 var800ac798[8] = {0}; diff --git a/src/include/game/game_187770.h b/src/include/game/game_187770.h index 0bb732175..16e479664 100644 --- a/src/include/game/game_187770.h +++ b/src/include/game/game_187770.h @@ -164,7 +164,7 @@ u32 func0f1946d4(void); u32 func0f194724(void); u32 func0f194834(void); u32 func0f19489c(void); -u32 func0f194904(void); +s32 mpGetNumTeammatesInRoomDoingSomething(struct chrdata *bot); u32 func0f194990(void); u32 func0f194b40(void); void func0f197544(struct chrdata *chr); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index cc9a6c419..c3a7efddd 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -824,7 +824,7 @@ extern u32 var800abdc8; extern u32 var800ac0e8; extern u32 var800ac0f8; extern u32 var800ac108; -extern u32 var800ac110; +extern s16 var800ac110[]; extern u32 var800ac118; extern u32 var800ac11c; extern u32 var800ac120; @@ -840,9 +840,9 @@ extern u32 var800ac390; extern u32 var800ac3f8; extern u32 var800ac460; extern u32 var800ac4cc; -extern u32 var800ac4d0; +extern struct chrdata *g_MpPlayerChrs[]; extern u32 var800ac500; -extern u32 var800ac530; +extern s32 g_MpNumPlayers; extern struct mpsim g_MpSimulants[8]; extern u32 var800ac798[8]; extern struct mpchr g_MpChrs[]; diff --git a/src/include/types.h b/src/include/types.h index 744220cb9..56626492c 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -171,7 +171,8 @@ struct chr2d4 { /*0x6c*/ u32 unk6c; /*0x70*/ u32 unk70; /*0x74*/ u32 unk74; - /*0x78*/ u32 unk78; + /*0x78*/ u8 unk78; + /*0x79*/ u8 unk79; /*0x7c*/ u32 unk7c; /*0x80*/ u32 unk80; /*0x84*/ u32 unk84;