diff --git a/src/game/core.c b/src/game/core.c index 3d1dd50fa..83eb5e945 100644 --- a/src/game/core.c +++ b/src/game/core.c @@ -362,7 +362,7 @@ void coreLoadStage(s32 stagenum) func0f00eb64(stagenum); mpPrepareScenario(); gvarsInitProps(); - func0f00c490(); + setupInit(); func0f00b510(); stageChooseActiveHeads(stagenum); setupParseObjects(stagenum); diff --git a/src/game/game_00c490.c b/src/game/game_00c490.c index 6f972f1aa..8c90696dd 100644 --- a/src/game/game_00c490.c +++ b/src/game/game_00c490.c @@ -148,524 +148,660 @@ u32 var80061be4 = 0x00000000; u32 var80061be8 = 0x00000000; u32 var80061bec = 0x00000000; -GLOBAL_ASM( -glabel func0f00c490 -/* f00c490: 27bdffe0 */ addiu $sp,$sp,-32 -/* f00c494: 3c028007 */ lui $v0,%hi(g_Lifts) -/* f00c498: 3c038007 */ lui $v1,%hi(var80069a70) -/* f00c49c: afbf0014 */ sw $ra,0x14($sp) -/* f00c4a0: 24639a70 */ addiu $v1,$v1,%lo(var80069a70) -/* f00c4a4: 24429a48 */ addiu $v0,$v0,%lo(g_Lifts) -.L0f00c4a8: -/* f00c4a8: 24420004 */ addiu $v0,$v0,0x4 -/* f00c4ac: 0043082b */ sltu $at,$v0,$v1 -/* f00c4b0: 1420fffd */ bnez $at,.L0f00c4a8 -/* f00c4b4: ac40fffc */ sw $zero,-0x4($v0) -/* f00c4b8: 3c06800a */ lui $a2,%hi(var8009ce40) -/* f00c4bc: 3c07800a */ lui $a3,%hi(var8009ce44) -/* f00c4c0: 3c08800a */ lui $t0,%hi(var8009ce48) -/* f00c4c4: 3c09800a */ lui $t1,%hi(var8009ce4c) -/* f00c4c8: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) -/* f00c4cc: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) -/* f00c4d0: 24e7ce44 */ addiu $a3,$a3,%lo(var8009ce44) -/* f00c4d4: 24c6ce40 */ addiu $a2,$a2,%lo(var8009ce40) -/* f00c4d8: 24030014 */ addiu $v1,$zero,0x14 -/* f00c4dc: 240e0032 */ addiu $t6,$zero,0x32 -/* f00c4e0: 240f000a */ addiu $t7,$zero,0xa -/* f00c4e4: 2418000f */ addiu $t8,$zero,0xf -/* f00c4e8: acce0000 */ sw $t6,0x0($a2) -/* f00c4ec: acef0000 */ sw $t7,0x0($a3) -/* f00c4f0: ad030000 */ sw $v1,0x0($t0) -/* f00c4f4: ad380000 */ sw $t8,0x0($t1) -/* f00c4f8: 3c028009 */ lui $v0,%hi(g_Is4Mb) -/* f00c4fc: 90420af0 */ lbu $v0,%lo(g_Is4Mb)($v0) -/* f00c500: 24040001 */ addiu $a0,$zero,0x1 -/* f00c504: 3c0a800a */ lui $t2,%hi(g_Menus+0x2000) -/* f00c508: 14820005 */ bne $a0,$v0,.L0f00c520 -/* f00c50c: 3c0f800a */ lui $t7,%hi(g_Vars+0x4b4) -/* f00c510: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) -/* f00c514: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) -/* f00c518: 10000004 */ b .L0f00c52c -/* f00c51c: ad430000 */ sw $v1,%lo(g_Menus+0x2000)($t2) -.L0f00c520: -/* f00c520: 254ace50 */ addiu $t2,$t2,-12720 -/* f00c524: 24190064 */ addiu $t9,$zero,0x64 -/* f00c528: ad590000 */ sw $t9,0x0($t2) -.L0f00c52c: -/* f00c52c: 14820006 */ bne $a0,$v0,.L0f00c548 -/* f00c530: 3c0b800a */ lui $t3,%hi(g_Menus+0x2000) -/* f00c534: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) -/* f00c538: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) -/* f00c53c: 240d0028 */ addiu $t5,$zero,0x28 -/* f00c540: 10000004 */ b .L0f00c554 -/* f00c544: ad6d0000 */ sw $t5,%lo(g_Menus+0x2000)($t3) -.L0f00c548: -/* f00c548: 256bce54 */ addiu $t3,$t3,-12716 -/* f00c54c: 240e0050 */ addiu $t6,$zero,0x50 -/* f00c550: ad6e0000 */ sw $t6,0x0($t3) -.L0f00c554: -/* f00c554: 8defa474 */ lw $t7,%lo(g_Vars+0x4b4)($t7) -/* f00c558: 29e1005a */ slti $at,$t7,0x5a -/* f00c55c: 14200007 */ bnez $at,.L0f00c57c -/* f00c560: 00000000 */ nop -/* f00c564: acc00000 */ sw $zero,0x0($a2) -/* f00c568: ace00000 */ sw $zero,0x0($a3) -/* f00c56c: ad000000 */ sw $zero,0x0($t0) -/* f00c570: ad200000 */ sw $zero,0x0($t1) -/* f00c574: ad400000 */ sw $zero,0x0($t2) -/* f00c578: ad600000 */ sw $zero,0x0($t3) -.L0f00c57c: -/* f00c57c: 0fc03323 */ jal func0f00cc8c -/* f00c580: 00000000 */ nop -/* f00c584: 0fc0338f */ jal setupClearProxyMines -/* f00c588: 00000000 */ nop -/* f00c58c: 3c018007 */ lui $at,%hi(g_AlarmTimer) -/* f00c590: ac2098d4 */ sw $zero,%lo(g_AlarmTimer)($at) -/* f00c594: 3c018007 */ lui $at,%hi(g_AlarmAudioHandle) -/* f00c598: ac2098d8 */ sw $zero,%lo(g_AlarmAudioHandle)($at) -/* f00c59c: 3c014280 */ lui $at,0x4280 -/* f00c5a0: 44812000 */ mtc1 $at,$f4 -/* f00c5a4: 44800000 */ mtc1 $zero,$f0 -/* f00c5a8: 3c018007 */ lui $at,%hi(g_AlarmSpeakerWeight) -/* f00c5ac: e42498dc */ swc1 $f4,%lo(g_AlarmSpeakerWeight)($at) -/* f00c5b0: 3c018007 */ lui $at,%hi(var800698e4) -/* f00c5b4: e42098e4 */ swc1 $f0,%lo(var800698e4)($at) -/* f00c5b8: 3c018007 */ lui $at,%hi(var800698e8) -/* f00c5bc: 3c028007 */ lui $v0,%hi(var800698ec) -/* f00c5c0: ac2098e8 */ sw $zero,%lo(var800698e8)($at) -/* f00c5c4: 244298ec */ addiu $v0,$v0,%lo(var800698ec) -/* f00c5c8: 3c018007 */ lui $at,%hi(var800698f8) -/* f00c5cc: e4400000 */ swc1 $f0,0x0($v0) -/* f00c5d0: e4400004 */ swc1 $f0,0x4($v0) -/* f00c5d4: e4400008 */ swc1 $f0,0x8($v0) -/* f00c5d8: ac2098f8 */ sw $zero,%lo(var800698f8)($at) -/* f00c5dc: 3c018007 */ lui $at,%hi(var800698fc) -/* f00c5e0: e42098fc */ swc1 $f0,%lo(var800698fc)($at) -/* f00c5e4: 3c018007 */ lui $at,%hi(var80069900) -/* f00c5e8: ac209900 */ sw $zero,%lo(var80069900)($at) -/* f00c5ec: 240c0001 */ addiu $t4,$zero,0x1 -/* f00c5f0: 3c018007 */ lui $at,%hi(g_CountdownTimerVisible) -/* f00c5f4: ac2c9904 */ sw $t4,%lo(g_CountdownTimerVisible)($at) -/* f00c5f8: 3c018007 */ lui $at,%hi(g_CountdownTimerRunning) -/* f00c5fc: ac209908 */ sw $zero,%lo(g_CountdownTimerRunning)($at) -/* f00c600: 3c018007 */ lui $at,%hi(g_CountdownTimerValue) -/* f00c604: e420990c */ swc1 $f0,%lo(g_CountdownTimerValue)($at) -/* f00c608: 3c018007 */ lui $at,%hi(var80069910) -/* f00c60c: ac209910 */ sw $zero,%lo(var80069910)($at) -/* f00c610: 3c06800a */ lui $a2,%hi(var8009ce40) -/* f00c614: 3c018007 */ lui $at,%hi(g_TintedGlassEnabled) -/* f00c618: 24c6ce40 */ addiu $a2,$a2,%lo(var8009ce40) -/* f00c61c: ac2098d0 */ sw $zero,%lo(g_TintedGlassEnabled)($at) -/* f00c620: 8cc30000 */ lw $v1,0x0($a2) -/* f00c624: 3c07800a */ lui $a3,%hi(var8009ce44) -/* f00c628: 3c08800a */ lui $t0,%hi(var8009ce48) -/* f00c62c: 3c09800a */ lui $t1,%hi(var8009ce4c) -/* f00c630: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) -/* f00c634: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) -/* f00c638: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) -/* f00c63c: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) -/* f00c640: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) -/* f00c644: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) -/* f00c648: 14600006 */ bnez $v1,.L0f00c664 -/* f00c64c: 24e7ce44 */ addiu $a3,$a3,%lo(var8009ce44) -/* f00c650: 3c04800a */ lui $a0,%hi(var8009ce58) -/* f00c654: 2484ce58 */ addiu $a0,$a0,%lo(var8009ce58) -/* f00c658: ac800000 */ sw $zero,0x0($a0) -/* f00c65c: 1000002a */ b .L0f00c708 -/* f00c660: 00001825 */ or $v1,$zero,$zero -.L0f00c664: -/* f00c664: 00032080 */ sll $a0,$v1,0x2 -/* f00c668: 00832023 */ subu $a0,$a0,$v1 -/* f00c66c: 00042080 */ sll $a0,$a0,0x2 -/* f00c670: 00832021 */ addu $a0,$a0,$v1 -/* f00c674: 000420c0 */ sll $a0,$a0,0x3 -/* f00c678: 2484000f */ addiu $a0,$a0,0xf -/* f00c67c: 3498000f */ ori $t8,$a0,0xf -/* f00c680: 3b04000f */ xori $a0,$t8,0xf -/* f00c684: 0c0048f2 */ jal malloc -/* f00c688: 24050004 */ addiu $a1,$zero,0x4 -/* f00c68c: 3c06800a */ lui $a2,%hi(var8009ce40) -/* f00c690: 24c6ce40 */ addiu $a2,$a2,%lo(var8009ce40) -/* f00c694: 8ccd0000 */ lw $t5,0x0($a2) -/* f00c698: 3c04800a */ lui $a0,%hi(var8009ce58) -/* f00c69c: 2484ce58 */ addiu $a0,$a0,%lo(var8009ce58) -/* f00c6a0: 3c07800a */ lui $a3,%hi(var8009ce44) -/* f00c6a4: 3c08800a */ lui $t0,%hi(var8009ce48) -/* f00c6a8: 3c09800a */ lui $t1,%hi(var8009ce4c) -/* f00c6ac: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) -/* f00c6b0: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) -/* f00c6b4: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) -/* f00c6b8: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) -/* f00c6bc: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) -/* f00c6c0: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) -/* f00c6c4: 24e7ce44 */ addiu $a3,$a3,%lo(var8009ce44) -/* f00c6c8: ac820000 */ sw $v0,0x0($a0) -/* f00c6cc: 19a0000c */ blez $t5,.L0f00c700 -/* f00c6d0: 00001825 */ or $v1,$zero,$zero -/* f00c6d4: 00001025 */ or $v0,$zero,$zero -/* f00c6d8: 8c8e0000 */ lw $t6,0x0($a0) -.L0f00c6dc: -/* f00c6dc: 24630001 */ addiu $v1,$v1,0x1 -/* f00c6e0: 01c27821 */ addu $t7,$t6,$v0 -/* f00c6e4: ade00014 */ sw $zero,0x14($t7) -/* f00c6e8: 8cd80000 */ lw $t8,0x0($a2) -/* f00c6ec: 24420068 */ addiu $v0,$v0,104 -/* f00c6f0: 0078082a */ slt $at,$v1,$t8 -/* f00c6f4: 5420fff9 */ bnezl $at,.L0f00c6dc -/* f00c6f8: 8c8e0000 */ lw $t6,0x0($a0) -/* f00c6fc: 00001825 */ or $v1,$zero,$zero -.L0f00c700: -/* f00c700: 3c018007 */ lui $at,%hi(var80069914) -/* f00c704: ac209914 */ sw $zero,%lo(var80069914)($at) -.L0f00c708: -/* f00c708: 8ce20000 */ lw $v0,0x0($a3) -/* f00c70c: 3c04800a */ lui $a0,%hi(var8009ce5c) -/* f00c710: 2484ce5c */ addiu $a0,$a0,%lo(var8009ce5c) -/* f00c714: 54400004 */ bnezl $v0,.L0f00c728 -/* f00c718: 00022080 */ sll $a0,$v0,0x2 -/* f00c71c: 10000029 */ b .L0f00c7c4 -/* f00c720: ac800000 */ sw $zero,0x0($a0) -/* f00c724: 00022080 */ sll $a0,$v0,0x2 -.L0f00c728: -/* f00c728: 00822023 */ subu $a0,$a0,$v0 -/* f00c72c: 000420c0 */ sll $a0,$a0,0x3 -/* f00c730: 00822023 */ subu $a0,$a0,$v0 -/* f00c734: 00042080 */ sll $a0,$a0,0x2 -/* f00c738: 2484000f */ addiu $a0,$a0,0xf -/* f00c73c: 3499000f */ ori $t9,$a0,0xf -/* f00c740: 3b24000f */ xori $a0,$t9,0xf -/* f00c744: 24050004 */ addiu $a1,$zero,0x4 -/* f00c748: 0c0048f2 */ jal malloc -/* f00c74c: afa3001c */ sw $v1,0x1c($sp) -/* f00c750: 3c07800a */ lui $a3,%hi(var8009ce44) -/* f00c754: 24e7ce44 */ addiu $a3,$a3,%lo(var8009ce44) -/* f00c758: 8cee0000 */ lw $t6,0x0($a3) -/* f00c75c: 3c04800a */ lui $a0,%hi(var8009ce5c) -/* f00c760: 2484ce5c */ addiu $a0,$a0,%lo(var8009ce5c) -/* f00c764: 3c08800a */ lui $t0,%hi(var8009ce48) -/* f00c768: 3c09800a */ lui $t1,%hi(var8009ce4c) -/* f00c76c: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) -/* f00c770: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) -/* f00c774: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) -/* f00c778: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) -/* f00c77c: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) -/* f00c780: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) -/* f00c784: ac820000 */ sw $v0,0x0($a0) -/* f00c788: 19c0000c */ blez $t6,.L0f00c7bc -/* f00c78c: 8fa3001c */ lw $v1,0x1c($sp) -/* f00c790: 00001025 */ or $v0,$zero,$zero -/* f00c794: 8c8f0000 */ lw $t7,0x0($a0) -.L0f00c798: -/* f00c798: 24630001 */ addiu $v1,$v1,0x1 -/* f00c79c: 01e2c021 */ addu $t8,$t7,$v0 -/* f00c7a0: af000014 */ sw $zero,0x14($t8) -/* f00c7a4: 8cf90000 */ lw $t9,0x0($a3) -/* f00c7a8: 2442005c */ addiu $v0,$v0,0x5c -/* f00c7ac: 0079082a */ slt $at,$v1,$t9 -/* f00c7b0: 5420fff9 */ bnezl $at,.L0f00c798 -/* f00c7b4: 8c8f0000 */ lw $t7,0x0($a0) -/* f00c7b8: 00001825 */ or $v1,$zero,$zero -.L0f00c7bc: -/* f00c7bc: 3c018007 */ lui $at,%hi(var80069918) -/* f00c7c0: ac209918 */ sw $zero,%lo(var80069918)($at) -.L0f00c7c4: -/* f00c7c4: 8d020000 */ lw $v0,0x0($t0) -/* f00c7c8: 3c04800a */ lui $a0,%hi(var8009ce60) -/* f00c7cc: 2484ce60 */ addiu $a0,$a0,%lo(var8009ce60) -/* f00c7d0: 54400004 */ bnezl $v0,.L0f00c7e4 -/* f00c7d4: 00022080 */ sll $a0,$v0,0x2 -/* f00c7d8: 10000023 */ b .L0f00c868 -/* f00c7dc: ac800000 */ sw $zero,0x0($a0) -/* f00c7e0: 00022080 */ sll $a0,$v0,0x2 -.L0f00c7e4: -/* f00c7e4: 00822023 */ subu $a0,$a0,$v0 -/* f00c7e8: 00042140 */ sll $a0,$a0,0x5 -/* f00c7ec: 2484000f */ addiu $a0,$a0,0xf -/* f00c7f0: 348d000f */ ori $t5,$a0,0xf -/* f00c7f4: 39a4000f */ xori $a0,$t5,0xf -/* f00c7f8: 24050004 */ addiu $a1,$zero,0x4 -/* f00c7fc: 0c0048f2 */ jal malloc -/* f00c800: afa3001c */ sw $v1,0x1c($sp) -/* f00c804: 3c08800a */ lui $t0,%hi(var8009ce48) -/* f00c808: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) -/* f00c80c: 8d0f0000 */ lw $t7,0x0($t0) -/* f00c810: 3c04800a */ lui $a0,%hi(var8009ce60) -/* f00c814: 2484ce60 */ addiu $a0,$a0,%lo(var8009ce60) -/* f00c818: 3c09800a */ lui $t1,%hi(var8009ce4c) -/* f00c81c: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) -/* f00c820: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) -/* f00c824: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) -/* f00c828: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) -/* f00c82c: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) -/* f00c830: ac820000 */ sw $v0,0x0($a0) -/* f00c834: 19e0000c */ blez $t7,.L0f00c868 -/* f00c838: 8fa3001c */ lw $v1,0x1c($sp) -/* f00c83c: 00001025 */ or $v0,$zero,$zero -/* f00c840: 8c980000 */ lw $t8,0x0($a0) -.L0f00c844: -/* f00c844: 24630001 */ addiu $v1,$v1,0x1 -/* f00c848: 0302c821 */ addu $t9,$t8,$v0 -/* f00c84c: af200014 */ sw $zero,0x14($t9) -/* f00c850: 8d0d0000 */ lw $t5,0x0($t0) -/* f00c854: 24420060 */ addiu $v0,$v0,0x60 -/* f00c858: 006d082a */ slt $at,$v1,$t5 -/* f00c85c: 5420fff9 */ bnezl $at,.L0f00c844 -/* f00c860: 8c980000 */ lw $t8,0x0($a0) -/* f00c864: 00001825 */ or $v1,$zero,$zero -.L0f00c868: -/* f00c868: 8d220000 */ lw $v0,0x0($t1) -/* f00c86c: 14400004 */ bnez $v0,.L0f00c880 -/* f00c870: 3c04800a */ lui $a0,%hi(var8009ce64) -/* f00c874: 2484ce64 */ addiu $a0,$a0,%lo(var8009ce64) -/* f00c878: 10000023 */ b .L0f00c908 -/* f00c87c: ac800000 */ sw $zero,0x0($a0) -.L0f00c880: -/* f00c880: 00022080 */ sll $a0,$v0,0x2 -/* f00c884: 00822023 */ subu $a0,$a0,$v0 -/* f00c888: 000420c0 */ sll $a0,$a0,0x3 -/* f00c88c: 00822023 */ subu $a0,$a0,$v0 -/* f00c890: 00042080 */ sll $a0,$a0,0x2 -/* f00c894: 2484000f */ addiu $a0,$a0,0xf -/* f00c898: 348e000f */ ori $t6,$a0,0xf -/* f00c89c: 39c4000f */ xori $a0,$t6,0xf -/* f00c8a0: 24050004 */ addiu $a1,$zero,0x4 -/* f00c8a4: 0c0048f2 */ jal malloc -/* f00c8a8: afa3001c */ sw $v1,0x1c($sp) -/* f00c8ac: 3c09800a */ lui $t1,%hi(var8009ce4c) -/* f00c8b0: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) -/* f00c8b4: 8d380000 */ lw $t8,0x0($t1) -/* f00c8b8: 3c04800a */ lui $a0,%hi(var8009ce64) -/* f00c8bc: 2484ce64 */ addiu $a0,$a0,%lo(var8009ce64) -/* f00c8c0: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) -/* f00c8c4: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) -/* f00c8c8: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) -/* f00c8cc: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) -/* f00c8d0: ac820000 */ sw $v0,0x0($a0) -/* f00c8d4: 1b00000c */ blez $t8,.L0f00c908 -/* f00c8d8: 8fa3001c */ lw $v1,0x1c($sp) -/* f00c8dc: 00001025 */ or $v0,$zero,$zero -/* f00c8e0: 8c990000 */ lw $t9,0x0($a0) -.L0f00c8e4: -/* f00c8e4: 24630001 */ addiu $v1,$v1,0x1 -/* f00c8e8: 03226821 */ addu $t5,$t9,$v0 -/* f00c8ec: ada00014 */ sw $zero,0x14($t5) -/* f00c8f0: 8d2e0000 */ lw $t6,0x0($t1) -/* f00c8f4: 2442005c */ addiu $v0,$v0,0x5c -/* f00c8f8: 006e082a */ slt $at,$v1,$t6 -/* f00c8fc: 5420fff9 */ bnezl $at,.L0f00c8e4 -/* f00c900: 8c990000 */ lw $t9,0x0($a0) -/* f00c904: 00001825 */ or $v1,$zero,$zero -.L0f00c908: -/* f00c908: 8d420000 */ lw $v0,0x0($t2) -/* f00c90c: 14400004 */ bnez $v0,.L0f00c920 -/* f00c910: 3c05800a */ lui $a1,%hi(g_Projectiles) -/* f00c914: 24a5ce68 */ addiu $a1,$a1,%lo(g_Projectiles) -/* f00c918: 10000022 */ b .L0f00c9a4 -/* f00c91c: aca00000 */ sw $zero,0x0($a1) -.L0f00c920: -/* f00c920: 00022100 */ sll $a0,$v0,0x4 -/* f00c924: 00822021 */ addu $a0,$a0,$v0 -/* f00c928: 00042080 */ sll $a0,$a0,0x2 -/* f00c92c: 00822023 */ subu $a0,$a0,$v0 -/* f00c930: 00042080 */ sll $a0,$a0,0x2 -/* f00c934: 2484000f */ addiu $a0,$a0,0xf -/* f00c938: 348f000f */ ori $t7,$a0,0xf -/* f00c93c: 39e4000f */ xori $a0,$t7,0xf -/* f00c940: 24050004 */ addiu $a1,$zero,0x4 -/* f00c944: 0c0048f2 */ jal malloc -/* f00c948: afa3001c */ sw $v1,0x1c($sp) -/* f00c94c: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) -/* f00c950: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) -/* f00c954: 8d590000 */ lw $t9,0x0($t2) -/* f00c958: 3c05800a */ lui $a1,%hi(g_Projectiles) -/* f00c95c: 24a5ce68 */ addiu $a1,$a1,%lo(g_Projectiles) -/* f00c960: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) -/* f00c964: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) -/* f00c968: aca20000 */ sw $v0,0x0($a1) -/* f00c96c: 1b20000d */ blez $t9,.L0f00c9a4 -/* f00c970: 8fa3001c */ lw $v1,0x1c($sp) -/* f00c974: 00001025 */ or $v0,$zero,$zero -/* f00c978: 3c048000 */ lui $a0,0x8000 -/* f00c97c: 8cad0000 */ lw $t5,0x0($a1) -.L0f00c980: -/* f00c980: 24630001 */ addiu $v1,$v1,0x1 -/* f00c984: 01a27021 */ addu $t6,$t5,$v0 -/* f00c988: adc40000 */ sw $a0,0x0($t6) -/* f00c98c: 8d4f0000 */ lw $t7,0x0($t2) -/* f00c990: 2442010c */ addiu $v0,$v0,0x10c -/* f00c994: 006f082a */ slt $at,$v1,$t7 -/* f00c998: 5420fff9 */ bnezl $at,.L0f00c980 -/* f00c99c: 8cad0000 */ lw $t5,0x0($a1) -/* f00c9a0: 00001825 */ or $v1,$zero,$zero -.L0f00c9a4: -/* f00c9a4: 8d620000 */ lw $v0,0x0($t3) -/* f00c9a8: 14400004 */ bnez $v0,.L0f00c9bc -/* f00c9ac: 3c04800a */ lui $a0,%hi(g_MonitorThings) -/* f00c9b0: 2484ce6c */ addiu $a0,$a0,%lo(g_MonitorThings) -/* f00c9b4: 1000001e */ b .L0f00ca30 -/* f00c9b8: ac800000 */ sw $zero,0x0($a0) -.L0f00c9bc: -/* f00c9bc: 000220c0 */ sll $a0,$v0,0x3 -/* f00c9c0: 00822021 */ addu $a0,$a0,$v0 -/* f00c9c4: 000420c0 */ sll $a0,$a0,0x3 -/* f00c9c8: 2484000f */ addiu $a0,$a0,0xf -/* f00c9cc: 3498000f */ ori $t8,$a0,0xf -/* f00c9d0: 3b04000f */ xori $a0,$t8,0xf -/* f00c9d4: 24050004 */ addiu $a1,$zero,0x4 -/* f00c9d8: 0c0048f2 */ jal malloc -/* f00c9dc: afa3001c */ sw $v1,0x1c($sp) -/* f00c9e0: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) -/* f00c9e4: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) -/* f00c9e8: 8d6d0000 */ lw $t5,0x0($t3) -/* f00c9ec: 3c04800a */ lui $a0,%hi(g_MonitorThings) -/* f00c9f0: 2484ce6c */ addiu $a0,$a0,%lo(g_MonitorThings) -/* f00c9f4: ac820000 */ sw $v0,0x0($a0) -/* f00c9f8: 8fa3001c */ lw $v1,0x1c($sp) -/* f00c9fc: 19a0000c */ blez $t5,.L0f00ca30 -/* f00ca00: 240c0001 */ addiu $t4,$zero,0x1 -/* f00ca04: 00001025 */ or $v0,$zero,$zero -/* f00ca08: 8c8e0000 */ lw $t6,0x0($a0) -.L0f00ca0c: -/* f00ca0c: 24630001 */ addiu $v1,$v1,0x1 -/* f00ca10: 01c27821 */ addu $t7,$t6,$v0 -/* f00ca14: adec0000 */ sw $t4,0x0($t7) -/* f00ca18: 8d780000 */ lw $t8,0x0($t3) -/* f00ca1c: 24420048 */ addiu $v0,$v0,0x48 -/* f00ca20: 0078082a */ slt $at,$v1,$t8 -/* f00ca24: 5420fff9 */ bnezl $at,.L0f00ca0c -/* f00ca28: 8c8e0000 */ lw $t6,0x0($a0) -/* f00ca2c: 00001825 */ or $v1,$zero,$zero -.L0f00ca30: -/* f00ca30: 3c013f80 */ lui $at,0x3f80 -/* f00ca34: 44810000 */ mtc1 $at,$f0 -/* f00ca38: 3c018007 */ lui $at,%hi(g_LiftDoors) -/* f00ca3c: ac20991c */ sw $zero,%lo(g_LiftDoors)($at) -/* f00ca40: 3c018007 */ lui $at,%hi(g_PadlockedDoors) -/* f00ca44: ac209920 */ sw $zero,%lo(g_PadlockedDoors)($at) -/* f00ca48: 3c018007 */ lui $at,%hi(g_SafeItems) -/* f00ca4c: ac209924 */ sw $zero,%lo(g_SafeItems)($at) -/* f00ca50: 3c018007 */ lui $at,%hi(g_LinkedScenery) -/* f00ca54: ac209928 */ sw $zero,%lo(g_LinkedScenery)($at) -/* f00ca58: 3c018007 */ lui $at,%hi(g_BlockedPaths) -/* f00ca5c: ac20992c */ sw $zero,%lo(g_BlockedPaths)($at) -/* f00ca60: 3c018007 */ lui $at,%hi(var80069930) -/* f00ca64: ac209930 */ sw $zero,%lo(var80069930)($at) -/* f00ca68: 3c018007 */ lui $at,%hi(var80069934) -/* f00ca6c: 2419ffff */ addiu $t9,$zero,-1 -/* f00ca70: ac399934 */ sw $t9,%lo(var80069934)($at) -/* f00ca74: 3c018007 */ lui $at,%hi(var80069948) -/* f00ca78: e4209948 */ swc1 $f0,%lo(var80069948)($at) -/* f00ca7c: 3c018007 */ lui $at,%hi(var8006994c) -/* f00ca80: e420994c */ swc1 $f0,%lo(var8006994c)($at) -/* f00ca84: 3c018007 */ lui $at,%hi(var80069950) -/* f00ca88: e4209950 */ swc1 $f0,%lo(var80069950)($at) -/* f00ca8c: 3c018007 */ lui $at,%hi(var80069954) -/* f00ca90: e4209954 */ swc1 $f0,%lo(var80069954)($at) -/* f00ca94: 3c018007 */ lui $at,%hi(var80069958) -/* f00ca98: e4209958 */ swc1 $f0,%lo(var80069958)($at) -/* f00ca9c: 3c02800a */ lui $v0,%hi(g_Vars) -/* f00caa0: 3c018007 */ lui $at,%hi(g_AmmoMultiplier) -/* f00caa4: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) -/* f00caa8: e420995c */ swc1 $f0,%lo(g_AmmoMultiplier)($at) -/* f00caac: 8c4d0318 */ lw $t5,0x318($v0) -/* f00cab0: 11a00005 */ beqz $t5,.L0f00cac8 -/* f00cab4: 3c078007 */ lui $a3,%hi(var80069970) -/* f00cab8: 24e79970 */ addiu $a3,$a3,%lo(var80069970) -/* f00cabc: 240e000c */ addiu $t6,$zero,0xc -/* f00cac0: 1000001f */ b .L0f00cb40 -/* f00cac4: acee0000 */ sw $t6,0x0($a3) -.L0f00cac8: -/* f00cac8: 8c4f006c */ lw $t7,0x6c($v0) -/* f00cacc: 3c078007 */ lui $a3,%hi(var80069970) -/* f00cad0: 24e79970 */ addiu $a3,$a3,%lo(var80069970) -/* f00cad4: 51e00004 */ beqzl $t7,.L0f00cae8 -/* f00cad8: 00003025 */ or $a2,$zero,$zero -/* f00cadc: 10000002 */ b .L0f00cae8 -/* f00cae0: 24060001 */ addiu $a2,$zero,0x1 -/* f00cae4: 00003025 */ or $a2,$zero,$zero -.L0f00cae8: -/* f00cae8: 8c580068 */ lw $t8,0x68($v0) -/* f00caec: 53000004 */ beqzl $t8,.L0f00cb00 -/* f00caf0: 00002025 */ or $a0,$zero,$zero -/* f00caf4: 10000002 */ b .L0f00cb00 -/* f00caf8: 24040001 */ addiu $a0,$zero,0x1 -/* f00cafc: 00002025 */ or $a0,$zero,$zero -.L0f00cb00: -/* f00cb00: 8c590064 */ lw $t9,0x64($v0) -/* f00cb04: 53200004 */ beqzl $t9,.L0f00cb18 -/* f00cb08: 00002825 */ or $a1,$zero,$zero -/* f00cb0c: 10000002 */ b .L0f00cb18 -/* f00cb10: 24050001 */ addiu $a1,$zero,0x1 -/* f00cb14: 00002825 */ or $a1,$zero,$zero -.L0f00cb18: -/* f00cb18: 8c4d0070 */ lw $t5,0x70($v0) -/* f00cb1c: 51a00004 */ beqzl $t5,.L0f00cb30 -/* f00cb20: 00001025 */ or $v0,$zero,$zero -/* f00cb24: 10000002 */ b .L0f00cb30 -/* f00cb28: 24020001 */ addiu $v0,$zero,0x1 -/* f00cb2c: 00001025 */ or $v0,$zero,$zero -.L0f00cb30: -/* f00cb30: 00457021 */ addu $t6,$v0,$a1 -/* f00cb34: 01c47821 */ addu $t7,$t6,$a0 -/* f00cb38: 01e6c021 */ addu $t8,$t7,$a2 -/* f00cb3c: acf80000 */ sw $t8,0x0($a3) -.L0f00cb40: -/* f00cb40: 8ce40000 */ lw $a0,0x0($a3) -/* f00cb44: 24050004 */ addiu $a1,$zero,0x4 -/* f00cb48: afa3001c */ sw $v1,0x1c($sp) -/* f00cb4c: 0004c880 */ sll $t9,$a0,0x2 -/* f00cb50: 0324c823 */ subu $t9,$t9,$a0 -/* f00cb54: 0019c880 */ sll $t9,$t9,0x2 -/* f00cb58: 0324c823 */ subu $t9,$t9,$a0 -/* f00cb5c: 0019c880 */ sll $t9,$t9,0x2 -/* f00cb60: 0324c823 */ subu $t9,$t9,$a0 -/* f00cb64: 0019c880 */ sll $t9,$t9,0x2 -/* f00cb68: 2724000f */ addiu $a0,$t9,0xf -/* f00cb6c: 348d000f */ ori $t5,$a0,0xf -/* f00cb70: 0c0048f2 */ jal malloc -/* f00cb74: 39a4000f */ xori $a0,$t5,0xf -/* f00cb78: 3c078007 */ lui $a3,%hi(var80069970) -/* f00cb7c: 24e79970 */ addiu $a3,$a3,%lo(var80069970) -/* f00cb80: 8ce40000 */ lw $a0,0x0($a3) -/* f00cb84: 3c068007 */ lui $a2,%hi(g_ThrownLaptops) -/* f00cb88: 24c69968 */ addiu $a2,$a2,%lo(g_ThrownLaptops) -/* f00cb8c: 00047880 */ sll $t7,$a0,0x2 -/* f00cb90: 01e47823 */ subu $t7,$t7,$a0 -/* f00cb94: 000f7880 */ sll $t7,$t7,0x2 -/* f00cb98: 01e47823 */ subu $t7,$t7,$a0 -/* f00cb9c: 000f7880 */ sll $t7,$t7,0x2 -/* f00cba0: 25e4000f */ addiu $a0,$t7,0xf -/* f00cba4: 3498000f */ ori $t8,$a0,0xf -/* f00cba8: acc20000 */ sw $v0,0x0($a2) -/* f00cbac: 3b04000f */ xori $a0,$t8,0xf -/* f00cbb0: 0c0048f2 */ jal malloc -/* f00cbb4: 24050004 */ addiu $a1,$zero,0x4 -/* f00cbb8: 3c078007 */ lui $a3,%hi(var80069970) -/* f00cbbc: 3c018007 */ lui $at,%hi(var8006996c) -/* f00cbc0: ac22996c */ sw $v0,%lo(var8006996c)($at) -/* f00cbc4: 24e79970 */ addiu $a3,$a3,%lo(var80069970) -/* f00cbc8: 8ced0000 */ lw $t5,0x0($a3) -/* f00cbcc: 3c068007 */ lui $a2,%hi(g_ThrownLaptops) -/* f00cbd0: 24c69968 */ addiu $a2,$a2,%lo(g_ThrownLaptops) -/* f00cbd4: 19a0000b */ blez $t5,.L0f00cc04 -/* f00cbd8: 8fa3001c */ lw $v1,0x1c($sp) -/* f00cbdc: 00001025 */ or $v0,$zero,$zero -/* f00cbe0: 8cce0000 */ lw $t6,0x0($a2) -.L0f00cbe4: -/* f00cbe4: 24630001 */ addiu $v1,$v1,0x1 -/* f00cbe8: 01c27821 */ addu $t7,$t6,$v0 -/* f00cbec: ade00014 */ sw $zero,0x14($t7) -/* f00cbf0: 8cf80000 */ lw $t8,0x0($a3) -/* f00cbf4: 244200ac */ addiu $v0,$v0,0xac -/* f00cbf8: 0078082a */ slt $at,$v1,$t8 -/* f00cbfc: 5420fff9 */ bnezl $at,.L0f00cbe4 -/* f00cc00: 8cce0000 */ lw $t6,0x0($a2) -.L0f00cc04: -/* f00cc04: 8fbf0014 */ lw $ra,0x14($sp) -/* f00cc08: 27bd0020 */ addiu $sp,$sp,0x20 -/* f00cc0c: 03e00008 */ jr $ra -/* f00cc10: 00000000 */ nop -); +//GLOBAL_ASM( +//glabel setupInit +///* f00c490: 27bdffe0 */ addiu $sp,$sp,-32 +///* f00c494: 3c028007 */ lui $v0,%hi(g_Lifts) +///* f00c498: 3c038007 */ lui $v1,%hi(var80069a70) +///* f00c49c: afbf0014 */ sw $ra,0x14($sp) +///* f00c4a0: 24639a70 */ addiu $v1,$v1,%lo(var80069a70) +///* f00c4a4: 24429a48 */ addiu $v0,$v0,%lo(g_Lifts) +//.L0f00c4a8: +///* f00c4a8: 24420004 */ addiu $v0,$v0,0x4 +///* f00c4ac: 0043082b */ sltu $at,$v0,$v1 +///* f00c4b0: 1420fffd */ bnez $at,.L0f00c4a8 +///* f00c4b4: ac40fffc */ sw $zero,-0x4($v0) +///* f00c4b8: 3c06800a */ lui $a2,%hi(var8009ce40) +///* f00c4bc: 3c07800a */ lui $a3,%hi(var8009ce44) +///* f00c4c0: 3c08800a */ lui $t0,%hi(var8009ce48) +///* f00c4c4: 3c09800a */ lui $t1,%hi(var8009ce4c) +///* f00c4c8: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) +///* f00c4cc: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) +///* f00c4d0: 24e7ce44 */ addiu $a3,$a3,%lo(var8009ce44) +///* f00c4d4: 24c6ce40 */ addiu $a2,$a2,%lo(var8009ce40) +///* f00c4d8: 24030014 */ addiu $v1,$zero,0x14 +///* f00c4dc: 240e0032 */ addiu $t6,$zero,0x32 +///* f00c4e0: 240f000a */ addiu $t7,$zero,0xa +///* f00c4e4: 2418000f */ addiu $t8,$zero,0xf +///* f00c4e8: acce0000 */ sw $t6,0x0($a2) +///* f00c4ec: acef0000 */ sw $t7,0x0($a3) +///* f00c4f0: ad030000 */ sw $v1,0x0($t0) +///* f00c4f4: ad380000 */ sw $t8,0x0($t1) +///* f00c4f8: 3c028009 */ lui $v0,%hi(g_Is4Mb) +///* f00c4fc: 90420af0 */ lbu $v0,%lo(g_Is4Mb)($v0) +///* f00c500: 24040001 */ addiu $a0,$zero,0x1 +///* f00c504: 3c0a800a */ lui $t2,%hi(g_Menus+0x2000) +///* f00c508: 14820005 */ bne $a0,$v0,.L0f00c520 +///* f00c50c: 3c0f800a */ lui $t7,%hi(g_Vars+0x4b4) +///* f00c510: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) +///* f00c514: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) +///* f00c518: 10000004 */ b .L0f00c52c +///* f00c51c: ad430000 */ sw $v1,%lo(g_Menus+0x2000)($t2) +//.L0f00c520: +///* f00c520: 254ace50 */ addiu $t2,$t2,-12720 +///* f00c524: 24190064 */ addiu $t9,$zero,0x64 +///* f00c528: ad590000 */ sw $t9,0x0($t2) +//.L0f00c52c: +///* f00c52c: 14820006 */ bne $a0,$v0,.L0f00c548 +///* f00c530: 3c0b800a */ lui $t3,%hi(g_Menus+0x2000) +///* f00c534: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) +///* f00c538: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) +///* f00c53c: 240d0028 */ addiu $t5,$zero,0x28 +///* f00c540: 10000004 */ b .L0f00c554 +///* f00c544: ad6d0000 */ sw $t5,%lo(g_Menus+0x2000)($t3) +//.L0f00c548: +///* f00c548: 256bce54 */ addiu $t3,$t3,-12716 +///* f00c54c: 240e0050 */ addiu $t6,$zero,0x50 +///* f00c550: ad6e0000 */ sw $t6,0x0($t3) +//.L0f00c554: +///* f00c554: 8defa474 */ lw $t7,%lo(g_Vars+0x4b4)($t7) +///* f00c558: 29e1005a */ slti $at,$t7,0x5a +///* f00c55c: 14200007 */ bnez $at,.L0f00c57c +///* f00c560: 00000000 */ nop +///* f00c564: acc00000 */ sw $zero,0x0($a2) +///* f00c568: ace00000 */ sw $zero,0x0($a3) +///* f00c56c: ad000000 */ sw $zero,0x0($t0) +///* f00c570: ad200000 */ sw $zero,0x0($t1) +///* f00c574: ad400000 */ sw $zero,0x0($t2) +///* f00c578: ad600000 */ sw $zero,0x0($t3) +//.L0f00c57c: +///* f00c57c: 0fc03323 */ jal func0f00cc8c +///* f00c580: 00000000 */ nop +///* f00c584: 0fc0338f */ jal setupClearProxyMines +///* f00c588: 00000000 */ nop +///* f00c58c: 3c018007 */ lui $at,%hi(g_AlarmTimer) +///* f00c590: ac2098d4 */ sw $zero,%lo(g_AlarmTimer)($at) +///* f00c594: 3c018007 */ lui $at,%hi(g_AlarmAudioHandle) +///* f00c598: ac2098d8 */ sw $zero,%lo(g_AlarmAudioHandle)($at) +///* f00c59c: 3c014280 */ lui $at,0x4280 +///* f00c5a0: 44812000 */ mtc1 $at,$f4 +///* f00c5a4: 44800000 */ mtc1 $zero,$f0 +///* f00c5a8: 3c018007 */ lui $at,%hi(g_AlarmSpeakerWeight) +///* f00c5ac: e42498dc */ swc1 $f4,%lo(g_AlarmSpeakerWeight)($at) +///* f00c5b0: 3c018007 */ lui $at,%hi(var800698e4) +///* f00c5b4: e42098e4 */ swc1 $f0,%lo(var800698e4)($at) +///* f00c5b8: 3c018007 */ lui $at,%hi(var800698e8) +///* f00c5bc: 3c028007 */ lui $v0,%hi(var800698ec) +///* f00c5c0: ac2098e8 */ sw $zero,%lo(var800698e8)($at) +///* f00c5c4: 244298ec */ addiu $v0,$v0,%lo(var800698ec) +///* f00c5c8: 3c018007 */ lui $at,%hi(var800698f8) +///* f00c5cc: e4400000 */ swc1 $f0,0x0($v0) +///* f00c5d0: e4400004 */ swc1 $f0,0x4($v0) +///* f00c5d4: e4400008 */ swc1 $f0,0x8($v0) +///* f00c5d8: ac2098f8 */ sw $zero,%lo(var800698f8)($at) +///* f00c5dc: 3c018007 */ lui $at,%hi(var800698fc) +///* f00c5e0: e42098fc */ swc1 $f0,%lo(var800698fc)($at) +///* f00c5e4: 3c018007 */ lui $at,%hi(var80069900) +///* f00c5e8: ac209900 */ sw $zero,%lo(var80069900)($at) +///* f00c5ec: 240c0001 */ addiu $t4,$zero,0x1 +///* f00c5f0: 3c018007 */ lui $at,%hi(g_CountdownTimerVisible) +///* f00c5f4: ac2c9904 */ sw $t4,%lo(g_CountdownTimerVisible)($at) +///* f00c5f8: 3c018007 */ lui $at,%hi(g_CountdownTimerRunning) +///* f00c5fc: ac209908 */ sw $zero,%lo(g_CountdownTimerRunning)($at) +///* f00c600: 3c018007 */ lui $at,%hi(g_CountdownTimerValue) +///* f00c604: e420990c */ swc1 $f0,%lo(g_CountdownTimerValue)($at) +///* f00c608: 3c018007 */ lui $at,%hi(var80069910) +///* f00c60c: ac209910 */ sw $zero,%lo(var80069910)($at) +///* f00c610: 3c06800a */ lui $a2,%hi(var8009ce40) +///* f00c614: 3c018007 */ lui $at,%hi(g_TintedGlassEnabled) +///* f00c618: 24c6ce40 */ addiu $a2,$a2,%lo(var8009ce40) +///* f00c61c: ac2098d0 */ sw $zero,%lo(g_TintedGlassEnabled)($at) +///* f00c620: 8cc30000 */ lw $v1,0x0($a2) +///* f00c624: 3c07800a */ lui $a3,%hi(var8009ce44) +///* f00c628: 3c08800a */ lui $t0,%hi(var8009ce48) +///* f00c62c: 3c09800a */ lui $t1,%hi(var8009ce4c) +///* f00c630: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) +///* f00c634: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) +///* f00c638: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) +///* f00c63c: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) +///* f00c640: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) +///* f00c644: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) +///* f00c648: 14600006 */ bnez $v1,.L0f00c664 +///* f00c64c: 24e7ce44 */ addiu $a3,$a3,%lo(var8009ce44) +///* f00c650: 3c04800a */ lui $a0,%hi(var8009ce58) +///* f00c654: 2484ce58 */ addiu $a0,$a0,%lo(var8009ce58) +///* f00c658: ac800000 */ sw $zero,0x0($a0) +///* f00c65c: 1000002a */ b .L0f00c708 +///* f00c660: 00001825 */ or $v1,$zero,$zero +//.L0f00c664: +///* f00c664: 00032080 */ sll $a0,$v1,0x2 +///* f00c668: 00832023 */ subu $a0,$a0,$v1 +///* f00c66c: 00042080 */ sll $a0,$a0,0x2 +///* f00c670: 00832021 */ addu $a0,$a0,$v1 +///* f00c674: 000420c0 */ sll $a0,$a0,0x3 +///* f00c678: 2484000f */ addiu $a0,$a0,0xf +///* f00c67c: 3498000f */ ori $t8,$a0,0xf +///* f00c680: 3b04000f */ xori $a0,$t8,0xf +///* f00c684: 0c0048f2 */ jal malloc +///* f00c688: 24050004 */ addiu $a1,$zero,0x4 +///* f00c68c: 3c06800a */ lui $a2,%hi(var8009ce40) +///* f00c690: 24c6ce40 */ addiu $a2,$a2,%lo(var8009ce40) +///* f00c694: 8ccd0000 */ lw $t5,0x0($a2) +///* f00c698: 3c04800a */ lui $a0,%hi(var8009ce58) +///* f00c69c: 2484ce58 */ addiu $a0,$a0,%lo(var8009ce58) +///* f00c6a0: 3c07800a */ lui $a3,%hi(var8009ce44) +///* f00c6a4: 3c08800a */ lui $t0,%hi(var8009ce48) +///* f00c6a8: 3c09800a */ lui $t1,%hi(var8009ce4c) +///* f00c6ac: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) +///* f00c6b0: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) +///* f00c6b4: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) +///* f00c6b8: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) +///* f00c6bc: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) +///* f00c6c0: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) +///* f00c6c4: 24e7ce44 */ addiu $a3,$a3,%lo(var8009ce44) +///* f00c6c8: ac820000 */ sw $v0,0x0($a0) +///* f00c6cc: 19a0000c */ blez $t5,.L0f00c700 +///* f00c6d0: 00001825 */ or $v1,$zero,$zero +///* f00c6d4: 00001025 */ or $v0,$zero,$zero +///* f00c6d8: 8c8e0000 */ lw $t6,0x0($a0) +//.L0f00c6dc: +///* f00c6dc: 24630001 */ addiu $v1,$v1,0x1 +///* f00c6e0: 01c27821 */ addu $t7,$t6,$v0 +///* f00c6e4: ade00014 */ sw $zero,0x14($t7) +///* f00c6e8: 8cd80000 */ lw $t8,0x0($a2) +///* f00c6ec: 24420068 */ addiu $v0,$v0,104 +///* f00c6f0: 0078082a */ slt $at,$v1,$t8 +///* f00c6f4: 5420fff9 */ bnezl $at,.L0f00c6dc +///* f00c6f8: 8c8e0000 */ lw $t6,0x0($a0) +///* f00c6fc: 00001825 */ or $v1,$zero,$zero +//.L0f00c700: +///* f00c700: 3c018007 */ lui $at,%hi(var80069914) +///* f00c704: ac209914 */ sw $zero,%lo(var80069914)($at) +//.L0f00c708: +///* f00c708: 8ce20000 */ lw $v0,0x0($a3) +///* f00c70c: 3c04800a */ lui $a0,%hi(var8009ce5c) +///* f00c710: 2484ce5c */ addiu $a0,$a0,%lo(var8009ce5c) +///* f00c714: 54400004 */ bnezl $v0,.L0f00c728 +///* f00c718: 00022080 */ sll $a0,$v0,0x2 +///* f00c71c: 10000029 */ b .L0f00c7c4 +///* f00c720: ac800000 */ sw $zero,0x0($a0) +///* f00c724: 00022080 */ sll $a0,$v0,0x2 +//.L0f00c728: +///* f00c728: 00822023 */ subu $a0,$a0,$v0 +///* f00c72c: 000420c0 */ sll $a0,$a0,0x3 +///* f00c730: 00822023 */ subu $a0,$a0,$v0 +///* f00c734: 00042080 */ sll $a0,$a0,0x2 +///* f00c738: 2484000f */ addiu $a0,$a0,0xf +///* f00c73c: 3499000f */ ori $t9,$a0,0xf +///* f00c740: 3b24000f */ xori $a0,$t9,0xf +///* f00c744: 24050004 */ addiu $a1,$zero,0x4 +///* f00c748: 0c0048f2 */ jal malloc +///* f00c74c: afa3001c */ sw $v1,0x1c($sp) +///* f00c750: 3c07800a */ lui $a3,%hi(var8009ce44) +///* f00c754: 24e7ce44 */ addiu $a3,$a3,%lo(var8009ce44) +///* f00c758: 8cee0000 */ lw $t6,0x0($a3) +///* f00c75c: 3c04800a */ lui $a0,%hi(var8009ce5c) +///* f00c760: 2484ce5c */ addiu $a0,$a0,%lo(var8009ce5c) +///* f00c764: 3c08800a */ lui $t0,%hi(var8009ce48) +///* f00c768: 3c09800a */ lui $t1,%hi(var8009ce4c) +///* f00c76c: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) +///* f00c770: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) +///* f00c774: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) +///* f00c778: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) +///* f00c77c: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) +///* f00c780: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) +///* f00c784: ac820000 */ sw $v0,0x0($a0) +///* f00c788: 19c0000c */ blez $t6,.L0f00c7bc +///* f00c78c: 8fa3001c */ lw $v1,0x1c($sp) +///* f00c790: 00001025 */ or $v0,$zero,$zero +///* f00c794: 8c8f0000 */ lw $t7,0x0($a0) +//.L0f00c798: +///* f00c798: 24630001 */ addiu $v1,$v1,0x1 +///* f00c79c: 01e2c021 */ addu $t8,$t7,$v0 +///* f00c7a0: af000014 */ sw $zero,0x14($t8) +///* f00c7a4: 8cf90000 */ lw $t9,0x0($a3) +///* f00c7a8: 2442005c */ addiu $v0,$v0,0x5c +///* f00c7ac: 0079082a */ slt $at,$v1,$t9 +///* f00c7b0: 5420fff9 */ bnezl $at,.L0f00c798 +///* f00c7b4: 8c8f0000 */ lw $t7,0x0($a0) +///* f00c7b8: 00001825 */ or $v1,$zero,$zero +//.L0f00c7bc: +///* f00c7bc: 3c018007 */ lui $at,%hi(var80069918) +///* f00c7c0: ac209918 */ sw $zero,%lo(var80069918)($at) +//.L0f00c7c4: +///* f00c7c4: 8d020000 */ lw $v0,0x0($t0) +///* f00c7c8: 3c04800a */ lui $a0,%hi(var8009ce60) +///* f00c7cc: 2484ce60 */ addiu $a0,$a0,%lo(var8009ce60) +///* f00c7d0: 54400004 */ bnezl $v0,.L0f00c7e4 +///* f00c7d4: 00022080 */ sll $a0,$v0,0x2 +///* f00c7d8: 10000023 */ b .L0f00c868 +///* f00c7dc: ac800000 */ sw $zero,0x0($a0) +///* f00c7e0: 00022080 */ sll $a0,$v0,0x2 +//.L0f00c7e4: +///* f00c7e4: 00822023 */ subu $a0,$a0,$v0 +///* f00c7e8: 00042140 */ sll $a0,$a0,0x5 +///* f00c7ec: 2484000f */ addiu $a0,$a0,0xf +///* f00c7f0: 348d000f */ ori $t5,$a0,0xf +///* f00c7f4: 39a4000f */ xori $a0,$t5,0xf +///* f00c7f8: 24050004 */ addiu $a1,$zero,0x4 +///* f00c7fc: 0c0048f2 */ jal malloc +///* f00c800: afa3001c */ sw $v1,0x1c($sp) +///* f00c804: 3c08800a */ lui $t0,%hi(var8009ce48) +///* f00c808: 2508ce48 */ addiu $t0,$t0,%lo(var8009ce48) +///* f00c80c: 8d0f0000 */ lw $t7,0x0($t0) +///* f00c810: 3c04800a */ lui $a0,%hi(var8009ce60) +///* f00c814: 2484ce60 */ addiu $a0,$a0,%lo(var8009ce60) +///* f00c818: 3c09800a */ lui $t1,%hi(var8009ce4c) +///* f00c81c: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) +///* f00c820: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) +///* f00c824: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) +///* f00c828: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) +///* f00c82c: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) +///* f00c830: ac820000 */ sw $v0,0x0($a0) +///* f00c834: 19e0000c */ blez $t7,.L0f00c868 +///* f00c838: 8fa3001c */ lw $v1,0x1c($sp) +///* f00c83c: 00001025 */ or $v0,$zero,$zero +///* f00c840: 8c980000 */ lw $t8,0x0($a0) +//.L0f00c844: +///* f00c844: 24630001 */ addiu $v1,$v1,0x1 +///* f00c848: 0302c821 */ addu $t9,$t8,$v0 +///* f00c84c: af200014 */ sw $zero,0x14($t9) +///* f00c850: 8d0d0000 */ lw $t5,0x0($t0) +///* f00c854: 24420060 */ addiu $v0,$v0,0x60 +///* f00c858: 006d082a */ slt $at,$v1,$t5 +///* f00c85c: 5420fff9 */ bnezl $at,.L0f00c844 +///* f00c860: 8c980000 */ lw $t8,0x0($a0) +///* f00c864: 00001825 */ or $v1,$zero,$zero +//.L0f00c868: +///* f00c868: 8d220000 */ lw $v0,0x0($t1) +///* f00c86c: 14400004 */ bnez $v0,.L0f00c880 +///* f00c870: 3c04800a */ lui $a0,%hi(var8009ce64) +///* f00c874: 2484ce64 */ addiu $a0,$a0,%lo(var8009ce64) +///* f00c878: 10000023 */ b .L0f00c908 +///* f00c87c: ac800000 */ sw $zero,0x0($a0) +//.L0f00c880: +///* f00c880: 00022080 */ sll $a0,$v0,0x2 +///* f00c884: 00822023 */ subu $a0,$a0,$v0 +///* f00c888: 000420c0 */ sll $a0,$a0,0x3 +///* f00c88c: 00822023 */ subu $a0,$a0,$v0 +///* f00c890: 00042080 */ sll $a0,$a0,0x2 +///* f00c894: 2484000f */ addiu $a0,$a0,0xf +///* f00c898: 348e000f */ ori $t6,$a0,0xf +///* f00c89c: 39c4000f */ xori $a0,$t6,0xf +///* f00c8a0: 24050004 */ addiu $a1,$zero,0x4 +///* f00c8a4: 0c0048f2 */ jal malloc +///* f00c8a8: afa3001c */ sw $v1,0x1c($sp) +///* f00c8ac: 3c09800a */ lui $t1,%hi(var8009ce4c) +///* f00c8b0: 2529ce4c */ addiu $t1,$t1,%lo(var8009ce4c) +///* f00c8b4: 8d380000 */ lw $t8,0x0($t1) +///* f00c8b8: 3c04800a */ lui $a0,%hi(var8009ce64) +///* f00c8bc: 2484ce64 */ addiu $a0,$a0,%lo(var8009ce64) +///* f00c8c0: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) +///* f00c8c4: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) +///* f00c8c8: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) +///* f00c8cc: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) +///* f00c8d0: ac820000 */ sw $v0,0x0($a0) +///* f00c8d4: 1b00000c */ blez $t8,.L0f00c908 +///* f00c8d8: 8fa3001c */ lw $v1,0x1c($sp) +///* f00c8dc: 00001025 */ or $v0,$zero,$zero +///* f00c8e0: 8c990000 */ lw $t9,0x0($a0) +//.L0f00c8e4: +///* f00c8e4: 24630001 */ addiu $v1,$v1,0x1 +///* f00c8e8: 03226821 */ addu $t5,$t9,$v0 +///* f00c8ec: ada00014 */ sw $zero,0x14($t5) +///* f00c8f0: 8d2e0000 */ lw $t6,0x0($t1) +///* f00c8f4: 2442005c */ addiu $v0,$v0,0x5c +///* f00c8f8: 006e082a */ slt $at,$v1,$t6 +///* f00c8fc: 5420fff9 */ bnezl $at,.L0f00c8e4 +///* f00c900: 8c990000 */ lw $t9,0x0($a0) +///* f00c904: 00001825 */ or $v1,$zero,$zero +//.L0f00c908: +///* f00c908: 8d420000 */ lw $v0,0x0($t2) +///* f00c90c: 14400004 */ bnez $v0,.L0f00c920 +///* f00c910: 3c05800a */ lui $a1,%hi(g_Projectiles) +///* f00c914: 24a5ce68 */ addiu $a1,$a1,%lo(g_Projectiles) +///* f00c918: 10000022 */ b .L0f00c9a4 +///* f00c91c: aca00000 */ sw $zero,0x0($a1) +//.L0f00c920: +///* f00c920: 00022100 */ sll $a0,$v0,0x4 +///* f00c924: 00822021 */ addu $a0,$a0,$v0 +///* f00c928: 00042080 */ sll $a0,$a0,0x2 +///* f00c92c: 00822023 */ subu $a0,$a0,$v0 +///* f00c930: 00042080 */ sll $a0,$a0,0x2 +///* f00c934: 2484000f */ addiu $a0,$a0,0xf +///* f00c938: 348f000f */ ori $t7,$a0,0xf +///* f00c93c: 39e4000f */ xori $a0,$t7,0xf +///* f00c940: 24050004 */ addiu $a1,$zero,0x4 +///* f00c944: 0c0048f2 */ jal malloc +///* f00c948: afa3001c */ sw $v1,0x1c($sp) +///* f00c94c: 3c0a800a */ lui $t2,%hi(g_NumProjectiles) +///* f00c950: 254ace50 */ addiu $t2,$t2,%lo(g_NumProjectiles) +///* f00c954: 8d590000 */ lw $t9,0x0($t2) +///* f00c958: 3c05800a */ lui $a1,%hi(g_Projectiles) +///* f00c95c: 24a5ce68 */ addiu $a1,$a1,%lo(g_Projectiles) +///* f00c960: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) +///* f00c964: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) +///* f00c968: aca20000 */ sw $v0,0x0($a1) +///* f00c96c: 1b20000d */ blez $t9,.L0f00c9a4 +///* f00c970: 8fa3001c */ lw $v1,0x1c($sp) +///* f00c974: 00001025 */ or $v0,$zero,$zero +///* f00c978: 3c048000 */ lui $a0,0x8000 +///* f00c97c: 8cad0000 */ lw $t5,0x0($a1) +//.L0f00c980: +///* f00c980: 24630001 */ addiu $v1,$v1,0x1 +///* f00c984: 01a27021 */ addu $t6,$t5,$v0 +///* f00c988: adc40000 */ sw $a0,0x0($t6) +///* f00c98c: 8d4f0000 */ lw $t7,0x0($t2) +///* f00c990: 2442010c */ addiu $v0,$v0,0x10c +///* f00c994: 006f082a */ slt $at,$v1,$t7 +///* f00c998: 5420fff9 */ bnezl $at,.L0f00c980 +///* f00c99c: 8cad0000 */ lw $t5,0x0($a1) +///* f00c9a0: 00001825 */ or $v1,$zero,$zero +//.L0f00c9a4: +///* f00c9a4: 8d620000 */ lw $v0,0x0($t3) +///* f00c9a8: 14400004 */ bnez $v0,.L0f00c9bc +///* f00c9ac: 3c04800a */ lui $a0,%hi(g_MonitorThings) +///* f00c9b0: 2484ce6c */ addiu $a0,$a0,%lo(g_MonitorThings) +///* f00c9b4: 1000001e */ b .L0f00ca30 +///* f00c9b8: ac800000 */ sw $zero,0x0($a0) +//.L0f00c9bc: +///* f00c9bc: 000220c0 */ sll $a0,$v0,0x3 +///* f00c9c0: 00822021 */ addu $a0,$a0,$v0 +///* f00c9c4: 000420c0 */ sll $a0,$a0,0x3 +///* f00c9c8: 2484000f */ addiu $a0,$a0,0xf +///* f00c9cc: 3498000f */ ori $t8,$a0,0xf +///* f00c9d0: 3b04000f */ xori $a0,$t8,0xf +///* f00c9d4: 24050004 */ addiu $a1,$zero,0x4 +///* f00c9d8: 0c0048f2 */ jal malloc +///* f00c9dc: afa3001c */ sw $v1,0x1c($sp) +///* f00c9e0: 3c0b800a */ lui $t3,%hi(g_NumMonitorThings) +///* f00c9e4: 256bce54 */ addiu $t3,$t3,%lo(g_NumMonitorThings) +///* f00c9e8: 8d6d0000 */ lw $t5,0x0($t3) +///* f00c9ec: 3c04800a */ lui $a0,%hi(g_MonitorThings) +///* f00c9f0: 2484ce6c */ addiu $a0,$a0,%lo(g_MonitorThings) +///* f00c9f4: ac820000 */ sw $v0,0x0($a0) +///* f00c9f8: 8fa3001c */ lw $v1,0x1c($sp) +///* f00c9fc: 19a0000c */ blez $t5,.L0f00ca30 +///* f00ca00: 240c0001 */ addiu $t4,$zero,0x1 +///* f00ca04: 00001025 */ or $v0,$zero,$zero +///* f00ca08: 8c8e0000 */ lw $t6,0x0($a0) +//.L0f00ca0c: +///* f00ca0c: 24630001 */ addiu $v1,$v1,0x1 +///* f00ca10: 01c27821 */ addu $t7,$t6,$v0 +///* f00ca14: adec0000 */ sw $t4,0x0($t7) +///* f00ca18: 8d780000 */ lw $t8,0x0($t3) +///* f00ca1c: 24420048 */ addiu $v0,$v0,0x48 +///* f00ca20: 0078082a */ slt $at,$v1,$t8 +///* f00ca24: 5420fff9 */ bnezl $at,.L0f00ca0c +///* f00ca28: 8c8e0000 */ lw $t6,0x0($a0) +///* f00ca2c: 00001825 */ or $v1,$zero,$zero +//.L0f00ca30: +///* f00ca30: 3c013f80 */ lui $at,0x3f80 +///* f00ca34: 44810000 */ mtc1 $at,$f0 +///* f00ca38: 3c018007 */ lui $at,%hi(g_LiftDoors) +///* f00ca3c: ac20991c */ sw $zero,%lo(g_LiftDoors)($at) +///* f00ca40: 3c018007 */ lui $at,%hi(g_PadlockedDoors) +///* f00ca44: ac209920 */ sw $zero,%lo(g_PadlockedDoors)($at) +///* f00ca48: 3c018007 */ lui $at,%hi(g_SafeItems) +///* f00ca4c: ac209924 */ sw $zero,%lo(g_SafeItems)($at) +///* f00ca50: 3c018007 */ lui $at,%hi(g_LinkedScenery) +///* f00ca54: ac209928 */ sw $zero,%lo(g_LinkedScenery)($at) +///* f00ca58: 3c018007 */ lui $at,%hi(g_BlockedPaths) +///* f00ca5c: ac20992c */ sw $zero,%lo(g_BlockedPaths)($at) +///* f00ca60: 3c018007 */ lui $at,%hi(var80069930) +///* f00ca64: ac209930 */ sw $zero,%lo(var80069930)($at) +///* f00ca68: 3c018007 */ lui $at,%hi(var80069934) +///* f00ca6c: 2419ffff */ addiu $t9,$zero,-1 +///* f00ca70: ac399934 */ sw $t9,%lo(var80069934)($at) +///* f00ca74: 3c018007 */ lui $at,%hi(var80069948) +///* f00ca78: e4209948 */ swc1 $f0,%lo(var80069948)($at) +///* f00ca7c: 3c018007 */ lui $at,%hi(var8006994c) +///* f00ca80: e420994c */ swc1 $f0,%lo(var8006994c)($at) +///* f00ca84: 3c018007 */ lui $at,%hi(var80069950) +///* f00ca88: e4209950 */ swc1 $f0,%lo(var80069950)($at) +///* f00ca8c: 3c018007 */ lui $at,%hi(var80069954) +///* f00ca90: e4209954 */ swc1 $f0,%lo(var80069954)($at) +///* f00ca94: 3c018007 */ lui $at,%hi(var80069958) +///* f00ca98: e4209958 */ swc1 $f0,%lo(var80069958)($at) +///* f00ca9c: 3c02800a */ lui $v0,%hi(g_Vars) +///* f00caa0: 3c018007 */ lui $at,%hi(g_AmmoMultiplier) +///* f00caa4: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) +///* f00caa8: e420995c */ swc1 $f0,%lo(g_AmmoMultiplier)($at) +///* f00caac: 8c4d0318 */ lw $t5,0x318($v0) +///* f00cab0: 11a00005 */ beqz $t5,.L0f00cac8 +///* f00cab4: 3c078007 */ lui $a3,%hi(g_MaxThrownLaptops) +///* f00cab8: 24e79970 */ addiu $a3,$a3,%lo(g_MaxThrownLaptops) +///* f00cabc: 240e000c */ addiu $t6,$zero,0xc +///* f00cac0: 1000001f */ b .L0f00cb40 +///* f00cac4: acee0000 */ sw $t6,0x0($a3) +//.L0f00cac8: +///* f00cac8: 8c4f006c */ lw $t7,0x6c($v0) +///* f00cacc: 3c078007 */ lui $a3,%hi(g_MaxThrownLaptops) +///* f00cad0: 24e79970 */ addiu $a3,$a3,%lo(g_MaxThrownLaptops) +///* f00cad4: 51e00004 */ beqzl $t7,.L0f00cae8 +///* f00cad8: 00003025 */ or $a2,$zero,$zero +///* f00cadc: 10000002 */ b .L0f00cae8 +///* f00cae0: 24060001 */ addiu $a2,$zero,0x1 +///* f00cae4: 00003025 */ or $a2,$zero,$zero +//.L0f00cae8: +///* f00cae8: 8c580068 */ lw $t8,0x68($v0) +///* f00caec: 53000004 */ beqzl $t8,.L0f00cb00 +///* f00caf0: 00002025 */ or $a0,$zero,$zero +///* f00caf4: 10000002 */ b .L0f00cb00 +///* f00caf8: 24040001 */ addiu $a0,$zero,0x1 +///* f00cafc: 00002025 */ or $a0,$zero,$zero +//.L0f00cb00: +///* f00cb00: 8c590064 */ lw $t9,0x64($v0) +///* f00cb04: 53200004 */ beqzl $t9,.L0f00cb18 +///* f00cb08: 00002825 */ or $a1,$zero,$zero +///* f00cb0c: 10000002 */ b .L0f00cb18 +///* f00cb10: 24050001 */ addiu $a1,$zero,0x1 +///* f00cb14: 00002825 */ or $a1,$zero,$zero +//.L0f00cb18: +///* f00cb18: 8c4d0070 */ lw $t5,0x70($v0) +///* f00cb1c: 51a00004 */ beqzl $t5,.L0f00cb30 +///* f00cb20: 00001025 */ or $v0,$zero,$zero +///* f00cb24: 10000002 */ b .L0f00cb30 +///* f00cb28: 24020001 */ addiu $v0,$zero,0x1 +///* f00cb2c: 00001025 */ or $v0,$zero,$zero +//.L0f00cb30: +///* f00cb30: 00457021 */ addu $t6,$v0,$a1 +///* f00cb34: 01c47821 */ addu $t7,$t6,$a0 +///* f00cb38: 01e6c021 */ addu $t8,$t7,$a2 +///* f00cb3c: acf80000 */ sw $t8,0x0($a3) +//.L0f00cb40: +///* f00cb40: 8ce40000 */ lw $a0,0x0($a3) +///* f00cb44: 24050004 */ addiu $a1,$zero,0x4 +///* f00cb48: afa3001c */ sw $v1,0x1c($sp) +///* f00cb4c: 0004c880 */ sll $t9,$a0,0x2 +///* f00cb50: 0324c823 */ subu $t9,$t9,$a0 +///* f00cb54: 0019c880 */ sll $t9,$t9,0x2 +///* f00cb58: 0324c823 */ subu $t9,$t9,$a0 +///* f00cb5c: 0019c880 */ sll $t9,$t9,0x2 +///* f00cb60: 0324c823 */ subu $t9,$t9,$a0 +///* f00cb64: 0019c880 */ sll $t9,$t9,0x2 +///* f00cb68: 2724000f */ addiu $a0,$t9,0xf +///* f00cb6c: 348d000f */ ori $t5,$a0,0xf +///* f00cb70: 0c0048f2 */ jal malloc +///* f00cb74: 39a4000f */ xori $a0,$t5,0xf +///* f00cb78: 3c078007 */ lui $a3,%hi(g_MaxThrownLaptops) +///* f00cb7c: 24e79970 */ addiu $a3,$a3,%lo(g_MaxThrownLaptops) +///* f00cb80: 8ce40000 */ lw $a0,0x0($a3) +///* f00cb84: 3c068007 */ lui $a2,%hi(g_ThrownLaptops) +///* f00cb88: 24c69968 */ addiu $a2,$a2,%lo(g_ThrownLaptops) +///* f00cb8c: 00047880 */ sll $t7,$a0,0x2 +///* f00cb90: 01e47823 */ subu $t7,$t7,$a0 +///* f00cb94: 000f7880 */ sll $t7,$t7,0x2 +///* f00cb98: 01e47823 */ subu $t7,$t7,$a0 +///* f00cb9c: 000f7880 */ sll $t7,$t7,0x2 +///* f00cba0: 25e4000f */ addiu $a0,$t7,0xf +///* f00cba4: 3498000f */ ori $t8,$a0,0xf +///* f00cba8: acc20000 */ sw $v0,0x0($a2) +///* f00cbac: 3b04000f */ xori $a0,$t8,0xf +///* f00cbb0: 0c0048f2 */ jal malloc +///* f00cbb4: 24050004 */ addiu $a1,$zero,0x4 +///* f00cbb8: 3c078007 */ lui $a3,%hi(g_MaxThrownLaptops) +///* f00cbbc: 3c018007 */ lui $at,%hi(var8006996c) +///* f00cbc0: ac22996c */ sw $v0,%lo(var8006996c)($at) +///* f00cbc4: 24e79970 */ addiu $a3,$a3,%lo(g_MaxThrownLaptops) +///* f00cbc8: 8ced0000 */ lw $t5,0x0($a3) +///* f00cbcc: 3c068007 */ lui $a2,%hi(g_ThrownLaptops) +///* f00cbd0: 24c69968 */ addiu $a2,$a2,%lo(g_ThrownLaptops) +///* f00cbd4: 19a0000b */ blez $t5,.L0f00cc04 +///* f00cbd8: 8fa3001c */ lw $v1,0x1c($sp) +///* f00cbdc: 00001025 */ or $v0,$zero,$zero +///* f00cbe0: 8cce0000 */ lw $t6,0x0($a2) +//.L0f00cbe4: +///* f00cbe4: 24630001 */ addiu $v1,$v1,0x1 +///* f00cbe8: 01c27821 */ addu $t7,$t6,$v0 +///* f00cbec: ade00014 */ sw $zero,0x14($t7) +///* f00cbf0: 8cf80000 */ lw $t8,0x0($a3) +///* f00cbf4: 244200ac */ addiu $v0,$v0,0xac +///* f00cbf8: 0078082a */ slt $at,$v1,$t8 +///* f00cbfc: 5420fff9 */ bnezl $at,.L0f00cbe4 +///* f00cc00: 8cce0000 */ lw $t6,0x0($a2) +//.L0f00cc04: +///* f00cc04: 8fbf0014 */ lw $ra,0x14($sp) +///* f00cc08: 27bd0020 */ addiu $sp,$sp,0x20 +///* f00cc0c: 03e00008 */ jr $ra +///* f00cc10: 00000000 */ nop +//); + +void setupInit(void) +{ + s32 i; + + for (i = 0; i < ARRAYCOUNT(g_Lifts); i++) { + g_Lifts[i] = NULL; + } + + var8009ce40 = 50; + var8009ce44 = 10; + var8009ce48 = 20; + var8009ce4c = 15; + g_NumProjectiles = IS4MB() ? 20 : 100; + g_NumMonitorThings = IS4MB() ? 40 : 80; + + if (g_Vars.stagenum >= STAGE_TITLE) { + var8009ce40 = 0; + var8009ce44 = 0; + var8009ce48 = 0; + var8009ce4c = 0; + g_NumProjectiles = 0; + g_NumMonitorThings = 0; + } + + func0f00cc8c(); + setupClearProxyMines(); + + g_AlarmTimer = 0; + g_AlarmAudioHandle = NULL; + g_AlarmSpeakerWeight = 64; + + var800698e4 = 0; + var800698e8 = 0; + var800698ec[0] = 0; + var800698ec[1] = 0; + var800698ec[2] = 0; + var800698f8 = 0; + var800698fc = 0; + var80069900 = 0; + + g_CountdownTimerVisible = true; + g_CountdownTimerRunning = false; + g_CountdownTimerValue = 0; + + var80069910 = 0; + g_TintedGlassEnabled = false; + + if (var8009ce40 == 0) { + var8009ce58 = NULL; + } else { + var8009ce58 = malloc(ALIGN16(var8009ce40 * sizeof(struct var8009ce58)), 4); + + for (i = 0; i < var8009ce40; i++) { + var8009ce58[i].base.prop = NULL; + } + + var80069914 = 0; + } + + if (var8009ce44 == 0) { + var8009ce5c = NULL; + } else { + var8009ce5c = malloc(ALIGN16(var8009ce44 * sizeof(struct defaultobj)), 4); + + for (i = 0; i < var8009ce44; i++) { + var8009ce5c[i].prop = NULL; + } + + var80069918 = 0; + } + + if (var8009ce48 == 0) { + var8009ce60 = 0; + } else { + var8009ce60 = malloc(ALIGN16(var8009ce48 * sizeof(struct var8009ce60)), 4); + + for (i = 0; i < var8009ce48; i++) { + var8009ce60[i].base.prop = NULL; + } + } + + if (var8009ce4c == 0) { + var8009ce64 = 0; + } else { + var8009ce64 = malloc(ALIGN16(var8009ce4c * sizeof(struct defaultobj)), 4); + + for (i = 0; i < var8009ce4c; i++) { + var8009ce64[i].prop = NULL; + } + } + + if (g_NumProjectiles == 0) { + g_Projectiles = 0; + } else { + g_Projectiles = malloc(ALIGN16(g_NumProjectiles * sizeof(struct projectile)), 4); + + for (i = 0; i < g_NumProjectiles; i++) { + g_Projectiles[i].flags = PROJECTILEFLAG_FREE; + } + } + + if (g_NumMonitorThings == 0) { + g_MonitorThings = 0; + } else { + g_MonitorThings = malloc(ALIGN16(g_NumMonitorThings * sizeof(struct monitorthing)), 4); + + for (i = 0; i < g_NumMonitorThings; i++) { + g_MonitorThings[i].flags = 0x00000001; + } + } + + g_LiftDoors = NULL; + g_PadlockedDoors = NULL; + g_SafeItems = NULL; + g_LinkedScenery = NULL; + g_BlockedPaths = NULL; + + var80069930 = 0; + var80069934 = -1; + var80069948 = 1; + var8006994c = 1; + var80069950 = 1; + var80069954 = 1; + var80069958 = 1; + g_AmmoMultiplier = 1; + + g_MaxThrownLaptops = g_Vars.normmplayerisrunning ? 12 : PLAYERCOUNT(); + + g_ThrownLaptops = malloc(ALIGN16(g_MaxThrownLaptops * sizeof(struct autogunobj)), 4); + var8006996c = malloc(ALIGN16(g_MaxThrownLaptops * 0x2c), 4); + + for (i = 0; i < g_MaxThrownLaptops; i++) { + g_ThrownLaptops[i].base.prop = NULL; + } +} void addLiftDoor(struct linkliftdoorobj *link) { diff --git a/src/game/propobj.c b/src/game/propobj.c index a2d36812d..1a34a55dd 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -103,12 +103,10 @@ struct audiohandle *g_AlarmAudioHandle = NULL; f32 g_AlarmSpeakerWeight = 64; f32 g_AlarmSpeakerDirection = 1; f32 var800698e4 = 0; -u32 var800698e8 = 0x00000000; -u32 var800698ec = 0x00000000; -u32 var800698f0 = 0x00000000; -u32 var800698f4 = 0x00000000; +s32 var800698e8 = 0; +f32 var800698ec[3] = {0}; u32 var800698f8 = 0x00000000; -u32 var800698fc = 0x00000000; +f32 var800698fc = 0; struct audiohandle *var80069900 = NULL; u32 g_CountdownTimerVisible = 1; // 80069904 bool g_CountdownTimerRunning = false; // 80069908 @@ -122,7 +120,7 @@ struct safeitemobj *g_SafeItems = NULL; struct linksceneryobj *g_LinkedScenery = NULL; struct blockedpathobj *g_BlockedPaths = NULL; u32 var80069930 = 0x00000000; -u32 var80069934 = 0x00000000; +s32 var80069934 = 0; u32 var80069938 = 0x00000000; u32 var8006993c = 0x00000000; u32 var80069940 = 0x00000000; @@ -136,8 +134,8 @@ f32 g_AmmoMultiplier = 1; struct padeffectobj *var80069960 = NULL; s32 var80069964 = -1; struct autogunobj *g_ThrownLaptops = NULL; -u32 var8006996c = 0x00000000; -u32 var80069970 = 0x00000000; +struct var8006996c *var8006996c = NULL; +s32 g_MaxThrownLaptops = 0; u32 var80069974 = 0x00000000; u32 var80069978 = 0x00000000; u32 var8006997c = 0x00000000; @@ -41627,8 +41625,8 @@ glabel var7f1aae98 /* f08b2c0: afa20094 */ sw $v0,0x94($sp) .L0f08b2c4: /* f08b2c4: 044000df */ bltz $v0,.L0f08b644 -/* f08b2c8: 3c188007 */ lui $t8,%hi(var80069970) -/* f08b2cc: 8f189970 */ lw $t8,%lo(var80069970)($t8) +/* f08b2c8: 3c188007 */ lui $t8,%hi(g_MaxThrownLaptops) +/* f08b2cc: 8f189970 */ lw $t8,%lo(g_MaxThrownLaptops)($t8) /* f08b2d0: 0058082a */ slt $at,$v0,$t8 /* f08b2d4: 502000dc */ beqzl $at,.L0f08b648 /* f08b2d8: 8fbf0024 */ lw $ra,0x24($sp) diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index a4a2a7869..3a16e1271 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -14641,16 +14641,16 @@ u32 var8009cdbc = 0; struct weaponobj *g_ProxyMines[30] = {NULL}; u32 var8009ce38 = 0; u32 var8009ce3c = 0; -u32 var8009ce40 = 0; -u32 var8009ce44 = 0; -u32 var8009ce48 = 0; -u32 var8009ce4c = 0; +s32 var8009ce40 = 0; +s32 var8009ce44 = 0; +s32 var8009ce48 = 0; +s32 var8009ce4c = 0; s32 g_NumProjectiles = 0; s32 g_NumMonitorThings = 0; -u32 var8009ce58 = 0; -u32 var8009ce5c = 0; -u32 var8009ce60 = 0; -u32 var8009ce64 = 0; +struct var8009ce58 *var8009ce58 = NULL; +struct defaultobj *var8009ce5c = NULL; +struct var8009ce60 *var8009ce60 = NULL; +struct defaultobj *var8009ce64 = NULL; struct projectile *g_Projectiles = NULL; struct monitorthing *g_MonitorThings = NULL; u32 var8009ce70 = 0; diff --git a/src/include/game/data/data_00e460.h b/src/include/game/data/data_00e460.h index 3ae57fde8..64d215521 100644 --- a/src/include/game/data/data_00e460.h +++ b/src/include/game/data/data_00e460.h @@ -30,10 +30,10 @@ extern struct audiohandle *g_AlarmAudioHandle; extern f32 g_AlarmSpeakerWeight; extern f32 g_AlarmSpeakerDirection; extern f32 var800698e4; -extern u32 var800698e8; -extern u32 var800698ec; +extern s32 var800698e8; +extern f32 var800698ec[3]; extern u32 var800698f8; -extern u32 var800698fc; +extern f32 var800698fc; extern struct audiohandle *var80069900; extern u32 var80069910; extern u32 var80069918; @@ -47,7 +47,7 @@ extern f32 g_AmmoMultiplier; extern struct padeffectobj *var80069960; extern s32 var80069964; extern struct autogunobj *g_ThrownLaptops; -extern u32 var80069970; +extern s32 g_MaxThrownLaptops; extern u32 var80069974; extern u32 var80069978; extern u32 var8006997c; diff --git a/src/include/game/game_00c490.h b/src/include/game/game_00c490.h index 96274cb1b..d3cd19ee2 100644 --- a/src/include/game/game_00c490.h +++ b/src/include/game/game_00c490.h @@ -3,7 +3,7 @@ #include #include "types.h" -void func0f00c490(void); +void setupInit(void); void addLiftDoor(struct linkliftdoorobj *link); void addPadlockedDoor(struct padlockeddoorobj *link); void addSafeItem(struct safeitemobj *link); diff --git a/src/include/game/propobj.h b/src/include/game/propobj.h index cb6040db4..fb528a3de 100644 --- a/src/include/game/propobj.h +++ b/src/include/game/propobj.h @@ -3,11 +3,17 @@ #include #include "types.h" +extern u32 var800698f0; +extern u32 var800698f4; +extern u32 var80069914; +extern u32 var80069930; +extern s32 var80069934; extern f32 var80069948; extern f32 var8006994c; extern f32 var80069950; extern f32 var80069954; extern f32 var80069958; +extern struct var8006996c *var8006996c; void alarmActivate(void); void alarmDeactivate(void); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 63f15bcff..9513bb3b8 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -535,16 +535,16 @@ extern u32 var8009cdac; extern u32 var8009cdb0; extern struct weaponobj *g_ProxyMines[30]; extern u32 var8009ce38; -extern u32 var8009ce40; -extern u32 var8009ce44; -extern u32 var8009ce48; -extern u32 var8009ce4c; +extern s32 var8009ce40; +extern s32 var8009ce44; +extern s32 var8009ce48; +extern s32 var8009ce4c; extern s32 g_NumProjectiles; extern s32 g_NumMonitorThings; -extern u32 var8009ce58; -extern u32 var8009ce5c; -extern u32 var8009ce60; -extern u32 var8009ce64; +extern struct var8009ce58 *var8009ce58; +extern struct defaultobj *var8009ce5c; +extern struct var8009ce60 *var8009ce60; +extern struct defaultobj *var8009ce64; extern struct projectile *g_Projectiles; extern struct monitorthing *g_MonitorThings; extern u32 var8009ce78; diff --git a/src/include/types.h b/src/include/types.h index 5e4fcaa4e..2403c1fe4 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -6753,4 +6753,30 @@ struct var8009cda4 { s16 unk00[8]; }; +struct var8009ce58 { + struct defaultobj base; + /*0x5c*/ u32 unk5c; + /*0x60*/ u32 unk60; + /*0x64*/ u32 unk64; +}; + +struct var8009ce60 { + struct defaultobj base; + /*0x5c*/ u32 unk5c; +}; + +struct var8006996c { + /*0x00*/ u32 unk00; + /*0x04*/ u32 unk04; + /*0x08*/ u32 unk08; + /*0x0c*/ u32 unk0c; + /*0x10*/ u32 unk10; + /*0x14*/ u32 unk14; + /*0x18*/ u32 unk18; + /*0x1c*/ u32 unk1c; + /*0x20*/ u32 unk20; + /*0x24*/ u32 unk24; + /*0x28*/ u32 unk28; +}; + #endif