From baf9f8b659df52aaee2b2e091c79cea93cfa7e30 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 10 Aug 2022 23:25:45 +1000 Subject: [PATCH] Decompile sky0f123fd4 --- src/game/sky.c | 2238 ++++++++++++------------------------------------ 1 file changed, 525 insertions(+), 1713 deletions(-) diff --git a/src/game/sky.c b/src/game/sky.c index 6b1b7f044..7d287cb77 100644 --- a/src/game/sky.c +++ b/src/game/sky.c @@ -1859,1719 +1859,531 @@ Gfx *sky0f122d4c(Gfx *gdl, struct skything38 *arg1, struct skything38 *arg2, str return gdl; } -GLOBAL_ASM( -glabel sky0f123fd4 -.late_rodata -glabel var7f1b50f0 -.word 0xc4eac000 -glabel var7f1b50f4 -.word 0xc4eac000 -glabel var7f1b50f8 -.word 0xc4eac000 -glabel var7f1b50fc -.word 0xc4eac000 -glabel var7f1b5100 -.word 0x44eaa000 -glabel var7f1b5104 -.word 0x46fffe00 -.text -/* f123fd4: 27bdfb30 */ addiu $sp,$sp,-1232 -/* f123fd8: afb00020 */ sw $s0,0x20($sp) -/* f123fdc: 00808025 */ or $s0,$a0,$zero -/* f123fe0: afbf0024 */ sw $ra,0x24($sp) -/* f123fe4: afa504d4 */ sw $a1,0x4d4($sp) -/* f123fe8: 00a02025 */ or $a0,$a1,$zero -/* f123fec: f7b40018 */ sdc1 $f20,0x18($sp) -/* f123ff0: afa604d8 */ sw $a2,0x4d8($sp) -/* f123ff4: afa704dc */ sw $a3,0x4dc($sp) -/* f123ff8: 0fc48b3a */ jal sky0f122ce8 -/* f123ffc: 00c02825 */ or $a1,$a2,$zero -/* f124000: 14400015 */ bnez $v0,.L0f124058 -/* f124004: 8fa404d8 */ lw $a0,0x4d8($sp) -/* f124008: 0fc48b3a */ jal sky0f122ce8 -/* f12400c: 8fa504dc */ lw $a1,0x4dc($sp) -/* f124010: 14400011 */ bnez $v0,.L0f124058 -/* f124014: 8fa404dc */ lw $a0,0x4dc($sp) -/* f124018: 0fc48b3a */ jal sky0f122ce8 -/* f12401c: 8fa504d4 */ lw $a1,0x4d4($sp) -/* f124020: 1440000d */ bnez $v0,.L0f124058 -/* f124024: 8fa404e0 */ lw $a0,0x4e0($sp) -/* f124028: 0fc48b3a */ jal sky0f122ce8 -/* f12402c: 8fa504d4 */ lw $a1,0x4d4($sp) -/* f124030: 14400009 */ bnez $v0,.L0f124058 -/* f124034: 8fa404e0 */ lw $a0,0x4e0($sp) -/* f124038: 0fc48b3a */ jal sky0f122ce8 -/* f12403c: 8fa504d8 */ lw $a1,0x4d8($sp) -/* f124040: 14400005 */ bnez $v0,.L0f124058 -/* f124044: 8fa404e0 */ lw $a0,0x4e0($sp) -/* f124048: 0fc48b3a */ jal sky0f122ce8 -/* f12404c: 8fa504dc */ lw $a1,0x4dc($sp) -/* f124050: 10400003 */ beqz $v0,.L0f124060 -/* f124054: c7aa04e4 */ lwc1 $f10,0x4e4($sp) -.L0f124058: -/* f124058: 10000636 */ b .L0f125934 -/* f12405c: 02001025 */ or $v0,$s0,$zero -.L0f124060: -/* f124060: 3c013780 */ lui $at,0x3780 -/* f124064: 44812000 */ mtc1 $at,$f4 -/* f124068: 8fa304d4 */ lw $v1,0x4d4($sp) -/* f12406c: 8fa404dc */ lw $a0,0x4dc($sp) -/* f124070: 46045202 */ mul.s $f8,$f10,$f4 -/* f124074: 8fa904d8 */ lw $t1,0x4d8($sp) -/* f124078: 00603825 */ or $a3,$v1,$zero -/* f12407c: 00804025 */ or $t0,$a0,$zero -/* f124080: 01202825 */ or $a1,$t1,$zero -/* f124084: e7a803c0 */ swc1 $f8,0x3c0($sp) -/* f124088: c46c0028 */ lwc1 $f12,0x28($v1) -/* f12408c: c48a0028 */ lwc1 $f10,0x28($a0) -/* f124090: c460002c */ lwc1 $f0,0x2c($v1) -/* f124094: c52e002c */ lwc1 $f14,0x2c($t1) -/* f124098: 460c5101 */ sub.s $f4,$f10,$f12 -/* f12409c: c5260028 */ lwc1 $f6,0x28($t1) -/* f1240a0: 46007081 */ sub.s $f2,$f14,$f0 -/* f1240a4: e7a404b0 */ swc1 $f4,0x4b0($sp) -/* f1240a8: c494002c */ lwc1 $f20,0x2c($a0) -/* f1240ac: c7a804b0 */ lwc1 $f8,0x4b0($sp) -/* f1240b0: 460c3481 */ sub.s $f18,$f6,$f12 -/* f1240b4: 46024182 */ mul.s $f6,$f8,$f2 -/* f1240b8: 4600a401 */ sub.s $f16,$f20,$f0 -/* f1240bc: 44814000 */ mtc1 $at,$f8 -/* f1240c0: 3c013f80 */ lui $at,0x3f80 -/* f1240c4: 46109282 */ mul.s $f10,$f18,$f16 -/* f1240c8: 4600703c */ c.lt.s $f14,$f0 -/* f1240cc: 460a3101 */ sub.s $f4,$f6,$f10 -/* f1240d0: 44815000 */ mtc1 $at,$f10 -/* f1240d4: 46082182 */ mul.s $f6,$f4,$f8 -/* f1240d8: 46065103 */ div.s $f4,$f10,$f6 -/* f1240dc: e7a60054 */ swc1 $f6,0x54($sp) -/* f1240e0: e7a60488 */ swc1 $f6,0x488($sp) -/* f1240e4: e7a40050 */ swc1 $f4,0x50($sp) -/* f1240e8: 4500000a */ bc1f .L0f124114 -/* f1240ec: e7a40484 */ swc1 $f4,0x484($sp) -/* f1240f0: 3c01bf80 */ lui $at,0xbf80 -/* f1240f4: 44811000 */ mtc1 $at,$f2 -/* f1240f8: 00602825 */ or $a1,$v1,$zero -/* f1240fc: 01203825 */ or $a3,$t1,$zero -/* f124100: 46023302 */ mul.s $f12,$f6,$f2 -/* f124104: 00000000 */ nop -/* f124108: 46022382 */ mul.s $f14,$f4,$f2 -/* f12410c: e7ac0488 */ swc1 $f12,0x488($sp) -/* f124110: e7ae0484 */ swc1 $f14,0x484($sp) -.L0f124114: -/* f124114: c4a0002c */ lwc1 $f0,0x2c($a1) -/* f124118: 3c01bf80 */ lui $at,0xbf80 -/* f12411c: 44811000 */ mtc1 $at,$f2 -/* f124120: 4600a03c */ c.lt.s $f20,$f0 -/* f124124: c7ac0488 */ lwc1 $f12,0x488($sp) -/* f124128: c7ae0484 */ lwc1 $f14,0x484($sp) -/* f12412c: 3c014080 */ lui $at,0x4080 -/* f124130: 45020006 */ bc1fl .L0f12414c -/* f124134: e7ae0484 */ swc1 $f14,0x484($sp) -/* f124138: 00a04025 */ or $t0,$a1,$zero -/* f12413c: 46027382 */ mul.s $f14,$f14,$f2 -/* f124140: 00802825 */ or $a1,$a0,$zero -/* f124144: c480002c */ lwc1 $f0,0x2c($a0) -/* f124148: e7ae0484 */ swc1 $f14,0x484($sp) -.L0f12414c: -/* f12414c: c4e8002c */ lwc1 $f8,0x2c($a3) -/* f124150: 4608003c */ c.lt.s $f0,$f8 -/* f124154: 44810000 */ mtc1 $at,$f0 -/* f124158: 3c013e80 */ lui $at,0x3e80 -/* f12415c: 44813000 */ mtc1 $at,$f6 -/* f124160: 45020007 */ bc1fl .L0f124180 -/* f124164: c4aa0028 */ lwc1 $f10,0x28($a1) -/* f124168: 46027382 */ mul.s $f14,$f14,$f2 -/* f12416c: 00a01025 */ or $v0,$a1,$zero -/* f124170: 00e02825 */ or $a1,$a3,$zero -/* f124174: 00403825 */ or $a3,$v0,$zero -/* f124178: e7ae0484 */ swc1 $f14,0x484($sp) -/* f12417c: c4aa0028 */ lwc1 $f10,0x28($a1) -.L0f124180: -/* f124180: 4480a000 */ mtc1 $zero,$f20 -/* f124184: 3c0644ea */ lui $a2,0x44ea -/* f124188: 46065102 */ mul.s $f4,$f10,$f6 -/* f12418c: e7b40468 */ swc1 $f20,0x468($sp) -/* f124190: 44815000 */ mtc1 $at,$f10 -/* f124194: 34c6a000 */ ori $a2,$a2,0xa000 -/* f124198: e7a40464 */ swc1 $f4,0x464($sp) -/* f12419c: c4e80028 */ lwc1 $f8,0x28($a3) -/* f1241a0: e7b40470 */ swc1 $f20,0x470($sp) -/* f1241a4: 460a4182 */ mul.s $f6,$f8,$f10 -/* f1241a8: 44814000 */ mtc1 $at,$f8 -/* f1241ac: e7a6046c */ swc1 $f6,0x46c($sp) -/* f1241b0: c4e40028 */ lwc1 $f4,0x28($a3) -/* f1241b4: e7b40478 */ swc1 $f20,0x478($sp) -/* f1241b8: e7b40480 */ swc1 $f20,0x480($sp) -/* f1241bc: 46082282 */ mul.s $f10,$f4,$f8 -/* f1241c0: e7b4047c */ swc1 $f20,0x47c($sp) -/* f1241c4: e7aa0474 */ swc1 $f10,0x474($sp) -/* f1241c8: c5060028 */ lwc1 $f6,0x28($t0) -/* f1241cc: e7a6048c */ swc1 $f6,0x48c($sp) -/* f1241d0: c504002c */ lwc1 $f4,0x2c($t0) -/* f1241d4: e7a40490 */ swc1 $f4,0x490($sp) -/* f1241d8: c4a80028 */ lwc1 $f8,0x28($a1) -/* f1241dc: e7a80494 */ swc1 $f8,0x494($sp) -/* f1241e0: c4aa002c */ lwc1 $f10,0x2c($a1) -/* f1241e4: c7a80494 */ lwc1 $f8,0x494($sp) -/* f1241e8: e7aa0498 */ swc1 $f10,0x498($sp) -/* f1241ec: c4e60028 */ lwc1 $f6,0x28($a3) -/* f1241f0: e7a6049c */ swc1 $f6,0x49c($sp) -/* f1241f4: c4e4002c */ lwc1 $f4,0x2c($a3) -/* f1241f8: c7a60498 */ lwc1 $f6,0x498($sp) -/* f1241fc: c7aa049c */ lwc1 $f10,0x49c($sp) -/* f124200: e7a404a0 */ swc1 $f4,0x4a0($sp) -/* f124204: c7a404a0 */ lwc1 $f4,0x4a0($sp) -/* f124208: e7a6002c */ swc1 $f6,0x2c($sp) -/* f12420c: e7a80028 */ swc1 $f8,0x28($sp) -/* f124210: 46043081 */ sub.s $f2,$f6,$f4 -/* f124214: c7a60490 */ lwc1 $f6,0x490($sp) -/* f124218: afa804c4 */ sw $t0,0x4c4($sp) -/* f12421c: 460a4481 */ sub.s $f18,$f8,$f10 -/* f124220: c7a8048c */ lwc1 $f8,0x48c($sp) -/* f124224: afa704cc */ sw $a3,0x4cc($sp) -/* f124228: 46043401 */ sub.s $f16,$f6,$f4 -/* f12422c: c7a40028 */ lwc1 $f4,0x28($sp) -/* f124230: afa504c8 */ sw $a1,0x4c8($sp) -/* f124234: 460a4281 */ sub.s $f10,$f8,$f10 -/* f124238: e7b40440 */ swc1 $f20,0x440($sp) -/* f12423c: e7b4043c */ swc1 $f20,0x43c($sp) -/* f124240: 46044301 */ sub.s $f12,$f8,$f4 -/* f124244: c7a8002c */ lwc1 $f8,0x2c($sp) -/* f124248: 44812000 */ mtc1 $at,$f4 -/* f12424c: e7aa04b0 */ swc1 $f10,0x4b0($sp) -/* f124250: 46083381 */ sub.s $f14,$f6,$f8 -/* f124254: 46046182 */ mul.s $f6,$f12,$f4 -/* f124258: 44814000 */ mtc1 $at,$f8 -/* f12425c: e7ac04a8 */ swc1 $f12,0x4a8($sp) -/* f124260: e7ae04a4 */ swc1 $f14,0x4a4($sp) -/* f124264: 46087102 */ mul.s $f4,$f14,$f8 -/* f124268: e7b40420 */ swc1 $f20,0x420($sp) -/* f12426c: e7b4041c */ swc1 $f20,0x41c($sp) -/* f124270: e7a60424 */ swc1 $f6,0x424($sp) -/* f124274: 44813000 */ mtc1 $at,$f6 -/* f124278: e7b403e4 */ swc1 $f20,0x3e4($sp) -/* f12427c: e7b403ec */ swc1 $f20,0x3ec($sp) -/* f124280: 46069202 */ mul.s $f8,$f18,$f6 -/* f124284: e7a40428 */ swc1 $f4,0x428($sp) -/* f124288: 44812000 */ mtc1 $at,$f4 -/* f12428c: e7b403f4 */ swc1 $f20,0x3f4($sp) -/* f124290: e7b40400 */ swc1 $f20,0x400($sp) -/* f124294: 46041182 */ mul.s $f6,$f2,$f4 -/* f124298: e7b403fc */ swc1 $f20,0x3fc($sp) -/* f12429c: e7a8042c */ swc1 $f8,0x42c($sp) -/* f1242a0: 44814000 */ mtc1 $at,$f8 -/* f1242a4: e7b403c4 */ swc1 $f20,0x3c4($sp) -/* f1242a8: e7b403cc */ swc1 $f20,0x3cc($sp) -/* f1242ac: 46085102 */ mul.s $f4,$f10,$f8 -/* f1242b0: e7a60430 */ swc1 $f6,0x430($sp) -/* f1242b4: 44813000 */ mtc1 $at,$f6 -/* f1242b8: 3c017f1b */ lui $at,%hi(var7f1b50f0) -/* f1242bc: e7b403d4 */ swc1 $f20,0x3d4($sp) -/* f1242c0: 46068202 */ mul.s $f8,$f16,$f6 -/* f1242c4: e7b403e0 */ swc1 $f20,0x3e0($sp) -/* f1242c8: e7a40434 */ swc1 $f4,0x434($sp) -/* f1242cc: 46006102 */ mul.s $f4,$f12,$f0 -/* f1242d0: e7b403dc */ swc1 $f20,0x3dc($sp) -/* f1242d4: 46007182 */ mul.s $f6,$f14,$f0 -/* f1242d8: e7a80438 */ swc1 $f8,0x438($sp) -/* f1242dc: c42e50f0 */ lwc1 $f14,%lo(var7f1b50f0)($at) -/* f1242e0: 46009202 */ mul.s $f8,$f18,$f0 -/* f1242e4: e7a40404 */ swc1 $f4,0x404($sp) -/* f1242e8: 46001102 */ mul.s $f4,$f2,$f0 -/* f1242ec: e7a60408 */ swc1 $f6,0x408($sp) -/* f1242f0: 46005182 */ mul.s $f6,$f10,$f0 -/* f1242f4: e7a8040c */ swc1 $f8,0x40c($sp) -/* f1242f8: 46008202 */ mul.s $f8,$f16,$f0 -/* f1242fc: e7a40410 */ swc1 $f4,0x410($sp) -/* f124300: c7a404a4 */ lwc1 $f4,0x4a4($sp) -/* f124304: e7a60414 */ swc1 $f6,0x414($sp) -/* f124308: 46040183 */ div.s $f6,$f0,$f4 -/* f12430c: e7a80418 */ swc1 $f8,0x418($sp) -/* f124310: 46020203 */ div.s $f8,$f0,$f2 -/* f124314: e7a603e8 */ swc1 $f6,0x3e8($sp) -/* f124318: 46100183 */ div.s $f6,$f0,$f16 -/* f12431c: e7a803f0 */ swc1 $f8,0x3f0($sp) -/* f124320: c7a804a8 */ lwc1 $f8,0x4a8($sp) -/* f124324: 46044303 */ div.s $f12,$f8,$f4 -/* f124328: e7a603f8 */ swc1 $f6,0x3f8($sp) -/* f12432c: 46029183 */ div.s $f6,$f18,$f2 -/* f124330: e7ac03c8 */ swc1 $f12,0x3c8($sp) -/* f124334: 46105203 */ div.s $f8,$f10,$f16 -/* f124338: e7a603d0 */ swc1 $f6,0x3d0($sp) -/* f12433c: 0fc47cf4 */ jal skyClamp -/* f124340: e7a803d8 */ swc1 $f8,0x3d8($sp) -/* f124344: 3c017f1b */ lui $at,%hi(var7f1b50f4) -/* f124348: 3c0644ea */ lui $a2,0x44ea -/* f12434c: e7a003c8 */ swc1 $f0,0x3c8($sp) -/* f124350: 34c6a000 */ ori $a2,$a2,0xa000 -/* f124354: c42e50f4 */ lwc1 $f14,%lo(var7f1b50f4)($at) -/* f124358: 0fc47cf4 */ jal skyClamp -/* f12435c: c7ac03d0 */ lwc1 $f12,0x3d0($sp) -/* f124360: 3c017f1b */ lui $at,%hi(var7f1b50f8) -/* f124364: 3c0644ea */ lui $a2,0x44ea -/* f124368: e7a003d0 */ swc1 $f0,0x3d0($sp) -/* f12436c: 34c6a000 */ ori $a2,$a2,0xa000 -/* f124370: c42e50f8 */ lwc1 $f14,%lo(var7f1b50f8)($at) -/* f124374: 0fc47cf4 */ jal skyClamp -/* f124378: c7ac03d8 */ lwc1 $f12,0x3d8($sp) -/* f12437c: c7a4046c */ lwc1 $f4,0x46c($sp) -/* f124380: c7a60474 */ lwc1 $f6,0x474($sp) -/* f124384: 8fae04d4 */ lw $t6,0x4d4($sp) -/* f124388: 8fb804d8 */ lw $t8,0x4d8($sp) -/* f12438c: e7a003d8 */ swc1 $f0,0x3d8($sp) -/* f124390: e7a4044c */ swc1 $f4,0x44c($sp) -/* f124394: e7a60454 */ swc1 $f6,0x454($sp) -/* f124398: c5ca0028 */ lwc1 $f10,0x28($t6) -/* f12439c: c7080028 */ lwc1 $f8,0x28($t8) -/* f1243a0: 4608503c */ c.lt.s $f10,$f8 -/* f1243a4: 00000000 */ nop -/* f1243a8: 4502009d */ bc1fl .L0f124620 -/* f1243ac: 8fae04dc */ lw $t6,0x4dc($sp) -/* f1243b0: 8fb904dc */ lw $t9,0x4dc($sp) -/* f1243b4: 8faf04e0 */ lw $t7,0x4e0($sp) -/* f1243b8: 3c013f80 */ lui $at,0x3f80 -/* f1243bc: c724002c */ lwc1 $f4,0x2c($t9) -/* f1243c0: c5e6002c */ lwc1 $f6,0x2c($t7) -/* f1243c4: 44814000 */ mtc1 $at,$f8 -/* f1243c8: 46062281 */ sub.s $f10,$f4,$f6 -/* f1243cc: 4608503c */ c.lt.s $f10,$f8 -/* f1243d0: 00000000 */ nop -/* f1243d4: 45000004 */ bc1f .L0f1243e8 -/* f1243d8: 3c017f1b */ lui $at,%hi(var7f1b50fc) -/* f1243dc: c42450fc */ lwc1 $f4,%lo(var7f1b50fc)($at) -/* f1243e0: 10000010 */ b .L0f124424 -/* f1243e4: e7a401bc */ swc1 $f4,0x1bc($sp) -.L0f1243e8: -/* f1243e8: 0fc2d5f6 */ jal camGetScreenWidth -/* f1243ec: 00000000 */ nop -/* f1243f0: 8fae04dc */ lw $t6,0x4dc($sp) -/* f1243f4: 8fb804e0 */ lw $t8,0x4e0($sp) -/* f1243f8: 3c013e80 */ lui $at,0x3e80 -/* f1243fc: c5c6002c */ lwc1 $f6,0x2c($t6) -/* f124400: c70a002c */ lwc1 $f10,0x2c($t8) -/* f124404: 44812000 */ mtc1 $at,$f4 -/* f124408: 460a3201 */ sub.s $f8,$f6,$f10 -/* f12440c: 44815000 */ mtc1 $at,$f10 -/* f124410: 46044182 */ mul.s $f6,$f8,$f4 -/* f124414: 460a0201 */ sub.s $f8,$f0,$f10 -/* f124418: 46004107 */ neg.s $f4,$f8 -/* f12441c: 46062283 */ div.s $f10,$f4,$f6 -/* f124420: e7aa01bc */ swc1 $f10,0x1bc($sp) -.L0f124424: -/* f124424: 3c05b400 */ lui $a1,0xb400 -/* f124428: 02001025 */ or $v0,$s0,$zero -/* f12442c: ac450000 */ sw $a1,0x0($v0) -/* f124430: 8fb904dc */ lw $t9,0x4dc($sp) -/* f124434: 444ff800 */ cfc1 $t7,$31 -/* f124438: 240e0001 */ addiu $t6,$zero,0x1 -/* f12443c: 44cef800 */ ctc1 $t6,$31 -/* f124440: c728002c */ lwc1 $f8,0x2c($t9) -/* f124444: 26100008 */ addiu $s0,$s0,0x8 -/* f124448: 02001825 */ or $v1,$s0,$zero -/* f12444c: 46004124 */ cvt.w.s $f4,$f8 -/* f124450: 3c19b200 */ lui $t9,0xb200 -/* f124454: 444ef800 */ cfc1 $t6,$31 -/* f124458: 00000000 */ nop -/* f12445c: 31ce0078 */ andi $t6,$t6,0x78 -/* f124460: 11c00012 */ beqz $t6,.L0f1244ac -/* f124464: 3c014f00 */ lui $at,0x4f00 -/* f124468: 44812000 */ mtc1 $at,$f4 -/* f12446c: 240e0001 */ addiu $t6,$zero,0x1 -/* f124470: 46044101 */ sub.s $f4,$f8,$f4 -/* f124474: 44cef800 */ ctc1 $t6,$31 -/* f124478: 00000000 */ nop -/* f12447c: 46002124 */ cvt.w.s $f4,$f4 -/* f124480: 444ef800 */ cfc1 $t6,$31 -/* f124484: 00000000 */ nop -/* f124488: 31ce0078 */ andi $t6,$t6,0x78 -/* f12448c: 15c00005 */ bnez $t6,.L0f1244a4 -/* f124490: 00000000 */ nop -/* f124494: 440e2000 */ mfc1 $t6,$f4 -/* f124498: 3c018000 */ lui $at,0x8000 -/* f12449c: 10000007 */ b .L0f1244bc -/* f1244a0: 01c17025 */ or $t6,$t6,$at -.L0f1244a4: -/* f1244a4: 10000005 */ b .L0f1244bc -/* f1244a8: 240effff */ addiu $t6,$zero,-1 -.L0f1244ac: -/* f1244ac: 440e2000 */ mfc1 $t6,$f4 -/* f1244b0: 00000000 */ nop -/* f1244b4: 05c0fffb */ bltz $t6,.L0f1244a4 -/* f1244b8: 00000000 */ nop -.L0f1244bc: -/* f1244bc: 3c01ce80 */ lui $at,0xce80 -/* f1244c0: 01c1c025 */ or $t8,$t6,$at -/* f1244c4: ac580004 */ sw $t8,0x4($v0) -/* f1244c8: 44cff800 */ ctc1 $t7,$31 -/* f1244cc: ac790000 */ sw $t9,0x0($v1) -/* f1244d0: 8faf04e0 */ lw $t7,0x4e0($sp) -/* f1244d4: 26100008 */ addiu $s0,$s0,0x8 -/* f1244d8: 02002025 */ or $a0,$s0,$zero -/* f1244dc: c5e6002c */ lwc1 $f6,0x2c($t7) -/* f1244e0: 8faf04d4 */ lw $t7,0x4d4($sp) -/* f1244e4: 26100008 */ addiu $s0,$s0,0x8 -/* f1244e8: 4600328d */ trunc.w.s $f10,$f6 -/* f1244ec: c5e8002c */ lwc1 $f8,0x2c($t7) -/* f1244f0: 4600410d */ trunc.w.s $f4,$f8 -/* f1244f4: 44185000 */ mfc1 $t8,$f10 -/* f1244f8: 00000000 */ nop -/* f1244fc: 0018cc00 */ sll $t9,$t8,0x10 -/* f124500: 44182000 */ mfc1 $t8,$f4 -/* f124504: 00000000 */ nop -/* f124508: 03387825 */ or $t7,$t9,$t8 -/* f12450c: ac6f0004 */ sw $t7,0x4($v1) -/* f124510: ac850000 */ sw $a1,0x0($a0) -/* f124514: 0fc2d5fe */ jal camGetScreenLeft -/* f124518: afa401b0 */ sw $a0,0x1b0($sp) -/* f12451c: 0fc2d5f6 */ jal camGetScreenWidth -/* f124520: e7a0005c */ swc1 $f0,0x5c($sp) -/* f124524: c7a6005c */ lwc1 $f6,0x5c($sp) -/* f124528: 3c013e80 */ lui $at,0x3e80 -/* f12452c: 44814000 */ mtc1 $at,$f8 -/* f124530: 46060280 */ add.s $f10,$f0,$f6 -/* f124534: 0fc54be8 */ jal func0f152fa0 -/* f124538: 46085301 */ sub.s $f12,$f10,$f8 -/* f12453c: 8fae01b0 */ lw $t6,0x1b0($sp) -/* f124540: 02001825 */ or $v1,$s0,$zero -/* f124544: 3c19b200 */ lui $t9,0xb200 -/* f124548: adc20004 */ sw $v0,0x4($t6) -/* f12454c: ac790000 */ sw $t9,0x0($v1) -/* f124550: afa301ac */ sw $v1,0x1ac($sp) -/* f124554: c7ac01bc */ lwc1 $f12,0x1bc($sp) -/* f124558: 0fc54be8 */ jal func0f152fa0 -/* f12455c: 26100008 */ addiu $s0,$s0,0x8 -/* f124560: 8fa301ac */ lw $v1,0x1ac($sp) -/* f124564: 02002025 */ or $a0,$s0,$zero -/* f124568: 3c18b400 */ lui $t8,0xb400 -/* f12456c: ac620004 */ sw $v0,0x4($v1) -/* f124570: ac980000 */ sw $t8,0x0($a0) -/* f124574: afa401a8 */ sw $a0,0x1a8($sp) -/* f124578: 0fc2d5fe */ jal camGetScreenLeft -/* f12457c: 26100008 */ addiu $s0,$s0,0x8 -/* f124580: 0fc54be8 */ jal func0f152fa0 -/* f124584: 46000306 */ mov.s $f12,$f0 -/* f124588: 8faf01a8 */ lw $t7,0x1a8($sp) -/* f12458c: 02001825 */ or $v1,$s0,$zero -/* f124590: 3c0eb200 */ lui $t6,0xb200 -/* f124594: ade20004 */ sw $v0,0x4($t7) -/* f124598: ac6e0000 */ sw $t6,0x0($v1) -/* f12459c: afa301a4 */ sw $v1,0x1a4($sp) -/* f1245a0: 26100008 */ addiu $s0,$s0,0x8 -/* f1245a4: 0fc54be8 */ jal func0f152fa0 -/* f1245a8: 4600a306 */ mov.s $f12,$f20 -/* f1245ac: 8fa301a4 */ lw $v1,0x1a4($sp) -/* f1245b0: 02002025 */ or $a0,$s0,$zero -/* f1245b4: 3c19b400 */ lui $t9,0xb400 -/* f1245b8: ac620004 */ sw $v0,0x4($v1) -/* f1245bc: ac990000 */ sw $t9,0x0($a0) -/* f1245c0: afa401a0 */ sw $a0,0x1a0($sp) -/* f1245c4: 0fc2d5fe */ jal camGetScreenLeft -/* f1245c8: 26100008 */ addiu $s0,$s0,0x8 -/* f1245cc: 0fc2d5f6 */ jal camGetScreenWidth -/* f1245d0: e7a0005c */ swc1 $f0,0x5c($sp) -/* f1245d4: c7a4005c */ lwc1 $f4,0x5c($sp) -/* f1245d8: 3c013e80 */ lui $at,0x3e80 -/* f1245dc: 44815000 */ mtc1 $at,$f10 -/* f1245e0: 46040180 */ add.s $f6,$f0,$f4 -/* f1245e4: 0fc54be8 */ jal func0f152fa0 -/* f1245e8: 460a3301 */ sub.s $f12,$f6,$f10 -/* f1245ec: 8fb801a0 */ lw $t8,0x1a0($sp) -/* f1245f0: 02001825 */ or $v1,$s0,$zero -/* f1245f4: 3c0fb200 */ lui $t7,0xb200 -/* f1245f8: af020004 */ sw $v0,0x4($t8) -/* f1245fc: ac6f0000 */ sw $t7,0x0($v1) -/* f124600: afa3019c */ sw $v1,0x19c($sp) -/* f124604: 26100008 */ addiu $s0,$s0,0x8 -/* f124608: 0fc54be8 */ jal func0f152fa0 -/* f12460c: 4600a306 */ mov.s $f12,$f20 -/* f124610: 8fa3019c */ lw $v1,0x19c($sp) -/* f124614: 10000094 */ b .L0f124868 -/* f124618: ac620004 */ sw $v0,0x4($v1) -/* f12461c: 8fae04dc */ lw $t6,0x4dc($sp) -.L0f124620: -/* f124620: 8fb904e0 */ lw $t9,0x4e0($sp) -/* f124624: 3c013f80 */ lui $at,0x3f80 -/* f124628: c5c8002c */ lwc1 $f8,0x2c($t6) -/* f12462c: c724002c */ lwc1 $f4,0x2c($t9) -/* f124630: 44815000 */ mtc1 $at,$f10 -/* f124634: 46044181 */ sub.s $f6,$f8,$f4 -/* f124638: 460a303c */ c.lt.s $f6,$f10 -/* f12463c: 00000000 */ nop -/* f124640: 45000003 */ bc1f .L0f124650 -/* f124644: 3c017f1b */ lui $at,%hi(var7f1b5100) -/* f124648: 1000000e */ b .L0f124684 -/* f12464c: c42e5100 */ lwc1 $f14,%lo(var7f1b5100)($at) -.L0f124650: -/* f124650: 0fc2d5f6 */ jal camGetScreenWidth -/* f124654: 00000000 */ nop -/* f124658: 8fb804dc */ lw $t8,0x4dc($sp) -/* f12465c: 8faf04e0 */ lw $t7,0x4e0($sp) -/* f124660: 3c013e80 */ lui $at,0x3e80 -/* f124664: c708002c */ lwc1 $f8,0x2c($t8) -/* f124668: c5e4002c */ lwc1 $f4,0x2c($t7) -/* f12466c: 44815000 */ mtc1 $at,$f10 -/* f124670: 46044181 */ sub.s $f6,$f8,$f4 -/* f124674: 44812000 */ mtc1 $at,$f4 -/* f124678: 460a3202 */ mul.s $f8,$f6,$f10 -/* f12467c: 46040181 */ sub.s $f6,$f0,$f4 -/* f124680: 46083383 */ div.s $f14,$f6,$f8 -.L0f124684: -/* f124684: 02001025 */ or $v0,$s0,$zero -/* f124688: 3c0eb400 */ lui $t6,0xb400 -/* f12468c: ac4e0000 */ sw $t6,0x0($v0) -/* f124690: 8fb904dc */ lw $t9,0x4dc($sp) -/* f124694: 4458f800 */ cfc1 $t8,$31 -/* f124698: 240f0001 */ addiu $t7,$zero,0x1 -/* f12469c: 44cff800 */ ctc1 $t7,$31 -/* f1246a0: c72a002c */ lwc1 $f10,0x2c($t9) -/* f1246a4: 26100008 */ addiu $s0,$s0,0x8 -/* f1246a8: 02001825 */ or $v1,$s0,$zero -/* f1246ac: 46005124 */ cvt.w.s $f4,$f10 -/* f1246b0: 3c19b200 */ lui $t9,0xb200 -/* f1246b4: 444ff800 */ cfc1 $t7,$31 -/* f1246b8: 00000000 */ nop -/* f1246bc: 31ef0078 */ andi $t7,$t7,0x78 -/* f1246c0: 11e00012 */ beqz $t7,.L0f12470c -/* f1246c4: 3c014f00 */ lui $at,0x4f00 -/* f1246c8: 44812000 */ mtc1 $at,$f4 -/* f1246cc: 240f0001 */ addiu $t7,$zero,0x1 -/* f1246d0: 46045101 */ sub.s $f4,$f10,$f4 -/* f1246d4: 44cff800 */ ctc1 $t7,$31 -/* f1246d8: 00000000 */ nop -/* f1246dc: 46002124 */ cvt.w.s $f4,$f4 -/* f1246e0: 444ff800 */ cfc1 $t7,$31 -/* f1246e4: 00000000 */ nop -/* f1246e8: 31ef0078 */ andi $t7,$t7,0x78 -/* f1246ec: 15e00005 */ bnez $t7,.L0f124704 -/* f1246f0: 00000000 */ nop -/* f1246f4: 440f2000 */ mfc1 $t7,$f4 -/* f1246f8: 3c018000 */ lui $at,0x8000 -/* f1246fc: 10000007 */ b .L0f12471c -/* f124700: 01e17825 */ or $t7,$t7,$at -.L0f124704: -/* f124704: 10000005 */ b .L0f12471c -/* f124708: 240fffff */ addiu $t7,$zero,-1 -.L0f12470c: -/* f12470c: 440f2000 */ mfc1 $t7,$f4 -/* f124710: 00000000 */ nop -/* f124714: 05e0fffb */ bltz $t7,.L0f124704 -/* f124718: 00000000 */ nop -.L0f12471c: -/* f12471c: 3c01ce00 */ lui $at,0xce00 -/* f124720: 01e17025 */ or $t6,$t7,$at -/* f124724: ac4e0004 */ sw $t6,0x4($v0) -/* f124728: 44d8f800 */ ctc1 $t8,$31 -/* f12472c: ac790000 */ sw $t9,0x0($v1) -/* f124730: 8fb804e0 */ lw $t8,0x4e0($sp) -/* f124734: 26100008 */ addiu $s0,$s0,0x8 -/* f124738: 02002025 */ or $a0,$s0,$zero -/* f12473c: c706002c */ lwc1 $f6,0x2c($t8) -/* f124740: 8fb804d4 */ lw $t8,0x4d4($sp) -/* f124744: 3c0fb400 */ lui $t7,0xb400 -/* f124748: 4600320d */ trunc.w.s $f8,$f6 -/* f12474c: c70a002c */ lwc1 $f10,0x2c($t8) -/* f124750: 26100008 */ addiu $s0,$s0,0x8 -/* f124754: 4600510d */ trunc.w.s $f4,$f10 -/* f124758: 440e4000 */ mfc1 $t6,$f8 -/* f12475c: 00000000 */ nop -/* f124760: 000ecc00 */ sll $t9,$t6,0x10 -/* f124764: 440e2000 */ mfc1 $t6,$f4 -/* f124768: 00000000 */ nop -/* f12476c: 032ec025 */ or $t8,$t9,$t6 -/* f124770: ac780004 */ sw $t8,0x4($v1) -/* f124774: ac8f0000 */ sw $t7,0x0($a0) -/* f124778: e7ae0198 */ swc1 $f14,0x198($sp) -/* f12477c: 0fc2d5fe */ jal camGetScreenLeft -/* f124780: afa4018c */ sw $a0,0x18c($sp) -/* f124784: 0fc54be8 */ jal func0f152fa0 -/* f124788: 46000306 */ mov.s $f12,$f0 -/* f12478c: 8fb9018c */ lw $t9,0x18c($sp) -/* f124790: c7ac0198 */ lwc1 $f12,0x198($sp) -/* f124794: 02001825 */ or $v1,$s0,$zero -/* f124798: 3c0eb200 */ lui $t6,0xb200 -/* f12479c: af220004 */ sw $v0,0x4($t9) -/* f1247a0: ac6e0000 */ sw $t6,0x0($v1) -/* f1247a4: afa30188 */ sw $v1,0x188($sp) -/* f1247a8: 0fc54be8 */ jal func0f152fa0 -/* f1247ac: 26100008 */ addiu $s0,$s0,0x8 -/* f1247b0: 8fa30188 */ lw $v1,0x188($sp) -/* f1247b4: 02002025 */ or $a0,$s0,$zero -/* f1247b8: 3c18b400 */ lui $t8,0xb400 -/* f1247bc: ac620004 */ sw $v0,0x4($v1) -/* f1247c0: ac980000 */ sw $t8,0x0($a0) -/* f1247c4: afa40184 */ sw $a0,0x184($sp) -/* f1247c8: 0fc2d5fe */ jal camGetScreenLeft -/* f1247cc: 26100008 */ addiu $s0,$s0,0x8 -/* f1247d0: 0fc2d5f6 */ jal camGetScreenWidth -/* f1247d4: e7a0005c */ swc1 $f0,0x5c($sp) -/* f1247d8: c7a6005c */ lwc1 $f6,0x5c($sp) -/* f1247dc: 3c013e80 */ lui $at,0x3e80 -/* f1247e0: 44815000 */ mtc1 $at,$f10 -/* f1247e4: 46060200 */ add.s $f8,$f0,$f6 -/* f1247e8: 0fc54be8 */ jal func0f152fa0 -/* f1247ec: 460a4301 */ sub.s $f12,$f8,$f10 -/* f1247f0: 8faf0184 */ lw $t7,0x184($sp) -/* f1247f4: 02001825 */ or $v1,$s0,$zero -/* f1247f8: 3c19b200 */ lui $t9,0xb200 -/* f1247fc: ade20004 */ sw $v0,0x4($t7) -/* f124800: ac790000 */ sw $t9,0x0($v1) -/* f124804: afa30180 */ sw $v1,0x180($sp) -/* f124808: 26100008 */ addiu $s0,$s0,0x8 -/* f12480c: 0fc54be8 */ jal func0f152fa0 -/* f124810: 4600a306 */ mov.s $f12,$f20 -/* f124814: 8fa30180 */ lw $v1,0x180($sp) -/* f124818: 02002025 */ or $a0,$s0,$zero -/* f12481c: 3c0eb400 */ lui $t6,0xb400 -/* f124820: ac620004 */ sw $v0,0x4($v1) -/* f124824: ac8e0000 */ sw $t6,0x0($a0) -/* f124828: afa4017c */ sw $a0,0x17c($sp) -/* f12482c: 0fc2d5fe */ jal camGetScreenLeft -/* f124830: 26100008 */ addiu $s0,$s0,0x8 -/* f124834: 0fc54be8 */ jal func0f152fa0 -/* f124838: 46000306 */ mov.s $f12,$f0 -/* f12483c: 8fb8017c */ lw $t8,0x17c($sp) -/* f124840: 02001825 */ or $v1,$s0,$zero -/* f124844: 3c0fb200 */ lui $t7,0xb200 -/* f124848: af020004 */ sw $v0,0x4($t8) -/* f12484c: ac6f0000 */ sw $t7,0x0($v1) -/* f124850: afa30178 */ sw $v1,0x178($sp) -/* f124854: 26100008 */ addiu $s0,$s0,0x8 -/* f124858: 0fc54be8 */ jal func0f152fa0 -/* f12485c: 4600a306 */ mov.s $f12,$f20 -/* f124860: 8fa30178 */ lw $v1,0x178($sp) -/* f124864: ac620004 */ sw $v0,0x4($v1) -.L0f124868: -/* f124868: 8fa804cc */ lw $t0,0x4cc($sp) -/* f12486c: c7a003c0 */ lwc1 $f0,0x3c0($sp) -/* f124870: 8fa704c8 */ lw $a3,0x4c8($sp) -/* f124874: c504000c */ lwc1 $f4,0xc($t0) -/* f124878: 8fa904c4 */ lw $t1,0x4c4($sp) -/* f12487c: 8fab04e0 */ lw $t3,0x4e0($sp) -/* f124880: 46002182 */ mul.s $f6,$f4,$f0 -/* f124884: 3c017f1b */ lui $at,%hi(var7f1b5104) -/* f124888: e7a603b0 */ swc1 $f6,0x3b0($sp) -/* f12488c: c4e8000c */ lwc1 $f8,0xc($a3) -/* f124890: c7b003b0 */ lwc1 $f16,0x3b0($sp) -/* f124894: 46004282 */ mul.s $f10,$f8,$f0 -/* f124898: e7aa03b4 */ swc1 $f10,0x3b4($sp) -/* f12489c: c524000c */ lwc1 $f4,0xc($t1) -/* f1248a0: 46002182 */ mul.s $f6,$f4,$f0 -/* f1248a4: c7a403b4 */ lwc1 $f4,0x3b4($sp) -/* f1248a8: 4610203c */ c.lt.s $f4,$f16 -/* f1248ac: e7a603b8 */ swc1 $f6,0x3b8($sp) -/* f1248b0: c568000c */ lwc1 $f8,0xc($t3) -/* f1248b4: 46004282 */ mul.s $f10,$f8,$f0 -/* f1248b8: c7a003b8 */ lwc1 $f0,0x3b8($sp) -/* f1248bc: 45000002 */ bc1f .L0f1248c8 -/* f1248c0: e7aa03bc */ swc1 $f10,0x3bc($sp) -/* f1248c4: 46002406 */ mov.s $f16,$f4 -.L0f1248c8: -/* f1248c8: 4610003c */ c.lt.s $f0,$f16 -/* f1248cc: 00000000 */ nop -/* f1248d0: 45020003 */ bc1fl .L0f1248e0 -/* f1248d4: c7a003bc */ lwc1 $f0,0x3bc($sp) -/* f1248d8: 46000406 */ mov.s $f16,$f0 -/* f1248dc: c7a003bc */ lwc1 $f0,0x3bc($sp) -.L0f1248e0: -/* f1248e0: 4610003c */ c.lt.s $f0,$f16 -/* f1248e4: 00000000 */ nop -/* f1248e8: 45000002 */ bc1f .L0f1248f4 -/* f1248ec: 00000000 */ nop -/* f1248f0: 46000406 */ mov.s $f16,$f0 -.L0f1248f4: -/* f1248f4: c4205104 */ lwc1 $f0,%lo(var7f1b5104)($at) -/* f1248f8: 3c013f00 */ lui $at,0x3f00 -/* f1248fc: 44813000 */ mtc1 $at,$f6 -/* f124900: c5080034 */ lwc1 $f8,0x34($t0) -/* f124904: 46068402 */ mul.s $f16,$f16,$f6 -/* f124908: 00000000 */ nop -/* f12490c: 46104282 */ mul.s $f10,$f8,$f16 -/* f124910: e7aa039c */ swc1 $f10,0x39c($sp) -/* f124914: c4e40034 */ lwc1 $f4,0x34($a3) -/* f124918: 46102182 */ mul.s $f6,$f4,$f16 -/* f12491c: e7a603a0 */ swc1 $f6,0x3a0($sp) -/* f124920: c5280034 */ lwc1 $f8,0x34($t1) -/* f124924: 46104282 */ mul.s $f10,$f8,$f16 -/* f124928: c7a8039c */ lwc1 $f8,0x39c($sp) -/* f12492c: e7aa03a4 */ swc1 $f10,0x3a4($sp) -/* f124930: c5640034 */ lwc1 $f4,0x34($t3) -/* f124934: 46102182 */ mul.s $f6,$f4,$f16 -/* f124938: e7a603a8 */ swc1 $f6,0x3a8($sp) -/* f12493c: c50a0020 */ lwc1 $f10,0x20($t0) -/* f124940: 460a4102 */ mul.s $f4,$f8,$f10 -/* f124944: e7a4036c */ swc1 $f4,0x36c($sp) -/* f124948: c5060024 */ lwc1 $f6,0x24($t0) -/* f12494c: 4604a03e */ c.le.s $f20,$f4 -/* f124950: 46064282 */ mul.s $f10,$f8,$f6 -/* f124954: 00000000 */ nop -/* f124958: 46004182 */ mul.s $f6,$f8,$f0 -/* f12495c: e7aa0370 */ swc1 $f10,0x370($sp) -/* f124960: c7aa03a0 */ lwc1 $f10,0x3a0($sp) -/* f124964: e7a60374 */ swc1 $f6,0x374($sp) -/* f124968: c4e80020 */ lwc1 $f8,0x20($a3) -/* f12496c: 46085182 */ mul.s $f6,$f10,$f8 -/* f124970: e7a60378 */ swc1 $f6,0x378($sp) -/* f124974: c4e80024 */ lwc1 $f8,0x24($a3) -/* f124978: 46085182 */ mul.s $f6,$f10,$f8 -/* f12497c: 00000000 */ nop -/* f124980: 46005202 */ mul.s $f8,$f10,$f0 -/* f124984: e7a6037c */ swc1 $f6,0x37c($sp) -/* f124988: c7a603a4 */ lwc1 $f6,0x3a4($sp) -/* f12498c: e7a80380 */ swc1 $f8,0x380($sp) -/* f124990: c52a0020 */ lwc1 $f10,0x20($t1) -/* f124994: 460a3202 */ mul.s $f8,$f6,$f10 -/* f124998: e7a80384 */ swc1 $f8,0x384($sp) -/* f12499c: c52a0024 */ lwc1 $f10,0x24($t1) -/* f1249a0: 460a3202 */ mul.s $f8,$f6,$f10 -/* f1249a4: 00000000 */ nop -/* f1249a8: 46003282 */ mul.s $f10,$f6,$f0 -/* f1249ac: e7a80388 */ swc1 $f8,0x388($sp) -/* f1249b0: c7a803a8 */ lwc1 $f8,0x3a8($sp) -/* f1249b4: e7aa038c */ swc1 $f10,0x38c($sp) -/* f1249b8: c5660020 */ lwc1 $f6,0x20($t3) -/* f1249bc: 46064282 */ mul.s $f10,$f8,$f6 -/* f1249c0: c7a803a8 */ lwc1 $f8,0x3a8($sp) -/* f1249c4: e7aa0390 */ swc1 $f10,0x390($sp) -/* f1249c8: c5660024 */ lwc1 $f6,0x24($t3) -/* f1249cc: 46064282 */ mul.s $f10,$f8,$f6 -/* f1249d0: c7a803a8 */ lwc1 $f8,0x3a8($sp) -/* f1249d4: 46004182 */ mul.s $f6,$f8,$f0 -/* f1249d8: c7a00370 */ lwc1 $f0,0x370($sp) -/* f1249dc: e7aa0394 */ swc1 $f10,0x394($sp) -/* f1249e0: 45000003 */ bc1f .L0f1249f0 -/* f1249e4: e7a60398 */ swc1 $f6,0x398($sp) -/* f1249e8: 10000003 */ b .L0f1249f8 -/* f1249ec: 46002086 */ mov.s $f2,$f4 -.L0f1249f0: -/* f1249f0: c7a2036c */ lwc1 $f2,0x36c($sp) -/* f1249f4: 46001087 */ neg.s $f2,$f2 -.L0f1249f8: -/* f1249f8: 4600a03e */ c.le.s $f20,$f0 -/* f1249fc: 00000000 */ nop -/* f124a00: 45020004 */ bc1fl .L0f124a14 -/* f124a04: 46000387 */ neg.s $f14,$f0 -/* f124a08: 10000002 */ b .L0f124a14 -/* f124a0c: 46000386 */ mov.s $f14,$f0 -/* f124a10: 46000387 */ neg.s $f14,$f0 -.L0f124a14: -/* f124a14: c7a00378 */ lwc1 $f0,0x378($sp) -/* f124a18: 4600a03e */ c.le.s $f20,$f0 -/* f124a1c: 00000000 */ nop -/* f124a20: 45020004 */ bc1fl .L0f124a34 -/* f124a24: 46000307 */ neg.s $f12,$f0 -/* f124a28: 10000002 */ b .L0f124a34 -/* f124a2c: 46000306 */ mov.s $f12,$f0 -/* f124a30: 46000307 */ neg.s $f12,$f0 -.L0f124a34: -/* f124a34: 460c103c */ c.lt.s $f2,$f12 -/* f124a38: 00000000 */ nop -/* f124a3c: 45020009 */ bc1fl .L0f124a64 -/* f124a40: c7a0037c */ lwc1 $f0,0x37c($sp) -/* f124a44: 4600a03e */ c.le.s $f20,$f0 -/* f124a48: 00000000 */ nop -/* f124a4c: 45020004 */ bc1fl .L0f124a60 -/* f124a50: 46000087 */ neg.s $f2,$f0 -/* f124a54: 10000002 */ b .L0f124a60 -/* f124a58: 46000086 */ mov.s $f2,$f0 -/* f124a5c: 46000087 */ neg.s $f2,$f0 -.L0f124a60: -/* f124a60: c7a0037c */ lwc1 $f0,0x37c($sp) -.L0f124a64: -/* f124a64: 4600a03e */ c.le.s $f20,$f0 -/* f124a68: 00000000 */ nop -/* f124a6c: 45020004 */ bc1fl .L0f124a80 -/* f124a70: 46000307 */ neg.s $f12,$f0 -/* f124a74: 10000002 */ b .L0f124a80 -/* f124a78: 46000306 */ mov.s $f12,$f0 -/* f124a7c: 46000307 */ neg.s $f12,$f0 -.L0f124a80: -/* f124a80: 460c703c */ c.lt.s $f14,$f12 -/* f124a84: e7b003ac */ swc1 $f16,0x3ac($sp) -/* f124a88: 4502000b */ bc1fl .L0f124ab8 -/* f124a8c: c7a00384 */ lwc1 $f0,0x384($sp) -/* f124a90: 4600a03e */ c.le.s $f20,$f0 -/* f124a94: 00000000 */ nop -/* f124a98: 45020005 */ bc1fl .L0f124ab0 -/* f124a9c: 46000387 */ neg.s $f14,$f0 -/* f124aa0: 46000386 */ mov.s $f14,$f0 -/* f124aa4: 10000003 */ b .L0f124ab4 -/* f124aa8: e7b003ac */ swc1 $f16,0x3ac($sp) -/* f124aac: 46000387 */ neg.s $f14,$f0 -.L0f124ab0: -/* f124ab0: e7b003ac */ swc1 $f16,0x3ac($sp) -.L0f124ab4: -/* f124ab4: c7a00384 */ lwc1 $f0,0x384($sp) -.L0f124ab8: -/* f124ab8: 4600a03e */ c.le.s $f20,$f0 -/* f124abc: 00000000 */ nop -/* f124ac0: 45020004 */ bc1fl .L0f124ad4 -/* f124ac4: 46000307 */ neg.s $f12,$f0 -/* f124ac8: 10000002 */ b .L0f124ad4 -/* f124acc: 46000306 */ mov.s $f12,$f0 -/* f124ad0: 46000307 */ neg.s $f12,$f0 -.L0f124ad4: -/* f124ad4: 460c103c */ c.lt.s $f2,$f12 -/* f124ad8: 00000000 */ nop -/* f124adc: 45020009 */ bc1fl .L0f124b04 -/* f124ae0: c7a00388 */ lwc1 $f0,0x388($sp) -/* f124ae4: 4600a03e */ c.le.s $f20,$f0 -/* f124ae8: 00000000 */ nop -/* f124aec: 45020004 */ bc1fl .L0f124b00 -/* f124af0: 46000087 */ neg.s $f2,$f0 -/* f124af4: 10000002 */ b .L0f124b00 -/* f124af8: 46000086 */ mov.s $f2,$f0 -/* f124afc: 46000087 */ neg.s $f2,$f0 -.L0f124b00: -/* f124b00: c7a00388 */ lwc1 $f0,0x388($sp) -.L0f124b04: -/* f124b04: 4600a03e */ c.le.s $f20,$f0 -/* f124b08: 00000000 */ nop -/* f124b0c: 45020004 */ bc1fl .L0f124b20 -/* f124b10: 46000307 */ neg.s $f12,$f0 -/* f124b14: 10000002 */ b .L0f124b20 -/* f124b18: 46000306 */ mov.s $f12,$f0 -/* f124b1c: 46000307 */ neg.s $f12,$f0 -.L0f124b20: -/* f124b20: 460c703c */ c.lt.s $f14,$f12 -/* f124b24: 00000000 */ nop -/* f124b28: 45020009 */ bc1fl .L0f124b50 -/* f124b2c: c7a00390 */ lwc1 $f0,0x390($sp) -/* f124b30: 4600a03e */ c.le.s $f20,$f0 -/* f124b34: 00000000 */ nop -/* f124b38: 45020004 */ bc1fl .L0f124b4c -/* f124b3c: 46000387 */ neg.s $f14,$f0 -/* f124b40: 10000002 */ b .L0f124b4c -/* f124b44: 46000386 */ mov.s $f14,$f0 -/* f124b48: 46000387 */ neg.s $f14,$f0 -.L0f124b4c: -/* f124b4c: c7a00390 */ lwc1 $f0,0x390($sp) -.L0f124b50: -/* f124b50: 4600a03e */ c.le.s $f20,$f0 -/* f124b54: 00000000 */ nop -/* f124b58: 45020004 */ bc1fl .L0f124b6c -/* f124b5c: 46000307 */ neg.s $f12,$f0 -/* f124b60: 10000002 */ b .L0f124b6c -/* f124b64: 46000306 */ mov.s $f12,$f0 -/* f124b68: 46000307 */ neg.s $f12,$f0 -.L0f124b6c: -/* f124b6c: 460c103c */ c.lt.s $f2,$f12 -/* f124b70: e7a20364 */ swc1 $f2,0x364($sp) -/* f124b74: 4502000a */ bc1fl .L0f124ba0 -/* f124b78: c7a00394 */ lwc1 $f0,0x394($sp) -/* f124b7c: 4600a03e */ c.le.s $f20,$f0 -/* f124b80: 00000000 */ nop -/* f124b84: 45020004 */ bc1fl .L0f124b98 -/* f124b88: 46000087 */ neg.s $f2,$f0 -/* f124b8c: 10000003 */ b .L0f124b9c -/* f124b90: e7a00364 */ swc1 $f0,0x364($sp) -/* f124b94: 46000087 */ neg.s $f2,$f0 -.L0f124b98: -/* f124b98: e7a20364 */ swc1 $f2,0x364($sp) -.L0f124b9c: -/* f124b9c: c7a00394 */ lwc1 $f0,0x394($sp) -.L0f124ba0: -/* f124ba0: 4600a03e */ c.le.s $f20,$f0 -/* f124ba4: 00000000 */ nop -/* f124ba8: 45020004 */ bc1fl .L0f124bbc -/* f124bac: 46000307 */ neg.s $f12,$f0 -/* f124bb0: 10000002 */ b .L0f124bbc -/* f124bb4: 46000306 */ mov.s $f12,$f0 -/* f124bb8: 46000307 */ neg.s $f12,$f0 -.L0f124bbc: -/* f124bbc: 460c703c */ c.lt.s $f14,$f12 -/* f124bc0: e7ae0368 */ swc1 $f14,0x368($sp) -/* f124bc4: 4502000a */ bc1fl .L0f124bf0 -/* f124bc8: c7aa036c */ lwc1 $f10,0x36c($sp) -/* f124bcc: 4600a03e */ c.le.s $f20,$f0 -/* f124bd0: 00000000 */ nop -/* f124bd4: 45020004 */ bc1fl .L0f124be8 -/* f124bd8: 46000387 */ neg.s $f14,$f0 -/* f124bdc: 10000003 */ b .L0f124bec -/* f124be0: e7a00368 */ swc1 $f0,0x368($sp) -/* f124be4: 46000387 */ neg.s $f14,$f0 -.L0f124be8: -/* f124be8: e7ae0368 */ swc1 $f14,0x368($sp) -.L0f124bec: -/* f124bec: c7aa036c */ lwc1 $f10,0x36c($sp) -.L0f124bf0: -/* f124bf0: c7a80370 */ lwc1 $f8,0x370($sp) -/* f124bf4: c7a60374 */ lwc1 $f6,0x374($sp) -/* f124bf8: e7aa0354 */ swc1 $f10,0x354($sp) -/* f124bfc: c7aa037c */ lwc1 $f10,0x37c($sp) -/* f124c00: c7a40378 */ lwc1 $f4,0x378($sp) -/* f124c04: e7a80358 */ swc1 $f8,0x358($sp) -/* f124c08: e7a6035c */ swc1 $f6,0x35c($sp) -/* f124c0c: e7aa0338 */ swc1 $f10,0x338($sp) -/* f124c10: e7a40334 */ swc1 $f4,0x334($sp) -/* f124c14: c7a80380 */ lwc1 $f8,0x380($sp) -/* f124c18: c7a40388 */ lwc1 $f4,0x388($sp) -/* f124c1c: c7aa038c */ lwc1 $f10,0x38c($sp) -/* f124c20: c7a60384 */ lwc1 $f6,0x384($sp) -/* f124c24: e7a8033c */ swc1 $f8,0x33c($sp) -/* f124c28: e7a40318 */ swc1 $f4,0x318($sp) -/* f124c2c: e7aa031c */ swc1 $f10,0x31c($sp) -/* f124c30: e7a60314 */ swc1 $f6,0x314($sp) -/* f124c34: c5080030 */ lwc1 $f8,0x30($t0) -/* f124c38: 27a302f4 */ addiu $v1,$sp,0x2f4 -/* f124c3c: 27a60334 */ addiu $a2,$sp,0x334 -/* f124c40: e7a80360 */ swc1 $f8,0x360($sp) -/* f124c44: c4e60030 */ lwc1 $f6,0x30($a3) -/* f124c48: 27a70324 */ addiu $a3,$sp,0x324 -/* f124c4c: 27a20354 */ addiu $v0,$sp,0x354 -/* f124c50: e7a60340 */ swc1 $f6,0x340($sp) -/* f124c54: c5240030 */ lwc1 $f4,0x30($t1) -/* f124c58: 27a402d4 */ addiu $a0,$sp,0x2d4 -/* f124c5c: 27a50314 */ addiu $a1,$sp,0x314 -/* f124c60: e7a40320 */ swc1 $f4,0x320($sp) -.L0f124c64: -/* f124c64: c4400000 */ lwc1 $f0,0x0($v0) -/* f124c68: c4ca0000 */ lwc1 $f10,0x0($a2) -/* f124c6c: c4a60000 */ lwc1 $f6,0x0($a1) -/* f124c70: 24a50004 */ addiu $a1,$a1,0x4 -/* f124c74: 46005201 */ sub.s $f8,$f10,$f0 -/* f124c78: 00a7082b */ sltu $at,$a1,$a3 -/* f124c7c: 24630004 */ addiu $v1,$v1,0x4 -/* f124c80: 46003101 */ sub.s $f4,$f6,$f0 -/* f124c84: 24c60004 */ addiu $a2,$a2,0x4 -/* f124c88: 24420004 */ addiu $v0,$v0,0x4 -/* f124c8c: 24840004 */ addiu $a0,$a0,0x4 -/* f124c90: e468fffc */ swc1 $f8,-0x4($v1) -/* f124c94: 1420fff3 */ bnez $at,.L0f124c64 -/* f124c98: e484fffc */ swc1 $f4,-0x4($a0) -/* f124c9c: 27a302f4 */ addiu $v1,$sp,0x2f4 -/* f124ca0: 27a20354 */ addiu $v0,$sp,0x354 -/* f124ca4: 27a402d4 */ addiu $a0,$sp,0x2d4 -/* f124ca8: 27a70294 */ addiu $a3,$sp,0x294 -/* f124cac: 27a502b4 */ addiu $a1,$sp,0x2b4 -/* f124cb0: 27a80274 */ addiu $t0,$sp,0x274 -/* f124cb4: 27a60254 */ addiu $a2,$sp,0x254 -/* f124cb8: c7b20410 */ lwc1 $f18,0x410($sp) -/* f124cbc: c7b0040c */ lwc1 $f16,0x40c($sp) -/* f124cc0: 27a90264 */ addiu $t1,$sp,0x264 -.L0f124cc4: -/* f124cc4: c4800000 */ lwc1 $f0,0x0($a0) -/* f124cc8: c4620000 */ lwc1 $f2,0x0($v1) -/* f124ccc: c7a80418 */ lwc1 $f8,0x418($sp) -/* f124cd0: 46120282 */ mul.s $f10,$f0,$f18 -/* f124cd4: 3c013780 */ lui $at,0x3780 -/* f124cd8: 24c60004 */ addiu $a2,$a2,0x4 -/* f124cdc: 46024182 */ mul.s $f6,$f8,$f2 -/* f124ce0: 44814000 */ mtc1 $at,$f8 -/* f124ce4: 24630004 */ addiu $v1,$v1,0x4 -/* f124ce8: 24420004 */ addiu $v0,$v0,0x4 -/* f124cec: 24840004 */ addiu $a0,$a0,0x4 -/* f124cf0: 24e70004 */ addiu $a3,$a3,0x4 -/* f124cf4: 24a50004 */ addiu $a1,$a1,0x4 -/* f124cf8: 46065101 */ sub.s $f4,$f10,$f6 -/* f124cfc: 25080004 */ addiu $t0,$t0,0x4 -/* f124d00: 46082302 */ mul.s $f12,$f4,$f8 -/* f124d04: e4ecfffc */ swc1 $f12,-0x4($a3) -/* f124d08: c7aa0414 */ lwc1 $f10,0x414($sp) -/* f124d0c: 460a1182 */ mul.s $f6,$f2,$f10 -/* f124d10: 44815000 */ mtc1 $at,$f10 -/* f124d14: 00c9082b */ sltu $at,$a2,$t1 -/* f124d18: 46008102 */ mul.s $f4,$f16,$f0 -/* f124d1c: 46043201 */ sub.s $f8,$f6,$f4 -/* f124d20: 460a4182 */ mul.s $f6,$f8,$f10 -/* f124d24: e4a6fffc */ swc1 $f6,-0x4($a1) -/* f124d28: c7a40484 */ lwc1 $f4,0x484($sp) -/* f124d2c: c4aafffc */ lwc1 $f10,-0x4($a1) -/* f124d30: 46046202 */ mul.s $f8,$f12,$f4 -/* f124d34: c444fffc */ lwc1 $f4,-0x4($v0) -/* f124d38: e488fffc */ swc1 $f8,-0x4($a0) -/* f124d3c: c7a60484 */ lwc1 $f6,0x484($sp) -/* f124d40: e4c4fffc */ swc1 $f4,-0x4($a2) -/* f124d44: 46065382 */ mul.s $f14,$f10,$f6 -/* f124d48: e46efffc */ swc1 $f14,-0x4($v1) -/* f124d4c: 1420ffdd */ bnez $at,.L0f124cc4 -/* f124d50: e50efffc */ swc1 $f14,-0x4($t0) -/* f124d54: 8fa304dc */ lw $v1,0x4dc($sp) -/* f124d58: c568002c */ lwc1 $f8,0x2c($t3) -/* f124d5c: 8fa204d4 */ lw $v0,0x4d4($sp) -/* f124d60: c46a002c */ lwc1 $f10,0x2c($v1) -/* f124d64: c4640010 */ lwc1 $f4,0x10($v1) -/* f124d68: c44e0010 */ lwc1 $f14,0x10($v0) -/* f124d6c: 460a4003 */ div.s $f0,$f8,$f10 -/* f124d70: c5660010 */ lwc1 $f6,0x10($t3) -/* f124d74: 3c014780 */ lui $at,0x4780 -/* f124d78: 44816000 */ mtc1 $at,$f12 -/* f124d7c: 46047201 */ sub.s $f8,$f14,$f4 -/* f124d80: 240e0001 */ addiu $t6,$zero,0x1 -/* f124d84: 46004282 */ mul.s $f10,$f8,$f0 -/* f124d88: 460a3100 */ add.s $f4,$f6,$f10 -/* f124d8c: e7a40170 */ swc1 $f4,0x170($sp) -/* f124d90: c4660014 */ lwc1 $f6,0x14($v1) -/* f124d94: c4420014 */ lwc1 $f2,0x14($v0) -/* f124d98: c5680014 */ lwc1 $f8,0x14($t3) -/* f124d9c: 46061281 */ sub.s $f10,$f2,$f6 -/* f124da0: 46005102 */ mul.s $f4,$f10,$f0 -/* f124da4: 46044180 */ add.s $f6,$f8,$f4 -/* f124da8: e7a6016c */ swc1 $f6,0x16c($sp) -/* f124dac: c4680018 */ lwc1 $f8,0x18($v1) -/* f124db0: c4500018 */ lwc1 $f16,0x18($v0) -/* f124db4: c56a0018 */ lwc1 $f10,0x18($t3) -/* f124db8: 46088101 */ sub.s $f4,$f16,$f8 -/* f124dbc: 46002182 */ mul.s $f6,$f4,$f0 -/* f124dc0: 46065200 */ add.s $f8,$f10,$f6 -/* f124dc4: e7a80168 */ swc1 $f8,0x168($sp) -/* f124dc8: c46a001c */ lwc1 $f10,0x1c($v1) -/* f124dcc: c452001c */ lwc1 $f18,0x1c($v0) -/* f124dd0: c564001c */ lwc1 $f4,0x1c($t3) -/* f124dd4: 460a9181 */ sub.s $f6,$f18,$f10 -/* f124dd8: 46003202 */ mul.s $f8,$f6,$f0 -/* f124ddc: 46082280 */ add.s $f10,$f4,$f8 -/* f124de0: 460c7182 */ mul.s $f6,$f14,$f12 -/* f124de4: e7aa0164 */ swc1 $f10,0x164($sp) -/* f124de8: 4459f800 */ cfc1 $t9,$31 -/* f124dec: 44cef800 */ ctc1 $t6,$31 -/* f124df0: 00000000 */ nop -/* f124df4: 46003124 */ cvt.w.s $f4,$f6 -/* f124df8: 444ef800 */ cfc1 $t6,$31 -/* f124dfc: 00000000 */ nop -/* f124e00: 31ce0078 */ andi $t6,$t6,0x78 -/* f124e04: 11c00012 */ beqz $t6,.L0f124e50 -/* f124e08: 3c014f00 */ lui $at,0x4f00 -/* f124e0c: 44812000 */ mtc1 $at,$f4 -/* f124e10: 240e0001 */ addiu $t6,$zero,0x1 -/* f124e14: 46043101 */ sub.s $f4,$f6,$f4 -/* f124e18: 44cef800 */ ctc1 $t6,$31 -/* f124e1c: 00000000 */ nop -/* f124e20: 46002124 */ cvt.w.s $f4,$f4 -/* f124e24: 444ef800 */ cfc1 $t6,$31 -/* f124e28: 00000000 */ nop -/* f124e2c: 31ce0078 */ andi $t6,$t6,0x78 -/* f124e30: 15c00005 */ bnez $t6,.L0f124e48 -/* f124e34: 00000000 */ nop -/* f124e38: 440e2000 */ mfc1 $t6,$f4 -/* f124e3c: 3c018000 */ lui $at,0x8000 -/* f124e40: 10000007 */ b .L0f124e60 -/* f124e44: 01c17025 */ or $t6,$t6,$at -.L0f124e48: -/* f124e48: 10000005 */ b .L0f124e60 -/* f124e4c: 240effff */ addiu $t6,$zero,-1 -.L0f124e50: -/* f124e50: 440e2000 */ mfc1 $t6,$f4 -/* f124e54: 00000000 */ nop -/* f124e58: 05c0fffb */ bltz $t6,.L0f124e48 -/* f124e5c: 00000000 */ nop -.L0f124e60: -/* f124e60: 44d9f800 */ ctc1 $t9,$31 -/* f124e64: 240f0001 */ addiu $t7,$zero,0x1 -/* f124e68: afae0160 */ sw $t6,0x160($sp) -/* f124e6c: 460c1202 */ mul.s $f8,$f2,$f12 -/* f124e70: 4458f800 */ cfc1 $t8,$31 -/* f124e74: 44cff800 */ ctc1 $t7,$31 -/* f124e78: 00000000 */ nop -/* f124e7c: 460042a4 */ cvt.w.s $f10,$f8 -/* f124e80: 444ff800 */ cfc1 $t7,$31 -/* f124e84: 00000000 */ nop -/* f124e88: 31ef0078 */ andi $t7,$t7,0x78 -/* f124e8c: 11e00012 */ beqz $t7,.L0f124ed8 -/* f124e90: 3c014f00 */ lui $at,0x4f00 -/* f124e94: 44815000 */ mtc1 $at,$f10 -/* f124e98: 240f0001 */ addiu $t7,$zero,0x1 -/* f124e9c: 460a4281 */ sub.s $f10,$f8,$f10 -/* f124ea0: 44cff800 */ ctc1 $t7,$31 -/* f124ea4: 00000000 */ nop -/* f124ea8: 460052a4 */ cvt.w.s $f10,$f10 -/* f124eac: 444ff800 */ cfc1 $t7,$31 -/* f124eb0: 00000000 */ nop -/* f124eb4: 31ef0078 */ andi $t7,$t7,0x78 -/* f124eb8: 15e00005 */ bnez $t7,.L0f124ed0 -/* f124ebc: 00000000 */ nop -/* f124ec0: 440f5000 */ mfc1 $t7,$f10 -/* f124ec4: 3c018000 */ lui $at,0x8000 -/* f124ec8: 10000007 */ b .L0f124ee8 -/* f124ecc: 01e17825 */ or $t7,$t7,$at -.L0f124ed0: -/* f124ed0: 10000005 */ b .L0f124ee8 -/* f124ed4: 240fffff */ addiu $t7,$zero,-1 -.L0f124ed8: -/* f124ed8: 440f5000 */ mfc1 $t7,$f10 -/* f124edc: 00000000 */ nop -/* f124ee0: 05e0fffb */ bltz $t7,.L0f124ed0 -/* f124ee4: 00000000 */ nop -.L0f124ee8: -/* f124ee8: 3c014780 */ lui $at,0x4780 -/* f124eec: 44d8f800 */ ctc1 $t8,$31 -/* f124ef0: 44810000 */ mtc1 $at,$f0 -/* f124ef4: 240e0001 */ addiu $t6,$zero,0x1 -/* f124ef8: afaf015c */ sw $t7,0x15c($sp) -/* f124efc: 46008182 */ mul.s $f6,$f16,$f0 -/* f124f00: 4459f800 */ cfc1 $t9,$31 -/* f124f04: 44cef800 */ ctc1 $t6,$31 -/* f124f08: 00000000 */ nop -/* f124f0c: 46003124 */ cvt.w.s $f4,$f6 -/* f124f10: 444ef800 */ cfc1 $t6,$31 -/* f124f14: 00000000 */ nop -/* f124f18: 31ce0078 */ andi $t6,$t6,0x78 -/* f124f1c: 11c00012 */ beqz $t6,.L0f124f68 -/* f124f20: 3c014f00 */ lui $at,0x4f00 -/* f124f24: 44812000 */ mtc1 $at,$f4 -/* f124f28: 240e0001 */ addiu $t6,$zero,0x1 -/* f124f2c: 46043101 */ sub.s $f4,$f6,$f4 -/* f124f30: 44cef800 */ ctc1 $t6,$31 -/* f124f34: 00000000 */ nop -/* f124f38: 46002124 */ cvt.w.s $f4,$f4 -/* f124f3c: 444ef800 */ cfc1 $t6,$31 -/* f124f40: 00000000 */ nop -/* f124f44: 31ce0078 */ andi $t6,$t6,0x78 -/* f124f48: 15c00005 */ bnez $t6,.L0f124f60 -/* f124f4c: 00000000 */ nop -/* f124f50: 440e2000 */ mfc1 $t6,$f4 -/* f124f54: 3c018000 */ lui $at,0x8000 -/* f124f58: 10000007 */ b .L0f124f78 -/* f124f5c: 01c17025 */ or $t6,$t6,$at -.L0f124f60: -/* f124f60: 10000005 */ b .L0f124f78 -/* f124f64: 240effff */ addiu $t6,$zero,-1 -.L0f124f68: -/* f124f68: 440e2000 */ mfc1 $t6,$f4 -/* f124f6c: 00000000 */ nop -/* f124f70: 05c0fffb */ bltz $t6,.L0f124f60 -/* f124f74: 00000000 */ nop -.L0f124f78: -/* f124f78: 44d9f800 */ ctc1 $t9,$31 -/* f124f7c: 240f0001 */ addiu $t7,$zero,0x1 -/* f124f80: afae0158 */ sw $t6,0x158($sp) -/* f124f84: 46009202 */ mul.s $f8,$f18,$f0 -/* f124f88: 4458f800 */ cfc1 $t8,$31 -/* f124f8c: 44cff800 */ ctc1 $t7,$31 -/* f124f90: 00000000 */ nop -/* f124f94: 460042a4 */ cvt.w.s $f10,$f8 -/* f124f98: 444ff800 */ cfc1 $t7,$31 -/* f124f9c: 00000000 */ nop -/* f124fa0: 31ef0078 */ andi $t7,$t7,0x78 -/* f124fa4: 11e00012 */ beqz $t7,.L0f124ff0 -/* f124fa8: 3c014f00 */ lui $at,0x4f00 -/* f124fac: 44815000 */ mtc1 $at,$f10 -/* f124fb0: 240f0001 */ addiu $t7,$zero,0x1 -/* f124fb4: 460a4281 */ sub.s $f10,$f8,$f10 -/* f124fb8: 44cff800 */ ctc1 $t7,$31 -/* f124fbc: 00000000 */ nop -/* f124fc0: 460052a4 */ cvt.w.s $f10,$f10 -/* f124fc4: 444ff800 */ cfc1 $t7,$31 -/* f124fc8: 00000000 */ nop -/* f124fcc: 31ef0078 */ andi $t7,$t7,0x78 -/* f124fd0: 15e00005 */ bnez $t7,.L0f124fe8 -/* f124fd4: 00000000 */ nop -/* f124fd8: 440f5000 */ mfc1 $t7,$f10 -/* f124fdc: 3c018000 */ lui $at,0x8000 -/* f124fe0: 10000007 */ b .L0f125000 -/* f124fe4: 01e17825 */ or $t7,$t7,$at -.L0f124fe8: -/* f124fe8: 10000005 */ b .L0f125000 -/* f124fec: 240fffff */ addiu $t7,$zero,-1 -.L0f124ff0: -/* f124ff0: 440f5000 */ mfc1 $t7,$f10 -/* f124ff4: 00000000 */ nop -/* f124ff8: 05e0fffb */ bltz $t7,.L0f124fe8 -/* f124ffc: 00000000 */ nop -.L0f125000: -/* f125000: 8fb904d8 */ lw $t9,0x4d8($sp) -/* f125004: afaf0154 */ sw $t7,0x154($sp) -/* f125008: 44d8f800 */ ctc1 $t8,$31 -/* f12500c: c4440028 */ lwc1 $f4,0x28($v0) -/* f125010: c7260028 */ lwc1 $f6,0x28($t9) -/* f125014: 3c013e80 */ lui $at,0x3e80 -/* f125018: 44815000 */ mtc1 $at,$f10 -/* f12501c: 46043201 */ sub.s $f8,$f6,$f4 -/* f125020: c7a40170 */ lwc1 $f4,0x170($sp) -/* f125024: 460a4182 */ mul.s $f6,$f8,$f10 -/* f125028: 460e2201 */ sub.s $f8,$f4,$f14 -/* f12502c: 0fc54be8 */ jal func0f152fa0 -/* f125030: 46064303 */ div.s $f12,$f8,$f6 -/* f125034: 8fa304d4 */ lw $v1,0x4d4($sp) -/* f125038: afa20150 */ sw $v0,0x150($sp) -/* f12503c: c7aa016c */ lwc1 $f10,0x16c($sp) -/* f125040: c4640014 */ lwc1 $f4,0x14($v1) -/* f125044: 8fae04d8 */ lw $t6,0x4d8($sp) -/* f125048: 3c013e80 */ lui $at,0x3e80 -/* f12504c: 46045201 */ sub.s $f8,$f10,$f4 -/* f125050: c46a0028 */ lwc1 $f10,0x28($v1) -/* f125054: c5c60028 */ lwc1 $f6,0x28($t6) -/* f125058: 460a3101 */ sub.s $f4,$f6,$f10 -/* f12505c: 44813000 */ mtc1 $at,$f6 -/* f125060: 00000000 */ nop -/* f125064: 46062282 */ mul.s $f10,$f4,$f6 -/* f125068: 0fc54be8 */ jal func0f152fa0 -/* f12506c: 460a4303 */ div.s $f12,$f8,$f10 -/* f125070: 8fa304d4 */ lw $v1,0x4d4($sp) -/* f125074: afa2014c */ sw $v0,0x14c($sp) -/* f125078: c7a40168 */ lwc1 $f4,0x168($sp) -/* f12507c: c4660018 */ lwc1 $f6,0x18($v1) -/* f125080: 8fb804d8 */ lw $t8,0x4d8($sp) -/* f125084: 3c013e80 */ lui $at,0x3e80 -/* f125088: 46062201 */ sub.s $f8,$f4,$f6 -/* f12508c: c4640028 */ lwc1 $f4,0x28($v1) -/* f125090: c70a0028 */ lwc1 $f10,0x28($t8) -/* f125094: 46045181 */ sub.s $f6,$f10,$f4 -/* f125098: 44815000 */ mtc1 $at,$f10 -/* f12509c: 00000000 */ nop -/* f1250a0: 460a3102 */ mul.s $f4,$f6,$f10 -/* f1250a4: 0fc54be8 */ jal func0f152fa0 -/* f1250a8: 46044303 */ div.s $f12,$f8,$f4 -/* f1250ac: 8fa304d4 */ lw $v1,0x4d4($sp) -/* f1250b0: afa20148 */ sw $v0,0x148($sp) -/* f1250b4: c7a60164 */ lwc1 $f6,0x164($sp) -/* f1250b8: c46a001c */ lwc1 $f10,0x1c($v1) -/* f1250bc: 8faf04d8 */ lw $t7,0x4d8($sp) -/* f1250c0: 3c013e80 */ lui $at,0x3e80 -/* f1250c4: 460a3201 */ sub.s $f8,$f6,$f10 -/* f1250c8: c4660028 */ lwc1 $f6,0x28($v1) -/* f1250cc: c5e40028 */ lwc1 $f4,0x28($t7) -/* f1250d0: 46062281 */ sub.s $f10,$f4,$f6 -/* f1250d4: 44812000 */ mtc1 $at,$f4 -/* f1250d8: 00000000 */ nop -/* f1250dc: 46045182 */ mul.s $f6,$f10,$f4 -/* f1250e0: 0fc54be8 */ jal func0f152fa0 -/* f1250e4: 46064303 */ div.s $f12,$f8,$f6 -/* f1250e8: 8fa304dc */ lw $v1,0x4dc($sp) -/* f1250ec: 8fb904d4 */ lw $t9,0x4d4($sp) -/* f1250f0: afa20144 */ sw $v0,0x144($sp) -/* f1250f4: c46a0010 */ lwc1 $f10,0x10($v1) -/* f1250f8: c7240010 */ lwc1 $f4,0x10($t9) -/* f1250fc: c466002c */ lwc1 $f6,0x2c($v1) -/* f125100: 3c013e80 */ lui $at,0x3e80 -/* f125104: 46045201 */ sub.s $f8,$f10,$f4 -/* f125108: c72a002c */ lwc1 $f10,0x2c($t9) -/* f12510c: 460a3101 */ sub.s $f4,$f6,$f10 -/* f125110: 44813000 */ mtc1 $at,$f6 -/* f125114: 00000000 */ nop -/* f125118: 46062282 */ mul.s $f10,$f4,$f6 -/* f12511c: 0fc54be8 */ jal func0f152fa0 -/* f125120: 460a4303 */ div.s $f12,$f8,$f10 -/* f125124: 8fa304dc */ lw $v1,0x4dc($sp) -/* f125128: 8fae04d4 */ lw $t6,0x4d4($sp) -/* f12512c: afa20130 */ sw $v0,0x130($sp) -/* f125130: afa20140 */ sw $v0,0x140($sp) -/* f125134: c4640014 */ lwc1 $f4,0x14($v1) -/* f125138: c5c60014 */ lwc1 $f6,0x14($t6) -/* f12513c: c46a002c */ lwc1 $f10,0x2c($v1) -/* f125140: 3c013e80 */ lui $at,0x3e80 -/* f125144: 46062201 */ sub.s $f8,$f4,$f6 -/* f125148: c5c4002c */ lwc1 $f4,0x2c($t6) -/* f12514c: 46045181 */ sub.s $f6,$f10,$f4 -/* f125150: 44815000 */ mtc1 $at,$f10 -/* f125154: 00000000 */ nop -/* f125158: 460a3102 */ mul.s $f4,$f6,$f10 -/* f12515c: 0fc54be8 */ jal func0f152fa0 -/* f125160: 46044303 */ div.s $f12,$f8,$f4 -/* f125164: 8fb804dc */ lw $t8,0x4dc($sp) -/* f125168: 8faf04d4 */ lw $t7,0x4d4($sp) -/* f12516c: afa2012c */ sw $v0,0x12c($sp) -/* f125170: afa2013c */ sw $v0,0x13c($sp) -/* f125174: c7060018 */ lwc1 $f6,0x18($t8) -/* f125178: c5ea0018 */ lwc1 $f10,0x18($t7) -/* f12517c: c704002c */ lwc1 $f4,0x2c($t8) -/* f125180: 3c013e80 */ lui $at,0x3e80 -/* f125184: 460a3201 */ sub.s $f8,$f6,$f10 -/* f125188: c5e6002c */ lwc1 $f6,0x2c($t7) -/* f12518c: 46062281 */ sub.s $f10,$f4,$f6 -/* f125190: 44812000 */ mtc1 $at,$f4 -/* f125194: 00000000 */ nop -/* f125198: 46045182 */ mul.s $f6,$f10,$f4 -/* f12519c: 0fc54be8 */ jal func0f152fa0 -/* f1251a0: 46064303 */ div.s $f12,$f8,$f6 -/* f1251a4: 8fb904dc */ lw $t9,0x4dc($sp) -/* f1251a8: 8fae04d4 */ lw $t6,0x4d4($sp) -/* f1251ac: 3c013e80 */ lui $at,0x3e80 -/* f1251b0: c72a001c */ lwc1 $f10,0x1c($t9) -/* f1251b4: c5c4001c */ lwc1 $f4,0x1c($t6) -/* f1251b8: c726002c */ lwc1 $f6,0x2c($t9) -/* f1251bc: 46045201 */ sub.s $f8,$f10,$f4 -/* f1251c0: c5ca002c */ lwc1 $f10,0x2c($t6) -/* f1251c4: afa20138 */ sw $v0,0x138($sp) -/* f1251c8: afa20128 */ sw $v0,0x128($sp) -/* f1251cc: 460a3101 */ sub.s $f4,$f6,$f10 -/* f1251d0: 44813000 */ mtc1 $at,$f6 -/* f1251d4: 00000000 */ nop -/* f1251d8: 46062282 */ mul.s $f10,$f4,$f6 -/* f1251dc: 0fc54be8 */ jal func0f152fa0 -/* f1251e0: 460a4303 */ div.s $f12,$f8,$f10 -/* f1251e4: 8fab015c */ lw $t3,0x15c($sp) -/* f1251e8: 8faa0160 */ lw $t2,0x160($sp) -/* f1251ec: 3c09ffff */ lui $t1,0xffff -/* f1251f0: 02001825 */ or $v1,$s0,$zero -/* f1251f4: 01697824 */ and $t7,$t3,$t1 -/* f1251f8: 8fac0128 */ lw $t4,0x128($sp) -/* f1251fc: 8fad0138 */ lw $t5,0x138($sp) -/* f125200: 8fbf0158 */ lw $ra,0x158($sp) -/* f125204: 000fcc02 */ srl $t9,$t7,0x10 -/* f125208: 0149c024 */ and $t8,$t2,$t1 -/* f12520c: 3c08b400 */ lui $t0,0xb400 -/* f125210: 03197025 */ or $t6,$t8,$t9 -/* f125214: 26100008 */ addiu $s0,$s0,0x8 -/* f125218: ac6e0004 */ sw $t6,0x4($v1) -/* f12521c: ac680000 */ sw $t0,0x0($v1) -/* f125220: 02002025 */ or $a0,$s0,$zero -/* f125224: 3c0fb200 */ lui $t7,0xb200 -/* f125228: ac8f0000 */ sw $t7,0x0($a0) -/* f12522c: 8fb90154 */ lw $t9,0x154($sp) -/* f125230: 03e9c024 */ and $t8,$ra,$t1 -/* f125234: 26100008 */ addiu $s0,$s0,0x8 -/* f125238: 03297024 */ and $t6,$t9,$t1 -/* f12523c: 000e7c02 */ srl $t7,$t6,0x10 -/* f125240: 030fc825 */ or $t9,$t8,$t7 -/* f125244: ac990004 */ sw $t9,0x4($a0) -/* f125248: 02002825 */ or $a1,$s0,$zero -/* f12524c: aca80000 */ sw $t0,0x0($a1) -/* f125250: 8faf014c */ lw $t7,0x14c($sp) -/* f125254: 8fae0150 */ lw $t6,0x150($sp) -/* f125258: 26100008 */ addiu $s0,$s0,0x8 -/* f12525c: 01e9c824 */ and $t9,$t7,$t1 -/* f125260: 01c9c024 */ and $t8,$t6,$t1 -/* f125264: 00197402 */ srl $t6,$t9,0x10 -/* f125268: 030e7825 */ or $t7,$t8,$t6 -/* f12526c: acaf0004 */ sw $t7,0x4($a1) -/* f125270: 3c05b200 */ lui $a1,0xb200 -/* f125274: 02003025 */ or $a2,$s0,$zero -/* f125278: acc50000 */ sw $a1,0x0($a2) -/* f12527c: 8fae0144 */ lw $t6,0x144($sp) -/* f125280: 8fb90148 */ lw $t9,0x148($sp) -/* f125284: 26100008 */ addiu $s0,$s0,0x8 -/* f125288: 01c97824 */ and $t7,$t6,$t1 -/* f12528c: 0329c024 */ and $t8,$t9,$t1 -/* f125290: 000fcc02 */ srl $t9,$t7,0x10 -/* f125294: 03197025 */ or $t6,$t8,$t9 -/* f125298: acce0004 */ sw $t6,0x4($a2) -/* f12529c: 02001825 */ or $v1,$s0,$zero -/* f1252a0: 3179ffff */ andi $t9,$t3,0xffff -/* f1252a4: 000ac400 */ sll $t8,$t2,0x10 -/* f1252a8: 03197025 */ or $t6,$t8,$t9 -/* f1252ac: 26100008 */ addiu $s0,$s0,0x8 -/* f1252b0: ac6e0004 */ sw $t6,0x4($v1) -/* f1252b4: ac680000 */ sw $t0,0x0($v1) -/* f1252b8: 02002025 */ or $a0,$s0,$zero -/* f1252bc: ac850000 */ sw $a1,0x0($a0) -/* f1252c0: 8fb90154 */ lw $t9,0x154($sp) -/* f1252c4: 001fc400 */ sll $t8,$ra,0x10 -/* f1252c8: 26100008 */ addiu $s0,$s0,0x8 -/* f1252cc: 332effff */ andi $t6,$t9,0xffff -/* f1252d0: 030e7825 */ or $t7,$t8,$t6 -/* f1252d4: ac8f0004 */ sw $t7,0x4($a0) -/* f1252d8: 02003825 */ or $a3,$s0,$zero -/* f1252dc: ace80000 */ sw $t0,0x0($a3) -/* f1252e0: 8faf014c */ lw $t7,0x14c($sp) -/* f1252e4: 8fb80150 */ lw $t8,0x150($sp) -/* f1252e8: 8faa0140 */ lw $t2,0x140($sp) -/* f1252ec: 31f9ffff */ andi $t9,$t7,0xffff -/* f1252f0: 00187400 */ sll $t6,$t8,0x10 -/* f1252f4: 8fa8013c */ lw $t0,0x13c($sp) -/* f1252f8: 01d9c025 */ or $t8,$t6,$t9 -/* f1252fc: 26100008 */ addiu $s0,$s0,0x8 -/* f125300: acf80004 */ sw $t8,0x4($a3) -/* f125304: 02001825 */ or $v1,$s0,$zero -/* f125308: 3c0fb200 */ lui $t7,0xb200 -/* f12530c: ac6f0000 */ sw $t7,0x0($v1) -/* f125310: 8faf0144 */ lw $t7,0x144($sp) -/* f125314: 8fb90148 */ lw $t9,0x148($sp) -/* f125318: 26100008 */ addiu $s0,$s0,0x8 -/* f12531c: 31eeffff */ andi $t6,$t7,0xffff -/* f125320: 0019c400 */ sll $t8,$t9,0x10 -/* f125324: 030ec825 */ or $t9,$t8,$t6 -/* f125328: 0109c024 */ and $t8,$t0,$t1 -/* f12532c: ac790004 */ sw $t9,0x4($v1) -/* f125330: 00187402 */ srl $t6,$t8,0x10 -/* f125334: 01497824 */ and $t7,$t2,$t1 -/* f125338: 01eec825 */ or $t9,$t7,$t6 -/* f12533c: 02002025 */ or $a0,$s0,$zero -/* f125340: 26100008 */ addiu $s0,$s0,0x8 -/* f125344: 3c1fb400 */ lui $ra,0xb400 -/* f125348: ac990004 */ sw $t9,0x4($a0) -/* f12534c: 02002825 */ or $a1,$s0,$zero -/* f125350: 00493024 */ and $a2,$v0,$t1 -/* f125354: ac9f0000 */ sw $ra,0x0($a0) -/* f125358: 00067c02 */ srl $t7,$a2,0x10 -/* f12535c: 01a97024 */ and $t6,$t5,$t1 -/* f125360: 01cfc825 */ or $t9,$t6,$t7 -/* f125364: 26100008 */ addiu $s0,$s0,0x8 -/* f125368: 3c18b200 */ lui $t8,0xb200 -/* f12536c: acb80000 */ sw $t8,0x0($a1) -/* f125370: acb90004 */ sw $t9,0x4($a1) -/* f125374: 02001825 */ or $v1,$s0,$zero -/* f125378: ac7f0000 */ sw $ra,0x0($v1) -/* f12537c: 8fae012c */ lw $t6,0x12c($sp) -/* f125380: 8fb80130 */ lw $t8,0x130($sp) -/* f125384: 01e03025 */ or $a2,$t7,$zero -/* f125388: 01c9c824 */ and $t9,$t6,$t1 -/* f12538c: 03097824 */ and $t7,$t8,$t1 -/* f125390: 0019c402 */ srl $t8,$t9,0x10 -/* f125394: 01f87025 */ or $t6,$t7,$t8 -/* f125398: 26100008 */ addiu $s0,$s0,0x8 -/* f12539c: 02002025 */ or $a0,$s0,$zero -/* f1253a0: 01897824 */ and $t7,$t4,$t1 -/* f1253a4: ac6e0004 */ sw $t6,0x4($v1) -/* f1253a8: 01e6c025 */ or $t8,$t7,$a2 -/* f1253ac: 3c19b200 */ lui $t9,0xb200 -/* f1253b0: ac990000 */ sw $t9,0x0($a0) -/* f1253b4: 26100008 */ addiu $s0,$s0,0x8 -/* f1253b8: ac980004 */ sw $t8,0x4($a0) -/* f1253bc: 02002825 */ or $a1,$s0,$zero -/* f1253c0: 000acc00 */ sll $t9,$t2,0x10 -/* f1253c4: 310fffff */ andi $t7,$t0,0xffff -/* f1253c8: 032fc025 */ or $t8,$t9,$t7 -/* f1253cc: 26100008 */ addiu $s0,$s0,0x8 -/* f1253d0: acb80004 */ sw $t8,0x4($a1) -/* f1253d4: acbf0000 */ sw $ra,0x0($a1) -/* f1253d8: 02005825 */ or $t3,$s0,$zero -/* f1253dc: 304fffff */ andi $t7,$v0,0xffff -/* f1253e0: 000dcc00 */ sll $t9,$t5,0x10 -/* f1253e4: 032fc025 */ or $t8,$t9,$t7 -/* f1253e8: 26100008 */ addiu $s0,$s0,0x8 -/* f1253ec: 3c1fb200 */ lui $ra,0xb200 -/* f1253f0: ad7f0000 */ sw $ra,0x0($t3) -/* f1253f4: ad780004 */ sw $t8,0x4($t3) -/* f1253f8: 02003825 */ or $a3,$s0,$zero -/* f1253fc: 3c0eb400 */ lui $t6,0xb400 -/* f125400: acee0000 */ sw $t6,0x0($a3) -/* f125404: 8fae012c */ lw $t6,0x12c($sp) -/* f125408: 8faf0130 */ lw $t7,0x130($sp) -/* f12540c: 26100008 */ addiu $s0,$s0,0x8 -/* f125410: 31d9ffff */ andi $t9,$t6,0xffff -/* f125414: 000fc400 */ sll $t8,$t7,0x10 -/* f125418: 03197825 */ or $t7,$t8,$t9 -/* f12541c: acef0004 */ sw $t7,0x4($a3) -/* f125420: 3059ffff */ andi $t9,$v0,0xffff -/* f125424: 02004025 */ or $t0,$s0,$zero -/* f125428: 000cc400 */ sll $t8,$t4,0x10 -/* f12542c: 03197825 */ or $t7,$t8,$t9 -/* f125430: 3c013d00 */ lui $at,0x3d00 -/* f125434: ad0f0004 */ sw $t7,0x4($t0) -/* f125438: ad1f0000 */ sw $ra,0x0($t0) -/* f12543c: 44817000 */ mtc1 $at,$f14 -/* f125440: c7a40364 */ lwc1 $f4,0x364($sp) -/* f125444: c7a80368 */ lwc1 $f8,0x368($sp) -/* f125448: 26100008 */ addiu $s0,$s0,0x8 -/* f12544c: 460e2182 */ mul.s $f6,$f4,$f14 -/* f125450: c7a403ac */ lwc1 $f4,0x3ac($sp) -/* f125454: 27a20204 */ addiu $v0,$sp,0x204 -/* f125458: 460e4282 */ mul.s $f10,$f8,$f14 -/* f12545c: 27a501f4 */ addiu $a1,$sp,0x1f4 -/* f125460: 27a402d4 */ addiu $a0,$sp,0x2d4 -/* f125464: 27a60214 */ addiu $a2,$sp,0x214 -/* f125468: e7a60234 */ swc1 $f6,0x234($sp) -/* f12546c: 460e2182 */ mul.s $f6,$f4,$f14 -/* f125470: 27a302f4 */ addiu $v1,$sp,0x2f4 -/* f125474: e7aa0238 */ swc1 $f10,0x238($sp) -/* f125478: 3c013f80 */ lui $at,0x3f80 -/* f12547c: e7a6023c */ swc1 $f6,0x23c($sp) -.L0f125480: -/* f125480: c4800000 */ lwc1 $f0,0x0($a0) -/* f125484: 4600a03e */ c.le.s $f20,$f0 -/* f125488: 00000000 */ nop -/* f12548c: 45020004 */ bc1fl .L0f1254a0 -/* f125490: 46000307 */ neg.s $f12,$f0 -/* f125494: 10000002 */ b .L0f1254a0 -/* f125498: 46000306 */ mov.s $f12,$f0 -/* f12549c: 46000307 */ neg.s $f12,$f0 -.L0f1254a0: -/* f1254a0: c4620000 */ lwc1 $f2,0x0($v1) -/* f1254a4: 460e6202 */ mul.s $f8,$f12,$f14 -/* f1254a8: 4602a03e */ c.le.s $f20,$f2 -/* f1254ac: 00000000 */ nop -/* f1254b0: 45000003 */ bc1f .L0f1254c0 -/* f1254b4: e4c80000 */ swc1 $f8,0x0($a2) -/* f1254b8: 10000002 */ b .L0f1254c4 -/* f1254bc: 46001306 */ mov.s $f12,$f2 -.L0f1254c0: -/* f1254c0: 46001307 */ neg.s $f12,$f2 -.L0f1254c4: -/* f1254c4: 460e6282 */ mul.s $f10,$f12,$f14 -/* f1254c8: 24a50004 */ addiu $a1,$a1,0x4 -/* f1254cc: 24630004 */ addiu $v1,$v1,0x4 -/* f1254d0: 24840004 */ addiu $a0,$a0,0x4 -/* f1254d4: 24c60004 */ addiu $a2,$a2,0x4 -/* f1254d8: 14a2ffe9 */ bne $a1,$v0,.L0f125480 -/* f1254dc: e4aafffc */ swc1 $f10,-0x4($a1) -/* f1254e0: c7a20214 */ lwc1 $f2,0x214($sp) -/* f1254e4: c7a40234 */ lwc1 $f4,0x234($sp) -/* f1254e8: c7ac0218 */ lwc1 $f12,0x218($sp) -/* f1254ec: 46021180 */ add.s $f6,$f2,$f2 -/* f1254f0: c7aa01f4 */ lwc1 $f10,0x1f4($sp) -/* f1254f4: c7ae021c */ lwc1 $f14,0x21c($sp) -/* f1254f8: 44811000 */ mtc1 $at,$f2 -/* f1254fc: 46062200 */ add.s $f8,$f4,$f6 -/* f125500: c7a40238 */ lwc1 $f4,0x238($sp) -/* f125504: 3c013a80 */ lui $at,0x3a80 -/* f125508: 460c6180 */ add.s $f6,$f12,$f12 -/* f12550c: 46085000 */ add.s $f0,$f10,$f8 -/* f125510: c7a801f8 */ lwc1 $f8,0x1f8($sp) -/* f125514: 46062280 */ add.s $f10,$f4,$f6 -/* f125518: c7a4023c */ lwc1 $f4,0x23c($sp) -/* f12551c: 460e7180 */ add.s $f6,$f14,$f14 -/* f125520: 460a4400 */ add.s $f16,$f8,$f10 -/* f125524: c7aa01fc */ lwc1 $f10,0x1fc($sp) -/* f125528: 46062200 */ add.s $f8,$f4,$f6 -/* f12552c: 44812000 */ mtc1 $at,$f4 -/* f125530: e7b001d8 */ swc1 $f16,0x1d8($sp) -/* f125534: 4610003c */ c.lt.s $f0,$f16 -/* f125538: 46085480 */ add.s $f18,$f10,$f8 -/* f12553c: 45020004 */ bc1fl .L0f125550 -/* f125540: 4612003c */ c.lt.s $f0,$f18 -/* f125544: 46008006 */ mov.s $f0,$f16 -/* f125548: e7b001d8 */ swc1 $f16,0x1d8($sp) -/* f12554c: 4612003c */ c.lt.s $f0,$f18 -.L0f125550: -/* f125550: e7b201dc */ swc1 $f18,0x1dc($sp) -/* f125554: 45000003 */ bc1f .L0f125564 -/* f125558: 00000000 */ nop -/* f12555c: 46009006 */ mov.s $f0,$f18 -/* f125560: e7b201dc */ swc1 $f18,0x1dc($sp) -.L0f125564: -/* f125564: 46040002 */ mul.s $f0,$f0,$f4 -/* f125568: 4600103c */ c.lt.s $f2,$f0 -/* f12556c: 00000000 */ nop -/* f125570: 45020005 */ bc1fl .L0f125588 -/* f125574: e7a001d4 */ swc1 $f0,0x1d4($sp) -/* f125578: 46001503 */ div.s $f20,$f2,$f0 -/* f12557c: 10000003 */ b .L0f12558c -/* f125580: e7a001d4 */ swc1 $f0,0x1d4($sp) -/* f125584: e7a001d4 */ swc1 $f0,0x1d4($sp) -.L0f125588: -/* f125588: 46001506 */ mov.s $f20,$f2 -.L0f12558c: -/* f12558c: c7a60254 */ lwc1 $f6,0x254($sp) -/* f125590: e7b401c4 */ swc1 $f20,0x1c4($sp) -/* f125594: 4606a302 */ mul.s $f12,$f20,$f6 -/* f125598: 0fc54be8 */ jal func0f152fa0 -/* f12559c: 00000000 */ nop -/* f1255a0: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f1255a4: c7aa0258 */ lwc1 $f10,0x258($sp) -/* f1255a8: afa200e0 */ sw $v0,0xe0($sp) -/* f1255ac: 460aa302 */ mul.s $f12,$f20,$f10 -/* f1255b0: 0fc54be8 */ jal func0f152fa0 -/* f1255b4: 00000000 */ nop -/* f1255b8: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f1255bc: c7a8025c */ lwc1 $f8,0x25c($sp) -/* f1255c0: afa200dc */ sw $v0,0xdc($sp) -/* f1255c4: 4608a302 */ mul.s $f12,$f20,$f8 -/* f1255c8: 0fc54be8 */ jal func0f152fa0 -/* f1255cc: 00000000 */ nop -/* f1255d0: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f1255d4: c7a40260 */ lwc1 $f4,0x260($sp) -/* f1255d8: afa200d8 */ sw $v0,0xd8($sp) -/* f1255dc: 4604a302 */ mul.s $f12,$f20,$f4 -/* f1255e0: 0fc54be8 */ jal func0f152fa0 -/* f1255e4: 00000000 */ nop -/* f1255e8: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f1255ec: c7a602d4 */ lwc1 $f6,0x2d4($sp) -/* f1255f0: afa200d4 */ sw $v0,0xd4($sp) -/* f1255f4: 4606a302 */ mul.s $f12,$f20,$f6 -/* f1255f8: 0fc54be8 */ jal func0f152fa0 -/* f1255fc: 00000000 */ nop -/* f125600: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f125604: c7aa02d8 */ lwc1 $f10,0x2d8($sp) -/* f125608: afa200d0 */ sw $v0,0xd0($sp) -/* f12560c: 460aa302 */ mul.s $f12,$f20,$f10 -/* f125610: 0fc54be8 */ jal func0f152fa0 -/* f125614: 00000000 */ nop -/* f125618: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f12561c: c7a802dc */ lwc1 $f8,0x2dc($sp) -/* f125620: afa200cc */ sw $v0,0xcc($sp) -/* f125624: 4608a302 */ mul.s $f12,$f20,$f8 -/* f125628: 0fc54be8 */ jal func0f152fa0 -/* f12562c: 00000000 */ nop -/* f125630: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f125634: c7a402e0 */ lwc1 $f4,0x2e0($sp) -/* f125638: afa200c8 */ sw $v0,0xc8($sp) -/* f12563c: 4604a302 */ mul.s $f12,$f20,$f4 -/* f125640: 0fc54be8 */ jal func0f152fa0 -/* f125644: 00000000 */ nop -/* f125648: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f12564c: c7a602f4 */ lwc1 $f6,0x2f4($sp) -/* f125650: afa200c4 */ sw $v0,0xc4($sp) -/* f125654: 4606a302 */ mul.s $f12,$f20,$f6 -/* f125658: 0fc54be8 */ jal func0f152fa0 -/* f12565c: 00000000 */ nop -/* f125660: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f125664: c7aa02f8 */ lwc1 $f10,0x2f8($sp) -/* f125668: afa200b0 */ sw $v0,0xb0($sp) -/* f12566c: 460aa302 */ mul.s $f12,$f20,$f10 -/* f125670: 0fc54be8 */ jal func0f152fa0 -/* f125674: 00000000 */ nop -/* f125678: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f12567c: c7a802fc */ lwc1 $f8,0x2fc($sp) -/* f125680: afa200ac */ sw $v0,0xac($sp) -/* f125684: 4608a302 */ mul.s $f12,$f20,$f8 -/* f125688: 0fc54be8 */ jal func0f152fa0 -/* f12568c: 00000000 */ nop -/* f125690: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f125694: c7a40300 */ lwc1 $f4,0x300($sp) -/* f125698: afa200a8 */ sw $v0,0xa8($sp) -/* f12569c: 4604a302 */ mul.s $f12,$f20,$f4 -/* f1256a0: 0fc54be8 */ jal func0f152fa0 -/* f1256a4: 00000000 */ nop -/* f1256a8: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f1256ac: c7a60274 */ lwc1 $f6,0x274($sp) -/* f1256b0: afa200a4 */ sw $v0,0xa4($sp) -/* f1256b4: 4606a302 */ mul.s $f12,$f20,$f6 -/* f1256b8: 0fc54be8 */ jal func0f152fa0 -/* f1256bc: 00000000 */ nop -/* f1256c0: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f1256c4: c7aa0278 */ lwc1 $f10,0x278($sp) -/* f1256c8: afa200c0 */ sw $v0,0xc0($sp) -/* f1256cc: 460aa302 */ mul.s $f12,$f20,$f10 -/* f1256d0: 0fc54be8 */ jal func0f152fa0 -/* f1256d4: 00000000 */ nop -/* f1256d8: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f1256dc: c7a8027c */ lwc1 $f8,0x27c($sp) -/* f1256e0: afa200bc */ sw $v0,0xbc($sp) -/* f1256e4: 4608a302 */ mul.s $f12,$f20,$f8 -/* f1256e8: 0fc54be8 */ jal func0f152fa0 -/* f1256ec: 00000000 */ nop -/* f1256f0: c7b401c4 */ lwc1 $f20,0x1c4($sp) -/* f1256f4: c7a40280 */ lwc1 $f4,0x280($sp) -/* f1256f8: afa200b8 */ sw $v0,0xb8($sp) -/* f1256fc: 4604a302 */ mul.s $f12,$f20,$f4 -/* f125700: 0fc54be8 */ jal func0f152fa0 -/* f125704: 00000000 */ nop -/* f125708: 8fa800b8 */ lw $t0,0xb8($sp) -/* f12570c: 8fab00d4 */ lw $t3,0xd4($sp) -/* f125710: 8fbf00e0 */ lw $ra,0xe0($sp) -/* f125714: 3c0db400 */ lui $t5,0xb400 -/* f125718: ae0d0000 */ sw $t5,0x0($s0) -/* f12571c: 8fb800dc */ lw $t8,0xdc($sp) -/* f125720: 3c09ffff */ lui $t1,0xffff -/* f125724: 03e97024 */ and $t6,$ra,$t1 -/* f125728: 0309c824 */ and $t9,$t8,$t1 -/* f12572c: 00197c02 */ srl $t7,$t9,0x10 -/* f125730: 01cfc025 */ or $t8,$t6,$t7 -/* f125734: ae180004 */ sw $t8,0x4($s0) -/* f125738: 26040008 */ addiu $a0,$s0,0x8 -/* f12573c: 3c19b200 */ lui $t9,0xb200 -/* f125740: ac990000 */ sw $t9,0x0($a0) -/* f125744: 8fae00d8 */ lw $t6,0xd8($sp) -/* f125748: 0169c024 */ and $t8,$t3,$t1 -/* f12574c: 0018cc02 */ srl $t9,$t8,0x10 -/* f125750: 01c97824 */ and $t7,$t6,$t1 -/* f125754: 01f97025 */ or $t6,$t7,$t9 -/* f125758: ac8e0004 */ sw $t6,0x4($a0) -/* f12575c: 24850008 */ addiu $a1,$a0,0x8 -/* f125760: acad0000 */ sw $t5,0x0($a1) -/* f125764: 8fb900cc */ lw $t9,0xcc($sp) -/* f125768: 8fb800d0 */ lw $t8,0xd0($sp) -/* f12576c: 24a60008 */ addiu $a2,$a1,0x8 -/* f125770: 03297024 */ and $t6,$t9,$t1 -/* f125774: 03097824 */ and $t7,$t8,$t1 -/* f125778: 000ec402 */ srl $t8,$t6,0x10 -/* f12577c: 01f8c825 */ or $t9,$t7,$t8 -/* f125780: acb90004 */ sw $t9,0x4($a1) -/* f125784: 8fac00c4 */ lw $t4,0xc4($sp) -/* f125788: 3c0eb200 */ lui $t6,0xb200 -/* f12578c: acce0000 */ sw $t6,0x0($a2) -/* f125790: 8faf00c8 */ lw $t7,0xc8($sp) -/* f125794: 0189c824 */ and $t9,$t4,$t1 -/* f125798: 00197402 */ srl $t6,$t9,0x10 -/* f12579c: 01e9c024 */ and $t8,$t7,$t1 -/* f1257a0: 030e7825 */ or $t7,$t8,$t6 -/* f1257a4: accf0004 */ sw $t7,0x4($a2) -/* f1257a8: 24c30008 */ addiu $v1,$a2,0x8 -/* f1257ac: ac6d0000 */ sw $t5,0x0($v1) -/* f1257b0: 8fae00dc */ lw $t6,0xdc($sp) -/* f1257b4: 001fc400 */ sll $t8,$ra,0x10 -/* f1257b8: 24700008 */ addiu $s0,$v1,0x8 -/* f1257bc: 31cfffff */ andi $t7,$t6,0xffff -/* f1257c0: 030fc825 */ or $t9,$t8,$t7 -/* f1257c4: ac790004 */ sw $t9,0x4($v1) -/* f1257c8: 3c0eb200 */ lui $t6,0xb200 -/* f1257cc: ae0e0000 */ sw $t6,0x0($s0) -/* f1257d0: 8faf00d8 */ lw $t7,0xd8($sp) -/* f1257d4: 316effff */ andi $t6,$t3,0xffff -/* f1257d8: 26070008 */ addiu $a3,$s0,0x8 -/* f1257dc: 000fcc00 */ sll $t9,$t7,0x10 -/* f1257e0: 032ec025 */ or $t8,$t9,$t6 -/* f1257e4: ae180004 */ sw $t8,0x4($s0) -/* f1257e8: aced0000 */ sw $t5,0x0($a3) -/* f1257ec: 8fb800cc */ lw $t8,0xcc($sp) -/* f1257f0: 8fb900d0 */ lw $t9,0xd0($sp) -/* f1257f4: 8fab00c0 */ lw $t3,0xc0($sp) -/* f1257f8: 330fffff */ andi $t7,$t8,0xffff -/* f1257fc: 00197400 */ sll $t6,$t9,0x10 -/* f125800: 8fa600bc */ lw $a2,0xbc($sp) -/* f125804: 01cfc825 */ or $t9,$t6,$t7 -/* f125808: acf90004 */ sw $t9,0x4($a3) -/* f12580c: 3c0db200 */ lui $t5,0xb200 -/* f125810: 24e30008 */ addiu $v1,$a3,0x8 -/* f125814: ac6d0000 */ sw $t5,0x0($v1) -/* f125818: 8fae00c8 */ lw $t6,0xc8($sp) -/* f12581c: 3199ffff */ andi $t9,$t4,0xffff -/* f125820: 24640008 */ addiu $a0,$v1,0x8 -/* f125824: 000e7c00 */ sll $t7,$t6,0x10 -/* f125828: 01f9c025 */ or $t8,$t7,$t9 -/* f12582c: ac780004 */ sw $t8,0x4($v1) -/* f125830: 3c0eb400 */ lui $t6,0xb400 -/* f125834: 00c9c824 */ and $t9,$a2,$t1 -/* f125838: 0019c402 */ srl $t8,$t9,0x10 -/* f12583c: ac8e0000 */ sw $t6,0x0($a0) -/* f125840: 01697824 */ and $t7,$t3,$t1 -/* f125844: 01f87025 */ or $t6,$t7,$t8 -/* f125848: 00497824 */ and $t7,$v0,$t1 -/* f12584c: ac8e0004 */ sw $t6,0x4($a0) -/* f125850: 000fc402 */ srl $t8,$t7,0x10 -/* f125854: 0109c824 */ and $t9,$t0,$t1 -/* f125858: 24850008 */ addiu $a1,$a0,0x8 -/* f12585c: 03387025 */ or $t6,$t9,$t8 -/* f125860: acae0004 */ sw $t6,0x4($a1) -/* f125864: acad0000 */ sw $t5,0x0($a1) -/* f125868: 8fbf00ac */ lw $ra,0xac($sp) -/* f12586c: 8fad00b0 */ lw $t5,0xb0($sp) -/* f125870: 00405025 */ or $t2,$v0,$zero -/* f125874: 24b00008 */ addiu $s0,$a1,0x8 -/* f125878: 8fac00a8 */ lw $t4,0xa8($sp) -/* f12587c: 8fa700a4 */ lw $a3,0xa4($sp) -/* f125880: 02001025 */ or $v0,$s0,$zero -/* f125884: 3c0fb400 */ lui $t7,0xb400 -/* f125888: 03e9c024 */ and $t8,$ra,$t1 -/* f12588c: 00187402 */ srl $t6,$t8,0x10 -/* f125890: ac4f0000 */ sw $t7,0x0($v0) -/* f125894: 01a9c824 */ and $t9,$t5,$t1 -/* f125898: 032e7825 */ or $t7,$t9,$t6 -/* f12589c: ac4f0004 */ sw $t7,0x4($v0) -/* f1258a0: 26030008 */ addiu $v1,$s0,0x8 -/* f1258a4: 3c18b200 */ lui $t8,0xb200 -/* f1258a8: 00e97024 */ and $t6,$a3,$t1 -/* f1258ac: 000e7c02 */ srl $t7,$t6,0x10 -/* f1258b0: ac780000 */ sw $t8,0x0($v1) -/* f1258b4: 0189c824 */ and $t9,$t4,$t1 -/* f1258b8: 032fc025 */ or $t8,$t9,$t7 -/* f1258bc: ac780004 */ sw $t8,0x4($v1) -/* f1258c0: 24700008 */ addiu $s0,$v1,0x8 -/* f1258c4: 3c0eb400 */ lui $t6,0xb400 -/* f1258c8: ae0e0000 */ sw $t6,0x0($s0) -/* f1258cc: 000b7c00 */ sll $t7,$t3,0x10 -/* f1258d0: 30d8ffff */ andi $t8,$a2,0xffff -/* f1258d4: 01f87025 */ or $t6,$t7,$t8 -/* f1258d8: ae0e0004 */ sw $t6,0x4($s0) -/* f1258dc: 26050008 */ addiu $a1,$s0,0x8 -/* f1258e0: 3c19b200 */ lui $t9,0xb200 -/* f1258e4: acb90000 */ sw $t9,0x0($a1) -/* f1258e8: 314effff */ andi $t6,$t2,0xffff -/* f1258ec: 0008c400 */ sll $t8,$t0,0x10 -/* f1258f0: 030ec825 */ or $t9,$t8,$t6 -/* f1258f4: acb90004 */ sw $t9,0x4($a1) -/* f1258f8: 24a30008 */ addiu $v1,$a1,0x8 -/* f1258fc: 3c0fb400 */ lui $t7,0xb400 -/* f125900: ac6f0000 */ sw $t7,0x0($v1) -/* f125904: 33f9ffff */ andi $t9,$ra,0xffff -/* f125908: 000d7400 */ sll $t6,$t5,0x10 -/* f12590c: 01d97825 */ or $t7,$t6,$t9 -/* f125910: ac6f0004 */ sw $t7,0x4($v1) -/* f125914: 24640008 */ addiu $a0,$v1,0x8 -/* f125918: 3c18b300 */ lui $t8,0xb300 -/* f12591c: ac980000 */ sw $t8,0x0($a0) -/* f125920: 000ccc00 */ sll $t9,$t4,0x10 -/* f125924: 30efffff */ andi $t7,$a3,0xffff -/* f125928: 032fc025 */ or $t8,$t9,$t7 -/* f12592c: ac980004 */ sw $t8,0x4($a0) -/* f125930: 24820008 */ addiu $v0,$a0,0x8 -.L0f125934: -/* f125934: 8fbf0024 */ lw $ra,0x24($sp) -/* f125938: d7b40018 */ ldc1 $f20,0x18($sp) -/* f12593c: 8fb00020 */ lw $s0,0x20($sp) -/* f125940: 03e00008 */ jr $ra -/* f125944: 27bd04d0 */ addiu $sp,$sp,0x4d0 -); +Gfx *sky0f123fd4(Gfx *gdl, struct skything38 *arg1, struct skything38 *arg2, struct skything38 *arg3, struct skything38 *arg4, f32 arg5) +{ + struct skything38 *sp4cc; + struct skything38 *sp4c8; + struct skything38 *sp4c4; + s32 i; + u32 stack; + f32 sp4b8; + f32 sp4b4; + f32 sp4b0; + f32 sp4ac; + f32 sp4a8; + f32 sp4a4; + f32 sp4a0[1]; + f32 sp49c[1]; + f32 sp498[1]; + f32 sp494[1]; + f32 sp490[1]; + f32 sp48c[1]; + f32 sp488; + f32 sp484; + f32 sp480[1]; + f32 sp47c[1]; + f32 sp478[1]; + f32 sp474[1]; + f32 sp470[1]; + f32 sp46c[1]; + f32 sp468[1]; + f32 sp464[1]; + struct skything38 *swap1; + struct skything38 *swap2; + struct skything38 *swap3; + f32 sp454[1]; + u32 stack07; + f32 sp44c[1]; + u32 stack08; + u32 stack09; + f32 sp440[1]; + f32 sp43c[1]; + f32 sp438[1]; + f32 sp434[1]; + f32 sp430[1]; + f32 sp42c[1]; + f32 sp428[1]; + f32 sp424[1]; + f32 sp420[1]; + f32 sp41c[1]; + f32 sp418[1]; + f32 sp414[1]; + f32 sp410[1]; + f32 sp40c[1]; + f32 sp408[1]; + f32 sp404[1]; + f32 sp400[1]; + f32 sp3fc[1]; + f32 sp3f8[1]; + f32 sp3f4[1]; + f32 sp3f0[1]; + f32 sp3ec[1]; + f32 sp3e8[1]; + f32 sp3e4[1]; + f32 sp3e0[1]; + f32 sp3dc[1]; + f32 sp3d8[1]; + f32 sp3d4[1]; + f32 sp3d0[1]; + f32 sp3cc[1]; + f32 sp3c8[1]; + f32 sp3c4[1]; + f32 sp3c0; + f32 sp3bc[1]; + f32 sp3b8[1]; + f32 sp3b4[1]; + f32 sp3b0[1]; + f32 sp3ac; + f32 sp3a8[1]; + f32 sp3a4[1]; + f32 sp3a0[1]; + f32 sp39c[1]; + f32 sp398[1]; + f32 sp394[1]; + f32 sp390[1]; + f32 sp38c[1]; + f32 sp388[1]; + f32 sp384[1]; + f32 sp380[1]; + f32 sp37c[1]; + f32 sp378[1]; + f32 sp374[1]; + f32 sp370[1]; + f32 sp36c[1]; + f32 sp368[1]; + f32 sp364[1]; + f32 sp354[4]; + f32 sp334[8]; + f32 sp314[8]; + f32 sp2f4[8]; + f32 sp2d4[8]; + f32 sp2b4[8]; + f32 sp294[8]; + f32 sp274[8]; + f32 sp254[8]; + u32 stack10; + u32 stack11; + u32 stack12; + u32 stack13; + u32 stack00; + f32 sp23c[1]; + f32 sp238[1]; + f32 sp234[1]; + f32 sp214[8]; + f32 sp1f4[8]; + u32 stack03; + u32 stack04; + u32 stack05; + u32 stack06; + u32 stack15; + f32 sp1dc[1]; + f32 sp1d8[1]; + f32 sp1d4[1]; + u32 stack01; + u32 stack02; + u32 stack14; + f32 sp1c4[1]; + u32 stack16; + + if (sky0f122ce8(arg1, arg2) + || sky0f122ce8(arg2, arg3) + || sky0f122ce8(arg3, arg1) + || sky0f122ce8(arg4, arg1) + || sky0f122ce8(arg4, arg2) + || sky0f122ce8(arg4, arg3)) { + return gdl; + } + + sp3c0 = arg5 * (1.0f / 65536.0f); + + sp4b8 = arg2->unk28 - arg1->unk28; + sp4b4 = arg2->unk2c - arg1->unk2c; + sp4b0 = arg3->unk28 - arg1->unk28; + sp4ac = arg3->unk2c - arg1->unk2c; + + sp488 = ((sp4b0 * sp4b4) - (sp4b8 * sp4ac)) * (1.0f / 65536.0f); + + sp484 = 1.0f / sp488; + + sp4cc = arg1; + sp4c8 = arg2; + sp4c4 = arg3; + + if (sp4c8->unk2c < sp4cc->unk2c) { + swap1 = sp4c8; + sp4c8 = sp4cc; + sp4cc = swap1; + + sp488 *= -1.0f; + sp484 *= -1.0f; + } + + if (sp4c4->unk2c < sp4c8->unk2c) { + swap2 = sp4c8; + sp4c8 = sp4c4; + sp4c4 = swap2; + + sp488 *= -1.0f; + sp484 *= -1.0f; + } + + if (sp4c8->unk2c < sp4cc->unk2c) { + swap3 = sp4c8; + sp4c8 = sp4cc; + sp4cc = swap3; + + sp488 *= -1.0f; + sp484 *= -1.0f; + } + + sp464[0] = sp4c8->unk28 * 0.25f; + sp468[0] = 0.0f; + sp46c[0] = sp4cc->unk28 * 0.25f; + sp470[0] = 0.0f; + sp474[0] = sp4cc->unk28 * 0.25f; + sp478[0] = 0.0f; + sp480[0] = 0.0f; + sp47c[0] = 0.0f; + + sp48c[0] = sp4c4->unk28; + sp490[0] = sp4c4->unk2c; + sp494[0] = sp4c8->unk28; + sp498[0] = sp4c8->unk2c; + sp49c[0] = sp4cc->unk28; + sp4a0[0] = sp4cc->unk2c; + + sp4b8 = sp494[0] - sp49c[0]; + sp4b4 = sp498[0] - sp4a0[0]; + sp4b0 = sp48c[0] - sp49c[0]; + sp4ac = sp490[0] - sp4a0[0]; + sp4a8 = sp48c[0] - sp494[0]; + sp4a4 = sp490[0] - sp498[0]; + + sp440[0] = 0.0f; + sp43c[0] = 0.0f; + sp420[0] = 0.0f; + sp41c[0] = 0.0f; + sp3e4[0] = 0.0f; + sp3ec[0] = 0.0f; + sp3f4[0] = 0.0f; + sp400[0] = 0.0f; + sp3fc[0] = 0.0f; + sp3c4[0] = 0.0f; + sp3cc[0] = 0.0f; + sp3d4[0] = 0.0f; + sp3e0[0] = 0.0f; + sp3dc[0] = 0.0f; + + sp424[0] = sp4a8 / 4.0f; + sp428[0] = sp4a4 / 4.0f; + sp42c[0] = sp4b8 / 4.0f; + sp430[0] = sp4b4 / 4.0f; + sp434[0] = sp4b0 / 4.0f; + sp438[0] = sp4ac / 4.0f; + + sp404[0] = sp4a8 * 4.0f; + sp408[0] = sp4a4 * 4.0f; + sp40c[0] = sp4b8 * 4.0f; + sp410[0] = sp4b4 * 4.0f; + sp414[0] = sp4b0 * 4.0f; + sp418[0] = sp4ac * 4.0f; + + sp3e8[0] = 4.0f / sp4a4; + sp3f0[0] = 4.0f / sp4b4; + sp3f8[0] = 4.0f / sp4ac; + + sp3c8[0] = sp4a8 / sp4a4; + sp3d0[0] = sp4b8 / sp4b4; + sp3d8[0] = sp4b0 / sp4ac; + + sp3c8[0] = skyClamp(sp3c8[0], -1878.0f, 1877.0f); + sp3d0[0] = skyClamp(sp3d0[0], -1878.0f, 1877.0f); + sp3d8[0] = skyClamp(sp3d8[0], -1878.0f, 1877.0f); + + sp44c[0] = sp46c[0]; + sp454[0] = sp474[0]; + + if (arg1->unk28 < arg2->unk28) { + f32 sp1bc; + + if (arg3->unk2c - arg4->unk2c < 1.0f) { + sp1bc = -1878.0f; + } else { + sp1bc = -(camGetScreenWidth() - 0.25f) / ((arg3->unk2c - arg4->unk2c) / 4.0f); + } + + gImmp1(gdl++, G_RDPHALF_1, (G_TRI_SHADE_TXTR << 24) | 0x00800000 | (u32) arg3->unk2c); + gImmp1(gdl++, G_RDPHALF_CONT, (s32) arg4->unk2c << 16 | (s32) arg1->unk2c); + + gImmp1(gdl++, G_RDPHALF_1, func0f152fa0(camGetScreenLeft() + camGetScreenWidth() - 0.25f)); + gImmp1(gdl++, G_RDPHALF_CONT, func0f152fa0(sp1bc)); + + gImmp1(gdl++, G_RDPHALF_1, func0f152fa0(camGetScreenLeft())); + gImmp1(gdl++, G_RDPHALF_CONT, func0f152fa0(0.0f)); + + gImmp1(gdl++, G_RDPHALF_1, func0f152fa0(camGetScreenLeft() + camGetScreenWidth() - 0.25f)); + gImmp1(gdl++, G_RDPHALF_CONT, func0f152fa0(0.0f)); + } else { + f32 sp198; + + if (arg3->unk2c - arg4->unk2c < 1.0f) { + sp198 = 1877.0f; + } else { + sp198 = (camGetScreenWidth() - 0.25f) / ((arg3->unk2c - arg4->unk2c) / 4.0f); + } + + gImmp1(gdl++, G_RDPHALF_1, 0xce000000 | (u32) arg3->unk2c); + gImmp1(gdl++, G_RDPHALF_CONT, (s32) arg4->unk2c << 16 | (s32) arg1->unk2c); + + gImmp1(gdl++, G_RDPHALF_1, func0f152fa0(camGetScreenLeft())); + gImmp1(gdl++, G_RDPHALF_CONT, func0f152fa0(sp198)); + + gImmp1(gdl++, G_RDPHALF_1, func0f152fa0(camGetScreenLeft() + camGetScreenWidth() - 0.25f)); + gImmp1(gdl++, G_RDPHALF_CONT, func0f152fa0(0.0f)); + + gImmp1(gdl++, G_RDPHALF_1, func0f152fa0(camGetScreenLeft())); + gImmp1(gdl++, G_RDPHALF_CONT, func0f152fa0(0.0f)); + } + + sp3b0[0] = sp4cc->unk0c * sp3c0; + sp3b4[0] = sp4c8->unk0c * sp3c0; + sp3b8[0] = sp4c4->unk0c * sp3c0; + sp3bc[0] = arg4->unk0c * sp3c0; + + sp3ac = sp3b0[0]; + + if (sp3b4[0] < sp3ac) { + sp3ac = sp3b4[0]; + } + + if (sp3b8[0] < sp3ac) { + sp3ac = sp3b8[0]; + } + + if (sp3bc[0] < sp3ac) { + sp3ac = sp3bc[0]; + } + + sp3ac *= 0.5f; + + sp39c[0] = sp4cc->unk34 * sp3ac; + sp3a0[0] = sp4c8->unk34 * sp3ac; + sp3a4[0] = sp4c4->unk34 * sp3ac; + sp3a8[0] = arg4->unk34 * sp3ac; + + sp36c[0] = sp39c[0] * sp4cc->unk20; + sp370[0] = sp39c[0] * sp4cc->unk24; + sp374[0] = sp39c[0] * 32767.0f; + sp378[0] = sp3a0[0] * sp4c8->unk20; + sp37c[0] = sp3a0[0] * sp4c8->unk24; + sp380[0] = sp3a0[0] * 32767.0f; + sp384[0] = sp3a4[0] * sp4c4->unk20; + sp388[0] = sp3a4[0] * sp4c4->unk24; + sp38c[0] = sp3a4[0] * 32767.0f; + sp390[0] = sp3a8[0] * arg4->unk20; + sp394[0] = sp3a8[0] * arg4->unk24; + sp398[0] = sp3a8[0] * 32767.0f; + + sp364[0] = SKYABS(sp36c[0]); + sp368[0] = SKYABS(sp370[0]); + + if (sp364[0] < SKYABS(sp378[0])) { + sp364[0] = SKYABS(sp378[0]); + } + + if (sp368[0] < SKYABS(sp37c[0])) { + sp368[0] = SKYABS(sp37c[0]); + } + + if (sp364[0] < SKYABS(sp384[0])) { + sp364[0] = SKYABS(sp384[0]); + } + + if (sp368[0] < SKYABS(sp388[0])) { + sp368[0] = SKYABS(sp388[0]); + } + + if (sp364[0] < SKYABS(sp390[0])) { + sp364[0] = SKYABS(sp390[0]); + } + + if (sp368[0] < SKYABS(sp394[0])) { + sp368[0] = SKYABS(sp394[0]); + } + + sp354[0] = sp36c[0]; sp354[1] = sp370[0]; sp354[2] = sp374[0]; + sp334[0] = sp378[0]; sp334[1] = sp37c[0]; sp334[2] = sp380[0]; + sp314[0] = sp384[0]; sp314[1] = sp388[0]; sp314[2] = sp38c[0]; + + sp354[3] = sp4cc->unk30; + sp334[3] = sp4c8->unk30; + sp314[3] = sp4c4->unk30; + + for (i = 0; i < 4; i++) { + sp2f4[i] = sp334[i] - sp354[i]; + sp2d4[i] = sp314[i] - sp354[i]; + } + + for (i = 0; i < 4; i++) { + sp294[i] = ((sp2d4[i] * sp410[0]) - (sp2f4[i] * sp418[0])) * (1.0f / 65536.0f); + sp2b4[i] = ((sp2f4[i] * sp414[0]) - (sp2d4[i] * sp40c[0])) * (1.0f / 65536.0f); + sp2d4[i] = sp294[i] * sp484; + sp2f4[i] = sp2b4[i] * sp484; + sp274[i] = sp2b4[i] * sp484; + sp254[i] = sp354[i]; + } + + { + f32 mult = arg4->unk2c / arg3->unk2c; + + f32 sp170 = arg4->r + ((arg1->r - arg3->r) * mult); + f32 sp16c = arg4->g + ((arg1->g - arg3->g) * mult); + f32 sp168 = arg4->b + ((arg1->b - arg3->b) * mult); + f32 sp164 = arg4->a + ((arg1->a - arg3->a) * mult); + + u32 sp160 = arg1->r * 65536.0f; + u32 sp15c = arg1->g * 65536.0f; + u32 sp158 = arg1->b * 65536.0f; + u32 sp154 = arg1->a * 65536.0f; + + u32 sp150 = func0f152fa0((sp170 - arg1->r) / ((arg2->unk28 - arg1->unk28) * 0.25f)); + u32 sp14c = func0f152fa0((sp16c - arg1->g) / ((arg2->unk28 - arg1->unk28) * 0.25f)); + u32 sp148 = func0f152fa0((sp168 - arg1->b) / ((arg2->unk28 - arg1->unk28) * 0.25f)); + u32 sp144 = func0f152fa0((sp164 - arg1->a) / ((arg2->unk28 - arg1->unk28) * 0.25f)); + + u32 sp140; + u32 sp13c; + u32 sp138; + u32 sp134; + u32 sp130; + u32 sp12c; + u32 sp128; + u32 sp124; + + sp140 = sp130 = func0f152fa0((arg3->r - arg1->r) / ((arg3->unk2c - arg1->unk2c) * 0.25f)); + sp13c = sp12c = func0f152fa0((arg3->g - arg1->g) / ((arg3->unk2c - arg1->unk2c) * 0.25f)); + sp138 = sp128 = func0f152fa0((arg3->b - arg1->b) / ((arg3->unk2c - arg1->unk2c) * 0.25f)); + sp124 = sp134 = func0f152fa0((arg3->a - arg1->a) / ((arg3->unk2c - arg1->unk2c) * 0.25f)); + + gImmp1(gdl++, G_RDPHALF_1, (sp160 & 0xffff0000) | (sp15c & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (sp158 & 0xffff0000) | (sp154 & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (sp150 & 0xffff0000) | (sp14c & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (sp148 & 0xffff0000) | (sp144 & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (sp160 & 0x0000ffff) << 16 | (sp15c & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (sp158 & 0x0000ffff) << 16 | (sp154 & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (sp150 & 0x0000ffff) << 16 | (sp14c & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (sp148 & 0x0000ffff) << 16 | (sp144 & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (sp140 & 0xffff0000) | (sp13c & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (sp138 & 0xffff0000) | (sp134 & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (sp130 & 0xffff0000) | (sp12c & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (sp128 & 0xffff0000) | (sp124 & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (sp140 & 0x0000ffff) << 16 | (sp13c & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (sp138 & 0x0000ffff) << 16 | (sp134 & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (sp130 & 0x0000ffff) << 16 | (sp12c & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (sp128 & 0x0000ffff) << 16 | (sp124 & 0x0000ffff)); + } + + sp234[0] = sp364[0] * (1.0f / 32.0f); + sp238[0] = sp368[0] * (1.0f / 32.0f); + sp23c[0] = sp3ac * (1.0f / 32.0f); + + for (i = 0; i < 4; i++) { + sp214[i] = SKYABS(sp2d4[i]) * (1.0f / 32.0f); + sp1f4[i] = SKYABS(sp2f4[i]) * (1.0f / 32.0f); + } + + sp1d4[0] = sp234[0] + (2.0f * sp214[0]) + sp1f4[0]; + sp1d8[0] = sp238[0] + (2.0f * sp214[1]) + sp1f4[1]; + sp1dc[0] = sp23c[0] + (2.0f * sp214[2]) + sp1f4[2]; + + if (sp1d4[0] < sp1d8[0]) { + sp1d4[0] = sp1d8[0]; + } + + if (sp1d4[0] < sp1dc[0]) { + sp1d4[0] = sp1dc[0]; + } + + sp1d4[0] *= (1.0f / 1024.0f); + + if (sp1d4[0] > 1.0f) { + sp1c4[0] = 1.0f / sp1d4[0]; + } else { + sp1c4[0] = 1.0f; + } + + { + u32 spe0; + u32 spdc; + u32 spd8; + u32 spd4; + u32 spd0; + u32 spcc; + u32 spc8; + u32 spc4; + u32 spc0; + u32 spbc; + u32 spb8; + u32 spb4; + u32 spb0; + u32 spac; + u32 spa8; + u32 spa4; + + spe0 = func0f152fa0(sp254[0] * sp1c4[0]); + spdc = func0f152fa0(sp254[1] * sp1c4[0]); + spd8 = func0f152fa0(sp254[2] * sp1c4[0]); + spd4 = func0f152fa0(sp254[3] * sp1c4[0]); + + spd0 = func0f152fa0(sp2d4[0] * sp1c4[0]); + spcc = func0f152fa0(sp2d4[1] * sp1c4[0]); + spc8 = func0f152fa0(sp2d4[2] * sp1c4[0]); + spc4 = func0f152fa0(sp2d4[3] * sp1c4[0]); + + spb0 = func0f152fa0(sp2f4[0] * sp1c4[0]); + spac = func0f152fa0(sp2f4[1] * sp1c4[0]); + spa8 = func0f152fa0(sp2f4[2] * sp1c4[0]); + spa4 = func0f152fa0(sp2f4[3] * sp1c4[0]); + + spc0 = func0f152fa0(sp274[0] * sp1c4[0]); + spbc = func0f152fa0(sp274[1] * sp1c4[0]); + spb8 = func0f152fa0(sp274[2] * sp1c4[0]); + spb4 = func0f152fa0(sp274[3] * sp1c4[0]); + + gImmp1(gdl++, G_RDPHALF_1, (spe0 & 0xffff0000) | (spdc & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (spd8 & 0xffff0000) | (spd4 & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (spd0 & 0xffff0000) | (spcc & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (spc8 & 0xffff0000) | (spc4 & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (spe0 & 0x0000ffff) << 16 | (spdc & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (spd8 & 0x0000ffff) << 16 | (spd4 & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (spd0 & 0x0000ffff) << 16 | (spcc & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (spc8 & 0x0000ffff) << 16 | (spc4 & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (spc0 & 0xffff0000) | (spbc & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (spb8 & 0xffff0000) | (spb4 & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (spb0 & 0xffff0000) | (spac & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (spa8 & 0xffff0000) | (spa4 & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (spc0 & 0x0000ffff) << 16 | (spbc & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (spb8 & 0x0000ffff) << 16 | (spb4 & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (spb0 & 0x0000ffff) << 16 | (spac & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_2, (spa8 & 0x0000ffff) << 16 | (spa4 & 0x0000ffff)); + } + + return gdl; +} void skyCreateArtifact(struct artifact *artifact, s32 x, s32 y) {