diff --git a/src/game/game_152fa0.c b/src/game/game_152fa0.c index 9415e4f99..1209a0f63 100644 --- a/src/game/game_152fa0.c +++ b/src/game/game_152fa0.c @@ -4,7 +4,7 @@ #include "data.h" #include "types.h" -s32 func0f152fa0(f32 arg0) +u32 func0f152fa0(f32 arg0) { u32 result; diff --git a/src/game/sky.c b/src/game/sky.c index ffd3994d8..6b1b7f044 100644 --- a/src/game/sky.c +++ b/src/game/sky.c @@ -14,6 +14,8 @@ #include "data.h" #include "types.h" +#define SKYABS(val) (val >= 0.0f ? (val) : -(val)) + u32 g_SkyStageNum; bool g_SkyLightningActive; Mtxf var800a33a8; @@ -1239,7 +1241,7 @@ Gfx *skyRender(Gfx *gdl) gdl = sky0f123fd4(gdl, &sp94[0], &sp94[1], &sp94[2], &sp94[3], 130.0f); } else { - gdl = sky0f122d4c(gdl, &sp94[0], &sp94[1], &sp94[2], 130.0f, 1); + gdl = sky0f122d4c(gdl, &sp94[0], &sp94[1], &sp94[2], 130.0f, true); } } else if (sp94[2].unk2c >= sp94[0].unk2c + 4.0f) { sp94[0].unk28 = camGetScreenLeft() * 4.0f; @@ -1251,18 +1253,18 @@ Gfx *skyRender(Gfx *gdl) gdl = sky0f123fd4(gdl, &sp94[1], &sp94[0], &sp94[3], &sp94[2], 130.0f); } else { - gdl = sky0f122d4c(gdl, &sp94[1], &sp94[0], &sp94[3], 130.0f, 1); + gdl = sky0f122d4c(gdl, &sp94[1], &sp94[0], &sp94[3], 130.0f, true); } } else { - gdl = sky0f122d4c(gdl, &sp94[0], &sp94[1], &sp94[3], 130.0f, 1); - gdl = sky0f122d4c(gdl, &sp94[3], &sp94[2], &sp94[0], 130.0f, 1); + gdl = sky0f122d4c(gdl, &sp94[0], &sp94[1], &sp94[3], 130.0f, true); + gdl = sky0f122d4c(gdl, &sp94[3], &sp94[2], &sp94[0], 130.0f, true); } } else if (s1 == 5) { - gdl = sky0f122d4c(gdl, &sp94[0], &sp94[1], &sp94[2], 130.0f, 1); - gdl = sky0f122d4c(gdl, &sp94[0], &sp94[2], &sp94[3], 130.0f, 1); - gdl = sky0f122d4c(gdl, &sp94[0], &sp94[3], &sp94[4], 130.0f, 1); + gdl = sky0f122d4c(gdl, &sp94[0], &sp94[1], &sp94[2], 130.0f, true); + gdl = sky0f122d4c(gdl, &sp94[0], &sp94[2], &sp94[3], 130.0f, true); + gdl = sky0f122d4c(gdl, &sp94[0], &sp94[3], &sp94[4], 130.0f, true); } else if (s1 == 3) { - gdl = sky0f122d4c(gdl, &sp94[0], &sp94[1], &sp94[2], 130.0f, 1); + gdl = sky0f122d4c(gdl, &sp94[0], &sp94[1], &sp94[2], 130.0f, true); } } @@ -1355,1248 +1357,507 @@ bool sky0f122ce8(struct skything38 *arg0, struct skything38 *arg1) return sqrtf(f0 * f0 + f2 * f2) < 1.0f ? true : false; } -GLOBAL_ASM( -glabel sky0f122d4c -.late_rodata -glabel var7f1b50e0 -.word 0xc4eac000 -glabel var7f1b50e4 -.word 0xc4eac000 -glabel var7f1b50e8 -.word 0xc4eac000 -glabel var7f1b50ec -.word 0x46fffe00 -.text -/* f122d4c: 27bdfb78 */ addiu $sp,$sp,-1160 -/* f122d50: afb00020 */ sw $s0,0x20($sp) -/* f122d54: 00808025 */ or $s0,$a0,$zero -/* f122d58: afbf0024 */ sw $ra,0x24($sp) -/* f122d5c: afa5048c */ sw $a1,0x48c($sp) -/* f122d60: 00a02025 */ or $a0,$a1,$zero -/* f122d64: f7b40018 */ sdc1 $f20,0x18($sp) -/* f122d68: 00c02825 */ or $a1,$a2,$zero -/* f122d6c: afa60490 */ sw $a2,0x490($sp) -/* f122d70: 0fc48b3a */ jal sky0f122ce8 -/* f122d74: afa70494 */ sw $a3,0x494($sp) -/* f122d78: 8fa60490 */ lw $a2,0x490($sp) -/* f122d7c: 14400013 */ bnez $v0,.L0f122dcc -/* f122d80: 8fa70494 */ lw $a3,0x494($sp) -/* f122d84: 00c02025 */ or $a0,$a2,$zero -/* f122d88: 00e02825 */ or $a1,$a3,$zero -/* f122d8c: afa60490 */ sw $a2,0x490($sp) -/* f122d90: 0fc48b3a */ jal sky0f122ce8 -/* f122d94: afa70494 */ sw $a3,0x494($sp) -/* f122d98: 8faf048c */ lw $t7,0x48c($sp) -/* f122d9c: 8fa60490 */ lw $a2,0x490($sp) -/* f122da0: 1440000a */ bnez $v0,.L0f122dcc -/* f122da4: 8fa70494 */ lw $a3,0x494($sp) -/* f122da8: 00e02025 */ or $a0,$a3,$zero -/* f122dac: 01e02825 */ or $a1,$t7,$zero -/* f122db0: afa60490 */ sw $a2,0x490($sp) -/* f122db4: 0fc48b3a */ jal sky0f122ce8 -/* f122db8: afa70494 */ sw $a3,0x494($sp) -/* f122dbc: 8fa3048c */ lw $v1,0x48c($sp) -/* f122dc0: 8fa60490 */ lw $a2,0x490($sp) -/* f122dc4: 10400003 */ beqz $v0,.L0f122dd4 -/* f122dc8: 8fa70494 */ lw $a3,0x494($sp) -.L0f122dcc: -/* f122dcc: 1000047c */ b .L0f123fc0 -/* f122dd0: 02001025 */ or $v0,$s0,$zero -.L0f122dd4: -/* f122dd4: 3c014780 */ lui $at,0x4780 -/* f122dd8: 44813000 */ mtc1 $at,$f6 -/* f122ddc: c7a40498 */ lwc1 $f4,0x498($sp) -/* f122de0: 3c013780 */ lui $at,0x3780 -/* f122de4: 4480a000 */ mtc1 $zero,$f20 -/* f122de8: 46062203 */ div.s $f8,$f4,$f6 -/* f122dec: e7a80378 */ swc1 $f8,0x378($sp) -/* f122df0: c4c4002c */ lwc1 $f4,0x2c($a2) -/* f122df4: c4ca0028 */ lwc1 $f10,0x28($a2) -/* f122df8: c4600028 */ lwc1 $f0,0x28($v1) -/* f122dfc: e7a4005c */ swc1 $f4,0x5c($sp) -/* f122e00: c4e80028 */ lwc1 $f8,0x28($a3) -/* f122e04: 46005301 */ sub.s $f12,$f10,$f0 -/* f122e08: c46e002c */ lwc1 $f14,0x2c($v1) -/* f122e0c: c7a6005c */ lwc1 $f6,0x5c($sp) -/* f122e10: 46004281 */ sub.s $f10,$f8,$f0 -/* f122e14: 460e3401 */ sub.s $f16,$f6,$f14 -/* f122e18: e7aa046c */ swc1 $f10,0x46c($sp) -/* f122e1c: c4e4002c */ lwc1 $f4,0x2c($a3) -/* f122e20: c7a8046c */ lwc1 $f8,0x46c($sp) -/* f122e24: e7a40054 */ swc1 $f4,0x54($sp) -/* f122e28: c7a60054 */ lwc1 $f6,0x54($sp) -/* f122e2c: 46104282 */ mul.s $f10,$f8,$f16 -/* f122e30: 44814000 */ mtc1 $at,$f8 -/* f122e34: 460e3481 */ sub.s $f18,$f6,$f14 -/* f122e38: 46126102 */ mul.s $f4,$f12,$f18 -/* f122e3c: 46045181 */ sub.s $f6,$f10,$f4 -/* f122e40: c7a4005c */ lwc1 $f4,0x5c($sp) -/* f122e44: 46083082 */ mul.s $f2,$f6,$f8 -/* f122e48: 4602a032 */ c.eq.s $f20,$f2 -/* f122e4c: e7a20444 */ swc1 $f2,0x444($sp) -/* f122e50: 45020004 */ bc1fl .L0f122e64 -/* f122e54: 460e203c */ c.lt.s $f4,$f14 -/* f122e58: 10000459 */ b .L0f123fc0 -/* f122e5c: 02001025 */ or $v0,$s0,$zero -/* f122e60: 460e203c */ c.lt.s $f4,$f14 -.L0f122e64: -/* f122e64: 3c013f80 */ lui $at,0x3f80 -/* f122e68: 44815000 */ mtc1 $at,$f10 -/* f122e6c: 00604825 */ or $t1,$v1,$zero -/* f122e70: 00c04025 */ or $t0,$a2,$zero -/* f122e74: 00e05825 */ or $t3,$a3,$zero -/* f122e78: 45000009 */ bc1f .L0f122ea0 -/* f122e7c: 46025403 */ div.s $f16,$f10,$f2 -/* f122e80: 3c01bf80 */ lui $at,0xbf80 -/* f122e84: 44816000 */ mtc1 $at,$f12 -/* f122e88: 00604025 */ or $t0,$v1,$zero -/* f122e8c: 00c04825 */ or $t1,$a2,$zero -/* f122e90: 460c1382 */ mul.s $f14,$f2,$f12 -/* f122e94: e7ae0444 */ swc1 $f14,0x444($sp) -/* f122e98: 460c8402 */ mul.s $f16,$f16,$f12 -/* f122e9c: 00000000 */ nop -.L0f122ea0: -/* f122ea0: c500002c */ lwc1 $f0,0x2c($t0) -/* f122ea4: c7a60054 */ lwc1 $f6,0x54($sp) -/* f122ea8: 3c01bf80 */ lui $at,0xbf80 -/* f122eac: 44816000 */ mtc1 $at,$f12 -/* f122eb0: 4600303c */ c.lt.s $f6,$f0 -/* f122eb4: c7ae0444 */ lwc1 $f14,0x444($sp) -/* f122eb8: 3c013e80 */ lui $at,0x3e80 -/* f122ebc: 45020007 */ bc1fl .L0f122edc -/* f122ec0: e7ae0444 */ swc1 $f14,0x444($sp) -/* f122ec4: 460c7382 */ mul.s $f14,$f14,$f12 -/* f122ec8: 01005825 */ or $t3,$t0,$zero -/* f122ecc: 00e04025 */ or $t0,$a3,$zero -/* f122ed0: 460c8402 */ mul.s $f16,$f16,$f12 -/* f122ed4: c4e0002c */ lwc1 $f0,0x2c($a3) -/* f122ed8: e7ae0444 */ swc1 $f14,0x444($sp) -.L0f122edc: -/* f122edc: e7b00440 */ swc1 $f16,0x440($sp) -/* f122ee0: c528002c */ lwc1 $f8,0x2c($t1) -/* f122ee4: 4608003c */ c.lt.s $f0,$f8 -/* f122ee8: 44810000 */ mtc1 $at,$f0 -/* f122eec: 3c014080 */ lui $at,0x4080 -/* f122ef0: 44811000 */ mtc1 $at,$f2 -/* f122ef4: 45000008 */ bc1f .L0f122f18 -/* f122ef8: 3c013e80 */ lui $at,0x3e80 -/* f122efc: 460c7382 */ mul.s $f14,$f14,$f12 -/* f122f00: 01001025 */ or $v0,$t0,$zero -/* f122f04: 01204025 */ or $t0,$t1,$zero -/* f122f08: 460c8402 */ mul.s $f16,$f16,$f12 -/* f122f0c: 00404825 */ or $t1,$v0,$zero -/* f122f10: e7ae0444 */ swc1 $f14,0x444($sp) -/* f122f14: e7b00440 */ swc1 $f16,0x440($sp) -.L0f122f18: -/* f122f18: c50a0028 */ lwc1 $f10,0x28($t0) -/* f122f1c: 44812000 */ mtc1 $at,$f4 -/* f122f20: e7b40424 */ swc1 $f20,0x424($sp) -/* f122f24: 3c0644ea */ lui $a2,0x44ea -/* f122f28: 46045182 */ mul.s $f6,$f10,$f4 -/* f122f2c: 44815000 */ mtc1 $at,$f10 -/* f122f30: 34c6a000 */ ori $a2,$a2,0xa000 -/* f122f34: e7a60420 */ swc1 $f6,0x420($sp) -/* f122f38: c5280028 */ lwc1 $f8,0x28($t1) -/* f122f3c: e7b4042c */ swc1 $f20,0x42c($sp) -/* f122f40: 460a4102 */ mul.s $f4,$f8,$f10 -/* f122f44: 44814000 */ mtc1 $at,$f8 -/* f122f48: 3c017f1b */ lui $at,%hi(var7f1b50e0) -/* f122f4c: e7a40428 */ swc1 $f4,0x428($sp) -/* f122f50: c5260028 */ lwc1 $f6,0x28($t1) -/* f122f54: e7b40434 */ swc1 $f20,0x434($sp) -/* f122f58: e7b4043c */ swc1 $f20,0x43c($sp) -/* f122f5c: 46083282 */ mul.s $f10,$f6,$f8 -/* f122f60: e7b40438 */ swc1 $f20,0x438($sp) -/* f122f64: e7aa0430 */ swc1 $f10,0x430($sp) -/* f122f68: c5640028 */ lwc1 $f4,0x28($t3) -/* f122f6c: e7a40448 */ swc1 $f4,0x448($sp) -/* f122f70: c566002c */ lwc1 $f6,0x2c($t3) -/* f122f74: e7a6044c */ swc1 $f6,0x44c($sp) -/* f122f78: c5080028 */ lwc1 $f8,0x28($t0) -/* f122f7c: e7a80450 */ swc1 $f8,0x450($sp) -/* f122f80: c50a002c */ lwc1 $f10,0x2c($t0) -/* f122f84: c7a80450 */ lwc1 $f8,0x450($sp) -/* f122f88: e7aa0454 */ swc1 $f10,0x454($sp) -/* f122f8c: c5240028 */ lwc1 $f4,0x28($t1) -/* f122f90: e7a40458 */ swc1 $f4,0x458($sp) -/* f122f94: c7aa0458 */ lwc1 $f10,0x458($sp) -/* f122f98: c526002c */ lwc1 $f6,0x2c($t1) -/* f122f9c: e7a80028 */ swc1 $f8,0x28($sp) -/* f122fa0: 460a4101 */ sub.s $f4,$f8,$f10 -/* f122fa4: e7a6045c */ swc1 $f6,0x45c($sp) -/* f122fa8: c7a60454 */ lwc1 $f6,0x454($sp) -/* f122fac: c7a8045c */ lwc1 $f8,0x45c($sp) -/* f122fb0: e7a40474 */ swc1 $f4,0x474($sp) -/* f122fb4: e7a40030 */ swc1 $f4,0x30($sp) -/* f122fb8: e7aa002c */ swc1 $f10,0x2c($sp) -/* f122fbc: c7a4002c */ lwc1 $f4,0x2c($sp) -/* f122fc0: 46083401 */ sub.s $f16,$f6,$f8 -/* f122fc4: e7a6002c */ swc1 $f6,0x2c($sp) -/* f122fc8: c7a6044c */ lwc1 $f6,0x44c($sp) -/* f122fcc: c7aa0448 */ lwc1 $f10,0x448($sp) -/* f122fd0: e7b403fc */ swc1 $f20,0x3fc($sp) -/* f122fd4: 46083481 */ sub.s $f18,$f6,$f8 -/* f122fd8: c7a80028 */ lwc1 $f8,0x28($sp) -/* f122fdc: e7b403f8 */ swc1 $f20,0x3f8($sp) -/* f122fe0: 46045101 */ sub.s $f4,$f10,$f4 -/* f122fe4: e7b403dc */ swc1 $f20,0x3dc($sp) -/* f122fe8: e7b403d8 */ swc1 $f20,0x3d8($sp) -/* f122fec: 46085301 */ sub.s $f12,$f10,$f8 -/* f122ff0: c7aa002c */ lwc1 $f10,0x2c($sp) -/* f122ff4: e7a4046c */ swc1 $f4,0x46c($sp) -/* f122ff8: e7b403a0 */ swc1 $f20,0x3a0($sp) -/* f122ffc: 46006202 */ mul.s $f8,$f12,$f0 -/* f123000: 460a3381 */ sub.s $f14,$f6,$f10 -/* f123004: c7aa0030 */ lwc1 $f10,0x30($sp) -/* f123008: e7ac0464 */ swc1 $f12,0x464($sp) -/* f12300c: e7b403a8 */ swc1 $f20,0x3a8($sp) -/* f123010: 46007182 */ mul.s $f6,$f14,$f0 -/* f123014: e7ae0460 */ swc1 $f14,0x460($sp) -/* f123018: e7a803e0 */ swc1 $f8,0x3e0($sp) -/* f12301c: 46005202 */ mul.s $f8,$f10,$f0 -/* f123020: e7b403b0 */ swc1 $f20,0x3b0($sp) -/* f123024: e7b403bc */ swc1 $f20,0x3bc($sp) -/* f123028: e7b403b8 */ swc1 $f20,0x3b8($sp) -/* f12302c: e7a603e4 */ swc1 $f6,0x3e4($sp) -/* f123030: 46008182 */ mul.s $f6,$f16,$f0 -/* f123034: e7b40380 */ swc1 $f20,0x380($sp) -/* f123038: e7a803e8 */ swc1 $f8,0x3e8($sp) -/* f12303c: 46002202 */ mul.s $f8,$f4,$f0 -/* f123040: e7b40388 */ swc1 $f20,0x388($sp) -/* f123044: e7b40390 */ swc1 $f20,0x390($sp) -/* f123048: e7b4039c */ swc1 $f20,0x39c($sp) -/* f12304c: e7a603ec */ swc1 $f6,0x3ec($sp) -/* f123050: 46009182 */ mul.s $f6,$f18,$f0 -/* f123054: c7a00460 */ lwc1 $f0,0x460($sp) -/* f123058: e7a803f0 */ swc1 $f8,0x3f0($sp) -/* f12305c: 46026202 */ mul.s $f8,$f12,$f2 -/* f123060: e7b40398 */ swc1 $f20,0x398($sp) -/* f123064: afab047c */ sw $t3,0x47c($sp) -/* f123068: afa90484 */ sw $t1,0x484($sp) -/* f12306c: e7a603f4 */ swc1 $f6,0x3f4($sp) -/* f123070: 46027182 */ mul.s $f6,$f14,$f2 -/* f123074: c42e50e0 */ lwc1 $f14,%lo(var7f1b50e0)($at) -/* f123078: e7a803c0 */ swc1 $f8,0x3c0($sp) -/* f12307c: 46025202 */ mul.s $f8,$f10,$f2 -/* f123080: afa80480 */ sw $t0,0x480($sp) -/* f123084: e7a603c4 */ swc1 $f6,0x3c4($sp) -/* f123088: 46028182 */ mul.s $f6,$f16,$f2 -/* f12308c: e7a803c8 */ swc1 $f8,0x3c8($sp) -/* f123090: 46022202 */ mul.s $f8,$f4,$f2 -/* f123094: e7a603cc */ swc1 $f6,0x3cc($sp) -/* f123098: 46029182 */ mul.s $f6,$f18,$f2 -/* f12309c: e7a803d0 */ swc1 $f8,0x3d0($sp) -/* f1230a0: 46001203 */ div.s $f8,$f2,$f0 -/* f1230a4: e7a603d4 */ swc1 $f6,0x3d4($sp) -/* f1230a8: 46101183 */ div.s $f6,$f2,$f16 -/* f1230ac: e7a803a4 */ swc1 $f8,0x3a4($sp) -/* f1230b0: 46121203 */ div.s $f8,$f2,$f18 -/* f1230b4: e7a603ac */ swc1 $f6,0x3ac($sp) -/* f1230b8: c7a60464 */ lwc1 $f6,0x464($sp) -/* f1230bc: 46003303 */ div.s $f12,$f6,$f0 -/* f1230c0: e7a803b4 */ swc1 $f8,0x3b4($sp) -/* f1230c4: 46122183 */ div.s $f6,$f4,$f18 -/* f1230c8: e7ac0384 */ swc1 $f12,0x384($sp) -/* f1230cc: 46105203 */ div.s $f8,$f10,$f16 -/* f1230d0: e7a60394 */ swc1 $f6,0x394($sp) -/* f1230d4: 0fc47cf4 */ jal skyClamp -/* f1230d8: e7a8038c */ swc1 $f8,0x38c($sp) -/* f1230dc: 3c017f1b */ lui $at,%hi(var7f1b50e4) -/* f1230e0: 3c0644ea */ lui $a2,0x44ea -/* f1230e4: e7a00384 */ swc1 $f0,0x384($sp) -/* f1230e8: 34c6a000 */ ori $a2,$a2,0xa000 -/* f1230ec: c42e50e4 */ lwc1 $f14,%lo(var7f1b50e4)($at) -/* f1230f0: 0fc47cf4 */ jal skyClamp -/* f1230f4: c7ac038c */ lwc1 $f12,0x38c($sp) -/* f1230f8: 3c017f1b */ lui $at,%hi(var7f1b50e8) -/* f1230fc: 3c0644ea */ lui $a2,0x44ea -/* f123100: e7a0038c */ swc1 $f0,0x38c($sp) -/* f123104: 34c6a000 */ ori $a2,$a2,0xa000 -/* f123108: c42e50e8 */ lwc1 $f14,%lo(var7f1b50e8)($at) -/* f12310c: 0fc47cf4 */ jal skyClamp -/* f123110: c7ac0394 */ lwc1 $f12,0x394($sp) -/* f123114: 8fa90484 */ lw $t1,0x484($sp) -/* f123118: e7a00394 */ swc1 $f0,0x394($sp) -/* f12311c: 3c013e80 */ lui $at,0x3e80 -/* f123120: 44814000 */ mtc1 $at,$f8 -/* f123124: c52a002c */ lwc1 $f10,0x2c($t1) -/* f123128: 3c014600 */ lui $at,0x4600 -/* f12312c: 46085082 */ mul.s $f2,$f10,$f8 -/* f123130: 4600110d */ trunc.w.s $f4,$f2 -/* f123134: 44192000 */ mfc1 $t9,$f4 -/* f123138: c7a4038c */ lwc1 $f4,0x38c($sp) -/* f12313c: 44993000 */ mtc1 $t9,$f6 -/* f123140: 00000000 */ nop -/* f123144: 468032a0 */ cvt.s.w $f10,$f6 -/* f123148: 44813000 */ mtc1 $at,$f6 -/* f12314c: 00000000 */ nop -/* f123150: 46062302 */ mul.s $f12,$f4,$f6 -/* f123154: 460a1201 */ sub.s $f8,$f2,$f10 -/* f123158: 0fc47d04 */ jal skyRound -/* f12315c: e7a8037c */ swc1 $f8,0x37c($sp) -/* f123160: 3c013900 */ lui $at,0x3900 -/* f123164: 44815000 */ mtc1 $at,$f10 -/* f123168: c7a4037c */ lwc1 $f4,0x37c($sp) -/* f12316c: 3c014600 */ lui $at,0x4600 -/* f123170: 460a0202 */ mul.s $f8,$f0,$f10 -/* f123174: c7aa0428 */ lwc1 $f10,0x428($sp) -/* f123178: 46044182 */ mul.s $f6,$f8,$f4 -/* f12317c: c7a40394 */ lwc1 $f4,0x394($sp) -/* f123180: 46065201 */ sub.s $f8,$f10,$f6 -/* f123184: 44815000 */ mtc1 $at,$f10 -/* f123188: 00000000 */ nop -/* f12318c: 460a2302 */ mul.s $f12,$f4,$f10 -/* f123190: 0fc47d04 */ jal skyRound -/* f123194: e7a80408 */ swc1 $f8,0x408($sp) -/* f123198: 3c013900 */ lui $at,0x3900 -/* f12319c: 44813000 */ mtc1 $at,$f6 -/* f1231a0: c7a4037c */ lwc1 $f4,0x37c($sp) -/* f1231a4: 3c07b400 */ lui $a3,0xb400 -/* f1231a8: 46060202 */ mul.s $f8,$f0,$f6 -/* f1231ac: c7a60430 */ lwc1 $f6,0x430($sp) -/* f1231b0: 8fa80480 */ lw $t0,0x480($sp) -/* f1231b4: 8fa90484 */ lw $t1,0x484($sp) -/* f1231b8: 8fab047c */ lw $t3,0x47c($sp) -/* f1231bc: 02002825 */ or $a1,$s0,$zero -/* f1231c0: 26100008 */ addiu $s0,$s0,0x8 -/* f1231c4: 46044282 */ mul.s $f10,$f8,$f4 -/* f1231c8: 24190001 */ addiu $t9,$zero,0x1 -/* f1231cc: 3c06c800 */ lui $a2,0xc800 -/* f1231d0: 02001025 */ or $v0,$s0,$zero -/* f1231d4: 460a3201 */ sub.s $f8,$f6,$f10 -/* f1231d8: e7a80410 */ swc1 $f8,0x410($sp) -/* f1231dc: aca70000 */ sw $a3,0x0($a1) -/* f1231e0: 8fb8049c */ lw $t8,0x49c($sp) -/* f1231e4: c7a40444 */ lwc1 $f4,0x444($sp) -/* f1231e8: 13000003 */ beqz $t8,.L0f1231f8 -/* f1231ec: 00000000 */ nop -/* f1231f0: 10000001 */ b .L0f1231f8 -/* f1231f4: 3c06ce00 */ lui $a2,0xce00 -.L0f1231f8: -/* f1231f8: 4614203c */ c.lt.s $f4,$f20 -/* f1231fc: 00001825 */ or $v1,$zero,$zero -/* f123200: 45000003 */ bc1f .L0f123210 -/* f123204: 00000000 */ nop -/* f123208: 10000001 */ b .L0f123210 -/* f12320c: 3c030080 */ lui $v1,0x80 -.L0f123210: -/* f123210: 444ef800 */ cfc1 $t6,$31 -/* f123214: 44d9f800 */ ctc1 $t9,$31 -/* f123218: c566002c */ lwc1 $f6,0x2c($t3) -/* f12321c: 00667825 */ or $t7,$v1,$a2 -/* f123220: 3c014f00 */ lui $at,0x4f00 -/* f123224: 460032a4 */ cvt.w.s $f10,$f6 -/* f123228: 4459f800 */ cfc1 $t9,$31 -/* f12322c: 00000000 */ nop -/* f123230: 33390078 */ andi $t9,$t9,0x78 -/* f123234: 53200013 */ beqzl $t9,.L0f123284 -/* f123238: 44195000 */ mfc1 $t9,$f10 -/* f12323c: 44815000 */ mtc1 $at,$f10 -/* f123240: 24190001 */ addiu $t9,$zero,0x1 -/* f123244: 460a3281 */ sub.s $f10,$f6,$f10 -/* f123248: 44d9f800 */ ctc1 $t9,$31 -/* f12324c: 00000000 */ nop -/* f123250: 460052a4 */ cvt.w.s $f10,$f10 -/* f123254: 4459f800 */ cfc1 $t9,$31 -/* f123258: 00000000 */ nop -/* f12325c: 33390078 */ andi $t9,$t9,0x78 -/* f123260: 17200005 */ bnez $t9,.L0f123278 -/* f123264: 00000000 */ nop -/* f123268: 44195000 */ mfc1 $t9,$f10 -/* f12326c: 3c018000 */ lui $at,0x8000 -/* f123270: 10000007 */ b .L0f123290 -/* f123274: 0321c825 */ or $t9,$t9,$at -.L0f123278: -/* f123278: 10000005 */ b .L0f123290 -/* f12327c: 2419ffff */ addiu $t9,$zero,-1 -/* f123280: 44195000 */ mfc1 $t9,$f10 -.L0f123284: -/* f123284: 00000000 */ nop -/* f123288: 0720fffb */ bltz $t9,.L0f123278 -/* f12328c: 00000000 */ nop -.L0f123290: -/* f123290: 44cef800 */ ctc1 $t6,$31 -/* f123294: 01f9c025 */ or $t8,$t7,$t9 -/* f123298: acb80004 */ sw $t8,0x4($a1) -/* f12329c: 3c0eb200 */ lui $t6,0xb200 -/* f1232a0: ac4e0000 */ sw $t6,0x0($v0) -/* f1232a4: c508002c */ lwc1 $f8,0x2c($t0) -/* f1232a8: c526002c */ lwc1 $f6,0x2c($t1) -/* f1232ac: 26100008 */ addiu $s0,$s0,0x8 -/* f1232b0: 4600410d */ trunc.w.s $f4,$f8 -/* f1232b4: 02002025 */ or $a0,$s0,$zero -/* f1232b8: 3c013e80 */ lui $at,0x3e80 -/* f1232bc: 4600328d */ trunc.w.s $f10,$f6 -/* f1232c0: 44192000 */ mfc1 $t9,$f4 -/* f1232c4: 44812000 */ mtc1 $at,$f4 -/* f1232c8: 26100008 */ addiu $s0,$s0,0x8 -/* f1232cc: 440f5000 */ mfc1 $t7,$f10 -/* f1232d0: 0019c400 */ sll $t8,$t9,0x10 -/* f1232d4: 030fc825 */ or $t9,$t8,$t7 -/* f1232d8: ac590004 */ sw $t9,0x4($v0) -/* f1232dc: ac870000 */ sw $a3,0x0($a0) -/* f1232e0: c5080028 */ lwc1 $f8,0x28($t0) -/* f1232e4: afab047c */ sw $t3,0x47c($sp) -/* f1232e8: afa90484 */ sw $t1,0x484($sp) -/* f1232ec: 46044302 */ mul.s $f12,$f8,$f4 -/* f1232f0: afa80480 */ sw $t0,0x480($sp) -/* f1232f4: 0fc54be8 */ jal func0f152fa0 -/* f1232f8: afa40180 */ sw $a0,0x180($sp) -/* f1232fc: 8fa40180 */ lw $a0,0x180($sp) -/* f123300: 02001825 */ or $v1,$s0,$zero -/* f123304: 3c0eb200 */ lui $t6,0xb200 -/* f123308: ac820004 */ sw $v0,0x4($a0) -/* f12330c: ac6e0000 */ sw $t6,0x0($v1) -/* f123310: afa3017c */ sw $v1,0x17c($sp) -/* f123314: c7ac0384 */ lwc1 $f12,0x384($sp) -/* f123318: 0fc54be8 */ jal func0f152fa0 -/* f12331c: 26100008 */ addiu $s0,$s0,0x8 -/* f123320: 8fa3017c */ lw $v1,0x17c($sp) -/* f123324: 02002025 */ or $a0,$s0,$zero -/* f123328: 3c18b400 */ lui $t8,0xb400 -/* f12332c: ac620004 */ sw $v0,0x4($v1) -/* f123330: ac980000 */ sw $t8,0x0($a0) -/* f123334: afa40178 */ sw $a0,0x178($sp) -/* f123338: c7ac0410 */ lwc1 $f12,0x410($sp) -/* f12333c: 0fc54be8 */ jal func0f152fa0 -/* f123340: 26100008 */ addiu $s0,$s0,0x8 -/* f123344: 8fa40178 */ lw $a0,0x178($sp) -/* f123348: 02001825 */ or $v1,$s0,$zero -/* f12334c: 3c0fb200 */ lui $t7,0xb200 -/* f123350: ac820004 */ sw $v0,0x4($a0) -/* f123354: ac6f0000 */ sw $t7,0x0($v1) -/* f123358: afa30174 */ sw $v1,0x174($sp) -/* f12335c: c7ac0394 */ lwc1 $f12,0x394($sp) -/* f123360: 0fc54be8 */ jal func0f152fa0 -/* f123364: 26100008 */ addiu $s0,$s0,0x8 -/* f123368: 8fa30174 */ lw $v1,0x174($sp) -/* f12336c: 02002025 */ or $a0,$s0,$zero -/* f123370: 3c19b400 */ lui $t9,0xb400 -/* f123374: ac620004 */ sw $v0,0x4($v1) -/* f123378: ac990000 */ sw $t9,0x0($a0) -/* f12337c: afa40170 */ sw $a0,0x170($sp) -/* f123380: c7ac0408 */ lwc1 $f12,0x408($sp) -/* f123384: 0fc54be8 */ jal func0f152fa0 -/* f123388: 26100008 */ addiu $s0,$s0,0x8 -/* f12338c: 8fa40170 */ lw $a0,0x170($sp) -/* f123390: 02001825 */ or $v1,$s0,$zero -/* f123394: 3c0eb200 */ lui $t6,0xb200 -/* f123398: ac820004 */ sw $v0,0x4($a0) -/* f12339c: ac6e0000 */ sw $t6,0x0($v1) -/* f1233a0: afa3016c */ sw $v1,0x16c($sp) -/* f1233a4: c7ac038c */ lwc1 $f12,0x38c($sp) -/* f1233a8: 0fc54be8 */ jal func0f152fa0 -/* f1233ac: 26100008 */ addiu $s0,$s0,0x8 -/* f1233b0: 8fa3016c */ lw $v1,0x16c($sp) -/* f1233b4: 8fa80480 */ lw $t0,0x480($sp) -/* f1233b8: 8fa90484 */ lw $t1,0x484($sp) -/* f1233bc: 8fab047c */ lw $t3,0x47c($sp) -/* f1233c0: ac620004 */ sw $v0,0x4($v1) -/* f1233c4: 8fb8049c */ lw $t8,0x49c($sp) -/* f1233c8: c7a00378 */ lwc1 $f0,0x378($sp) -/* f1233cc: 3c017f1b */ lui $at,%hi(var7f1b50ec) -/* f1233d0: 57000004 */ bnezl $t8,.L0f1233e4 -/* f1233d4: c526000c */ lwc1 $f6,0xc($t1) -/* f1233d8: 100002f9 */ b .L0f123fc0 -/* f1233dc: 02001025 */ or $v0,$s0,$zero -/* f1233e0: c526000c */ lwc1 $f6,0xc($t1) -.L0f1233e4: -/* f1233e4: 46003282 */ mul.s $f10,$f6,$f0 -/* f1233e8: e7aa036c */ swc1 $f10,0x36c($sp) -/* f1233ec: c508000c */ lwc1 $f8,0xc($t0) -/* f1233f0: c7b2036c */ lwc1 $f18,0x36c($sp) -/* f1233f4: 46004102 */ mul.s $f4,$f8,$f0 -/* f1233f8: e7a40370 */ swc1 $f4,0x370($sp) -/* f1233fc: c566000c */ lwc1 $f6,0xc($t3) -/* f123400: c7a80370 */ lwc1 $f8,0x370($sp) -/* f123404: 46003282 */ mul.s $f10,$f6,$f0 -/* f123408: 4612403c */ c.lt.s $f8,$f18 -/* f12340c: e7aa0374 */ swc1 $f10,0x374($sp) -/* f123410: 45000002 */ bc1f .L0f12341c -/* f123414: c7a00374 */ lwc1 $f0,0x374($sp) -/* f123418: 46004486 */ mov.s $f18,$f8 -.L0f12341c: -/* f12341c: 4612003c */ c.lt.s $f0,$f18 -/* f123420: 00000000 */ nop -/* f123424: 45000002 */ bc1f .L0f123430 -/* f123428: 00000000 */ nop -/* f12342c: 46000486 */ mov.s $f18,$f0 -.L0f123430: -/* f123430: c42050ec */ lwc1 $f0,%lo(var7f1b50ec)($at) -/* f123434: 3c013f00 */ lui $at,0x3f00 -/* f123438: 44811000 */ mtc1 $at,$f2 -/* f12343c: c5240034 */ lwc1 $f4,0x34($t1) -/* f123440: 46029482 */ mul.s $f18,$f18,$f2 -/* f123444: 00000000 */ nop -/* f123448: 46122182 */ mul.s $f6,$f4,$f18 -/* f12344c: e7a6035c */ swc1 $f6,0x35c($sp) -/* f123450: c50a0034 */ lwc1 $f10,0x34($t0) -/* f123454: 46125202 */ mul.s $f8,$f10,$f18 -/* f123458: c7aa035c */ lwc1 $f10,0x35c($sp) -/* f12345c: e7a80360 */ swc1 $f8,0x360($sp) -/* f123460: c5640034 */ lwc1 $f4,0x34($t3) -/* f123464: 46122182 */ mul.s $f6,$f4,$f18 -/* f123468: e7a60364 */ swc1 $f6,0x364($sp) -/* f12346c: c5280020 */ lwc1 $f8,0x20($t1) -/* f123470: 46085102 */ mul.s $f4,$f10,$f8 -/* f123474: e7a40338 */ swc1 $f4,0x338($sp) -/* f123478: c5260024 */ lwc1 $f6,0x24($t1) -/* f12347c: 4604a03e */ c.le.s $f20,$f4 -/* f123480: 46065202 */ mul.s $f8,$f10,$f6 -/* f123484: 00000000 */ nop -/* f123488: 46005182 */ mul.s $f6,$f10,$f0 -/* f12348c: e7a8033c */ swc1 $f8,0x33c($sp) -/* f123490: c7a80360 */ lwc1 $f8,0x360($sp) -/* f123494: e7a60340 */ swc1 $f6,0x340($sp) -/* f123498: c50a0020 */ lwc1 $f10,0x20($t0) -/* f12349c: 460a4182 */ mul.s $f6,$f8,$f10 -/* f1234a0: e7a60344 */ swc1 $f6,0x344($sp) -/* f1234a4: c50a0024 */ lwc1 $f10,0x24($t0) -/* f1234a8: 460a4182 */ mul.s $f6,$f8,$f10 -/* f1234ac: 00000000 */ nop -/* f1234b0: 46004282 */ mul.s $f10,$f8,$f0 -/* f1234b4: e7a60348 */ swc1 $f6,0x348($sp) -/* f1234b8: c7a60364 */ lwc1 $f6,0x364($sp) -/* f1234bc: e7aa034c */ swc1 $f10,0x34c($sp) -/* f1234c0: c5680020 */ lwc1 $f8,0x20($t3) -/* f1234c4: 46083282 */ mul.s $f10,$f6,$f8 -/* f1234c8: e7aa0350 */ swc1 $f10,0x350($sp) -/* f1234cc: c5680024 */ lwc1 $f8,0x24($t3) -/* f1234d0: 46083282 */ mul.s $f10,$f6,$f8 -/* f1234d4: 00000000 */ nop -/* f1234d8: 46003202 */ mul.s $f8,$f6,$f0 -/* f1234dc: c7a0033c */ lwc1 $f0,0x33c($sp) -/* f1234e0: e7aa0354 */ swc1 $f10,0x354($sp) -/* f1234e4: 45000003 */ bc1f .L0f1234f4 -/* f1234e8: e7a80358 */ swc1 $f8,0x358($sp) -/* f1234ec: 10000003 */ b .L0f1234fc -/* f1234f0: 46002386 */ mov.s $f14,$f4 -.L0f1234f4: -/* f1234f4: c7ae0338 */ lwc1 $f14,0x338($sp) -/* f1234f8: 46007387 */ neg.s $f14,$f14 -.L0f1234fc: -/* f1234fc: 4600a03e */ c.le.s $f20,$f0 -/* f123500: 00000000 */ nop -/* f123504: 45020004 */ bc1fl .L0f123518 -/* f123508: 46000407 */ neg.s $f16,$f0 -/* f12350c: 10000002 */ b .L0f123518 -/* f123510: 46000406 */ mov.s $f16,$f0 -/* f123514: 46000407 */ neg.s $f16,$f0 -.L0f123518: -/* f123518: c7a00344 */ lwc1 $f0,0x344($sp) -/* f12351c: 4600a03e */ c.le.s $f20,$f0 -/* f123520: 00000000 */ nop -/* f123524: 45020004 */ bc1fl .L0f123538 -/* f123528: 46000307 */ neg.s $f12,$f0 -/* f12352c: 10000002 */ b .L0f123538 -/* f123530: 46000306 */ mov.s $f12,$f0 -/* f123534: 46000307 */ neg.s $f12,$f0 -.L0f123538: -/* f123538: 460c703c */ c.lt.s $f14,$f12 -/* f12353c: 00000000 */ nop -/* f123540: 45020009 */ bc1fl .L0f123568 -/* f123544: c7a00348 */ lwc1 $f0,0x348($sp) -/* f123548: 4600a03e */ c.le.s $f20,$f0 -/* f12354c: 00000000 */ nop -/* f123550: 45020004 */ bc1fl .L0f123564 -/* f123554: 46000387 */ neg.s $f14,$f0 -/* f123558: 10000002 */ b .L0f123564 -/* f12355c: 46000386 */ mov.s $f14,$f0 -/* f123560: 46000387 */ neg.s $f14,$f0 -.L0f123564: -/* f123564: c7a00348 */ lwc1 $f0,0x348($sp) -.L0f123568: -/* f123568: 4600a03e */ c.le.s $f20,$f0 -/* f12356c: 00000000 */ nop -/* f123570: 45020004 */ bc1fl .L0f123584 -/* f123574: 46000307 */ neg.s $f12,$f0 -/* f123578: 10000002 */ b .L0f123584 -/* f12357c: 46000306 */ mov.s $f12,$f0 -/* f123580: 46000307 */ neg.s $f12,$f0 -.L0f123584: -/* f123584: 460c803c */ c.lt.s $f16,$f12 -/* f123588: e7b20368 */ swc1 $f18,0x368($sp) -/* f12358c: 4502000b */ bc1fl .L0f1235bc -/* f123590: c7a00350 */ lwc1 $f0,0x350($sp) -/* f123594: 4600a03e */ c.le.s $f20,$f0 -/* f123598: 00000000 */ nop -/* f12359c: 45020005 */ bc1fl .L0f1235b4 -/* f1235a0: 46000407 */ neg.s $f16,$f0 -/* f1235a4: 46000406 */ mov.s $f16,$f0 -/* f1235a8: 10000003 */ b .L0f1235b8 -/* f1235ac: e7b20368 */ swc1 $f18,0x368($sp) -/* f1235b0: 46000407 */ neg.s $f16,$f0 -.L0f1235b4: -/* f1235b4: e7b20368 */ swc1 $f18,0x368($sp) -.L0f1235b8: -/* f1235b8: c7a00350 */ lwc1 $f0,0x350($sp) -.L0f1235bc: -/* f1235bc: 4600a03e */ c.le.s $f20,$f0 -/* f1235c0: 00000000 */ nop -/* f1235c4: 45020004 */ bc1fl .L0f1235d8 -/* f1235c8: 46000307 */ neg.s $f12,$f0 -/* f1235cc: 10000002 */ b .L0f1235d8 -/* f1235d0: 46000306 */ mov.s $f12,$f0 -/* f1235d4: 46000307 */ neg.s $f12,$f0 -.L0f1235d8: -/* f1235d8: 460c703c */ c.lt.s $f14,$f12 -/* f1235dc: e7ae0330 */ swc1 $f14,0x330($sp) -/* f1235e0: 4502000a */ bc1fl .L0f12360c -/* f1235e4: c7a00354 */ lwc1 $f0,0x354($sp) -/* f1235e8: 4600a03e */ c.le.s $f20,$f0 -/* f1235ec: 00000000 */ nop -/* f1235f0: 45020004 */ bc1fl .L0f123604 -/* f1235f4: 46000387 */ neg.s $f14,$f0 -/* f1235f8: 10000003 */ b .L0f123608 -/* f1235fc: e7a00330 */ swc1 $f0,0x330($sp) -/* f123600: 46000387 */ neg.s $f14,$f0 -.L0f123604: -/* f123604: e7ae0330 */ swc1 $f14,0x330($sp) -.L0f123608: -/* f123608: c7a00354 */ lwc1 $f0,0x354($sp) -.L0f12360c: -/* f12360c: 4600a03e */ c.le.s $f20,$f0 -/* f123610: 00000000 */ nop -/* f123614: 45020004 */ bc1fl .L0f123628 -/* f123618: 46000307 */ neg.s $f12,$f0 -/* f12361c: 10000002 */ b .L0f123628 -/* f123620: 46000306 */ mov.s $f12,$f0 -/* f123624: 46000307 */ neg.s $f12,$f0 -.L0f123628: -/* f123628: 460c803c */ c.lt.s $f16,$f12 -/* f12362c: e7b00334 */ swc1 $f16,0x334($sp) -/* f123630: 4502000a */ bc1fl .L0f12365c -/* f123634: c52a0010 */ lwc1 $f10,0x10($t1) -/* f123638: 4600a03e */ c.le.s $f20,$f0 -/* f12363c: 00000000 */ nop -/* f123640: 45020004 */ bc1fl .L0f123654 -/* f123644: 46000407 */ neg.s $f16,$f0 -/* f123648: 10000003 */ b .L0f123658 -/* f12364c: e7a00334 */ swc1 $f0,0x334($sp) -/* f123650: 46000407 */ neg.s $f16,$f0 -.L0f123654: -/* f123654: e7b00334 */ swc1 $f16,0x334($sp) -.L0f123658: -/* f123658: c52a0010 */ lwc1 $f10,0x10($t1) -.L0f12365c: -/* f12365c: 27a402b0 */ addiu $a0,$sp,0x2b0 -/* f123660: 27a602f0 */ addiu $a2,$sp,0x2f0 -/* f123664: 46025180 */ add.s $f6,$f10,$f2 -/* f123668: 27a20310 */ addiu $v0,$sp,0x310 -/* f12366c: 27a30290 */ addiu $v1,$sp,0x290 -/* f123670: 27a502d0 */ addiu $a1,$sp,0x2d0 -/* f123674: e7a60310 */ swc1 $f6,0x310($sp) -/* f123678: c5280014 */ lwc1 $f8,0x14($t1) -/* f12367c: 27a702f0 */ addiu $a3,$sp,0x2f0 -/* f123680: 46024100 */ add.s $f4,$f8,$f2 -/* f123684: e7a40314 */ swc1 $f4,0x314($sp) -/* f123688: c52a0018 */ lwc1 $f10,0x18($t1) -/* f12368c: 46025180 */ add.s $f6,$f10,$f2 -/* f123690: e7a60318 */ swc1 $f6,0x318($sp) -/* f123694: c528001c */ lwc1 $f8,0x1c($t1) -/* f123698: 46024100 */ add.s $f4,$f8,$f2 -/* f12369c: e7a4031c */ swc1 $f4,0x31c($sp) -/* f1236a0: c50a0010 */ lwc1 $f10,0x10($t0) -/* f1236a4: 46025180 */ add.s $f6,$f10,$f2 -/* f1236a8: e7a602f0 */ swc1 $f6,0x2f0($sp) -/* f1236ac: c5080014 */ lwc1 $f8,0x14($t0) -/* f1236b0: 46024100 */ add.s $f4,$f8,$f2 -/* f1236b4: e7a402f4 */ swc1 $f4,0x2f4($sp) -/* f1236b8: c50a0018 */ lwc1 $f10,0x18($t0) -/* f1236bc: 46025180 */ add.s $f6,$f10,$f2 -/* f1236c0: e7a602f8 */ swc1 $f6,0x2f8($sp) -/* f1236c4: c508001c */ lwc1 $f8,0x1c($t0) -/* f1236c8: 46024100 */ add.s $f4,$f8,$f2 -/* f1236cc: e7a402fc */ swc1 $f4,0x2fc($sp) -/* f1236d0: c56a0010 */ lwc1 $f10,0x10($t3) -/* f1236d4: 46025180 */ add.s $f6,$f10,$f2 -/* f1236d8: e7a602d0 */ swc1 $f6,0x2d0($sp) -/* f1236dc: c5680014 */ lwc1 $f8,0x14($t3) -/* f1236e0: 46024100 */ add.s $f4,$f8,$f2 -/* f1236e4: e7a402d4 */ swc1 $f4,0x2d4($sp) -/* f1236e8: c56a0018 */ lwc1 $f10,0x18($t3) -/* f1236ec: 46025180 */ add.s $f6,$f10,$f2 -/* f1236f0: c7aa0338 */ lwc1 $f10,0x338($sp) -/* f1236f4: e7a602d8 */ swc1 $f6,0x2d8($sp) -/* f1236f8: c568001c */ lwc1 $f8,0x1c($t3) -/* f1236fc: e7aa0320 */ swc1 $f10,0x320($sp) -/* f123700: c7a6033c */ lwc1 $f6,0x33c($sp) -/* f123704: 46024100 */ add.s $f4,$f8,$f2 -/* f123708: c7a80340 */ lwc1 $f8,0x340($sp) -/* f12370c: c7aa0348 */ lwc1 $f10,0x348($sp) -/* f123710: e7a60324 */ swc1 $f6,0x324($sp) -/* f123714: e7a402dc */ swc1 $f4,0x2dc($sp) -/* f123718: c7a40344 */ lwc1 $f4,0x344($sp) -/* f12371c: e7a80328 */ swc1 $f8,0x328($sp) -/* f123720: e7aa0304 */ swc1 $f10,0x304($sp) -/* f123724: e7a40300 */ swc1 $f4,0x300($sp) -/* f123728: c7a6034c */ lwc1 $f6,0x34c($sp) -/* f12372c: c7a40354 */ lwc1 $f4,0x354($sp) -/* f123730: c7aa0358 */ lwc1 $f10,0x358($sp) -/* f123734: c7a80350 */ lwc1 $f8,0x350($sp) -/* f123738: e7a60308 */ swc1 $f6,0x308($sp) -/* f12373c: e7a402e4 */ swc1 $f4,0x2e4($sp) -/* f123740: e7aa02e8 */ swc1 $f10,0x2e8($sp) -/* f123744: e7a802e0 */ swc1 $f8,0x2e0($sp) -/* f123748: c5260030 */ lwc1 $f6,0x30($t1) -/* f12374c: 27a90230 */ addiu $t1,$sp,0x230 -/* f123750: e7a6032c */ swc1 $f6,0x32c($sp) -/* f123754: c5080030 */ lwc1 $f8,0x30($t0) -/* f123758: 27a80230 */ addiu $t0,$sp,0x230 -/* f12375c: e7a8030c */ swc1 $f8,0x30c($sp) -/* f123760: c5640030 */ lwc1 $f4,0x30($t3) -/* f123764: e7a402ec */ swc1 $f4,0x2ec($sp) -.L0f123768: -/* f123768: c4400000 */ lwc1 $f0,0x0($v0) -/* f12376c: c4ca0000 */ lwc1 $f10,0x0($a2) -/* f123770: c4a80000 */ lwc1 $f8,0x0($a1) -/* f123774: 24a50004 */ addiu $a1,$a1,0x4 -/* f123778: 46005181 */ sub.s $f6,$f10,$f0 -/* f12377c: 00a7082b */ sltu $at,$a1,$a3 -/* f123780: 24840004 */ addiu $a0,$a0,0x4 -/* f123784: 46004101 */ sub.s $f4,$f8,$f0 -/* f123788: 24c60004 */ addiu $a2,$a2,0x4 -/* f12378c: 24420004 */ addiu $v0,$v0,0x4 -/* f123790: 24630004 */ addiu $v1,$v1,0x4 -/* f123794: e486fffc */ swc1 $f6,-0x4($a0) -/* f123798: 1420fff3 */ bnez $at,.L0f123768 -/* f12379c: e464fffc */ swc1 $f4,-0x4($v1) -/* f1237a0: 27a402b0 */ addiu $a0,$sp,0x2b0 -/* f1237a4: 27a20310 */ addiu $v0,$sp,0x310 -/* f1237a8: 27a30290 */ addiu $v1,$sp,0x290 -/* f1237ac: 27a70250 */ addiu $a3,$sp,0x250 -/* f1237b0: 27a50270 */ addiu $a1,$sp,0x270 -/* f1237b4: 27a60210 */ addiu $a2,$sp,0x210 -/* f1237b8: c7b203c8 */ lwc1 $f18,0x3c8($sp) -.L0f1237bc: -/* f1237bc: c4600000 */ lwc1 $f0,0x0($v1) -/* f1237c0: c7aa03cc */ lwc1 $f10,0x3cc($sp) -/* f1237c4: c4820000 */ lwc1 $f2,0x0($a0) -/* f1237c8: c7a803d4 */ lwc1 $f8,0x3d4($sp) -/* f1237cc: 460a0182 */ mul.s $f6,$f0,$f10 -/* f1237d0: 3c013780 */ lui $at,0x3780 -/* f1237d4: 24c60004 */ addiu $a2,$a2,0x4 -/* f1237d8: 46024102 */ mul.s $f4,$f8,$f2 -/* f1237dc: 44814000 */ mtc1 $at,$f8 -/* f1237e0: 24840004 */ addiu $a0,$a0,0x4 -/* f1237e4: 24420004 */ addiu $v0,$v0,0x4 -/* f1237e8: 24630004 */ addiu $v1,$v1,0x4 -/* f1237ec: 24e70004 */ addiu $a3,$a3,0x4 -/* f1237f0: 24a50004 */ addiu $a1,$a1,0x4 -/* f1237f4: 46043281 */ sub.s $f10,$f6,$f4 -/* f1237f8: 25080004 */ addiu $t0,$t0,0x4 -/* f1237fc: 46085302 */ mul.s $f12,$f10,$f8 -/* f123800: e4ecfffc */ swc1 $f12,-0x4($a3) -/* f123804: c7a603d0 */ lwc1 $f6,0x3d0($sp) -/* f123808: 46061102 */ mul.s $f4,$f2,$f6 -/* f12380c: 44813000 */ mtc1 $at,$f6 -/* f123810: 00c9082b */ sltu $at,$a2,$t1 -/* f123814: 46009282 */ mul.s $f10,$f18,$f0 -/* f123818: 460a2201 */ sub.s $f8,$f4,$f10 -/* f12381c: 46064102 */ mul.s $f4,$f8,$f6 -/* f123820: e4a4fffc */ swc1 $f4,-0x4($a1) -/* f123824: c7aa0440 */ lwc1 $f10,0x440($sp) -/* f123828: c4a6fffc */ lwc1 $f6,-0x4($a1) -/* f12382c: 460a6202 */ mul.s $f8,$f12,$f10 -/* f123830: e468fffc */ swc1 $f8,-0x4($v1) -/* f123834: c7a40440 */ lwc1 $f4,0x440($sp) -/* f123838: c468fffc */ lwc1 $f8,-0x4($v1) -/* f12383c: 46043382 */ mul.s $f14,$f6,$f4 -/* f123840: c444fffc */ lwc1 $f4,-0x4($v0) -/* f123844: e48efffc */ swc1 $f14,-0x4($a0) -/* f123848: c7aa0394 */ lwc1 $f10,0x394($sp) -/* f12384c: 46085182 */ mul.s $f6,$f10,$f8 -/* f123850: 460e3400 */ add.s $f16,$f6,$f14 -/* f123854: e510fffc */ swc1 $f16,-0x4($t0) -/* f123858: c7aa037c */ lwc1 $f10,0x37c($sp) -/* f12385c: 460a8202 */ mul.s $f8,$f16,$f10 -/* f123860: 46082181 */ sub.s $f6,$f4,$f8 -/* f123864: 1420ffd5 */ bnez $at,.L0f1237bc -/* f123868: e4c6fffc */ swc1 $f6,-0x4($a2) -/* f12386c: 0fc54be8 */ jal func0f152fa0 -/* f123870: c7ac0210 */ lwc1 $f12,0x210($sp) -/* f123874: afa20168 */ sw $v0,0x168($sp) -/* f123878: 0fc54be8 */ jal func0f152fa0 -/* f12387c: c7ac0214 */ lwc1 $f12,0x214($sp) -/* f123880: afa20164 */ sw $v0,0x164($sp) -/* f123884: 0fc54be8 */ jal func0f152fa0 -/* f123888: c7ac0218 */ lwc1 $f12,0x218($sp) -/* f12388c: afa20160 */ sw $v0,0x160($sp) -/* f123890: 0fc54be8 */ jal func0f152fa0 -/* f123894: c7ac021c */ lwc1 $f12,0x21c($sp) -/* f123898: afa2015c */ sw $v0,0x15c($sp) -/* f12389c: 0fc54be8 */ jal func0f152fa0 -/* f1238a0: c7ac0290 */ lwc1 $f12,0x290($sp) -/* f1238a4: afa20158 */ sw $v0,0x158($sp) -/* f1238a8: 0fc54be8 */ jal func0f152fa0 -/* f1238ac: c7ac0294 */ lwc1 $f12,0x294($sp) -/* f1238b0: afa20154 */ sw $v0,0x154($sp) -/* f1238b4: 0fc54be8 */ jal func0f152fa0 -/* f1238b8: c7ac0298 */ lwc1 $f12,0x298($sp) -/* f1238bc: afa20150 */ sw $v0,0x150($sp) -/* f1238c0: 0fc54be8 */ jal func0f152fa0 -/* f1238c4: c7ac029c */ lwc1 $f12,0x29c($sp) -/* f1238c8: afa2014c */ sw $v0,0x14c($sp) -/* f1238cc: 0fc54be8 */ jal func0f152fa0 -/* f1238d0: c7ac02b0 */ lwc1 $f12,0x2b0($sp) -/* f1238d4: afa20138 */ sw $v0,0x138($sp) -/* f1238d8: 0fc54be8 */ jal func0f152fa0 -/* f1238dc: c7ac02b4 */ lwc1 $f12,0x2b4($sp) -/* f1238e0: afa20134 */ sw $v0,0x134($sp) -/* f1238e4: 0fc54be8 */ jal func0f152fa0 -/* f1238e8: c7ac02b8 */ lwc1 $f12,0x2b8($sp) -/* f1238ec: afa20130 */ sw $v0,0x130($sp) -/* f1238f0: 0fc54be8 */ jal func0f152fa0 -/* f1238f4: c7ac02bc */ lwc1 $f12,0x2bc($sp) -/* f1238f8: afa2012c */ sw $v0,0x12c($sp) -/* f1238fc: 0fc54be8 */ jal func0f152fa0 -/* f123900: c7ac0230 */ lwc1 $f12,0x230($sp) -/* f123904: afa20148 */ sw $v0,0x148($sp) -/* f123908: 0fc54be8 */ jal func0f152fa0 -/* f12390c: c7ac0234 */ lwc1 $f12,0x234($sp) -/* f123910: afa20144 */ sw $v0,0x144($sp) -/* f123914: 0fc54be8 */ jal func0f152fa0 -/* f123918: c7ac0238 */ lwc1 $f12,0x238($sp) -/* f12391c: c7ac023c */ lwc1 $f12,0x23c($sp) -/* f123920: 0fc54be8 */ jal func0f152fa0 -/* f123924: afa20140 */ sw $v0,0x140($sp) -/* f123928: 8fac0140 */ lw $t4,0x140($sp) -/* f12392c: 8fad015c */ lw $t5,0x15c($sp) -/* f123930: 8fbf0168 */ lw $ra,0x168($sp) -/* f123934: 3c08b400 */ lui $t0,0xb400 -/* f123938: 02001825 */ or $v1,$s0,$zero -/* f12393c: ac680000 */ sw $t0,0x0($v1) -/* f123940: 8fb90164 */ lw $t9,0x164($sp) -/* f123944: 3c09ffff */ lui $t1,0xffff -/* f123948: 03e97824 */ and $t7,$ra,$t1 -/* f12394c: 03297024 */ and $t6,$t9,$t1 -/* f123950: 000ec402 */ srl $t8,$t6,0x10 -/* f123954: 01f8c825 */ or $t9,$t7,$t8 -/* f123958: 26100008 */ addiu $s0,$s0,0x8 -/* f12395c: 3c0ab200 */ lui $t2,0xb200 -/* f123960: ac790004 */ sw $t9,0x4($v1) -/* f123964: 02002025 */ or $a0,$s0,$zero -/* f123968: ac8a0000 */ sw $t2,0x0($a0) -/* f12396c: 8fae0160 */ lw $t6,0x160($sp) -/* f123970: 01a9c024 */ and $t8,$t5,$t1 -/* f123974: 0018cc02 */ srl $t9,$t8,0x10 -/* f123978: 01c97824 */ and $t7,$t6,$t1 -/* f12397c: 01f97025 */ or $t6,$t7,$t9 -/* f123980: 26100008 */ addiu $s0,$s0,0x8 -/* f123984: ac8e0004 */ sw $t6,0x4($a0) -/* f123988: 02002825 */ or $a1,$s0,$zero -/* f12398c: aca80000 */ sw $t0,0x0($a1) -/* f123990: 8fb90154 */ lw $t9,0x154($sp) -/* f123994: 8fb80158 */ lw $t8,0x158($sp) -/* f123998: 26100008 */ addiu $s0,$s0,0x8 -/* f12399c: 03297024 */ and $t6,$t9,$t1 -/* f1239a0: 03097824 */ and $t7,$t8,$t1 -/* f1239a4: 000ec402 */ srl $t8,$t6,0x10 -/* f1239a8: 01f8c825 */ or $t9,$t7,$t8 -/* f1239ac: acb90004 */ sw $t9,0x4($a1) -/* f1239b0: 8fab014c */ lw $t3,0x14c($sp) -/* f1239b4: 02003025 */ or $a2,$s0,$zero -/* f1239b8: acca0000 */ sw $t2,0x0($a2) -/* f1239bc: 8fae0150 */ lw $t6,0x150($sp) -/* f1239c0: 0169c024 */ and $t8,$t3,$t1 -/* f1239c4: 0018cc02 */ srl $t9,$t8,0x10 -/* f1239c8: 01c97824 */ and $t7,$t6,$t1 -/* f1239cc: 01f97025 */ or $t6,$t7,$t9 -/* f1239d0: 26100008 */ addiu $s0,$s0,0x8 -/* f1239d4: acce0004 */ sw $t6,0x4($a2) -/* f1239d8: 02001825 */ or $v1,$s0,$zero -/* f1239dc: ac680000 */ sw $t0,0x0($v1) -/* f1239e0: 8fb90164 */ lw $t9,0x164($sp) -/* f1239e4: 001f7c00 */ sll $t7,$ra,0x10 -/* f1239e8: 26100008 */ addiu $s0,$s0,0x8 -/* f1239ec: 332effff */ andi $t6,$t9,0xffff -/* f1239f0: 01eec025 */ or $t8,$t7,$t6 -/* f1239f4: ac780004 */ sw $t8,0x4($v1) -/* f1239f8: 02002025 */ or $a0,$s0,$zero -/* f1239fc: ac8a0000 */ sw $t2,0x0($a0) -/* f123a00: 8faf0160 */ lw $t7,0x160($sp) -/* f123a04: 31b8ffff */ andi $t8,$t5,0xffff -/* f123a08: 26100008 */ addiu $s0,$s0,0x8 -/* f123a0c: 000f7400 */ sll $t6,$t7,0x10 -/* f123a10: 01d8c825 */ or $t9,$t6,$t8 -/* f123a14: ac990004 */ sw $t9,0x4($a0) -/* f123a18: 02003825 */ or $a3,$s0,$zero -/* f123a1c: ace80000 */ sw $t0,0x0($a3) -/* f123a20: 8fb90154 */ lw $t9,0x154($sp) -/* f123a24: 8fae0158 */ lw $t6,0x158($sp) -/* f123a28: 8fa80148 */ lw $t0,0x148($sp) -/* f123a2c: 332fffff */ andi $t7,$t9,0xffff -/* f123a30: 000ec400 */ sll $t8,$t6,0x10 -/* f123a34: 8fa60144 */ lw $a2,0x144($sp) -/* f123a38: 030f7025 */ or $t6,$t8,$t7 -/* f123a3c: 26100008 */ addiu $s0,$s0,0x8 -/* f123a40: acee0004 */ sw $t6,0x4($a3) -/* f123a44: 02001825 */ or $v1,$s0,$zero -/* f123a48: ac6a0000 */ sw $t2,0x0($v1) -/* f123a4c: 8fb80150 */ lw $t8,0x150($sp) -/* f123a50: 316effff */ andi $t6,$t3,0xffff -/* f123a54: 26100008 */ addiu $s0,$s0,0x8 -/* f123a58: 00187c00 */ sll $t7,$t8,0x10 -/* f123a5c: 01eec825 */ or $t9,$t7,$t6 -/* f123a60: ac790004 */ sw $t9,0x4($v1) -/* f123a64: 3c18b400 */ lui $t8,0xb400 -/* f123a68: 02002025 */ or $a0,$s0,$zero -/* f123a6c: 00c97024 */ and $t6,$a2,$t1 -/* f123a70: 000ecc02 */ srl $t9,$t6,0x10 -/* f123a74: ac980000 */ sw $t8,0x0($a0) -/* f123a78: 01097824 */ and $t7,$t0,$t1 -/* f123a7c: 01f9c025 */ or $t8,$t7,$t9 -/* f123a80: 26100008 */ addiu $s0,$s0,0x8 -/* f123a84: ac980004 */ sw $t8,0x4($a0) -/* f123a88: 02002825 */ or $a1,$s0,$zero -/* f123a8c: 00497824 */ and $t7,$v0,$t1 -/* f123a90: 000fcc02 */ srl $t9,$t7,0x10 -/* f123a94: 01897024 */ and $t6,$t4,$t1 -/* f123a98: 01d9c025 */ or $t8,$t6,$t9 -/* f123a9c: acb80004 */ sw $t8,0x4($a1) -/* f123aa0: acaa0000 */ sw $t2,0x0($a1) -/* f123aa4: 26100008 */ addiu $s0,$s0,0x8 -/* f123aa8: 8fad0130 */ lw $t5,0x130($sp) -/* f123aac: 3c07b400 */ lui $a3,0xb400 -/* f123ab0: 02001825 */ or $v1,$s0,$zero -/* f123ab4: ac670000 */ sw $a3,0x0($v1) -/* f123ab8: 8fb90134 */ lw $t9,0x134($sp) -/* f123abc: 8faf0138 */ lw $t7,0x138($sp) -/* f123ac0: 26100008 */ addiu $s0,$s0,0x8 -/* f123ac4: 0329c024 */ and $t8,$t9,$t1 -/* f123ac8: 01e97024 */ and $t6,$t7,$t1 -/* f123acc: 00187c02 */ srl $t7,$t8,0x10 -/* f123ad0: 01cfc825 */ or $t9,$t6,$t7 -/* f123ad4: ac790004 */ sw $t9,0x4($v1) -/* f123ad8: 3c18b200 */ lui $t8,0xb200 -/* f123adc: 02002025 */ or $a0,$s0,$zero -/* f123ae0: ac980000 */ sw $t8,0x0($a0) -/* f123ae4: 8faf012c */ lw $t7,0x12c($sp) -/* f123ae8: 01a97024 */ and $t6,$t5,$t1 -/* f123aec: 26100008 */ addiu $s0,$s0,0x8 -/* f123af0: 01e9c824 */ and $t9,$t7,$t1 -/* f123af4: 0019c402 */ srl $t8,$t9,0x10 -/* f123af8: 01d87825 */ or $t7,$t6,$t8 -/* f123afc: ac8f0004 */ sw $t7,0x4($a0) -/* f123b00: 02002825 */ or $a1,$s0,$zero -/* f123b04: 00087400 */ sll $t6,$t0,0x10 -/* f123b08: 30d8ffff */ andi $t8,$a2,0xffff -/* f123b0c: 01d87825 */ or $t7,$t6,$t8 -/* f123b10: 26100008 */ addiu $s0,$s0,0x8 -/* f123b14: acaf0004 */ sw $t7,0x4($a1) -/* f123b18: aca70000 */ sw $a3,0x0($a1) -/* f123b1c: 02005825 */ or $t3,$s0,$zero -/* f123b20: 3058ffff */ andi $t8,$v0,0xffff -/* f123b24: 000c7400 */ sll $t6,$t4,0x10 -/* f123b28: 01d87825 */ or $t7,$t6,$t8 -/* f123b2c: 26100008 */ addiu $s0,$s0,0x8 -/* f123b30: 3c1fb200 */ lui $ra,0xb200 -/* f123b34: ad7f0000 */ sw $ra,0x0($t3) -/* f123b38: ad6f0004 */ sw $t7,0x4($t3) -/* f123b3c: 02003825 */ or $a3,$s0,$zero -/* f123b40: 3c19b400 */ lui $t9,0xb400 -/* f123b44: acf90000 */ sw $t9,0x0($a3) -/* f123b48: 8fb90134 */ lw $t9,0x134($sp) -/* f123b4c: 8fb80138 */ lw $t8,0x138($sp) -/* f123b50: 26100008 */ addiu $s0,$s0,0x8 -/* f123b54: 332effff */ andi $t6,$t9,0xffff -/* f123b58: 00187c00 */ sll $t7,$t8,0x10 -/* f123b5c: 01eec025 */ or $t8,$t7,$t6 -/* f123b60: acf80004 */ sw $t8,0x4($a3) -/* f123b64: 02004025 */ or $t0,$s0,$zero -/* f123b68: ad1f0000 */ sw $ra,0x0($t0) -/* f123b6c: 8fae012c */ lw $t6,0x12c($sp) -/* f123b70: 000d7c00 */ sll $t7,$t5,0x10 -/* f123b74: 3c013d00 */ lui $at,0x3d00 -/* f123b78: 31d8ffff */ andi $t8,$t6,0xffff -/* f123b7c: 01f8c825 */ or $t9,$t7,$t8 -/* f123b80: ad190004 */ sw $t9,0x4($t0) -/* f123b84: 44817000 */ mtc1 $at,$f14 -/* f123b88: c7aa0330 */ lwc1 $f10,0x330($sp) -/* f123b8c: c7a80334 */ lwc1 $f8,0x334($sp) -/* f123b90: 26100008 */ addiu $s0,$s0,0x8 -/* f123b94: 460e5102 */ mul.s $f4,$f10,$f14 -/* f123b98: c7aa0368 */ lwc1 $f10,0x368($sp) -/* f123b9c: 27a201d0 */ addiu $v0,$sp,0x1d0 -/* f123ba0: 460e4182 */ mul.s $f6,$f8,$f14 -/* f123ba4: 27a501b0 */ addiu $a1,$sp,0x1b0 -/* f123ba8: 27a601d0 */ addiu $a2,$sp,0x1d0 -/* f123bac: 27a402b0 */ addiu $a0,$sp,0x2b0 -/* f123bb0: e7a40200 */ swc1 $f4,0x200($sp) -/* f123bb4: 460e5102 */ mul.s $f4,$f10,$f14 -/* f123bb8: 27a30290 */ addiu $v1,$sp,0x290 -/* f123bbc: e7a60204 */ swc1 $f6,0x204($sp) -/* f123bc0: 3c013f80 */ lui $at,0x3f80 -/* f123bc4: e7a40208 */ swc1 $f4,0x208($sp) -.L0f123bc8: -/* f123bc8: c4600000 */ lwc1 $f0,0x0($v1) -/* f123bcc: 4600a03e */ c.le.s $f20,$f0 -/* f123bd0: 00000000 */ nop -/* f123bd4: 45020004 */ bc1fl .L0f123be8 -/* f123bd8: 46000307 */ neg.s $f12,$f0 -/* f123bdc: 10000002 */ b .L0f123be8 -/* f123be0: 46000306 */ mov.s $f12,$f0 -/* f123be4: 46000307 */ neg.s $f12,$f0 -.L0f123be8: -/* f123be8: c4820000 */ lwc1 $f2,0x0($a0) -/* f123bec: 460e6202 */ mul.s $f8,$f12,$f14 -/* f123bf0: 4602a03e */ c.le.s $f20,$f2 -/* f123bf4: 00000000 */ nop -/* f123bf8: 45000003 */ bc1f .L0f123c08 -/* f123bfc: e4c80000 */ swc1 $f8,0x0($a2) -/* f123c00: 10000002 */ b .L0f123c0c -/* f123c04: 46001306 */ mov.s $f12,$f2 -.L0f123c08: -/* f123c08: 46001307 */ neg.s $f12,$f2 -.L0f123c0c: -/* f123c0c: 460e6182 */ mul.s $f6,$f12,$f14 -/* f123c10: 24a50004 */ addiu $a1,$a1,0x4 -/* f123c14: 24840004 */ addiu $a0,$a0,0x4 -/* f123c18: 24630004 */ addiu $v1,$v1,0x4 -/* f123c1c: 24c60004 */ addiu $a2,$a2,0x4 -/* f123c20: 14a2ffe9 */ bne $a1,$v0,.L0f123bc8 -/* f123c24: e4a6fffc */ swc1 $f6,-0x4($a1) -/* f123c28: c7a201e0 */ lwc1 $f2,0x1e0($sp) -/* f123c2c: c7aa0200 */ lwc1 $f10,0x200($sp) -/* f123c30: c7ac01e4 */ lwc1 $f12,0x1e4($sp) -/* f123c34: 46021100 */ add.s $f4,$f2,$f2 -/* f123c38: c7a601c0 */ lwc1 $f6,0x1c0($sp) -/* f123c3c: c7ae01e8 */ lwc1 $f14,0x1e8($sp) -/* f123c40: 44811000 */ mtc1 $at,$f2 -/* f123c44: 46045200 */ add.s $f8,$f10,$f4 -/* f123c48: c7aa0204 */ lwc1 $f10,0x204($sp) -/* f123c4c: 3c013a80 */ lui $at,0x3a80 -/* f123c50: 460c6100 */ add.s $f4,$f12,$f12 -/* f123c54: 46083000 */ add.s $f0,$f6,$f8 -/* f123c58: c7a801c4 */ lwc1 $f8,0x1c4($sp) -/* f123c5c: 46045180 */ add.s $f6,$f10,$f4 -/* f123c60: c7aa0208 */ lwc1 $f10,0x208($sp) -/* f123c64: 460e7100 */ add.s $f4,$f14,$f14 -/* f123c68: 46064400 */ add.s $f16,$f8,$f6 -/* f123c6c: c7a601c8 */ lwc1 $f6,0x1c8($sp) -/* f123c70: 46045200 */ add.s $f8,$f10,$f4 -/* f123c74: 44815000 */ mtc1 $at,$f10 -/* f123c78: e7b001a4 */ swc1 $f16,0x1a4($sp) -/* f123c7c: 4610003c */ c.lt.s $f0,$f16 -/* f123c80: 46083480 */ add.s $f18,$f6,$f8 -/* f123c84: 45020004 */ bc1fl .L0f123c98 -/* f123c88: 4612003c */ c.lt.s $f0,$f18 -/* f123c8c: 46008006 */ mov.s $f0,$f16 -/* f123c90: e7b001a4 */ swc1 $f16,0x1a4($sp) -/* f123c94: 4612003c */ c.lt.s $f0,$f18 -.L0f123c98: -/* f123c98: e7b201a8 */ swc1 $f18,0x1a8($sp) -/* f123c9c: 45000003 */ bc1f .L0f123cac -/* f123ca0: 00000000 */ nop -/* f123ca4: 46009006 */ mov.s $f0,$f18 -/* f123ca8: e7b201a8 */ swc1 $f18,0x1a8($sp) -.L0f123cac: -/* f123cac: 460a0002 */ mul.s $f0,$f0,$f10 -/* f123cb0: 4600103c */ c.lt.s $f2,$f0 -/* f123cb4: 00000000 */ nop -/* f123cb8: 45020005 */ bc1fl .L0f123cd0 -/* f123cbc: e7a001a0 */ swc1 $f0,0x1a0($sp) -/* f123cc0: 46001503 */ div.s $f20,$f2,$f0 -/* f123cc4: 10000003 */ b .L0f123cd4 -/* f123cc8: e7a001a0 */ swc1 $f0,0x1a0($sp) -/* f123ccc: e7a001a0 */ swc1 $f0,0x1a0($sp) -.L0f123cd0: -/* f123cd0: 46001506 */ mov.s $f20,$f2 -.L0f123cd4: -/* f123cd4: c7a40220 */ lwc1 $f4,0x220($sp) -/* f123cd8: e7b40190 */ swc1 $f20,0x190($sp) -/* f123cdc: 4604a302 */ mul.s $f12,$f20,$f4 -/* f123ce0: 0fc54be8 */ jal func0f152fa0 -/* f123ce4: 00000000 */ nop -/* f123ce8: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123cec: c7a60224 */ lwc1 $f6,0x224($sp) -/* f123cf0: afa200e8 */ sw $v0,0xe8($sp) -/* f123cf4: 4606a302 */ mul.s $f12,$f20,$f6 -/* f123cf8: 0fc54be8 */ jal func0f152fa0 -/* f123cfc: 00000000 */ nop -/* f123d00: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123d04: c7a80228 */ lwc1 $f8,0x228($sp) -/* f123d08: afa200e4 */ sw $v0,0xe4($sp) -/* f123d0c: 4608a302 */ mul.s $f12,$f20,$f8 -/* f123d10: 0fc54be8 */ jal func0f152fa0 -/* f123d14: 00000000 */ nop -/* f123d18: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123d1c: c7aa02a0 */ lwc1 $f10,0x2a0($sp) -/* f123d20: afa200e0 */ sw $v0,0xe0($sp) -/* f123d24: 460aa302 */ mul.s $f12,$f20,$f10 -/* f123d28: 0fc54be8 */ jal func0f152fa0 -/* f123d2c: 00000000 */ nop -/* f123d30: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123d34: c7a402a4 */ lwc1 $f4,0x2a4($sp) -/* f123d38: afa200d8 */ sw $v0,0xd8($sp) -/* f123d3c: 4604a302 */ mul.s $f12,$f20,$f4 -/* f123d40: 0fc54be8 */ jal func0f152fa0 -/* f123d44: 00000000 */ nop -/* f123d48: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123d4c: c7a602a8 */ lwc1 $f6,0x2a8($sp) -/* f123d50: afa200d4 */ sw $v0,0xd4($sp) -/* f123d54: 4606a302 */ mul.s $f12,$f20,$f6 -/* f123d58: 0fc54be8 */ jal func0f152fa0 -/* f123d5c: 00000000 */ nop -/* f123d60: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123d64: c7a802c0 */ lwc1 $f8,0x2c0($sp) -/* f123d68: afa200d0 */ sw $v0,0xd0($sp) -/* f123d6c: 4608a302 */ mul.s $f12,$f20,$f8 -/* f123d70: 0fc54be8 */ jal func0f152fa0 -/* f123d74: 00000000 */ nop -/* f123d78: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123d7c: c7aa02c4 */ lwc1 $f10,0x2c4($sp) -/* f123d80: afa200b8 */ sw $v0,0xb8($sp) -/* f123d84: 460aa302 */ mul.s $f12,$f20,$f10 -/* f123d88: 0fc54be8 */ jal func0f152fa0 -/* f123d8c: 00000000 */ nop -/* f123d90: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123d94: c7a402c8 */ lwc1 $f4,0x2c8($sp) -/* f123d98: afa200b4 */ sw $v0,0xb4($sp) -/* f123d9c: 4604a302 */ mul.s $f12,$f20,$f4 -/* f123da0: 0fc54be8 */ jal func0f152fa0 -/* f123da4: 00000000 */ nop -/* f123da8: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123dac: c7a60240 */ lwc1 $f6,0x240($sp) -/* f123db0: afa200b0 */ sw $v0,0xb0($sp) -/* f123db4: 4606a302 */ mul.s $f12,$f20,$f6 -/* f123db8: 0fc54be8 */ jal func0f152fa0 -/* f123dbc: 00000000 */ nop -/* f123dc0: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123dc4: c7a80244 */ lwc1 $f8,0x244($sp) -/* f123dc8: afa200c8 */ sw $v0,0xc8($sp) -/* f123dcc: 4608a302 */ mul.s $f12,$f20,$f8 -/* f123dd0: 0fc54be8 */ jal func0f152fa0 -/* f123dd4: 00000000 */ nop -/* f123dd8: c7b40190 */ lwc1 $f20,0x190($sp) -/* f123ddc: c7aa0248 */ lwc1 $f10,0x248($sp) -/* f123de0: afa200c4 */ sw $v0,0xc4($sp) -/* f123de4: 460aa302 */ mul.s $f12,$f20,$f10 -/* f123de8: 0fc54be8 */ jal func0f152fa0 -/* f123dec: 00000000 */ nop -/* f123df0: 8fad00e4 */ lw $t5,0xe4($sp) -/* f123df4: 8fac00e8 */ lw $t4,0xe8($sp) -/* f123df8: 3c09ffff */ lui $t1,0xffff -/* f123dfc: 8fa600c4 */ lw $a2,0xc4($sp) -/* f123e00: 8fbf00e0 */ lw $ra,0xe0($sp) -/* f123e04: 3c0eb400 */ lui $t6,0xb400 -/* f123e08: 01a9c024 */ and $t8,$t5,$t1 -/* f123e0c: 0018cc02 */ srl $t9,$t8,0x10 -/* f123e10: ae0e0000 */ sw $t6,0x0($s0) -/* f123e14: 01897824 */ and $t7,$t4,$t1 -/* f123e18: 01f97025 */ or $t6,$t7,$t9 -/* f123e1c: 26040008 */ addiu $a0,$s0,0x8 -/* f123e20: ae0e0004 */ sw $t6,0x4($s0) -/* f123e24: 3c18b200 */ lui $t8,0xb200 -/* f123e28: 03e97824 */ and $t7,$ra,$t1 -/* f123e2c: ac8f0004 */ sw $t7,0x4($a0) -/* f123e30: ac980000 */ sw $t8,0x0($a0) -/* f123e34: 24850008 */ addiu $a1,$a0,0x8 -/* f123e38: 3c19b400 */ lui $t9,0xb400 -/* f123e3c: acb90000 */ sw $t9,0x0($a1) -/* f123e40: 8faf00d4 */ lw $t7,0xd4($sp) -/* f123e44: 8fae00d8 */ lw $t6,0xd8($sp) -/* f123e48: 24a70008 */ addiu $a3,$a1,0x8 -/* f123e4c: 01e9c824 */ and $t9,$t7,$t1 -/* f123e50: 01c9c024 */ and $t8,$t6,$t1 -/* f123e54: 00197402 */ srl $t6,$t9,0x10 -/* f123e58: 030e7825 */ or $t7,$t8,$t6 -/* f123e5c: acaf0004 */ sw $t7,0x4($a1) -/* f123e60: 8fab00d0 */ lw $t3,0xd0($sp) -/* f123e64: 3c19b200 */ lui $t9,0xb200 -/* f123e68: acf90000 */ sw $t9,0x0($a3) -/* f123e6c: 0169c024 */ and $t8,$t3,$t1 -/* f123e70: acf80004 */ sw $t8,0x4($a3) -/* f123e74: 24e30008 */ addiu $v1,$a3,0x8 -/* f123e78: 3c0eb400 */ lui $t6,0xb400 -/* f123e7c: ac6e0000 */ sw $t6,0x0($v1) -/* f123e80: 31b8ffff */ andi $t8,$t5,0xffff -/* f123e84: 000ccc00 */ sll $t9,$t4,0x10 -/* f123e88: 03387025 */ or $t6,$t9,$t8 -/* f123e8c: ac6e0004 */ sw $t6,0x4($v1) -/* f123e90: 24700008 */ addiu $s0,$v1,0x8 -/* f123e94: 3c0fb200 */ lui $t7,0xb200 -/* f123e98: 001fc400 */ sll $t8,$ra,0x10 -/* f123e9c: ae180004 */ sw $t8,0x4($s0) -/* f123ea0: ae0f0000 */ sw $t7,0x0($s0) -/* f123ea4: 26080008 */ addiu $t0,$s0,0x8 -/* f123ea8: 3c0eb400 */ lui $t6,0xb400 -/* f123eac: ad0e0000 */ sw $t6,0x0($t0) -/* f123eb0: 8fae00d4 */ lw $t6,0xd4($sp) -/* f123eb4: 8fb900d8 */ lw $t9,0xd8($sp) -/* f123eb8: 8fa700c8 */ lw $a3,0xc8($sp) -/* f123ebc: 31cfffff */ andi $t7,$t6,0xffff -/* f123ec0: 0019c400 */ sll $t8,$t9,0x10 -/* f123ec4: 030fc825 */ or $t9,$t8,$t7 -/* f123ec8: ad190004 */ sw $t9,0x4($t0) -/* f123ecc: 25030008 */ addiu $v1,$t0,0x8 -/* f123ed0: 3c0eb200 */ lui $t6,0xb200 -/* f123ed4: 000b7c00 */ sll $t7,$t3,0x10 -/* f123ed8: ac6f0004 */ sw $t7,0x4($v1) -/* f123edc: ac6e0000 */ sw $t6,0x0($v1) -/* f123ee0: 24640008 */ addiu $a0,$v1,0x8 -/* f123ee4: 3c19b400 */ lui $t9,0xb400 -/* f123ee8: 00c9c024 */ and $t8,$a2,$t1 -/* f123eec: 00187c02 */ srl $t7,$t8,0x10 -/* f123ef0: ac990000 */ sw $t9,0x0($a0) -/* f123ef4: 00e97024 */ and $t6,$a3,$t1 -/* f123ef8: 01cfc825 */ or $t9,$t6,$t7 -/* f123efc: ac990004 */ sw $t9,0x4($a0) -/* f123f00: 24850008 */ addiu $a1,$a0,0x8 -/* f123f04: 00497024 */ and $t6,$v0,$t1 -/* f123f08: 3c18b200 */ lui $t8,0xb200 -/* f123f0c: acb80000 */ sw $t8,0x0($a1) -/* f123f10: acae0004 */ sw $t6,0x4($a1) -/* f123f14: 8fa800b4 */ lw $t0,0xb4($sp) -/* f123f18: 8fac00b8 */ lw $t4,0xb8($sp) -/* f123f1c: 00405025 */ or $t2,$v0,$zero -/* f123f20: 24b00008 */ addiu $s0,$a1,0x8 -/* f123f24: 8fab00b0 */ lw $t3,0xb0($sp) -/* f123f28: 02001025 */ or $v0,$s0,$zero -/* f123f2c: 3c0fb400 */ lui $t7,0xb400 -/* f123f30: 0109c024 */ and $t8,$t0,$t1 -/* f123f34: 00187402 */ srl $t6,$t8,0x10 -/* f123f38: ac4f0000 */ sw $t7,0x0($v0) -/* f123f3c: 0189c824 */ and $t9,$t4,$t1 -/* f123f40: 032e7825 */ or $t7,$t9,$t6 -/* f123f44: ac4f0004 */ sw $t7,0x4($v0) -/* f123f48: 26030008 */ addiu $v1,$s0,0x8 -/* f123f4c: 3c18b200 */ lui $t8,0xb200 -/* f123f50: 0169c824 */ and $t9,$t3,$t1 -/* f123f54: ac790004 */ sw $t9,0x4($v1) -/* f123f58: ac780000 */ sw $t8,0x0($v1) -/* f123f5c: 24700008 */ addiu $s0,$v1,0x8 -/* f123f60: 3c0eb400 */ lui $t6,0xb400 -/* f123f64: ae0e0000 */ sw $t6,0x0($s0) -/* f123f68: 30d9ffff */ andi $t9,$a2,0xffff -/* f123f6c: 0007c400 */ sll $t8,$a3,0x10 -/* f123f70: 03197025 */ or $t6,$t8,$t9 -/* f123f74: ae0e0004 */ sw $t6,0x4($s0) -/* f123f78: 26050008 */ addiu $a1,$s0,0x8 -/* f123f7c: 000acc00 */ sll $t9,$t2,0x10 -/* f123f80: acb90004 */ sw $t9,0x4($a1) -/* f123f84: 3c0fb200 */ lui $t7,0xb200 -/* f123f88: acaf0000 */ sw $t7,0x0($a1) -/* f123f8c: 24a30008 */ addiu $v1,$a1,0x8 -/* f123f90: 3c0eb400 */ lui $t6,0xb400 -/* f123f94: ac6e0000 */ sw $t6,0x0($v1) -/* f123f98: 3119ffff */ andi $t9,$t0,0xffff -/* f123f9c: 000cc400 */ sll $t8,$t4,0x10 -/* f123fa0: 03197025 */ or $t6,$t8,$t9 -/* f123fa4: 24640008 */ addiu $a0,$v1,0x8 -/* f123fa8: ac6e0004 */ sw $t6,0x4($v1) -/* f123fac: 3c0fb300 */ lui $t7,0xb300 -/* f123fb0: 000bcc00 */ sll $t9,$t3,0x10 -/* f123fb4: ac990004 */ sw $t9,0x4($a0) -/* f123fb8: ac8f0000 */ sw $t7,0x0($a0) -/* f123fbc: 24820008 */ addiu $v0,$a0,0x8 -.L0f123fc0: -/* f123fc0: 8fbf0024 */ lw $ra,0x24($sp) -/* f123fc4: d7b40018 */ ldc1 $f20,0x18($sp) -/* f123fc8: 8fb00020 */ lw $s0,0x20($sp) -/* f123fcc: 03e00008 */ jr $ra -/* f123fd0: 27bd0488 */ addiu $sp,$sp,0x488 -); +Gfx *sky0f122d4c(Gfx *gdl, struct skything38 *arg1, struct skything38 *arg2, struct skything38 *arg3, f32 arg4, bool textured) +{ + struct skything38 *sp484; + struct skything38 *sp480; + struct skything38 *sp47c; + s32 i; + f32 sp474; + f32 sp470; + f32 sp46c; + f32 sp468; + f32 sp464; + f32 sp460; + + f32 sp45c[1]; + f32 sp458[1]; + f32 sp454[1]; + f32 sp450[1]; + f32 sp44c[1]; + f32 sp448[1]; + + f32 sp444; + f32 sp440; + + 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; + f32 sp418; + f32 sp414; + f32 sp410; + f32 sp40c; + f32 sp408; + f32 sp404; + f32 sp400; + + 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[1]; + + f32 sp3bc[1]; + f32 sp3b8[1]; + f32 sp3b4[1]; + f32 sp3b0[1]; + f32 sp3ac[1]; + 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; + f32 sp378; + f32 sp374[1]; + f32 sp370[1]; + f32 sp36c[1]; + f32 sp368; + f32 sp364[1]; + f32 sp360[1]; + f32 sp35c[1]; + f32 sp358[1]; + f32 sp354[1]; + f32 sp350[1]; + f32 sp34c[1]; + f32 sp348[1]; + f32 sp344[1]; + f32 sp340[1]; + f32 sp33c[1]; + f32 sp338[1]; + f32 sp334[1]; + f32 sp330[1]; + f32 sp310[8]; + f32 sp2f0[8]; + f32 sp2d0[8]; + f32 sp2b0[8]; + f32 sp290[8]; + f32 sp270[8]; + f32 sp250[8]; + f32 sp230[8]; + f32 sp210[8]; + f32 f2; + f32 sp208[1]; + f32 sp204[1]; + f32 sp200[1]; + u32 stack[4]; + f32 sp1d0[8]; + f32 sp1b0[8]; + u32 stack2; + f32 sp1a8[1]; + f32 sp1a4[1]; + f32 sp1a0[1]; + struct skything38 *swap1; + struct skything38 *swap2; + struct skything38 *swap3; + f32 sp190[1]; + u32 stack3; + + if (sky0f122ce8(arg1, arg2) || sky0f122ce8(arg2, arg3) || sky0f122ce8(arg3, arg1)) { + return gdl; + } + + sp378 = arg4 / 65536.0f; + + sp474 = arg2->unk28 - arg1->unk28; + sp470 = arg2->unk2c - arg1->unk2c; + sp46c = arg3->unk28 - arg1->unk28; + sp468 = arg3->unk2c - arg1->unk2c; + + sp444 = ((sp46c * sp470) - (sp474 * sp468)) * (1.0f / 65536.0f); + + if (sp444 == 0.0f) { + return gdl; + } + + sp440 = 1.0f / sp444; + + sp484 = arg1; + sp480 = arg2; + sp47c = arg3; + + if (sp480->unk2c < sp484->unk2c) { + swap1 = sp480; + sp480 = sp484; + sp484 = swap1; + + sp444 *= -1.0f; + sp440 *= -1.0f; + } + + if (sp47c->unk2c < sp480->unk2c) { + swap2 = sp480; + sp480 = sp47c; + sp47c = swap2; + + sp444 *= -1.0f; + sp440 *= -1.0f; + } + + if (sp480->unk2c < sp484->unk2c) { + swap3 = sp480; + sp480 = sp484; + sp484 = swap3; + + sp444 *= -1.0f; + sp440 *= -1.0f; + } + + sp420[0] = sp480->unk28 * 0.25f; + sp424[0] = 0.0f; + sp428[0] = sp484->unk28 * 0.25f; + sp42c[0] = 0.0f; + sp430[0] = sp484->unk28 * 0.25f; + sp434[0] = 0.0f; + sp43c[0] = 0.0f; + sp438[0] = 0.0f; + + sp448[0] = sp47c->unk28; + sp44c[0] = sp47c->unk2c; + sp450[0] = sp480->unk28; + sp454[0] = sp480->unk2c; + sp458[0] = sp484->unk28; + sp45c[0] = sp484->unk2c; + + sp474 = sp450[0] - sp458[0]; + sp470 = sp454[0] - sp45c[0]; + sp46c = sp448[0] - sp458[0]; + sp468 = sp44c[0] - sp45c[0]; + sp464 = sp448[0] - sp450[0]; + sp460 = sp44c[0] - sp454[0]; + + sp3fc[0] = 0.0f; + sp3f8[0] = 0.0f; + sp3dc[0] = 0.0f; + sp3d8[0] = 0.0f; + sp3a0[0] = 0.0f; + sp3a8[0] = 0.0f; + sp3b0[0] = 0.0f; + sp3bc[0] = 0.0f; + sp3b8[0] = 0.0f; + sp380[0] = 0.0f; + sp388[0] = 0.0f; + sp390[0] = 0.0f; + sp39c[0] = 0.0f; + sp398[0] = 0.0f; + + sp3e0[0] = sp464 / 4.0f; + sp3e4[0] = sp460 / 4.0f; + sp3e8[0] = sp474 / 4.0f; + sp3ec[0] = sp470 / 4.0f; + sp3f0[0] = sp46c / 4.0f; + sp3f4[0] = sp468 / 4.0f; + + sp3c0[0] = sp464 * 4.0f; + sp3c4[0] = sp460 * 4.0f; + sp3c8[0] = sp474 * 4.0f; + sp3cc[0] = sp470 * 4.0f; + sp3d0[0] = sp46c * 4.0f; + sp3d4[0] = sp468 * 4.0f; + + sp3a4[0] = 4.0f / sp460; + sp3ac[0] = 4.0f / sp470; + sp3b4[0] = 4.0f / sp468; + + sp384[0] = sp464 / sp460; + sp38c[0] = sp474 / sp470; + sp394[0] = sp46c / sp468; + + sp384[0] = skyClamp(sp384[0], -1878.0f, 1877.0f); + sp38c[0] = skyClamp(sp38c[0], -1878.0f, 1877.0f); + sp394[0] = skyClamp(sp394[0], -1878.0f, 1877.0f); + + f2 = (sp484->unk2c * 0.25f); + sp37c = f2 - (s32) f2; + sp408 = sp428[0] - skyRound(sp38c[0] * 8192.0f) * (1.0f / 8192.0f) * sp37c; + sp410 = sp430[0] - skyRound(sp394[0] * 8192.0f) * (1.0f / 8192.0f) * sp37c; + + gImmp1(gdl++, G_RDPHALF_1, (textured ? (G_TRI_SHADE_TXTR << 24) : (G_TRI_FILL << 24)) + | (sp444 < 0.0f ? 0x00800000 : 0) + | (u32) sp47c->unk2c); + gImmp1(gdl++, G_RDPHALF_CONT, (s32) sp480->unk2c << 16 | (s32) sp484->unk2c); + + gImmp1(gdl++, G_RDPHALF_1, func0f152fa0(sp480->unk28 * 0.25f)); + gImmp1(gdl++, G_RDPHALF_CONT, func0f152fa0(sp384[0])); + + gImmp1(gdl++, G_RDPHALF_1, func0f152fa0(sp410)); + gImmp1(gdl++, G_RDPHALF_CONT, func0f152fa0(sp394[0])); + + gImmp1(gdl++, G_RDPHALF_1, func0f152fa0(sp408)); + gImmp1(gdl++, G_RDPHALF_CONT, func0f152fa0(sp38c[0])); + + if (!textured) { + return gdl; + } + + sp36c[0] = sp484->unk0c * sp378; + sp370[0] = sp480->unk0c * sp378; + sp374[0] = sp47c->unk0c * sp378; + + sp368 = sp36c[0]; + + if (sp370[0] < sp368) { + sp368 = sp370[0]; + } + + if (sp374[0] < sp368) { + sp368 = sp374[0]; + } + + sp368 *= 0.5f; + + sp35c[0] = sp484->unk34 * sp368; + sp360[0] = sp480->unk34 * sp368; + sp364[0] = sp47c->unk34 * sp368; + + sp338[0] = sp35c[0] * sp484->unk20; + sp33c[0] = sp35c[0] * sp484->unk24; + sp340[0] = sp35c[0] * 32767.0f; + sp344[0] = sp360[0] * sp480->unk20; + sp348[0] = sp360[0] * sp480->unk24; + sp34c[0] = sp360[0] * 32767.0f; + sp350[0] = sp364[0] * sp47c->unk20; + sp354[0] = sp364[0] * sp47c->unk24; + sp358[0] = sp364[0] * 32767.0f; + + sp330[0] = SKYABS(sp338[0]); + sp334[0] = SKYABS(sp33c[0]); + + if (sp330[0] < SKYABS(sp344[0])) { + sp330[0] = SKYABS(sp344[0]); + } + + if (sp334[0] < SKYABS(sp348[0])) { + sp334[0] = SKYABS(sp348[0]); + } + + if (sp330[0] < SKYABS(sp350[0])) { + sp330[0] = SKYABS(sp350[0]); + } + + if (sp334[0] < SKYABS(sp354[0])) { + sp334[0] = SKYABS(sp354[0]); + } + + sp310[0] = sp484->r + 0.5f; + sp310[1] = sp484->g + 0.5f; + sp310[2] = sp484->b + 0.5f; + sp310[3] = sp484->a + 0.5f; + + sp2f0[0] = sp480->r + 0.5f; + sp2f0[1] = sp480->g + 0.5f; + sp2f0[2] = sp480->b + 0.5f; + sp2f0[3] = sp480->a + 0.5f; + + sp2d0[0] = sp47c->r + 0.5f; + sp2d0[1] = sp47c->g + 0.5f; + sp2d0[2] = sp47c->b + 0.5f; + sp2d0[3] = sp47c->a + 0.5f; + + sp310[4] = sp338[0]; sp310[5] = sp33c[0]; sp310[6] = sp340[0]; + sp2f0[4] = sp344[0]; sp2f0[5] = sp348[0]; sp2f0[6] = sp34c[0]; + sp2d0[4] = sp350[0]; sp2d0[5] = sp354[0]; sp2d0[6] = sp358[0]; + + sp310[7] = sp484->unk30; + sp2f0[7] = sp480->unk30; + sp2d0[7] = sp47c->unk30; + + for (i = 0; i < 8; i++) { + sp2b0[i] = sp2f0[i] - sp310[i]; + sp290[i] = sp2d0[i] - sp310[i]; + } + + for (i = 0; i < 8; i++) { + sp250[i] = (sp290[i] * sp3cc[0] - sp2b0[i] * sp3d4[0]) * (1.0f / 65536.0f); + sp270[i] = (sp2b0[i] * sp3d0[0] - sp290[i] * sp3c8[0]) * (1.0f / 65536.0f); + sp290[i] = sp250[i] * sp440; + sp2b0[i] = sp270[i] * sp440; + sp230[i] = sp2b0[i] + sp290[i] * sp394[0]; + sp210[i] = sp310[i] - sp230[i] * sp37c; + } + + { + u32 sp168; + u32 sp164; + u32 sp160; + u32 sp15c; + u32 sp158; + u32 sp154; + u32 sp150; + u32 sp14c; + u32 sp148; + u32 sp144; + u32 sp140; + u32 sp13c; + u32 sp138; + u32 sp134; + u32 sp130; + u32 sp12c; + + sp168 = func0f152fa0(sp210[0]); + sp164 = func0f152fa0(sp210[1]); + sp160 = func0f152fa0(sp210[2]); + sp15c = func0f152fa0(sp210[3]); + + sp158 = func0f152fa0(sp290[0]); + sp154 = func0f152fa0(sp290[1]); + sp150 = func0f152fa0(sp290[2]); + sp14c = func0f152fa0(sp290[3]); + + sp138 = func0f152fa0(sp2b0[0]); + sp134 = func0f152fa0(sp2b0[1]); + sp130 = func0f152fa0(sp2b0[2]); + sp12c = func0f152fa0(sp2b0[3]); + + sp148 = func0f152fa0(sp230[0]); + sp144 = func0f152fa0(sp230[1]); + sp140 = func0f152fa0(sp230[2]); + sp13c = func0f152fa0(sp230[3]); + + gImmp1(gdl++, G_RDPHALF_1, (sp168 & 0xffff0000) | (sp164 & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (sp160 & 0xffff0000) | (sp15c & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (sp158 & 0xffff0000) | (sp154 & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (sp150 & 0xffff0000) | (sp14c & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (sp168 & 0x0000ffff) << 16 | (sp164 & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (sp160 & 0x0000ffff) << 16 | (sp15c & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (sp158 & 0x0000ffff) << 16 | (sp154 & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (sp150 & 0x0000ffff) << 16 | (sp14c & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (sp148 & 0xffff0000) | (sp144 & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (sp140 & 0xffff0000) | (sp13c & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (sp138 & 0xffff0000) | (sp134 & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (sp130 & 0xffff0000) | (sp12c & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (sp148 & 0x0000ffff) << 16 | (sp144 & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (sp140 & 0x0000ffff) << 16 | (sp13c & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (sp138 & 0x0000ffff) << 16 | (sp134 & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (sp130 & 0x0000ffff) << 16 | (sp12c & 0x0000ffff)); + } + + sp200[0] = sp330[0] * (1.0f / 32.0f); + sp204[0] = sp334[0] * (1.0f / 32.0f); + sp208[0] = sp368 * (1.0f / 32.0f); + + for (i = 0; i < 8; i++) { + sp1d0[i] = SKYABS(sp290[i]) * (1.0f / 32.0f); + sp1b0[i] = SKYABS(sp2b0[i]) * (1.0f / 32.0f); + } + + sp1a0[0] = sp200[0] + (2.0f * sp1d0[4]) + sp1b0[4]; + sp1a4[0] = sp204[0] + (2.0f * sp1d0[5]) + sp1b0[5]; + sp1a8[0] = sp208[0] + (2.0f * sp1d0[6]) + sp1b0[6]; + + if (sp1a0[0] < sp1a4[0]) { + sp1a0[0] = sp1a4[0]; + } + + if (sp1a0[0] < sp1a8[0]) { + sp1a0[0] = sp1a8[0]; + } + + sp1a0[0] *= 1.0f / 1024.0f; + + if (sp1a0[0] > 1.0f) { + sp190[0] = 1.0f / sp1a0[0]; + } else { + sp190[0] = 1.0f; + } + + { + u32 spe8; + u32 spe4; + 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; + + spe8 = func0f152fa0(sp210[4] * sp190[0]); + spe4 = func0f152fa0(sp210[5] * sp190[0]); + spe0 = func0f152fa0(sp210[6] * sp190[0]); + spdc = 0; + + spd8 = func0f152fa0(sp290[4] * sp190[0]); + spd4 = func0f152fa0(sp290[5] * sp190[0]); + spd0 = func0f152fa0(sp290[6] * sp190[0]); + spcc = 0; + + spb8 = func0f152fa0(sp2b0[4] * sp190[0]); + spb4 = func0f152fa0(sp2b0[5] * sp190[0]); + spb0 = func0f152fa0(sp2b0[6] * sp190[0]); + spac = 0; + + spc8 = func0f152fa0(sp230[4] * sp190[0]); + spc4 = func0f152fa0(sp230[5] * sp190[0]); + spc0 = func0f152fa0(sp230[6] * sp190[0]); + spbc = 0; + + gImmp1(gdl++, G_RDPHALF_1, (spe8 & 0xffff0000) | (spe4 & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (spe0 & 0xffff0000) | (spdc & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (spd8 & 0xffff0000) | (spd4 & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (spd0 & 0xffff0000) | (spcc & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (spe8 & 0x0000ffff) << 16 | (spe4 & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (spe0 & 0x0000ffff) << 16 | (spdc & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (spd8 & 0x0000ffff) << 16 | (spd4 & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (spd0 & 0x0000ffff) << 16 | (spcc & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (spc8 & 0xffff0000) | (spc4 & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (spc0 & 0xffff0000) | (spbc & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (spb8 & 0xffff0000) | (spb4 & 0xffff0000) >> 16); + gImmp1(gdl++, G_RDPHALF_CONT, (spb0 & 0xffff0000) | (spac & 0xffff0000) >> 16); + + gImmp1(gdl++, G_RDPHALF_1, (spc8 & 0x0000ffff) << 16 | (spc4 & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_CONT, (spc0 & 0x0000ffff) << 16 | (spbc & 0x0000ffff)); + + gImmp1(gdl++, G_RDPHALF_1, (spb8 & 0x0000ffff) << 16 | (spb4 & 0x0000ffff)); + gImmp1(gdl++, G_RDPHALF_2, (spb0 & 0x0000ffff) << 16 | (spac & 0x0000ffff)); + } + + return gdl; +} GLOBAL_ASM( glabel sky0f123fd4 diff --git a/src/include/game/game_152fa0.h b/src/include/game/game_152fa0.h index 3ab78f71f..95d2fc73c 100644 --- a/src/include/game/game_152fa0.h +++ b/src/include/game/game_152fa0.h @@ -4,7 +4,7 @@ #include "data.h" #include "types.h" -s32 func0f152fa0(f32 arg0); +u32 func0f152fa0(f32 arg0); Gfx *func0f153134(Gfx *gdl); #endif diff --git a/src/include/game/sky.h b/src/include/game/sky.h index 4af94f662..b59152a46 100644 --- a/src/include/game/sky.h +++ b/src/include/game/sky.h @@ -19,7 +19,7 @@ void sky0f11f6ec(struct skything18 *arg0, f32 arg1); Gfx *skyRender(Gfx *gdl); void sky0f1228d0(struct skything18 *arg0, Mtxf *arg1, u16 arg2, f32 arg3, f32 arg4, struct skything38 *arg5); bool sky0f122ce8(struct skything38 *arg0, struct skything38 *arg1); -Gfx *sky0f122d4c(Gfx *gdl, struct skything38 *arg1, struct skything38 *arg2, struct skything38 *arg3, f32 arg4, bool arg5); +Gfx *sky0f122d4c(Gfx *gdl, struct skything38 *arg1, struct skything38 *arg2, struct skything38 *arg3, f32 arg4, bool textured); Gfx *sky0f123fd4(Gfx *gdl, struct skything38 *arg1, struct skything38 *arg2, struct skything38 *arg3, struct skything38 *arg4, f32 arg5); void skyCreateArtifact(struct artifact *artifact, s32 x, s32 y); f32 sky0f125a1c(struct artifact *artifacts);