diff --git a/ld/gamefiles.inc b/ld/gamefiles.inc index 5ec8fa05b..b8e7d1fe4 100644 --- a/ld/gamefiles.inc +++ b/ld/gamefiles.inc @@ -179,7 +179,6 @@ build/ROMID/game/mplayer/ingame.o (section); \ build/ROMID/game/mplayer/setup.o (section); \ build/ROMID/game/mplayer/scenarios.o (section); \ - build/ROMID/game/mplayer/options.o (section); \ build/ROMID/game/mplayer/mplayer.o (section); \ build/ROMID/game/data/data_02da90.o (section); \ build/ROMID/game/radar.o (section); \ diff --git a/src/game/mplayer/options.c b/src/game/mplayer/options.c deleted file mode 100644 index 7fb047a22..000000000 --- a/src/game/mplayer/options.c +++ /dev/null @@ -1,2069 +0,0 @@ -#include -#include "constants.h" -#include "game/chr/chraction.h" -#include "game/data/data_000000.h" -#include "game/data/data_0083d0.h" -#include "game/data/data_00e460.h" -#include "game/data/data_0160b0.h" -#include "game/data/data_01a3a0.h" -#include "game/data/data_020df0.h" -#include "game/data/data_02a0e0.h" -#include "game/data/data_02da90.h" -#include "game/dlights.h" -#include "game/game_005fd0.h" -#include "game/game_00c490.h" -#include "game/prop.h" -#include "game/game_092610.h" -#include "game/atan2f.h" -#include "game/game_097ba0.h" -#include "game/game_0b69d0.h" -#include "game/game_0d4690.h" -#include "game/hudmsg.h" -#include "game/game_0f09f0.h" -#include "game/inventory/inventory.h" -#include "game/game_127910.h" -#include "game/game_1531a0.h" -#include "game/mplayer/setup.h" -#include "game/mplayer/scenarios.h" -#include "game/radar.h" -#include "game/game_197600.h" -#include "game/game_19aa80.h" -#include "game/lang.h" -#include "game/mplayer/mplayer.h" -#include "game/pad.h" -#include "game/propobj.h" -#include "gvars/gvars.h" -#include "lib/lib_09660.h" -#include "lib/lib_0e9d0.h" -#include "lib/memory.h" -#include "lib/rng.h" -#include "lib/lib_159b0.h" -#include "lib/lib_16110.h" -#include "lib/lib_233c0.h" -#include "types.h" - -s32 menuhandlerMpOpenOptions(s32 operation, struct menuitem *item, union handlerdata *data) -{ - if (operation == MENUOP_SET) { - menuPushDialog(g_MpScenarios[g_MpSetup.scenario].optionsdialog); - } - - return 0; -} - -void scenarioCallback40(s32 *arg0) -{ - if (g_MpScenarios[g_MpSetup.scenario].unk40) { - g_MpScenarios[g_MpSetup.scenario].unk40(arg0); - } else { - savefileGetInteger(arg0, 8); - } -} - -void scenarioCallback44(s32 *arg0) -{ - if (g_MpScenarios[g_MpSetup.scenario].unk44) { - g_MpScenarios[g_MpSetup.scenario].unk44(arg0); - } else { - savefileGetSomething(arg0, 0, 8); - } -} - -void scenarioInit(void) -{ - if (g_MpScenarios[g_MpSetup.scenario].initfunc) { - g_MpScenarios[g_MpSetup.scenario].initfunc(); - } -} - -s32 scenarioCallback08(void) -{ - s32 result = 0; - - if (g_MpScenarios[g_MpSetup.scenario].unk08) { - result = g_MpScenarios[g_MpSetup.scenario].unk08(); - } - - return result; -} - -void scenarioReset(void) -{ - if (g_MpScenarios[g_MpSetup.scenario].resetfunc) { - g_MpScenarios[g_MpSetup.scenario].resetfunc(); - } -} - -GLOBAL_ASM( -glabel func0f185568 -/* f185568: 27bdff40 */ addiu $sp,$sp,-192 -/* f18556c: afb40024 */ sw $s4,0x24($sp) -/* f185570: 3c14800b */ lui $s4,%hi(g_MpSetup+0x28) -/* f185574: 2694cbb0 */ addiu $s4,$s4,%lo(g_MpSetup+0x28) -/* f185578: 928f0060 */ lbu $t7,0x60($s4) -/* f18557c: 3c0e800a */ lui $t6,%hi(g_Vars+0x28c) -/* f185580: 8dcea24c */ lw $t6,%lo(g_Vars+0x28c)($t6) -/* f185584: afb30020 */ sw $s3,0x20($sp) -/* f185588: 24130005 */ addiu $s3,$zero,0x5 -/* f18558c: afbf002c */ sw $ra,0x2c($sp) -/* f185590: afb50028 */ sw $s5,0x28($sp) -/* f185594: afb2001c */ sw $s2,0x1c($sp) -/* f185598: afb10018 */ sw $s1,0x18($sp) -/* f18559c: afb00014 */ sw $s0,0x14($sp) -/* f1855a0: 166f000a */ bne $s3,$t7,.L0f1855cc -/* f1855a4: afae00b8 */ sw $t6,0xb8($sp) -/* f1855a8: 0fc66dfd */ jal mpGetCurrentChallengeIndex -/* f1855ac: 00000000 */ nop -/* f1855b0: 0fc66dbe */ jal mpGetChallengeNameBySlot -/* f1855b4: 00402025 */ or $a0,$v0,$zero -/* f1855b8: 3c057f1c */ lui $a1,%hi(var7f1b88d0) -/* f1855bc: 24a588d0 */ addiu $a1,$a1,%lo(var7f1b88d0) -/* f1855c0: 27a4007c */ addiu $a0,$sp,0x7c -/* f1855c4: 0c004dad */ jal sprintf -/* f1855c8: 00403025 */ or $a2,$v0,$zero -.L0f1855cc: -/* f1855cc: 3c18800b */ lui $t8,%hi(g_MpSetup+0x10) -/* f1855d0: 9318cb98 */ lbu $t8,%lo(g_MpSetup+0x10)($t8) -/* f1855d4: 3c048008 */ lui $a0,%hi(g_MpScenarioOverviews) -/* f1855d8: 27b5007c */ addiu $s5,$sp,0x7c -/* f1855dc: 0018c880 */ sll $t9,$t8,0x2 -/* f1855e0: 0338c823 */ subu $t9,$t9,$t8 -/* f1855e4: 0019c840 */ sll $t9,$t9,0x1 -/* f1855e8: 00992021 */ addu $a0,$a0,$t9 -/* f1855ec: 0fc5b9f1 */ jal langGet -/* f1855f0: 94847148 */ lhu $a0,%lo(g_MpScenarioOverviews)($a0) -/* f1855f4: 27b20040 */ addiu $s2,$sp,0x40 -/* f1855f8: 3c057f1c */ lui $a1,%hi(var7f1b88d8) -/* f1855fc: 24a588d8 */ addiu $a1,$a1,%lo(var7f1b88d8) -/* f185600: 02402025 */ or $a0,$s2,$zero -/* f185604: 0c004dad */ jal sprintf -/* f185608: 00403025 */ or $a2,$v0,$zero -/* f18560c: 3c03800b */ lui $v1,%hi(g_MpNumPlayers) -/* f185610: 8c63c530 */ lw $v1,%lo(g_MpNumPlayers)($v1) -/* 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: -/* f185624: 8e080000 */ lw $t0,0x0($s0) -/* f185628: 8d0902d4 */ lw $t1,0x2d4($t0) -/* f18562c: 55200011 */ bnezl $t1,.L0f185674 -/* f185630: 26310001 */ addiu $s1,$s1,0x1 -/* f185634: 0fc4a24b */ jal setCurrentPlayerNum -/* f185638: 02202025 */ or $a0,$s1,$zero -/* f18563c: 928a0060 */ lbu $t2,0x60($s4) -/* f185640: 02a02025 */ or $a0,$s5,$zero -/* f185644: 00002825 */ or $a1,$zero,$zero -/* f185648: 566a0004 */ bnel $s3,$t2,.L0f18565c -/* f18564c: 02402025 */ or $a0,$s2,$zero -/* f185650: 0fc377e9 */ jal func0f0ddfa4 -/* f185654: 24060001 */ addiu $a2,$zero,0x1 -/* f185658: 02402025 */ or $a0,$s2,$zero -.L0f18565c: -/* f18565c: 00002825 */ or $a1,$zero,$zero -/* f185660: 0fc377e9 */ jal func0f0ddfa4 -/* f185664: 24060001 */ addiu $a2,$zero,0x1 -/* f185668: 3c03800b */ lui $v1,%hi(g_MpNumPlayers) -/* f18566c: 8c63c530 */ lw $v1,%lo(g_MpNumPlayers)($v1) -/* f185670: 26310001 */ addiu $s1,$s1,0x1 -.L0f185674: -/* f185674: 0223082a */ slt $at,$s1,$v1 -/* f185678: 1420ffea */ bnez $at,.L0f185624 -/* f18567c: 26100004 */ addiu $s0,$s0,0x4 -.L0f185680: -/* f185680: 0fc4a24b */ jal setCurrentPlayerNum -/* f185684: 8fa400b8 */ lw $a0,0xb8($sp) -/* f185688: 8fbf002c */ lw $ra,0x2c($sp) -/* f18568c: 8fb00014 */ lw $s0,0x14($sp) -/* f185690: 8fb10018 */ lw $s1,0x18($sp) -/* f185694: 8fb2001c */ lw $s2,0x1c($sp) -/* f185698: 8fb30020 */ lw $s3,0x20($sp) -/* f18569c: 8fb40024 */ lw $s4,0x24($sp) -/* f1856a0: 8fb50028 */ lw $s5,0x28($sp) -/* f1856a4: 03e00008 */ jr $ra -/* f1856a8: 27bd00c0 */ addiu $sp,$sp,0xc0 -); - -void scenarioTick(void) -{ - if (g_Vars.normmplayerisrunning) { - if (g_Vars.lvframenum == 5) { - func0f185568(); - } - - if (g_MpScenarios[g_MpSetup.scenario].tickfunc) { - g_MpScenarios[g_MpSetup.scenario].tickfunc(); - } - } -} - -void scenarioCallback14(struct chrdata *chr) -{ - if (g_Vars.normmplayerisrunning && g_MpScenarios[g_MpSetup.scenario].unk14) { - g_MpScenarios[g_MpSetup.scenario].unk14(chr); - } -} - -GLOBAL_ASM( -glabel func0f185774 -/* f185774: 3c09800a */ lui $t1,%hi(g_Vars) -/* f185778: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars) -/* f18577c: 8d2e0318 */ lw $t6,0x318($t1) -/* f185780: 27bdffd0 */ addiu $sp,$sp,-48 -/* f185784: afbf0014 */ sw $ra,0x14($sp) -/* f185788: 11c0011d */ beqz $t6,.L0f185c00 -/* f18578c: 00802825 */ or $a1,$a0,$zero -/* f185790: 3c0a800b */ lui $t2,%hi(g_MpSetup) -/* f185794: 254acb88 */ addiu $t2,$t2,%lo(g_MpSetup) -/* f185798: 914f0010 */ lbu $t7,0x10($t2) -/* f18579c: 240b0048 */ addiu $t3,$zero,0x48 -/* f1857a0: 3c088008 */ lui $t0,%hi(g_MpScenarios) -/* f1857a4: 01eb0019 */ multu $t7,$t3 -/* f1857a8: 25086f98 */ addiu $t0,$t0,%lo(g_MpScenarios) -/* f1857ac: 0000c012 */ mflo $t8 -/* f1857b0: 0118c821 */ addu $t9,$t0,$t8 -/* f1857b4: 8f2c0018 */ lw $t4,0x18($t9) -/* f1857b8: 51800041 */ beqzl $t4,.L0f1858c0 -/* f1857bc: 8d2d006c */ lw $t5,0x6c($t1) -/* f1857c0: 914d001e */ lbu $t5,0x1e($t2) -/* f1857c4: 24010002 */ addiu $at,$zero,0x2 -/* f1857c8: 3c0e8008 */ lui $t6,%hi(g_NumReasonsToEndMpMatch) -/* f1857cc: 51a1003c */ beql $t5,$at,.L0f1858c0 -/* f1857d0: 8d2d006c */ lw $t5,0x6c($t1) -/* f1857d4: 8dce4038 */ lw $t6,%lo(g_NumReasonsToEndMpMatch)($t6) -/* f1857d8: 3c0fba00 */ lui $t7,0xba00 -/* f1857dc: 35ef0c02 */ ori $t7,$t7,0xc02 -/* f1857e0: 15c00036 */ bnez $t6,.L0f1858bc -/* f1857e4: 24830008 */ addiu $v1,$a0,0x8 -/* f1857e8: ac8f0000 */ sw $t7,0x0($a0) -/* f1857ec: ac800004 */ sw $zero,0x4($a0) -/* f1857f0: 3c18ba00 */ lui $t8,0xba00 -/* f1857f4: 37180602 */ ori $t8,$t8,0x602 -/* f1857f8: 241900c0 */ addiu $t9,$zero,0xc0 -/* f1857fc: ac790004 */ sw $t9,0x4($v1) -/* f185800: ac780000 */ sw $t8,0x0($v1) -/* f185804: 24640008 */ addiu $a0,$v1,0x8 -/* f185808: 3c0cb600 */ lui $t4,0xb600 -/* f18580c: 240d0001 */ addiu $t5,$zero,0x1 -/* f185810: ac8d0004 */ sw $t5,0x4($a0) -/* f185814: ac8c0000 */ sw $t4,0x0($a0) -/* f185818: 24850008 */ addiu $a1,$a0,0x8 -/* f18581c: 3c0ee700 */ lui $t6,0xe700 -/* f185820: acae0000 */ sw $t6,0x0($a1) -/* f185824: 24a70008 */ addiu $a3,$a1,0x8 -/* f185828: 3c0fba00 */ lui $t7,0xba00 -/* f18582c: aca00004 */ sw $zero,0x4($a1) -/* f185830: 35ef1301 */ ori $t7,$t7,0x1301 -/* f185834: acef0000 */ sw $t7,0x0($a3) -/* f185838: 24e20008 */ addiu $v0,$a3,0x8 -/* f18583c: ace00004 */ sw $zero,0x4($a3) -/* f185840: 3c18ba00 */ lui $t8,0xba00 -/* f185844: 37181402 */ ori $t8,$t8,0x1402 -/* f185848: 24430008 */ addiu $v1,$v0,0x8 -/* f18584c: 3c190030 */ lui $t9,0x30 -/* f185850: ac590004 */ sw $t9,0x4($v0) -/* f185854: ac580000 */ sw $t8,0x0($v0) -/* f185858: 3c0cb900 */ lui $t4,0xb900 -/* f18585c: 3c0d0f0a */ lui $t5,0xf0a -/* f185860: 35ad4000 */ ori $t5,$t5,0x4000 -/* f185864: 358c031d */ ori $t4,$t4,0x31d -/* f185868: ac6c0000 */ sw $t4,0x0($v1) -/* f18586c: ac6d0004 */ sw $t5,0x4($v1) -/* f185870: 24660008 */ addiu $a2,$v1,0x8 -/* f185874: 3c0eba00 */ lui $t6,0xba00 -/* f185878: 35ce1701 */ ori $t6,$t6,0x1701 -/* f18587c: 3c0f0080 */ lui $t7,0x80 -/* f185880: accf0004 */ sw $t7,0x4($a2) -/* f185884: acce0000 */ sw $t6,0x0($a2) -/* f185888: 91580010 */ lbu $t8,0x10($t2) -/* f18588c: 24c40008 */ addiu $a0,$a2,0x8 -/* f185890: 030b0019 */ multu $t8,$t3 -/* f185894: 0000c812 */ mflo $t9 -/* f185898: 01196021 */ addu $t4,$t0,$t9 -/* f18589c: 8d990018 */ lw $t9,0x18($t4) -/* f1858a0: 0320f809 */ jalr $t9 -/* f1858a4: 00000000 */ nop -/* f1858a8: 3c09800a */ lui $t1,%hi(g_Vars) -/* f1858ac: 3c0a800b */ lui $t2,%hi(g_MpSetup) -/* f1858b0: 254acb88 */ addiu $t2,$t2,%lo(g_MpSetup) -/* f1858b4: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars) -/* f1858b8: 00402825 */ or $a1,$v0,$zero -.L0f1858bc: -/* f1858bc: 8d2d006c */ lw $t5,0x6c($t1) -.L0f1858c0: -/* f1858c0: 00004025 */ or $t0,$zero,$zero -/* f1858c4: 00003025 */ or $a2,$zero,$zero -/* f1858c8: 11a00003 */ beqz $t5,.L0f1858d8 -/* f1858cc: 00003825 */ or $a3,$zero,$zero -/* f1858d0: 10000001 */ b .L0f1858d8 -/* f1858d4: 24080001 */ addiu $t0,$zero,0x1 -.L0f1858d8: -/* f1858d8: 8d2e0068 */ lw $t6,0x68($t1) -/* f1858dc: 00001025 */ or $v0,$zero,$zero -/* f1858e0: 11c00003 */ beqz $t6,.L0f1858f0 -/* f1858e4: 00000000 */ nop -/* f1858e8: 10000001 */ b .L0f1858f0 -/* f1858ec: 24060001 */ addiu $a2,$zero,0x1 -.L0f1858f0: -/* f1858f0: 8d2f0064 */ lw $t7,0x64($t1) -/* f1858f4: 11e00003 */ beqz $t7,.L0f185904 -/* f1858f8: 00000000 */ nop -/* f1858fc: 10000001 */ b .L0f185904 -/* f185900: 24070001 */ addiu $a3,$zero,0x1 -.L0f185904: -/* f185904: 8d380070 */ lw $t8,0x70($t1) -/* f185908: 13000003 */ beqz $t8,.L0f185918 -/* f18590c: 00000000 */ nop -/* f185910: 10000001 */ b .L0f185918 -/* f185914: 24020001 */ addiu $v0,$zero,0x1 -.L0f185918: -/* f185918: 8d44000c */ lw $a0,0xc($t2) -/* f18591c: 00476021 */ addu $t4,$v0,$a3 -/* f185920: 0186c821 */ addu $t9,$t4,$a2 -/* f185924: 03281821 */ addu $v1,$t9,$t0 -/* f185928: 308d0002 */ andi $t5,$a0,0x2 -/* f18592c: 11a000b4 */ beqz $t5,.L0f185c00 -/* f185930: afa30018 */ sw $v1,0x18($sp) -/* f185934: 308e0200 */ andi $t6,$a0,0x200 -/* f185938: 11c000b1 */ beqz $t6,.L0f185c00 -/* f18593c: 28610002 */ slti $at,$v1,0x2 -/* f185940: 142000af */ bnez $at,.L0f185c00 -/* f185944: 00a01025 */ or $v0,$a1,$zero -/* f185948: 8d2f0284 */ lw $t7,0x284($t1) -/* f18594c: 8d2c028c */ lw $t4,0x28c($t1) -/* f185950: 3c19ba00 */ lui $t9,0xba00 -/* f185954: 8df800bc */ lw $t8,0xbc($t7) -/* f185958: 37390c02 */ ori $t9,$t9,0xc02 -/* f18595c: 24a30008 */ addiu $v1,$a1,0x8 -/* f185960: 8f080004 */ lw $t0,0x4($t8) -/* f185964: afac001c */ sw $t4,0x1c($sp) -/* f185968: ac400004 */ sw $zero,0x4($v0) -/* f18596c: ac590000 */ sw $t9,0x0($v0) -/* f185970: 3c0dba00 */ lui $t5,0xba00 -/* f185974: 35ad0602 */ ori $t5,$t5,0x602 -/* f185978: 240e00c0 */ addiu $t6,$zero,0xc0 -/* f18597c: ac6e0004 */ sw $t6,0x4($v1) -/* f185980: ac6d0000 */ sw $t5,0x0($v1) -/* f185984: 24640008 */ addiu $a0,$v1,0x8 -/* f185988: 24850008 */ addiu $a1,$a0,0x8 -/* f18598c: 24180001 */ addiu $t8,$zero,0x1 -/* f185990: 3c0fb600 */ lui $t7,0xb600 -/* f185994: ac8f0000 */ sw $t7,0x0($a0) -/* f185998: ac980004 */ sw $t8,0x4($a0) -/* f18599c: 3c0ce700 */ lui $t4,0xe700 -/* f1859a0: acac0000 */ sw $t4,0x0($a1) -/* f1859a4: aca00004 */ sw $zero,0x4($a1) -/* f1859a8: 24a70008 */ addiu $a3,$a1,0x8 -/* f1859ac: 3c19ba00 */ lui $t9,0xba00 -/* f1859b0: 37391301 */ ori $t9,$t9,0x1301 -/* f1859b4: acf90000 */ sw $t9,0x0($a3) -/* f1859b8: 24e20008 */ addiu $v0,$a3,0x8 -/* f1859bc: ace00004 */ sw $zero,0x4($a3) -/* f1859c0: 3c0dba00 */ lui $t5,0xba00 -/* f1859c4: 35ad1402 */ ori $t5,$t5,0x1402 -/* f1859c8: 24430008 */ addiu $v1,$v0,0x8 -/* f1859cc: 3c0e0030 */ lui $t6,0x30 -/* f1859d0: ac4e0004 */ sw $t6,0x4($v0) -/* f1859d4: ac4d0000 */ sw $t5,0x0($v0) -/* f1859d8: 3c180f0a */ lui $t8,0xf0a -/* f1859dc: 3c0fb900 */ lui $t7,0xb900 -/* f1859e0: 35ef031d */ ori $t7,$t7,0x31d -/* f1859e4: 37184000 */ ori $t8,$t8,0x4000 -/* f1859e8: ac780004 */ sw $t8,0x4($v1) -/* f1859ec: ac6f0000 */ sw $t7,0x0($v1) -/* f1859f0: 24660008 */ addiu $a2,$v1,0x8 -/* f1859f4: 3c0cba00 */ lui $t4,0xba00 -/* f1859f8: 358c1701 */ ori $t4,$t4,0x1701 -/* f1859fc: 3c190080 */ lui $t9,0x80 -/* f185a00: acd90004 */ sw $t9,0x4($a2) -/* f185a04: accc0000 */ sw $t4,0x0($a2) -/* f185a08: 24c50008 */ addiu $a1,$a2,0x8 -/* f185a0c: 91040125 */ lbu $a0,0x125($t0) -/* f185a10: 0fc63a5a */ jal radarGetTeamIndex -/* f185a14: afa50030 */ sw $a1,0x30($sp) -/* f185a18: 8fa30030 */ lw $v1,0x30($sp) -/* f185a1c: 00026880 */ sll $t5,$v0,0x2 -/* f185a20: 3c048008 */ lui $a0,%hi(var80087ce4) -/* f185a24: 008d2021 */ addu $a0,$a0,$t5 -/* f185a28: 8c847ce4 */ lw $a0,%lo(var80087ce4)($a0) -/* f185a2c: 3c0ef700 */ lui $t6,0xf700 -/* f185a30: ac6e0000 */ sw $t6,0x0($v1) -/* f185a34: 24650008 */ addiu $a1,$v1,0x8 -/* f185a38: ac640004 */ sw $a0,0x4($v1) -/* f185a3c: 0c002f40 */ jal viGetViewLeft -/* f185a40: afa50030 */ sw $a1,0x30($sp) -/* f185a44: 0c002f22 */ jal viGetViewWidth -/* f185a48: afa2002c */ sw $v0,0x2c($sp) -/* f185a4c: 8fa6002c */ lw $a2,0x2c($sp) -/* f185a50: 00463821 */ addu $a3,$v0,$a2 -/* f185a54: 0c002f44 */ jal viGetViewTop -/* f185a58: afa70028 */ sw $a3,0x28($sp) -/* f185a5c: 0c002f26 */ jal viGetViewHeight -/* f185a60: afa20024 */ sw $v0,0x24($sp) -/* f185a64: 8faf0018 */ lw $t7,0x18($sp) -/* f185a68: 3c09800a */ lui $t1,%hi(g_Vars) -/* f185a6c: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars) -/* f185a70: 29e10003 */ slti $at,$t7,0x3 -/* f185a74: 8fa50030 */ lw $a1,0x30($sp) -/* f185a78: 8fa6002c */ lw $a2,0x2c($sp) -/* f185a7c: 8fa70028 */ lw $a3,0x28($sp) -/* f185a80: 14200027 */ bnez $at,.L0f185b20 -/* f185a84: 8fa80024 */ lw $t0,0x24($sp) -/* f185a88: 8fb8001c */ lw $t8,0x1c($sp) -/* f185a8c: 310303ff */ andi $v1,$t0,0x3ff -/* f185a90: 00037880 */ sll $t7,$v1,0x2 -/* f185a94: 2b010002 */ slti $at,$t8,0x2 -/* f185a98: 10200013 */ beqz $at,.L0f185ae8 -/* f185a9c: 01e01825 */ or $v1,$t7,$zero -/* f185aa0: 00482021 */ addu $a0,$v0,$t0 -/* f185aa4: 2484ffff */ addiu $a0,$a0,-1 -/* f185aa8: 24edffff */ addiu $t5,$a3,-1 -/* f185aac: 31ae03ff */ andi $t6,$t5,0x3ff -/* f185ab0: 308c03ff */ andi $t4,$a0,0x3ff -/* f185ab4: 000c2080 */ sll $a0,$t4,0x2 -/* f185ab8: 000e7b80 */ sll $t7,$t6,0xe -/* f185abc: 3c01f600 */ lui $at,0xf600 -/* f185ac0: 30d903ff */ andi $t9,$a2,0x3ff -/* f185ac4: 00196b80 */ sll $t5,$t9,0xe -/* f185ac8: 01e1c025 */ or $t8,$t7,$at -/* f185acc: 00a01825 */ or $v1,$a1,$zero -/* f185ad0: 03046025 */ or $t4,$t8,$a0 -/* f185ad4: 01a47025 */ or $t6,$t5,$a0 -/* f185ad8: ac6e0004 */ sw $t6,0x4($v1) -/* f185adc: ac6c0000 */ sw $t4,0x0($v1) -/* f185ae0: 10000047 */ b .L0f185c00 -/* f185ae4: 24a50008 */ addiu $a1,$a1,0x8 -.L0f185ae8: -/* f185ae8: 24f8ffff */ addiu $t8,$a3,-1 -/* f185aec: 330c03ff */ andi $t4,$t8,0x3ff -/* f185af0: 000ccb80 */ sll $t9,$t4,0xe -/* f185af4: 3c01f600 */ lui $at,0xf600 -/* f185af8: 03216825 */ or $t5,$t9,$at -/* f185afc: 01af7025 */ or $t6,$t5,$t7 -/* f185b00: 30cf03ff */ andi $t7,$a2,0x3ff -/* f185b04: 000fc380 */ sll $t8,$t7,0xe -/* f185b08: 00a01025 */ or $v0,$a1,$zero -/* f185b0c: 03036025 */ or $t4,$t8,$v1 -/* f185b10: ac4c0004 */ sw $t4,0x4($v0) -/* f185b14: ac4e0000 */ sw $t6,0x0($v0) -/* f185b18: 10000039 */ b .L0f185c00 -/* f185b1c: 24a50008 */ addiu $a1,$a1,0x8 -.L0f185b20: -/* f185b20: 913904e0 */ lbu $t9,0x4e0($t1) -/* f185b24: 00a01825 */ or $v1,$a1,$zero -/* f185b28: 00482021 */ addu $a0,$v0,$t0 -/* f185b2c: 13200011 */ beqz $t9,.L0f185b74 -/* f185b30: 8fac001c */ lw $t4,0x1c($sp) -/* f185b34: 2484fffe */ addiu $a0,$a0,-2 -/* f185b38: 24efffff */ addiu $t7,$a3,-1 -/* f185b3c: 31f803ff */ andi $t8,$t7,0x3ff -/* f185b40: 308d03ff */ andi $t5,$a0,0x3ff -/* f185b44: 000d2080 */ sll $a0,$t5,0x2 -/* f185b48: 00186380 */ sll $t4,$t8,0xe -/* f185b4c: 3c01f600 */ lui $at,0xf600 -/* f185b50: 30ce03ff */ andi $t6,$a2,0x3ff -/* f185b54: 000e7b80 */ sll $t7,$t6,0xe -/* f185b58: 0181c825 */ or $t9,$t4,$at -/* f185b5c: 03246825 */ or $t5,$t9,$a0 -/* f185b60: 01e4c025 */ or $t8,$t7,$a0 -/* f185b64: ac780004 */ sw $t8,0x4($v1) -/* f185b68: ac6d0000 */ sw $t5,0x0($v1) -/* f185b6c: 10000024 */ b .L0f185c00 -/* f185b70: 24a50008 */ addiu $a1,$a1,0x8 -.L0f185b74: -/* f185b74: 15800013 */ bnez $t4,.L0f185bc4 -/* f185b78: 310303ff */ andi $v1,$t0,0x3ff -/* f185b7c: 00482021 */ addu $a0,$v0,$t0 -/* f185b80: 2484ffff */ addiu $a0,$a0,-1 -/* f185b84: 24eeffff */ addiu $t6,$a3,-1 -/* f185b88: 31cf03ff */ andi $t7,$t6,0x3ff -/* f185b8c: 309903ff */ andi $t9,$a0,0x3ff -/* f185b90: 00192080 */ sll $a0,$t9,0x2 -/* f185b94: 000fc380 */ sll $t8,$t7,0xe -/* f185b98: 3c01f600 */ lui $at,0xf600 -/* f185b9c: 30cd03ff */ andi $t5,$a2,0x3ff -/* f185ba0: 000d7380 */ sll $t6,$t5,0xe -/* f185ba4: 03016025 */ or $t4,$t8,$at -/* f185ba8: 00a01825 */ or $v1,$a1,$zero -/* f185bac: 0184c825 */ or $t9,$t4,$a0 -/* f185bb0: 01c47825 */ or $t7,$t6,$a0 -/* f185bb4: ac6f0004 */ sw $t7,0x4($v1) -/* f185bb8: ac790000 */ sw $t9,0x0($v1) -/* f185bbc: 10000010 */ b .L0f185c00 -/* f185bc0: 24a50008 */ addiu $a1,$a1,0x8 -.L0f185bc4: -/* f185bc4: 24ecffff */ addiu $t4,$a3,-1 -/* f185bc8: 319903ff */ andi $t9,$t4,0x3ff -/* f185bcc: 00196b80 */ sll $t5,$t9,0xe -/* f185bd0: 0003c080 */ sll $t8,$v1,0x2 -/* f185bd4: 3c01f600 */ lui $at,0xf600 -/* f185bd8: 01a17025 */ or $t6,$t5,$at -/* f185bdc: 01d87825 */ or $t7,$t6,$t8 -/* f185be0: 03001825 */ or $v1,$t8,$zero -/* f185be4: 30d803ff */ andi $t8,$a2,0x3ff -/* f185be8: 00a01025 */ or $v0,$a1,$zero -/* f185bec: 00186380 */ sll $t4,$t8,0xe -/* f185bf0: 0183c825 */ or $t9,$t4,$v1 -/* f185bf4: ac590004 */ sw $t9,0x4($v0) -/* f185bf8: ac4f0000 */ sw $t7,0x0($v0) -/* f185bfc: 24a50008 */ addiu $a1,$a1,0x8 -.L0f185c00: -/* f185c00: 8fbf0014 */ lw $ra,0x14($sp) -/* f185c04: 27bd0030 */ addiu $sp,$sp,0x30 -/* f185c08: 00a01025 */ or $v0,$a1,$zero -/* f185c0c: 03e00008 */ jr $ra -/* f185c10: 00000000 */ nop -); - -GLOBAL_ASM( -glabel func0f185c14 -/* f185c14: 3c0b800b */ lui $t3,%hi(g_MpSetup) -/* f185c18: 256bcb88 */ addiu $t3,$t3,%lo(g_MpSetup) -/* f185c1c: 916e0010 */ lbu $t6,0x10($t3) -/* f185c20: 3c028008 */ lui $v0,%hi(g_MpScenarios+0x1c) -/* f185c24: 27bdffe0 */ addiu $sp,$sp,-32 -/* f185c28: 000e78c0 */ sll $t7,$t6,0x3 -/* f185c2c: 01ee7821 */ addu $t7,$t7,$t6 -/* f185c30: 000f78c0 */ sll $t7,$t7,0x3 -/* f185c34: 004f1021 */ addu $v0,$v0,$t7 -/* f185c38: 8c426fb4 */ lw $v0,%lo(g_MpScenarios+0x1c)($v0) -/* f185c3c: afb10018 */ sw $s1,0x18($sp) -/* f185c40: afb00014 */ sw $s0,0x14($sp) -/* f185c44: 00808025 */ or $s0,$a0,$zero -/* f185c48: 00a08825 */ or $s1,$a1,$zero -/* f185c4c: afbf001c */ sw $ra,0x1c($sp) -/* f185c50: 10400005 */ beqz $v0,.L0f185c68 -/* f185c54: afa7002c */ sw $a3,0x2c($sp) -/* f185c58: 0040f809 */ jalr $v0 -/* f185c5c: 00000000 */ nop -/* f185c60: 1000003b */ b .L0f185d50 -/* f185c64: 8fbf001c */ lw $ra,0x1c($sp) -.L0f185c68: -/* f185c68: 3c09800b */ lui $t1,%hi(g_MpSimulants) -/* f185c6c: 3c07800b */ lui $a3,%hi(g_MpPlayers) -/* f185c70: acc00000 */ sw $zero,0x0($a2) -/* f185c74: 24e7c7b8 */ addiu $a3,$a3,%lo(g_MpPlayers) -/* f185c78: 2529c538 */ addiu $t1,$t1,%lo(g_MpSimulants) -/* f185c7c: 00001025 */ or $v0,$zero,$zero -/* f185c80: 02001825 */ or $v1,$s0,$zero -/* f185c84: 240a004c */ addiu $t2,$zero,0x4c -/* f185c88: 240800a0 */ addiu $t0,$zero,0xa0 -/* f185c8c: 2405000c */ addiu $a1,$zero,0xc -.L0f185c90: -/* f185c90: 54510007 */ bnel $v0,$s1,.L0f185cb0 -/* f185c94: 8d6d000c */ lw $t5,0xc($t3) -/* f185c98: 8cd80000 */ lw $t8,0x0($a2) -/* f185c9c: 84790024 */ lh $t9,0x24($v1) -/* f185ca0: 03196023 */ subu $t4,$t8,$t9 -/* f185ca4: 10000023 */ b .L0f185d34 -/* f185ca8: accc0000 */ sw $t4,0x0($a2) -/* f185cac: 8d6d000c */ lw $t5,0xc($t3) -.L0f185cb0: -/* f185cb0: 28410004 */ slti $at,$v0,0x4 -/* f185cb4: 31ae0002 */ andi $t6,$t5,0x2 -/* f185cb8: 51c0001b */ beqzl $t6,.L0f185d28 -/* f185cbc: 8ccd0000 */ lw $t5,0x0($a2) -/* f185cc0: 10200006 */ beqz $at,.L0f185cdc -/* f185cc4: 00000000 */ nop -/* f185cc8: 00480019 */ multu $v0,$t0 -/* f185ccc: 00007812 */ mflo $t7 -/* f185cd0: 00ef2021 */ addu $a0,$a3,$t7 -/* f185cd4: 10000006 */ b .L0f185cf0 -/* f185cd8: 92190011 */ lbu $t9,0x11($s0) -.L0f185cdc: -/* f185cdc: 004a0019 */ multu $v0,$t2 -/* f185ce0: 0000c012 */ mflo $t8 -/* f185ce4: 01382021 */ addu $a0,$t1,$t8 -/* f185ce8: 2484fed0 */ addiu $a0,$a0,-304 -/* f185cec: 92190011 */ lbu $t9,0x11($s0) -.L0f185cf0: -/* f185cf0: 908c0011 */ lbu $t4,0x11($a0) -/* f185cf4: 572c0007 */ bnel $t9,$t4,.L0f185d14 -/* f185cf8: 8cd80000 */ lw $t8,0x0($a2) -/* f185cfc: 8ccd0000 */ lw $t5,0x0($a2) -/* f185d00: 846e0024 */ lh $t6,0x24($v1) -/* f185d04: 01ae7823 */ subu $t7,$t5,$t6 -/* f185d08: 1000000a */ b .L0f185d34 -/* f185d0c: accf0000 */ sw $t7,0x0($a2) -/* f185d10: 8cd80000 */ lw $t8,0x0($a2) -.L0f185d14: -/* f185d14: 84790024 */ lh $t9,0x24($v1) -/* f185d18: 03196021 */ addu $t4,$t8,$t9 -/* f185d1c: 10000005 */ b .L0f185d34 -/* f185d20: accc0000 */ sw $t4,0x0($a2) -/* f185d24: 8ccd0000 */ lw $t5,0x0($a2) -.L0f185d28: -/* f185d28: 846e0024 */ lh $t6,0x24($v1) -/* f185d2c: 01ae7821 */ addu $t7,$t5,$t6 -/* f185d30: accf0000 */ sw $t7,0x0($a2) -.L0f185d34: -/* f185d34: 24420001 */ addiu $v0,$v0,0x1 -/* f185d38: 1445ffd5 */ bne $v0,$a1,.L0f185c90 -/* f185d3c: 24630002 */ addiu $v1,$v1,0x2 -/* f185d40: 8618003c */ lh $t8,0x3c($s0) -/* f185d44: 8fb9002c */ lw $t9,0x2c($sp) -/* f185d48: af380000 */ sw $t8,0x0($t9) -/* f185d4c: 8fbf001c */ lw $ra,0x1c($sp) -.L0f185d50: -/* f185d50: 8fb00014 */ lw $s0,0x14($sp) -/* f185d54: 8fb10018 */ lw $s1,0x18($sp) -/* f185d58: 03e00008 */ jr $ra -/* f185d5c: 27bd0020 */ addiu $sp,$sp,0x20 -); - -Gfx *scenarioRadar(Gfx *gdl) -{ - if (g_Vars.normmplayerisrunning && g_MpScenarios[g_MpSetup.scenario].radarfunc) { - return g_MpScenarios[g_MpSetup.scenario].radarfunc(gdl); - } - - return gdl; -} - -bool scenarioRadar2(Gfx **gdl, struct prop *prop) -{ - if (g_Vars.normmplayerisrunning && g_MpScenarios[g_MpSetup.scenario].radar2func) { - return g_MpScenarios[g_MpSetup.scenario].radar2func(gdl, prop); - } - - return false; -} - -GLOBAL_ASM( -glabel func0f185e20 -.late_rodata -glabel var7f1b8980 -.word func0f185e20+0xf4 # f185f14 -glabel var7f1b8984 -.word func0f185e20+0xf4 # f185f14 -glabel var7f1b8988 -.word func0f185e20+0x348 # f186168 -glabel var7f1b898c -.word func0f185e20+0x348 # f186168 -glabel var7f1b8990 -.word func0f185e20+0x348 # f186168 -glabel var7f1b8994 -.word func0f185e20+0x348 # f186168 -glabel var7f1b8998 -.word func0f185e20+0x348 # f186168 -glabel var7f1b899c -.word func0f185e20+0xf4 # f185f14 -glabel var7f1b89a0 -.word func0f185e20+0x348 # f186168 -glabel var7f1b89a4 -.word func0f185e20+0x348 # f186168 -glabel var7f1b89a8 -.word func0f185e20+0x348 # f186168 -glabel var7f1b89ac -.word func0f185e20+0x348 # f186168 -glabel var7f1b89b0 -.word func0f185e20+0x348 # f186168 -glabel var7f1b89b4 -.word func0f185e20+0xf4 # f185f14 -glabel var7f1b89b8 -.word func0f185e20+0xf4 # f185f14 -.text -/* f185e20: 3c07800b */ lui $a3,%hi(g_MpSetup) -/* f185e24: 24e7cb88 */ addiu $a3,$a3,%lo(g_MpSetup) -/* f185e28: 90ee0010 */ lbu $t6,0x10($a3) -/* f185e2c: 3c028008 */ lui $v0,%hi(g_MpScenarios+0x28) -/* f185e30: 27bdffd0 */ addiu $sp,$sp,-48 -/* f185e34: 000e78c0 */ sll $t7,$t6,0x3 -/* f185e38: 01ee7821 */ addu $t7,$t7,$t6 -/* f185e3c: 000f78c0 */ sll $t7,$t7,0x3 -/* f185e40: 004f1021 */ addu $v0,$v0,$t7 -/* f185e44: 8c426fc0 */ lw $v0,%lo(g_MpScenarios+0x28)($v0) -/* f185e48: afbf0014 */ sw $ra,0x14($sp) -/* f185e4c: afa40030 */ sw $a0,0x30($sp) -/* f185e50: 5040000a */ beqzl $v0,.L0f185e7c -/* f185e54: 8fb80030 */ lw $t8,0x30($sp) -/* f185e58: 0040f809 */ jalr $v0 -/* f185e5c: afa50034 */ sw $a1,0x34($sp) -/* f185e60: 3c07800b */ lui $a3,%hi(g_MpSetup) -/* f185e64: 24e7cb88 */ addiu $a3,$a3,%lo(g_MpSetup) -/* f185e68: 10400003 */ beqz $v0,.L0f185e78 -/* f185e6c: 8fa50034 */ lw $a1,0x34($sp) -/* f185e70: 100000be */ b .L0f18616c -/* f185e74: 24020001 */ addiu $v0,$zero,0x1 -.L0f185e78: -/* f185e78: 8fb80030 */ lw $t8,0x30($sp) -.L0f185e7c: -/* f185e7c: 24010001 */ addiu $at,$zero,0x1 -/* f185e80: 93020000 */ lbu $v0,0x0($t8) -/* f185e84: 10410005 */ beq $v0,$at,.L0f185e9c -/* f185e88: 24010002 */ addiu $at,$zero,0x2 -/* f185e8c: 10410003 */ beq $v0,$at,.L0f185e9c -/* f185e90: 24010004 */ addiu $at,$zero,0x4 -/* f185e94: 54410032 */ bnel $v0,$at,.L0f185f60 -/* f185e98: 24010003 */ addiu $at,$zero,0x3 -.L0f185e9c: -/* f185e9c: 90e90010 */ lbu $t1,0x10($a3) -/* f185ea0: 8fb90030 */ lw $t9,0x30($sp) -/* f185ea4: 3c0c800a */ lui $t4,%hi(g_Vars+0x288) -/* f185ea8: 15200005 */ bnez $t1,.L0f185ec0 -/* f185eac: 8f220004 */ lw $v0,0x4($t9) -/* f185eb0: 8cea000c */ lw $t2,0xc($a3) -/* f185eb4: 314b0020 */ andi $t3,$t2,0x20 -/* f185eb8: 556000ac */ bnezl $t3,.L0f18616c -/* f185ebc: 00001025 */ or $v0,$zero,$zero -.L0f185ec0: -/* f185ec0: 8d8ca248 */ lw $t4,%lo(g_Vars+0x288)($t4) -/* f185ec4: 3c0f800b */ lui $t7,%hi(g_MpPlayers+0x14) -/* f185ec8: 8d8d0070 */ lw $t5,0x70($t4) -/* f185ecc: 000d7080 */ sll $t6,$t5,0x2 -/* f185ed0: 01cd7021 */ addu $t6,$t6,$t5 -/* f185ed4: 000e7140 */ sll $t6,$t6,0x5 -/* f185ed8: 01ee7821 */ addu $t7,$t7,$t6 -/* f185edc: 8defc7cc */ lw $t7,%lo(g_MpPlayers+0x14)($t7) -/* f185ee0: 31f80002 */ andi $t8,$t7,0x2 -/* f185ee4: 530000a1 */ beqzl $t8,.L0f18616c -/* f185ee8: 00001025 */ or $v0,$zero,$zero -/* f185eec: 90590003 */ lbu $t9,0x3($v0) -/* f185ef0: 2729fff9 */ addiu $t1,$t9,-7 -/* f185ef4: 2d21000f */ sltiu $at,$t1,0xf -/* f185ef8: 1020009b */ beqz $at,.L0f186168 -/* f185efc: 00094880 */ sll $t1,$t1,0x2 -/* f185f00: 3c017f1c */ lui $at,%hi(var7f1b8980) -/* f185f04: 00290821 */ addu $at,$at,$t1 -/* f185f08: 8c298980 */ lw $t1,%lo(var7f1b8980)($at) -/* f185f0c: 01200008 */ jr $t1 -/* f185f10: 00000000 */ nop -/* f185f14: 240a00cd */ addiu $t2,$zero,0xcd -/* f185f18: 240b00ff */ addiu $t3,$zero,0xff -/* f185f1c: 3c0141a0 */ lui $at,0x41a0 -/* f185f20: aca00000 */ sw $zero,0x0($a1) -/* f185f24: acaa0004 */ sw $t2,0x4($a1) -/* f185f28: acab0008 */ sw $t3,0x8($a1) -/* f185f2c: 44816000 */ mtc1 $at,$f12 -/* f185f30: 0fc01ac2 */ jal func0f006b08 -/* f185f34: afa50034 */ sw $a1,0x34($sp) -/* f185f38: 3c01437f */ lui $at,0x437f -/* f185f3c: 44812000 */ mtc1 $at,$f4 -/* f185f40: 8fa50034 */ lw $a1,0x34($sp) -/* f185f44: 24020001 */ addiu $v0,$zero,0x1 -/* f185f48: 46040182 */ mul.s $f6,$f0,$f4 -/* f185f4c: 4600320d */ trunc.w.s $f8,$f6 -/* f185f50: 440d4000 */ mfc1 $t5,$f8 -/* f185f54: 10000085 */ b .L0f18616c -/* f185f58: acad000c */ sw $t5,0xc($a1) -/* f185f5c: 24010003 */ addiu $at,$zero,0x3 -.L0f185f60: -/* f185f60: 10410004 */ beq $v0,$at,.L0f185f74 -/* f185f64: 00003025 */ or $a2,$zero,$zero -/* f185f68: 24010006 */ addiu $at,$zero,0x6 -/* f185f6c: 5441007f */ bnel $v0,$at,.L0f18616c -/* f185f70: 00001025 */ or $v0,$zero,$zero -.L0f185f74: -/* f185f74: 8cee000c */ lw $t6,0xc($a3) -/* f185f78: 00001825 */ or $v1,$zero,$zero -/* f185f7c: 00004025 */ or $t0,$zero,$zero -/* f185f80: 31cf0002 */ andi $t7,$t6,0x2 -/* f185f84: 11e00017 */ beqz $t7,.L0f185fe4 -/* f185f88: 00002025 */ or $a0,$zero,$zero -/* f185f8c: afa00024 */ sw $zero,0x24($sp) -/* f185f90: afa0001c */ sw $zero,0x1c($sp) -/* f185f94: afa50034 */ sw $a1,0x34($sp) -/* f185f98: afa00028 */ sw $zero,0x28($sp) -/* f185f9c: 0fc3f594 */ jal currentPlayerGetCommandingAibot -/* f185fa0: afa00020 */ sw $zero,0x20($sp) -/* f185fa4: 3c07800b */ lui $a3,%hi(g_MpSetup) -/* f185fa8: 24e7cb88 */ addiu $a3,$a3,%lo(g_MpSetup) -/* f185fac: 8fa30024 */ lw $v1,0x24($sp) -/* f185fb0: 8fa4001c */ lw $a0,0x1c($sp) -/* f185fb4: 8fa50034 */ lw $a1,0x34($sp) -/* f185fb8: 8fa60028 */ lw $a2,0x28($sp) -/* f185fbc: 10400009 */ beqz $v0,.L0f185fe4 -/* f185fc0: 8fa80020 */ lw $t0,0x20($sp) -/* f185fc4: 8fb80030 */ lw $t8,0x30($sp) -/* f185fc8: 8f190004 */ lw $t9,0x4($t8) -/* f185fcc: 54590005 */ bnel $v0,$t9,.L0f185fe4 -/* f185fd0: 24030001 */ addiu $v1,$zero,0x1 -/* f185fd4: 24060001 */ addiu $a2,$zero,0x1 -/* f185fd8: 10000002 */ b .L0f185fe4 -/* f185fdc: 24040001 */ addiu $a0,$zero,0x1 -/* f185fe0: 24030001 */ addiu $v1,$zero,0x1 -.L0f185fe4: -/* f185fe4: 14c00025 */ bnez $a2,.L0f18607c -/* f185fe8: 00000000 */ nop -/* f185fec: 14600023 */ bnez $v1,.L0f18607c -/* f185ff0: 00000000 */ nop -/* f185ff4: 90e90010 */ lbu $t1,0x10($a3) -/* f185ff8: 8ce2000c */ lw $v0,0xc($a3) -/* f185ffc: 15200002 */ bnez $t1,.L0f186008 -/* f186000: 304a0010 */ andi $t2,$v0,0x10 -/* f186004: 1540001d */ bnez $t2,.L0f18607c -.L0f186008: -/* f186008: 304b0002 */ andi $t3,$v0,0x2 -/* f18600c: 1160000e */ beqz $t3,.L0f186048 -/* f186010: 3c0c800a */ lui $t4,%hi(g_Vars+0x288) -/* f186014: 8d8ca248 */ lw $t4,%lo(g_Vars+0x288)($t4) -/* f186018: 3c0f800b */ lui $t7,%hi(g_MpPlayers+0x14) -/* f18601c: 8d8d0070 */ lw $t5,0x70($t4) -/* f186020: 000d7080 */ sll $t6,$t5,0x2 -/* f186024: 01cd7021 */ addu $t6,$t6,$t5 -/* f186028: 000e7140 */ sll $t6,$t6,0x5 -/* f18602c: 01ee7821 */ addu $t7,$t7,$t6 -/* f186030: 8defc7cc */ lw $t7,%lo(g_MpPlayers+0x14)($t7) -/* f186034: 31f80008 */ andi $t8,$t7,0x8 -/* f186038: 13000003 */ beqz $t8,.L0f186048 -/* f18603c: 00000000 */ nop -/* f186040: 1000000e */ b .L0f18607c -/* f186044: 24040001 */ addiu $a0,$zero,0x1 -.L0f186048: -/* f186048: 3c19800a */ lui $t9,%hi(g_Vars+0x288) -/* f18604c: 8f39a248 */ lw $t9,%lo(g_Vars+0x288)($t9) -/* f186050: 3c0b800b */ lui $t3,%hi(g_MpPlayers+0x14) -/* f186054: 8f290070 */ lw $t1,0x70($t9) -/* f186058: 00095080 */ sll $t2,$t1,0x2 -/* f18605c: 01495021 */ addu $t2,$t2,$t1 -/* f186060: 000a5140 */ sll $t2,$t2,0x5 -/* f186064: 016a5821 */ addu $t3,$t3,$t2 -/* f186068: 8d6bc7cc */ lw $t3,%lo(g_MpPlayers+0x14)($t3) -/* f18606c: 316c0001 */ andi $t4,$t3,0x1 -/* f186070: 11800002 */ beqz $t4,.L0f18607c -/* f186074: 00000000 */ nop -/* f186078: 24080001 */ addiu $t0,$zero,0x1 -.L0f18607c: -/* f18607c: 10800027 */ beqz $a0,.L0f18611c -/* f186080: 8fad0030 */ lw $t5,0x30($sp) -/* f186084: 8dae0004 */ lw $t6,0x4($t5) -/* f186088: 91c40125 */ lbu $a0,0x125($t6) -/* f18608c: afa60028 */ sw $a2,0x28($sp) -/* f186090: 0fc63a5a */ jal radarGetTeamIndex -/* f186094: afa50034 */ sw $a1,0x34($sp) -/* f186098: 00027880 */ sll $t7,$v0,0x2 -/* f18609c: 3c038008 */ lui $v1,%hi(g_TeamColours) -/* f1860a0: 006f1821 */ addu $v1,$v1,$t7 -/* f1860a4: 8c637cc4 */ lw $v1,%lo(g_TeamColours)($v1) -/* f1860a8: 8fa50034 */ lw $a1,0x34($sp) -/* f1860ac: 8fa60028 */ lw $a2,0x28($sp) -/* f1860b0: 0003c602 */ srl $t8,$v1,0x18 -/* f1860b4: 00034c02 */ srl $t1,$v1,0x10 -/* f1860b8: 00035a02 */ srl $t3,$v1,0x8 -/* f1860bc: 331900ff */ andi $t9,$t8,0xff -/* f1860c0: 312a00ff */ andi $t2,$t1,0xff -/* f1860c4: 316c00ff */ andi $t4,$t3,0xff -/* f1860c8: acb90000 */ sw $t9,0x0($a1) -/* f1860cc: acaa0004 */ sw $t2,0x4($a1) -/* f1860d0: 10c0000e */ beqz $a2,.L0f18610c -/* f1860d4: acac0008 */ sw $t4,0x8($a1) -/* f1860d8: 3c0141a0 */ lui $at,0x41a0 -/* f1860dc: 44816000 */ mtc1 $at,$f12 -/* f1860e0: 0fc01ac2 */ jal func0f006b08 -/* f1860e4: afa50034 */ sw $a1,0x34($sp) -/* f1860e8: 3c014300 */ lui $at,0x4300 -/* f1860ec: 44815000 */ mtc1 $at,$f10 -/* f1860f0: 8fa50034 */ lw $a1,0x34($sp) -/* f1860f4: 24020001 */ addiu $v0,$zero,0x1 -/* f1860f8: 460a0402 */ mul.s $f16,$f0,$f10 -/* f1860fc: 4600848d */ trunc.w.s $f18,$f16 -/* f186100: 440e9000 */ mfc1 $t6,$f18 -/* f186104: 10000019 */ b .L0f18616c -/* f186108: acae000c */ sw $t6,0xc($a1) -.L0f18610c: -/* f18610c: 240f004b */ addiu $t7,$zero,0x4b -/* f186110: acaf000c */ sw $t7,0xc($a1) -/* f186114: 10000015 */ b .L0f18616c -/* f186118: 24020001 */ addiu $v0,$zero,0x1 -.L0f18611c: -/* f18611c: 11000012 */ beqz $t0,.L0f186168 -/* f186120: 241800cd */ addiu $t8,$zero,0xcd -/* f186124: 241900ff */ addiu $t9,$zero,0xff -/* f186128: 3c0141a0 */ lui $at,0x41a0 -/* f18612c: aca00000 */ sw $zero,0x0($a1) -/* f186130: acb80004 */ sw $t8,0x4($a1) -/* f186134: acb90008 */ sw $t9,0x8($a1) -/* f186138: 44816000 */ mtc1 $at,$f12 -/* f18613c: 0fc01ac2 */ jal func0f006b08 -/* f186140: afa50034 */ sw $a1,0x34($sp) -/* f186144: 3c01434d */ lui $at,0x434d -/* f186148: 44812000 */ mtc1 $at,$f4 -/* f18614c: 8fa50034 */ lw $a1,0x34($sp) -/* f186150: 24020001 */ addiu $v0,$zero,0x1 -/* f186154: 46040182 */ mul.s $f6,$f0,$f4 -/* f186158: 4600320d */ trunc.w.s $f8,$f6 -/* f18615c: 440a4000 */ mfc1 $t2,$f8 -/* f186160: 10000002 */ b .L0f18616c -/* f186164: acaa000c */ sw $t2,0xc($a1) -.L0f186168: -/* f186168: 00001025 */ or $v0,$zero,$zero -.L0f18616c: -/* f18616c: 8fbf0014 */ lw $ra,0x14($sp) -/* f186170: 27bd0030 */ addiu $sp,$sp,0x30 -/* f186174: 03e00008 */ jr $ra -/* f186178: 00000000 */ nop -); - -f32 scenarioChooseSpawnLocation(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop) -{ - f32 result; - - if (g_Vars.normmplayerisrunning && g_MpScenarios[g_MpSetup.scenario].spawnfunc && - g_MpScenarios[g_MpSetup.scenario].spawnfunc(arg0, pos, rooms, prop, &result)) { - return result; - } - - return playerChooseGeneralSpawnLocation(arg0, pos, rooms, prop); -} - -void mpPrepareScenario(void) -{ - s32 i; - s32 j; - s32 *cmd = g_StageSetup.intro; - - switch (g_MpSetup.scenario) { - case MPSCENARIO_KINGOFTHEHILL: - g_ScenarioData.koh.hillcount = 0; - break; - case MPSCENARIO_CAPTURETHECASE: - for (i = 0; i < ARRAYCOUNT(g_ScenarioData.ctc.spawnpadsperteam); i++) { - g_ScenarioData.ctc.spawnpadsperteam[i].teamindex = -1; - g_ScenarioData.ctc.spawnpadsperteam[i].numspawnpads = 0; - - for (j = 0; j < ARRAYCOUNT(g_ScenarioData.ctc.spawnpadsperteam[i].spawnpads); j++) { - g_ScenarioData.ctc.spawnpadsperteam[i].spawnpads[j] = -1; - } - } - - for (i = 0; i < ARRAYCOUNT(g_ScenarioData.ctc.unk00); i++) { - g_ScenarioData.ctc.unk00[i] = 0; - g_ScenarioData.ctc.teamindexes[i] = -1; - } - break; - case MPSCENARIO_HACKERCENTRAL: - func0f182bf4(); - break; - case MPSCENARIO_HOLDTHEBRIEFCASE: - func0f180078(); - break; - case MPSCENARIO_POPACAP: - break; - } - - if (cmd) { - while (cmd[0] != INTROCMD_END) { - switch (cmd[0]) { - case INTROCMD_SPAWN: - cmd += 3; - break; - case INTROCMD_CASE: - case INTROCMD_CASERESPAWN: - if (g_MpSetup.scenario == MPSCENARIO_CAPTURETHECASE) { - mpCtcAddPad(cmd); - } else if (g_MpSetup.scenario == MPSCENARIO_HACKERCENTRAL) { - mpHtmAddPad(cmd[2]); - } else if (g_MpSetup.scenario == MPSCENARIO_HOLDTHEBRIEFCASE) { - mpHtbAddPad(cmd[2]); - } - cmd += 3; - break; - case INTROCMD_HILL: - if (g_MpSetup.scenario == MPSCENARIO_KINGOFTHEHILL) { - mpKohAddHill(cmd); - } - cmd += 2; - break; - case INTROCMD_WEAPON: - cmd += 4; - break; - case INTROCMD_AMMO: - cmd += 4; - break; - case INTROCMD_3: - cmd += 8; - break; - case INTROCMD_4: - cmd += 2; - break; - case INTROCMD_OUTFIT: - cmd += 2; - break; - case INTROCMD_6: - cmd += 10; - break; - case INTROCMD_WATCHTIME: - cmd += 3; - break; - case INTROCMD_CREDITOFFSET: - cmd += 2; - break; - default: - cmd++; - break; - } - } - } -} - -s32 scenarioGetMaxTeams(void) -{ - if (g_MpScenarios[g_MpSetup.scenario].maxteamsfunc) { - return g_MpScenarios[g_MpSetup.scenario].maxteamsfunc(); - } - - return MAX_TEAMS; -} - -bool scenarioIsRoomHighlighted(s16 room) -{ - if (g_MpScenarios[g_MpSetup.scenario].isroomhighlightedfunc) { - return g_MpScenarios[g_MpSetup.scenario].isroomhighlightedfunc(room); - } - - return false; -} - -void scenarioCallback38(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3) -{ - if (g_MpScenarios[g_MpSetup.scenario].unk38) { - g_MpScenarios[g_MpSetup.scenario].unk38(arg0, arg1, arg2, arg3); - } -} - -GLOBAL_ASM( -glabel func0f186508 -/* f186508: 27bdff88 */ addiu $sp,$sp,-120 -/* f18650c: 3c0f8008 */ lui $t7,%hi(var800871fc) -/* f186510: 25ef71fc */ addiu $t7,$t7,%lo(var800871fc) -/* f186514: afbf0014 */ sw $ra,0x14($sp) -/* f186518: afa40078 */ sw $a0,0x78($sp) -/* f18651c: afa5007c */ sw $a1,0x7c($sp) -/* f186520: afa60080 */ sw $a2,0x80($sp) -/* f186524: afa70084 */ sw $a3,0x84($sp) -/* f186528: 25e80054 */ addiu $t0,$t7,0x54 -/* f18652c: 27ae001c */ addiu $t6,$sp,0x1c -.L0f186530: -/* f186530: 8de10000 */ lw $at,0x0($t7) -/* f186534: 25ef000c */ addiu $t7,$t7,0xc -/* f186538: 25ce000c */ addiu $t6,$t6,0xc -/* f18653c: adc1fff4 */ sw $at,-0xc($t6) -/* f186540: 8de1fff8 */ lw $at,-0x8($t7) -/* f186544: adc1fff8 */ sw $at,-0x8($t6) -/* f186548: 8de1fffc */ lw $at,-0x4($t7) -/* f18654c: 15e8fff8 */ bne $t7,$t0,.L0f186530 -/* f186550: adc1fffc */ sw $at,-0x4($t6) -/* f186554: 8de10000 */ lw $at,0x0($t7) -/* f186558: 8de80004 */ lw $t0,0x4($t7) -/* f18655c: 24040060 */ addiu $a0,$zero,0x60 -/* f186560: 24050004 */ addiu $a1,$zero,0x4 -/* f186564: adc10000 */ sw $at,0x0($t6) -/* f186568: 0c0048f2 */ jal malloc -/* f18656c: adc80004 */ sw $t0,0x4($t6) -/* f186570: 27a9001c */ addiu $t1,$sp,0x1c -/* f186574: afa20018 */ sw $v0,0x18($sp) -/* f186578: 252c0054 */ addiu $t4,$t1,0x54 -/* f18657c: 00406825 */ or $t5,$v0,$zero -.L0f186580: -/* f186580: 8d210000 */ lw $at,0x0($t1) -/* f186584: 2529000c */ addiu $t1,$t1,0xc -/* f186588: 25ad000c */ addiu $t5,$t5,0xc -/* f18658c: ada1fff4 */ sw $at,-0xc($t5) -/* f186590: 8d21fff8 */ lw $at,-0x8($t1) -/* f186594: ada1fff8 */ sw $at,-0x8($t5) -/* f186598: 8d21fffc */ lw $at,-0x4($t1) -/* f18659c: 152cfff8 */ bne $t1,$t4,.L0f186580 -/* f1865a0: ada1fffc */ sw $at,-0x4($t5) -/* f1865a4: 8d210000 */ lw $at,0x0($t1) -/* f1865a8: 240a0001 */ addiu $t2,$zero,0x1 -/* f1865ac: 00402025 */ or $a0,$v0,$zero -/* f1865b0: ada10000 */ sw $at,0x0($t5) -/* f1865b4: 8d2c0004 */ lw $t4,0x4($t1) -/* f1865b8: 3c014380 */ lui $at,0x4380 -/* f1865bc: 44813000 */ mtc1 $at,$f6 -/* f1865c0: adac0004 */ sw $t4,0x4($t5) -/* f1865c4: 8fb90078 */ lw $t9,0x78($sp) -/* f1865c8: 3c014f00 */ lui $at,0x4f00 -/* f1865cc: 2405007b */ addiu $a1,$zero,0x7b -/* f1865d0: a4590004 */ sh $t9,0x4($v0) -/* f1865d4: 87b8007e */ lh $t8,0x7e($sp) -/* f1865d8: a4580006 */ sh $t8,0x6($v0) -/* f1865dc: 8fa80084 */ lw $t0,0x84($sp) -/* f1865e0: ac480008 */ sw $t0,0x8($v0) -/* f1865e4: 8faf0088 */ lw $t7,0x88($sp) -/* f1865e8: ac4f000c */ sw $t7,0xc($v0) -/* f1865ec: 8fae008c */ lw $t6,0x8c($sp) -/* f1865f0: ac4e0010 */ sw $t6,0x10($v0) -/* f1865f4: c7a40080 */ lwc1 $f4,0x80($sp) -/* f1865f8: 46062202 */ mul.s $f8,$f4,$f6 -/* f1865fc: 444bf800 */ cfc1 $t3,$31 -/* f186600: 44caf800 */ ctc1 $t2,$31 -/* f186604: 00000000 */ nop -/* f186608: 460042a4 */ cvt.w.s $f10,$f8 -/* f18660c: 444af800 */ cfc1 $t2,$31 -/* f186610: 00000000 */ nop -/* f186614: 314a0078 */ andi $t2,$t2,0x78 -/* f186618: 51400013 */ beqzl $t2,.L0f186668 -/* f18661c: 440a5000 */ mfc1 $t2,$f10 -/* f186620: 44815000 */ mtc1 $at,$f10 -/* f186624: 240a0001 */ addiu $t2,$zero,0x1 -/* f186628: 460a4281 */ sub.s $f10,$f8,$f10 -/* f18662c: 44caf800 */ ctc1 $t2,$31 -/* f186630: 00000000 */ nop -/* f186634: 460052a4 */ cvt.w.s $f10,$f10 -/* f186638: 444af800 */ cfc1 $t2,$31 -/* f18663c: 00000000 */ nop -/* f186640: 314a0078 */ andi $t2,$t2,0x78 -/* f186644: 15400005 */ bnez $t2,.L0f18665c -/* f186648: 00000000 */ nop -/* f18664c: 440a5000 */ mfc1 $t2,$f10 -/* f186650: 3c018000 */ lui $at,0x8000 -/* f186654: 10000007 */ b .L0f186674 -/* f186658: 01415025 */ or $t2,$t2,$at -.L0f18665c: -/* f18665c: 10000005 */ b .L0f186674 -/* f186660: 240affff */ addiu $t2,$zero,-1 -/* f186664: 440a5000 */ mfc1 $t2,$f10 -.L0f186668: -/* f186668: 00000000 */ nop -/* f18666c: 0540fffb */ bltz $t2,.L0f18665c -/* f186670: 00000000 */ nop -.L0f186674: -/* f186674: 904c0002 */ lbu $t4,0x2($v0) -/* f186678: 44cbf800 */ ctc1 $t3,$31 -/* f18667c: a44a0000 */ sh $t2,0x0($v0) -/* f186680: 3189fffb */ andi $t1,$t4,0xfffb -/* f186684: 0fc033b9 */ jal setupGenericObject -/* f186688: a0490002 */ sb $t1,0x2($v0) -/* f18668c: 8fad0018 */ lw $t5,0x18($sp) -/* f186690: 0fc1812f */ jal propPrependToList1 -/* f186694: 8da40014 */ lw $a0,0x14($t5) -/* f186698: 8fb90018 */ lw $t9,0x18($sp) -/* f18669c: 0fc180bc */ jal propShow -/* f1866a0: 8f240014 */ lw $a0,0x14($t9) -/* f1866a4: 8fb80018 */ lw $t8,0x18($sp) -/* f1866a8: 8fbf0014 */ lw $ra,0x14($sp) -/* f1866ac: 8f020014 */ lw $v0,0x14($t8) -/* f1866b0: 03e00008 */ jr $ra -/* f1866b4: 27bd0078 */ addiu $sp,$sp,0x78 -); - -void mpCreateScenarioHudmsg(s32 playernum, char *message) -{ - if (playernum >= 0 && playernum < PLAYERCOUNT()) { - s32 prevplayernum = g_Vars.currentplayernum; - - setCurrentPlayerNum(playernum); - func0f0ddfa4(message, HUDMSGTYPE_MPSCENARIO, 1); - setCurrentPlayerNum(prevplayernum); - } -} - -bool mpChrsAreSameTeam(s32 arg0, s32 arg1) -{ - struct mpchr *achr; - struct mpchr *bchr; - - if ((g_MpSetup.options & MPOPTION_TEAMSENABLED) && arg0 >= 0 && arg1 >= 0) { - s32 a = func0f18d074(arg0); - s32 b = func0f18d074(arg1); - - if (a >= 0 && b >= 0) { - if (a < 4) { - achr = &g_MpPlayers[a].base; - } else { - achr = &g_MpSimulants[a - 4].base; - } - - if (b < 4) { - bchr = &g_MpPlayers[b].base; - } else { - bchr = &g_MpSimulants[b - 4].base; - } - - return (achr->team == bchr->team) ? true : false; - } - } - - return false; -} - -GLOBAL_ASM( -glabel chrGiveBriefcase -/* f186898: 27bdfed8 */ addiu $sp,$sp,-296 -/* f18689c: afbf002c */ sw $ra,0x2c($sp) -/* f1868a0: afb10028 */ sw $s1,0x28($sp) -/* f1868a4: afb00024 */ sw $s0,0x24($sp) -/* f1868a8: afa40128 */ sw $a0,0x128($sp) -/* f1868ac: afa5012c */ sw $a1,0x12c($sp) -/* f1868b0: 3c03800b */ lui $v1,%hi(g_MpSetup+0x10) -/* f1868b4: 8ca20004 */ lw $v0,0x4($a1) -/* f1868b8: 9063cb98 */ lbu $v1,%lo(g_MpSetup+0x10)($v1) -/* f1868bc: 24010001 */ addiu $at,$zero,0x1 -/* f1868c0: afa20124 */ sw $v0,0x124($sp) -/* f1868c4: 146100a5 */ bne $v1,$at,.L0f186b5c -/* f1868c8: afa20120 */ sw $v0,0x120($sp) -/* f1868cc: 8c98001c */ lw $t8,0x1c($a0) -/* f1868d0: 3c01800b */ lui $at,%hi(g_ScenarioData+0x4) -/* f1868d4: 3c11800a */ lui $s1,%hi(g_Vars) -/* f1868d8: ac38c114 */ sw $t8,%lo(g_ScenarioData+0x4)($at) -/* f1868dc: 8c9902d4 */ lw $t9,0x2d4($a0) -/* f1868e0: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) -/* f1868e4: 53200017 */ beqzl $t9,.L0f186944 -/* f1868e8: 8e39028c */ lw $t9,0x28c($s1) -/* f1868ec: 0fc633fe */ jal mpPlayerGetIndex -/* f1868f0: 00000000 */ nop -/* f1868f4: 00025080 */ sll $t2,$v0,0x2 -/* f1868f8: 3c0b800b */ lui $t3,%hi(var800ac500) -/* f1868fc: 016a5821 */ addu $t3,$t3,$t2 -/* f186900: 8d6bc500 */ lw $t3,%lo(var800ac500)($t3) -/* f186904: 8fac0120 */ lw $t4,0x120($sp) -/* f186908: 8fa4012c */ lw $a0,0x12c($sp) -/* f18690c: afab0050 */ sw $t3,0x50($sp) -/* f186910: 0fc21f03 */ jal propPlayPickupSound -/* f186914: 9185005c */ lbu $a1,0x5c($t4) -/* f186918: 8fa40128 */ lw $a0,0x128($sp) -/* f18691c: 24050057 */ addiu $a1,$zero,0x57 -/* f186920: 8c8302d4 */ lw $v1,0x2d4($a0) -/* f186924: 906e009c */ lbu $t6,0x9c($v1) -/* f186928: 35d80080 */ ori $t8,$t6,0x80 -/* f18692c: 0fc65fa3 */ jal func0f197e8c -/* f186930: a078009c */ sb $t8,0x9c($v1) -/* f186934: 3c11800a */ lui $s1,%hi(g_Vars) -/* f186938: 10000020 */ b .L0f1869bc -/* f18693c: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) -/* f186940: 8e39028c */ lw $t9,0x28c($s1) -.L0f186944: -/* f186944: 3c0c800b */ lui $t4,%hi(g_MpPlayers) -/* f186948: 258cc7b8 */ addiu $t4,$t4,%lo(g_MpPlayers) -/* f18694c: 001979c0 */ sll $t7,$t9,0x7 -/* f186950: 022f5021 */ addu $t2,$s1,$t7 -/* f186954: 8d4200e4 */ lw $v0,0xe4($t2) -/* f186958: 3c19800b */ lui $t9,%hi(g_MpSimulants) -/* f18695c: 2739c538 */ addiu $t9,$t9,%lo(g_MpSimulants) -/* f186960: 28410004 */ slti $at,$v0,0x4 -/* f186964: 10200007 */ beqz $at,.L0f186984 -/* f186968: 00027080 */ sll $t6,$v0,0x2 -/* f18696c: 00025880 */ sll $t3,$v0,0x2 -/* f186970: 01625821 */ addu $t3,$t3,$v0 -/* f186974: 000b5940 */ sll $t3,$t3,0x5 -/* f186978: 016c6821 */ addu $t5,$t3,$t4 -/* f18697c: 10000008 */ b .L0f1869a0 -/* f186980: afad0050 */ sw $t5,0x50($sp) -.L0f186984: -/* f186984: 01c27021 */ addu $t6,$t6,$v0 -/* f186988: 000e7080 */ sll $t6,$t6,0x2 -/* f18698c: 01c27023 */ subu $t6,$t6,$v0 -/* f186990: 000e7080 */ sll $t6,$t6,0x2 -/* f186994: 25d8fed0 */ addiu $t8,$t6,-304 -/* f186998: 03197821 */ addu $t7,$t8,$t9 -/* f18699c: afaf0050 */ sw $t7,0x50($sp) -.L0f1869a0: -/* f1869a0: 0fc44762 */ jal invGiveSingleWeapon -/* f1869a4: 24040057 */ addiu $a0,$zero,0x57 -/* f1869a8: 24040057 */ addiu $a0,$zero,0x57 -/* f1869ac: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg -/* f1869b0: 00002825 */ or $a1,$zero,$zero -/* f1869b4: 0fc21f44 */ jal func0f087d10 -/* f1869b8: 24040057 */ addiu $a0,$zero,0x57 -.L0f1869bc: -/* f1869bc: 0fc5b9f1 */ jal langGet -/* f1869c0: 24045400 */ addiu $a0,$zero,0x5400 -/* f1869c4: 24040057 */ addiu $a0,$zero,0x57 -/* f1869c8: 0fc28874 */ jal weaponGetShortName -/* f1869cc: afa20048 */ sw $v0,0x48($sp) -/* f1869d0: 8fa50048 */ lw $a1,0x48($sp) -/* f1869d4: 27a400d4 */ addiu $a0,$sp,0xd4 -/* f1869d8: 8fa60050 */ lw $a2,0x50($sp) -/* f1869dc: 0c004dad */ jal sprintf -/* f1869e0: 00403825 */ or $a3,$v0,$zero -/* f1869e4: 8e29006c */ lw $t1,0x6c($s1) -/* f1869e8: 8e2a028c */ lw $t2,0x28c($s1) -/* f1869ec: 00008025 */ or $s0,$zero,$zero -/* f1869f0: 11200003 */ beqz $t1,.L0f186a00 -/* f1869f4: afaa0118 */ sw $t2,0x118($sp) -/* f1869f8: 10000002 */ b .L0f186a04 -/* f1869fc: 24040001 */ addiu $a0,$zero,0x1 -.L0f186a00: -/* f186a00: 00002025 */ or $a0,$zero,$zero -.L0f186a04: -/* f186a04: 8e280068 */ lw $t0,0x68($s1) -/* f186a08: 00001825 */ or $v1,$zero,$zero -/* f186a0c: 00002825 */ or $a1,$zero,$zero -/* f186a10: 11000003 */ beqz $t0,.L0f186a20 -/* f186a14: 00001025 */ or $v0,$zero,$zero -/* f186a18: 10000001 */ b .L0f186a20 -/* f186a1c: 24030001 */ addiu $v1,$zero,0x1 -.L0f186a20: -/* f186a20: 8e270064 */ lw $a3,0x64($s1) -/* f186a24: 10e00003 */ beqz $a3,.L0f186a34 -/* f186a28: 00000000 */ nop -/* f186a2c: 10000001 */ b .L0f186a34 -/* f186a30: 24050001 */ addiu $a1,$zero,0x1 -.L0f186a34: -/* f186a34: 8e260070 */ lw $a2,0x70($s1) -/* f186a38: 10c00003 */ beqz $a2,.L0f186a48 -/* f186a3c: 00000000 */ nop -/* f186a40: 10000001 */ b .L0f186a48 -/* f186a44: 24020001 */ addiu $v0,$zero,0x1 -.L0f186a48: -/* f186a48: 00455821 */ addu $t3,$v0,$a1 -/* f186a4c: 01636021 */ addu $t4,$t3,$v1 -/* f186a50: 01846821 */ addu $t5,$t4,$a0 -/* f186a54: 19a0002d */ blez $t5,.L0f186b0c -/* f186a58: 00000000 */ nop -/* f186a5c: 8fae0128 */ lw $t6,0x128($sp) -.L0f186a60: -/* f186a60: 8fb90118 */ lw $t9,0x118($sp) -/* f186a64: 8dd802d4 */ lw $t8,0x2d4($t6) -/* f186a68: 17000003 */ bnez $t8,.L0f186a78 -/* f186a6c: 00000000 */ nop -/* f186a70: 1219000f */ beq $s0,$t9,.L0f186ab0 -/* f186a74: 00000000 */ nop -.L0f186a78: -/* f186a78: 0fc4a24b */ jal setCurrentPlayerNum -/* f186a7c: 02002025 */ or $a0,$s0,$zero -/* f186a80: 27a400d4 */ addiu $a0,$sp,0xd4 -/* f186a84: 24050009 */ addiu $a1,$zero,0x9 -/* f186a88: 0fc377e9 */ jal func0f0ddfa4 -/* f186a8c: 24060001 */ addiu $a2,$zero,0x1 -/* f186a90: 3c09800a */ lui $t1,%hi(g_Vars+0x6c) -/* f186a94: 3c08800a */ lui $t0,%hi(g_Vars+0x68) -/* f186a98: 3c07800a */ lui $a3,%hi(g_Vars+0x64) -/* f186a9c: 3c06800a */ lui $a2,%hi(g_Vars+0x70) -/* f186aa0: 8cc6a030 */ lw $a2,%lo(g_Vars+0x70)($a2) -/* f186aa4: 8ce7a024 */ lw $a3,%lo(g_Vars+0x64)($a3) -/* f186aa8: 8d08a028 */ lw $t0,%lo(g_Vars+0x68)($t0) -/* f186aac: 8d29a02c */ lw $t1,%lo(g_Vars+0x6c)($t1) -.L0f186ab0: -/* f186ab0: 11200003 */ beqz $t1,.L0f186ac0 -/* f186ab4: 26100001 */ addiu $s0,$s0,0x1 -/* f186ab8: 10000002 */ b .L0f186ac4 -/* f186abc: 24040001 */ addiu $a0,$zero,0x1 -.L0f186ac0: -/* f186ac0: 00002025 */ or $a0,$zero,$zero -.L0f186ac4: -/* f186ac4: 11000003 */ beqz $t0,.L0f186ad4 -/* f186ac8: 00001825 */ or $v1,$zero,$zero -/* f186acc: 10000001 */ b .L0f186ad4 -/* f186ad0: 24030001 */ addiu $v1,$zero,0x1 -.L0f186ad4: -/* f186ad4: 10e00003 */ beqz $a3,.L0f186ae4 -/* f186ad8: 00002825 */ or $a1,$zero,$zero -/* f186adc: 10000001 */ b .L0f186ae4 -/* f186ae0: 24050001 */ addiu $a1,$zero,0x1 -.L0f186ae4: -/* f186ae4: 10c00003 */ beqz $a2,.L0f186af4 -/* f186ae8: 00001025 */ or $v0,$zero,$zero -/* f186aec: 10000001 */ b .L0f186af4 -/* f186af0: 24020001 */ addiu $v0,$zero,0x1 -.L0f186af4: -/* f186af4: 00457821 */ addu $t7,$v0,$a1 -/* f186af8: 01e35021 */ addu $t2,$t7,$v1 -/* f186afc: 01445821 */ addu $t3,$t2,$a0 -/* f186b00: 020b082a */ slt $at,$s0,$t3 -/* f186b04: 5420ffd6 */ bnezl $at,.L0f186a60 -/* f186b08: 8fae0128 */ lw $t6,0x128($sp) -.L0f186b0c: -/* f186b0c: 0fc4a24b */ jal setCurrentPlayerNum -/* f186b10: 8fa40118 */ lw $a0,0x118($sp) -/* f186b14: 8fac0128 */ lw $t4,0x128($sp) -/* f186b18: 8fa30124 */ lw $v1,0x124($sp) -/* f186b1c: 8fa40124 */ lw $a0,0x124($sp) -/* f186b20: 8d8d02d4 */ lw $t5,0x2d4($t4) -/* f186b24: 51a00007 */ beqzl $t5,.L0f186b44 -/* f186b28: 90860002 */ lbu $a2,0x2($a0) -/* f186b2c: 8c6e0040 */ lw $t6,0x40($v1) -/* f186b30: 00001025 */ or $v0,$zero,$zero -/* f186b34: 35d80004 */ ori $t8,$t6,0x4 -/* f186b38: 100001ce */ b .L0f187274 -/* f186b3c: ac780040 */ sw $t8,0x40($v1) -/* f186b40: 90860002 */ lbu $a2,0x2($a0) -.L0f186b44: -/* f186b44: 00002825 */ or $a1,$zero,$zero -/* f186b48: 30cf0004 */ andi $t7,$a2,0x4 -/* f186b4c: 0fc1ab4b */ jal func0f06ad2c -/* f186b50: 01e03025 */ or $a2,$t7,$zero -/* f186b54: 100001c7 */ b .L0f187274 -/* f186b58: 24020001 */ addiu $v0,$zero,0x1 -.L0f186b5c: -/* f186b5c: 24010005 */ addiu $at,$zero,0x5 -/* f186b60: 146101be */ bne $v1,$at,.L0f18725c -/* f186b64: 8faf0128 */ lw $t7,0x128($sp) -/* f186b68: 8faa0128 */ lw $t2,0x128($sp) -/* f186b6c: 3c11800a */ lui $s1,%hi(g_Vars) -/* f186b70: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) -/* f186b74: 8d4302d4 */ lw $v1,0x2d4($t2) -/* f186b78: 5060000e */ beqzl $v1,.L0f186bb4 -/* f186b7c: 8e2e028c */ lw $t6,0x28c($s1) -/* f186b80: 0fc633fe */ jal mpPlayerGetIndex -/* f186b84: 01402025 */ or $a0,$t2,$zero -/* f186b88: 00025880 */ sll $t3,$v0,0x2 -/* f186b8c: 3c0c800b */ lui $t4,%hi(var800ac500) -/* f186b90: 018b6021 */ addu $t4,$t4,$t3 -/* f186b94: 8d8cc500 */ lw $t4,%lo(var800ac500)($t4) -/* f186b98: 8fad0128 */ lw $t5,0x128($sp) -/* f186b9c: 3c11800a */ lui $s1,%hi(g_Vars) -/* f186ba0: afac0050 */ sw $t4,0x50($sp) -/* f186ba4: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) -/* f186ba8: 10000019 */ b .L0f186c10 -/* f186bac: 8da302d4 */ lw $v1,0x2d4($t5) -/* f186bb0: 8e2e028c */ lw $t6,0x28c($s1) -.L0f186bb4: -/* f186bb4: 3c0a800b */ lui $t2,%hi(g_MpPlayers) -/* f186bb8: 254ac7b8 */ addiu $t2,$t2,%lo(g_MpPlayers) -/* f186bbc: 000ec1c0 */ sll $t8,$t6,0x7 -/* f186bc0: 0238c821 */ addu $t9,$s1,$t8 -/* f186bc4: 8f2200e4 */ lw $v0,0xe4($t9) -/* f186bc8: 3c0e800b */ lui $t6,%hi(g_MpSimulants) -/* f186bcc: 25cec538 */ addiu $t6,$t6,%lo(g_MpSimulants) -/* f186bd0: 28410004 */ slti $at,$v0,0x4 -/* f186bd4: 10200007 */ beqz $at,.L0f186bf4 -/* f186bd8: 00026080 */ sll $t4,$v0,0x2 -/* f186bdc: 00027880 */ sll $t7,$v0,0x2 -/* f186be0: 01e27821 */ addu $t7,$t7,$v0 -/* f186be4: 000f7940 */ sll $t7,$t7,0x5 -/* f186be8: 01ea5821 */ addu $t3,$t7,$t2 -/* f186bec: 10000008 */ b .L0f186c10 -/* f186bf0: afab0050 */ sw $t3,0x50($sp) -.L0f186bf4: -/* f186bf4: 01826021 */ addu $t4,$t4,$v0 -/* f186bf8: 000c6080 */ sll $t4,$t4,0x2 -/* f186bfc: 01826023 */ subu $t4,$t4,$v0 -/* f186c00: 000c6080 */ sll $t4,$t4,0x2 -/* f186c04: 258dfed0 */ addiu $t5,$t4,-304 -/* f186c08: 01aec021 */ addu $t8,$t5,$t6 -/* f186c0c: afb80050 */ sw $t8,0x50($sp) -.L0f186c10: -/* f186c10: 8fb90050 */ lw $t9,0x50($sp) -/* f186c14: 8faa0120 */ lw $t2,0x120($sp) -/* f186c18: 932f0011 */ lbu $t7,0x11($t9) -/* f186c1c: 854b0062 */ lh $t3,0x62($t2) -/* f186c20: 15eb00c8 */ bne $t7,$t3,.L0f186f44 -/* f186c24: 00000000 */ nop -/* f186c28: 10600005 */ beqz $v1,.L0f186c40 -/* f186c2c: 00000000 */ nop -/* f186c30: 8c6c009c */ lw $t4,0x9c($v1) -/* f186c34: 000c7040 */ sll $t6,$t4,0x1 -/* f186c38: 05c20008 */ bltzl $t6,.L0f186c5c -/* f186c3c: 8fb80050 */ lw $t8,0x50($sp) -.L0f186c40: -/* f186c40: 546000b9 */ bnezl $v1,.L0f186f28 -/* f186c44: 8fad0128 */ lw $t5,0x128($sp) -/* f186c48: 0fc44a11 */ jal invHasBriefcase -/* f186c4c: 00000000 */ nop -/* f186c50: 504000b5 */ beqzl $v0,.L0f186f28 -/* f186c54: 8fad0128 */ lw $t5,0x128($sp) -/* f186c58: 8fb80050 */ lw $t8,0x50($sp) -.L0f186c5c: -/* f186c5c: 3c02800b */ lui $v0,%hi(g_ScenarioData) -/* f186c60: 2442c110 */ addiu $v0,$v0,%lo(g_ScenarioData) -/* f186c64: 8719003e */ lh $t9,0x3e($t8) -/* f186c68: 00008025 */ or $s0,$zero,$zero -/* f186c6c: 272a0001 */ addiu $t2,$t9,0x1 -/* f186c70: a70a003e */ sh $t2,0x3e($t8) -/* f186c74: 8faf0128 */ lw $t7,0x128($sp) -/* f186c78: 8fac0128 */ lw $t4,0x128($sp) -/* f186c7c: 8de3001c */ lw $v1,0x1c($t7) -.L0f186c80: -/* f186c80: 8c4b0058 */ lw $t3,0x58($v0) -/* f186c84: 506b0006 */ beql $v1,$t3,.L0f186ca0 -/* f186c88: 8d8d02d4 */ lw $t5,0x2d4($t4) -/* f186c8c: 26100001 */ addiu $s0,$s0,0x1 -/* f186c90: 2a010004 */ slti $at,$s0,0x4 -/* f186c94: 1420fffa */ bnez $at,.L0f186c80 -/* f186c98: 24420004 */ addiu $v0,$v0,0x4 -/* f186c9c: 8d8d02d4 */ lw $t5,0x2d4($t4) -.L0f186ca0: -/* f186ca0: 11a00009 */ beqz $t5,.L0f186cc8 -/* f186ca4: 01802025 */ or $a0,$t4,$zero -/* f186ca8: 0fc66661 */ jal func0f199984 -/* f186cac: 24050057 */ addiu $a1,$zero,0x57 -/* f186cb0: 8fae0128 */ lw $t6,0x128($sp) -/* f186cb4: 8dc302d4 */ lw $v1,0x2d4($t6) -/* f186cb8: 9079009c */ lbu $t9,0x9c($v1) -/* f186cbc: 332affbf */ andi $t2,$t9,0xffbf -/* f186cc0: 10000014 */ b .L0f186d14 -/* f186cc4: a06a009c */ sb $t2,0x9c($v1) -.L0f186cc8: -/* f186cc8: 3c01bf80 */ lui $at,0xbf80 -/* f186ccc: 44812000 */ mtc1 $at,$f4 -/* f186cd0: 3c048009 */ lui $a0,%hi(var80095200) -/* f186cd4: 2418ffff */ addiu $t8,$zero,-1 -/* f186cd8: 240fffff */ addiu $t7,$zero,-1 -/* f186cdc: 240bffff */ addiu $t3,$zero,-1 -/* f186ce0: afab001c */ sw $t3,0x1c($sp) -/* f186ce4: afaf0018 */ sw $t7,0x18($sp) -/* f186ce8: afb80010 */ sw $t8,0x10($sp) -/* f186cec: 8c845200 */ lw $a0,%lo(var80095200)($a0) -/* f186cf0: 240505b8 */ addiu $a1,$zero,0x5b8 -/* f186cf4: 00003025 */ or $a2,$zero,$zero -/* f186cf8: 2407ffff */ addiu $a3,$zero,-1 -/* f186cfc: 0c004241 */ jal audioStart -/* f186d00: e7a40014 */ swc1 $f4,0x14($sp) -/* f186d04: 0fc24494 */ jal func0f091250 -/* f186d08: 24040057 */ addiu $a0,$zero,0x57 -/* f186d0c: 0fc447a9 */ jal invRemoveItemByNum -/* f186d10: 24040057 */ addiu $a0,$zero,0x57 -.L0f186d14: -/* f186d14: 0fc5b9f1 */ jal langGet -/* f186d18: 24045404 */ addiu $a0,$zero,0x5404 -/* f186d1c: 24040057 */ addiu $a0,$zero,0x57 -/* f186d20: 0fc28874 */ jal weaponGetShortName -/* f186d24: afa20048 */ sw $v0,0x48($sp) -/* f186d28: 00106880 */ sll $t5,$s0,0x2 -/* f186d2c: 01b06823 */ subu $t5,$t5,$s0 -/* f186d30: 3c0c800b */ lui $t4,%hi(g_MpSetup+0x28) -/* f186d34: 258ccbb0 */ addiu $t4,$t4,%lo(g_MpSetup+0x28) -/* f186d38: 000d6880 */ sll $t5,$t5,0x2 -/* f186d3c: 01ac3021 */ addu $a2,$t5,$t4 -/* f186d40: afa6003c */ sw $a2,0x3c($sp) -/* f186d44: 8fa50048 */ lw $a1,0x48($sp) -/* f186d48: 27a400d4 */ addiu $a0,$sp,0xd4 -/* f186d4c: 0c004dad */ jal sprintf -/* f186d50: 00403825 */ or $a3,$v0,$zero -/* f186d54: 0fc5b9f1 */ jal langGet -/* f186d58: 24045405 */ addiu $a0,$zero,0x5405 -/* f186d5c: 24040057 */ addiu $a0,$zero,0x57 -/* f186d60: 0fc28874 */ jal weaponGetShortName -/* f186d64: afa20048 */ sw $v0,0x48($sp) -/* f186d68: 8fa50048 */ lw $a1,0x48($sp) -/* f186d6c: 27a40094 */ addiu $a0,$sp,0x94 -/* f186d70: 8fa60050 */ lw $a2,0x50($sp) -/* f186d74: 0c004dad */ jal sprintf -/* f186d78: 00403825 */ or $a3,$v0,$zero -/* f186d7c: 0fc5b9f1 */ jal langGet -/* f186d80: 24045406 */ addiu $a0,$zero,0x5406 -/* f186d84: 24040057 */ addiu $a0,$zero,0x57 -/* f186d88: 0fc28874 */ jal weaponGetShortName -/* f186d8c: afa20048 */ sw $v0,0x48($sp) -/* f186d90: 8fa50048 */ lw $a1,0x48($sp) -/* f186d94: 27a40054 */ addiu $a0,$sp,0x54 -/* f186d98: 8fa60050 */ lw $a2,0x50($sp) -/* f186d9c: 8fa7003c */ lw $a3,0x3c($sp) -/* f186da0: 0c004dad */ jal sprintf -/* f186da4: afa20010 */ sw $v0,0x10($sp) -/* f186da8: 8e39006c */ lw $t9,0x6c($s1) -/* f186dac: 8e2e028c */ lw $t6,0x28c($s1) -/* f186db0: afb00114 */ sw $s0,0x114($sp) -/* f186db4: 00008025 */ or $s0,$zero,$zero -/* f186db8: 13200003 */ beqz $t9,.L0f186dc8 -/* f186dbc: afae0118 */ sw $t6,0x118($sp) -/* f186dc0: 10000002 */ b .L0f186dcc -/* f186dc4: 24040001 */ addiu $a0,$zero,0x1 -.L0f186dc8: -/* f186dc8: 00002025 */ or $a0,$zero,$zero -.L0f186dcc: -/* f186dcc: 8e2a0068 */ lw $t2,0x68($s1) -/* f186dd0: 00001825 */ or $v1,$zero,$zero -/* f186dd4: 00002825 */ or $a1,$zero,$zero -/* f186dd8: 11400003 */ beqz $t2,.L0f186de8 -/* f186ddc: 00001025 */ or $v0,$zero,$zero -/* f186de0: 10000001 */ b .L0f186de8 -/* f186de4: 24030001 */ addiu $v1,$zero,0x1 -.L0f186de8: -/* f186de8: 8e380064 */ lw $t8,0x64($s1) -/* f186dec: 13000003 */ beqz $t8,.L0f186dfc -/* f186df0: 00000000 */ nop -/* f186df4: 10000001 */ b .L0f186dfc -/* f186df8: 24050001 */ addiu $a1,$zero,0x1 -.L0f186dfc: -/* f186dfc: 8e2f0070 */ lw $t7,0x70($s1) -/* f186e00: 11e00003 */ beqz $t7,.L0f186e10 -/* f186e04: 00000000 */ nop -/* f186e08: 10000001 */ b .L0f186e10 -/* f186e0c: 24020001 */ addiu $v0,$zero,0x1 -.L0f186e10: -/* f186e10: 00455821 */ addu $t3,$v0,$a1 -/* f186e14: 01636821 */ addu $t5,$t3,$v1 -/* f186e18: 01a46021 */ addu $t4,$t5,$a0 -/* f186e1c: 1980003f */ blez $t4,.L0f186f1c -/* f186e20: 00000000 */ nop -.L0f186e24: -/* f186e24: 0fc4a24b */ jal setCurrentPlayerNum -/* f186e28: 02002025 */ or $a0,$s0,$zero -/* f186e2c: 8fae0128 */ lw $t6,0x128($sp) -/* f186e30: 00107880 */ sll $t7,$s0,0x2 -/* f186e34: 3c0b800b */ lui $t3,%hi(var800ac500) -/* f186e38: 8dd902d4 */ lw $t9,0x2d4($t6) -/* f186e3c: 8faa0118 */ lw $t2,0x118($sp) -/* f186e40: 016f5821 */ addu $t3,$t3,$t7 -/* f186e44: 17200008 */ bnez $t9,.L0f186e68 -/* f186e48: 00000000 */ nop -/* f186e4c: 160a0006 */ bne $s0,$t2,.L0f186e68 -/* f186e50: 27a400d4 */ addiu $a0,$sp,0xd4 -/* f186e54: 24050009 */ addiu $a1,$zero,0x9 -/* f186e58: 0fc377e9 */ jal func0f0ddfa4 -/* f186e5c: 24060001 */ addiu $a2,$zero,0x1 -/* f186e60: 10000011 */ b .L0f186ea8 -/* f186e64: 8e2c006c */ lw $t4,0x6c($s1) -.L0f186e68: -/* f186e68: 8d6bc500 */ lw $t3,%lo(var800ac500)($t3) -/* f186e6c: 8fb80114 */ lw $t8,0x114($sp) -/* f186e70: 24060001 */ addiu $a2,$zero,0x1 -/* f186e74: 916d0011 */ lbu $t5,0x11($t3) -/* f186e78: 27a40054 */ addiu $a0,$sp,0x54 -/* f186e7c: 24050009 */ addiu $a1,$zero,0x9 -/* f186e80: 170d0006 */ bne $t8,$t5,.L0f186e9c -/* f186e84: 00000000 */ nop -/* f186e88: 27a40094 */ addiu $a0,$sp,0x94 -/* f186e8c: 0fc377e9 */ jal func0f0ddfa4 -/* f186e90: 24050009 */ addiu $a1,$zero,0x9 -/* f186e94: 10000004 */ b .L0f186ea8 -/* f186e98: 8e2c006c */ lw $t4,0x6c($s1) -.L0f186e9c: -/* f186e9c: 0fc377e9 */ jal func0f0ddfa4 -/* f186ea0: 24060001 */ addiu $a2,$zero,0x1 -/* f186ea4: 8e2c006c */ lw $t4,0x6c($s1) -.L0f186ea8: -/* f186ea8: 26100001 */ addiu $s0,$s0,0x1 -/* f186eac: 00002025 */ or $a0,$zero,$zero -/* f186eb0: 11800003 */ beqz $t4,.L0f186ec0 -/* f186eb4: 00001825 */ or $v1,$zero,$zero -/* f186eb8: 10000001 */ b .L0f186ec0 -/* f186ebc: 24040001 */ addiu $a0,$zero,0x1 -.L0f186ec0: -/* f186ec0: 8e2e0068 */ lw $t6,0x68($s1) -/* f186ec4: 00002825 */ or $a1,$zero,$zero -/* f186ec8: 00001025 */ or $v0,$zero,$zero -/* f186ecc: 11c00003 */ beqz $t6,.L0f186edc -/* f186ed0: 00000000 */ nop -/* f186ed4: 10000001 */ b .L0f186edc -/* f186ed8: 24030001 */ addiu $v1,$zero,0x1 -.L0f186edc: -/* f186edc: 8e390064 */ lw $t9,0x64($s1) -/* f186ee0: 13200003 */ beqz $t9,.L0f186ef0 -/* f186ee4: 00000000 */ nop -/* f186ee8: 10000001 */ b .L0f186ef0 -/* f186eec: 24050001 */ addiu $a1,$zero,0x1 -.L0f186ef0: -/* f186ef0: 8e2a0070 */ lw $t2,0x70($s1) -/* f186ef4: 11400003 */ beqz $t2,.L0f186f04 -/* f186ef8: 00000000 */ nop -/* f186efc: 10000001 */ b .L0f186f04 -/* f186f00: 24020001 */ addiu $v0,$zero,0x1 -.L0f186f04: -/* f186f04: 00457821 */ addu $t7,$v0,$a1 -/* f186f08: 01e35821 */ addu $t3,$t7,$v1 -/* f186f0c: 0164c021 */ addu $t8,$t3,$a0 -/* f186f10: 0218082a */ slt $at,$s0,$t8 -/* f186f14: 1420ffc3 */ bnez $at,.L0f186e24 -/* f186f18: 00000000 */ nop -.L0f186f1c: -/* f186f1c: 0fc4a24b */ jal setCurrentPlayerNum -/* f186f20: 8fa40118 */ lw $a0,0x118($sp) -/* f186f24: 8fad0128 */ lw $t5,0x128($sp) -.L0f186f28: -/* f186f28: 8dac02d4 */ lw $t4,0x2d4($t5) -/* f186f2c: 11800003 */ beqz $t4,.L0f186f3c -/* f186f30: 00000000 */ nop -/* f186f34: 100000cf */ b .L0f187274 -/* f186f38: 00001025 */ or $v0,$zero,$zero -.L0f186f3c: -/* f186f3c: 100000cd */ b .L0f187274 -/* f186f40: 00001025 */ or $v0,$zero,$zero -.L0f186f44: -/* f186f44: 10600005 */ beqz $v1,.L0f186f5c -/* f186f48: 00000000 */ nop -/* f186f4c: 8c6e009c */ lw $t6,0x9c($v1) -/* f186f50: 000e5040 */ sll $t2,$t6,0x1 -/* f186f54: 05410008 */ bgez $t2,.L0f186f78 -/* f186f58: 00000000 */ nop -.L0f186f5c: -/* f186f5c: 546000b8 */ bnezl $v1,.L0f187240 -/* f186f60: 8fac0128 */ lw $t4,0x128($sp) -/* f186f64: 0fc44a11 */ jal invHasBriefcase -/* f186f68: 00000000 */ nop -/* f186f6c: 144000b3 */ bnez $v0,.L0f18723c -/* f186f70: 8faf0128 */ lw $t7,0x128($sp) -/* f186f74: 8de302d4 */ lw $v1,0x2d4($t7) -.L0f186f78: -/* f186f78: 50600009 */ beqzl $v1,.L0f186fa0 -/* f186f7c: 8faa0120 */ lw $t2,0x120($sp) -/* f186f80: 9078009c */ lbu $t8,0x9c($v1) -/* f186f84: 370d0040 */ ori $t5,$t8,0x40 -/* f186f88: a06d009c */ sb $t5,0x9c($v1) -/* f186f8c: 8fac0120 */ lw $t4,0x120($sp) -/* f186f90: 8fa4012c */ lw $a0,0x12c($sp) -/* f186f94: 0fc21f03 */ jal propPlayPickupSound -/* f186f98: 9185005c */ lbu $a1,0x5c($t4) -/* f186f9c: 8faa0120 */ lw $t2,0x120($sp) -.L0f186fa0: -/* f186fa0: 8fae0128 */ lw $t6,0x128($sp) -/* f186fa4: 3c01800b */ lui $at,%hi(g_ScenarioData+0x58) -/* f186fa8: 854f0062 */ lh $t7,0x62($t2) -/* f186fac: 8dd9001c */ lw $t9,0x1c($t6) -/* f186fb0: 24045401 */ addiu $a0,$zero,0x5401 -/* f186fb4: 000f5880 */ sll $t3,$t7,0x2 -/* f186fb8: 002b0821 */ addu $at,$at,$t3 -/* f186fbc: 0fc5b9f1 */ jal langGet -/* f186fc0: ac39c168 */ sw $t9,%lo(g_ScenarioData+0x58)($at) -/* f186fc4: 24040057 */ addiu $a0,$zero,0x57 -/* f186fc8: 0fc28874 */ jal weaponGetShortName -/* f186fcc: afa20048 */ sw $v0,0x48($sp) -/* f186fd0: 8fb80120 */ lw $t8,0x120($sp) -/* f186fd4: 3c10800b */ lui $s0,%hi(g_MpSetup+0x28) -/* f186fd8: 2610cbb0 */ addiu $s0,$s0,%lo(g_MpSetup+0x28) -/* f186fdc: 870d0062 */ lh $t5,0x62($t8) -/* f186fe0: afa20010 */ sw $v0,0x10($sp) -/* f186fe4: 8fa50048 */ lw $a1,0x48($sp) -/* f186fe8: 000d6080 */ sll $t4,$t5,0x2 -/* f186fec: 018d6023 */ subu $t4,$t4,$t5 -/* f186ff0: 000c6080 */ sll $t4,$t4,0x2 -/* f186ff4: 020c3821 */ addu $a3,$s0,$t4 -/* f186ff8: 27a400d4 */ addiu $a0,$sp,0xd4 -/* f186ffc: 0c004dad */ jal sprintf -/* f187000: 8fa60050 */ lw $a2,0x50($sp) -/* f187004: 0fc5b9f1 */ jal langGet -/* f187008: 24045402 */ addiu $a0,$zero,0x5402 -/* f18700c: 24040057 */ addiu $a0,$zero,0x57 -/* f187010: 0fc28874 */ jal weaponGetShortName -/* f187014: afa20048 */ sw $v0,0x48($sp) -/* f187018: 8fa50048 */ lw $a1,0x48($sp) -/* f18701c: 27a40094 */ addiu $a0,$sp,0x94 -/* f187020: 8fa60050 */ lw $a2,0x50($sp) -/* f187024: 0c004dad */ jal sprintf -/* f187028: 00403825 */ or $a3,$v0,$zero -/* f18702c: 0fc5b9f1 */ jal langGet -/* f187030: 24045403 */ addiu $a0,$zero,0x5403 -/* f187034: 24040057 */ addiu $a0,$zero,0x57 -/* f187038: 0fc28874 */ jal weaponGetShortName -/* f18703c: afa20048 */ sw $v0,0x48($sp) -/* f187040: 8fae0120 */ lw $t6,0x120($sp) -/* f187044: 8fa50048 */ lw $a1,0x48($sp) -/* f187048: 27a40054 */ addiu $a0,$sp,0x54 -/* f18704c: 85ca0062 */ lh $t2,0x62($t6) -/* f187050: 00403825 */ or $a3,$v0,$zero -/* f187054: 000a7880 */ sll $t7,$t2,0x2 -/* f187058: 01ea7823 */ subu $t7,$t7,$t2 -/* f18705c: 000f7880 */ sll $t7,$t7,0x2 -/* f187060: 0c004dad */ jal sprintf -/* f187064: 020f3021 */ addu $a2,$s0,$t7 -/* f187068: 8e2b006c */ lw $t3,0x6c($s1) -/* f18706c: 8e39028c */ lw $t9,0x28c($s1) -/* f187070: 00008025 */ or $s0,$zero,$zero -/* f187074: 11600003 */ beqz $t3,.L0f187084 -/* f187078: afb90118 */ sw $t9,0x118($sp) -/* f18707c: 10000002 */ b .L0f187088 -/* f187080: 24040001 */ addiu $a0,$zero,0x1 -.L0f187084: -/* f187084: 00002025 */ or $a0,$zero,$zero -.L0f187088: -/* f187088: 8e380068 */ lw $t8,0x68($s1) -/* f18708c: 00001825 */ or $v1,$zero,$zero -/* f187090: 00002825 */ or $a1,$zero,$zero -/* f187094: 13000003 */ beqz $t8,.L0f1870a4 -/* f187098: 00001025 */ or $v0,$zero,$zero -/* f18709c: 10000001 */ b .L0f1870a4 -/* f1870a0: 24030001 */ addiu $v1,$zero,0x1 -.L0f1870a4: -/* f1870a4: 8e2d0064 */ lw $t5,0x64($s1) -/* f1870a8: 11a00003 */ beqz $t5,.L0f1870b8 -/* f1870ac: 00000000 */ nop -/* f1870b0: 10000001 */ b .L0f1870b8 -/* f1870b4: 24050001 */ addiu $a1,$zero,0x1 -.L0f1870b8: -/* f1870b8: 8e2c0070 */ lw $t4,0x70($s1) -/* f1870bc: 11800003 */ beqz $t4,.L0f1870cc -/* f1870c0: 00000000 */ nop -/* f1870c4: 10000001 */ b .L0f1870cc -/* f1870c8: 24020001 */ addiu $v0,$zero,0x1 -.L0f1870cc: -/* f1870cc: 00457021 */ addu $t6,$v0,$a1 -/* f1870d0: 01c35021 */ addu $t2,$t6,$v1 -/* f1870d4: 01447821 */ addu $t7,$t2,$a0 -/* f1870d8: 19e0003f */ blez $t7,.L0f1871d8 -/* f1870dc: 00000000 */ nop -.L0f1870e0: -/* f1870e0: 0fc4a24b */ jal setCurrentPlayerNum -/* f1870e4: 02002025 */ or $a0,$s0,$zero -/* f1870e8: 8fb90128 */ lw $t9,0x128($sp) -/* f1870ec: 00107080 */ sll $t6,$s0,0x2 -/* f1870f0: 3c0a800b */ lui $t2,%hi(var800ac500) -/* f1870f4: 8f2b02d4 */ lw $t3,0x2d4($t9) -/* f1870f8: 8fb80118 */ lw $t8,0x118($sp) -/* f1870fc: 014e5021 */ addu $t2,$t2,$t6 -/* f187100: 15600008 */ bnez $t3,.L0f187124 -/* f187104: 8fad0120 */ lw $t5,0x120($sp) -/* f187108: 16180006 */ bne $s0,$t8,.L0f187124 -/* f18710c: 27a40054 */ addiu $a0,$sp,0x54 -/* f187110: 24050009 */ addiu $a1,$zero,0x9 -/* f187114: 0fc377e9 */ jal func0f0ddfa4 -/* f187118: 24060001 */ addiu $a2,$zero,0x1 -/* f18711c: 10000011 */ b .L0f187164 -/* f187120: 8e39006c */ lw $t9,0x6c($s1) -.L0f187124: -/* f187124: 8d4ac500 */ lw $t2,%lo(var800ac500)($t2) -/* f187128: 85ac0062 */ lh $t4,0x62($t5) -/* f18712c: 24060001 */ addiu $a2,$zero,0x1 -/* f187130: 914f0011 */ lbu $t7,0x11($t2) -/* f187134: 27a400d4 */ addiu $a0,$sp,0xd4 -/* f187138: 24050009 */ addiu $a1,$zero,0x9 -/* f18713c: 158f0006 */ bne $t4,$t7,.L0f187158 -/* f187140: 00000000 */ nop -/* f187144: 27a40094 */ addiu $a0,$sp,0x94 -/* f187148: 0fc377e9 */ jal func0f0ddfa4 -/* f18714c: 24050009 */ addiu $a1,$zero,0x9 -/* f187150: 10000004 */ b .L0f187164 -/* f187154: 8e39006c */ lw $t9,0x6c($s1) -.L0f187158: -/* f187158: 0fc377e9 */ jal func0f0ddfa4 -/* f18715c: 24060001 */ addiu $a2,$zero,0x1 -/* f187160: 8e39006c */ lw $t9,0x6c($s1) -.L0f187164: -/* f187164: 26100001 */ addiu $s0,$s0,0x1 -/* f187168: 00002025 */ or $a0,$zero,$zero -/* f18716c: 13200003 */ beqz $t9,.L0f18717c -/* f187170: 00001825 */ or $v1,$zero,$zero -/* f187174: 10000001 */ b .L0f18717c -/* f187178: 24040001 */ addiu $a0,$zero,0x1 -.L0f18717c: -/* f18717c: 8e2b0068 */ lw $t3,0x68($s1) -/* f187180: 00002825 */ or $a1,$zero,$zero -/* f187184: 00001025 */ or $v0,$zero,$zero -/* f187188: 11600003 */ beqz $t3,.L0f187198 -/* f18718c: 00000000 */ nop -/* f187190: 10000001 */ b .L0f187198 -/* f187194: 24030001 */ addiu $v1,$zero,0x1 -.L0f187198: -/* f187198: 8e380064 */ lw $t8,0x64($s1) -/* f18719c: 13000003 */ beqz $t8,.L0f1871ac -/* f1871a0: 00000000 */ nop -/* f1871a4: 10000001 */ b .L0f1871ac -/* f1871a8: 24050001 */ addiu $a1,$zero,0x1 -.L0f1871ac: -/* f1871ac: 8e2d0070 */ lw $t5,0x70($s1) -/* f1871b0: 11a00003 */ beqz $t5,.L0f1871c0 -/* f1871b4: 00000000 */ nop -/* f1871b8: 10000001 */ b .L0f1871c0 -/* f1871bc: 24020001 */ addiu $v0,$zero,0x1 -.L0f1871c0: -/* f1871c0: 00457021 */ addu $t6,$v0,$a1 -/* f1871c4: 01c35021 */ addu $t2,$t6,$v1 -/* f1871c8: 01446021 */ addu $t4,$t2,$a0 -/* f1871cc: 020c082a */ slt $at,$s0,$t4 -/* f1871d0: 1420ffc3 */ bnez $at,.L0f1870e0 -/* f1871d4: 00000000 */ nop -.L0f1871d8: -/* f1871d8: 0fc4a24b */ jal setCurrentPlayerNum -/* f1871dc: 8fa40118 */ lw $a0,0x118($sp) -/* f1871e0: 8faf0128 */ lw $t7,0x128($sp) -/* f1871e4: 8df902d4 */ lw $t9,0x2d4($t7) -/* f1871e8: 01e02025 */ or $a0,$t7,$zero -/* f1871ec: 13200009 */ beqz $t9,.L0f187214 -/* f1871f0: 00000000 */ nop -/* f1871f4: 0fc65fa3 */ jal func0f197e8c -/* f1871f8: 24050057 */ addiu $a1,$zero,0x57 -/* f1871fc: 8fab0124 */ lw $t3,0x124($sp) -/* f187200: 00001025 */ or $v0,$zero,$zero -/* f187204: 8d780040 */ lw $t8,0x40($t3) -/* f187208: 370d0004 */ ori $t5,$t8,0x4 -/* f18720c: 10000019 */ b .L0f187274 -/* f187210: ad6d0040 */ sw $t5,0x40($t3) -.L0f187214: -/* f187214: 0fc4483c */ jal invGiveWeaponsByProp -/* f187218: 8fa4012c */ lw $a0,0x12c($sp) -/* f18721c: 8fa40124 */ lw $a0,0x124($sp) -/* f187220: 00002825 */ or $a1,$zero,$zero -/* f187224: 90860002 */ lbu $a2,0x2($a0) -/* f187228: 30ca0004 */ andi $t2,$a2,0x4 -/* f18722c: 0fc1ab4b */ jal func0f06ad2c -/* f187230: 01403025 */ or $a2,$t2,$zero -/* f187234: 1000000f */ b .L0f187274 -/* f187238: 24020001 */ addiu $v0,$zero,0x1 -.L0f18723c: -/* f18723c: 8fac0128 */ lw $t4,0x128($sp) -.L0f187240: -/* f187240: 8d9902d4 */ lw $t9,0x2d4($t4) -/* f187244: 13200003 */ beqz $t9,.L0f187254 -/* f187248: 00000000 */ nop -/* f18724c: 10000009 */ b .L0f187274 -/* f187250: 00001025 */ or $v0,$zero,$zero -.L0f187254: -/* f187254: 10000007 */ b .L0f187274 -/* f187258: 00001025 */ or $v0,$zero,$zero -.L0f18725c: -/* f18725c: 8df802d4 */ lw $t8,0x2d4($t7) -/* f187260: 00001025 */ or $v0,$zero,$zero -/* f187264: 13000003 */ beqz $t8,.L0f187274 -/* f187268: 00000000 */ nop -/* f18726c: 10000001 */ b .L0f187274 -/* f187270: 00001025 */ or $v0,$zero,$zero -.L0f187274: -/* f187274: 8fbf002c */ lw $ra,0x2c($sp) -/* f187278: 8fb00024 */ lw $s0,0x24($sp) -/* f18727c: 8fb10028 */ lw $s1,0x28($sp) -/* f187280: 03e00008 */ jr $ra -/* f187284: 27bd0128 */ addiu $sp,$sp,0x128 -); - -GLOBAL_ASM( -glabel func0f187288 -/* f187288: 27bdfef0 */ addiu $sp,$sp,-272 -/* f18728c: 3c0e800b */ lui $t6,%hi(g_MpSetup+0x10) -/* f187290: 91cecb98 */ lbu $t6,%lo(g_MpSetup+0x10)($t6) -/* f187294: afbf005c */ sw $ra,0x5c($sp) -/* f187298: afbe0058 */ sw $s8,0x58($sp) -/* f18729c: afb70054 */ sw $s7,0x54($sp) -/* f1872a0: afb60050 */ sw $s6,0x50($sp) -/* f1872a4: afb5004c */ sw $s5,0x4c($sp) -/* f1872a8: afb40048 */ sw $s4,0x48($sp) -/* f1872ac: afb30044 */ sw $s3,0x44($sp) -/* f1872b0: afb20040 */ sw $s2,0x40($sp) -/* f1872b4: afb1003c */ sw $s1,0x3c($sp) -/* f1872b8: afb00038 */ sw $s0,0x38($sp) -/* f1872bc: f7b40030 */ sdc1 $f20,0x30($sp) -/* f1872c0: 24010005 */ addiu $at,$zero,0x5 -/* f1872c4: 00a0b825 */ or $s7,$a1,$zero -/* f1872c8: 0080f025 */ or $s8,$a0,$zero -/* f1872cc: 15c10043 */ bne $t6,$at,.L0f1873dc -/* f1872d0: 8cb60004 */ lw $s6,0x4($a1) -/* f1872d4: 3c11800b */ lui $s1,%hi(g_ScenarioData) -/* f1872d8: 4480a000 */ mtc1 $zero,$f20 -/* f1872dc: 2631c110 */ addiu $s1,$s1,%lo(g_ScenarioData) -/* f1872e0: 00008025 */ or $s0,$zero,$zero -/* f1872e4: 27b50070 */ addiu $s5,$sp,0x70 -/* f1872e8: 27b400b0 */ addiu $s4,$sp,0xb0 -.L0f1872ec: -/* f1872ec: 8fcf001c */ lw $t7,0x1c($s8) -/* f1872f0: 8e380058 */ lw $t8,0x58($s1) -/* f1872f4: 02c02025 */ or $a0,$s6,$zero -/* f1872f8: 0010c840 */ sll $t9,$s0,0x1 -/* f1872fc: 15f80033 */ bne $t7,$t8,.L0f1873cc -/* f187300: 3c08800b */ lui $t0,%hi(g_ScenarioData) -/* f187304: 2508c110 */ addiu $t0,$t0,%lo(g_ScenarioData) -/* f187308: 0fc1ab10 */ jal objEndFlight -/* f18730c: 03289821 */ addu $s3,$t9,$t0 -/* f187310: ae370058 */ sw $s7,0x58($s1) -/* f187314: a6d00062 */ sh $s0,0x62($s6) -/* f187318: 86690008 */ lh $t1,0x8($s3) -/* f18731c: 3c04800b */ lui $a0,%hi(g_ScenarioData+0x18) -/* f187320: 8ef20004 */ lw $s2,0x4($s7) -/* f187324: 00095100 */ sll $t2,$t1,0x4 -/* f187328: 008a2021 */ addu $a0,$a0,$t2 -/* f18732c: 8484c128 */ lh $a0,%lo(g_ScenarioData+0x18)($a0) -/* f187330: 2405004e */ addiu $a1,$zero,0x4e -/* f187334: 0fc456ac */ jal padUnpack -/* f187338: 02803025 */ or $a2,$s4,$zero -/* f18733c: c7a400bc */ lwc1 $f4,0xbc($sp) -/* f187340: c7a800c0 */ lwc1 $f8,0xc0($sp) -/* f187344: c7b000c4 */ lwc1 $f16,0xc4($sp) -/* f187348: 46002187 */ neg.s $f6,$f4 -/* f18734c: 46004287 */ neg.s $f10,$f8 -/* f187350: e7a60010 */ swc1 $f6,0x10($sp) -/* f187354: c7a600cc */ lwc1 $f6,0xcc($sp) -/* f187358: c7a800d0 */ lwc1 $f8,0xd0($sp) -/* f18735c: c7a400c8 */ lwc1 $f4,0xc8($sp) -/* f187360: 46008487 */ neg.s $f18,$f16 -/* f187364: 4405a000 */ mfc1 $a1,$f20 -/* f187368: 4406a000 */ mfc1 $a2,$f20 -/* f18736c: 4407a000 */ mfc1 $a3,$f20 -/* f187370: e7b20018 */ swc1 $f18,0x18($sp) -/* f187374: e7aa0014 */ swc1 $f10,0x14($sp) -/* f187378: 02a02025 */ or $a0,$s5,$zero -/* f18737c: e7a60020 */ swc1 $f6,0x20($sp) -/* f187380: e7a80024 */ swc1 $f8,0x24($sp) -/* f187384: 0c005b56 */ jal func00016d58 -/* f187388: e7a4001c */ swc1 $f4,0x1c($sp) -/* f18738c: 8e420018 */ lw $v0,0x18($s2) -/* f187390: 02a02825 */ or $a1,$s5,$zero -/* f187394: 50400004 */ beqzl $v0,.L0f1873a8 -/* f187398: 8fab00f8 */ lw $t3,0xf8($sp) -/* f18739c: 0c0057c1 */ jal func00015f04 -/* f1873a0: c44c0014 */ lwc1 $f12,0x14($v0) -/* f1873a4: 8fab00f8 */ lw $t3,0xf8($sp) -.L0f1873a8: -/* f1873a8: 240cffff */ addiu $t4,$zero,-1 -/* f1873ac: a7ac006e */ sh $t4,0x6e($sp) -/* f1873b0: 02402025 */ or $a0,$s2,$zero -/* f1873b4: 02802825 */ or $a1,$s4,$zero -/* f1873b8: 02a03025 */ or $a2,$s5,$zero -/* f1873bc: 27a7006c */ addiu $a3,$sp,0x6c -/* f1873c0: afb40010 */ sw $s4,0x10($sp) -/* f1873c4: 0fc1a9cc */ jal func0f06a730 -/* f1873c8: a7ab006c */ sh $t3,0x6c($sp) -.L0f1873cc: -/* f1873cc: 26100001 */ addiu $s0,$s0,0x1 -/* f1873d0: 24010004 */ addiu $at,$zero,0x4 -/* f1873d4: 1601ffc5 */ bne $s0,$at,.L0f1872ec -/* f1873d8: 26310004 */ addiu $s1,$s1,0x4 -.L0f1873dc: -/* f1873dc: 8fbf005c */ lw $ra,0x5c($sp) -/* f1873e0: d7b40030 */ ldc1 $f20,0x30($sp) -/* f1873e4: 8fb00038 */ lw $s0,0x38($sp) -/* f1873e8: 8fb1003c */ lw $s1,0x3c($sp) -/* f1873ec: 8fb20040 */ lw $s2,0x40($sp) -/* f1873f0: 8fb30044 */ lw $s3,0x44($sp) -/* f1873f4: 8fb40048 */ lw $s4,0x48($sp) -/* f1873f8: 8fb5004c */ lw $s5,0x4c($sp) -/* f1873fc: 8fb60050 */ lw $s6,0x50($sp) -/* f187400: 8fb70054 */ lw $s7,0x54($sp) -/* f187404: 8fbe0058 */ lw $s8,0x58($sp) -/* f187408: 03e00008 */ jr $ra -/* f18740c: 27bd0110 */ addiu $sp,$sp,0x110 -); - -bool chrGiveUplink(struct chrdata *chr, struct prop *prop) -{ - s32 i; - struct mpchr *mpchr; - char message[60]; - s32 mpindex; - u32 playernum; - struct defaultobj *obj; - - if (g_MpSetup.scenario == MPSCENARIO_HACKERCENTRAL) { - obj = prop->obj; - g_ScenarioData.htm.uplink = chr->prop; - - if (chr->aibot) { - mpchr = var800ac500[mpPlayerGetIndex(chr)]; - } else { - mpindex = g_Vars.playerstats[g_Vars.currentplayernum].mpindex; - - if (mpindex < 4) { - mpchr = &g_MpPlayers[mpindex].base; - } else { - mpchr = &g_MpSimulants[mpindex - 4].base; - } - } - - // "%shas the\n%s" - sprintf(message, langGet(L_MPWEAPONS(0)), mpchr->name, weaponGetShortName(WEAPON_DATAUPLINK)); - playernum = g_Vars.currentplayernum; - - for (i = 0; i < PLAYERCOUNT(); i++) { - if (chr->aibot || i != playernum) { - setCurrentPlayerNum(i); - func0f0ddfa4(message, 9, 1); - } - } - - setCurrentPlayerNum(playernum); - - if (chr->aibot) { - propPlayPickupSound(prop, WEAPON_DATAUPLINK); - func0f197e8c(chr, WEAPON_DATAUPLINK); - chr->aibot->unk04c_05 = true; - obj->hidden |= 4; - return false; - } else { - invGiveSingleWeapon(WEAPON_DATAUPLINK); - currentPlayerQueuePickupWeaponHudmsg(WEAPON_DATAUPLINK, false); - func0f087d10(WEAPON_DATAUPLINK); - func0f06ad2c(obj, 0, obj->hidden2 & OBJH2FLAG_04); - return true; - } - } else if (chr->aibot) { - return false; - } - - return false; -} - -void scenarioHtmActivateUplink(struct chrdata *chr, struct prop *terminal) -{ - if (g_MpSetup.scenario == MPSCENARIO_HACKERCENTRAL) { - struct defaultobj *obj = terminal->obj; - - if (obj->flags3 & OBJFLAG3_00002000) { - u32 mpindex = mpPlayerGetIndex(chr); - - if ((obj->hidden & OBJHFLAG_ACTIVATED_BY_BOND) == 0) { - obj->hidden &= 0x0fffffff; - obj->hidden |= (mpindex << 28) & 0xf0000000; - obj->hidden |= OBJHFLAG_ACTIVATED_BY_BOND; - } - } - } -} diff --git a/src/game/mplayer/scenarios.c b/src/game/mplayer/scenarios.c index c78925b9a..4ecd62a5b 100644 --- a/src/game/mplayer/scenarios.c +++ b/src/game/mplayer/scenarios.c @@ -4861,9 +4861,6 @@ char *mpMenuTextScenarioName(struct menuitem *item) return g_StringPointer; } -const char var7f1b88d0[] = "%s:\n"; -const char var7f1b88d8[] = "%s\n"; - GLOBAL_ASM( glabel menuhandler00185068 .late_rodata @@ -5106,3 +5103,1967 @@ glabel var7f1b897c /* f185378: 03e00008 */ jr $ra /* f18537c: 27bd0050 */ addiu $sp,$sp,0x50 ); + +s32 menuhandlerMpOpenOptions(s32 operation, struct menuitem *item, union handlerdata *data) +{ + if (operation == MENUOP_SET) { + menuPushDialog(g_MpScenarios[g_MpSetup.scenario].optionsdialog); + } + + return 0; +} + +void scenarioCallback40(s32 *arg0) +{ + if (g_MpScenarios[g_MpSetup.scenario].unk40) { + g_MpScenarios[g_MpSetup.scenario].unk40(arg0); + } else { + savefileGetInteger(arg0, 8); + } +} + +void scenarioCallback44(s32 *arg0) +{ + if (g_MpScenarios[g_MpSetup.scenario].unk44) { + g_MpScenarios[g_MpSetup.scenario].unk44(arg0); + } else { + savefileGetSomething(arg0, 0, 8); + } +} + +void scenarioInit(void) +{ + if (g_MpScenarios[g_MpSetup.scenario].initfunc) { + g_MpScenarios[g_MpSetup.scenario].initfunc(); + } +} + +s32 scenarioCallback08(void) +{ + s32 result = 0; + + if (g_MpScenarios[g_MpSetup.scenario].unk08) { + result = g_MpScenarios[g_MpSetup.scenario].unk08(); + } + + return result; +} + +void scenarioReset(void) +{ + if (g_MpScenarios[g_MpSetup.scenario].resetfunc) { + g_MpScenarios[g_MpSetup.scenario].resetfunc(); + } +} + +void mpCreateMatchStartHudmsgs(void) +{ + s32 i; + s32 prevplayernum = g_Vars.currentplayernum; + char challengename[60]; + char scenarioname[60]; + + if (g_MpSetupSaveFile.locktype == MPLOCKTYPE_CHALLENGE) { + sprintf(challengename, "%s:\n", mpGetChallengeNameBySlot(mpGetCurrentChallengeIndex())); + } + + sprintf(scenarioname, "%s\n", langGet(g_MpScenarioOverviews[g_MpSetup.scenario].name)); + + for (i = 0; i < g_MpNumPlayers; i++) { + if (g_MpPlayerChrs[i]->aibot == NULL) { + setCurrentPlayerNum(i); + + if (g_MpSetupSaveFile.locktype == MPLOCKTYPE_CHALLENGE) { + func0f0ddfa4(challengename, HUDMSGTYPE_DEFAULT, 1); + } + + func0f0ddfa4(scenarioname, HUDMSGTYPE_DEFAULT, 1); + } + } + + setCurrentPlayerNum(prevplayernum); +} + +void scenarioTick(void) +{ + if (g_Vars.normmplayerisrunning) { + if (g_Vars.lvframenum == 5) { + mpCreateMatchStartHudmsgs(); + } + + if (g_MpScenarios[g_MpSetup.scenario].tickfunc) { + g_MpScenarios[g_MpSetup.scenario].tickfunc(); + } + } +} + +void scenarioCallback14(struct chrdata *chr) +{ + if (g_Vars.normmplayerisrunning && g_MpScenarios[g_MpSetup.scenario].unk14) { + g_MpScenarios[g_MpSetup.scenario].unk14(chr); + } +} + +GLOBAL_ASM( +glabel func0f185774 +/* f185774: 3c09800a */ lui $t1,%hi(g_Vars) +/* f185778: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars) +/* f18577c: 8d2e0318 */ lw $t6,0x318($t1) +/* f185780: 27bdffd0 */ addiu $sp,$sp,-48 +/* f185784: afbf0014 */ sw $ra,0x14($sp) +/* f185788: 11c0011d */ beqz $t6,.L0f185c00 +/* f18578c: 00802825 */ or $a1,$a0,$zero +/* f185790: 3c0a800b */ lui $t2,%hi(g_MpSetup) +/* f185794: 254acb88 */ addiu $t2,$t2,%lo(g_MpSetup) +/* f185798: 914f0010 */ lbu $t7,0x10($t2) +/* f18579c: 240b0048 */ addiu $t3,$zero,0x48 +/* f1857a0: 3c088008 */ lui $t0,%hi(g_MpScenarios) +/* f1857a4: 01eb0019 */ multu $t7,$t3 +/* f1857a8: 25086f98 */ addiu $t0,$t0,%lo(g_MpScenarios) +/* f1857ac: 0000c012 */ mflo $t8 +/* f1857b0: 0118c821 */ addu $t9,$t0,$t8 +/* f1857b4: 8f2c0018 */ lw $t4,0x18($t9) +/* f1857b8: 51800041 */ beqzl $t4,.L0f1858c0 +/* f1857bc: 8d2d006c */ lw $t5,0x6c($t1) +/* f1857c0: 914d001e */ lbu $t5,0x1e($t2) +/* f1857c4: 24010002 */ addiu $at,$zero,0x2 +/* f1857c8: 3c0e8008 */ lui $t6,%hi(g_NumReasonsToEndMpMatch) +/* f1857cc: 51a1003c */ beql $t5,$at,.L0f1858c0 +/* f1857d0: 8d2d006c */ lw $t5,0x6c($t1) +/* f1857d4: 8dce4038 */ lw $t6,%lo(g_NumReasonsToEndMpMatch)($t6) +/* f1857d8: 3c0fba00 */ lui $t7,0xba00 +/* f1857dc: 35ef0c02 */ ori $t7,$t7,0xc02 +/* f1857e0: 15c00036 */ bnez $t6,.L0f1858bc +/* f1857e4: 24830008 */ addiu $v1,$a0,0x8 +/* f1857e8: ac8f0000 */ sw $t7,0x0($a0) +/* f1857ec: ac800004 */ sw $zero,0x4($a0) +/* f1857f0: 3c18ba00 */ lui $t8,0xba00 +/* f1857f4: 37180602 */ ori $t8,$t8,0x602 +/* f1857f8: 241900c0 */ addiu $t9,$zero,0xc0 +/* f1857fc: ac790004 */ sw $t9,0x4($v1) +/* f185800: ac780000 */ sw $t8,0x0($v1) +/* f185804: 24640008 */ addiu $a0,$v1,0x8 +/* f185808: 3c0cb600 */ lui $t4,0xb600 +/* f18580c: 240d0001 */ addiu $t5,$zero,0x1 +/* f185810: ac8d0004 */ sw $t5,0x4($a0) +/* f185814: ac8c0000 */ sw $t4,0x0($a0) +/* f185818: 24850008 */ addiu $a1,$a0,0x8 +/* f18581c: 3c0ee700 */ lui $t6,0xe700 +/* f185820: acae0000 */ sw $t6,0x0($a1) +/* f185824: 24a70008 */ addiu $a3,$a1,0x8 +/* f185828: 3c0fba00 */ lui $t7,0xba00 +/* f18582c: aca00004 */ sw $zero,0x4($a1) +/* f185830: 35ef1301 */ ori $t7,$t7,0x1301 +/* f185834: acef0000 */ sw $t7,0x0($a3) +/* f185838: 24e20008 */ addiu $v0,$a3,0x8 +/* f18583c: ace00004 */ sw $zero,0x4($a3) +/* f185840: 3c18ba00 */ lui $t8,0xba00 +/* f185844: 37181402 */ ori $t8,$t8,0x1402 +/* f185848: 24430008 */ addiu $v1,$v0,0x8 +/* f18584c: 3c190030 */ lui $t9,0x30 +/* f185850: ac590004 */ sw $t9,0x4($v0) +/* f185854: ac580000 */ sw $t8,0x0($v0) +/* f185858: 3c0cb900 */ lui $t4,0xb900 +/* f18585c: 3c0d0f0a */ lui $t5,0xf0a +/* f185860: 35ad4000 */ ori $t5,$t5,0x4000 +/* f185864: 358c031d */ ori $t4,$t4,0x31d +/* f185868: ac6c0000 */ sw $t4,0x0($v1) +/* f18586c: ac6d0004 */ sw $t5,0x4($v1) +/* f185870: 24660008 */ addiu $a2,$v1,0x8 +/* f185874: 3c0eba00 */ lui $t6,0xba00 +/* f185878: 35ce1701 */ ori $t6,$t6,0x1701 +/* f18587c: 3c0f0080 */ lui $t7,0x80 +/* f185880: accf0004 */ sw $t7,0x4($a2) +/* f185884: acce0000 */ sw $t6,0x0($a2) +/* f185888: 91580010 */ lbu $t8,0x10($t2) +/* f18588c: 24c40008 */ addiu $a0,$a2,0x8 +/* f185890: 030b0019 */ multu $t8,$t3 +/* f185894: 0000c812 */ mflo $t9 +/* f185898: 01196021 */ addu $t4,$t0,$t9 +/* f18589c: 8d990018 */ lw $t9,0x18($t4) +/* f1858a0: 0320f809 */ jalr $t9 +/* f1858a4: 00000000 */ nop +/* f1858a8: 3c09800a */ lui $t1,%hi(g_Vars) +/* f1858ac: 3c0a800b */ lui $t2,%hi(g_MpSetup) +/* f1858b0: 254acb88 */ addiu $t2,$t2,%lo(g_MpSetup) +/* f1858b4: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars) +/* f1858b8: 00402825 */ or $a1,$v0,$zero +.L0f1858bc: +/* f1858bc: 8d2d006c */ lw $t5,0x6c($t1) +.L0f1858c0: +/* f1858c0: 00004025 */ or $t0,$zero,$zero +/* f1858c4: 00003025 */ or $a2,$zero,$zero +/* f1858c8: 11a00003 */ beqz $t5,.L0f1858d8 +/* f1858cc: 00003825 */ or $a3,$zero,$zero +/* f1858d0: 10000001 */ b .L0f1858d8 +/* f1858d4: 24080001 */ addiu $t0,$zero,0x1 +.L0f1858d8: +/* f1858d8: 8d2e0068 */ lw $t6,0x68($t1) +/* f1858dc: 00001025 */ or $v0,$zero,$zero +/* f1858e0: 11c00003 */ beqz $t6,.L0f1858f0 +/* f1858e4: 00000000 */ nop +/* f1858e8: 10000001 */ b .L0f1858f0 +/* f1858ec: 24060001 */ addiu $a2,$zero,0x1 +.L0f1858f0: +/* f1858f0: 8d2f0064 */ lw $t7,0x64($t1) +/* f1858f4: 11e00003 */ beqz $t7,.L0f185904 +/* f1858f8: 00000000 */ nop +/* f1858fc: 10000001 */ b .L0f185904 +/* f185900: 24070001 */ addiu $a3,$zero,0x1 +.L0f185904: +/* f185904: 8d380070 */ lw $t8,0x70($t1) +/* f185908: 13000003 */ beqz $t8,.L0f185918 +/* f18590c: 00000000 */ nop +/* f185910: 10000001 */ b .L0f185918 +/* f185914: 24020001 */ addiu $v0,$zero,0x1 +.L0f185918: +/* f185918: 8d44000c */ lw $a0,0xc($t2) +/* f18591c: 00476021 */ addu $t4,$v0,$a3 +/* f185920: 0186c821 */ addu $t9,$t4,$a2 +/* f185924: 03281821 */ addu $v1,$t9,$t0 +/* f185928: 308d0002 */ andi $t5,$a0,0x2 +/* f18592c: 11a000b4 */ beqz $t5,.L0f185c00 +/* f185930: afa30018 */ sw $v1,0x18($sp) +/* f185934: 308e0200 */ andi $t6,$a0,0x200 +/* f185938: 11c000b1 */ beqz $t6,.L0f185c00 +/* f18593c: 28610002 */ slti $at,$v1,0x2 +/* f185940: 142000af */ bnez $at,.L0f185c00 +/* f185944: 00a01025 */ or $v0,$a1,$zero +/* f185948: 8d2f0284 */ lw $t7,0x284($t1) +/* f18594c: 8d2c028c */ lw $t4,0x28c($t1) +/* f185950: 3c19ba00 */ lui $t9,0xba00 +/* f185954: 8df800bc */ lw $t8,0xbc($t7) +/* f185958: 37390c02 */ ori $t9,$t9,0xc02 +/* f18595c: 24a30008 */ addiu $v1,$a1,0x8 +/* f185960: 8f080004 */ lw $t0,0x4($t8) +/* f185964: afac001c */ sw $t4,0x1c($sp) +/* f185968: ac400004 */ sw $zero,0x4($v0) +/* f18596c: ac590000 */ sw $t9,0x0($v0) +/* f185970: 3c0dba00 */ lui $t5,0xba00 +/* f185974: 35ad0602 */ ori $t5,$t5,0x602 +/* f185978: 240e00c0 */ addiu $t6,$zero,0xc0 +/* f18597c: ac6e0004 */ sw $t6,0x4($v1) +/* f185980: ac6d0000 */ sw $t5,0x0($v1) +/* f185984: 24640008 */ addiu $a0,$v1,0x8 +/* f185988: 24850008 */ addiu $a1,$a0,0x8 +/* f18598c: 24180001 */ addiu $t8,$zero,0x1 +/* f185990: 3c0fb600 */ lui $t7,0xb600 +/* f185994: ac8f0000 */ sw $t7,0x0($a0) +/* f185998: ac980004 */ sw $t8,0x4($a0) +/* f18599c: 3c0ce700 */ lui $t4,0xe700 +/* f1859a0: acac0000 */ sw $t4,0x0($a1) +/* f1859a4: aca00004 */ sw $zero,0x4($a1) +/* f1859a8: 24a70008 */ addiu $a3,$a1,0x8 +/* f1859ac: 3c19ba00 */ lui $t9,0xba00 +/* f1859b0: 37391301 */ ori $t9,$t9,0x1301 +/* f1859b4: acf90000 */ sw $t9,0x0($a3) +/* f1859b8: 24e20008 */ addiu $v0,$a3,0x8 +/* f1859bc: ace00004 */ sw $zero,0x4($a3) +/* f1859c0: 3c0dba00 */ lui $t5,0xba00 +/* f1859c4: 35ad1402 */ ori $t5,$t5,0x1402 +/* f1859c8: 24430008 */ addiu $v1,$v0,0x8 +/* f1859cc: 3c0e0030 */ lui $t6,0x30 +/* f1859d0: ac4e0004 */ sw $t6,0x4($v0) +/* f1859d4: ac4d0000 */ sw $t5,0x0($v0) +/* f1859d8: 3c180f0a */ lui $t8,0xf0a +/* f1859dc: 3c0fb900 */ lui $t7,0xb900 +/* f1859e0: 35ef031d */ ori $t7,$t7,0x31d +/* f1859e4: 37184000 */ ori $t8,$t8,0x4000 +/* f1859e8: ac780004 */ sw $t8,0x4($v1) +/* f1859ec: ac6f0000 */ sw $t7,0x0($v1) +/* f1859f0: 24660008 */ addiu $a2,$v1,0x8 +/* f1859f4: 3c0cba00 */ lui $t4,0xba00 +/* f1859f8: 358c1701 */ ori $t4,$t4,0x1701 +/* f1859fc: 3c190080 */ lui $t9,0x80 +/* f185a00: acd90004 */ sw $t9,0x4($a2) +/* f185a04: accc0000 */ sw $t4,0x0($a2) +/* f185a08: 24c50008 */ addiu $a1,$a2,0x8 +/* f185a0c: 91040125 */ lbu $a0,0x125($t0) +/* f185a10: 0fc63a5a */ jal radarGetTeamIndex +/* f185a14: afa50030 */ sw $a1,0x30($sp) +/* f185a18: 8fa30030 */ lw $v1,0x30($sp) +/* f185a1c: 00026880 */ sll $t5,$v0,0x2 +/* f185a20: 3c048008 */ lui $a0,%hi(var80087ce4) +/* f185a24: 008d2021 */ addu $a0,$a0,$t5 +/* f185a28: 8c847ce4 */ lw $a0,%lo(var80087ce4)($a0) +/* f185a2c: 3c0ef700 */ lui $t6,0xf700 +/* f185a30: ac6e0000 */ sw $t6,0x0($v1) +/* f185a34: 24650008 */ addiu $a1,$v1,0x8 +/* f185a38: ac640004 */ sw $a0,0x4($v1) +/* f185a3c: 0c002f40 */ jal viGetViewLeft +/* f185a40: afa50030 */ sw $a1,0x30($sp) +/* f185a44: 0c002f22 */ jal viGetViewWidth +/* f185a48: afa2002c */ sw $v0,0x2c($sp) +/* f185a4c: 8fa6002c */ lw $a2,0x2c($sp) +/* f185a50: 00463821 */ addu $a3,$v0,$a2 +/* f185a54: 0c002f44 */ jal viGetViewTop +/* f185a58: afa70028 */ sw $a3,0x28($sp) +/* f185a5c: 0c002f26 */ jal viGetViewHeight +/* f185a60: afa20024 */ sw $v0,0x24($sp) +/* f185a64: 8faf0018 */ lw $t7,0x18($sp) +/* f185a68: 3c09800a */ lui $t1,%hi(g_Vars) +/* f185a6c: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars) +/* f185a70: 29e10003 */ slti $at,$t7,0x3 +/* f185a74: 8fa50030 */ lw $a1,0x30($sp) +/* f185a78: 8fa6002c */ lw $a2,0x2c($sp) +/* f185a7c: 8fa70028 */ lw $a3,0x28($sp) +/* f185a80: 14200027 */ bnez $at,.L0f185b20 +/* f185a84: 8fa80024 */ lw $t0,0x24($sp) +/* f185a88: 8fb8001c */ lw $t8,0x1c($sp) +/* f185a8c: 310303ff */ andi $v1,$t0,0x3ff +/* f185a90: 00037880 */ sll $t7,$v1,0x2 +/* f185a94: 2b010002 */ slti $at,$t8,0x2 +/* f185a98: 10200013 */ beqz $at,.L0f185ae8 +/* f185a9c: 01e01825 */ or $v1,$t7,$zero +/* f185aa0: 00482021 */ addu $a0,$v0,$t0 +/* f185aa4: 2484ffff */ addiu $a0,$a0,-1 +/* f185aa8: 24edffff */ addiu $t5,$a3,-1 +/* f185aac: 31ae03ff */ andi $t6,$t5,0x3ff +/* f185ab0: 308c03ff */ andi $t4,$a0,0x3ff +/* f185ab4: 000c2080 */ sll $a0,$t4,0x2 +/* f185ab8: 000e7b80 */ sll $t7,$t6,0xe +/* f185abc: 3c01f600 */ lui $at,0xf600 +/* f185ac0: 30d903ff */ andi $t9,$a2,0x3ff +/* f185ac4: 00196b80 */ sll $t5,$t9,0xe +/* f185ac8: 01e1c025 */ or $t8,$t7,$at +/* f185acc: 00a01825 */ or $v1,$a1,$zero +/* f185ad0: 03046025 */ or $t4,$t8,$a0 +/* f185ad4: 01a47025 */ or $t6,$t5,$a0 +/* f185ad8: ac6e0004 */ sw $t6,0x4($v1) +/* f185adc: ac6c0000 */ sw $t4,0x0($v1) +/* f185ae0: 10000047 */ b .L0f185c00 +/* f185ae4: 24a50008 */ addiu $a1,$a1,0x8 +.L0f185ae8: +/* f185ae8: 24f8ffff */ addiu $t8,$a3,-1 +/* f185aec: 330c03ff */ andi $t4,$t8,0x3ff +/* f185af0: 000ccb80 */ sll $t9,$t4,0xe +/* f185af4: 3c01f600 */ lui $at,0xf600 +/* f185af8: 03216825 */ or $t5,$t9,$at +/* f185afc: 01af7025 */ or $t6,$t5,$t7 +/* f185b00: 30cf03ff */ andi $t7,$a2,0x3ff +/* f185b04: 000fc380 */ sll $t8,$t7,0xe +/* f185b08: 00a01025 */ or $v0,$a1,$zero +/* f185b0c: 03036025 */ or $t4,$t8,$v1 +/* f185b10: ac4c0004 */ sw $t4,0x4($v0) +/* f185b14: ac4e0000 */ sw $t6,0x0($v0) +/* f185b18: 10000039 */ b .L0f185c00 +/* f185b1c: 24a50008 */ addiu $a1,$a1,0x8 +.L0f185b20: +/* f185b20: 913904e0 */ lbu $t9,0x4e0($t1) +/* f185b24: 00a01825 */ or $v1,$a1,$zero +/* f185b28: 00482021 */ addu $a0,$v0,$t0 +/* f185b2c: 13200011 */ beqz $t9,.L0f185b74 +/* f185b30: 8fac001c */ lw $t4,0x1c($sp) +/* f185b34: 2484fffe */ addiu $a0,$a0,-2 +/* f185b38: 24efffff */ addiu $t7,$a3,-1 +/* f185b3c: 31f803ff */ andi $t8,$t7,0x3ff +/* f185b40: 308d03ff */ andi $t5,$a0,0x3ff +/* f185b44: 000d2080 */ sll $a0,$t5,0x2 +/* f185b48: 00186380 */ sll $t4,$t8,0xe +/* f185b4c: 3c01f600 */ lui $at,0xf600 +/* f185b50: 30ce03ff */ andi $t6,$a2,0x3ff +/* f185b54: 000e7b80 */ sll $t7,$t6,0xe +/* f185b58: 0181c825 */ or $t9,$t4,$at +/* f185b5c: 03246825 */ or $t5,$t9,$a0 +/* f185b60: 01e4c025 */ or $t8,$t7,$a0 +/* f185b64: ac780004 */ sw $t8,0x4($v1) +/* f185b68: ac6d0000 */ sw $t5,0x0($v1) +/* f185b6c: 10000024 */ b .L0f185c00 +/* f185b70: 24a50008 */ addiu $a1,$a1,0x8 +.L0f185b74: +/* f185b74: 15800013 */ bnez $t4,.L0f185bc4 +/* f185b78: 310303ff */ andi $v1,$t0,0x3ff +/* f185b7c: 00482021 */ addu $a0,$v0,$t0 +/* f185b80: 2484ffff */ addiu $a0,$a0,-1 +/* f185b84: 24eeffff */ addiu $t6,$a3,-1 +/* f185b88: 31cf03ff */ andi $t7,$t6,0x3ff +/* f185b8c: 309903ff */ andi $t9,$a0,0x3ff +/* f185b90: 00192080 */ sll $a0,$t9,0x2 +/* f185b94: 000fc380 */ sll $t8,$t7,0xe +/* f185b98: 3c01f600 */ lui $at,0xf600 +/* f185b9c: 30cd03ff */ andi $t5,$a2,0x3ff +/* f185ba0: 000d7380 */ sll $t6,$t5,0xe +/* f185ba4: 03016025 */ or $t4,$t8,$at +/* f185ba8: 00a01825 */ or $v1,$a1,$zero +/* f185bac: 0184c825 */ or $t9,$t4,$a0 +/* f185bb0: 01c47825 */ or $t7,$t6,$a0 +/* f185bb4: ac6f0004 */ sw $t7,0x4($v1) +/* f185bb8: ac790000 */ sw $t9,0x0($v1) +/* f185bbc: 10000010 */ b .L0f185c00 +/* f185bc0: 24a50008 */ addiu $a1,$a1,0x8 +.L0f185bc4: +/* f185bc4: 24ecffff */ addiu $t4,$a3,-1 +/* f185bc8: 319903ff */ andi $t9,$t4,0x3ff +/* f185bcc: 00196b80 */ sll $t5,$t9,0xe +/* f185bd0: 0003c080 */ sll $t8,$v1,0x2 +/* f185bd4: 3c01f600 */ lui $at,0xf600 +/* f185bd8: 01a17025 */ or $t6,$t5,$at +/* f185bdc: 01d87825 */ or $t7,$t6,$t8 +/* f185be0: 03001825 */ or $v1,$t8,$zero +/* f185be4: 30d803ff */ andi $t8,$a2,0x3ff +/* f185be8: 00a01025 */ or $v0,$a1,$zero +/* f185bec: 00186380 */ sll $t4,$t8,0xe +/* f185bf0: 0183c825 */ or $t9,$t4,$v1 +/* f185bf4: ac590004 */ sw $t9,0x4($v0) +/* f185bf8: ac4f0000 */ sw $t7,0x0($v0) +/* f185bfc: 24a50008 */ addiu $a1,$a1,0x8 +.L0f185c00: +/* f185c00: 8fbf0014 */ lw $ra,0x14($sp) +/* f185c04: 27bd0030 */ addiu $sp,$sp,0x30 +/* f185c08: 00a01025 */ or $v0,$a1,$zero +/* f185c0c: 03e00008 */ jr $ra +/* f185c10: 00000000 */ nop +); + +GLOBAL_ASM( +glabel func0f185c14 +/* f185c14: 3c0b800b */ lui $t3,%hi(g_MpSetup) +/* f185c18: 256bcb88 */ addiu $t3,$t3,%lo(g_MpSetup) +/* f185c1c: 916e0010 */ lbu $t6,0x10($t3) +/* f185c20: 3c028008 */ lui $v0,%hi(g_MpScenarios+0x1c) +/* f185c24: 27bdffe0 */ addiu $sp,$sp,-32 +/* f185c28: 000e78c0 */ sll $t7,$t6,0x3 +/* f185c2c: 01ee7821 */ addu $t7,$t7,$t6 +/* f185c30: 000f78c0 */ sll $t7,$t7,0x3 +/* f185c34: 004f1021 */ addu $v0,$v0,$t7 +/* f185c38: 8c426fb4 */ lw $v0,%lo(g_MpScenarios+0x1c)($v0) +/* f185c3c: afb10018 */ sw $s1,0x18($sp) +/* f185c40: afb00014 */ sw $s0,0x14($sp) +/* f185c44: 00808025 */ or $s0,$a0,$zero +/* f185c48: 00a08825 */ or $s1,$a1,$zero +/* f185c4c: afbf001c */ sw $ra,0x1c($sp) +/* f185c50: 10400005 */ beqz $v0,.L0f185c68 +/* f185c54: afa7002c */ sw $a3,0x2c($sp) +/* f185c58: 0040f809 */ jalr $v0 +/* f185c5c: 00000000 */ nop +/* f185c60: 1000003b */ b .L0f185d50 +/* f185c64: 8fbf001c */ lw $ra,0x1c($sp) +.L0f185c68: +/* f185c68: 3c09800b */ lui $t1,%hi(g_MpSimulants) +/* f185c6c: 3c07800b */ lui $a3,%hi(g_MpPlayers) +/* f185c70: acc00000 */ sw $zero,0x0($a2) +/* f185c74: 24e7c7b8 */ addiu $a3,$a3,%lo(g_MpPlayers) +/* f185c78: 2529c538 */ addiu $t1,$t1,%lo(g_MpSimulants) +/* f185c7c: 00001025 */ or $v0,$zero,$zero +/* f185c80: 02001825 */ or $v1,$s0,$zero +/* f185c84: 240a004c */ addiu $t2,$zero,0x4c +/* f185c88: 240800a0 */ addiu $t0,$zero,0xa0 +/* f185c8c: 2405000c */ addiu $a1,$zero,0xc +.L0f185c90: +/* f185c90: 54510007 */ bnel $v0,$s1,.L0f185cb0 +/* f185c94: 8d6d000c */ lw $t5,0xc($t3) +/* f185c98: 8cd80000 */ lw $t8,0x0($a2) +/* f185c9c: 84790024 */ lh $t9,0x24($v1) +/* f185ca0: 03196023 */ subu $t4,$t8,$t9 +/* f185ca4: 10000023 */ b .L0f185d34 +/* f185ca8: accc0000 */ sw $t4,0x0($a2) +/* f185cac: 8d6d000c */ lw $t5,0xc($t3) +.L0f185cb0: +/* f185cb0: 28410004 */ slti $at,$v0,0x4 +/* f185cb4: 31ae0002 */ andi $t6,$t5,0x2 +/* f185cb8: 51c0001b */ beqzl $t6,.L0f185d28 +/* f185cbc: 8ccd0000 */ lw $t5,0x0($a2) +/* f185cc0: 10200006 */ beqz $at,.L0f185cdc +/* f185cc4: 00000000 */ nop +/* f185cc8: 00480019 */ multu $v0,$t0 +/* f185ccc: 00007812 */ mflo $t7 +/* f185cd0: 00ef2021 */ addu $a0,$a3,$t7 +/* f185cd4: 10000006 */ b .L0f185cf0 +/* f185cd8: 92190011 */ lbu $t9,0x11($s0) +.L0f185cdc: +/* f185cdc: 004a0019 */ multu $v0,$t2 +/* f185ce0: 0000c012 */ mflo $t8 +/* f185ce4: 01382021 */ addu $a0,$t1,$t8 +/* f185ce8: 2484fed0 */ addiu $a0,$a0,-304 +/* f185cec: 92190011 */ lbu $t9,0x11($s0) +.L0f185cf0: +/* f185cf0: 908c0011 */ lbu $t4,0x11($a0) +/* f185cf4: 572c0007 */ bnel $t9,$t4,.L0f185d14 +/* f185cf8: 8cd80000 */ lw $t8,0x0($a2) +/* f185cfc: 8ccd0000 */ lw $t5,0x0($a2) +/* f185d00: 846e0024 */ lh $t6,0x24($v1) +/* f185d04: 01ae7823 */ subu $t7,$t5,$t6 +/* f185d08: 1000000a */ b .L0f185d34 +/* f185d0c: accf0000 */ sw $t7,0x0($a2) +/* f185d10: 8cd80000 */ lw $t8,0x0($a2) +.L0f185d14: +/* f185d14: 84790024 */ lh $t9,0x24($v1) +/* f185d18: 03196021 */ addu $t4,$t8,$t9 +/* f185d1c: 10000005 */ b .L0f185d34 +/* f185d20: accc0000 */ sw $t4,0x0($a2) +/* f185d24: 8ccd0000 */ lw $t5,0x0($a2) +.L0f185d28: +/* f185d28: 846e0024 */ lh $t6,0x24($v1) +/* f185d2c: 01ae7821 */ addu $t7,$t5,$t6 +/* f185d30: accf0000 */ sw $t7,0x0($a2) +.L0f185d34: +/* f185d34: 24420001 */ addiu $v0,$v0,0x1 +/* f185d38: 1445ffd5 */ bne $v0,$a1,.L0f185c90 +/* f185d3c: 24630002 */ addiu $v1,$v1,0x2 +/* f185d40: 8618003c */ lh $t8,0x3c($s0) +/* f185d44: 8fb9002c */ lw $t9,0x2c($sp) +/* f185d48: af380000 */ sw $t8,0x0($t9) +/* f185d4c: 8fbf001c */ lw $ra,0x1c($sp) +.L0f185d50: +/* f185d50: 8fb00014 */ lw $s0,0x14($sp) +/* f185d54: 8fb10018 */ lw $s1,0x18($sp) +/* f185d58: 03e00008 */ jr $ra +/* f185d5c: 27bd0020 */ addiu $sp,$sp,0x20 +); + +Gfx *scenarioRadar(Gfx *gdl) +{ + if (g_Vars.normmplayerisrunning && g_MpScenarios[g_MpSetup.scenario].radarfunc) { + return g_MpScenarios[g_MpSetup.scenario].radarfunc(gdl); + } + + return gdl; +} + +bool scenarioRadar2(Gfx **gdl, struct prop *prop) +{ + if (g_Vars.normmplayerisrunning && g_MpScenarios[g_MpSetup.scenario].radar2func) { + return g_MpScenarios[g_MpSetup.scenario].radar2func(gdl, prop); + } + + return false; +} + +GLOBAL_ASM( +glabel func0f185e20 +.late_rodata +glabel var7f1b8980 +.word func0f185e20+0xf4 # f185f14 +glabel var7f1b8984 +.word func0f185e20+0xf4 # f185f14 +glabel var7f1b8988 +.word func0f185e20+0x348 # f186168 +glabel var7f1b898c +.word func0f185e20+0x348 # f186168 +glabel var7f1b8990 +.word func0f185e20+0x348 # f186168 +glabel var7f1b8994 +.word func0f185e20+0x348 # f186168 +glabel var7f1b8998 +.word func0f185e20+0x348 # f186168 +glabel var7f1b899c +.word func0f185e20+0xf4 # f185f14 +glabel var7f1b89a0 +.word func0f185e20+0x348 # f186168 +glabel var7f1b89a4 +.word func0f185e20+0x348 # f186168 +glabel var7f1b89a8 +.word func0f185e20+0x348 # f186168 +glabel var7f1b89ac +.word func0f185e20+0x348 # f186168 +glabel var7f1b89b0 +.word func0f185e20+0x348 # f186168 +glabel var7f1b89b4 +.word func0f185e20+0xf4 # f185f14 +glabel var7f1b89b8 +.word func0f185e20+0xf4 # f185f14 +.text +/* f185e20: 3c07800b */ lui $a3,%hi(g_MpSetup) +/* f185e24: 24e7cb88 */ addiu $a3,$a3,%lo(g_MpSetup) +/* f185e28: 90ee0010 */ lbu $t6,0x10($a3) +/* f185e2c: 3c028008 */ lui $v0,%hi(g_MpScenarios+0x28) +/* f185e30: 27bdffd0 */ addiu $sp,$sp,-48 +/* f185e34: 000e78c0 */ sll $t7,$t6,0x3 +/* f185e38: 01ee7821 */ addu $t7,$t7,$t6 +/* f185e3c: 000f78c0 */ sll $t7,$t7,0x3 +/* f185e40: 004f1021 */ addu $v0,$v0,$t7 +/* f185e44: 8c426fc0 */ lw $v0,%lo(g_MpScenarios+0x28)($v0) +/* f185e48: afbf0014 */ sw $ra,0x14($sp) +/* f185e4c: afa40030 */ sw $a0,0x30($sp) +/* f185e50: 5040000a */ beqzl $v0,.L0f185e7c +/* f185e54: 8fb80030 */ lw $t8,0x30($sp) +/* f185e58: 0040f809 */ jalr $v0 +/* f185e5c: afa50034 */ sw $a1,0x34($sp) +/* f185e60: 3c07800b */ lui $a3,%hi(g_MpSetup) +/* f185e64: 24e7cb88 */ addiu $a3,$a3,%lo(g_MpSetup) +/* f185e68: 10400003 */ beqz $v0,.L0f185e78 +/* f185e6c: 8fa50034 */ lw $a1,0x34($sp) +/* f185e70: 100000be */ b .L0f18616c +/* f185e74: 24020001 */ addiu $v0,$zero,0x1 +.L0f185e78: +/* f185e78: 8fb80030 */ lw $t8,0x30($sp) +.L0f185e7c: +/* f185e7c: 24010001 */ addiu $at,$zero,0x1 +/* f185e80: 93020000 */ lbu $v0,0x0($t8) +/* f185e84: 10410005 */ beq $v0,$at,.L0f185e9c +/* f185e88: 24010002 */ addiu $at,$zero,0x2 +/* f185e8c: 10410003 */ beq $v0,$at,.L0f185e9c +/* f185e90: 24010004 */ addiu $at,$zero,0x4 +/* f185e94: 54410032 */ bnel $v0,$at,.L0f185f60 +/* f185e98: 24010003 */ addiu $at,$zero,0x3 +.L0f185e9c: +/* f185e9c: 90e90010 */ lbu $t1,0x10($a3) +/* f185ea0: 8fb90030 */ lw $t9,0x30($sp) +/* f185ea4: 3c0c800a */ lui $t4,%hi(g_Vars+0x288) +/* f185ea8: 15200005 */ bnez $t1,.L0f185ec0 +/* f185eac: 8f220004 */ lw $v0,0x4($t9) +/* f185eb0: 8cea000c */ lw $t2,0xc($a3) +/* f185eb4: 314b0020 */ andi $t3,$t2,0x20 +/* f185eb8: 556000ac */ bnezl $t3,.L0f18616c +/* f185ebc: 00001025 */ or $v0,$zero,$zero +.L0f185ec0: +/* f185ec0: 8d8ca248 */ lw $t4,%lo(g_Vars+0x288)($t4) +/* f185ec4: 3c0f800b */ lui $t7,%hi(g_MpPlayers+0x14) +/* f185ec8: 8d8d0070 */ lw $t5,0x70($t4) +/* f185ecc: 000d7080 */ sll $t6,$t5,0x2 +/* f185ed0: 01cd7021 */ addu $t6,$t6,$t5 +/* f185ed4: 000e7140 */ sll $t6,$t6,0x5 +/* f185ed8: 01ee7821 */ addu $t7,$t7,$t6 +/* f185edc: 8defc7cc */ lw $t7,%lo(g_MpPlayers+0x14)($t7) +/* f185ee0: 31f80002 */ andi $t8,$t7,0x2 +/* f185ee4: 530000a1 */ beqzl $t8,.L0f18616c +/* f185ee8: 00001025 */ or $v0,$zero,$zero +/* f185eec: 90590003 */ lbu $t9,0x3($v0) +/* f185ef0: 2729fff9 */ addiu $t1,$t9,-7 +/* f185ef4: 2d21000f */ sltiu $at,$t1,0xf +/* f185ef8: 1020009b */ beqz $at,.L0f186168 +/* f185efc: 00094880 */ sll $t1,$t1,0x2 +/* f185f00: 3c017f1c */ lui $at,%hi(var7f1b8980) +/* f185f04: 00290821 */ addu $at,$at,$t1 +/* f185f08: 8c298980 */ lw $t1,%lo(var7f1b8980)($at) +/* f185f0c: 01200008 */ jr $t1 +/* f185f10: 00000000 */ nop +/* f185f14: 240a00cd */ addiu $t2,$zero,0xcd +/* f185f18: 240b00ff */ addiu $t3,$zero,0xff +/* f185f1c: 3c0141a0 */ lui $at,0x41a0 +/* f185f20: aca00000 */ sw $zero,0x0($a1) +/* f185f24: acaa0004 */ sw $t2,0x4($a1) +/* f185f28: acab0008 */ sw $t3,0x8($a1) +/* f185f2c: 44816000 */ mtc1 $at,$f12 +/* f185f30: 0fc01ac2 */ jal func0f006b08 +/* f185f34: afa50034 */ sw $a1,0x34($sp) +/* f185f38: 3c01437f */ lui $at,0x437f +/* f185f3c: 44812000 */ mtc1 $at,$f4 +/* f185f40: 8fa50034 */ lw $a1,0x34($sp) +/* f185f44: 24020001 */ addiu $v0,$zero,0x1 +/* f185f48: 46040182 */ mul.s $f6,$f0,$f4 +/* f185f4c: 4600320d */ trunc.w.s $f8,$f6 +/* f185f50: 440d4000 */ mfc1 $t5,$f8 +/* f185f54: 10000085 */ b .L0f18616c +/* f185f58: acad000c */ sw $t5,0xc($a1) +/* f185f5c: 24010003 */ addiu $at,$zero,0x3 +.L0f185f60: +/* f185f60: 10410004 */ beq $v0,$at,.L0f185f74 +/* f185f64: 00003025 */ or $a2,$zero,$zero +/* f185f68: 24010006 */ addiu $at,$zero,0x6 +/* f185f6c: 5441007f */ bnel $v0,$at,.L0f18616c +/* f185f70: 00001025 */ or $v0,$zero,$zero +.L0f185f74: +/* f185f74: 8cee000c */ lw $t6,0xc($a3) +/* f185f78: 00001825 */ or $v1,$zero,$zero +/* f185f7c: 00004025 */ or $t0,$zero,$zero +/* f185f80: 31cf0002 */ andi $t7,$t6,0x2 +/* f185f84: 11e00017 */ beqz $t7,.L0f185fe4 +/* f185f88: 00002025 */ or $a0,$zero,$zero +/* f185f8c: afa00024 */ sw $zero,0x24($sp) +/* f185f90: afa0001c */ sw $zero,0x1c($sp) +/* f185f94: afa50034 */ sw $a1,0x34($sp) +/* f185f98: afa00028 */ sw $zero,0x28($sp) +/* f185f9c: 0fc3f594 */ jal currentPlayerGetCommandingAibot +/* f185fa0: afa00020 */ sw $zero,0x20($sp) +/* f185fa4: 3c07800b */ lui $a3,%hi(g_MpSetup) +/* f185fa8: 24e7cb88 */ addiu $a3,$a3,%lo(g_MpSetup) +/* f185fac: 8fa30024 */ lw $v1,0x24($sp) +/* f185fb0: 8fa4001c */ lw $a0,0x1c($sp) +/* f185fb4: 8fa50034 */ lw $a1,0x34($sp) +/* f185fb8: 8fa60028 */ lw $a2,0x28($sp) +/* f185fbc: 10400009 */ beqz $v0,.L0f185fe4 +/* f185fc0: 8fa80020 */ lw $t0,0x20($sp) +/* f185fc4: 8fb80030 */ lw $t8,0x30($sp) +/* f185fc8: 8f190004 */ lw $t9,0x4($t8) +/* f185fcc: 54590005 */ bnel $v0,$t9,.L0f185fe4 +/* f185fd0: 24030001 */ addiu $v1,$zero,0x1 +/* f185fd4: 24060001 */ addiu $a2,$zero,0x1 +/* f185fd8: 10000002 */ b .L0f185fe4 +/* f185fdc: 24040001 */ addiu $a0,$zero,0x1 +/* f185fe0: 24030001 */ addiu $v1,$zero,0x1 +.L0f185fe4: +/* f185fe4: 14c00025 */ bnez $a2,.L0f18607c +/* f185fe8: 00000000 */ nop +/* f185fec: 14600023 */ bnez $v1,.L0f18607c +/* f185ff0: 00000000 */ nop +/* f185ff4: 90e90010 */ lbu $t1,0x10($a3) +/* f185ff8: 8ce2000c */ lw $v0,0xc($a3) +/* f185ffc: 15200002 */ bnez $t1,.L0f186008 +/* f186000: 304a0010 */ andi $t2,$v0,0x10 +/* f186004: 1540001d */ bnez $t2,.L0f18607c +.L0f186008: +/* f186008: 304b0002 */ andi $t3,$v0,0x2 +/* f18600c: 1160000e */ beqz $t3,.L0f186048 +/* f186010: 3c0c800a */ lui $t4,%hi(g_Vars+0x288) +/* f186014: 8d8ca248 */ lw $t4,%lo(g_Vars+0x288)($t4) +/* f186018: 3c0f800b */ lui $t7,%hi(g_MpPlayers+0x14) +/* f18601c: 8d8d0070 */ lw $t5,0x70($t4) +/* f186020: 000d7080 */ sll $t6,$t5,0x2 +/* f186024: 01cd7021 */ addu $t6,$t6,$t5 +/* f186028: 000e7140 */ sll $t6,$t6,0x5 +/* f18602c: 01ee7821 */ addu $t7,$t7,$t6 +/* f186030: 8defc7cc */ lw $t7,%lo(g_MpPlayers+0x14)($t7) +/* f186034: 31f80008 */ andi $t8,$t7,0x8 +/* f186038: 13000003 */ beqz $t8,.L0f186048 +/* f18603c: 00000000 */ nop +/* f186040: 1000000e */ b .L0f18607c +/* f186044: 24040001 */ addiu $a0,$zero,0x1 +.L0f186048: +/* f186048: 3c19800a */ lui $t9,%hi(g_Vars+0x288) +/* f18604c: 8f39a248 */ lw $t9,%lo(g_Vars+0x288)($t9) +/* f186050: 3c0b800b */ lui $t3,%hi(g_MpPlayers+0x14) +/* f186054: 8f290070 */ lw $t1,0x70($t9) +/* f186058: 00095080 */ sll $t2,$t1,0x2 +/* f18605c: 01495021 */ addu $t2,$t2,$t1 +/* f186060: 000a5140 */ sll $t2,$t2,0x5 +/* f186064: 016a5821 */ addu $t3,$t3,$t2 +/* f186068: 8d6bc7cc */ lw $t3,%lo(g_MpPlayers+0x14)($t3) +/* f18606c: 316c0001 */ andi $t4,$t3,0x1 +/* f186070: 11800002 */ beqz $t4,.L0f18607c +/* f186074: 00000000 */ nop +/* f186078: 24080001 */ addiu $t0,$zero,0x1 +.L0f18607c: +/* f18607c: 10800027 */ beqz $a0,.L0f18611c +/* f186080: 8fad0030 */ lw $t5,0x30($sp) +/* f186084: 8dae0004 */ lw $t6,0x4($t5) +/* f186088: 91c40125 */ lbu $a0,0x125($t6) +/* f18608c: afa60028 */ sw $a2,0x28($sp) +/* f186090: 0fc63a5a */ jal radarGetTeamIndex +/* f186094: afa50034 */ sw $a1,0x34($sp) +/* f186098: 00027880 */ sll $t7,$v0,0x2 +/* f18609c: 3c038008 */ lui $v1,%hi(g_TeamColours) +/* f1860a0: 006f1821 */ addu $v1,$v1,$t7 +/* f1860a4: 8c637cc4 */ lw $v1,%lo(g_TeamColours)($v1) +/* f1860a8: 8fa50034 */ lw $a1,0x34($sp) +/* f1860ac: 8fa60028 */ lw $a2,0x28($sp) +/* f1860b0: 0003c602 */ srl $t8,$v1,0x18 +/* f1860b4: 00034c02 */ srl $t1,$v1,0x10 +/* f1860b8: 00035a02 */ srl $t3,$v1,0x8 +/* f1860bc: 331900ff */ andi $t9,$t8,0xff +/* f1860c0: 312a00ff */ andi $t2,$t1,0xff +/* f1860c4: 316c00ff */ andi $t4,$t3,0xff +/* f1860c8: acb90000 */ sw $t9,0x0($a1) +/* f1860cc: acaa0004 */ sw $t2,0x4($a1) +/* f1860d0: 10c0000e */ beqz $a2,.L0f18610c +/* f1860d4: acac0008 */ sw $t4,0x8($a1) +/* f1860d8: 3c0141a0 */ lui $at,0x41a0 +/* f1860dc: 44816000 */ mtc1 $at,$f12 +/* f1860e0: 0fc01ac2 */ jal func0f006b08 +/* f1860e4: afa50034 */ sw $a1,0x34($sp) +/* f1860e8: 3c014300 */ lui $at,0x4300 +/* f1860ec: 44815000 */ mtc1 $at,$f10 +/* f1860f0: 8fa50034 */ lw $a1,0x34($sp) +/* f1860f4: 24020001 */ addiu $v0,$zero,0x1 +/* f1860f8: 460a0402 */ mul.s $f16,$f0,$f10 +/* f1860fc: 4600848d */ trunc.w.s $f18,$f16 +/* f186100: 440e9000 */ mfc1 $t6,$f18 +/* f186104: 10000019 */ b .L0f18616c +/* f186108: acae000c */ sw $t6,0xc($a1) +.L0f18610c: +/* f18610c: 240f004b */ addiu $t7,$zero,0x4b +/* f186110: acaf000c */ sw $t7,0xc($a1) +/* f186114: 10000015 */ b .L0f18616c +/* f186118: 24020001 */ addiu $v0,$zero,0x1 +.L0f18611c: +/* f18611c: 11000012 */ beqz $t0,.L0f186168 +/* f186120: 241800cd */ addiu $t8,$zero,0xcd +/* f186124: 241900ff */ addiu $t9,$zero,0xff +/* f186128: 3c0141a0 */ lui $at,0x41a0 +/* f18612c: aca00000 */ sw $zero,0x0($a1) +/* f186130: acb80004 */ sw $t8,0x4($a1) +/* f186134: acb90008 */ sw $t9,0x8($a1) +/* f186138: 44816000 */ mtc1 $at,$f12 +/* f18613c: 0fc01ac2 */ jal func0f006b08 +/* f186140: afa50034 */ sw $a1,0x34($sp) +/* f186144: 3c01434d */ lui $at,0x434d +/* f186148: 44812000 */ mtc1 $at,$f4 +/* f18614c: 8fa50034 */ lw $a1,0x34($sp) +/* f186150: 24020001 */ addiu $v0,$zero,0x1 +/* f186154: 46040182 */ mul.s $f6,$f0,$f4 +/* f186158: 4600320d */ trunc.w.s $f8,$f6 +/* f18615c: 440a4000 */ mfc1 $t2,$f8 +/* f186160: 10000002 */ b .L0f18616c +/* f186164: acaa000c */ sw $t2,0xc($a1) +.L0f186168: +/* f186168: 00001025 */ or $v0,$zero,$zero +.L0f18616c: +/* f18616c: 8fbf0014 */ lw $ra,0x14($sp) +/* f186170: 27bd0030 */ addiu $sp,$sp,0x30 +/* f186174: 03e00008 */ jr $ra +/* f186178: 00000000 */ nop +); + +f32 scenarioChooseSpawnLocation(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop) +{ + f32 result; + + if (g_Vars.normmplayerisrunning && g_MpScenarios[g_MpSetup.scenario].spawnfunc && + g_MpScenarios[g_MpSetup.scenario].spawnfunc(arg0, pos, rooms, prop, &result)) { + return result; + } + + return playerChooseGeneralSpawnLocation(arg0, pos, rooms, prop); +} + +void mpPrepareScenario(void) +{ + s32 i; + s32 j; + s32 *cmd = g_StageSetup.intro; + + switch (g_MpSetup.scenario) { + case MPSCENARIO_KINGOFTHEHILL: + g_ScenarioData.koh.hillcount = 0; + break; + case MPSCENARIO_CAPTURETHECASE: + for (i = 0; i < ARRAYCOUNT(g_ScenarioData.ctc.spawnpadsperteam); i++) { + g_ScenarioData.ctc.spawnpadsperteam[i].teamindex = -1; + g_ScenarioData.ctc.spawnpadsperteam[i].numspawnpads = 0; + + for (j = 0; j < ARRAYCOUNT(g_ScenarioData.ctc.spawnpadsperteam[i].spawnpads); j++) { + g_ScenarioData.ctc.spawnpadsperteam[i].spawnpads[j] = -1; + } + } + + for (i = 0; i < ARRAYCOUNT(g_ScenarioData.ctc.unk00); i++) { + g_ScenarioData.ctc.unk00[i] = 0; + g_ScenarioData.ctc.teamindexes[i] = -1; + } + break; + case MPSCENARIO_HACKERCENTRAL: + func0f182bf4(); + break; + case MPSCENARIO_HOLDTHEBRIEFCASE: + func0f180078(); + break; + case MPSCENARIO_POPACAP: + break; + } + + if (cmd) { + while (cmd[0] != INTROCMD_END) { + switch (cmd[0]) { + case INTROCMD_SPAWN: + cmd += 3; + break; + case INTROCMD_CASE: + case INTROCMD_CASERESPAWN: + if (g_MpSetup.scenario == MPSCENARIO_CAPTURETHECASE) { + mpCtcAddPad(cmd); + } else if (g_MpSetup.scenario == MPSCENARIO_HACKERCENTRAL) { + mpHtmAddPad(cmd[2]); + } else if (g_MpSetup.scenario == MPSCENARIO_HOLDTHEBRIEFCASE) { + mpHtbAddPad(cmd[2]); + } + cmd += 3; + break; + case INTROCMD_HILL: + if (g_MpSetup.scenario == MPSCENARIO_KINGOFTHEHILL) { + mpKohAddHill(cmd); + } + cmd += 2; + break; + case INTROCMD_WEAPON: + cmd += 4; + break; + case INTROCMD_AMMO: + cmd += 4; + break; + case INTROCMD_3: + cmd += 8; + break; + case INTROCMD_4: + cmd += 2; + break; + case INTROCMD_OUTFIT: + cmd += 2; + break; + case INTROCMD_6: + cmd += 10; + break; + case INTROCMD_WATCHTIME: + cmd += 3; + break; + case INTROCMD_CREDITOFFSET: + cmd += 2; + break; + default: + cmd++; + break; + } + } + } +} + +s32 scenarioGetMaxTeams(void) +{ + if (g_MpScenarios[g_MpSetup.scenario].maxteamsfunc) { + return g_MpScenarios[g_MpSetup.scenario].maxteamsfunc(); + } + + return MAX_TEAMS; +} + +bool scenarioIsRoomHighlighted(s16 room) +{ + if (g_MpScenarios[g_MpSetup.scenario].isroomhighlightedfunc) { + return g_MpScenarios[g_MpSetup.scenario].isroomhighlightedfunc(room); + } + + return false; +} + +void scenarioCallback38(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3) +{ + if (g_MpScenarios[g_MpSetup.scenario].unk38) { + g_MpScenarios[g_MpSetup.scenario].unk38(arg0, arg1, arg2, arg3); + } +} + +GLOBAL_ASM( +glabel func0f186508 +/* f186508: 27bdff88 */ addiu $sp,$sp,-120 +/* f18650c: 3c0f8008 */ lui $t7,%hi(var800871fc) +/* f186510: 25ef71fc */ addiu $t7,$t7,%lo(var800871fc) +/* f186514: afbf0014 */ sw $ra,0x14($sp) +/* f186518: afa40078 */ sw $a0,0x78($sp) +/* f18651c: afa5007c */ sw $a1,0x7c($sp) +/* f186520: afa60080 */ sw $a2,0x80($sp) +/* f186524: afa70084 */ sw $a3,0x84($sp) +/* f186528: 25e80054 */ addiu $t0,$t7,0x54 +/* f18652c: 27ae001c */ addiu $t6,$sp,0x1c +.L0f186530: +/* f186530: 8de10000 */ lw $at,0x0($t7) +/* f186534: 25ef000c */ addiu $t7,$t7,0xc +/* f186538: 25ce000c */ addiu $t6,$t6,0xc +/* f18653c: adc1fff4 */ sw $at,-0xc($t6) +/* f186540: 8de1fff8 */ lw $at,-0x8($t7) +/* f186544: adc1fff8 */ sw $at,-0x8($t6) +/* f186548: 8de1fffc */ lw $at,-0x4($t7) +/* f18654c: 15e8fff8 */ bne $t7,$t0,.L0f186530 +/* f186550: adc1fffc */ sw $at,-0x4($t6) +/* f186554: 8de10000 */ lw $at,0x0($t7) +/* f186558: 8de80004 */ lw $t0,0x4($t7) +/* f18655c: 24040060 */ addiu $a0,$zero,0x60 +/* f186560: 24050004 */ addiu $a1,$zero,0x4 +/* f186564: adc10000 */ sw $at,0x0($t6) +/* f186568: 0c0048f2 */ jal malloc +/* f18656c: adc80004 */ sw $t0,0x4($t6) +/* f186570: 27a9001c */ addiu $t1,$sp,0x1c +/* f186574: afa20018 */ sw $v0,0x18($sp) +/* f186578: 252c0054 */ addiu $t4,$t1,0x54 +/* f18657c: 00406825 */ or $t5,$v0,$zero +.L0f186580: +/* f186580: 8d210000 */ lw $at,0x0($t1) +/* f186584: 2529000c */ addiu $t1,$t1,0xc +/* f186588: 25ad000c */ addiu $t5,$t5,0xc +/* f18658c: ada1fff4 */ sw $at,-0xc($t5) +/* f186590: 8d21fff8 */ lw $at,-0x8($t1) +/* f186594: ada1fff8 */ sw $at,-0x8($t5) +/* f186598: 8d21fffc */ lw $at,-0x4($t1) +/* f18659c: 152cfff8 */ bne $t1,$t4,.L0f186580 +/* f1865a0: ada1fffc */ sw $at,-0x4($t5) +/* f1865a4: 8d210000 */ lw $at,0x0($t1) +/* f1865a8: 240a0001 */ addiu $t2,$zero,0x1 +/* f1865ac: 00402025 */ or $a0,$v0,$zero +/* f1865b0: ada10000 */ sw $at,0x0($t5) +/* f1865b4: 8d2c0004 */ lw $t4,0x4($t1) +/* f1865b8: 3c014380 */ lui $at,0x4380 +/* f1865bc: 44813000 */ mtc1 $at,$f6 +/* f1865c0: adac0004 */ sw $t4,0x4($t5) +/* f1865c4: 8fb90078 */ lw $t9,0x78($sp) +/* f1865c8: 3c014f00 */ lui $at,0x4f00 +/* f1865cc: 2405007b */ addiu $a1,$zero,0x7b +/* f1865d0: a4590004 */ sh $t9,0x4($v0) +/* f1865d4: 87b8007e */ lh $t8,0x7e($sp) +/* f1865d8: a4580006 */ sh $t8,0x6($v0) +/* f1865dc: 8fa80084 */ lw $t0,0x84($sp) +/* f1865e0: ac480008 */ sw $t0,0x8($v0) +/* f1865e4: 8faf0088 */ lw $t7,0x88($sp) +/* f1865e8: ac4f000c */ sw $t7,0xc($v0) +/* f1865ec: 8fae008c */ lw $t6,0x8c($sp) +/* f1865f0: ac4e0010 */ sw $t6,0x10($v0) +/* f1865f4: c7a40080 */ lwc1 $f4,0x80($sp) +/* f1865f8: 46062202 */ mul.s $f8,$f4,$f6 +/* f1865fc: 444bf800 */ cfc1 $t3,$31 +/* f186600: 44caf800 */ ctc1 $t2,$31 +/* f186604: 00000000 */ nop +/* f186608: 460042a4 */ cvt.w.s $f10,$f8 +/* f18660c: 444af800 */ cfc1 $t2,$31 +/* f186610: 00000000 */ nop +/* f186614: 314a0078 */ andi $t2,$t2,0x78 +/* f186618: 51400013 */ beqzl $t2,.L0f186668 +/* f18661c: 440a5000 */ mfc1 $t2,$f10 +/* f186620: 44815000 */ mtc1 $at,$f10 +/* f186624: 240a0001 */ addiu $t2,$zero,0x1 +/* f186628: 460a4281 */ sub.s $f10,$f8,$f10 +/* f18662c: 44caf800 */ ctc1 $t2,$31 +/* f186630: 00000000 */ nop +/* f186634: 460052a4 */ cvt.w.s $f10,$f10 +/* f186638: 444af800 */ cfc1 $t2,$31 +/* f18663c: 00000000 */ nop +/* f186640: 314a0078 */ andi $t2,$t2,0x78 +/* f186644: 15400005 */ bnez $t2,.L0f18665c +/* f186648: 00000000 */ nop +/* f18664c: 440a5000 */ mfc1 $t2,$f10 +/* f186650: 3c018000 */ lui $at,0x8000 +/* f186654: 10000007 */ b .L0f186674 +/* f186658: 01415025 */ or $t2,$t2,$at +.L0f18665c: +/* f18665c: 10000005 */ b .L0f186674 +/* f186660: 240affff */ addiu $t2,$zero,-1 +/* f186664: 440a5000 */ mfc1 $t2,$f10 +.L0f186668: +/* f186668: 00000000 */ nop +/* f18666c: 0540fffb */ bltz $t2,.L0f18665c +/* f186670: 00000000 */ nop +.L0f186674: +/* f186674: 904c0002 */ lbu $t4,0x2($v0) +/* f186678: 44cbf800 */ ctc1 $t3,$31 +/* f18667c: a44a0000 */ sh $t2,0x0($v0) +/* f186680: 3189fffb */ andi $t1,$t4,0xfffb +/* f186684: 0fc033b9 */ jal setupGenericObject +/* f186688: a0490002 */ sb $t1,0x2($v0) +/* f18668c: 8fad0018 */ lw $t5,0x18($sp) +/* f186690: 0fc1812f */ jal propPrependToList1 +/* f186694: 8da40014 */ lw $a0,0x14($t5) +/* f186698: 8fb90018 */ lw $t9,0x18($sp) +/* f18669c: 0fc180bc */ jal propShow +/* f1866a0: 8f240014 */ lw $a0,0x14($t9) +/* f1866a4: 8fb80018 */ lw $t8,0x18($sp) +/* f1866a8: 8fbf0014 */ lw $ra,0x14($sp) +/* f1866ac: 8f020014 */ lw $v0,0x14($t8) +/* f1866b0: 03e00008 */ jr $ra +/* f1866b4: 27bd0078 */ addiu $sp,$sp,0x78 +); + +void mpCreateScenarioHudmsg(s32 playernum, char *message) +{ + if (playernum >= 0 && playernum < PLAYERCOUNT()) { + s32 prevplayernum = g_Vars.currentplayernum; + + setCurrentPlayerNum(playernum); + func0f0ddfa4(message, HUDMSGTYPE_MPSCENARIO, 1); + setCurrentPlayerNum(prevplayernum); + } +} + +bool mpChrsAreSameTeam(s32 arg0, s32 arg1) +{ + struct mpchr *achr; + struct mpchr *bchr; + + if ((g_MpSetup.options & MPOPTION_TEAMSENABLED) && arg0 >= 0 && arg1 >= 0) { + s32 a = func0f18d074(arg0); + s32 b = func0f18d074(arg1); + + if (a >= 0 && b >= 0) { + if (a < 4) { + achr = &g_MpPlayers[a].base; + } else { + achr = &g_MpSimulants[a - 4].base; + } + + if (b < 4) { + bchr = &g_MpPlayers[b].base; + } else { + bchr = &g_MpSimulants[b - 4].base; + } + + return (achr->team == bchr->team) ? true : false; + } + } + + return false; +} + +GLOBAL_ASM( +glabel chrGiveBriefcase +/* f186898: 27bdfed8 */ addiu $sp,$sp,-296 +/* f18689c: afbf002c */ sw $ra,0x2c($sp) +/* f1868a0: afb10028 */ sw $s1,0x28($sp) +/* f1868a4: afb00024 */ sw $s0,0x24($sp) +/* f1868a8: afa40128 */ sw $a0,0x128($sp) +/* f1868ac: afa5012c */ sw $a1,0x12c($sp) +/* f1868b0: 3c03800b */ lui $v1,%hi(g_MpSetup+0x10) +/* f1868b4: 8ca20004 */ lw $v0,0x4($a1) +/* f1868b8: 9063cb98 */ lbu $v1,%lo(g_MpSetup+0x10)($v1) +/* f1868bc: 24010001 */ addiu $at,$zero,0x1 +/* f1868c0: afa20124 */ sw $v0,0x124($sp) +/* f1868c4: 146100a5 */ bne $v1,$at,.L0f186b5c +/* f1868c8: afa20120 */ sw $v0,0x120($sp) +/* f1868cc: 8c98001c */ lw $t8,0x1c($a0) +/* f1868d0: 3c01800b */ lui $at,%hi(g_ScenarioData+0x4) +/* f1868d4: 3c11800a */ lui $s1,%hi(g_Vars) +/* f1868d8: ac38c114 */ sw $t8,%lo(g_ScenarioData+0x4)($at) +/* f1868dc: 8c9902d4 */ lw $t9,0x2d4($a0) +/* f1868e0: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) +/* f1868e4: 53200017 */ beqzl $t9,.L0f186944 +/* f1868e8: 8e39028c */ lw $t9,0x28c($s1) +/* f1868ec: 0fc633fe */ jal mpPlayerGetIndex +/* f1868f0: 00000000 */ nop +/* f1868f4: 00025080 */ sll $t2,$v0,0x2 +/* f1868f8: 3c0b800b */ lui $t3,%hi(var800ac500) +/* f1868fc: 016a5821 */ addu $t3,$t3,$t2 +/* f186900: 8d6bc500 */ lw $t3,%lo(var800ac500)($t3) +/* f186904: 8fac0120 */ lw $t4,0x120($sp) +/* f186908: 8fa4012c */ lw $a0,0x12c($sp) +/* f18690c: afab0050 */ sw $t3,0x50($sp) +/* f186910: 0fc21f03 */ jal propPlayPickupSound +/* f186914: 9185005c */ lbu $a1,0x5c($t4) +/* f186918: 8fa40128 */ lw $a0,0x128($sp) +/* f18691c: 24050057 */ addiu $a1,$zero,0x57 +/* f186920: 8c8302d4 */ lw $v1,0x2d4($a0) +/* f186924: 906e009c */ lbu $t6,0x9c($v1) +/* f186928: 35d80080 */ ori $t8,$t6,0x80 +/* f18692c: 0fc65fa3 */ jal func0f197e8c +/* f186930: a078009c */ sb $t8,0x9c($v1) +/* f186934: 3c11800a */ lui $s1,%hi(g_Vars) +/* f186938: 10000020 */ b .L0f1869bc +/* f18693c: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) +/* f186940: 8e39028c */ lw $t9,0x28c($s1) +.L0f186944: +/* f186944: 3c0c800b */ lui $t4,%hi(g_MpPlayers) +/* f186948: 258cc7b8 */ addiu $t4,$t4,%lo(g_MpPlayers) +/* f18694c: 001979c0 */ sll $t7,$t9,0x7 +/* f186950: 022f5021 */ addu $t2,$s1,$t7 +/* f186954: 8d4200e4 */ lw $v0,0xe4($t2) +/* f186958: 3c19800b */ lui $t9,%hi(g_MpSimulants) +/* f18695c: 2739c538 */ addiu $t9,$t9,%lo(g_MpSimulants) +/* f186960: 28410004 */ slti $at,$v0,0x4 +/* f186964: 10200007 */ beqz $at,.L0f186984 +/* f186968: 00027080 */ sll $t6,$v0,0x2 +/* f18696c: 00025880 */ sll $t3,$v0,0x2 +/* f186970: 01625821 */ addu $t3,$t3,$v0 +/* f186974: 000b5940 */ sll $t3,$t3,0x5 +/* f186978: 016c6821 */ addu $t5,$t3,$t4 +/* f18697c: 10000008 */ b .L0f1869a0 +/* f186980: afad0050 */ sw $t5,0x50($sp) +.L0f186984: +/* f186984: 01c27021 */ addu $t6,$t6,$v0 +/* f186988: 000e7080 */ sll $t6,$t6,0x2 +/* f18698c: 01c27023 */ subu $t6,$t6,$v0 +/* f186990: 000e7080 */ sll $t6,$t6,0x2 +/* f186994: 25d8fed0 */ addiu $t8,$t6,-304 +/* f186998: 03197821 */ addu $t7,$t8,$t9 +/* f18699c: afaf0050 */ sw $t7,0x50($sp) +.L0f1869a0: +/* f1869a0: 0fc44762 */ jal invGiveSingleWeapon +/* f1869a4: 24040057 */ addiu $a0,$zero,0x57 +/* f1869a8: 24040057 */ addiu $a0,$zero,0x57 +/* f1869ac: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg +/* f1869b0: 00002825 */ or $a1,$zero,$zero +/* f1869b4: 0fc21f44 */ jal func0f087d10 +/* f1869b8: 24040057 */ addiu $a0,$zero,0x57 +.L0f1869bc: +/* f1869bc: 0fc5b9f1 */ jal langGet +/* f1869c0: 24045400 */ addiu $a0,$zero,0x5400 +/* f1869c4: 24040057 */ addiu $a0,$zero,0x57 +/* f1869c8: 0fc28874 */ jal weaponGetShortName +/* f1869cc: afa20048 */ sw $v0,0x48($sp) +/* f1869d0: 8fa50048 */ lw $a1,0x48($sp) +/* f1869d4: 27a400d4 */ addiu $a0,$sp,0xd4 +/* f1869d8: 8fa60050 */ lw $a2,0x50($sp) +/* f1869dc: 0c004dad */ jal sprintf +/* f1869e0: 00403825 */ or $a3,$v0,$zero +/* f1869e4: 8e29006c */ lw $t1,0x6c($s1) +/* f1869e8: 8e2a028c */ lw $t2,0x28c($s1) +/* f1869ec: 00008025 */ or $s0,$zero,$zero +/* f1869f0: 11200003 */ beqz $t1,.L0f186a00 +/* f1869f4: afaa0118 */ sw $t2,0x118($sp) +/* f1869f8: 10000002 */ b .L0f186a04 +/* f1869fc: 24040001 */ addiu $a0,$zero,0x1 +.L0f186a00: +/* f186a00: 00002025 */ or $a0,$zero,$zero +.L0f186a04: +/* f186a04: 8e280068 */ lw $t0,0x68($s1) +/* f186a08: 00001825 */ or $v1,$zero,$zero +/* f186a0c: 00002825 */ or $a1,$zero,$zero +/* f186a10: 11000003 */ beqz $t0,.L0f186a20 +/* f186a14: 00001025 */ or $v0,$zero,$zero +/* f186a18: 10000001 */ b .L0f186a20 +/* f186a1c: 24030001 */ addiu $v1,$zero,0x1 +.L0f186a20: +/* f186a20: 8e270064 */ lw $a3,0x64($s1) +/* f186a24: 10e00003 */ beqz $a3,.L0f186a34 +/* f186a28: 00000000 */ nop +/* f186a2c: 10000001 */ b .L0f186a34 +/* f186a30: 24050001 */ addiu $a1,$zero,0x1 +.L0f186a34: +/* f186a34: 8e260070 */ lw $a2,0x70($s1) +/* f186a38: 10c00003 */ beqz $a2,.L0f186a48 +/* f186a3c: 00000000 */ nop +/* f186a40: 10000001 */ b .L0f186a48 +/* f186a44: 24020001 */ addiu $v0,$zero,0x1 +.L0f186a48: +/* f186a48: 00455821 */ addu $t3,$v0,$a1 +/* f186a4c: 01636021 */ addu $t4,$t3,$v1 +/* f186a50: 01846821 */ addu $t5,$t4,$a0 +/* f186a54: 19a0002d */ blez $t5,.L0f186b0c +/* f186a58: 00000000 */ nop +/* f186a5c: 8fae0128 */ lw $t6,0x128($sp) +.L0f186a60: +/* f186a60: 8fb90118 */ lw $t9,0x118($sp) +/* f186a64: 8dd802d4 */ lw $t8,0x2d4($t6) +/* f186a68: 17000003 */ bnez $t8,.L0f186a78 +/* f186a6c: 00000000 */ nop +/* f186a70: 1219000f */ beq $s0,$t9,.L0f186ab0 +/* f186a74: 00000000 */ nop +.L0f186a78: +/* f186a78: 0fc4a24b */ jal setCurrentPlayerNum +/* f186a7c: 02002025 */ or $a0,$s0,$zero +/* f186a80: 27a400d4 */ addiu $a0,$sp,0xd4 +/* f186a84: 24050009 */ addiu $a1,$zero,0x9 +/* f186a88: 0fc377e9 */ jal func0f0ddfa4 +/* f186a8c: 24060001 */ addiu $a2,$zero,0x1 +/* f186a90: 3c09800a */ lui $t1,%hi(g_Vars+0x6c) +/* f186a94: 3c08800a */ lui $t0,%hi(g_Vars+0x68) +/* f186a98: 3c07800a */ lui $a3,%hi(g_Vars+0x64) +/* f186a9c: 3c06800a */ lui $a2,%hi(g_Vars+0x70) +/* f186aa0: 8cc6a030 */ lw $a2,%lo(g_Vars+0x70)($a2) +/* f186aa4: 8ce7a024 */ lw $a3,%lo(g_Vars+0x64)($a3) +/* f186aa8: 8d08a028 */ lw $t0,%lo(g_Vars+0x68)($t0) +/* f186aac: 8d29a02c */ lw $t1,%lo(g_Vars+0x6c)($t1) +.L0f186ab0: +/* f186ab0: 11200003 */ beqz $t1,.L0f186ac0 +/* f186ab4: 26100001 */ addiu $s0,$s0,0x1 +/* f186ab8: 10000002 */ b .L0f186ac4 +/* f186abc: 24040001 */ addiu $a0,$zero,0x1 +.L0f186ac0: +/* f186ac0: 00002025 */ or $a0,$zero,$zero +.L0f186ac4: +/* f186ac4: 11000003 */ beqz $t0,.L0f186ad4 +/* f186ac8: 00001825 */ or $v1,$zero,$zero +/* f186acc: 10000001 */ b .L0f186ad4 +/* f186ad0: 24030001 */ addiu $v1,$zero,0x1 +.L0f186ad4: +/* f186ad4: 10e00003 */ beqz $a3,.L0f186ae4 +/* f186ad8: 00002825 */ or $a1,$zero,$zero +/* f186adc: 10000001 */ b .L0f186ae4 +/* f186ae0: 24050001 */ addiu $a1,$zero,0x1 +.L0f186ae4: +/* f186ae4: 10c00003 */ beqz $a2,.L0f186af4 +/* f186ae8: 00001025 */ or $v0,$zero,$zero +/* f186aec: 10000001 */ b .L0f186af4 +/* f186af0: 24020001 */ addiu $v0,$zero,0x1 +.L0f186af4: +/* f186af4: 00457821 */ addu $t7,$v0,$a1 +/* f186af8: 01e35021 */ addu $t2,$t7,$v1 +/* f186afc: 01445821 */ addu $t3,$t2,$a0 +/* f186b00: 020b082a */ slt $at,$s0,$t3 +/* f186b04: 5420ffd6 */ bnezl $at,.L0f186a60 +/* f186b08: 8fae0128 */ lw $t6,0x128($sp) +.L0f186b0c: +/* f186b0c: 0fc4a24b */ jal setCurrentPlayerNum +/* f186b10: 8fa40118 */ lw $a0,0x118($sp) +/* f186b14: 8fac0128 */ lw $t4,0x128($sp) +/* f186b18: 8fa30124 */ lw $v1,0x124($sp) +/* f186b1c: 8fa40124 */ lw $a0,0x124($sp) +/* f186b20: 8d8d02d4 */ lw $t5,0x2d4($t4) +/* f186b24: 51a00007 */ beqzl $t5,.L0f186b44 +/* f186b28: 90860002 */ lbu $a2,0x2($a0) +/* f186b2c: 8c6e0040 */ lw $t6,0x40($v1) +/* f186b30: 00001025 */ or $v0,$zero,$zero +/* f186b34: 35d80004 */ ori $t8,$t6,0x4 +/* f186b38: 100001ce */ b .L0f187274 +/* f186b3c: ac780040 */ sw $t8,0x40($v1) +/* f186b40: 90860002 */ lbu $a2,0x2($a0) +.L0f186b44: +/* f186b44: 00002825 */ or $a1,$zero,$zero +/* f186b48: 30cf0004 */ andi $t7,$a2,0x4 +/* f186b4c: 0fc1ab4b */ jal func0f06ad2c +/* f186b50: 01e03025 */ or $a2,$t7,$zero +/* f186b54: 100001c7 */ b .L0f187274 +/* f186b58: 24020001 */ addiu $v0,$zero,0x1 +.L0f186b5c: +/* f186b5c: 24010005 */ addiu $at,$zero,0x5 +/* f186b60: 146101be */ bne $v1,$at,.L0f18725c +/* f186b64: 8faf0128 */ lw $t7,0x128($sp) +/* f186b68: 8faa0128 */ lw $t2,0x128($sp) +/* f186b6c: 3c11800a */ lui $s1,%hi(g_Vars) +/* f186b70: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) +/* f186b74: 8d4302d4 */ lw $v1,0x2d4($t2) +/* f186b78: 5060000e */ beqzl $v1,.L0f186bb4 +/* f186b7c: 8e2e028c */ lw $t6,0x28c($s1) +/* f186b80: 0fc633fe */ jal mpPlayerGetIndex +/* f186b84: 01402025 */ or $a0,$t2,$zero +/* f186b88: 00025880 */ sll $t3,$v0,0x2 +/* f186b8c: 3c0c800b */ lui $t4,%hi(var800ac500) +/* f186b90: 018b6021 */ addu $t4,$t4,$t3 +/* f186b94: 8d8cc500 */ lw $t4,%lo(var800ac500)($t4) +/* f186b98: 8fad0128 */ lw $t5,0x128($sp) +/* f186b9c: 3c11800a */ lui $s1,%hi(g_Vars) +/* f186ba0: afac0050 */ sw $t4,0x50($sp) +/* f186ba4: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) +/* f186ba8: 10000019 */ b .L0f186c10 +/* f186bac: 8da302d4 */ lw $v1,0x2d4($t5) +/* f186bb0: 8e2e028c */ lw $t6,0x28c($s1) +.L0f186bb4: +/* f186bb4: 3c0a800b */ lui $t2,%hi(g_MpPlayers) +/* f186bb8: 254ac7b8 */ addiu $t2,$t2,%lo(g_MpPlayers) +/* f186bbc: 000ec1c0 */ sll $t8,$t6,0x7 +/* f186bc0: 0238c821 */ addu $t9,$s1,$t8 +/* f186bc4: 8f2200e4 */ lw $v0,0xe4($t9) +/* f186bc8: 3c0e800b */ lui $t6,%hi(g_MpSimulants) +/* f186bcc: 25cec538 */ addiu $t6,$t6,%lo(g_MpSimulants) +/* f186bd0: 28410004 */ slti $at,$v0,0x4 +/* f186bd4: 10200007 */ beqz $at,.L0f186bf4 +/* f186bd8: 00026080 */ sll $t4,$v0,0x2 +/* f186bdc: 00027880 */ sll $t7,$v0,0x2 +/* f186be0: 01e27821 */ addu $t7,$t7,$v0 +/* f186be4: 000f7940 */ sll $t7,$t7,0x5 +/* f186be8: 01ea5821 */ addu $t3,$t7,$t2 +/* f186bec: 10000008 */ b .L0f186c10 +/* f186bf0: afab0050 */ sw $t3,0x50($sp) +.L0f186bf4: +/* f186bf4: 01826021 */ addu $t4,$t4,$v0 +/* f186bf8: 000c6080 */ sll $t4,$t4,0x2 +/* f186bfc: 01826023 */ subu $t4,$t4,$v0 +/* f186c00: 000c6080 */ sll $t4,$t4,0x2 +/* f186c04: 258dfed0 */ addiu $t5,$t4,-304 +/* f186c08: 01aec021 */ addu $t8,$t5,$t6 +/* f186c0c: afb80050 */ sw $t8,0x50($sp) +.L0f186c10: +/* f186c10: 8fb90050 */ lw $t9,0x50($sp) +/* f186c14: 8faa0120 */ lw $t2,0x120($sp) +/* f186c18: 932f0011 */ lbu $t7,0x11($t9) +/* f186c1c: 854b0062 */ lh $t3,0x62($t2) +/* f186c20: 15eb00c8 */ bne $t7,$t3,.L0f186f44 +/* f186c24: 00000000 */ nop +/* f186c28: 10600005 */ beqz $v1,.L0f186c40 +/* f186c2c: 00000000 */ nop +/* f186c30: 8c6c009c */ lw $t4,0x9c($v1) +/* f186c34: 000c7040 */ sll $t6,$t4,0x1 +/* f186c38: 05c20008 */ bltzl $t6,.L0f186c5c +/* f186c3c: 8fb80050 */ lw $t8,0x50($sp) +.L0f186c40: +/* f186c40: 546000b9 */ bnezl $v1,.L0f186f28 +/* f186c44: 8fad0128 */ lw $t5,0x128($sp) +/* f186c48: 0fc44a11 */ jal invHasBriefcase +/* f186c4c: 00000000 */ nop +/* f186c50: 504000b5 */ beqzl $v0,.L0f186f28 +/* f186c54: 8fad0128 */ lw $t5,0x128($sp) +/* f186c58: 8fb80050 */ lw $t8,0x50($sp) +.L0f186c5c: +/* f186c5c: 3c02800b */ lui $v0,%hi(g_ScenarioData) +/* f186c60: 2442c110 */ addiu $v0,$v0,%lo(g_ScenarioData) +/* f186c64: 8719003e */ lh $t9,0x3e($t8) +/* f186c68: 00008025 */ or $s0,$zero,$zero +/* f186c6c: 272a0001 */ addiu $t2,$t9,0x1 +/* f186c70: a70a003e */ sh $t2,0x3e($t8) +/* f186c74: 8faf0128 */ lw $t7,0x128($sp) +/* f186c78: 8fac0128 */ lw $t4,0x128($sp) +/* f186c7c: 8de3001c */ lw $v1,0x1c($t7) +.L0f186c80: +/* f186c80: 8c4b0058 */ lw $t3,0x58($v0) +/* f186c84: 506b0006 */ beql $v1,$t3,.L0f186ca0 +/* f186c88: 8d8d02d4 */ lw $t5,0x2d4($t4) +/* f186c8c: 26100001 */ addiu $s0,$s0,0x1 +/* f186c90: 2a010004 */ slti $at,$s0,0x4 +/* f186c94: 1420fffa */ bnez $at,.L0f186c80 +/* f186c98: 24420004 */ addiu $v0,$v0,0x4 +/* f186c9c: 8d8d02d4 */ lw $t5,0x2d4($t4) +.L0f186ca0: +/* f186ca0: 11a00009 */ beqz $t5,.L0f186cc8 +/* f186ca4: 01802025 */ or $a0,$t4,$zero +/* f186ca8: 0fc66661 */ jal func0f199984 +/* f186cac: 24050057 */ addiu $a1,$zero,0x57 +/* f186cb0: 8fae0128 */ lw $t6,0x128($sp) +/* f186cb4: 8dc302d4 */ lw $v1,0x2d4($t6) +/* f186cb8: 9079009c */ lbu $t9,0x9c($v1) +/* f186cbc: 332affbf */ andi $t2,$t9,0xffbf +/* f186cc0: 10000014 */ b .L0f186d14 +/* f186cc4: a06a009c */ sb $t2,0x9c($v1) +.L0f186cc8: +/* f186cc8: 3c01bf80 */ lui $at,0xbf80 +/* f186ccc: 44812000 */ mtc1 $at,$f4 +/* f186cd0: 3c048009 */ lui $a0,%hi(var80095200) +/* f186cd4: 2418ffff */ addiu $t8,$zero,-1 +/* f186cd8: 240fffff */ addiu $t7,$zero,-1 +/* f186cdc: 240bffff */ addiu $t3,$zero,-1 +/* f186ce0: afab001c */ sw $t3,0x1c($sp) +/* f186ce4: afaf0018 */ sw $t7,0x18($sp) +/* f186ce8: afb80010 */ sw $t8,0x10($sp) +/* f186cec: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f186cf0: 240505b8 */ addiu $a1,$zero,0x5b8 +/* f186cf4: 00003025 */ or $a2,$zero,$zero +/* f186cf8: 2407ffff */ addiu $a3,$zero,-1 +/* f186cfc: 0c004241 */ jal audioStart +/* f186d00: e7a40014 */ swc1 $f4,0x14($sp) +/* f186d04: 0fc24494 */ jal func0f091250 +/* f186d08: 24040057 */ addiu $a0,$zero,0x57 +/* f186d0c: 0fc447a9 */ jal invRemoveItemByNum +/* f186d10: 24040057 */ addiu $a0,$zero,0x57 +.L0f186d14: +/* f186d14: 0fc5b9f1 */ jal langGet +/* f186d18: 24045404 */ addiu $a0,$zero,0x5404 +/* f186d1c: 24040057 */ addiu $a0,$zero,0x57 +/* f186d20: 0fc28874 */ jal weaponGetShortName +/* f186d24: afa20048 */ sw $v0,0x48($sp) +/* f186d28: 00106880 */ sll $t5,$s0,0x2 +/* f186d2c: 01b06823 */ subu $t5,$t5,$s0 +/* f186d30: 3c0c800b */ lui $t4,%hi(g_MpSetup+0x28) +/* f186d34: 258ccbb0 */ addiu $t4,$t4,%lo(g_MpSetup+0x28) +/* f186d38: 000d6880 */ sll $t5,$t5,0x2 +/* f186d3c: 01ac3021 */ addu $a2,$t5,$t4 +/* f186d40: afa6003c */ sw $a2,0x3c($sp) +/* f186d44: 8fa50048 */ lw $a1,0x48($sp) +/* f186d48: 27a400d4 */ addiu $a0,$sp,0xd4 +/* f186d4c: 0c004dad */ jal sprintf +/* f186d50: 00403825 */ or $a3,$v0,$zero +/* f186d54: 0fc5b9f1 */ jal langGet +/* f186d58: 24045405 */ addiu $a0,$zero,0x5405 +/* f186d5c: 24040057 */ addiu $a0,$zero,0x57 +/* f186d60: 0fc28874 */ jal weaponGetShortName +/* f186d64: afa20048 */ sw $v0,0x48($sp) +/* f186d68: 8fa50048 */ lw $a1,0x48($sp) +/* f186d6c: 27a40094 */ addiu $a0,$sp,0x94 +/* f186d70: 8fa60050 */ lw $a2,0x50($sp) +/* f186d74: 0c004dad */ jal sprintf +/* f186d78: 00403825 */ or $a3,$v0,$zero +/* f186d7c: 0fc5b9f1 */ jal langGet +/* f186d80: 24045406 */ addiu $a0,$zero,0x5406 +/* f186d84: 24040057 */ addiu $a0,$zero,0x57 +/* f186d88: 0fc28874 */ jal weaponGetShortName +/* f186d8c: afa20048 */ sw $v0,0x48($sp) +/* f186d90: 8fa50048 */ lw $a1,0x48($sp) +/* f186d94: 27a40054 */ addiu $a0,$sp,0x54 +/* f186d98: 8fa60050 */ lw $a2,0x50($sp) +/* f186d9c: 8fa7003c */ lw $a3,0x3c($sp) +/* f186da0: 0c004dad */ jal sprintf +/* f186da4: afa20010 */ sw $v0,0x10($sp) +/* f186da8: 8e39006c */ lw $t9,0x6c($s1) +/* f186dac: 8e2e028c */ lw $t6,0x28c($s1) +/* f186db0: afb00114 */ sw $s0,0x114($sp) +/* f186db4: 00008025 */ or $s0,$zero,$zero +/* f186db8: 13200003 */ beqz $t9,.L0f186dc8 +/* f186dbc: afae0118 */ sw $t6,0x118($sp) +/* f186dc0: 10000002 */ b .L0f186dcc +/* f186dc4: 24040001 */ addiu $a0,$zero,0x1 +.L0f186dc8: +/* f186dc8: 00002025 */ or $a0,$zero,$zero +.L0f186dcc: +/* f186dcc: 8e2a0068 */ lw $t2,0x68($s1) +/* f186dd0: 00001825 */ or $v1,$zero,$zero +/* f186dd4: 00002825 */ or $a1,$zero,$zero +/* f186dd8: 11400003 */ beqz $t2,.L0f186de8 +/* f186ddc: 00001025 */ or $v0,$zero,$zero +/* f186de0: 10000001 */ b .L0f186de8 +/* f186de4: 24030001 */ addiu $v1,$zero,0x1 +.L0f186de8: +/* f186de8: 8e380064 */ lw $t8,0x64($s1) +/* f186dec: 13000003 */ beqz $t8,.L0f186dfc +/* f186df0: 00000000 */ nop +/* f186df4: 10000001 */ b .L0f186dfc +/* f186df8: 24050001 */ addiu $a1,$zero,0x1 +.L0f186dfc: +/* f186dfc: 8e2f0070 */ lw $t7,0x70($s1) +/* f186e00: 11e00003 */ beqz $t7,.L0f186e10 +/* f186e04: 00000000 */ nop +/* f186e08: 10000001 */ b .L0f186e10 +/* f186e0c: 24020001 */ addiu $v0,$zero,0x1 +.L0f186e10: +/* f186e10: 00455821 */ addu $t3,$v0,$a1 +/* f186e14: 01636821 */ addu $t5,$t3,$v1 +/* f186e18: 01a46021 */ addu $t4,$t5,$a0 +/* f186e1c: 1980003f */ blez $t4,.L0f186f1c +/* f186e20: 00000000 */ nop +.L0f186e24: +/* f186e24: 0fc4a24b */ jal setCurrentPlayerNum +/* f186e28: 02002025 */ or $a0,$s0,$zero +/* f186e2c: 8fae0128 */ lw $t6,0x128($sp) +/* f186e30: 00107880 */ sll $t7,$s0,0x2 +/* f186e34: 3c0b800b */ lui $t3,%hi(var800ac500) +/* f186e38: 8dd902d4 */ lw $t9,0x2d4($t6) +/* f186e3c: 8faa0118 */ lw $t2,0x118($sp) +/* f186e40: 016f5821 */ addu $t3,$t3,$t7 +/* f186e44: 17200008 */ bnez $t9,.L0f186e68 +/* f186e48: 00000000 */ nop +/* f186e4c: 160a0006 */ bne $s0,$t2,.L0f186e68 +/* f186e50: 27a400d4 */ addiu $a0,$sp,0xd4 +/* f186e54: 24050009 */ addiu $a1,$zero,0x9 +/* f186e58: 0fc377e9 */ jal func0f0ddfa4 +/* f186e5c: 24060001 */ addiu $a2,$zero,0x1 +/* f186e60: 10000011 */ b .L0f186ea8 +/* f186e64: 8e2c006c */ lw $t4,0x6c($s1) +.L0f186e68: +/* f186e68: 8d6bc500 */ lw $t3,%lo(var800ac500)($t3) +/* f186e6c: 8fb80114 */ lw $t8,0x114($sp) +/* f186e70: 24060001 */ addiu $a2,$zero,0x1 +/* f186e74: 916d0011 */ lbu $t5,0x11($t3) +/* f186e78: 27a40054 */ addiu $a0,$sp,0x54 +/* f186e7c: 24050009 */ addiu $a1,$zero,0x9 +/* f186e80: 170d0006 */ bne $t8,$t5,.L0f186e9c +/* f186e84: 00000000 */ nop +/* f186e88: 27a40094 */ addiu $a0,$sp,0x94 +/* f186e8c: 0fc377e9 */ jal func0f0ddfa4 +/* f186e90: 24050009 */ addiu $a1,$zero,0x9 +/* f186e94: 10000004 */ b .L0f186ea8 +/* f186e98: 8e2c006c */ lw $t4,0x6c($s1) +.L0f186e9c: +/* f186e9c: 0fc377e9 */ jal func0f0ddfa4 +/* f186ea0: 24060001 */ addiu $a2,$zero,0x1 +/* f186ea4: 8e2c006c */ lw $t4,0x6c($s1) +.L0f186ea8: +/* f186ea8: 26100001 */ addiu $s0,$s0,0x1 +/* f186eac: 00002025 */ or $a0,$zero,$zero +/* f186eb0: 11800003 */ beqz $t4,.L0f186ec0 +/* f186eb4: 00001825 */ or $v1,$zero,$zero +/* f186eb8: 10000001 */ b .L0f186ec0 +/* f186ebc: 24040001 */ addiu $a0,$zero,0x1 +.L0f186ec0: +/* f186ec0: 8e2e0068 */ lw $t6,0x68($s1) +/* f186ec4: 00002825 */ or $a1,$zero,$zero +/* f186ec8: 00001025 */ or $v0,$zero,$zero +/* f186ecc: 11c00003 */ beqz $t6,.L0f186edc +/* f186ed0: 00000000 */ nop +/* f186ed4: 10000001 */ b .L0f186edc +/* f186ed8: 24030001 */ addiu $v1,$zero,0x1 +.L0f186edc: +/* f186edc: 8e390064 */ lw $t9,0x64($s1) +/* f186ee0: 13200003 */ beqz $t9,.L0f186ef0 +/* f186ee4: 00000000 */ nop +/* f186ee8: 10000001 */ b .L0f186ef0 +/* f186eec: 24050001 */ addiu $a1,$zero,0x1 +.L0f186ef0: +/* f186ef0: 8e2a0070 */ lw $t2,0x70($s1) +/* f186ef4: 11400003 */ beqz $t2,.L0f186f04 +/* f186ef8: 00000000 */ nop +/* f186efc: 10000001 */ b .L0f186f04 +/* f186f00: 24020001 */ addiu $v0,$zero,0x1 +.L0f186f04: +/* f186f04: 00457821 */ addu $t7,$v0,$a1 +/* f186f08: 01e35821 */ addu $t3,$t7,$v1 +/* f186f0c: 0164c021 */ addu $t8,$t3,$a0 +/* f186f10: 0218082a */ slt $at,$s0,$t8 +/* f186f14: 1420ffc3 */ bnez $at,.L0f186e24 +/* f186f18: 00000000 */ nop +.L0f186f1c: +/* f186f1c: 0fc4a24b */ jal setCurrentPlayerNum +/* f186f20: 8fa40118 */ lw $a0,0x118($sp) +/* f186f24: 8fad0128 */ lw $t5,0x128($sp) +.L0f186f28: +/* f186f28: 8dac02d4 */ lw $t4,0x2d4($t5) +/* f186f2c: 11800003 */ beqz $t4,.L0f186f3c +/* f186f30: 00000000 */ nop +/* f186f34: 100000cf */ b .L0f187274 +/* f186f38: 00001025 */ or $v0,$zero,$zero +.L0f186f3c: +/* f186f3c: 100000cd */ b .L0f187274 +/* f186f40: 00001025 */ or $v0,$zero,$zero +.L0f186f44: +/* f186f44: 10600005 */ beqz $v1,.L0f186f5c +/* f186f48: 00000000 */ nop +/* f186f4c: 8c6e009c */ lw $t6,0x9c($v1) +/* f186f50: 000e5040 */ sll $t2,$t6,0x1 +/* f186f54: 05410008 */ bgez $t2,.L0f186f78 +/* f186f58: 00000000 */ nop +.L0f186f5c: +/* f186f5c: 546000b8 */ bnezl $v1,.L0f187240 +/* f186f60: 8fac0128 */ lw $t4,0x128($sp) +/* f186f64: 0fc44a11 */ jal invHasBriefcase +/* f186f68: 00000000 */ nop +/* f186f6c: 144000b3 */ bnez $v0,.L0f18723c +/* f186f70: 8faf0128 */ lw $t7,0x128($sp) +/* f186f74: 8de302d4 */ lw $v1,0x2d4($t7) +.L0f186f78: +/* f186f78: 50600009 */ beqzl $v1,.L0f186fa0 +/* f186f7c: 8faa0120 */ lw $t2,0x120($sp) +/* f186f80: 9078009c */ lbu $t8,0x9c($v1) +/* f186f84: 370d0040 */ ori $t5,$t8,0x40 +/* f186f88: a06d009c */ sb $t5,0x9c($v1) +/* f186f8c: 8fac0120 */ lw $t4,0x120($sp) +/* f186f90: 8fa4012c */ lw $a0,0x12c($sp) +/* f186f94: 0fc21f03 */ jal propPlayPickupSound +/* f186f98: 9185005c */ lbu $a1,0x5c($t4) +/* f186f9c: 8faa0120 */ lw $t2,0x120($sp) +.L0f186fa0: +/* f186fa0: 8fae0128 */ lw $t6,0x128($sp) +/* f186fa4: 3c01800b */ lui $at,%hi(g_ScenarioData+0x58) +/* f186fa8: 854f0062 */ lh $t7,0x62($t2) +/* f186fac: 8dd9001c */ lw $t9,0x1c($t6) +/* f186fb0: 24045401 */ addiu $a0,$zero,0x5401 +/* f186fb4: 000f5880 */ sll $t3,$t7,0x2 +/* f186fb8: 002b0821 */ addu $at,$at,$t3 +/* f186fbc: 0fc5b9f1 */ jal langGet +/* f186fc0: ac39c168 */ sw $t9,%lo(g_ScenarioData+0x58)($at) +/* f186fc4: 24040057 */ addiu $a0,$zero,0x57 +/* f186fc8: 0fc28874 */ jal weaponGetShortName +/* f186fcc: afa20048 */ sw $v0,0x48($sp) +/* f186fd0: 8fb80120 */ lw $t8,0x120($sp) +/* f186fd4: 3c10800b */ lui $s0,%hi(g_MpSetup+0x28) +/* f186fd8: 2610cbb0 */ addiu $s0,$s0,%lo(g_MpSetup+0x28) +/* f186fdc: 870d0062 */ lh $t5,0x62($t8) +/* f186fe0: afa20010 */ sw $v0,0x10($sp) +/* f186fe4: 8fa50048 */ lw $a1,0x48($sp) +/* f186fe8: 000d6080 */ sll $t4,$t5,0x2 +/* f186fec: 018d6023 */ subu $t4,$t4,$t5 +/* f186ff0: 000c6080 */ sll $t4,$t4,0x2 +/* f186ff4: 020c3821 */ addu $a3,$s0,$t4 +/* f186ff8: 27a400d4 */ addiu $a0,$sp,0xd4 +/* f186ffc: 0c004dad */ jal sprintf +/* f187000: 8fa60050 */ lw $a2,0x50($sp) +/* f187004: 0fc5b9f1 */ jal langGet +/* f187008: 24045402 */ addiu $a0,$zero,0x5402 +/* f18700c: 24040057 */ addiu $a0,$zero,0x57 +/* f187010: 0fc28874 */ jal weaponGetShortName +/* f187014: afa20048 */ sw $v0,0x48($sp) +/* f187018: 8fa50048 */ lw $a1,0x48($sp) +/* f18701c: 27a40094 */ addiu $a0,$sp,0x94 +/* f187020: 8fa60050 */ lw $a2,0x50($sp) +/* f187024: 0c004dad */ jal sprintf +/* f187028: 00403825 */ or $a3,$v0,$zero +/* f18702c: 0fc5b9f1 */ jal langGet +/* f187030: 24045403 */ addiu $a0,$zero,0x5403 +/* f187034: 24040057 */ addiu $a0,$zero,0x57 +/* f187038: 0fc28874 */ jal weaponGetShortName +/* f18703c: afa20048 */ sw $v0,0x48($sp) +/* f187040: 8fae0120 */ lw $t6,0x120($sp) +/* f187044: 8fa50048 */ lw $a1,0x48($sp) +/* f187048: 27a40054 */ addiu $a0,$sp,0x54 +/* f18704c: 85ca0062 */ lh $t2,0x62($t6) +/* f187050: 00403825 */ or $a3,$v0,$zero +/* f187054: 000a7880 */ sll $t7,$t2,0x2 +/* f187058: 01ea7823 */ subu $t7,$t7,$t2 +/* f18705c: 000f7880 */ sll $t7,$t7,0x2 +/* f187060: 0c004dad */ jal sprintf +/* f187064: 020f3021 */ addu $a2,$s0,$t7 +/* f187068: 8e2b006c */ lw $t3,0x6c($s1) +/* f18706c: 8e39028c */ lw $t9,0x28c($s1) +/* f187070: 00008025 */ or $s0,$zero,$zero +/* f187074: 11600003 */ beqz $t3,.L0f187084 +/* f187078: afb90118 */ sw $t9,0x118($sp) +/* f18707c: 10000002 */ b .L0f187088 +/* f187080: 24040001 */ addiu $a0,$zero,0x1 +.L0f187084: +/* f187084: 00002025 */ or $a0,$zero,$zero +.L0f187088: +/* f187088: 8e380068 */ lw $t8,0x68($s1) +/* f18708c: 00001825 */ or $v1,$zero,$zero +/* f187090: 00002825 */ or $a1,$zero,$zero +/* f187094: 13000003 */ beqz $t8,.L0f1870a4 +/* f187098: 00001025 */ or $v0,$zero,$zero +/* f18709c: 10000001 */ b .L0f1870a4 +/* f1870a0: 24030001 */ addiu $v1,$zero,0x1 +.L0f1870a4: +/* f1870a4: 8e2d0064 */ lw $t5,0x64($s1) +/* f1870a8: 11a00003 */ beqz $t5,.L0f1870b8 +/* f1870ac: 00000000 */ nop +/* f1870b0: 10000001 */ b .L0f1870b8 +/* f1870b4: 24050001 */ addiu $a1,$zero,0x1 +.L0f1870b8: +/* f1870b8: 8e2c0070 */ lw $t4,0x70($s1) +/* f1870bc: 11800003 */ beqz $t4,.L0f1870cc +/* f1870c0: 00000000 */ nop +/* f1870c4: 10000001 */ b .L0f1870cc +/* f1870c8: 24020001 */ addiu $v0,$zero,0x1 +.L0f1870cc: +/* f1870cc: 00457021 */ addu $t6,$v0,$a1 +/* f1870d0: 01c35021 */ addu $t2,$t6,$v1 +/* f1870d4: 01447821 */ addu $t7,$t2,$a0 +/* f1870d8: 19e0003f */ blez $t7,.L0f1871d8 +/* f1870dc: 00000000 */ nop +.L0f1870e0: +/* f1870e0: 0fc4a24b */ jal setCurrentPlayerNum +/* f1870e4: 02002025 */ or $a0,$s0,$zero +/* f1870e8: 8fb90128 */ lw $t9,0x128($sp) +/* f1870ec: 00107080 */ sll $t6,$s0,0x2 +/* f1870f0: 3c0a800b */ lui $t2,%hi(var800ac500) +/* f1870f4: 8f2b02d4 */ lw $t3,0x2d4($t9) +/* f1870f8: 8fb80118 */ lw $t8,0x118($sp) +/* f1870fc: 014e5021 */ addu $t2,$t2,$t6 +/* f187100: 15600008 */ bnez $t3,.L0f187124 +/* f187104: 8fad0120 */ lw $t5,0x120($sp) +/* f187108: 16180006 */ bne $s0,$t8,.L0f187124 +/* f18710c: 27a40054 */ addiu $a0,$sp,0x54 +/* f187110: 24050009 */ addiu $a1,$zero,0x9 +/* f187114: 0fc377e9 */ jal func0f0ddfa4 +/* f187118: 24060001 */ addiu $a2,$zero,0x1 +/* f18711c: 10000011 */ b .L0f187164 +/* f187120: 8e39006c */ lw $t9,0x6c($s1) +.L0f187124: +/* f187124: 8d4ac500 */ lw $t2,%lo(var800ac500)($t2) +/* f187128: 85ac0062 */ lh $t4,0x62($t5) +/* f18712c: 24060001 */ addiu $a2,$zero,0x1 +/* f187130: 914f0011 */ lbu $t7,0x11($t2) +/* f187134: 27a400d4 */ addiu $a0,$sp,0xd4 +/* f187138: 24050009 */ addiu $a1,$zero,0x9 +/* f18713c: 158f0006 */ bne $t4,$t7,.L0f187158 +/* f187140: 00000000 */ nop +/* f187144: 27a40094 */ addiu $a0,$sp,0x94 +/* f187148: 0fc377e9 */ jal func0f0ddfa4 +/* f18714c: 24050009 */ addiu $a1,$zero,0x9 +/* f187150: 10000004 */ b .L0f187164 +/* f187154: 8e39006c */ lw $t9,0x6c($s1) +.L0f187158: +/* f187158: 0fc377e9 */ jal func0f0ddfa4 +/* f18715c: 24060001 */ addiu $a2,$zero,0x1 +/* f187160: 8e39006c */ lw $t9,0x6c($s1) +.L0f187164: +/* f187164: 26100001 */ addiu $s0,$s0,0x1 +/* f187168: 00002025 */ or $a0,$zero,$zero +/* f18716c: 13200003 */ beqz $t9,.L0f18717c +/* f187170: 00001825 */ or $v1,$zero,$zero +/* f187174: 10000001 */ b .L0f18717c +/* f187178: 24040001 */ addiu $a0,$zero,0x1 +.L0f18717c: +/* f18717c: 8e2b0068 */ lw $t3,0x68($s1) +/* f187180: 00002825 */ or $a1,$zero,$zero +/* f187184: 00001025 */ or $v0,$zero,$zero +/* f187188: 11600003 */ beqz $t3,.L0f187198 +/* f18718c: 00000000 */ nop +/* f187190: 10000001 */ b .L0f187198 +/* f187194: 24030001 */ addiu $v1,$zero,0x1 +.L0f187198: +/* f187198: 8e380064 */ lw $t8,0x64($s1) +/* f18719c: 13000003 */ beqz $t8,.L0f1871ac +/* f1871a0: 00000000 */ nop +/* f1871a4: 10000001 */ b .L0f1871ac +/* f1871a8: 24050001 */ addiu $a1,$zero,0x1 +.L0f1871ac: +/* f1871ac: 8e2d0070 */ lw $t5,0x70($s1) +/* f1871b0: 11a00003 */ beqz $t5,.L0f1871c0 +/* f1871b4: 00000000 */ nop +/* f1871b8: 10000001 */ b .L0f1871c0 +/* f1871bc: 24020001 */ addiu $v0,$zero,0x1 +.L0f1871c0: +/* f1871c0: 00457021 */ addu $t6,$v0,$a1 +/* f1871c4: 01c35021 */ addu $t2,$t6,$v1 +/* f1871c8: 01446021 */ addu $t4,$t2,$a0 +/* f1871cc: 020c082a */ slt $at,$s0,$t4 +/* f1871d0: 1420ffc3 */ bnez $at,.L0f1870e0 +/* f1871d4: 00000000 */ nop +.L0f1871d8: +/* f1871d8: 0fc4a24b */ jal setCurrentPlayerNum +/* f1871dc: 8fa40118 */ lw $a0,0x118($sp) +/* f1871e0: 8faf0128 */ lw $t7,0x128($sp) +/* f1871e4: 8df902d4 */ lw $t9,0x2d4($t7) +/* f1871e8: 01e02025 */ or $a0,$t7,$zero +/* f1871ec: 13200009 */ beqz $t9,.L0f187214 +/* f1871f0: 00000000 */ nop +/* f1871f4: 0fc65fa3 */ jal func0f197e8c +/* f1871f8: 24050057 */ addiu $a1,$zero,0x57 +/* f1871fc: 8fab0124 */ lw $t3,0x124($sp) +/* f187200: 00001025 */ or $v0,$zero,$zero +/* f187204: 8d780040 */ lw $t8,0x40($t3) +/* f187208: 370d0004 */ ori $t5,$t8,0x4 +/* f18720c: 10000019 */ b .L0f187274 +/* f187210: ad6d0040 */ sw $t5,0x40($t3) +.L0f187214: +/* f187214: 0fc4483c */ jal invGiveWeaponsByProp +/* f187218: 8fa4012c */ lw $a0,0x12c($sp) +/* f18721c: 8fa40124 */ lw $a0,0x124($sp) +/* f187220: 00002825 */ or $a1,$zero,$zero +/* f187224: 90860002 */ lbu $a2,0x2($a0) +/* f187228: 30ca0004 */ andi $t2,$a2,0x4 +/* f18722c: 0fc1ab4b */ jal func0f06ad2c +/* f187230: 01403025 */ or $a2,$t2,$zero +/* f187234: 1000000f */ b .L0f187274 +/* f187238: 24020001 */ addiu $v0,$zero,0x1 +.L0f18723c: +/* f18723c: 8fac0128 */ lw $t4,0x128($sp) +.L0f187240: +/* f187240: 8d9902d4 */ lw $t9,0x2d4($t4) +/* f187244: 13200003 */ beqz $t9,.L0f187254 +/* f187248: 00000000 */ nop +/* f18724c: 10000009 */ b .L0f187274 +/* f187250: 00001025 */ or $v0,$zero,$zero +.L0f187254: +/* f187254: 10000007 */ b .L0f187274 +/* f187258: 00001025 */ or $v0,$zero,$zero +.L0f18725c: +/* f18725c: 8df802d4 */ lw $t8,0x2d4($t7) +/* f187260: 00001025 */ or $v0,$zero,$zero +/* f187264: 13000003 */ beqz $t8,.L0f187274 +/* f187268: 00000000 */ nop +/* f18726c: 10000001 */ b .L0f187274 +/* f187270: 00001025 */ or $v0,$zero,$zero +.L0f187274: +/* f187274: 8fbf002c */ lw $ra,0x2c($sp) +/* f187278: 8fb00024 */ lw $s0,0x24($sp) +/* f18727c: 8fb10028 */ lw $s1,0x28($sp) +/* f187280: 03e00008 */ jr $ra +/* f187284: 27bd0128 */ addiu $sp,$sp,0x128 +); + +GLOBAL_ASM( +glabel func0f187288 +/* f187288: 27bdfef0 */ addiu $sp,$sp,-272 +/* f18728c: 3c0e800b */ lui $t6,%hi(g_MpSetup+0x10) +/* f187290: 91cecb98 */ lbu $t6,%lo(g_MpSetup+0x10)($t6) +/* f187294: afbf005c */ sw $ra,0x5c($sp) +/* f187298: afbe0058 */ sw $s8,0x58($sp) +/* f18729c: afb70054 */ sw $s7,0x54($sp) +/* f1872a0: afb60050 */ sw $s6,0x50($sp) +/* f1872a4: afb5004c */ sw $s5,0x4c($sp) +/* f1872a8: afb40048 */ sw $s4,0x48($sp) +/* f1872ac: afb30044 */ sw $s3,0x44($sp) +/* f1872b0: afb20040 */ sw $s2,0x40($sp) +/* f1872b4: afb1003c */ sw $s1,0x3c($sp) +/* f1872b8: afb00038 */ sw $s0,0x38($sp) +/* f1872bc: f7b40030 */ sdc1 $f20,0x30($sp) +/* f1872c0: 24010005 */ addiu $at,$zero,0x5 +/* f1872c4: 00a0b825 */ or $s7,$a1,$zero +/* f1872c8: 0080f025 */ or $s8,$a0,$zero +/* f1872cc: 15c10043 */ bne $t6,$at,.L0f1873dc +/* f1872d0: 8cb60004 */ lw $s6,0x4($a1) +/* f1872d4: 3c11800b */ lui $s1,%hi(g_ScenarioData) +/* f1872d8: 4480a000 */ mtc1 $zero,$f20 +/* f1872dc: 2631c110 */ addiu $s1,$s1,%lo(g_ScenarioData) +/* f1872e0: 00008025 */ or $s0,$zero,$zero +/* f1872e4: 27b50070 */ addiu $s5,$sp,0x70 +/* f1872e8: 27b400b0 */ addiu $s4,$sp,0xb0 +.L0f1872ec: +/* f1872ec: 8fcf001c */ lw $t7,0x1c($s8) +/* f1872f0: 8e380058 */ lw $t8,0x58($s1) +/* f1872f4: 02c02025 */ or $a0,$s6,$zero +/* f1872f8: 0010c840 */ sll $t9,$s0,0x1 +/* f1872fc: 15f80033 */ bne $t7,$t8,.L0f1873cc +/* f187300: 3c08800b */ lui $t0,%hi(g_ScenarioData) +/* f187304: 2508c110 */ addiu $t0,$t0,%lo(g_ScenarioData) +/* f187308: 0fc1ab10 */ jal objEndFlight +/* f18730c: 03289821 */ addu $s3,$t9,$t0 +/* f187310: ae370058 */ sw $s7,0x58($s1) +/* f187314: a6d00062 */ sh $s0,0x62($s6) +/* f187318: 86690008 */ lh $t1,0x8($s3) +/* f18731c: 3c04800b */ lui $a0,%hi(g_ScenarioData+0x18) +/* f187320: 8ef20004 */ lw $s2,0x4($s7) +/* f187324: 00095100 */ sll $t2,$t1,0x4 +/* f187328: 008a2021 */ addu $a0,$a0,$t2 +/* f18732c: 8484c128 */ lh $a0,%lo(g_ScenarioData+0x18)($a0) +/* f187330: 2405004e */ addiu $a1,$zero,0x4e +/* f187334: 0fc456ac */ jal padUnpack +/* f187338: 02803025 */ or $a2,$s4,$zero +/* f18733c: c7a400bc */ lwc1 $f4,0xbc($sp) +/* f187340: c7a800c0 */ lwc1 $f8,0xc0($sp) +/* f187344: c7b000c4 */ lwc1 $f16,0xc4($sp) +/* f187348: 46002187 */ neg.s $f6,$f4 +/* f18734c: 46004287 */ neg.s $f10,$f8 +/* f187350: e7a60010 */ swc1 $f6,0x10($sp) +/* f187354: c7a600cc */ lwc1 $f6,0xcc($sp) +/* f187358: c7a800d0 */ lwc1 $f8,0xd0($sp) +/* f18735c: c7a400c8 */ lwc1 $f4,0xc8($sp) +/* f187360: 46008487 */ neg.s $f18,$f16 +/* f187364: 4405a000 */ mfc1 $a1,$f20 +/* f187368: 4406a000 */ mfc1 $a2,$f20 +/* f18736c: 4407a000 */ mfc1 $a3,$f20 +/* f187370: e7b20018 */ swc1 $f18,0x18($sp) +/* f187374: e7aa0014 */ swc1 $f10,0x14($sp) +/* f187378: 02a02025 */ or $a0,$s5,$zero +/* f18737c: e7a60020 */ swc1 $f6,0x20($sp) +/* f187380: e7a80024 */ swc1 $f8,0x24($sp) +/* f187384: 0c005b56 */ jal func00016d58 +/* f187388: e7a4001c */ swc1 $f4,0x1c($sp) +/* f18738c: 8e420018 */ lw $v0,0x18($s2) +/* f187390: 02a02825 */ or $a1,$s5,$zero +/* f187394: 50400004 */ beqzl $v0,.L0f1873a8 +/* f187398: 8fab00f8 */ lw $t3,0xf8($sp) +/* f18739c: 0c0057c1 */ jal func00015f04 +/* f1873a0: c44c0014 */ lwc1 $f12,0x14($v0) +/* f1873a4: 8fab00f8 */ lw $t3,0xf8($sp) +.L0f1873a8: +/* f1873a8: 240cffff */ addiu $t4,$zero,-1 +/* f1873ac: a7ac006e */ sh $t4,0x6e($sp) +/* f1873b0: 02402025 */ or $a0,$s2,$zero +/* f1873b4: 02802825 */ or $a1,$s4,$zero +/* f1873b8: 02a03025 */ or $a2,$s5,$zero +/* f1873bc: 27a7006c */ addiu $a3,$sp,0x6c +/* f1873c0: afb40010 */ sw $s4,0x10($sp) +/* f1873c4: 0fc1a9cc */ jal func0f06a730 +/* f1873c8: a7ab006c */ sh $t3,0x6c($sp) +.L0f1873cc: +/* f1873cc: 26100001 */ addiu $s0,$s0,0x1 +/* f1873d0: 24010004 */ addiu $at,$zero,0x4 +/* f1873d4: 1601ffc5 */ bne $s0,$at,.L0f1872ec +/* f1873d8: 26310004 */ addiu $s1,$s1,0x4 +.L0f1873dc: +/* f1873dc: 8fbf005c */ lw $ra,0x5c($sp) +/* f1873e0: d7b40030 */ ldc1 $f20,0x30($sp) +/* f1873e4: 8fb00038 */ lw $s0,0x38($sp) +/* f1873e8: 8fb1003c */ lw $s1,0x3c($sp) +/* f1873ec: 8fb20040 */ lw $s2,0x40($sp) +/* f1873f0: 8fb30044 */ lw $s3,0x44($sp) +/* f1873f4: 8fb40048 */ lw $s4,0x48($sp) +/* f1873f8: 8fb5004c */ lw $s5,0x4c($sp) +/* f1873fc: 8fb60050 */ lw $s6,0x50($sp) +/* f187400: 8fb70054 */ lw $s7,0x54($sp) +/* f187404: 8fbe0058 */ lw $s8,0x58($sp) +/* f187408: 03e00008 */ jr $ra +/* f18740c: 27bd0110 */ addiu $sp,$sp,0x110 +); + +bool chrGiveUplink(struct chrdata *chr, struct prop *prop) +{ + s32 i; + struct mpchr *mpchr; + char message[60]; + s32 mpindex; + u32 playernum; + struct defaultobj *obj; + + if (g_MpSetup.scenario == MPSCENARIO_HACKERCENTRAL) { + obj = prop->obj; + g_ScenarioData.htm.uplink = chr->prop; + + if (chr->aibot) { + mpchr = var800ac500[mpPlayerGetIndex(chr)]; + } else { + mpindex = g_Vars.playerstats[g_Vars.currentplayernum].mpindex; + + if (mpindex < 4) { + mpchr = &g_MpPlayers[mpindex].base; + } else { + mpchr = &g_MpSimulants[mpindex - 4].base; + } + } + + // "%shas the\n%s" + sprintf(message, langGet(L_MPWEAPONS(0)), mpchr->name, weaponGetShortName(WEAPON_DATAUPLINK)); + playernum = g_Vars.currentplayernum; + + for (i = 0; i < PLAYERCOUNT(); i++) { + if (chr->aibot || i != playernum) { + setCurrentPlayerNum(i); + func0f0ddfa4(message, 9, 1); + } + } + + setCurrentPlayerNum(playernum); + + if (chr->aibot) { + propPlayPickupSound(prop, WEAPON_DATAUPLINK); + func0f197e8c(chr, WEAPON_DATAUPLINK); + chr->aibot->unk04c_05 = true; + obj->hidden |= 4; + return false; + } else { + invGiveSingleWeapon(WEAPON_DATAUPLINK); + currentPlayerQueuePickupWeaponHudmsg(WEAPON_DATAUPLINK, false); + func0f087d10(WEAPON_DATAUPLINK); + func0f06ad2c(obj, 0, obj->hidden2 & OBJH2FLAG_04); + return true; + } + } else if (chr->aibot) { + return false; + } + + return false; +} + +void scenarioHtmActivateUplink(struct chrdata *chr, struct prop *terminal) +{ + if (g_MpSetup.scenario == MPSCENARIO_HACKERCENTRAL) { + struct defaultobj *obj = terminal->obj; + + if (obj->flags3 & OBJFLAG3_00002000) { + u32 mpindex = mpPlayerGetIndex(chr); + + if ((obj->hidden & OBJHFLAG_ACTIVATED_BY_BOND) == 0) { + obj->hidden &= 0x0fffffff; + obj->hidden |= (mpindex << 28) & 0xf0000000; + obj->hidden |= OBJHFLAG_ACTIVATED_BY_BOND; + } + } + } +} diff --git a/src/include/game/mplayer/options.h b/src/include/game/mplayer/options.h deleted file mode 100644 index 78af24afc..000000000 --- a/src/include/game/mplayer/options.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _IN_GAME_MPLAYER_OPTIONS_H -#define _IN_GAME_MPLAYER_OPTIONS_H -#include -#include "types.h" - -s32 menuhandlerMpOpenOptions(s32 operation, struct menuitem *item, union handlerdata *data); -void scenarioCallback40(s32 *arg0); -void scenarioCallback44(s32 *arg0); -void scenarioInit(void); -s32 scenarioCallback08(void); -void scenarioReset(void); -void scenarioTick(void); -void scenarioCallback14(struct chrdata *chr); -Gfx *scenarioRadar(Gfx *gdl); -bool scenarioRadar2(Gfx **gdl, struct prop *prop); -f32 scenarioChooseSpawnLocation(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop); -s32 scenarioGetMaxTeams(void); -void scenarioCallback38(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3); - -#endif diff --git a/src/include/game/mplayer/scenarios.h b/src/include/game/mplayer/scenarios.h index 8fe31991d..d720832de 100644 --- a/src/include/game/mplayer/scenarios.h +++ b/src/include/game/mplayer/scenarios.h @@ -53,5 +53,18 @@ bool scenarioRadar2(Gfx **gdl, struct prop *prop); f32 scenarioChooseSpawnLocation(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop); s32 scenarioGetMaxTeams(void); void scenarioCallback38(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3); +s32 menuhandlerMpOpenOptions(s32 operation, struct menuitem *item, union handlerdata *data); +void scenarioCallback40(s32 *arg0); +void scenarioCallback44(s32 *arg0); +void scenarioInit(void); +s32 scenarioCallback08(void); +void scenarioReset(void); +void scenarioTick(void); +void scenarioCallback14(struct chrdata *chr); +Gfx *scenarioRadar(Gfx *gdl); +bool scenarioRadar2(Gfx **gdl, struct prop *prop); +f32 scenarioChooseSpawnLocation(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop); +s32 scenarioGetMaxTeams(void); +void scenarioCallback38(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3); #endif diff --git a/src/include/game/mplayer/setup.h b/src/include/game/mplayer/setup.h index ea04b022c..e2432f822 100644 --- a/src/include/game/mplayer/setup.h +++ b/src/include/game/mplayer/setup.h @@ -103,7 +103,7 @@ s32 mpOptionsMenuDialog(s32 operation, struct menudialog *dialog, union handlerd char *mpMenuTextScenarioShortName(struct menuitem *item); char *mpMenuTextScenarioName(struct menuitem *item); s32 menuhandler00185068(s32 operation, struct menuitem *item, union handlerdata *data); -void func0f185568(void); +void mpCreateMatchStartHudmsgs(void); Gfx *func0f185774(Gfx *gdl); u32 func0f185c14(void); bool func0f185e20(struct prop *prop, s32 *arg1);