diff --git a/src/game/game_0b69d0.c b/src/game/game_0b69d0.c index f82411c68..12ad14bd3 100644 --- a/src/game/game_0b69d0.c +++ b/src/game/game_0b69d0.c @@ -4436,7 +4436,7 @@ s16 viGetFbHeight(void) } #if VERSION >= VERSION_NTSC_1_0 -bool func0f0bc4c0(void) +bool is2PSharedViewport(void) { if ((g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) && menuGetRoot() == MENUROOT_MPENDSCREEN @@ -4453,7 +4453,7 @@ s16 currentPlayerGetViewportWidth(void) s16 width; #if VERSION >= VERSION_NTSC_1_0 - if (func0f0bc4c0() == 0) + if (!is2PSharedViewport()) #else if ((!g_InCutscene || g_MainIsEndscreen) && menuGetRoot() != MENUROOT_COOPCONTINUE) #endif @@ -4492,7 +4492,7 @@ s16 currentPlayerGetViewportWidth(void) s16 currentPlayerGetViewportLeft(void) { #if VERSION >= VERSION_NTSC_1_0 - s32 something = !func0f0bc4c0(); + s32 something = !is2PSharedViewport(); #else s32 something = !((g_InCutscene && !g_MainIsEndscreen) || menuGetRoot() == MENUROOT_COOPCONTINUE); #endif @@ -4533,7 +4533,7 @@ s16 currentPlayerGetViewportHeight(void) if (PLAYERCOUNT() >= 2 #if VERSION >= VERSION_NTSC_1_0 - && !func0f0bc4c0() + && !is2PSharedViewport() #else && !((g_InCutscene && !g_MainIsEndscreen) || menuGetRoot() == MENUROOT_COOPCONTINUE) #endif @@ -4585,7 +4585,7 @@ s16 currentPlayerGetViewportTop(void) if (PLAYERCOUNT() >= 2 #if VERSION >= VERSION_NTSC_1_0 - && !func0f0bc4c0() + && !is2PSharedViewport() #else && !((g_InCutscene && !g_MainIsEndscreen) || menuGetRoot() == MENUROOT_COOPCONTINUE) #endif diff --git a/src/game/lv.c b/src/game/lv.c index 15c3f669a..3892fa415 100644 --- a/src/game/lv.c +++ b/src/game/lv.c @@ -1965,7 +1965,7 @@ glabel var7f1b8e7cpf /* f16a5b8: 00000000 */ nop /* f16a5bc: 0c002bc5 */ jal vi0000b1d0 /* f16a5c0: 02602025 */ move $a0,$s3 -/* f16a5c4: 0c002c1d */ jal vi0000b330 +/* f16a5c4: 0c002c1d */ jal viRenderViewportEdges /* f16a5c8: 00402025 */ move $a0,$v0 /* f16a5cc: 0fc576bd */ jal currentPlayerScissorToViewport /* f16a5d0: 00402025 */ move $a0,$v0 @@ -2137,7 +2137,7 @@ glabel var7f1b8e7cpf /* f16a860: 02602025 */ move $a0,$s3 /* f16a864: 0c002bc5 */ jal vi0000b1d0 /* f16a868: 00402025 */ move $a0,$v0 -/* f16a86c: 0c002c1d */ jal vi0000b330 +/* f16a86c: 0c002c1d */ jal viRenderViewportEdges /* f16a870: 00402025 */ move $a0,$v0 /* f16a874: 0fc4eef2 */ jal creditsRender /* f16a878: 00402025 */ move $a0,$v0 @@ -2153,7 +2153,7 @@ glabel var7f1b8e7cpf /* f16a89c: 12000004 */ beqz $s0,.PF0f16a8b0 /* f16a8a0: 00000000 */ nop .PF0f16a8a4: -/* f16a8a4: 0fc2f28f */ jal func0f0bc4c0 +/* f16a8a4: 0fc2f28f */ jal is2PSharedViewport /* f16a8a8: 00000000 */ nop /* f16a8ac: 0002802b */ sltu $s0,$zero,$v0 .PF0f16a8b0: @@ -2438,7 +2438,7 @@ glabel var7f1b8e7cpf /* f16acb8: 3c0e8007 */ lui $t6,0x8007 /* f16acbc: 11e00012 */ beqz $t7,.PF0f16ad08 /* f16acc0: 00000000 */ nop -/* f16acc4: 0c002c1d */ jal vi0000b330 +/* f16acc4: 0c002c1d */ jal viRenderViewportEdges /* f16acc8: 02602025 */ move $a0,$s3 /* f16accc: 0fc576bd */ jal currentPlayerScissorToViewport /* f16acd0: 00402025 */ move $a0,$v0 @@ -2464,7 +2464,7 @@ glabel var7f1b8e7cpf /* f16ad1c: 02602025 */ move $a0,$s3 /* f16ad20: 00409825 */ move $s3,$v0 .PF0f16ad24: -/* f16ad24: 0c002c1d */ jal vi0000b330 +/* f16ad24: 0c002c1d */ jal viRenderViewportEdges /* f16ad28: 02602025 */ move $a0,$s3 /* f16ad2c: 0fc48121 */ jal func0f11f984 /* f16ad30: 00402025 */ move $a0,$v0 @@ -3514,7 +3514,7 @@ glabel var7f1b8e7cpf /* f16bc38: 0542000a */ bltzl $t2,.PF0f16bc64 /* f16bc3c: 8fb00064 */ lw $s0,0x64($sp) .PF0f16bc40: -/* f16bc40: 0fc2f28f */ jal func0f0bc4c0 +/* f16bc40: 0fc2f28f */ jal is2PSharedViewport /* f16bc44: 00000000 */ nop /* f16bc48: 50400006 */ beqzl $v0,.PF0f16bc64 /* f16bc4c: 8fb00064 */ lw $s0,0x64($sp) @@ -3735,7 +3735,7 @@ Gfx *lvRender(Gfx *gdl) func00016748(1); gdl = vi0000b1d0(gdl); - gdl = vi0000b330(gdl); + gdl = viRenderViewportEdges(gdl); gdl = currentPlayerScissorToViewport(gdl); gdl = func0f0fbc30(gdl); } else if (g_Vars.stagenum == STAGE_4MBMENU) { @@ -3769,7 +3769,7 @@ Gfx *lvRender(Gfx *gdl) gdl = vi0000b1a8(gdl); gdl = vi0000b1d0(gdl); - gdl = vi0000b330(gdl); + gdl = viRenderViewportEdges(gdl); gdl = creditsRender(gdl); } else { // Normal stages @@ -3777,7 +3777,7 @@ Gfx *lvRender(Gfx *gdl) s32 playercount; Gfx *savedgdl; bool forcesingleplayer = (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) - && func0f0bc4c0(); + && is2PSharedViewport(); struct player *player; struct chrdata *chr; @@ -3870,7 +3870,7 @@ Gfx *lvRender(Gfx *gdl) gdl = bviewRenderMotionBlur(gdl, 0xffffffff, 255); g_Vars.lockscreen--; } else if (var8009dfc0) { - gdl = vi0000b330(gdl); + gdl = viRenderViewportEdges(gdl); gdl = currentPlayerScissorToViewport(gdl); func00016748(1); @@ -3882,7 +3882,7 @@ Gfx *lvRender(Gfx *gdl) gdl = currentPlayerUpdateShootRot(gdl); } - gdl = vi0000b330(gdl); + gdl = viRenderViewportEdges(gdl); gdl = func0f11f984(gdl); roomsTick(); func0f004314(); @@ -4309,7 +4309,7 @@ Gfx *lvRender(Gfx *gdl) func0f13c54c(); if ((g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) - && func0f0bc4c0() + && is2PSharedViewport() && g_Vars.currentplayernum != 0) { gdl = savedgdl; } @@ -4568,7 +4568,7 @@ glabel var7f1b1fd4nb /* f164308: 00000000 */ sll $zero,$zero,0x0 /* f16430c: 0c002cd4 */ jal vi0000b1d0 /* f164310: 02602025 */ or $a0,$s3,$zero -/* f164314: 0c002d2c */ jal vi0000b330 +/* f164314: 0c002d2c */ jal viRenderViewportEdges /* f164318: 00402025 */ or $a0,$v0,$zero /* f16431c: 0fc55c96 */ jal currentPlayerScissorToViewport /* f164320: 00402025 */ or $a0,$v0,$zero @@ -4711,7 +4711,7 @@ glabel var7f1b1fd4nb /* f16453c: 02602025 */ or $a0,$s3,$zero /* f164540: 0c002cd4 */ jal vi0000b1d0 /* f164544: 00402025 */ or $a0,$v0,$zero -/* f164548: 0c002d2c */ jal vi0000b330 +/* f164548: 0c002d2c */ jal viRenderViewportEdges /* f16454c: 00402025 */ or $a0,$v0,$zero /* f164550: 0fc4d6d9 */ jal creditsRender /* f164554: 00402025 */ or $a0,$v0,$zero @@ -5024,7 +5024,7 @@ glabel var7f1b1fd4nb /* f1649c0: 3c0b8008 */ lui $t3,0x8008 /* f1649c4: 11e00012 */ beqz $t7,.NB0f164a10 /* f1649c8: 00000000 */ sll $zero,$zero,0x0 -/* f1649cc: 0c002d2c */ jal vi0000b330 +/* f1649cc: 0c002d2c */ jal viRenderViewportEdges /* f1649d0: 02602025 */ or $a0,$s3,$zero /* f1649d4: 0fc55c96 */ jal currentPlayerScissorToViewport /* f1649d8: 00402025 */ or $a0,$v0,$zero @@ -5050,7 +5050,7 @@ glabel var7f1b1fd4nb /* f164a24: 02602025 */ or $a0,$s3,$zero /* f164a28: 00409825 */ or $s3,$v0,$zero .NB0f164a2c: -/* f164a2c: 0c002d2c */ jal vi0000b330 +/* f164a2c: 0c002d2c */ jal viRenderViewportEdges /* f164a30: 02602025 */ or $a0,$s3,$zero /* f164a34: 0fc46971 */ jal func0f11f984 /* f164a38: 00402025 */ or $a0,$v0,$zero diff --git a/src/include/game/game_0b69d0.h b/src/include/game/game_0b69d0.h index 7de375a2c..5b1ba8393 100644 --- a/src/include/game/game_0b69d0.h +++ b/src/include/game/game_0b69d0.h @@ -44,7 +44,7 @@ void currentPlayerTickExplode(void); void viResetDefaultModeIf4Mb(void); s16 viGetFbWidth(void); s16 viGetFbHeight(void); -bool func0f0bc4c0(void); +bool is2PSharedViewport(void); s16 currentPlayerGetViewportWidth(void); s16 currentPlayerGetViewportLeft(void); s16 currentPlayerGetViewportHeight(void); diff --git a/src/include/lib/lib_09a80.h b/src/include/lib/lib_09a80.h index 4e7ecf305..84b3aec30 100644 --- a/src/include/lib/lib_09a80.h +++ b/src/include/lib/lib_09a80.h @@ -32,7 +32,7 @@ Gfx *vi0000b1a8(Gfx *gdl); Gfx *vi0000b1d0(Gfx *gdl); Gfx *vi0000b280(Gfx *gdl); Gfx *func0000b2c4(Gfx *gdl); -Gfx *vi0000b330(Gfx *gdl); +Gfx *viRenderViewportEdges(Gfx *gdl); void viSetBuf(s16 x, s16 y); s16 viGetBufX(void); s16 viGetBufY(void); diff --git a/src/lib/lib_09a80.c b/src/lib/lib_09a80.c index f35fd141d..51dc93dce 100644 --- a/src/lib/lib_09a80.c +++ b/src/lib/lib_09a80.c @@ -1976,1204 +1976,97 @@ Gfx *func0000b2c4(Gfx *gdl) return gdl; } +Gfx *viRenderViewportEdges(Gfx *gdl) +{ + gDPSetCycleType(gdl++, G_CYC_FILL); + gDPSetScissor(gdl++, G_SC_NON_INTERLACE, 0, 0, viGetWidth(), viGetHeight()); + gDPSetFillColor(gdl++, GPACK_RGBA5551(0, 0, 0, 1) << 16 | GPACK_RGBA5551(0, 0, 0, 1)); + #if VERSION >= VERSION_NTSC_1_0 -GLOBAL_ASM( -glabel vi0000b330 -/* b330: 27bdff58 */ addiu $sp,$sp,-168 -/* b334: afbf0014 */ sw $ra,0x14($sp) -/* b338: 3c0eba00 */ lui $t6,0xba00 -/* b33c: 35ce1402 */ ori $t6,$t6,0x1402 -/* b340: 24830008 */ addiu $v1,$a0,0x8 -/* b344: 3c0f0030 */ lui $t7,0x30 -/* b348: ac8f0004 */ sw $t7,0x4($a0) -/* b34c: ac8e0000 */ sw $t6,0x0($a0) -/* b350: 3c18ed00 */ lui $t8,0xed00 -/* b354: ac780000 */ sw $t8,0x0($v1) -/* b358: 24660008 */ addiu $a2,$v1,0x8 -/* b35c: afa600a8 */ sw $a2,0xa8($sp) -/* b360: 0c002f02 */ jal viGetWidth -/* b364: afa300a0 */ sw $v1,0xa0($sp) -/* b368: 0c002f06 */ jal viGetHeight -/* b36c: a7a20056 */ sh $v0,0x56($sp) -/* b370: 44822000 */ mtc1 $v0,$f4 -/* b374: 87af0056 */ lh $t7,0x56($sp) -/* b378: 3c014080 */ lui $at,0x4080 -/* b37c: 468021a0 */ cvt.s.w $f6,$f4 -/* b380: 448f8000 */ mtc1 $t7,$f16 -/* b384: 44810000 */ mtc1 $at,$f0 -/* b388: 8fa600a8 */ lw $a2,0xa8($sp) -/* b38c: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b390: 468084a0 */ cvt.s.w $f18,$f16 -/* b394: 46003202 */ mul.s $f8,$f6,$f0 -/* b398: 00c01825 */ or $v1,$a2,$zero -/* b39c: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b3a0: 24010001 */ addiu $at,$zero,0x1 -/* b3a4: 00002825 */ or $a1,$zero,$zero -/* b3a8: 46009102 */ mul.s $f4,$f18,$f0 -/* b3ac: 00002025 */ or $a0,$zero,$zero -/* b3b0: 24c60008 */ addiu $a2,$a2,0x8 -/* b3b4: 4600428d */ trunc.w.s $f10,$f8 -/* b3b8: 4600218d */ trunc.w.s $f6,$f4 -/* b3bc: 440d5000 */ mfc1 $t5,$f10 -/* b3c0: 44193000 */ mfc1 $t9,$f6 -/* b3c4: 31ae0fff */ andi $t6,$t5,0xfff -/* b3c8: 332d0fff */ andi $t5,$t9,0xfff -/* b3cc: 8fb900a0 */ lw $t9,0xa0($sp) -/* b3d0: 000d7b00 */ sll $t7,$t5,0xc -/* b3d4: 01cfc025 */ or $t8,$t6,$t7 -/* b3d8: 3c0e0001 */ lui $t6,0x1 -/* b3dc: af380004 */ sw $t8,0x4($t9) -/* b3e0: 35ce0001 */ ori $t6,$t6,0x1 -/* b3e4: 3c0df700 */ lui $t5,0xf700 -/* b3e8: ac6d0000 */ sw $t5,0x0($v1) -/* b3ec: ac6e0004 */ sw $t6,0x4($v1) -/* b3f0: 8d6f006c */ lw $t7,0x6c($t3) -/* b3f4: 00001825 */ or $v1,$zero,$zero -/* b3f8: 11e00003 */ beqz $t7,.L0000b408 -/* b3fc: 00000000 */ nop -/* b400: 10000001 */ b .L0000b408 -/* b404: 24050001 */ addiu $a1,$zero,0x1 -.L0000b408: -/* b408: 8d780068 */ lw $t8,0x68($t3) -/* b40c: 00001025 */ or $v0,$zero,$zero -/* b410: 13000003 */ beqz $t8,.L0000b420 -/* b414: 00000000 */ nop -/* b418: 10000001 */ b .L0000b420 -/* b41c: 24040001 */ addiu $a0,$zero,0x1 -.L0000b420: -/* b420: 8d790064 */ lw $t9,0x64($t3) -/* b424: 13200003 */ beqz $t9,.L0000b434 -/* b428: 00000000 */ nop -/* b42c: 10000001 */ b .L0000b434 -/* b430: 24030001 */ addiu $v1,$zero,0x1 -.L0000b434: -/* b434: 8d6d0070 */ lw $t5,0x70($t3) -/* b438: 11a00003 */ beqz $t5,.L0000b448 -/* b43c: 00000000 */ nop -/* b440: 10000001 */ b .L0000b448 -/* b444: 24020001 */ addiu $v0,$zero,0x1 -.L0000b448: -/* b448: 00437021 */ addu $t6,$v0,$v1 -/* b44c: 01c47821 */ addu $t7,$t6,$a0 -/* b450: 01e5c021 */ addu $t8,$t7,$a1 -/* b454: 13010010 */ beq $t8,$at,.L0000b498 -/* b458: 00000000 */ nop -/* b45c: 8d790298 */ lw $t9,0x298($t3) -/* b460: 07210004 */ bgez $t9,.L0000b474 -/* b464: 00000000 */ nop -/* b468: 8d6d029c */ lw $t5,0x29c($t3) -/* b46c: 05a20057 */ bltzl $t5,.L0000b5cc -/* b470: 8d6d0290 */ lw $t5,0x290($t3) -.L0000b474: -/* b474: 0fc2f130 */ jal func0f0bc4c0 -/* b478: afa600a8 */ sw $a2,0xa8($sp) -/* b47c: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b480: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b484: 10400050 */ beqz $v0,.L0000b5c8 -/* b488: 8fa600a8 */ lw $a2,0xa8($sp) -/* b48c: 8d6e028c */ lw $t6,0x28c($t3) -/* b490: 55c0004e */ bnezl $t6,.L0000b5cc -/* b494: 8d6d0290 */ lw $t5,0x290($t3) -.L0000b498: -/* b498: 0c002f44 */ jal viGetViewTop -/* b49c: afa600a8 */ sw $a2,0xa8($sp) -/* b4a0: 1840001a */ blez $v0,.L0000b50c -/* b4a4: 8fa600a8 */ lw $a2,0xa8($sp) -/* b4a8: afa60098 */ sw $a2,0x98($sp) -/* b4ac: 24c60008 */ addiu $a2,$a2,0x8 -/* b4b0: 0c002f02 */ jal viGetWidth -/* b4b4: afa600a8 */ sw $a2,0xa8($sp) -/* b4b8: 0c002f44 */ jal viGetViewTop -/* b4bc: a7a20056 */ sh $v0,0x56($sp) -/* b4c0: 87ae0056 */ lh $t6,0x56($sp) -/* b4c4: 244fffff */ addiu $t7,$v0,-1 -/* b4c8: 31f803ff */ andi $t8,$t7,0x3ff -/* b4cc: 0018c880 */ sll $t9,$t8,0x2 -/* b4d0: 8fa40098 */ lw $a0,0x98($sp) -/* b4d4: 8fa600a8 */ lw $a2,0xa8($sp) -/* b4d8: 3c01f600 */ lui $at,0xf600 -/* b4dc: 25cfffff */ addiu $t7,$t6,-1 -/* b4e0: 31f803ff */ andi $t8,$t7,0x3ff -/* b4e4: 03216825 */ or $t5,$t9,$at -/* b4e8: 0018cb80 */ sll $t9,$t8,0xe -/* b4ec: 01b97025 */ or $t6,$t5,$t9 -/* b4f0: 00c01825 */ or $v1,$a2,$zero -/* b4f4: ac8e0000 */ sw $t6,0x0($a0) -/* b4f8: ac800004 */ sw $zero,0x4($a0) -/* b4fc: 3c0fe700 */ lui $t7,0xe700 -/* b500: ac6f0000 */ sw $t7,0x0($v1) -/* b504: ac600004 */ sw $zero,0x4($v1) -/* b508: 24c60008 */ addiu $a2,$a2,0x8 -.L0000b50c: -/* b50c: 0c002f26 */ jal viGetViewHeight -/* b510: afa600a8 */ sw $a2,0xa8($sp) -/* b514: 0c002f44 */ jal viGetViewTop -/* b518: a7a20042 */ sh $v0,0x42($sp) -/* b51c: 0c002f06 */ jal viGetHeight -/* b520: a7a20056 */ sh $v0,0x56($sp) -/* b524: 87b80056 */ lh $t8,0x56($sp) -/* b528: 87ad0042 */ lh $t5,0x42($sp) -/* b52c: 8fa600a8 */ lw $a2,0xa8($sp) -/* b530: 030dc821 */ addu $t9,$t8,$t5 -/* b534: 0322082a */ slt $at,$t9,$v0 -/* b538: 50200195 */ beqzl $at,.L0000bb90 -/* b53c: 8fbf0014 */ lw $ra,0x14($sp) -/* b540: afa60090 */ sw $a2,0x90($sp) -/* b544: 24c60008 */ addiu $a2,$a2,0x8 -/* b548: 0c002f02 */ jal viGetWidth -/* b54c: afa600a8 */ sw $a2,0xa8($sp) -/* b550: 0c002f06 */ jal viGetHeight -/* b554: a7a20056 */ sh $v0,0x56($sp) -/* b558: 87b90056 */ lh $t9,0x56($sp) -/* b55c: 244effff */ addiu $t6,$v0,-1 -/* b560: 31cf03ff */ andi $t7,$t6,0x3ff -/* b564: 000fc080 */ sll $t8,$t7,0x2 -/* b568: 272effff */ addiu $t6,$t9,-1 -/* b56c: 31cf03ff */ andi $t7,$t6,0x3ff -/* b570: 3c01f600 */ lui $at,0xf600 -/* b574: 03016825 */ or $t5,$t8,$at -/* b578: 8fae0090 */ lw $t6,0x90($sp) -/* b57c: 000fc380 */ sll $t8,$t7,0xe -/* b580: 01b8c825 */ or $t9,$t5,$t8 -/* b584: 0c002f44 */ jal viGetViewTop -/* b588: add90000 */ sw $t9,0x0($t6) -/* b58c: 0c002f26 */ jal viGetViewHeight -/* b590: a7a20056 */ sh $v0,0x56($sp) -/* b594: 87af0056 */ lh $t7,0x56($sp) -/* b598: 8fa600a8 */ lw $a2,0xa8($sp) -/* b59c: 8fae0090 */ lw $t6,0x90($sp) -/* b5a0: 004f6821 */ addu $t5,$v0,$t7 -/* b5a4: 31b803ff */ andi $t8,$t5,0x3ff -/* b5a8: 0018c880 */ sll $t9,$t8,0x2 -/* b5ac: 00c01825 */ or $v1,$a2,$zero -/* b5b0: 3c0fe700 */ lui $t7,0xe700 -/* b5b4: add90004 */ sw $t9,0x4($t6) -/* b5b8: ac600004 */ sw $zero,0x4($v1) -/* b5bc: ac6f0000 */ sw $t7,0x0($v1) -/* b5c0: 10000172 */ b .L0000bb8c -/* b5c4: 24c60008 */ addiu $a2,$a2,0x8 -.L0000b5c8: -/* b5c8: 8d6d0290 */ lw $t5,0x290($t3) -.L0000b5cc: -/* b5cc: 00006025 */ or $t4,$zero,$zero -/* b5d0: 24010002 */ addiu $at,$zero,0x2 -/* b5d4: 55a0016e */ bnezl $t5,.L0000bb90 -/* b5d8: 8fbf0014 */ lw $ra,0x14($sp) -/* b5dc: 8d69006c */ lw $t1,0x6c($t3) -/* b5e0: afa00080 */ sw $zero,0x80($sp) -/* b5e4: 8d670068 */ lw $a3,0x68($t3) -/* b5e8: 8d680064 */ lw $t0,0x64($t3) -/* b5ec: 11200003 */ beqz $t1,.L0000b5fc -/* b5f0: 8d6a0070 */ lw $t2,0x70($t3) -/* b5f4: 10000002 */ b .L0000b600 -/* b5f8: 24050001 */ addiu $a1,$zero,0x1 -.L0000b5fc: -/* b5fc: 00002825 */ or $a1,$zero,$zero -.L0000b600: -/* b600: 50e00004 */ beqzl $a3,.L0000b614 -/* b604: 00002025 */ or $a0,$zero,$zero -/* b608: 10000002 */ b .L0000b614 -/* b60c: 24040001 */ addiu $a0,$zero,0x1 -/* b610: 00002025 */ or $a0,$zero,$zero -.L0000b614: -/* b614: 51000004 */ beqzl $t0,.L0000b628 -/* b618: 00001825 */ or $v1,$zero,$zero -/* b61c: 10000002 */ b .L0000b628 -/* b620: 24030001 */ addiu $v1,$zero,0x1 -/* b624: 00001825 */ or $v1,$zero,$zero -.L0000b628: -/* b628: 51400004 */ beqzl $t2,.L0000b63c -/* b62c: 00001025 */ or $v0,$zero,$zero -/* b630: 10000002 */ b .L0000b63c -/* b634: 24020001 */ addiu $v0,$zero,0x1 -/* b638: 00001025 */ or $v0,$zero,$zero -.L0000b63c: -/* b63c: 0043c021 */ addu $t8,$v0,$v1 -/* b640: 0304c821 */ addu $t9,$t8,$a0 -/* b644: 03257021 */ addu $t6,$t9,$a1 -/* b648: 15c10004 */ bne $t6,$at,.L0000b65c -/* b64c: 240f0001 */ addiu $t7,$zero,0x1 -/* b650: 240c0001 */ addiu $t4,$zero,0x1 -/* b654: 10000019 */ b .L0000b6bc -/* b658: afaf0080 */ sw $t7,0x80($sp) -.L0000b65c: -/* b65c: 11200003 */ beqz $t1,.L0000b66c -/* b660: 00002825 */ or $a1,$zero,$zero -/* b664: 10000001 */ b .L0000b66c -/* b668: 24050001 */ addiu $a1,$zero,0x1 -.L0000b66c: -/* b66c: 10e00003 */ beqz $a3,.L0000b67c -/* b670: 00002025 */ or $a0,$zero,$zero -/* b674: 10000001 */ b .L0000b67c -/* b678: 24040001 */ addiu $a0,$zero,0x1 -.L0000b67c: -/* b67c: 11000003 */ beqz $t0,.L0000b68c -/* b680: 00001825 */ or $v1,$zero,$zero -/* b684: 10000001 */ b .L0000b68c -/* b688: 24030001 */ addiu $v1,$zero,0x1 -.L0000b68c: -/* b68c: 11400003 */ beqz $t2,.L0000b69c -/* b690: 00001025 */ or $v0,$zero,$zero -/* b694: 10000001 */ b .L0000b69c -/* b698: 24020001 */ addiu $v0,$zero,0x1 -.L0000b69c: -/* b69c: 00436821 */ addu $t5,$v0,$v1 -/* b6a0: 01a4c021 */ addu $t8,$t5,$a0 -/* b6a4: 0305c821 */ addu $t9,$t8,$a1 -/* b6a8: 2b210003 */ slti $at,$t9,0x3 -/* b6ac: 14200003 */ bnez $at,.L0000b6bc -/* b6b0: 240e0002 */ addiu $t6,$zero,0x2 -/* b6b4: 240c0002 */ addiu $t4,$zero,0x2 -/* b6b8: afae0080 */ sw $t6,0x80($sp) -.L0000b6bc: -/* b6bc: 3c0f800a */ lui $t7,%hi(g_Vars+0x64) -/* b6c0: 8defa024 */ lw $t7,%lo(g_Vars+0x64)($t7) -/* b6c4: 85ed0636 */ lh $t5,0x636($t7) -/* b6c8: 19a0001c */ blez $t5,.L0000b73c -/* b6cc: 00c02025 */ or $a0,$a2,$zero -/* b6d0: 24c60008 */ addiu $a2,$a2,0x8 -/* b6d4: afa600a8 */ sw $a2,0xa8($sp) -/* b6d8: afa4007c */ sw $a0,0x7c($sp) -/* b6dc: 0c002f02 */ jal viGetWidth -/* b6e0: afac0084 */ sw $t4,0x84($sp) -/* b6e4: 3c18800a */ lui $t8,%hi(g_Vars+0x64) -/* b6e8: 8f18a024 */ lw $t8,%lo(g_Vars+0x64)($t8) -/* b6ec: 8fa4007c */ lw $a0,0x7c($sp) -/* b6f0: 8fa600a8 */ lw $a2,0xa8($sp) -/* b6f4: 87190636 */ lh $t9,0x636($t8) -/* b6f8: 3c01f600 */ lui $at,0xf600 -/* b6fc: 8fac0084 */ lw $t4,0x84($sp) -/* b700: 272effff */ addiu $t6,$t9,-1 -/* b704: 31cf03ff */ andi $t7,$t6,0x3ff -/* b708: 000f6880 */ sll $t5,$t7,0x2 -/* b70c: 2459ffff */ addiu $t9,$v0,-1 -/* b710: 332e03ff */ andi $t6,$t9,0x3ff -/* b714: 000e7b80 */ sll $t7,$t6,0xe -/* b718: 01a1c025 */ or $t8,$t5,$at -/* b71c: 030f6825 */ or $t5,$t8,$t7 -/* b720: 00c01825 */ or $v1,$a2,$zero -/* b724: ac8d0000 */ sw $t5,0x0($a0) -/* b728: ac800004 */ sw $zero,0x4($a0) -/* b72c: 3c19e700 */ lui $t9,0xe700 -/* b730: ac790000 */ sw $t9,0x0($v1) -/* b734: ac600004 */ sw $zero,0x4($v1) -/* b738: 24c60008 */ addiu $a2,$a2,0x8 -.L0000b73c: -/* b73c: afa600a8 */ sw $a2,0xa8($sp) -/* b740: 0c002f06 */ jal viGetHeight -/* b744: afac0084 */ sw $t4,0x84($sp) -/* b748: 8fac0084 */ lw $t4,0x84($sp) -/* b74c: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b750: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b754: 000c7080 */ sll $t6,$t4,0x2 -/* b758: 016e2821 */ addu $a1,$t3,$t6 -/* b75c: 8ca30064 */ lw $v1,0x64($a1) -/* b760: 8fa600a8 */ lw $a2,0xa8($sp) -/* b764: 84780636 */ lh $t8,0x636($v1) -/* b768: 846f0632 */ lh $t7,0x632($v1) -/* b76c: 030f6821 */ addu $t5,$t8,$t7 -/* b770: 01a2082a */ slt $at,$t5,$v0 -/* b774: 50200023 */ beqzl $at,.L0000b804 -/* b778: 00c02025 */ or $a0,$a2,$zero -/* b77c: afa60074 */ sw $a2,0x74($sp) -/* b780: 24c60008 */ addiu $a2,$a2,0x8 -/* b784: afa600a8 */ sw $a2,0xa8($sp) -/* b788: 0c002f02 */ jal viGetWidth -/* b78c: afa5002c */ sw $a1,0x2c($sp) -/* b790: 0c002f06 */ jal viGetHeight -/* b794: a7a20056 */ sh $v0,0x56($sp) -/* b798: 87ad0056 */ lh $t5,0x56($sp) -/* b79c: 2459ffff */ addiu $t9,$v0,-1 -/* b7a0: 332e03ff */ andi $t6,$t9,0x3ff -/* b7a4: 000ec080 */ sll $t8,$t6,0x2 -/* b7a8: 3c01f600 */ lui $at,0xf600 -/* b7ac: 25b9ffff */ addiu $t9,$t5,-1 -/* b7b0: 8fa70074 */ lw $a3,0x74($sp) -/* b7b4: 332e03ff */ andi $t6,$t9,0x3ff -/* b7b8: 03017825 */ or $t7,$t8,$at -/* b7bc: 8fa5002c */ lw $a1,0x2c($sp) -/* b7c0: 000ec380 */ sll $t8,$t6,0xe -/* b7c4: 8fa600a8 */ lw $a2,0xa8($sp) -/* b7c8: 01f86825 */ or $t5,$t7,$t8 -/* b7cc: aced0000 */ sw $t5,0x0($a3) -/* b7d0: 8ca30064 */ lw $v1,0x64($a1) -/* b7d4: 00c02025 */ or $a0,$a2,$zero -/* b7d8: 24c60008 */ addiu $a2,$a2,0x8 -/* b7dc: 84790632 */ lh $t9,0x632($v1) -/* b7e0: 846e0636 */ lh $t6,0x636($v1) -/* b7e4: 032e7821 */ addu $t7,$t9,$t6 -/* b7e8: 31f803ff */ andi $t8,$t7,0x3ff -/* b7ec: 00186880 */ sll $t5,$t8,0x2 -/* b7f0: aced0004 */ sw $t5,0x4($a3) -/* b7f4: 3c19e700 */ lui $t9,0xe700 -/* b7f8: ac990000 */ sw $t9,0x0($a0) -/* b7fc: ac800004 */ sw $zero,0x4($a0) -/* b800: 00c02025 */ or $a0,$a2,$zero -.L0000b804: -/* b804: 24c60008 */ addiu $a2,$a2,0x8 -/* b808: afa600a8 */ sw $a2,0xa8($sp) -/* b80c: 0c002f02 */ jal viGetWidth -/* b810: afa4006c */ sw $a0,0x6c($sp) -/* b814: 8fae0080 */ lw $t6,0x80($sp) -/* b818: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b81c: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b820: 000e7880 */ sll $t7,$t6,0x2 -/* b824: 016f6021 */ addu $t4,$t3,$t7 -/* b828: 8d980064 */ lw $t8,0x64($t4) -/* b82c: 8fa4006c */ lw $a0,0x6c($sp) -/* b830: 3c01f600 */ lui $at,0xf600 -/* b834: 870d0636 */ lh $t5,0x636($t8) -/* b838: 8fa600a8 */ lw $a2,0xa8($sp) -/* b83c: 00002825 */ or $a1,$zero,$zero -/* b840: 25b9ffff */ addiu $t9,$t5,-1 -/* b844: 332e03ff */ andi $t6,$t9,0x3ff -/* b848: 000e7880 */ sll $t7,$t6,0x2 -/* b84c: 244dffff */ addiu $t5,$v0,-1 -/* b850: 31b903ff */ andi $t9,$t5,0x3ff -/* b854: 00197380 */ sll $t6,$t9,0xe -/* b858: 01e1c025 */ or $t8,$t7,$at -/* b85c: 030e7825 */ or $t7,$t8,$t6 -/* b860: ac8f0000 */ sw $t7,0x0($a0) -/* b864: 8d8d0064 */ lw $t5,0x64($t4) -/* b868: 00c01825 */ or $v1,$a2,$zero -/* b86c: 24c60008 */ addiu $a2,$a2,0x8 -/* b870: 85b90636 */ lh $t9,0x636($t5) -/* b874: 3c0de700 */ lui $t5,0xe700 -/* b878: 2738ffff */ addiu $t8,$t9,-1 -/* b87c: 330e03ff */ andi $t6,$t8,0x3ff -/* b880: 000e7880 */ sll $t7,$t6,0x2 -/* b884: ac8f0004 */ sw $t7,0x4($a0) -/* b888: ac600004 */ sw $zero,0x4($v1) -/* b88c: ac6d0000 */ sw $t5,0x0($v1) -/* b890: 8d69006c */ lw $t1,0x6c($t3) -/* b894: 11200003 */ beqz $t1,.L0000b8a4 -/* b898: 00000000 */ nop -/* b89c: 10000001 */ b .L0000b8a4 -/* b8a0: 24050001 */ addiu $a1,$zero,0x1 -.L0000b8a4: -/* b8a4: 8d670068 */ lw $a3,0x68($t3) -/* b8a8: 00002025 */ or $a0,$zero,$zero -/* b8ac: 00001825 */ or $v1,$zero,$zero -/* b8b0: 10e00003 */ beqz $a3,.L0000b8c0 -/* b8b4: 00000000 */ nop -/* b8b8: 10000001 */ b .L0000b8c0 -/* b8bc: 24040001 */ addiu $a0,$zero,0x1 -.L0000b8c0: -/* b8c0: 8d680064 */ lw $t0,0x64($t3) -/* b8c4: 00001025 */ or $v0,$zero,$zero -/* b8c8: 11000003 */ beqz $t0,.L0000b8d8 -/* b8cc: 00000000 */ nop -/* b8d0: 10000001 */ b .L0000b8d8 -/* b8d4: 24030001 */ addiu $v1,$zero,0x1 -.L0000b8d8: -/* b8d8: 8d6a0070 */ lw $t2,0x70($t3) -/* b8dc: 11400003 */ beqz $t2,.L0000b8ec -/* b8e0: 00000000 */ nop -/* b8e4: 10000001 */ b .L0000b8ec -/* b8e8: 24020001 */ addiu $v0,$zero,0x1 -.L0000b8ec: -/* b8ec: 0043c821 */ addu $t9,$v0,$v1 -/* b8f0: 0324c021 */ addu $t8,$t9,$a0 -/* b8f4: 03057021 */ addu $t6,$t8,$a1 -/* b8f8: 29c10003 */ slti $at,$t6,0x3 -/* b8fc: 50200024 */ beqzl $at,.L0000b990 -/* b900: 8d6e006c */ lw $t6,0x6c($t3) -/* b904: 11200003 */ beqz $t1,.L0000b914 -/* b908: 24010002 */ addiu $at,$zero,0x2 -/* b90c: 10000002 */ b .L0000b918 -/* b910: 24050001 */ addiu $a1,$zero,0x1 -.L0000b914: -/* b914: 00002825 */ or $a1,$zero,$zero -.L0000b918: -/* b918: 10e00003 */ beqz $a3,.L0000b928 -/* b91c: 00001825 */ or $v1,$zero,$zero -/* b920: 10000001 */ b .L0000b928 -/* b924: 24030001 */ addiu $v1,$zero,0x1 -.L0000b928: -/* b928: 11000003 */ beqz $t0,.L0000b938 -/* b92c: 00002025 */ or $a0,$zero,$zero -/* b930: 10000001 */ b .L0000b938 -/* b934: 24040001 */ addiu $a0,$zero,0x1 -.L0000b938: -/* b938: 11400003 */ beqz $t2,.L0000b948 -/* b93c: 00001025 */ or $v0,$zero,$zero -/* b940: 10000001 */ b .L0000b948 -/* b944: 24020001 */ addiu $v0,$zero,0x1 -.L0000b948: -/* b948: 00447821 */ addu $t7,$v0,$a0 -/* b94c: 01e36821 */ addu $t5,$t7,$v1 -/* b950: 01a5c821 */ addu $t9,$t5,$a1 -/* b954: 5721004e */ bnel $t9,$at,.L0000ba90 -/* b958: 8d6f006c */ lw $t7,0x6c($t3) -/* b95c: afa600a8 */ sw $a2,0xa8($sp) -/* b960: 0fc54bcd */ jal optionsGetScreenSplit -/* b964: afac001c */ sw $t4,0x1c($sp) -/* b968: 3c0b800a */ lui $t3,%hi(g_Vars) -/* b96c: 24010001 */ addiu $at,$zero,0x1 -/* b970: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* b974: 8fa600a8 */ lw $a2,0xa8($sp) -/* b978: 10410004 */ beq $v0,$at,.L0000b98c -/* b97c: 8fac001c */ lw $t4,0x1c($sp) -/* b980: 917804e0 */ lbu $t8,0x4e0($t3) -/* b984: 53000042 */ beqzl $t8,.L0000ba90 -/* b988: 8d6f006c */ lw $t7,0x6c($t3) -.L0000b98c: -/* b98c: 8d6e006c */ lw $t6,0x6c($t3) -.L0000b990: -/* b990: 8d670068 */ lw $a3,0x68($t3) -/* b994: 8d680064 */ lw $t0,0x64($t3) -/* b998: 11c00003 */ beqz $t6,.L0000b9a8 -/* b99c: 8d6a0070 */ lw $t2,0x70($t3) -/* b9a0: 10000002 */ b .L0000b9ac -/* b9a4: 24050001 */ addiu $a1,$zero,0x1 -.L0000b9a8: -/* b9a8: 00002825 */ or $a1,$zero,$zero -.L0000b9ac: -/* b9ac: 10e00003 */ beqz $a3,.L0000b9bc -/* b9b0: 24010002 */ addiu $at,$zero,0x2 -/* b9b4: 10000002 */ b .L0000b9c0 -/* b9b8: 24040001 */ addiu $a0,$zero,0x1 -.L0000b9bc: -/* b9bc: 00002025 */ or $a0,$zero,$zero -.L0000b9c0: -/* b9c0: 11000003 */ beqz $t0,.L0000b9d0 -/* b9c4: 00001825 */ or $v1,$zero,$zero -/* b9c8: 10000001 */ b .L0000b9d0 -/* b9cc: 24030001 */ addiu $v1,$zero,0x1 -.L0000b9d0: -/* b9d0: 11400003 */ beqz $t2,.L0000b9e0 -/* b9d4: 00001025 */ or $v0,$zero,$zero -/* b9d8: 10000001 */ b .L0000b9e0 -/* b9dc: 24020001 */ addiu $v0,$zero,0x1 -.L0000b9e0: -/* b9e0: 00437821 */ addu $t7,$v0,$v1 -/* b9e4: 01e46821 */ addu $t5,$t7,$a0 -/* b9e8: 01a5c821 */ addu $t9,$t5,$a1 -/* b9ec: 17210004 */ bne $t9,$at,.L0000ba00 -/* b9f0: 00c02825 */ or $a1,$a2,$zero -/* b9f4: 3c0c800a */ lui $t4,%hi(g_Vars) -/* b9f8: 258c9fc0 */ addiu $t4,$t4,%lo(g_Vars) -/* b9fc: afa00080 */ sw $zero,0x80($sp) -.L0000ba00: -/* ba00: 24c60008 */ addiu $a2,$a2,0x8 -/* ba04: afa600a8 */ sw $a2,0xa8($sp) -/* ba08: afa50064 */ sw $a1,0x64($sp) -/* ba0c: 0c002f06 */ jal viGetHeight -/* ba10: afac001c */ sw $t4,0x1c($sp) -/* ba14: 8fac001c */ lw $t4,0x1c($sp) -/* ba18: 8fa50064 */ lw $a1,0x64($sp) -/* ba1c: 3c01f600 */ lui $at,0xf600 -/* ba20: 8d830064 */ lw $v1,0x64($t4) -/* ba24: 8fa600a8 */ lw $a2,0xa8($sp) -/* ba28: 3c0b800a */ lui $t3,%hi(g_Vars) -/* ba2c: 84780634 */ lh $t8,0x634($v1) -/* ba30: 846e0630 */ lh $t6,0x630($v1) -/* ba34: 00c02025 */ or $a0,$a2,$zero -/* ba38: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars) -/* ba3c: 030e7821 */ addu $t7,$t8,$t6 -/* ba40: 31ed03ff */ andi $t5,$t7,0x3ff -/* ba44: 2458ffff */ addiu $t8,$v0,-1 -/* ba48: 330e03ff */ andi $t6,$t8,0x3ff -/* ba4c: 000e7880 */ sll $t7,$t6,0x2 -/* ba50: 000dcb80 */ sll $t9,$t5,0xe -/* ba54: 01e16825 */ or $t5,$t7,$at -/* ba58: 01b9c025 */ or $t8,$t5,$t9 -/* ba5c: acb80000 */ sw $t8,0x0($a1) -/* ba60: 8d830064 */ lw $v1,0x64($t4) -/* ba64: 24c60008 */ addiu $a2,$a2,0x8 -/* ba68: 846e0630 */ lh $t6,0x630($v1) -/* ba6c: 846f0634 */ lh $t7,0x634($v1) -/* ba70: 01cf6821 */ addu $t5,$t6,$t7 -/* ba74: 31b903ff */ andi $t9,$t5,0x3ff -/* ba78: 0019c380 */ sll $t8,$t9,0xe -/* ba7c: acb80004 */ sw $t8,0x4($a1) -/* ba80: 3c0ee700 */ lui $t6,0xe700 -/* ba84: ac8e0000 */ sw $t6,0x0($a0) -/* ba88: ac800004 */ sw $zero,0x4($a0) -/* ba8c: 8d6f006c */ lw $t7,0x6c($t3) -.L0000ba90: -/* ba90: 8d670068 */ lw $a3,0x68($t3) -/* ba94: 8d680064 */ lw $t0,0x64($t3) -/* ba98: 11e00003 */ beqz $t7,.L0000baa8 -/* ba9c: 8d6a0070 */ lw $t2,0x70($t3) -/* baa0: 10000002 */ b .L0000baac -/* baa4: 24050001 */ addiu $a1,$zero,0x1 -.L0000baa8: -/* baa8: 00002825 */ or $a1,$zero,$zero -.L0000baac: -/* baac: 10e00003 */ beqz $a3,.L0000babc -/* bab0: 24010003 */ addiu $at,$zero,0x3 -/* bab4: 10000002 */ b .L0000bac0 -/* bab8: 24040001 */ addiu $a0,$zero,0x1 -.L0000babc: -/* babc: 00002025 */ or $a0,$zero,$zero -.L0000bac0: -/* bac0: 11000003 */ beqz $t0,.L0000bad0 -/* bac4: 00001825 */ or $v1,$zero,$zero -/* bac8: 10000001 */ b .L0000bad0 -/* bacc: 24030001 */ addiu $v1,$zero,0x1 -.L0000bad0: -/* bad0: 11400003 */ beqz $t2,.L0000bae0 -/* bad4: 00001025 */ or $v0,$zero,$zero -/* bad8: 10000001 */ b .L0000bae0 -/* badc: 24020001 */ addiu $v0,$zero,0x1 -.L0000bae0: -/* bae0: 00436821 */ addu $t5,$v0,$v1 -/* bae4: 01a4c821 */ addu $t9,$t5,$a0 -/* bae8: 0325c021 */ addu $t8,$t9,$a1 -/* baec: 57010028 */ bnel $t8,$at,.L0000bb90 -/* baf0: 8fbf0014 */ lw $ra,0x14($sp) -/* baf4: afa6005c */ sw $a2,0x5c($sp) -/* baf8: 24c60008 */ addiu $a2,$a2,0x8 -/* bafc: afa600a8 */ sw $a2,0xa8($sp) -/* bb00: 0c002f02 */ jal viGetWidth -/* bb04: afac001c */ sw $t4,0x1c($sp) -/* bb08: 0c002f06 */ jal viGetHeight -/* bb0c: a7a20056 */ sh $v0,0x56($sp) -/* bb10: 87b80056 */ lh $t8,0x56($sp) -/* bb14: 244effff */ addiu $t6,$v0,-1 -/* bb18: 31cf03ff */ andi $t7,$t6,0x3ff -/* bb1c: 000f6880 */ sll $t5,$t7,0x2 -/* bb20: 3c01f600 */ lui $at,0xf600 -/* bb24: 270effff */ addiu $t6,$t8,-1 -/* bb28: 8fa5005c */ lw $a1,0x5c($sp) -/* bb2c: 31cf03ff */ andi $t7,$t6,0x3ff -/* bb30: 01a1c825 */ or $t9,$t5,$at -/* bb34: 8fac001c */ lw $t4,0x1c($sp) -/* bb38: 000f6b80 */ sll $t5,$t7,0xe -/* bb3c: 8fa600a8 */ lw $a2,0xa8($sp) -/* bb40: 032dc025 */ or $t8,$t9,$t5 -/* bb44: acb80000 */ sw $t8,0x0($a1) -/* bb48: 8d830064 */ lw $v1,0x64($t4) -/* bb4c: 00c02025 */ or $a0,$a2,$zero -/* bb50: 24c60008 */ addiu $a2,$a2,0x8 -/* bb54: 846e0634 */ lh $t6,0x634($v1) -/* bb58: 846f0630 */ lh $t7,0x630($v1) -/* bb5c: 01cfc821 */ addu $t9,$t6,$t7 -/* bb60: 846f0636 */ lh $t7,0x636($v1) -/* bb64: 272d0001 */ addiu $t5,$t9,0x1 -/* bb68: 31b803ff */ andi $t8,$t5,0x3ff -/* bb6c: 31f903ff */ andi $t9,$t7,0x3ff -/* bb70: 00196880 */ sll $t5,$t9,0x2 -/* bb74: 00187380 */ sll $t6,$t8,0xe -/* bb78: 01aec025 */ or $t8,$t5,$t6 -/* bb7c: acb80004 */ sw $t8,0x4($a1) -/* bb80: 3c0fe700 */ lui $t7,0xe700 -/* bb84: ac8f0000 */ sw $t7,0x0($a0) -/* bb88: ac800004 */ sw $zero,0x4($a0) -.L0000bb8c: -/* bb8c: 8fbf0014 */ lw $ra,0x14($sp) -.L0000bb90: -/* bb90: 27bd00a8 */ addiu $sp,$sp,0xa8 -/* bb94: 00c01025 */ or $v0,$a2,$zero -/* bb98: 03e00008 */ jr $ra -/* bb9c: 00000000 */ nop -); + if (PLAYERCOUNT() == 1 + || ((g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) + && is2PSharedViewport() && g_Vars.currentplayernum == 0)) #else -GLOBAL_ASM( -glabel vi0000b330 -/* b4b0: 27bdff58 */ addiu $sp,$sp,-168 -/* b4b4: afbf0014 */ sw $ra,0x14($sp) -/* b4b8: 3c0eba00 */ lui $t6,0xba00 -/* b4bc: 35ce1402 */ ori $t6,$t6,0x1402 -/* b4c0: 24830008 */ addiu $v1,$a0,0x8 -/* b4c4: 3c0f0030 */ lui $t7,0x30 -/* b4c8: ac8f0004 */ sw $t7,0x4($a0) -/* b4cc: ac8e0000 */ sw $t6,0x0($a0) -/* b4d0: 3c18ed00 */ lui $t8,0xed00 -/* b4d4: ac780000 */ sw $t8,0x0($v1) -/* b4d8: 24660008 */ addiu $a2,$v1,0x8 -/* b4dc: afa600a8 */ sw $a2,0xa8($sp) -/* b4e0: 0c002f77 */ jal viGetWidth -/* b4e4: afa300a0 */ sw $v1,0xa0($sp) -/* b4e8: 0c002f7b */ jal viGetHeight -/* b4ec: a7a20056 */ sh $v0,0x56($sp) -/* b4f0: 44822000 */ mtc1 $v0,$f4 -/* b4f4: 87af0056 */ lh $t7,0x56($sp) -/* b4f8: 3c014080 */ lui $at,0x4080 -/* b4fc: 468021a0 */ cvt.s.w $f6,$f4 -/* b500: 448f8000 */ mtc1 $t7,$f16 -/* b504: 44810000 */ mtc1 $at,$f0 -/* b508: 8fa600a8 */ lw $a2,0xa8($sp) -/* b50c: 3c0b800a */ lui $t3,0x800a -/* b510: 468084a0 */ cvt.s.w $f18,$f16 -/* b514: 46003202 */ mul.s $f8,$f6,$f0 -/* b518: 00c01825 */ or $v1,$a2,$zero -/* b51c: 256be6c0 */ addiu $t3,$t3,-6464 -/* b520: 24010001 */ addiu $at,$zero,0x1 -/* b524: 00002825 */ or $a1,$zero,$zero -/* b528: 46009102 */ mul.s $f4,$f18,$f0 -/* b52c: 00002025 */ or $a0,$zero,$zero -/* b530: 24c60008 */ addiu $a2,$a2,0x8 -/* b534: 4600428d */ trunc.w.s $f10,$f8 -/* b538: 4600218d */ trunc.w.s $f6,$f4 -/* b53c: 440d5000 */ mfc1 $t5,$f10 -/* b540: 44193000 */ mfc1 $t9,$f6 -/* b544: 31ae0fff */ andi $t6,$t5,0xfff -/* b548: 332d0fff */ andi $t5,$t9,0xfff -/* b54c: 8fb900a0 */ lw $t9,0xa0($sp) -/* b550: 000d7b00 */ sll $t7,$t5,0xc -/* b554: 01cfc025 */ or $t8,$t6,$t7 -/* b558: 3c0e0001 */ lui $t6,0x1 -/* b55c: af380004 */ sw $t8,0x4($t9) -/* b560: 35ce0001 */ ori $t6,$t6,0x1 -/* b564: 3c0df700 */ lui $t5,0xf700 -/* b568: ac6d0000 */ sw $t5,0x0($v1) -/* b56c: ac6e0004 */ sw $t6,0x4($v1) -/* b570: 8d6f006c */ lw $t7,0x6c($t3) -/* b574: 00001825 */ or $v1,$zero,$zero -/* b578: 11e00003 */ beqz $t7,.NB0000b588 -/* b57c: 00000000 */ sll $zero,$zero,0x0 -/* b580: 10000001 */ beqz $zero,.NB0000b588 -/* b584: 24050001 */ addiu $a1,$zero,0x1 -.NB0000b588: -/* b588: 8d780068 */ lw $t8,0x68($t3) -/* b58c: 00001025 */ or $v0,$zero,$zero -/* b590: 13000003 */ beqz $t8,.NB0000b5a0 -/* b594: 00000000 */ sll $zero,$zero,0x0 -/* b598: 10000001 */ beqz $zero,.NB0000b5a0 -/* b59c: 24040001 */ addiu $a0,$zero,0x1 -.NB0000b5a0: -/* b5a0: 8d790064 */ lw $t9,0x64($t3) -/* b5a4: 13200003 */ beqz $t9,.NB0000b5b4 -/* b5a8: 00000000 */ sll $zero,$zero,0x0 -/* b5ac: 10000001 */ beqz $zero,.NB0000b5b4 -/* b5b0: 24030001 */ addiu $v1,$zero,0x1 -.NB0000b5b4: -/* b5b4: 8d6d0070 */ lw $t5,0x70($t3) -/* b5b8: 11a00003 */ beqz $t5,.NB0000b5c8 -/* b5bc: 00000000 */ sll $zero,$zero,0x0 -/* b5c0: 10000001 */ beqz $zero,.NB0000b5c8 -/* b5c4: 24020001 */ addiu $v0,$zero,0x1 -.NB0000b5c8: -/* b5c8: 00437021 */ addu $t6,$v0,$v1 -/* b5cc: 01c47821 */ addu $t7,$t6,$a0 -/* b5d0: 01e5c021 */ addu $t8,$t7,$a1 -/* b5d4: 13010019 */ beq $t8,$at,.NB0000b63c -/* b5d8: 00000000 */ sll $zero,$zero,0x0 -/* b5dc: 8d790298 */ lw $t9,0x298($t3) -/* b5e0: 3c0e8007 */ lui $t6,0x8007 -/* b5e4: 07210004 */ bgez $t9,.NB0000b5f8 -/* b5e8: 00000000 */ sll $zero,$zero,0x0 -/* b5ec: 8d6d029c */ lw $t5,0x29c($t3) -/* b5f0: 05a2005f */ bltzl $t5,.NB0000b770 -/* b5f4: 8d6f0290 */ lw $t7,0x290($t3) -.NB0000b5f8: -/* b5f8: 8dce2e24 */ lw $t6,0x2e24($t6) -/* b5fc: 3c0f8006 */ lui $t7,0x8006 -/* b600: 11c00004 */ beqz $t6,.NB0000b614 -/* b604: 00000000 */ sll $zero,$zero,0x0 -/* b608: 8deff2f0 */ lw $t7,-0xd10($t7) -/* b60c: 51e00009 */ beqzl $t7,.NB0000b634 -/* b610: 8d78028c */ lw $t8,0x28c($t3) -.NB0000b614: -/* b614: 0fc3e4d2 */ jal menuGetRoot -/* b618: afa600a8 */ sw $a2,0xa8($sp) -/* b61c: 3c0b800a */ lui $t3,0x800a -/* b620: 24010009 */ addiu $at,$zero,0x9 -/* b624: 256be6c0 */ addiu $t3,$t3,-6464 -/* b628: 14410050 */ bne $v0,$at,.NB0000b76c -/* b62c: 8fa600a8 */ lw $a2,0xa8($sp) -/* b630: 8d78028c */ lw $t8,0x28c($t3) -.NB0000b634: -/* b634: 5700004e */ bnezl $t8,.NB0000b770 -/* b638: 8d6f0290 */ lw $t7,0x290($t3) -.NB0000b63c: -/* b63c: 0c002fb9 */ jal viGetViewTop -/* b640: afa600a8 */ sw $a2,0xa8($sp) -/* b644: 1840001a */ blez $v0,.NB0000b6b0 -/* b648: 8fa600a8 */ lw $a2,0xa8($sp) -/* b64c: afa60098 */ sw $a2,0x98($sp) -/* b650: 24c60008 */ addiu $a2,$a2,0x8 -/* b654: 0c002f77 */ jal viGetWidth -/* b658: afa600a8 */ sw $a2,0xa8($sp) -/* b65c: 0c002fb9 */ jal viGetViewTop -/* b660: a7a20056 */ sh $v0,0x56($sp) -/* b664: 87b80056 */ lh $t8,0x56($sp) -/* b668: 2459ffff */ addiu $t9,$v0,-1 -/* b66c: 332d03ff */ andi $t5,$t9,0x3ff -/* b670: 000d7080 */ sll $t6,$t5,0x2 -/* b674: 8fa40098 */ lw $a0,0x98($sp) -/* b678: 8fa600a8 */ lw $a2,0xa8($sp) -/* b67c: 3c01f600 */ lui $at,0xf600 -/* b680: 2719ffff */ addiu $t9,$t8,-1 -/* b684: 332d03ff */ andi $t5,$t9,0x3ff -/* b688: 01c17825 */ or $t7,$t6,$at -/* b68c: 000d7380 */ sll $t6,$t5,0xe -/* b690: 01eec025 */ or $t8,$t7,$t6 -/* b694: 00c01825 */ or $v1,$a2,$zero -/* b698: ac980000 */ sw $t8,0x0($a0) -/* b69c: ac800004 */ sw $zero,0x4($a0) -/* b6a0: 3c19e700 */ lui $t9,0xe700 -/* b6a4: ac790000 */ sw $t9,0x0($v1) -/* b6a8: ac600004 */ sw $zero,0x4($v1) -/* b6ac: 24c60008 */ addiu $a2,$a2,0x8 -.NB0000b6b0: -/* b6b0: 0c002f9b */ jal viGetViewHeight -/* b6b4: afa600a8 */ sw $a2,0xa8($sp) -/* b6b8: 0c002fb9 */ jal viGetViewTop -/* b6bc: a7a20042 */ sh $v0,0x42($sp) -/* b6c0: 0c002f7b */ jal viGetHeight -/* b6c4: a7a20056 */ sh $v0,0x56($sp) -/* b6c8: 87ad0056 */ lh $t5,0x56($sp) -/* b6cc: 87af0042 */ lh $t7,0x42($sp) -/* b6d0: 8fa600a8 */ lw $a2,0xa8($sp) -/* b6d4: 01af7021 */ addu $t6,$t5,$t7 -/* b6d8: 01c2082a */ slt $at,$t6,$v0 -/* b6dc: 50200195 */ beqzl $at,.NB0000bd34 -/* b6e0: 8fbf0014 */ lw $ra,0x14($sp) -/* b6e4: afa60090 */ sw $a2,0x90($sp) -/* b6e8: 24c60008 */ addiu $a2,$a2,0x8 -/* b6ec: 0c002f77 */ jal viGetWidth -/* b6f0: afa600a8 */ sw $a2,0xa8($sp) -/* b6f4: 0c002f7b */ jal viGetHeight -/* b6f8: a7a20056 */ sh $v0,0x56($sp) -/* b6fc: 87ae0056 */ lh $t6,0x56($sp) -/* b700: 2458ffff */ addiu $t8,$v0,-1 -/* b704: 331903ff */ andi $t9,$t8,0x3ff -/* b708: 00196880 */ sll $t5,$t9,0x2 -/* b70c: 25d8ffff */ addiu $t8,$t6,-1 -/* b710: 331903ff */ andi $t9,$t8,0x3ff -/* b714: 3c01f600 */ lui $at,0xf600 -/* b718: 01a17825 */ or $t7,$t5,$at -/* b71c: 8fb80090 */ lw $t8,0x90($sp) -/* b720: 00196b80 */ sll $t5,$t9,0xe -/* b724: 01ed7025 */ or $t6,$t7,$t5 -/* b728: 0c002fb9 */ jal viGetViewTop -/* b72c: af0e0000 */ sw $t6,0x0($t8) -/* b730: 0c002f9b */ jal viGetViewHeight -/* b734: a7a20056 */ sh $v0,0x56($sp) -/* b738: 87b90056 */ lh $t9,0x56($sp) -/* b73c: 8fa600a8 */ lw $a2,0xa8($sp) -/* b740: 8fb80090 */ lw $t8,0x90($sp) -/* b744: 00597821 */ addu $t7,$v0,$t9 -/* b748: 31ed03ff */ andi $t5,$t7,0x3ff -/* b74c: 000d7080 */ sll $t6,$t5,0x2 -/* b750: 00c01825 */ or $v1,$a2,$zero -/* b754: 3c19e700 */ lui $t9,0xe700 -/* b758: af0e0004 */ sw $t6,0x4($t8) -/* b75c: ac600004 */ sw $zero,0x4($v1) -/* b760: ac790000 */ sw $t9,0x0($v1) -/* b764: 10000172 */ beqz $zero,.NB0000bd30 -/* b768: 24c60008 */ addiu $a2,$a2,0x8 -.NB0000b76c: -/* b76c: 8d6f0290 */ lw $t7,0x290($t3) -.NB0000b770: -/* b770: 00006025 */ or $t4,$zero,$zero -/* b774: 24010002 */ addiu $at,$zero,0x2 -/* b778: 55e0016e */ bnezl $t7,.NB0000bd34 -/* b77c: 8fbf0014 */ lw $ra,0x14($sp) -/* b780: 8d69006c */ lw $t1,0x6c($t3) -/* b784: afa00080 */ sw $zero,0x80($sp) -/* b788: 8d670068 */ lw $a3,0x68($t3) -/* b78c: 8d680064 */ lw $t0,0x64($t3) -/* b790: 11200003 */ beqz $t1,.NB0000b7a0 -/* b794: 8d6a0070 */ lw $t2,0x70($t3) -/* b798: 10000002 */ beqz $zero,.NB0000b7a4 -/* b79c: 24050001 */ addiu $a1,$zero,0x1 -.NB0000b7a0: -/* b7a0: 00002825 */ or $a1,$zero,$zero -.NB0000b7a4: -/* b7a4: 50e00004 */ beqzl $a3,.NB0000b7b8 -/* b7a8: 00002025 */ or $a0,$zero,$zero -/* b7ac: 10000002 */ beqz $zero,.NB0000b7b8 -/* b7b0: 24040001 */ addiu $a0,$zero,0x1 -/* b7b4: 00002025 */ or $a0,$zero,$zero -.NB0000b7b8: -/* b7b8: 51000004 */ beqzl $t0,.NB0000b7cc -/* b7bc: 00001825 */ or $v1,$zero,$zero -/* b7c0: 10000002 */ beqz $zero,.NB0000b7cc -/* b7c4: 24030001 */ addiu $v1,$zero,0x1 -/* b7c8: 00001825 */ or $v1,$zero,$zero -.NB0000b7cc: -/* b7cc: 51400004 */ beqzl $t2,.NB0000b7e0 -/* b7d0: 00001025 */ or $v0,$zero,$zero -/* b7d4: 10000002 */ beqz $zero,.NB0000b7e0 -/* b7d8: 24020001 */ addiu $v0,$zero,0x1 -/* b7dc: 00001025 */ or $v0,$zero,$zero -.NB0000b7e0: -/* b7e0: 00436821 */ addu $t5,$v0,$v1 -/* b7e4: 01a47021 */ addu $t6,$t5,$a0 -/* b7e8: 01c5c021 */ addu $t8,$t6,$a1 -/* b7ec: 17010004 */ bne $t8,$at,.NB0000b800 -/* b7f0: 24190001 */ addiu $t9,$zero,0x1 -/* b7f4: 240c0001 */ addiu $t4,$zero,0x1 -/* b7f8: 10000019 */ beqz $zero,.NB0000b860 -/* b7fc: afb90080 */ sw $t9,0x80($sp) -.NB0000b800: -/* b800: 11200003 */ beqz $t1,.NB0000b810 -/* b804: 00002825 */ or $a1,$zero,$zero -/* b808: 10000001 */ beqz $zero,.NB0000b810 -/* b80c: 24050001 */ addiu $a1,$zero,0x1 -.NB0000b810: -/* b810: 10e00003 */ beqz $a3,.NB0000b820 -/* b814: 00002025 */ or $a0,$zero,$zero -/* b818: 10000001 */ beqz $zero,.NB0000b820 -/* b81c: 24040001 */ addiu $a0,$zero,0x1 -.NB0000b820: -/* b820: 11000003 */ beqz $t0,.NB0000b830 -/* b824: 00001825 */ or $v1,$zero,$zero -/* b828: 10000001 */ beqz $zero,.NB0000b830 -/* b82c: 24030001 */ addiu $v1,$zero,0x1 -.NB0000b830: -/* b830: 11400003 */ beqz $t2,.NB0000b840 -/* b834: 00001025 */ or $v0,$zero,$zero -/* b838: 10000001 */ beqz $zero,.NB0000b840 -/* b83c: 24020001 */ addiu $v0,$zero,0x1 -.NB0000b840: -/* b840: 00437821 */ addu $t7,$v0,$v1 -/* b844: 01e46821 */ addu $t5,$t7,$a0 -/* b848: 01a57021 */ addu $t6,$t5,$a1 -/* b84c: 29c10003 */ slti $at,$t6,0x3 -/* b850: 14200003 */ bnez $at,.NB0000b860 -/* b854: 24180002 */ addiu $t8,$zero,0x2 -/* b858: 240c0002 */ addiu $t4,$zero,0x2 -/* b85c: afb80080 */ sw $t8,0x80($sp) -.NB0000b860: -/* b860: 3c19800a */ lui $t9,0x800a -/* b864: 8f39e724 */ lw $t9,-0x18dc($t9) -/* b868: 872f0636 */ lh $t7,0x636($t9) -/* b86c: 19e0001c */ blez $t7,.NB0000b8e0 -/* b870: 00c02025 */ or $a0,$a2,$zero -/* b874: 24c60008 */ addiu $a2,$a2,0x8 -/* b878: afa600a8 */ sw $a2,0xa8($sp) -/* b87c: afa4007c */ sw $a0,0x7c($sp) -/* b880: 0c002f77 */ jal viGetWidth -/* b884: afac0084 */ sw $t4,0x84($sp) -/* b888: 3c0d800a */ lui $t5,0x800a -/* b88c: 8dade724 */ lw $t5,-0x18dc($t5) -/* b890: 8fa4007c */ lw $a0,0x7c($sp) -/* b894: 8fa600a8 */ lw $a2,0xa8($sp) -/* b898: 85ae0636 */ lh $t6,0x636($t5) -/* b89c: 3c01f600 */ lui $at,0xf600 -/* b8a0: 8fac0084 */ lw $t4,0x84($sp) -/* b8a4: 25d8ffff */ addiu $t8,$t6,-1 -/* b8a8: 331903ff */ andi $t9,$t8,0x3ff -/* b8ac: 00197880 */ sll $t7,$t9,0x2 -/* b8b0: 244effff */ addiu $t6,$v0,-1 -/* b8b4: 31d803ff */ andi $t8,$t6,0x3ff -/* b8b8: 0018cb80 */ sll $t9,$t8,0xe -/* b8bc: 01e16825 */ or $t5,$t7,$at -/* b8c0: 01b97825 */ or $t7,$t5,$t9 -/* b8c4: 00c01825 */ or $v1,$a2,$zero -/* b8c8: ac8f0000 */ sw $t7,0x0($a0) -/* b8cc: ac800004 */ sw $zero,0x4($a0) -/* b8d0: 3c0ee700 */ lui $t6,0xe700 -/* b8d4: ac6e0000 */ sw $t6,0x0($v1) -/* b8d8: ac600004 */ sw $zero,0x4($v1) -/* b8dc: 24c60008 */ addiu $a2,$a2,0x8 -.NB0000b8e0: -/* b8e0: afa600a8 */ sw $a2,0xa8($sp) -/* b8e4: 0c002f7b */ jal viGetHeight -/* b8e8: afac0084 */ sw $t4,0x84($sp) -/* b8ec: 8fac0084 */ lw $t4,0x84($sp) -/* b8f0: 3c0b800a */ lui $t3,0x800a -/* b8f4: 256be6c0 */ addiu $t3,$t3,-6464 -/* b8f8: 000cc080 */ sll $t8,$t4,0x2 -/* b8fc: 01782821 */ addu $a1,$t3,$t8 -/* b900: 8ca30064 */ lw $v1,0x64($a1) -/* b904: 8fa600a8 */ lw $a2,0xa8($sp) -/* b908: 846d0636 */ lh $t5,0x636($v1) -/* b90c: 84790632 */ lh $t9,0x632($v1) -/* b910: 01b97821 */ addu $t7,$t5,$t9 -/* b914: 01e2082a */ slt $at,$t7,$v0 -/* b918: 50200023 */ beqzl $at,.NB0000b9a8 -/* b91c: 00c02025 */ or $a0,$a2,$zero -/* b920: afa60074 */ sw $a2,0x74($sp) -/* b924: 24c60008 */ addiu $a2,$a2,0x8 -/* b928: afa600a8 */ sw $a2,0xa8($sp) -/* b92c: 0c002f77 */ jal viGetWidth -/* b930: afa5002c */ sw $a1,0x2c($sp) -/* b934: 0c002f7b */ jal viGetHeight -/* b938: a7a20056 */ sh $v0,0x56($sp) -/* b93c: 87af0056 */ lh $t7,0x56($sp) -/* b940: 244effff */ addiu $t6,$v0,-1 -/* b944: 31d803ff */ andi $t8,$t6,0x3ff -/* b948: 00186880 */ sll $t5,$t8,0x2 -/* b94c: 3c01f600 */ lui $at,0xf600 -/* b950: 25eeffff */ addiu $t6,$t7,-1 -/* b954: 8fa70074 */ lw $a3,0x74($sp) -/* b958: 31d803ff */ andi $t8,$t6,0x3ff -/* b95c: 01a1c825 */ or $t9,$t5,$at -/* b960: 8fa5002c */ lw $a1,0x2c($sp) -/* b964: 00186b80 */ sll $t5,$t8,0xe -/* b968: 8fa600a8 */ lw $a2,0xa8($sp) -/* b96c: 032d7825 */ or $t7,$t9,$t5 -/* b970: acef0000 */ sw $t7,0x0($a3) -/* b974: 8ca30064 */ lw $v1,0x64($a1) -/* b978: 00c02025 */ or $a0,$a2,$zero -/* b97c: 24c60008 */ addiu $a2,$a2,0x8 -/* b980: 846e0632 */ lh $t6,0x632($v1) -/* b984: 84780636 */ lh $t8,0x636($v1) -/* b988: 01d8c821 */ addu $t9,$t6,$t8 -/* b98c: 332d03ff */ andi $t5,$t9,0x3ff -/* b990: 000d7880 */ sll $t7,$t5,0x2 -/* b994: acef0004 */ sw $t7,0x4($a3) -/* b998: 3c0ee700 */ lui $t6,0xe700 -/* b99c: ac8e0000 */ sw $t6,0x0($a0) -/* b9a0: ac800004 */ sw $zero,0x4($a0) -/* b9a4: 00c02025 */ or $a0,$a2,$zero -.NB0000b9a8: -/* b9a8: 24c60008 */ addiu $a2,$a2,0x8 -/* b9ac: afa600a8 */ sw $a2,0xa8($sp) -/* b9b0: 0c002f77 */ jal viGetWidth -/* b9b4: afa4006c */ sw $a0,0x6c($sp) -/* b9b8: 8fb80080 */ lw $t8,0x80($sp) -/* b9bc: 3c0b800a */ lui $t3,0x800a -/* b9c0: 256be6c0 */ addiu $t3,$t3,-6464 -/* b9c4: 0018c880 */ sll $t9,$t8,0x2 -/* b9c8: 01796021 */ addu $t4,$t3,$t9 -/* b9cc: 8d8d0064 */ lw $t5,0x64($t4) -/* b9d0: 8fa4006c */ lw $a0,0x6c($sp) -/* b9d4: 3c01f600 */ lui $at,0xf600 -/* b9d8: 85af0636 */ lh $t7,0x636($t5) -/* b9dc: 8fa600a8 */ lw $a2,0xa8($sp) -/* b9e0: 00002825 */ or $a1,$zero,$zero -/* b9e4: 25eeffff */ addiu $t6,$t7,-1 -/* b9e8: 31d803ff */ andi $t8,$t6,0x3ff -/* b9ec: 0018c880 */ sll $t9,$t8,0x2 -/* b9f0: 244fffff */ addiu $t7,$v0,-1 -/* b9f4: 31ee03ff */ andi $t6,$t7,0x3ff -/* b9f8: 000ec380 */ sll $t8,$t6,0xe -/* b9fc: 03216825 */ or $t5,$t9,$at -/* ba00: 01b8c825 */ or $t9,$t5,$t8 -/* ba04: ac990000 */ sw $t9,0x0($a0) -/* ba08: 8d8f0064 */ lw $t7,0x64($t4) -/* ba0c: 00c01825 */ or $v1,$a2,$zero -/* ba10: 24c60008 */ addiu $a2,$a2,0x8 -/* ba14: 85ee0636 */ lh $t6,0x636($t7) -/* ba18: 3c0fe700 */ lui $t7,0xe700 -/* ba1c: 25cdffff */ addiu $t5,$t6,-1 -/* ba20: 31b803ff */ andi $t8,$t5,0x3ff -/* ba24: 0018c880 */ sll $t9,$t8,0x2 -/* ba28: ac990004 */ sw $t9,0x4($a0) -/* ba2c: ac600004 */ sw $zero,0x4($v1) -/* ba30: ac6f0000 */ sw $t7,0x0($v1) -/* ba34: 8d69006c */ lw $t1,0x6c($t3) -/* ba38: 11200003 */ beqz $t1,.NB0000ba48 -/* ba3c: 00000000 */ sll $zero,$zero,0x0 -/* ba40: 10000001 */ beqz $zero,.NB0000ba48 -/* ba44: 24050001 */ addiu $a1,$zero,0x1 -.NB0000ba48: -/* ba48: 8d670068 */ lw $a3,0x68($t3) -/* ba4c: 00002025 */ or $a0,$zero,$zero -/* ba50: 00001825 */ or $v1,$zero,$zero -/* ba54: 10e00003 */ beqz $a3,.NB0000ba64 -/* ba58: 00000000 */ sll $zero,$zero,0x0 -/* ba5c: 10000001 */ beqz $zero,.NB0000ba64 -/* ba60: 24040001 */ addiu $a0,$zero,0x1 -.NB0000ba64: -/* ba64: 8d680064 */ lw $t0,0x64($t3) -/* ba68: 00001025 */ or $v0,$zero,$zero -/* ba6c: 11000003 */ beqz $t0,.NB0000ba7c -/* ba70: 00000000 */ sll $zero,$zero,0x0 -/* ba74: 10000001 */ beqz $zero,.NB0000ba7c -/* ba78: 24030001 */ addiu $v1,$zero,0x1 -.NB0000ba7c: -/* ba7c: 8d6a0070 */ lw $t2,0x70($t3) -/* ba80: 11400003 */ beqz $t2,.NB0000ba90 -/* ba84: 00000000 */ sll $zero,$zero,0x0 -/* ba88: 10000001 */ beqz $zero,.NB0000ba90 -/* ba8c: 24020001 */ addiu $v0,$zero,0x1 -.NB0000ba90: -/* ba90: 00437021 */ addu $t6,$v0,$v1 -/* ba94: 01c46821 */ addu $t5,$t6,$a0 -/* ba98: 01a5c021 */ addu $t8,$t5,$a1 -/* ba9c: 2b010003 */ slti $at,$t8,0x3 -/* baa0: 50200024 */ beqzl $at,.NB0000bb34 -/* baa4: 8d78006c */ lw $t8,0x6c($t3) -/* baa8: 11200003 */ beqz $t1,.NB0000bab8 -/* baac: 24010002 */ addiu $at,$zero,0x2 -/* bab0: 10000002 */ beqz $zero,.NB0000babc -/* bab4: 24050001 */ addiu $a1,$zero,0x1 -.NB0000bab8: -/* bab8: 00002825 */ or $a1,$zero,$zero -.NB0000babc: -/* babc: 10e00003 */ beqz $a3,.NB0000bacc -/* bac0: 00001825 */ or $v1,$zero,$zero -/* bac4: 10000001 */ beqz $zero,.NB0000bacc -/* bac8: 24030001 */ addiu $v1,$zero,0x1 -.NB0000bacc: -/* bacc: 11000003 */ beqz $t0,.NB0000badc -/* bad0: 00002025 */ or $a0,$zero,$zero -/* bad4: 10000001 */ beqz $zero,.NB0000badc -/* bad8: 24040001 */ addiu $a0,$zero,0x1 -.NB0000badc: -/* badc: 11400003 */ beqz $t2,.NB0000baec -/* bae0: 00001025 */ or $v0,$zero,$zero -/* bae4: 10000001 */ beqz $zero,.NB0000baec -/* bae8: 24020001 */ addiu $v0,$zero,0x1 -.NB0000baec: -/* baec: 0044c821 */ addu $t9,$v0,$a0 -/* baf0: 03237821 */ addu $t7,$t9,$v1 -/* baf4: 01e57021 */ addu $t6,$t7,$a1 -/* baf8: 55c1004e */ bnel $t6,$at,.NB0000bc34 -/* bafc: 8d79006c */ lw $t9,0x6c($t3) -/* bb00: afa600a8 */ sw $a2,0xa8($sp) -/* bb04: 0fc53588 */ jal optionsGetScreenSplit -/* bb08: afac001c */ sw $t4,0x1c($sp) -/* bb0c: 3c0b800a */ lui $t3,0x800a -/* bb10: 24010001 */ addiu $at,$zero,0x1 -/* bb14: 256be6c0 */ addiu $t3,$t3,-6464 -/* bb18: 8fa600a8 */ lw $a2,0xa8($sp) -/* bb1c: 10410004 */ beq $v0,$at,.NB0000bb30 -/* bb20: 8fac001c */ lw $t4,0x1c($sp) -/* bb24: 916d04e0 */ lbu $t5,0x4e0($t3) -/* bb28: 51a00042 */ beqzl $t5,.NB0000bc34 -/* bb2c: 8d79006c */ lw $t9,0x6c($t3) -.NB0000bb30: -/* bb30: 8d78006c */ lw $t8,0x6c($t3) -.NB0000bb34: -/* bb34: 8d670068 */ lw $a3,0x68($t3) -/* bb38: 8d680064 */ lw $t0,0x64($t3) -/* bb3c: 13000003 */ beqz $t8,.NB0000bb4c -/* bb40: 8d6a0070 */ lw $t2,0x70($t3) -/* bb44: 10000002 */ beqz $zero,.NB0000bb50 -/* bb48: 24050001 */ addiu $a1,$zero,0x1 -.NB0000bb4c: -/* bb4c: 00002825 */ or $a1,$zero,$zero -.NB0000bb50: -/* bb50: 10e00003 */ beqz $a3,.NB0000bb60 -/* bb54: 24010002 */ addiu $at,$zero,0x2 -/* bb58: 10000002 */ beqz $zero,.NB0000bb64 -/* bb5c: 24040001 */ addiu $a0,$zero,0x1 -.NB0000bb60: -/* bb60: 00002025 */ or $a0,$zero,$zero -.NB0000bb64: -/* bb64: 11000003 */ beqz $t0,.NB0000bb74 -/* bb68: 00001825 */ or $v1,$zero,$zero -/* bb6c: 10000001 */ beqz $zero,.NB0000bb74 -/* bb70: 24030001 */ addiu $v1,$zero,0x1 -.NB0000bb74: -/* bb74: 11400003 */ beqz $t2,.NB0000bb84 -/* bb78: 00001025 */ or $v0,$zero,$zero -/* bb7c: 10000001 */ beqz $zero,.NB0000bb84 -/* bb80: 24020001 */ addiu $v0,$zero,0x1 -.NB0000bb84: -/* bb84: 0043c821 */ addu $t9,$v0,$v1 -/* bb88: 03247821 */ addu $t7,$t9,$a0 -/* bb8c: 01e57021 */ addu $t6,$t7,$a1 -/* bb90: 15c10004 */ bne $t6,$at,.NB0000bba4 -/* bb94: 00c02825 */ or $a1,$a2,$zero -/* bb98: 3c0c800a */ lui $t4,0x800a -/* bb9c: 258ce6c0 */ addiu $t4,$t4,-6464 -/* bba0: afa00080 */ sw $zero,0x80($sp) -.NB0000bba4: -/* bba4: 24c60008 */ addiu $a2,$a2,0x8 -/* bba8: afa600a8 */ sw $a2,0xa8($sp) -/* bbac: afa50064 */ sw $a1,0x64($sp) -/* bbb0: 0c002f7b */ jal viGetHeight -/* bbb4: afac001c */ sw $t4,0x1c($sp) -/* bbb8: 8fac001c */ lw $t4,0x1c($sp) -/* bbbc: 8fa50064 */ lw $a1,0x64($sp) -/* bbc0: 3c01f600 */ lui $at,0xf600 -/* bbc4: 8d830064 */ lw $v1,0x64($t4) -/* bbc8: 8fa600a8 */ lw $a2,0xa8($sp) -/* bbcc: 3c0b800a */ lui $t3,0x800a -/* bbd0: 846d0634 */ lh $t5,0x634($v1) -/* bbd4: 84780630 */ lh $t8,0x630($v1) -/* bbd8: 00c02025 */ or $a0,$a2,$zero -/* bbdc: 256be6c0 */ addiu $t3,$t3,-6464 -/* bbe0: 01b8c821 */ addu $t9,$t5,$t8 -/* bbe4: 332f03ff */ andi $t7,$t9,0x3ff -/* bbe8: 244dffff */ addiu $t5,$v0,-1 -/* bbec: 31b803ff */ andi $t8,$t5,0x3ff -/* bbf0: 0018c880 */ sll $t9,$t8,0x2 -/* bbf4: 000f7380 */ sll $t6,$t7,0xe -/* bbf8: 03217825 */ or $t7,$t9,$at -/* bbfc: 01ee6825 */ or $t5,$t7,$t6 -/* bc00: acad0000 */ sw $t5,0x0($a1) -/* bc04: 8d830064 */ lw $v1,0x64($t4) -/* bc08: 24c60008 */ addiu $a2,$a2,0x8 -/* bc0c: 84780630 */ lh $t8,0x630($v1) -/* bc10: 84790634 */ lh $t9,0x634($v1) -/* bc14: 03197821 */ addu $t7,$t8,$t9 -/* bc18: 31ee03ff */ andi $t6,$t7,0x3ff -/* bc1c: 000e6b80 */ sll $t5,$t6,0xe -/* bc20: acad0004 */ sw $t5,0x4($a1) -/* bc24: 3c18e700 */ lui $t8,0xe700 -/* bc28: ac980000 */ sw $t8,0x0($a0) -/* bc2c: ac800004 */ sw $zero,0x4($a0) -/* bc30: 8d79006c */ lw $t9,0x6c($t3) -.NB0000bc34: -/* bc34: 8d670068 */ lw $a3,0x68($t3) -/* bc38: 8d680064 */ lw $t0,0x64($t3) -/* bc3c: 13200003 */ beqz $t9,.NB0000bc4c -/* bc40: 8d6a0070 */ lw $t2,0x70($t3) -/* bc44: 10000002 */ beqz $zero,.NB0000bc50 -/* bc48: 24050001 */ addiu $a1,$zero,0x1 -.NB0000bc4c: -/* bc4c: 00002825 */ or $a1,$zero,$zero -.NB0000bc50: -/* bc50: 10e00003 */ beqz $a3,.NB0000bc60 -/* bc54: 24010003 */ addiu $at,$zero,0x3 -/* bc58: 10000002 */ beqz $zero,.NB0000bc64 -/* bc5c: 24040001 */ addiu $a0,$zero,0x1 -.NB0000bc60: -/* bc60: 00002025 */ or $a0,$zero,$zero -.NB0000bc64: -/* bc64: 11000003 */ beqz $t0,.NB0000bc74 -/* bc68: 00001825 */ or $v1,$zero,$zero -/* bc6c: 10000001 */ beqz $zero,.NB0000bc74 -/* bc70: 24030001 */ addiu $v1,$zero,0x1 -.NB0000bc74: -/* bc74: 11400003 */ beqz $t2,.NB0000bc84 -/* bc78: 00001025 */ or $v0,$zero,$zero -/* bc7c: 10000001 */ beqz $zero,.NB0000bc84 -/* bc80: 24020001 */ addiu $v0,$zero,0x1 -.NB0000bc84: -/* bc84: 00437821 */ addu $t7,$v0,$v1 -/* bc88: 01e47021 */ addu $t6,$t7,$a0 -/* bc8c: 01c56821 */ addu $t5,$t6,$a1 -/* bc90: 55a10028 */ bnel $t5,$at,.NB0000bd34 -/* bc94: 8fbf0014 */ lw $ra,0x14($sp) -/* bc98: afa6005c */ sw $a2,0x5c($sp) -/* bc9c: 24c60008 */ addiu $a2,$a2,0x8 -/* bca0: afa600a8 */ sw $a2,0xa8($sp) -/* bca4: 0c002f77 */ jal viGetWidth -/* bca8: afac001c */ sw $t4,0x1c($sp) -/* bcac: 0c002f7b */ jal viGetHeight -/* bcb0: a7a20056 */ sh $v0,0x56($sp) -/* bcb4: 87ad0056 */ lh $t5,0x56($sp) -/* bcb8: 2458ffff */ addiu $t8,$v0,-1 -/* bcbc: 331903ff */ andi $t9,$t8,0x3ff -/* bcc0: 00197880 */ sll $t7,$t9,0x2 -/* bcc4: 3c01f600 */ lui $at,0xf600 -/* bcc8: 25b8ffff */ addiu $t8,$t5,-1 -/* bccc: 8fa5005c */ lw $a1,0x5c($sp) -/* bcd0: 331903ff */ andi $t9,$t8,0x3ff -/* bcd4: 01e17025 */ or $t6,$t7,$at -/* bcd8: 8fac001c */ lw $t4,0x1c($sp) -/* bcdc: 00197b80 */ sll $t7,$t9,0xe -/* bce0: 8fa600a8 */ lw $a2,0xa8($sp) -/* bce4: 01cf6825 */ or $t5,$t6,$t7 -/* bce8: acad0000 */ sw $t5,0x0($a1) -/* bcec: 8d830064 */ lw $v1,0x64($t4) -/* bcf0: 00c02025 */ or $a0,$a2,$zero -/* bcf4: 24c60008 */ addiu $a2,$a2,0x8 -/* bcf8: 84780634 */ lh $t8,0x634($v1) -/* bcfc: 84790630 */ lh $t9,0x630($v1) -/* bd00: 03197021 */ addu $t6,$t8,$t9 -/* bd04: 84790636 */ lh $t9,0x636($v1) -/* bd08: 25cf0001 */ addiu $t7,$t6,0x1 -/* bd0c: 31ed03ff */ andi $t5,$t7,0x3ff -/* bd10: 332e03ff */ andi $t6,$t9,0x3ff -/* bd14: 000e7880 */ sll $t7,$t6,0x2 -/* bd18: 000dc380 */ sll $t8,$t5,0xe -/* bd1c: 01f86825 */ or $t5,$t7,$t8 -/* bd20: acad0004 */ sw $t5,0x4($a1) -/* bd24: 3c19e700 */ lui $t9,0xe700 -/* bd28: ac990000 */ sw $t9,0x0($a0) -/* bd2c: ac800004 */ sw $zero,0x4($a0) -.NB0000bd30: -/* bd30: 8fbf0014 */ lw $ra,0x14($sp) -.NB0000bd34: -/* bd34: 27bd00a8 */ addiu $sp,$sp,0xa8 -/* bd38: 00c01025 */ or $v0,$a2,$zero -/* bd3c: 03e00008 */ jr $ra -/* bd40: 00000000 */ sll $zero,$zero,0x0 -); + if (PLAYERCOUNT() == 1 + || ((g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) + && ( + (g_InCutscene && !g_MainIsEndscreen) || menuGetRoot() == MENUROOT_COOPCONTINUE + ) && g_Vars.currentplayernum == 0)) #endif + { + // Single viewport + if (viGetViewTop() > 0) { + // Fill above + gDPFillRectangle(gdl++, 0, 0, viGetWidth() - 1, viGetViewTop() - 1); + gDPPipeSync(gdl++); + } + + if (viGetViewTop() + viGetViewHeight() < viGetHeight()) { + // Fill below + gDPFillRectangle(gdl++, + 0, viGetViewTop() + viGetViewHeight(), + viGetWidth() - 1, viGetHeight() - 1); + gDPPipeSync(gdl++); + } + } else { + if (g_Vars.currentplayerindex == 0) { + s32 topplayernum = 0; + s32 bottomplayernum = 0; + s32 tmpplayernum = 0; + + if (PLAYERCOUNT() == 2) { + bottomplayernum = 1; + tmpplayernum = 1; + } else if (PLAYERCOUNT() >= 3) { + bottomplayernum = 2; + tmpplayernum = 2; + } + + if (g_Vars.players[topplayernum]->viewtop > 0) { + // Fill above all viewports - full width + gDPFillRectangle(gdl++, 0, 0, viGetWidth() - 1, g_Vars.players[topplayernum]->viewtop - 1); + gDPPipeSync(gdl++); + } + + if (g_Vars.players[bottomplayernum]->viewtop + g_Vars.players[bottomplayernum]->viewheight < viGetHeight()) { + // Fill below all viewports - full width + gDPFillRectangle(gdl++, + 0, g_Vars.players[bottomplayernum]->viewtop + g_Vars.players[bottomplayernum]->viewheight, + viGetWidth() - 1, viGetHeight() - 1); + gDPPipeSync(gdl++); + } + + // Horizontal middle line + gDPFillRectangle(gdl++, + 0, g_Vars.players[tmpplayernum]->viewtop - 1, + viGetWidth() - 1, g_Vars.players[tmpplayernum]->viewtop - 1); + gDPPipeSync(gdl++); + + if (PLAYERCOUNT() >= 3 || + (PLAYERCOUNT() == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || g_Vars.fourmeg2player))) { + if (PLAYERCOUNT() == 2) { + tmpplayernum = 0; + } + + // Vertical middle line + gDPFillRectangle(gdl++, + g_Vars.players[tmpplayernum]->viewleft + g_Vars.players[tmpplayernum]->viewwidth, 0, + g_Vars.players[tmpplayernum]->viewleft + g_Vars.players[tmpplayernum]->viewwidth, viGetHeight() - 1); + gDPPipeSync(gdl++); + } + + if (PLAYERCOUNT() == 3) { + // Blank square in P4 spot + gDPFillRectangle(gdl++, + g_Vars.players[tmpplayernum]->viewleft + g_Vars.players[tmpplayernum]->viewwidth + 1, g_Vars.players[tmpplayernum]->viewtop, + viGetWidth() - 1, viGetHeight() - 1); + gDPPipeSync(gdl++); + } + } + } + + return gdl; +} #if VERSION < VERSION_NTSC_1_0 GLOBAL_ASM(