From 3cc230ebfcd159c2ec8e0fc95b19b5731647e13f Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 26 Jul 2022 23:31:38 +1000 Subject: [PATCH] Decompile func0f008558 --- src/game/nbomb.c | 1104 +++------------------------------------------- 1 file changed, 52 insertions(+), 1052 deletions(-) diff --git a/src/game/nbomb.c b/src/game/nbomb.c index 594662df8..13e43db97 100644 --- a/src/game/nbomb.c +++ b/src/game/nbomb.c @@ -39,12 +39,12 @@ u32 var80061648 = 0; vertices[i].z = src.z * var80061644; \ vertices[i].s = src.y * 256.0f * 32.0f; \ vertices[i].t = atan2f(src.x, src.z) / M_TAU * 256.0f * 32.0f; \ - vertices[i].colour = 0; \ + vertices[i].colour = var80061648 * 0; \ \ var80061648 = 1 - var80061648; \ \ if (var8009cb04 && vertices[i].t == 0) { \ - vertices[i].t = var80061648 * 0 + 256 * 32; \ + vertices[i].t = 256 * 32; \ } \ \ vertices[i].t += var8009cb00; @@ -211,1058 +211,58 @@ Gfx *func0f0073ac(Gfx *gdl, struct coord *pos, f32 arg2) return gdl; } -u32 var80061694 = 0x00000000; -u32 var80061698 = 0x00000000; -u32 var8006169c = 0x3f800000; -u32 var800616a0 = 0x3f800000; -u32 var800616a4 = 0x00000000; -u32 var800616a8 = 0x00000000; -u32 var800616ac = 0x00000000; -u32 var800616b0 = 0x00000000; -u32 var800616b4 = 0xbf800000; -u32 var800616b8 = 0xbf800000; -u32 var800616bc = 0x00000000; -u32 var800616c0 = 0x00000000; -u32 var800616c4 = 0x00000000; -u32 var800616c8 = 0x3f800000; -u32 var800616cc = 0x00000000; -u32 var800616d0 = 0x00000000; -u32 var800616d4 = 0xbf800000; -u32 var800616d8 = 0x00000000; +Gfx *func0f008558(Gfx *gdl, s32 depth) +{ + struct gfxvtx *vertices; + struct coord sp5c[] = { + { 0, 0, 1 }, + { 1, 0, 0 }, + { 0, 0, -1 }, + { -1, 0, 0 }, + { 0, 1, 0 }, + { 0, -1, 0 }, + }; -GLOBAL_ASM( -glabel func0f008558 -.late_rodata -glabel var7f1a7eec -.word 0x40c90fdb -glabel var7f1a7ef0 -.word 0x40c90fdb -glabel var7f1a7ef4 -.word 0x40c90fdb -glabel var7f1a7ef8 -.word 0x40c90fdb -glabel var7f1a7efc -.word 0x40c90fdb -glabel var7f1a7f00 -.word 0x40c90fdb -glabel var7f1a7f04 -.word 0x40c90fdb -glabel var7f1a7f08 -.word 0x40c90fdb -glabel var7f1a7f0c -.word 0x40c90fdb -glabel var7f1a7f10 -.word 0x40c90fdb -glabel var7f1a7f14 -.word 0x40c90fdb -glabel var7f1a7f18 -.word 0x40c90fdb -.text -/* f008558: 27bdff58 */ addiu $sp,$sp,-168 -/* f00855c: afb10044 */ sw $s1,0x44($sp) -/* f008560: 3c0f8006 */ lui $t7,%hi(var80061694) -/* f008564: 3c118006 */ lui $s1,%hi(var80061648) -/* f008568: 25ef1694 */ addiu $t7,$t7,%lo(var80061694) -/* f00856c: 26311648 */ addiu $s1,$s1,%lo(var80061648) -/* f008570: afbf004c */ sw $ra,0x4c($sp) -/* f008574: afb20048 */ sw $s2,0x48($sp) -/* f008578: afb00040 */ sw $s0,0x40($sp) -/* f00857c: f7b60038 */ sdc1 $f22,0x38($sp) -/* f008580: f7b40030 */ sdc1 $f20,0x30($sp) -/* f008584: afa400a8 */ sw $a0,0xa8($sp) -/* f008588: afa500ac */ sw $a1,0xac($sp) -/* f00858c: 25e90048 */ addiu $t1,$t7,0x48 -/* f008590: 27ae005c */ addiu $t6,$sp,0x5c -.L0f008594: -/* f008594: 8de10000 */ lw $at,0x0($t7) -/* f008598: 25ef000c */ addiu $t7,$t7,0xc -/* f00859c: 25ce000c */ addiu $t6,$t6,0xc -/* f0085a0: adc1fff4 */ sw $at,-0xc($t6) -/* f0085a4: 8de1fff8 */ lw $at,-0x8($t7) -/* f0085a8: adc1fff8 */ sw $at,-0x8($t6) -/* f0085ac: 8de1fffc */ lw $at,-0x4($t7) -/* f0085b0: 15e9fff8 */ bne $t7,$t1,.L0f008594 -/* f0085b4: adc1fffc */ sw $at,-0x4($t6) -/* f0085b8: ae200000 */ sw $zero,0x0($s1) -/* f0085bc: 3c01800a */ lui $at,%hi(var8009cb04) -/* f0085c0: ac20cb04 */ sw $zero,%lo(var8009cb04)($at) -/* f0085c4: 0fc59e59 */ jal gfxAllocateVertices -/* f0085c8: 24040006 */ addiu $a0,$zero,0x6 -/* f0085cc: 3c128006 */ lui $s2,%hi(var80061644) -/* f0085d0: 26521644 */ addiu $s2,$s2,%lo(var80061644) -/* f0085d4: c6460000 */ lwc1 $f6,0x0($s2) -/* f0085d8: c7a4005c */ lwc1 $f4,0x5c($sp) -/* f0085dc: 3c014380 */ lui $at,0x4380 -/* f0085e0: 4481a000 */ mtc1 $at,$f20 -/* f0085e4: 46062202 */ mul.s $f8,$f4,$f6 -/* f0085e8: 3c014200 */ lui $at,0x4200 -/* f0085ec: 4481b000 */ mtc1 $at,$f22 -/* f0085f0: 00408025 */ or $s0,$v0,$zero -/* f0085f4: 4600428d */ trunc.w.s $f10,$f8 -/* f0085f8: 440b5000 */ mfc1 $t3,$f10 -/* f0085fc: 00000000 */ nop -/* f008600: a44b0000 */ sh $t3,0x0($v0) -/* f008604: c7b00060 */ lwc1 $f16,0x60($sp) -/* f008608: c6520000 */ lwc1 $f18,0x0($s2) -/* f00860c: 46128102 */ mul.s $f4,$f16,$f18 -/* f008610: 4600218d */ trunc.w.s $f6,$f4 -/* f008614: 440d3000 */ mfc1 $t5,$f6 -/* f008618: 00000000 */ nop -/* f00861c: a44d0002 */ sh $t5,0x2($v0) -/* f008620: c7a80064 */ lwc1 $f8,0x64($sp) -/* f008624: c64a0000 */ lwc1 $f10,0x0($s2) -/* f008628: 460a4402 */ mul.s $f16,$f8,$f10 -/* f00862c: 4600848d */ trunc.w.s $f18,$f16 -/* f008630: 44189000 */ mfc1 $t8,$f18 -/* f008634: 00000000 */ nop -/* f008638: a4580004 */ sh $t8,0x4($v0) -/* f00863c: c7a40060 */ lwc1 $f4,0x60($sp) -/* f008640: 46142182 */ mul.s $f6,$f4,$f20 -/* f008644: 00000000 */ nop -/* f008648: 46163202 */ mul.s $f8,$f6,$f22 -/* f00864c: 4600428d */ trunc.w.s $f10,$f8 -/* f008650: 440f5000 */ mfc1 $t7,$f10 -/* f008654: 00000000 */ nop -/* f008658: a44f0008 */ sh $t7,0x8($v0) -/* f00865c: c7ae0064 */ lwc1 $f14,0x64($sp) -/* f008660: 0fc259d4 */ jal atan2f -/* f008664: c7ac005c */ lwc1 $f12,0x5c($sp) -/* f008668: 3c017f1a */ lui $at,%hi(var7f1a7eec) -/* f00866c: c4307eec */ lwc1 $f16,%lo(var7f1a7eec)($at) -/* f008670: a2000007 */ sb $zero,0x7($s0) -/* f008674: 240c0001 */ addiu $t4,$zero,0x1 -/* f008678: 46100483 */ div.s $f18,$f0,$f16 -/* f00867c: 3c19800a */ lui $t9,%hi(var8009cb04) -/* f008680: 3c0e800a */ lui $t6,%hi(var8009cb00) -/* f008684: 46149102 */ mul.s $f4,$f18,$f20 -/* f008688: 00000000 */ nop -/* f00868c: 46162182 */ mul.s $f6,$f4,$f22 -/* f008690: 4600320d */ trunc.w.s $f8,$f6 -/* f008694: 440a4000 */ mfc1 $t2,$f8 -/* f008698: 00000000 */ nop -/* f00869c: a60a000a */ sh $t2,0xa($s0) -/* f0086a0: 8e2b0000 */ lw $t3,0x0($s1) -/* f0086a4: 018b6823 */ subu $t5,$t4,$t3 -/* f0086a8: ae2d0000 */ sw $t5,0x0($s1) -/* f0086ac: 8f39cb04 */ lw $t9,%lo(var8009cb04)($t9) -/* f0086b0: 13200006 */ beqz $t9,.L0f0086cc -/* f0086b4: 00000000 */ nop -/* f0086b8: 8618000a */ lh $t8,0xa($s0) -/* f0086bc: 24092000 */ addiu $t1,$zero,0x2000 -/* f0086c0: 57000003 */ bnezl $t8,.L0f0086d0 -/* f0086c4: 860f000a */ lh $t7,0xa($s0) -/* f0086c8: a609000a */ sh $t1,0xa($s0) -.L0f0086cc: -/* f0086cc: 860f000a */ lh $t7,0xa($s0) -.L0f0086d0: -/* f0086d0: 85cecb00 */ lh $t6,%lo(var8009cb00)($t6) -/* f0086d4: 01ee5021 */ addu $t2,$t7,$t6 -/* f0086d8: a60a000a */ sh $t2,0xa($s0) -/* f0086dc: c7aa0068 */ lwc1 $f10,0x68($sp) -/* f0086e0: c6500000 */ lwc1 $f16,0x0($s2) -/* f0086e4: 46105482 */ mul.s $f18,$f10,$f16 -/* f0086e8: 4600910d */ trunc.w.s $f4,$f18 -/* f0086ec: 440b2000 */ mfc1 $t3,$f4 -/* f0086f0: 00000000 */ nop -/* f0086f4: a60b000c */ sh $t3,0xc($s0) -/* f0086f8: c7a6006c */ lwc1 $f6,0x6c($sp) -/* f0086fc: c6480000 */ lwc1 $f8,0x0($s2) -/* f008700: 46083282 */ mul.s $f10,$f6,$f8 -/* f008704: 4600540d */ trunc.w.s $f16,$f10 -/* f008708: 44198000 */ mfc1 $t9,$f16 -/* f00870c: 00000000 */ nop -/* f008710: a619000e */ sh $t9,0xe($s0) -/* f008714: c7b20070 */ lwc1 $f18,0x70($sp) -/* f008718: c6440000 */ lwc1 $f4,0x0($s2) -/* f00871c: 46049182 */ mul.s $f6,$f18,$f4 -/* f008720: 4600320d */ trunc.w.s $f8,$f6 -/* f008724: 44094000 */ mfc1 $t1,$f8 -/* f008728: 00000000 */ nop -/* f00872c: a6090010 */ sh $t1,0x10($s0) -/* f008730: c7aa006c */ lwc1 $f10,0x6c($sp) -/* f008734: 46145402 */ mul.s $f16,$f10,$f20 -/* f008738: 00000000 */ nop -/* f00873c: 46168482 */ mul.s $f18,$f16,$f22 -/* f008740: 4600910d */ trunc.w.s $f4,$f18 -/* f008744: 440e2000 */ mfc1 $t6,$f4 -/* f008748: 00000000 */ nop -/* f00874c: a60e0014 */ sh $t6,0x14($s0) -/* f008750: c7ae0070 */ lwc1 $f14,0x70($sp) -/* f008754: 0fc259d4 */ jal atan2f -/* f008758: c7ac0068 */ lwc1 $f12,0x68($sp) -/* f00875c: 3c017f1a */ lui $at,%hi(var7f1a7ef0) -/* f008760: c4267ef0 */ lwc1 $f6,%lo(var7f1a7ef0)($at) -/* f008764: a2000013 */ sb $zero,0x13($s0) -/* f008768: 240d0001 */ addiu $t5,$zero,0x1 -/* f00876c: 46060203 */ div.s $f8,$f0,$f6 -/* f008770: 3c18800a */ lui $t8,%hi(var8009cb04) -/* f008774: 3c0a800a */ lui $t2,%hi(var8009cb00) -/* f008778: 46144282 */ mul.s $f10,$f8,$f20 -/* f00877c: 00000000 */ nop -/* f008780: 46165402 */ mul.s $f16,$f10,$f22 -/* f008784: 4600848d */ trunc.w.s $f18,$f16 -/* f008788: 440c9000 */ mfc1 $t4,$f18 -/* f00878c: 00000000 */ nop -/* f008790: a60c0016 */ sh $t4,0x16($s0) -/* f008794: 8e2b0000 */ lw $t3,0x0($s1) -/* f008798: 01abc823 */ subu $t9,$t5,$t3 -/* f00879c: ae390000 */ sw $t9,0x0($s1) -/* f0087a0: 8f18cb04 */ lw $t8,%lo(var8009cb04)($t8) -/* f0087a4: 13000006 */ beqz $t8,.L0f0087c0 -/* f0087a8: 00000000 */ nop -/* f0087ac: 86090016 */ lh $t1,0x16($s0) -/* f0087b0: 240f2000 */ addiu $t7,$zero,0x2000 -/* f0087b4: 55200003 */ bnezl $t1,.L0f0087c4 -/* f0087b8: 860e0016 */ lh $t6,0x16($s0) -/* f0087bc: a60f0016 */ sh $t7,0x16($s0) -.L0f0087c0: -/* f0087c0: 860e0016 */ lh $t6,0x16($s0) -.L0f0087c4: -/* f0087c4: 854acb00 */ lh $t2,%lo(var8009cb00)($t2) -/* f0087c8: 01ca6021 */ addu $t4,$t6,$t2 -/* f0087cc: a60c0016 */ sh $t4,0x16($s0) -/* f0087d0: c7a40074 */ lwc1 $f4,0x74($sp) -/* f0087d4: c6460000 */ lwc1 $f6,0x0($s2) -/* f0087d8: 46062202 */ mul.s $f8,$f4,$f6 -/* f0087dc: 4600428d */ trunc.w.s $f10,$f8 -/* f0087e0: 440b5000 */ mfc1 $t3,$f10 -/* f0087e4: 00000000 */ nop -/* f0087e8: a60b0018 */ sh $t3,0x18($s0) -/* f0087ec: c7b00078 */ lwc1 $f16,0x78($sp) -/* f0087f0: c6520000 */ lwc1 $f18,0x0($s2) -/* f0087f4: 46128102 */ mul.s $f4,$f16,$f18 -/* f0087f8: 4600218d */ trunc.w.s $f6,$f4 -/* f0087fc: 44183000 */ mfc1 $t8,$f6 -/* f008800: 00000000 */ nop -/* f008804: a618001a */ sh $t8,0x1a($s0) -/* f008808: c7a8007c */ lwc1 $f8,0x7c($sp) -/* f00880c: c64a0000 */ lwc1 $f10,0x0($s2) -/* f008810: 460a4402 */ mul.s $f16,$f8,$f10 -/* f008814: 4600848d */ trunc.w.s $f18,$f16 -/* f008818: 440f9000 */ mfc1 $t7,$f18 -/* f00881c: 00000000 */ nop -/* f008820: a60f001c */ sh $t7,0x1c($s0) -/* f008824: c7a40078 */ lwc1 $f4,0x78($sp) -/* f008828: 46142182 */ mul.s $f6,$f4,$f20 -/* f00882c: 00000000 */ nop -/* f008830: 46163202 */ mul.s $f8,$f6,$f22 -/* f008834: 4600428d */ trunc.w.s $f10,$f8 -/* f008838: 440a5000 */ mfc1 $t2,$f10 -/* f00883c: 00000000 */ nop -/* f008840: a60a0020 */ sh $t2,0x20($s0) -/* f008844: c7ae007c */ lwc1 $f14,0x7c($sp) -/* f008848: 0fc259d4 */ jal atan2f -/* f00884c: c7ac0074 */ lwc1 $f12,0x74($sp) -/* f008850: 3c017f1a */ lui $at,%hi(var7f1a7ef4) -/* f008854: c4307ef4 */ lwc1 $f16,%lo(var7f1a7ef4)($at) -/* f008858: a200001f */ sb $zero,0x1f($s0) -/* f00885c: 24190001 */ addiu $t9,$zero,0x1 -/* f008860: 46100483 */ div.s $f18,$f0,$f16 -/* f008864: 3c09800a */ lui $t1,%hi(var8009cb04) -/* f008868: 3c0c800a */ lui $t4,%hi(var8009cb00) -/* f00886c: 46149102 */ mul.s $f4,$f18,$f20 -/* f008870: 00000000 */ nop -/* f008874: 46162182 */ mul.s $f6,$f4,$f22 -/* f008878: 4600320d */ trunc.w.s $f8,$f6 -/* f00887c: 440d4000 */ mfc1 $t5,$f8 -/* f008880: 00000000 */ nop -/* f008884: a60d0022 */ sh $t5,0x22($s0) -/* f008888: 8e2b0000 */ lw $t3,0x0($s1) -/* f00888c: 032bc023 */ subu $t8,$t9,$t3 -/* f008890: ae380000 */ sw $t8,0x0($s1) -/* f008894: 8d29cb04 */ lw $t1,%lo(var8009cb04)($t1) -/* f008898: 11200006 */ beqz $t1,.L0f0088b4 -/* f00889c: 00000000 */ nop -/* f0088a0: 860f0022 */ lh $t7,0x22($s0) -/* f0088a4: 240e2000 */ addiu $t6,$zero,0x2000 -/* f0088a8: 55e00003 */ bnezl $t7,.L0f0088b8 -/* f0088ac: 860a0022 */ lh $t2,0x22($s0) -/* f0088b0: a60e0022 */ sh $t6,0x22($s0) -.L0f0088b4: -/* f0088b4: 860a0022 */ lh $t2,0x22($s0) -.L0f0088b8: -/* f0088b8: 858ccb00 */ lh $t4,%lo(var8009cb00)($t4) -/* f0088bc: 014c6821 */ addu $t5,$t2,$t4 -/* f0088c0: a60d0022 */ sh $t5,0x22($s0) -/* f0088c4: c7aa0080 */ lwc1 $f10,0x80($sp) -/* f0088c8: c6500000 */ lwc1 $f16,0x0($s2) -/* f0088cc: 46105482 */ mul.s $f18,$f10,$f16 -/* f0088d0: 4600910d */ trunc.w.s $f4,$f18 -/* f0088d4: 440b2000 */ mfc1 $t3,$f4 -/* f0088d8: 00000000 */ nop -/* f0088dc: a60b0024 */ sh $t3,0x24($s0) -/* f0088e0: c7a60084 */ lwc1 $f6,0x84($sp) -/* f0088e4: c6480000 */ lwc1 $f8,0x0($s2) -/* f0088e8: 46083282 */ mul.s $f10,$f6,$f8 -/* f0088ec: 4600540d */ trunc.w.s $f16,$f10 -/* f0088f0: 44098000 */ mfc1 $t1,$f16 -/* f0088f4: 00000000 */ nop -/* f0088f8: a6090026 */ sh $t1,0x26($s0) -/* f0088fc: c7b20088 */ lwc1 $f18,0x88($sp) -/* f008900: c6440000 */ lwc1 $f4,0x0($s2) -/* f008904: 46049182 */ mul.s $f6,$f18,$f4 -/* f008908: 4600320d */ trunc.w.s $f8,$f6 -/* f00890c: 440e4000 */ mfc1 $t6,$f8 -/* f008910: 00000000 */ nop -/* f008914: a60e0028 */ sh $t6,0x28($s0) -/* f008918: c7aa0084 */ lwc1 $f10,0x84($sp) -/* f00891c: 46145402 */ mul.s $f16,$f10,$f20 -/* f008920: 00000000 */ nop -/* f008924: 46168482 */ mul.s $f18,$f16,$f22 -/* f008928: 4600910d */ trunc.w.s $f4,$f18 -/* f00892c: 440c2000 */ mfc1 $t4,$f4 -/* f008930: 00000000 */ nop -/* f008934: a60c002c */ sh $t4,0x2c($s0) -/* f008938: c7ae0088 */ lwc1 $f14,0x88($sp) -/* f00893c: 0fc259d4 */ jal atan2f -/* f008940: c7ac0080 */ lwc1 $f12,0x80($sp) -/* f008944: 3c017f1a */ lui $at,%hi(var7f1a7ef8) -/* f008948: c4267ef8 */ lwc1 $f6,%lo(var7f1a7ef8)($at) -/* f00894c: a200002b */ sb $zero,0x2b($s0) -/* f008950: 24180001 */ addiu $t8,$zero,0x1 -/* f008954: 46060203 */ div.s $f8,$f0,$f6 -/* f008958: 3c0f800a */ lui $t7,%hi(var8009cb04) -/* f00895c: 3c0d800a */ lui $t5,%hi(var8009cb00) -/* f008960: 46144282 */ mul.s $f10,$f8,$f20 -/* f008964: 00000000 */ nop -/* f008968: 46165402 */ mul.s $f16,$f10,$f22 -/* f00896c: 4600848d */ trunc.w.s $f18,$f16 -/* f008970: 44199000 */ mfc1 $t9,$f18 -/* f008974: 00000000 */ nop -/* f008978: a619002e */ sh $t9,0x2e($s0) -/* f00897c: 8e2b0000 */ lw $t3,0x0($s1) -/* f008980: 030b4823 */ subu $t1,$t8,$t3 -/* f008984: ae290000 */ sw $t1,0x0($s1) -/* f008988: 8defcb04 */ lw $t7,%lo(var8009cb04)($t7) -/* f00898c: 11e00006 */ beqz $t7,.L0f0089a8 -/* f008990: 00000000 */ nop -/* f008994: 860e002e */ lh $t6,0x2e($s0) -/* f008998: 240a2000 */ addiu $t2,$zero,0x2000 -/* f00899c: 55c00003 */ bnezl $t6,.L0f0089ac -/* f0089a0: 860c002e */ lh $t4,0x2e($s0) -/* f0089a4: a60a002e */ sh $t2,0x2e($s0) -.L0f0089a8: -/* f0089a8: 860c002e */ lh $t4,0x2e($s0) -.L0f0089ac: -/* f0089ac: 85adcb00 */ lh $t5,%lo(var8009cb00)($t5) -/* f0089b0: 018dc821 */ addu $t9,$t4,$t5 -/* f0089b4: a619002e */ sh $t9,0x2e($s0) -/* f0089b8: c7a4008c */ lwc1 $f4,0x8c($sp) -/* f0089bc: c6460000 */ lwc1 $f6,0x0($s2) -/* f0089c0: 46062202 */ mul.s $f8,$f4,$f6 -/* f0089c4: 4600428d */ trunc.w.s $f10,$f8 -/* f0089c8: 440b5000 */ mfc1 $t3,$f10 -/* f0089cc: 00000000 */ nop -/* f0089d0: a60b0030 */ sh $t3,0x30($s0) -/* f0089d4: c7b00090 */ lwc1 $f16,0x90($sp) -/* f0089d8: c6520000 */ lwc1 $f18,0x0($s2) -/* f0089dc: 46128102 */ mul.s $f4,$f16,$f18 -/* f0089e0: 4600218d */ trunc.w.s $f6,$f4 -/* f0089e4: 440f3000 */ mfc1 $t7,$f6 -/* f0089e8: 00000000 */ nop -/* f0089ec: a60f0032 */ sh $t7,0x32($s0) -/* f0089f0: c7a80094 */ lwc1 $f8,0x94($sp) -/* f0089f4: c64a0000 */ lwc1 $f10,0x0($s2) -/* f0089f8: 460a4402 */ mul.s $f16,$f8,$f10 -/* f0089fc: 4600848d */ trunc.w.s $f18,$f16 -/* f008a00: 440a9000 */ mfc1 $t2,$f18 -/* f008a04: 00000000 */ nop -/* f008a08: a60a0034 */ sh $t2,0x34($s0) -/* f008a0c: c7a40090 */ lwc1 $f4,0x90($sp) -/* f008a10: 46142182 */ mul.s $f6,$f4,$f20 -/* f008a14: 00000000 */ nop -/* f008a18: 46163202 */ mul.s $f8,$f6,$f22 -/* f008a1c: 4600428d */ trunc.w.s $f10,$f8 -/* f008a20: 440d5000 */ mfc1 $t5,$f10 -/* f008a24: 00000000 */ nop -/* f008a28: a60d0038 */ sh $t5,0x38($s0) -/* f008a2c: c7ae0094 */ lwc1 $f14,0x94($sp) -/* f008a30: 0fc259d4 */ jal atan2f -/* f008a34: c7ac008c */ lwc1 $f12,0x8c($sp) -/* f008a38: 3c017f1a */ lui $at,%hi(var7f1a7efc) -/* f008a3c: c4307efc */ lwc1 $f16,%lo(var7f1a7efc)($at) -/* f008a40: a2000037 */ sb $zero,0x37($s0) -/* f008a44: 24090001 */ addiu $t1,$zero,0x1 -/* f008a48: 46100483 */ div.s $f18,$f0,$f16 -/* f008a4c: 3c0e800a */ lui $t6,%hi(var8009cb04) -/* f008a50: 3c19800a */ lui $t9,%hi(var8009cb00) -/* f008a54: 46149102 */ mul.s $f4,$f18,$f20 -/* f008a58: 00000000 */ nop -/* f008a5c: 46162182 */ mul.s $f6,$f4,$f22 -/* f008a60: 4600320d */ trunc.w.s $f8,$f6 -/* f008a64: 44184000 */ mfc1 $t8,$f8 -/* f008a68: 00000000 */ nop -/* f008a6c: a618003a */ sh $t8,0x3a($s0) -/* f008a70: 8e2b0000 */ lw $t3,0x0($s1) -/* f008a74: 012b7823 */ subu $t7,$t1,$t3 -/* f008a78: ae2f0000 */ sw $t7,0x0($s1) -/* f008a7c: 8dcecb04 */ lw $t6,%lo(var8009cb04)($t6) -/* f008a80: 11c00006 */ beqz $t6,.L0f008a9c -/* f008a84: 00000000 */ nop -/* f008a88: 860a003a */ lh $t2,0x3a($s0) -/* f008a8c: 240c2000 */ addiu $t4,$zero,0x2000 -/* f008a90: 55400003 */ bnezl $t2,.L0f008aa0 -/* f008a94: 860d003a */ lh $t5,0x3a($s0) -/* f008a98: a60c003a */ sh $t4,0x3a($s0) -.L0f008a9c: -/* f008a9c: 860d003a */ lh $t5,0x3a($s0) -.L0f008aa0: -/* f008aa0: 8739cb00 */ lh $t9,%lo(var8009cb00)($t9) -/* f008aa4: 01b9c021 */ addu $t8,$t5,$t9 -/* f008aa8: a618003a */ sh $t8,0x3a($s0) -/* f008aac: c7aa0098 */ lwc1 $f10,0x98($sp) -/* f008ab0: c6500000 */ lwc1 $f16,0x0($s2) -/* f008ab4: 46105482 */ mul.s $f18,$f10,$f16 -/* f008ab8: 4600910d */ trunc.w.s $f4,$f18 -/* f008abc: 440b2000 */ mfc1 $t3,$f4 -/* f008ac0: 00000000 */ nop -/* f008ac4: a60b003c */ sh $t3,0x3c($s0) -/* f008ac8: c7a6009c */ lwc1 $f6,0x9c($sp) -/* f008acc: c6480000 */ lwc1 $f8,0x0($s2) -/* f008ad0: 46083282 */ mul.s $f10,$f6,$f8 -/* f008ad4: 4600540d */ trunc.w.s $f16,$f10 -/* f008ad8: 440e8000 */ mfc1 $t6,$f16 -/* f008adc: 00000000 */ nop -/* f008ae0: a60e003e */ sh $t6,0x3e($s0) -/* f008ae4: c7b200a0 */ lwc1 $f18,0xa0($sp) -/* f008ae8: c6440000 */ lwc1 $f4,0x0($s2) -/* f008aec: 46049182 */ mul.s $f6,$f18,$f4 -/* f008af0: 4600320d */ trunc.w.s $f8,$f6 -/* f008af4: 440c4000 */ mfc1 $t4,$f8 -/* f008af8: 00000000 */ nop -/* f008afc: a60c0040 */ sh $t4,0x40($s0) -/* f008b00: c7aa009c */ lwc1 $f10,0x9c($sp) -/* f008b04: 46145402 */ mul.s $f16,$f10,$f20 -/* f008b08: 00000000 */ nop -/* f008b0c: 46168482 */ mul.s $f18,$f16,$f22 -/* f008b10: 4600910d */ trunc.w.s $f4,$f18 -/* f008b14: 44192000 */ mfc1 $t9,$f4 -/* f008b18: 00000000 */ nop -/* f008b1c: a6190044 */ sh $t9,0x44($s0) -/* f008b20: c7ae00a0 */ lwc1 $f14,0xa0($sp) -/* f008b24: 0fc259d4 */ jal atan2f -/* f008b28: c7ac0098 */ lwc1 $f12,0x98($sp) -/* f008b2c: 3c017f1a */ lui $at,%hi(var7f1a7f00) -/* f008b30: c4267f00 */ lwc1 $f6,%lo(var7f1a7f00)($at) -/* f008b34: a2000043 */ sb $zero,0x43($s0) -/* f008b38: 240f0001 */ addiu $t7,$zero,0x1 -/* f008b3c: 46060203 */ div.s $f8,$f0,$f6 -/* f008b40: 3c0a800a */ lui $t2,%hi(var8009cb04) -/* f008b44: 3c18800a */ lui $t8,%hi(var8009cb00) -/* f008b48: 02002025 */ or $a0,$s0,$zero -/* f008b4c: 46144282 */ mul.s $f10,$f8,$f20 -/* f008b50: 00000000 */ nop -/* f008b54: 46165402 */ mul.s $f16,$f10,$f22 -/* f008b58: 4600848d */ trunc.w.s $f18,$f16 -/* f008b5c: 44099000 */ mfc1 $t1,$f18 -/* f008b60: 00000000 */ nop -/* f008b64: a6090046 */ sh $t1,0x46($s0) -/* f008b68: 8e2b0000 */ lw $t3,0x0($s1) -/* f008b6c: 01eb7023 */ subu $t6,$t7,$t3 -/* f008b70: ae2e0000 */ sw $t6,0x0($s1) -/* f008b74: 8d4acb04 */ lw $t2,%lo(var8009cb04)($t2) -/* f008b78: 3c0f0450 */ lui $t7,0x450 -/* f008b7c: 35ef0048 */ ori $t7,$t7,0x48 -/* f008b80: 11400006 */ beqz $t2,.L0f008b9c -/* f008b84: 00000000 */ nop -/* f008b88: 860c0046 */ lh $t4,0x46($s0) -/* f008b8c: 240d2000 */ addiu $t5,$zero,0x2000 -/* f008b90: 55800003 */ bnezl $t4,.L0f008ba0 -/* f008b94: 8fa200a8 */ lw $v0,0xa8($sp) -/* f008b98: a60d0046 */ sh $t5,0x46($s0) -.L0f008b9c: -/* f008b9c: 8fa200a8 */ lw $v0,0xa8($sp) -.L0f008ba0: -/* f008ba0: 86190046 */ lh $t9,0x46($s0) -/* f008ba4: 8718cb00 */ lh $t8,%lo(var8009cb00)($t8) -/* f008ba8: 00401825 */ or $v1,$v0,$zero -/* f008bac: 24420008 */ addiu $v0,$v0,0x8 -/* f008bb0: 03384821 */ addu $t1,$t9,$t8 -/* f008bb4: a6090046 */ sh $t1,0x46($s0) -/* f008bb8: ac6f0000 */ sw $t7,0x0($v1) -/* f008bbc: afa30058 */ sw $v1,0x58($sp) -/* f008bc0: 0c012d20 */ jal osVirtualToPhysical -/* f008bc4: afa200a8 */ sw $v0,0xa8($sp) -/* f008bc8: 8fa30058 */ lw $v1,0x58($sp) -/* f008bcc: 27b00068 */ addiu $s0,$sp,0x68 -/* f008bd0: 240b0004 */ addiu $t3,$zero,0x4 -/* f008bd4: ac620004 */ sw $v0,0x4($v1) -/* f008bd8: 83a800af */ lb $t0,0xaf($sp) -/* f008bdc: 240e0001 */ addiu $t6,$zero,0x1 -/* f008be0: 240a0006 */ addiu $t2,$zero,0x6 -/* f008be4: afaa001c */ sw $t2,0x1c($sp) -/* f008be8: afae0018 */ sw $t6,0x18($sp) -/* f008bec: afab0014 */ sw $t3,0x14($sp) -/* f008bf0: afa00010 */ sw $zero,0x10($sp) -/* f008bf4: 8fa400a8 */ lw $a0,0xa8($sp) -/* f008bf8: 02003825 */ or $a3,$s0,$zero -/* f008bfc: 27a5005c */ addiu $a1,$sp,0x5c -/* f008c00: 27a6008c */ addiu $a2,$sp,0x8c -/* f008c04: afa80020 */ sw $t0,0x20($sp) -/* f008c08: 0fc01b20 */ jal func0f006c80 -/* f008c0c: afa80050 */ sw $t0,0x50($sp) -/* f008c10: 8fa90050 */ lw $t1,0x50($sp) -/* f008c14: 240c0001 */ addiu $t4,$zero,0x1 -/* f008c18: 240d0004 */ addiu $t5,$zero,0x4 -/* f008c1c: 24190002 */ addiu $t9,$zero,0x2 -/* f008c20: 24180006 */ addiu $t8,$zero,0x6 -/* f008c24: afb8001c */ sw $t8,0x1c($sp) -/* f008c28: afb90018 */ sw $t9,0x18($sp) -/* f008c2c: afad0014 */ sw $t5,0x14($sp) -/* f008c30: afac0010 */ sw $t4,0x10($sp) -/* f008c34: 00402025 */ or $a0,$v0,$zero -/* f008c38: 02002825 */ or $a1,$s0,$zero -/* f008c3c: 27a6008c */ addiu $a2,$sp,0x8c -/* f008c40: 27a70074 */ addiu $a3,$sp,0x74 -/* f008c44: 0fc01b20 */ jal func0f006c80 -/* f008c48: afa90020 */ sw $t1,0x20($sp) -/* f008c4c: 8faa0050 */ lw $t2,0x50($sp) -/* f008c50: 240f0001 */ addiu $t7,$zero,0x1 -/* f008c54: 240b0005 */ addiu $t3,$zero,0x5 -/* f008c58: 240e0006 */ addiu $t6,$zero,0x6 -/* f008c5c: afae001c */ sw $t6,0x1c($sp) -/* f008c60: afab0014 */ sw $t3,0x14($sp) -/* f008c64: afaf0010 */ sw $t7,0x10($sp) -/* f008c68: 00402025 */ or $a0,$v0,$zero -/* f008c6c: 02002825 */ or $a1,$s0,$zero -/* f008c70: 27a60098 */ addiu $a2,$sp,0x98 -/* f008c74: 27a7005c */ addiu $a3,$sp,0x5c -/* f008c78: afa00018 */ sw $zero,0x18($sp) -/* f008c7c: 0fc01b20 */ jal func0f006c80 -/* f008c80: afaa0020 */ sw $t2,0x20($sp) -/* f008c84: 8fa90050 */ lw $t1,0x50($sp) -/* f008c88: 240c0002 */ addiu $t4,$zero,0x2 -/* f008c8c: 240d0005 */ addiu $t5,$zero,0x5 -/* f008c90: 24190001 */ addiu $t9,$zero,0x1 -/* f008c94: 24180006 */ addiu $t8,$zero,0x6 -/* f008c98: afb8001c */ sw $t8,0x1c($sp) -/* f008c9c: afb90018 */ sw $t9,0x18($sp) -/* f008ca0: afad0014 */ sw $t5,0x14($sp) -/* f008ca4: afac0010 */ sw $t4,0x10($sp) -/* f008ca8: 00402025 */ or $a0,$v0,$zero -/* f008cac: 27a50074 */ addiu $a1,$sp,0x74 -/* f008cb0: 27a60098 */ addiu $a2,$sp,0x98 -/* f008cb4: 02003825 */ or $a3,$s0,$zero -/* f008cb8: 0fc01b20 */ jal func0f006c80 -/* f008cbc: afa90020 */ sw $t1,0x20($sp) -/* f008cc0: 240f0001 */ addiu $t7,$zero,0x1 -/* f008cc4: 3c01800a */ lui $at,%hi(var8009cb04) -/* f008cc8: afa200a8 */ sw $v0,0xa8($sp) -/* f008ccc: ac2fcb04 */ sw $t7,%lo(var8009cb04)($at) -/* f008cd0: 0fc59e59 */ jal gfxAllocateVertices -/* f008cd4: 24040006 */ addiu $a0,$zero,0x6 -/* f008cd8: c7a4005c */ lwc1 $f4,0x5c($sp) -/* f008cdc: c6460000 */ lwc1 $f6,0x0($s2) -/* f008ce0: 00408025 */ or $s0,$v0,$zero -/* f008ce4: 46062202 */ mul.s $f8,$f4,$f6 -/* f008ce8: 4600428d */ trunc.w.s $f10,$f8 -/* f008cec: 440e5000 */ mfc1 $t6,$f10 -/* f008cf0: 00000000 */ nop -/* f008cf4: a44e0000 */ sh $t6,0x0($v0) -/* f008cf8: c7b00060 */ lwc1 $f16,0x60($sp) -/* f008cfc: c6520000 */ lwc1 $f18,0x0($s2) -/* f008d00: 46128102 */ mul.s $f4,$f16,$f18 -/* f008d04: 4600218d */ trunc.w.s $f6,$f4 -/* f008d08: 440c3000 */ mfc1 $t4,$f6 -/* f008d0c: 00000000 */ nop -/* f008d10: a44c0002 */ sh $t4,0x2($v0) -/* f008d14: c7a80064 */ lwc1 $f8,0x64($sp) -/* f008d18: c64a0000 */ lwc1 $f10,0x0($s2) -/* f008d1c: 460a4402 */ mul.s $f16,$f8,$f10 -/* f008d20: 4600848d */ trunc.w.s $f18,$f16 -/* f008d24: 44199000 */ mfc1 $t9,$f18 -/* f008d28: 00000000 */ nop -/* f008d2c: a4590004 */ sh $t9,0x4($v0) -/* f008d30: c7a40060 */ lwc1 $f4,0x60($sp) -/* f008d34: 46142182 */ mul.s $f6,$f4,$f20 -/* f008d38: 00000000 */ nop -/* f008d3c: 46163202 */ mul.s $f8,$f6,$f22 -/* f008d40: 4600428d */ trunc.w.s $f10,$f8 -/* f008d44: 44095000 */ mfc1 $t1,$f10 -/* f008d48: 00000000 */ nop -/* f008d4c: a4490008 */ sh $t1,0x8($v0) -/* f008d50: c7ae0064 */ lwc1 $f14,0x64($sp) -/* f008d54: 0fc259d4 */ jal atan2f -/* f008d58: c7ac005c */ lwc1 $f12,0x5c($sp) -/* f008d5c: 3c017f1a */ lui $at,%hi(var7f1a7f04) -/* f008d60: c4307f04 */ lwc1 $f16,%lo(var7f1a7f04)($at) -/* f008d64: a2000007 */ sb $zero,0x7($s0) -/* f008d68: 240a0001 */ addiu $t2,$zero,0x1 -/* f008d6c: 46100483 */ div.s $f18,$f0,$f16 -/* f008d70: 3c0d800a */ lui $t5,%hi(var8009cb04) -/* f008d74: 3c0f800a */ lui $t7,%hi(var8009cb00) -/* f008d78: 46149102 */ mul.s $f4,$f18,$f20 -/* f008d7c: 00000000 */ nop -/* f008d80: 46162182 */ mul.s $f6,$f4,$f22 -/* f008d84: 4600320d */ trunc.w.s $f8,$f6 -/* f008d88: 440b4000 */ mfc1 $t3,$f8 -/* f008d8c: 00000000 */ nop -/* f008d90: a60b000a */ sh $t3,0xa($s0) -/* f008d94: 8e2e0000 */ lw $t6,0x0($s1) -/* f008d98: 014e6023 */ subu $t4,$t2,$t6 -/* f008d9c: ae2c0000 */ sw $t4,0x0($s1) -/* f008da0: 8dadcb04 */ lw $t5,%lo(var8009cb04)($t5) -/* f008da4: 11a00006 */ beqz $t5,.L0f008dc0 -/* f008da8: 00000000 */ nop -/* f008dac: 8619000a */ lh $t9,0xa($s0) -/* f008db0: 24182000 */ addiu $t8,$zero,0x2000 -/* f008db4: 57200003 */ bnezl $t9,.L0f008dc4 -/* f008db8: 8609000a */ lh $t1,0xa($s0) -/* f008dbc: a618000a */ sh $t8,0xa($s0) -.L0f008dc0: -/* f008dc0: 8609000a */ lh $t1,0xa($s0) -.L0f008dc4: -/* f008dc4: 85efcb00 */ lh $t7,%lo(var8009cb00)($t7) -/* f008dc8: 012f5821 */ addu $t3,$t1,$t7 -/* f008dcc: a60b000a */ sh $t3,0xa($s0) -/* f008dd0: c7aa0068 */ lwc1 $f10,0x68($sp) -/* f008dd4: c6500000 */ lwc1 $f16,0x0($s2) -/* f008dd8: 46105482 */ mul.s $f18,$f10,$f16 -/* f008ddc: 4600910d */ trunc.w.s $f4,$f18 -/* f008de0: 440e2000 */ mfc1 $t6,$f4 -/* f008de4: 00000000 */ nop -/* f008de8: a60e000c */ sh $t6,0xc($s0) -/* f008dec: c7a6006c */ lwc1 $f6,0x6c($sp) -/* f008df0: c6480000 */ lwc1 $f8,0x0($s2) -/* f008df4: 46083282 */ mul.s $f10,$f6,$f8 -/* f008df8: 4600540d */ trunc.w.s $f16,$f10 -/* f008dfc: 440d8000 */ mfc1 $t5,$f16 -/* f008e00: 00000000 */ nop -/* f008e04: a60d000e */ sh $t5,0xe($s0) -/* f008e08: c7b20070 */ lwc1 $f18,0x70($sp) -/* f008e0c: c6440000 */ lwc1 $f4,0x0($s2) -/* f008e10: 46049182 */ mul.s $f6,$f18,$f4 -/* f008e14: 4600320d */ trunc.w.s $f8,$f6 -/* f008e18: 44184000 */ mfc1 $t8,$f8 -/* f008e1c: 00000000 */ nop -/* f008e20: a6180010 */ sh $t8,0x10($s0) -/* f008e24: c7aa006c */ lwc1 $f10,0x6c($sp) -/* f008e28: 46145402 */ mul.s $f16,$f10,$f20 -/* f008e2c: 00000000 */ nop -/* f008e30: 46168482 */ mul.s $f18,$f16,$f22 -/* f008e34: 4600910d */ trunc.w.s $f4,$f18 -/* f008e38: 440f2000 */ mfc1 $t7,$f4 -/* f008e3c: 00000000 */ nop -/* f008e40: a60f0014 */ sh $t7,0x14($s0) -/* f008e44: c7ae0070 */ lwc1 $f14,0x70($sp) -/* f008e48: 0fc259d4 */ jal atan2f -/* f008e4c: c7ac0068 */ lwc1 $f12,0x68($sp) -/* f008e50: 3c017f1a */ lui $at,%hi(var7f1a7f08) -/* f008e54: c4267f08 */ lwc1 $f6,%lo(var7f1a7f08)($at) -/* f008e58: a2000013 */ sb $zero,0x13($s0) -/* f008e5c: 240c0001 */ addiu $t4,$zero,0x1 -/* f008e60: 46060203 */ div.s $f8,$f0,$f6 -/* f008e64: 3c19800a */ lui $t9,%hi(var8009cb04) -/* f008e68: 3c0b800a */ lui $t3,%hi(var8009cb00) -/* f008e6c: 46144282 */ mul.s $f10,$f8,$f20 -/* f008e70: 00000000 */ nop -/* f008e74: 46165402 */ mul.s $f16,$f10,$f22 -/* f008e78: 4600848d */ trunc.w.s $f18,$f16 -/* f008e7c: 440a9000 */ mfc1 $t2,$f18 -/* f008e80: 00000000 */ nop -/* f008e84: a60a0016 */ sh $t2,0x16($s0) -/* f008e88: 8e2e0000 */ lw $t6,0x0($s1) -/* f008e8c: 018e6823 */ subu $t5,$t4,$t6 -/* f008e90: ae2d0000 */ sw $t5,0x0($s1) -/* f008e94: 8f39cb04 */ lw $t9,%lo(var8009cb04)($t9) -/* f008e98: 13200006 */ beqz $t9,.L0f008eb4 -/* f008e9c: 00000000 */ nop -/* f008ea0: 86180016 */ lh $t8,0x16($s0) -/* f008ea4: 24092000 */ addiu $t1,$zero,0x2000 -/* f008ea8: 57000003 */ bnezl $t8,.L0f008eb8 -/* f008eac: 860f0016 */ lh $t7,0x16($s0) -/* f008eb0: a6090016 */ sh $t1,0x16($s0) -.L0f008eb4: -/* f008eb4: 860f0016 */ lh $t7,0x16($s0) -.L0f008eb8: -/* f008eb8: 856bcb00 */ lh $t3,%lo(var8009cb00)($t3) -/* f008ebc: 01eb5021 */ addu $t2,$t7,$t3 -/* f008ec0: a60a0016 */ sh $t2,0x16($s0) -/* f008ec4: c7a40074 */ lwc1 $f4,0x74($sp) -/* f008ec8: c6460000 */ lwc1 $f6,0x0($s2) -/* f008ecc: 46062202 */ mul.s $f8,$f4,$f6 -/* f008ed0: 4600428d */ trunc.w.s $f10,$f8 -/* f008ed4: 440e5000 */ mfc1 $t6,$f10 -/* f008ed8: 00000000 */ nop -/* f008edc: a60e0018 */ sh $t6,0x18($s0) -/* f008ee0: c7b00078 */ lwc1 $f16,0x78($sp) -/* f008ee4: c6520000 */ lwc1 $f18,0x0($s2) -/* f008ee8: 46128102 */ mul.s $f4,$f16,$f18 -/* f008eec: 4600218d */ trunc.w.s $f6,$f4 -/* f008ef0: 44193000 */ mfc1 $t9,$f6 -/* f008ef4: 00000000 */ nop -/* f008ef8: a619001a */ sh $t9,0x1a($s0) -/* f008efc: c7a8007c */ lwc1 $f8,0x7c($sp) -/* f008f00: c64a0000 */ lwc1 $f10,0x0($s2) -/* f008f04: 460a4402 */ mul.s $f16,$f8,$f10 -/* f008f08: 4600848d */ trunc.w.s $f18,$f16 -/* f008f0c: 44099000 */ mfc1 $t1,$f18 -/* f008f10: 00000000 */ nop -/* f008f14: a609001c */ sh $t1,0x1c($s0) -/* f008f18: c7a40078 */ lwc1 $f4,0x78($sp) -/* f008f1c: 46142182 */ mul.s $f6,$f4,$f20 -/* f008f20: 00000000 */ nop -/* f008f24: 46163202 */ mul.s $f8,$f6,$f22 -/* f008f28: 4600428d */ trunc.w.s $f10,$f8 -/* f008f2c: 440b5000 */ mfc1 $t3,$f10 -/* f008f30: 00000000 */ nop -/* f008f34: a60b0020 */ sh $t3,0x20($s0) -/* f008f38: c7ae007c */ lwc1 $f14,0x7c($sp) -/* f008f3c: 0fc259d4 */ jal atan2f -/* f008f40: c7ac0074 */ lwc1 $f12,0x74($sp) -/* f008f44: 3c017f1a */ lui $at,%hi(var7f1a7f0c) -/* f008f48: c4307f0c */ lwc1 $f16,%lo(var7f1a7f0c)($at) -/* f008f4c: a200001f */ sb $zero,0x1f($s0) -/* f008f50: 240d0001 */ addiu $t5,$zero,0x1 -/* f008f54: 46100483 */ div.s $f18,$f0,$f16 -/* f008f58: 3c18800a */ lui $t8,%hi(var8009cb04) -/* f008f5c: 3c0a800a */ lui $t2,%hi(var8009cb00) -/* f008f60: 46149102 */ mul.s $f4,$f18,$f20 -/* f008f64: 00000000 */ nop -/* f008f68: 46162182 */ mul.s $f6,$f4,$f22 -/* f008f6c: 4600320d */ trunc.w.s $f8,$f6 -/* f008f70: 440c4000 */ mfc1 $t4,$f8 -/* f008f74: 00000000 */ nop -/* f008f78: a60c0022 */ sh $t4,0x22($s0) -/* f008f7c: 8e2e0000 */ lw $t6,0x0($s1) -/* f008f80: 01aec823 */ subu $t9,$t5,$t6 -/* f008f84: ae390000 */ sw $t9,0x0($s1) -/* f008f88: 8f18cb04 */ lw $t8,%lo(var8009cb04)($t8) -/* f008f8c: 13000006 */ beqz $t8,.L0f008fa8 -/* f008f90: 00000000 */ nop -/* f008f94: 86090022 */ lh $t1,0x22($s0) -/* f008f98: 240f2000 */ addiu $t7,$zero,0x2000 -/* f008f9c: 55200003 */ bnezl $t1,.L0f008fac -/* f008fa0: 860b0022 */ lh $t3,0x22($s0) -/* f008fa4: a60f0022 */ sh $t7,0x22($s0) -.L0f008fa8: -/* f008fa8: 860b0022 */ lh $t3,0x22($s0) -.L0f008fac: -/* f008fac: 854acb00 */ lh $t2,%lo(var8009cb00)($t2) -/* f008fb0: 016a6021 */ addu $t4,$t3,$t2 -/* f008fb4: a60c0022 */ sh $t4,0x22($s0) -/* f008fb8: c7aa0080 */ lwc1 $f10,0x80($sp) -/* f008fbc: c6500000 */ lwc1 $f16,0x0($s2) -/* f008fc0: 46105482 */ mul.s $f18,$f10,$f16 -/* f008fc4: 4600910d */ trunc.w.s $f4,$f18 -/* f008fc8: 440e2000 */ mfc1 $t6,$f4 -/* f008fcc: 00000000 */ nop -/* f008fd0: a60e0024 */ sh $t6,0x24($s0) -/* f008fd4: c7a60084 */ lwc1 $f6,0x84($sp) -/* f008fd8: c6480000 */ lwc1 $f8,0x0($s2) -/* f008fdc: 46083282 */ mul.s $f10,$f6,$f8 -/* f008fe0: 4600540d */ trunc.w.s $f16,$f10 -/* f008fe4: 44188000 */ mfc1 $t8,$f16 -/* f008fe8: 00000000 */ nop -/* f008fec: a6180026 */ sh $t8,0x26($s0) -/* f008ff0: c7b20088 */ lwc1 $f18,0x88($sp) -/* f008ff4: c6440000 */ lwc1 $f4,0x0($s2) -/* f008ff8: 46049182 */ mul.s $f6,$f18,$f4 -/* f008ffc: 4600320d */ trunc.w.s $f8,$f6 -/* f009000: 440f4000 */ mfc1 $t7,$f8 -/* f009004: 00000000 */ nop -/* f009008: a60f0028 */ sh $t7,0x28($s0) -/* f00900c: c7aa0084 */ lwc1 $f10,0x84($sp) -/* f009010: 46145402 */ mul.s $f16,$f10,$f20 -/* f009014: 00000000 */ nop -/* f009018: 46168482 */ mul.s $f18,$f16,$f22 -/* f00901c: 4600910d */ trunc.w.s $f4,$f18 -/* f009020: 440a2000 */ mfc1 $t2,$f4 -/* f009024: 00000000 */ nop -/* f009028: a60a002c */ sh $t2,0x2c($s0) -/* f00902c: c7ae0088 */ lwc1 $f14,0x88($sp) -/* f009030: 0fc259d4 */ jal atan2f -/* f009034: c7ac0080 */ lwc1 $f12,0x80($sp) -/* f009038: 3c017f1a */ lui $at,%hi(var7f1a7f10) -/* f00903c: c4267f10 */ lwc1 $f6,%lo(var7f1a7f10)($at) -/* f009040: a200002b */ sb $zero,0x2b($s0) -/* f009044: 24190001 */ addiu $t9,$zero,0x1 -/* f009048: 46060203 */ div.s $f8,$f0,$f6 -/* f00904c: 3c09800a */ lui $t1,%hi(var8009cb04) -/* f009050: 3c0c800a */ lui $t4,%hi(var8009cb00) -/* f009054: 46144282 */ mul.s $f10,$f8,$f20 -/* f009058: 00000000 */ nop -/* f00905c: 46165402 */ mul.s $f16,$f10,$f22 -/* f009060: 4600848d */ trunc.w.s $f18,$f16 -/* f009064: 440d9000 */ mfc1 $t5,$f18 -/* f009068: 00000000 */ nop -/* f00906c: a60d002e */ sh $t5,0x2e($s0) -/* f009070: 8e2e0000 */ lw $t6,0x0($s1) -/* f009074: 032ec023 */ subu $t8,$t9,$t6 -/* f009078: ae380000 */ sw $t8,0x0($s1) -/* f00907c: 8d29cb04 */ lw $t1,%lo(var8009cb04)($t1) -/* f009080: 11200006 */ beqz $t1,.L0f00909c -/* f009084: 00000000 */ nop -/* f009088: 860f002e */ lh $t7,0x2e($s0) -/* f00908c: 240b2000 */ addiu $t3,$zero,0x2000 -/* f009090: 55e00003 */ bnezl $t7,.L0f0090a0 -/* f009094: 860a002e */ lh $t2,0x2e($s0) -/* f009098: a60b002e */ sh $t3,0x2e($s0) -.L0f00909c: -/* f00909c: 860a002e */ lh $t2,0x2e($s0) -.L0f0090a0: -/* f0090a0: 858ccb00 */ lh $t4,%lo(var8009cb00)($t4) -/* f0090a4: 014c6821 */ addu $t5,$t2,$t4 -/* f0090a8: a60d002e */ sh $t5,0x2e($s0) -/* f0090ac: c7a4008c */ lwc1 $f4,0x8c($sp) -/* f0090b0: c6460000 */ lwc1 $f6,0x0($s2) -/* f0090b4: 46062202 */ mul.s $f8,$f4,$f6 -/* f0090b8: 4600428d */ trunc.w.s $f10,$f8 -/* f0090bc: 440e5000 */ mfc1 $t6,$f10 -/* f0090c0: 00000000 */ nop -/* f0090c4: a60e0030 */ sh $t6,0x30($s0) -/* f0090c8: c7b00090 */ lwc1 $f16,0x90($sp) -/* f0090cc: c6520000 */ lwc1 $f18,0x0($s2) -/* f0090d0: 46128102 */ mul.s $f4,$f16,$f18 -/* f0090d4: 4600218d */ trunc.w.s $f6,$f4 -/* f0090d8: 44093000 */ mfc1 $t1,$f6 -/* f0090dc: 00000000 */ nop -/* f0090e0: a6090032 */ sh $t1,0x32($s0) -/* f0090e4: c7a80094 */ lwc1 $f8,0x94($sp) -/* f0090e8: c64a0000 */ lwc1 $f10,0x0($s2) -/* f0090ec: 460a4402 */ mul.s $f16,$f8,$f10 -/* f0090f0: 4600848d */ trunc.w.s $f18,$f16 -/* f0090f4: 440b9000 */ mfc1 $t3,$f18 -/* f0090f8: 00000000 */ nop -/* f0090fc: a60b0034 */ sh $t3,0x34($s0) -/* f009100: c7a40090 */ lwc1 $f4,0x90($sp) -/* f009104: 46142182 */ mul.s $f6,$f4,$f20 -/* f009108: 00000000 */ nop -/* f00910c: 46163202 */ mul.s $f8,$f6,$f22 -/* f009110: 4600428d */ trunc.w.s $f10,$f8 -/* f009114: 440c5000 */ mfc1 $t4,$f10 -/* f009118: 00000000 */ nop -/* f00911c: a60c0038 */ sh $t4,0x38($s0) -/* f009120: c7ae0094 */ lwc1 $f14,0x94($sp) -/* f009124: 0fc259d4 */ jal atan2f -/* f009128: c7ac008c */ lwc1 $f12,0x8c($sp) -/* f00912c: 3c017f1a */ lui $at,%hi(var7f1a7f14) -/* f009130: c4307f14 */ lwc1 $f16,%lo(var7f1a7f14)($at) -/* f009134: a2000037 */ sb $zero,0x37($s0) -/* f009138: 24180001 */ addiu $t8,$zero,0x1 -/* f00913c: 46100483 */ div.s $f18,$f0,$f16 -/* f009140: 3c0f800a */ lui $t7,%hi(var8009cb04) -/* f009144: 3c0d800a */ lui $t5,%hi(var8009cb00) -/* f009148: 46149102 */ mul.s $f4,$f18,$f20 -/* f00914c: 00000000 */ nop -/* f009150: 46162182 */ mul.s $f6,$f4,$f22 -/* f009154: 4600320d */ trunc.w.s $f8,$f6 -/* f009158: 44194000 */ mfc1 $t9,$f8 -/* f00915c: 00000000 */ nop -/* f009160: a619003a */ sh $t9,0x3a($s0) -/* f009164: 8e2e0000 */ lw $t6,0x0($s1) -/* f009168: 030e4823 */ subu $t1,$t8,$t6 -/* f00916c: ae290000 */ sw $t1,0x0($s1) -/* f009170: 8defcb04 */ lw $t7,%lo(var8009cb04)($t7) -/* f009174: 11e00006 */ beqz $t7,.L0f009190 -/* f009178: 00000000 */ nop -/* f00917c: 860b003a */ lh $t3,0x3a($s0) -/* f009180: 240a2000 */ addiu $t2,$zero,0x2000 -/* f009184: 55600003 */ bnezl $t3,.L0f009194 -/* f009188: 860c003a */ lh $t4,0x3a($s0) -/* f00918c: a60a003a */ sh $t2,0x3a($s0) -.L0f009190: -/* f009190: 860c003a */ lh $t4,0x3a($s0) -.L0f009194: -/* f009194: 85adcb00 */ lh $t5,%lo(var8009cb00)($t5) -/* f009198: 018dc821 */ addu $t9,$t4,$t5 -/* f00919c: a619003a */ sh $t9,0x3a($s0) -/* f0091a0: c7aa0098 */ lwc1 $f10,0x98($sp) -/* f0091a4: c6500000 */ lwc1 $f16,0x0($s2) -/* f0091a8: 46105482 */ mul.s $f18,$f10,$f16 -/* f0091ac: 4600910d */ trunc.w.s $f4,$f18 -/* f0091b0: 440e2000 */ mfc1 $t6,$f4 -/* f0091b4: 00000000 */ nop -/* f0091b8: a60e003c */ sh $t6,0x3c($s0) -/* f0091bc: c7a6009c */ lwc1 $f6,0x9c($sp) -/* f0091c0: c6480000 */ lwc1 $f8,0x0($s2) -/* f0091c4: 46083282 */ mul.s $f10,$f6,$f8 -/* f0091c8: 4600540d */ trunc.w.s $f16,$f10 -/* f0091cc: 440f8000 */ mfc1 $t7,$f16 -/* f0091d0: 00000000 */ nop -/* f0091d4: a60f003e */ sh $t7,0x3e($s0) -/* f0091d8: c7b200a0 */ lwc1 $f18,0xa0($sp) -/* f0091dc: c6440000 */ lwc1 $f4,0x0($s2) -/* f0091e0: 46049182 */ mul.s $f6,$f18,$f4 -/* f0091e4: 4600320d */ trunc.w.s $f8,$f6 -/* f0091e8: 440a4000 */ mfc1 $t2,$f8 -/* f0091ec: 00000000 */ nop -/* f0091f0: a60a0040 */ sh $t2,0x40($s0) -/* f0091f4: c7aa009c */ lwc1 $f10,0x9c($sp) -/* f0091f8: 46145402 */ mul.s $f16,$f10,$f20 -/* f0091fc: 00000000 */ nop -/* f009200: 46168482 */ mul.s $f18,$f16,$f22 -/* f009204: 4600910d */ trunc.w.s $f4,$f18 -/* f009208: 440d2000 */ mfc1 $t5,$f4 -/* f00920c: 00000000 */ nop -/* f009210: a60d0044 */ sh $t5,0x44($s0) -/* f009214: c7ae00a0 */ lwc1 $f14,0xa0($sp) -/* f009218: 0fc259d4 */ jal atan2f -/* f00921c: c7ac0098 */ lwc1 $f12,0x98($sp) -/* f009220: 3c017f1a */ lui $at,%hi(var7f1a7f18) -/* f009224: c4267f18 */ lwc1 $f6,%lo(var7f1a7f18)($at) -/* f009228: a2000043 */ sb $zero,0x43($s0) -/* f00922c: 24090001 */ addiu $t1,$zero,0x1 -/* f009230: 46060203 */ div.s $f8,$f0,$f6 -/* f009234: 3c0b800a */ lui $t3,%hi(var8009cb04) -/* f009238: 3c19800a */ lui $t9,%hi(var8009cb00) -/* f00923c: 46144282 */ mul.s $f10,$f8,$f20 -/* f009240: 00000000 */ nop -/* f009244: 46165402 */ mul.s $f16,$f10,$f22 -/* f009248: 4600848d */ trunc.w.s $f18,$f16 -/* f00924c: 44189000 */ mfc1 $t8,$f18 -/* f009250: 00000000 */ nop -/* f009254: a6180046 */ sh $t8,0x46($s0) -/* f009258: 8e2e0000 */ lw $t6,0x0($s1) -/* f00925c: 012e7823 */ subu $t7,$t1,$t6 -/* f009260: ae2f0000 */ sw $t7,0x0($s1) -/* f009264: 8d6bcb04 */ lw $t3,%lo(var8009cb04)($t3) -/* f009268: 11600006 */ beqz $t3,.L0f009284 -/* f00926c: 00000000 */ nop -/* f009270: 860a0046 */ lh $t2,0x46($s0) -/* f009274: 240c2000 */ addiu $t4,$zero,0x2000 -/* f009278: 55400003 */ bnezl $t2,.L0f009288 -/* f00927c: 860d0046 */ lh $t5,0x46($s0) -/* f009280: a60c0046 */ sh $t4,0x46($s0) -.L0f009284: -/* f009284: 860d0046 */ lh $t5,0x46($s0) -.L0f009288: -/* f009288: 8739cb00 */ lh $t9,%lo(var8009cb00)($t9) -/* f00928c: 3c0f0450 */ lui $t7,0x450 -/* f009290: 35ef0048 */ ori $t7,$t7,0x48 -/* f009294: 01b9c021 */ addu $t8,$t5,$t9 -/* f009298: a6180046 */ sh $t8,0x46($s0) -/* f00929c: 8fb100a8 */ lw $s1,0xa8($sp) -/* f0092a0: 02002025 */ or $a0,$s0,$zero -/* f0092a4: 262e0008 */ addiu $t6,$s1,0x8 -/* f0092a8: afae00a8 */ sw $t6,0xa8($sp) -/* f0092ac: 0c012d20 */ jal osVirtualToPhysical -/* f0092b0: ae2f0000 */ sw $t7,0x0($s1) -/* f0092b4: ae220004 */ sw $v0,0x4($s1) -/* f0092b8: 8fb90050 */ lw $t9,0x50($sp) -/* f0092bc: 27b00080 */ addiu $s0,$sp,0x80 -/* f0092c0: 240b0002 */ addiu $t3,$zero,0x2 -/* f0092c4: 240a0004 */ addiu $t2,$zero,0x4 -/* f0092c8: 240c0003 */ addiu $t4,$zero,0x3 -/* f0092cc: 240d0006 */ addiu $t5,$zero,0x6 -/* f0092d0: afad001c */ sw $t5,0x1c($sp) -/* f0092d4: afac0018 */ sw $t4,0x18($sp) -/* f0092d8: afaa0014 */ sw $t2,0x14($sp) -/* f0092dc: afab0010 */ sw $t3,0x10($sp) -/* f0092e0: 02003825 */ or $a3,$s0,$zero -/* f0092e4: 8fa400a8 */ lw $a0,0xa8($sp) -/* f0092e8: 27a50074 */ addiu $a1,$sp,0x74 -/* f0092ec: 27a6008c */ addiu $a2,$sp,0x8c -/* f0092f0: 0fc01b20 */ jal func0f006c80 -/* f0092f4: afb90020 */ sw $t9,0x20($sp) -/* f0092f8: 8faf0050 */ lw $t7,0x50($sp) -/* f0092fc: 24180003 */ addiu $t8,$zero,0x3 -/* f009300: 24090004 */ addiu $t1,$zero,0x4 -/* f009304: 240e0006 */ addiu $t6,$zero,0x6 -/* f009308: afae001c */ sw $t6,0x1c($sp) -/* f00930c: afa90014 */ sw $t1,0x14($sp) -/* f009310: afb80010 */ sw $t8,0x10($sp) -/* f009314: 00402025 */ or $a0,$v0,$zero -/* f009318: 02002825 */ or $a1,$s0,$zero -/* f00931c: 27a6008c */ addiu $a2,$sp,0x8c -/* f009320: 27a7005c */ addiu $a3,$sp,0x5c -/* f009324: afa00018 */ sw $zero,0x18($sp) -/* f009328: 0fc01b20 */ jal func0f006c80 -/* f00932c: afaf0020 */ sw $t7,0x20($sp) -/* f009330: 8fb90050 */ lw $t9,0x50($sp) -/* f009334: 240b0003 */ addiu $t3,$zero,0x3 -/* f009338: 240a0005 */ addiu $t2,$zero,0x5 -/* f00933c: 240c0002 */ addiu $t4,$zero,0x2 -/* f009340: 240d0006 */ addiu $t5,$zero,0x6 -/* f009344: afad001c */ sw $t5,0x1c($sp) -/* f009348: afac0018 */ sw $t4,0x18($sp) -/* f00934c: afaa0014 */ sw $t2,0x14($sp) -/* f009350: afab0010 */ sw $t3,0x10($sp) -/* f009354: 00402025 */ or $a0,$v0,$zero -/* f009358: 02002825 */ or $a1,$s0,$zero -/* f00935c: 27a60098 */ addiu $a2,$sp,0x98 -/* f009360: 27a70074 */ addiu $a3,$sp,0x74 -/* f009364: 0fc01b20 */ jal func0f006c80 -/* f009368: afb90020 */ sw $t9,0x20($sp) -/* f00936c: 8faf0050 */ lw $t7,0x50($sp) -/* f009370: 24180005 */ addiu $t8,$zero,0x5 -/* f009374: 24090003 */ addiu $t1,$zero,0x3 -/* f009378: 240e0006 */ addiu $t6,$zero,0x6 -/* f00937c: afae001c */ sw $t6,0x1c($sp) -/* f009380: afa90018 */ sw $t1,0x18($sp) -/* f009384: afb80014 */ sw $t8,0x14($sp) -/* f009388: 00402025 */ or $a0,$v0,$zero -/* f00938c: 27a5005c */ addiu $a1,$sp,0x5c -/* f009390: 27a60098 */ addiu $a2,$sp,0x98 -/* f009394: 02003825 */ or $a3,$s0,$zero -/* f009398: afa00010 */ sw $zero,0x10($sp) -/* f00939c: 0fc01b20 */ jal func0f006c80 -/* f0093a0: afaf0020 */ sw $t7,0x20($sp) -/* f0093a4: 8fbf004c */ lw $ra,0x4c($sp) -/* f0093a8: d7b40030 */ ldc1 $f20,0x30($sp) -/* f0093ac: d7b60038 */ ldc1 $f22,0x38($sp) -/* f0093b0: 8fb00040 */ lw $s0,0x40($sp) -/* f0093b4: 8fb10044 */ lw $s1,0x44($sp) -/* f0093b8: 8fb20048 */ lw $s2,0x48($sp) -/* f0093bc: 03e00008 */ jr $ra -/* f0093c0: 27bd00a8 */ addiu $sp,$sp,0xa8 -); + var80061648 = 0; -// Mismatch: swapped s1/s2 registers (var80061644 and var80061648) -//Gfx *func0f008558(Gfx *gdl, s32 depth) -//{ -// struct gfxvtx *vertices; -// struct coord sp5c[] = { -// { 0, 0, 1 }, -// { 1, 0, 0 }, -// { 0, 0, -1 }, -// { -1, 0, 0 }, -// { 0, 1, 0 }, -// { 0, -1, 0 }, -// }; -// -// var80061648 = 0; -// -// // First half -// var8009cb04 = 0; -// -// vertices = gfxAllocateVertices(6); -// -// MAKEVERTEX(0, sp5c[0]); -// MAKEVERTEX(1, sp5c[1]); -// MAKEVERTEX(2, sp5c[2]); -// MAKEVERTEX(3, sp5c[3]); -// MAKEVERTEX(4, sp5c[4]); -// MAKEVERTEX(5, sp5c[5]); -// -// gDPSetVerticeArray(gdl++, osVirtualToPhysical(vertices), 6); -// -// gdl = func0f006c80(gdl, &sp5c[0], &sp5c[4], &sp5c[1], 0, 4, 1, 6, depth); -// gdl = func0f006c80(gdl, &sp5c[1], &sp5c[4], &sp5c[2], 1, 4, 2, 6, depth); -// gdl = func0f006c80(gdl, &sp5c[1], &sp5c[5], &sp5c[0], 1, 5, 0, 6, depth); -// gdl = func0f006c80(gdl, &sp5c[2], &sp5c[5], &sp5c[1], 2, 5, 1, 6, depth); -// -// // Second half -// var8009cb04 = 1; -// -// vertices = gfxAllocateVertices(6); -// -// MAKEVERTEX(0, sp5c[0]); -// MAKEVERTEX(1, sp5c[1]); -// MAKEVERTEX(2, sp5c[2]); -// MAKEVERTEX(3, sp5c[3]); -// MAKEVERTEX(4, sp5c[4]); -// MAKEVERTEX(5, sp5c[5]); -// -// gDPSetVerticeArray(gdl++, osVirtualToPhysical(vertices), 6); -// -// gdl = func0f006c80(gdl, &sp5c[2], &sp5c[4], &sp5c[3], 2, 4, 3, 6, depth); -// gdl = func0f006c80(gdl, &sp5c[3], &sp5c[4], &sp5c[0], 3, 4, 0, 6, depth); -// gdl = func0f006c80(gdl, &sp5c[3], &sp5c[5], &sp5c[2], 3, 5, 2, 6, depth); -// gdl = func0f006c80(gdl, &sp5c[0], &sp5c[5], &sp5c[3], 0, 5, 3, 6, depth); -// -// return gdl; -//} + var8009cb04 = 0; + + vertices = gfxAllocateVertices(6); + + MAKEVERTEX(0, sp5c[0]); + MAKEVERTEX(1, sp5c[1]); + MAKEVERTEX(2, sp5c[2]); + MAKEVERTEX(3, sp5c[3]); + MAKEVERTEX(4, sp5c[4]); + MAKEVERTEX(5, sp5c[5]); + + gDPSetVerticeArray(gdl++, osVirtualToPhysical(vertices), 6); + + gdl = func0f006c80(gdl, &sp5c[0], &sp5c[4], &sp5c[1], 0, 4, 1, 6, depth); + gdl = func0f006c80(gdl, &sp5c[1], &sp5c[4], &sp5c[2], 1, 4, 2, 6, depth); + gdl = func0f006c80(gdl, &sp5c[1], &sp5c[5], &sp5c[0], 1, 5, 0, 6, depth); + gdl = func0f006c80(gdl, &sp5c[2], &sp5c[5], &sp5c[1], 2, 5, 1, 6, depth); + + var8009cb04 = 1; + + vertices = gfxAllocateVertices(6); + + MAKEVERTEX(0, sp5c[0]); + MAKEVERTEX(1, sp5c[1]); + MAKEVERTEX(2, sp5c[2]); + MAKEVERTEX(3, sp5c[3]); + MAKEVERTEX(4, sp5c[4]); + MAKEVERTEX(5, sp5c[5]); + + gDPSetVerticeArray(gdl++, osVirtualToPhysical(vertices), 6); + + gdl = func0f006c80(gdl, &sp5c[2], &sp5c[4], &sp5c[3], 2, 4, 3, 6, depth); + gdl = func0f006c80(gdl, &sp5c[3], &sp5c[4], &sp5c[0], 3, 4, 0, 6, depth); + gdl = func0f006c80(gdl, &sp5c[3], &sp5c[5], &sp5c[2], 3, 5, 2, 6, depth); + gdl = func0f006c80(gdl, &sp5c[0], &sp5c[5], &sp5c[3], 0, 5, 3, 6, depth); + + return gdl; +} void nbomb0f0093c4(f32 *arg0) {