From c76a5aeb753812b27d3d59e2ad62403e57f2e17b Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 10 Feb 2021 22:34:39 +1000 Subject: [PATCH] Identify shard functions and split/rename their files --- ld/gamefiles.inc | 9 +- src/game/core.c | 6 +- src/game/game_013550.c | 68 -- src/game/game_013b80.c | 53 + src/game/propobj.c | 9 +- src/game/shards/create.c | 1053 +++++++++++++++++++ src/game/shards/init.c | 39 + src/game/{game_150820.c => shards/render.c} | 1046 +----------------- src/game/{game_015420.c => shards/reset.c} | 0 src/game/{game_01de30.c => shards/tick.c} | 0 src/game/training/training.c | 5 +- src/include/game/game_013550.h | 5 +- src/include/game/game_013b80.h | 9 + src/include/game/game_015420.h | 8 - src/include/game/game_01de30.h | 8 - src/include/game/game_150820.h | 12 - src/include/game/shards.h | 12 + 17 files changed, 1189 insertions(+), 1153 deletions(-) create mode 100644 src/game/game_013b80.c create mode 100644 src/game/shards/create.c create mode 100644 src/game/shards/init.c rename src/game/{game_150820.c => shards/render.c} (50%) rename src/game/{game_015420.c => shards/reset.c} (100%) rename src/game/{game_01de30.c => shards/tick.c} (100%) create mode 100644 src/include/game/game_013b80.h delete mode 100644 src/include/game/game_015420.h delete mode 100644 src/include/game/game_01de30.h delete mode 100644 src/include/game/game_150820.h create mode 100644 src/include/game/shards.h diff --git a/ld/gamefiles.inc b/ld/gamefiles.inc index 6c38b172b..5ec8fa05b 100644 --- a/ld/gamefiles.inc +++ b/ld/gamefiles.inc @@ -39,6 +39,8 @@ build/ROMID/game/weather/init.o (section); \ build/ROMID/game/stubs/game_013540.o (section); \ build/ROMID/game/game_013550.o (section); \ + build/ROMID/game/shards/init.o (section); \ + build/ROMID/game/game_013b80.o (section); \ build/ROMID/game/game_013cf0.o (section); \ build/ROMID/game/game_013ee0.o (section); \ build/ROMID/game/game_0147a0.o (section); \ @@ -54,7 +56,7 @@ build/ROMID/game/stubs/game_0153f0.o (section); \ build/ROMID/game/stubs/game_015400.o (section); \ build/ROMID/game/stubs/game_015410.o (section); \ - build/ROMID/game/game_015420.o (section); \ + build/ROMID/game/shards/reset.o (section); \ build/ROMID/game/game_015470.o (section); \ build/ROMID/game/title.o (section); \ build/ROMID/game/game_01afc0.o (section); \ @@ -65,7 +67,7 @@ build/ROMID/game/game_01d860.o (section); \ build/ROMID/game/game_01d990.o (section); \ build/ROMID/game/casing/tick.o (section); \ - build/ROMID/game/game_01de30.o (section); \ + build/ROMID/game/shards/tick.o (section); \ build/ROMID/game/sparks/tick.o (section); \ build/ROMID/game/chr/chr.o (section); \ build/ROMID/game/game_02cde0.o (section); \ @@ -150,7 +152,8 @@ build/ROMID/game/data/data_0258c0.o (section); \ build/ROMID/game/splat.o (section); \ build/ROMID/game/camdraw.o (section); \ - build/ROMID/game/game_150820.o (section); \ + build/ROMID/game/shards/create.o (section); \ + build/ROMID/game/shards/render.o (section); \ build/ROMID/game/options.o (section); \ build/ROMID/game/game_152fa0.o (section); \ build/ROMID/game/game_1531a0.o (section); \ diff --git a/src/game/core.c b/src/game/core.c index 614e1ecab..2988a065c 100644 --- a/src/game/core.c +++ b/src/game/core.c @@ -47,7 +47,7 @@ #include "game/stubs/game_0153f0.h" #include "game/stubs/game_015400.h" #include "game/stubs/game_015410.h" -#include "game/game_015420.h" +#include "game/shards.h" #include "game/game_015470.h" #include "game/title.h" #include "game/game_01b0a0.h" @@ -55,7 +55,6 @@ #include "game/weather/tick.h" #include "game/game_01d860.h" #include "game/game_01d990.h" -#include "game/game_01de30.h" #include "game/chr/chr.h" #include "game/prop.h" #include "game/game_095320.h" @@ -80,7 +79,6 @@ #include "game/credits.h" #include "game/game_13c510.h" #include "game/bondview.h" -#include "game/game_150820.h" #include "game/game_1531a0.h" #include "game/room.h" #include "game/game_165670.h" @@ -1214,7 +1212,7 @@ Gfx *coreRender(Gfx *gdl) gdl = bgRender(gdl); func0f028498(var80075d68 == 15 || var8005f020); gdl = propsRenderBulletTails(gdl); - gdl = func0f1526e4(gdl); + gdl = shardsRender(gdl); gdl = sparksRender(gdl); gdl = weatherRender(gdl); diff --git a/src/game/game_013550.c b/src/game/game_013550.c index 0d73ad81a..8e0b62354 100644 --- a/src/game/game_013550.c +++ b/src/game/game_013550.c @@ -126,71 +126,3 @@ void func0f013550(void) } } } - -void shardsInit(void) -{ - s32 i; - - g_MaxShards = 200 / PLAYERCOUNT(); - - if (IS4MB()) { - g_MaxShards = g_MaxShards / 2; - } - - if (g_Vars.stagenum >= STAGE_TITLE) { - g_MaxShards = 0; - } - - if (g_MaxShards == 0) { - g_Shards = NULL; - } else { - g_Shards = malloc(g_MaxShards * sizeof(struct shard) + 0xf & ~0xf, MEMPOOL_STAGE); - - for (i = 0; i < g_MaxShards; i++) { - g_Shards[i].age60 = 0; - } - } - - var8007fa80 = 0; -} - -void func0f013b80(void) -{ - var800ab538 = 0; - var800aabc8[0] = 0; - var800aabc8[1] = 0; - var800aabc8[3] = 0; -} - -void func0f013ba0(void) -{ - s32 i; - s32 j; - s32 num; - s32 val; - - for (i = 0; i < 4; i++) { - if (PLAYERCOUNT() >= 2) { - val = var8007e3d0[i].valifmp; - num = var8007e3d0[i].numifmp; - } else if (g_Vars.stagenum >= STAGE_TITLE) { - val = var8007e3d0[i].valifspecial; - num = var8007e3d0[i].numifspecial; - } else { - val = var8007e3d0[i].valifsp; - num = var8007e3d0[i].numifsp; - } - - if (num > 0) { - var8007e3d0[i].unk24 = malloc(num * sizeof(struct var8007e3d0_data), MEMPOOL_STAGE); - } - - for (j = 0; j < num; j++) { - var8007e3d0[i].unk24[j].unk0e = 0; - } - - var8007e3d0[i].numallocated = num; - var8007e3d0[i].val1 = val; - var8007e3d0[i].val2 = val; - } -} diff --git a/src/game/game_013b80.c b/src/game/game_013b80.c new file mode 100644 index 000000000..4cf3bd771 --- /dev/null +++ b/src/game/game_013b80.c @@ -0,0 +1,53 @@ +#include +#include "constants.h" +#include "game/data/data_000000.h" +#include "game/data/data_0083d0.h" +#include "game/data/data_00e460.h" +#include "game/data/data_0160b0.h" +#include "game/data/data_01a3a0.h" +#include "game/data/data_020df0.h" +#include "game/data/data_02da90.h" +#include "gvars/gvars.h" +#include "lib/memory.h" +#include "types.h" + +void func0f013b80(void) +{ + var800ab538 = 0; + var800aabc8[0] = 0; + var800aabc8[1] = 0; + var800aabc8[3] = 0; +} + +void func0f013ba0(void) +{ + s32 i; + s32 j; + s32 num; + s32 val; + + for (i = 0; i < 4; i++) { + if (PLAYERCOUNT() >= 2) { + val = var8007e3d0[i].valifmp; + num = var8007e3d0[i].numifmp; + } else if (g_Vars.stagenum >= STAGE_TITLE) { + val = var8007e3d0[i].valifspecial; + num = var8007e3d0[i].numifspecial; + } else { + val = var8007e3d0[i].valifsp; + num = var8007e3d0[i].numifsp; + } + + if (num > 0) { + var8007e3d0[i].unk24 = malloc(num * sizeof(struct var8007e3d0_data), MEMPOOL_STAGE); + } + + for (j = 0; j < num; j++) { + var8007e3d0[i].unk24[j].unk0e = 0; + } + + var8007e3d0[i].numallocated = num; + var8007e3d0[i].val1 = val; + var8007e3d0[i].val2 = val; + } +} diff --git a/src/game/propobj.c b/src/game/propobj.c index f5915b183..361e9df0a 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -45,7 +45,6 @@ #include "game/explosions/explosions.h" #include "game/smoke/smoke.h" #include "game/sparks/sparks.h" -#include "game/game_150820.h" #include "game/game_1531a0.h" #include "game/room.h" #include "game/game_1655c0.h" @@ -34922,7 +34921,7 @@ glabel func0f084cf0 /* f084d78: c46a0010 */ lwc1 $f10,0x10($v1) /* f084d7c: afb00024 */ sw $s0,0x24($sp) /* f084d80: afae0020 */ sw $t6,0x20($sp) -/* f084d84: 0fc54208 */ jal func0f150820 +/* f084d84: 0fc54208 */ jal shardsCreate /* f084d88: e7aa001c */ swc1 $f10,0x1c($sp) /* f084d8c: 10000011 */ b .L0f084dd4 /* f084d90: 3c04bcde */ lui $a0,0xbcde @@ -34940,7 +34939,7 @@ glabel func0f084cf0 /* f084dbc: c4660010 */ lwc1 $f6,0x10($v1) /* f084dc0: afb00024 */ sw $s0,0x24($sp) /* f084dc4: afa00020 */ sw $zero,0x20($sp) -/* f084dc8: 0fc54208 */ jal func0f150820 +/* f084dc8: 0fc54208 */ jal shardsCreate /* f084dcc: e7a6001c */ swc1 $f6,0x1c($sp) /* f084dd0: 3c04bcde */ lui $a0,0xbcde .L0f084dd4: @@ -35034,7 +35033,7 @@ glabel func0f084e58 /* f084f14: c50a0010 */ lwc1 $f10,0x10($t0) /* f084f18: afa00020 */ sw $zero,0x20($sp) /* f084f1c: afab0024 */ sw $t3,0x24($sp) -/* f084f20: 0fc54208 */ jal func0f150820 +/* f084f20: 0fc54208 */ jal shardsCreate /* f084f24: e7aa001c */ swc1 $f10,0x1c($sp) /* f084f28: 8fa4008c */ lw $a0,0x8c($sp) /* f084f2c: 0fc4f903 */ jal func0f13e40c @@ -35098,7 +35097,7 @@ glabel func0f084f64 /* f085000: c60a0010 */ lwc1 $f10,0x10($s0) /* f085004: afa00020 */ sw $zero,0x20($sp) /* f085008: afa80024 */ sw $t0,0x24($sp) -/* f08500c: 0fc54208 */ jal func0f150820 +/* f08500c: 0fc54208 */ jal shardsCreate /* f085010: e7aa001c */ swc1 $f10,0x1c($sp) /* f085014: 8fa4008c */ lw $a0,0x8c($sp) .L0f085018: diff --git a/src/game/shards/create.c b/src/game/shards/create.c new file mode 100644 index 000000000..0840cfd59 --- /dev/null +++ b/src/game/shards/create.c @@ -0,0 +1,1053 @@ +#include +#include "constants.h" +#include "game/data/data_000000.h" +#include "game/data/data_0083d0.h" +#include "game/data/data_00e460.h" +#include "game/data/data_0160b0.h" +#include "game/data/data_01a3a0.h" +#include "game/data/data_020df0.h" +#include "game/data/data_02da90.h" +#include "game/dlights.h" +#include "game/game_092610.h" +#include "game/atan2f.h" +#include "game/game_0b3350.h" +#include "game/file.h" +#include "gvars/gvars.h" +#include "lib/rng.h" +#include "lib/lib_159b0.h" +#include "lib/lib_16110.h" +#include "types.h" + +const u32 var7f1b7370[] = {0x3dcccccd}; +const u32 var7f1b7374[] = {0x3f333333}; +const u32 var7f1b7378[] = {0x3f8f5c29}; +const u32 var7f1b737c[] = {0x3df5c28f}; +const u32 var7f1b7380[] = {0x40c907a9}; +const u32 var7f1b7384[] = {0x3dcccccd}; +const u32 var7f1b7388[] = {0x3dcccccd}; +const u32 var7f1b738c[] = {0x3dcccccd}; + +GLOBAL_ASM( +glabel shardsCreate +/* f150820: 27bdfee8 */ addiu $sp,$sp,-280 +/* f150824: afbf0094 */ sw $ra,0x94($sp) +/* f150828: afb70090 */ sw $s7,0x90($sp) +/* f15082c: afb6008c */ sw $s6,0x8c($sp) +/* f150830: afb50088 */ sw $s5,0x88($sp) +/* f150834: afb40084 */ sw $s4,0x84($sp) +/* f150838: afb30080 */ sw $s3,0x80($sp) +/* f15083c: afb2007c */ sw $s2,0x7c($sp) +/* f150840: afb10078 */ sw $s1,0x78($sp) +/* f150844: afb00074 */ sw $s0,0x74($sp) +/* f150848: f7be0068 */ sdc1 $f30,0x68($sp) +/* f15084c: f7bc0060 */ sdc1 $f28,0x60($sp) +/* f150850: f7ba0058 */ sdc1 $f26,0x58($sp) +/* f150854: f7b80050 */ sdc1 $f24,0x50($sp) +/* f150858: f7b60048 */ sdc1 $f22,0x48($sp) +/* f15085c: f7b40040 */ sdc1 $f20,0x40($sp) +/* f150860: c4a40000 */ lwc1 $f4,0x0($a1) +/* f150864: 00c08025 */ or $s0,$a2,$zero +/* f150868: 00808825 */ or $s1,$a0,$zero +/* f15086c: e7a400cc */ swc1 $f4,0xcc($sp) +/* f150870: c4a60004 */ lwc1 $f6,0x4($a1) +/* f150874: c7aa00cc */ lwc1 $f10,0xcc($sp) +/* f150878: 00e09025 */ or $s2,$a3,$zero +/* f15087c: e7a600d0 */ swc1 $f6,0xd0($sp) +/* f150880: 460a5402 */ mul.s $f16,$f10,$f10 +/* f150884: c4a80008 */ lwc1 $f8,0x8($a1) +/* f150888: c7b200d0 */ lwc1 $f18,0xd0($sp) +/* f15088c: e7a800d4 */ swc1 $f8,0xd4($sp) +/* f150890: 46129102 */ mul.s $f4,$f18,$f18 +/* f150894: c7a800d4 */ lwc1 $f8,0xd4($sp) +/* f150898: 46084282 */ mul.s $f10,$f8,$f8 +/* f15089c: 46048180 */ add.s $f6,$f16,$f4 +/* f1508a0: 0c012974 */ jal sqrtf +/* f1508a4: 46065300 */ add.s $f12,$f10,$f6 +/* f1508a8: 3c013f80 */ lui $at,0x3f80 +/* f1508ac: 4481f000 */ mtc1 $at,$f30 +/* f1508b0: c7b200cc */ lwc1 $f18,0xcc($sp) +/* f1508b4: c7a400d0 */ lwc1 $f4,0xd0($sp) +/* f1508b8: 4600f503 */ div.s $f20,$f30,$f0 +/* f1508bc: c7aa00d4 */ lwc1 $f10,0xd4($sp) +/* f1508c0: c7b60128 */ lwc1 $f22,0x128($sp) +/* f1508c4: c7ba012c */ lwc1 $f26,0x12c($sp) +/* f1508c8: 46149402 */ mul.s $f16,$f18,$f20 +/* f1508cc: 00000000 */ nop +/* f1508d0: 46142202 */ mul.s $f8,$f4,$f20 +/* f1508d4: 00000000 */ nop +/* f1508d8: 46145182 */ mul.s $f6,$f10,$f20 +/* f1508dc: e7b000cc */ swc1 $f16,0xcc($sp) +/* f1508e0: 4600b582 */ mul.s $f22,$f22,$f0 +/* f1508e4: e7a800d0 */ swc1 $f8,0xd0($sp) +/* f1508e8: 4600d682 */ mul.s $f26,$f26,$f0 +/* f1508ec: e7a600d4 */ swc1 $f6,0xd4($sp) +/* f1508f0: c6120000 */ lwc1 $f18,0x0($s0) +/* f1508f4: e7b200c0 */ swc1 $f18,0xc0($sp) +/* f1508f8: c6100004 */ lwc1 $f16,0x4($s0) +/* f1508fc: c7a800c0 */ lwc1 $f8,0xc0($sp) +/* f150900: e7b000c4 */ swc1 $f16,0xc4($sp) +/* f150904: 46084282 */ mul.s $f10,$f8,$f8 +/* f150908: c6040008 */ lwc1 $f4,0x8($s0) +/* f15090c: c7a600c4 */ lwc1 $f6,0xc4($sp) +/* f150910: e7a400c8 */ swc1 $f4,0xc8($sp) +/* f150914: 46063482 */ mul.s $f18,$f6,$f6 +/* f150918: c7a400c8 */ lwc1 $f4,0xc8($sp) +/* f15091c: 46042202 */ mul.s $f8,$f4,$f4 +/* f150920: 46125400 */ add.s $f16,$f10,$f18 +/* f150924: 0c012974 */ jal sqrtf +/* f150928: 46104300 */ add.s $f12,$f8,$f16 +/* f15092c: 4600f503 */ div.s $f20,$f30,$f0 +/* f150930: c7a600c0 */ lwc1 $f6,0xc0($sp) +/* f150934: c7b200c4 */ lwc1 $f18,0xc4($sp) +/* f150938: c7a800c8 */ lwc1 $f8,0xc8($sp) +/* f15093c: c7b80130 */ lwc1 $f24,0x130($sp) +/* f150940: c7bc0134 */ lwc1 $f28,0x134($sp) +/* f150944: 46143282 */ mul.s $f10,$f6,$f20 +/* f150948: 00000000 */ nop +/* f15094c: 46149102 */ mul.s $f4,$f18,$f20 +/* f150950: 00000000 */ nop +/* f150954: 46144402 */ mul.s $f16,$f8,$f20 +/* f150958: e7aa00c0 */ swc1 $f10,0xc0($sp) +/* f15095c: 4600c602 */ mul.s $f24,$f24,$f0 +/* f150960: e7a400c4 */ swc1 $f4,0xc4($sp) +/* f150964: 4600e702 */ mul.s $f28,$f28,$f0 +/* f150968: e7b000c8 */ swc1 $f16,0xc8($sp) +/* f15096c: c64e0008 */ lwc1 $f14,0x8($s2) +/* f150970: 0fc259d4 */ jal atan2f +/* f150974: c64c0000 */ lwc1 $f12,0x0($s2) +/* f150978: 3c0e800a */ lui $t6,%hi(g_MaxShards) +/* f15097c: 8dce45c0 */ lw $t6,%lo(g_MaxShards)($t6) +/* f150980: 4616d501 */ sub.s $f20,$f26,$f22 +/* f150984: 46000786 */ mov.s $f30,$f0 +/* f150988: 4618e081 */ sub.s $f2,$f28,$f24 +/* f15098c: 4602a182 */ mul.s $f6,$f20,$f2 +/* f150990: 05c10003 */ bgez $t6,.L0f1509a0 +/* f150994: 000e7843 */ sra $t7,$t6,0x1 +/* f150998: 25c10001 */ addiu $at,$t6,0x1 +/* f15099c: 00017843 */ sra $t7,$at,0x1 +.L0f1509a0: +/* f1509a0: 448f5000 */ mtc1 $t7,$f10 +/* f1509a4: e7a200ac */ swc1 $f2,0xac($sp) +/* f1509a8: 468054a0 */ cvt.s.w $f18,$f10 +/* f1509ac: 0c012974 */ jal sqrtf +/* f1509b0: 46123303 */ div.s $f12,$f6,$f18 +/* f1509b4: 4600010d */ trunc.w.s $f4,$f0 +/* f1509b8: c7aa00cc */ lwc1 $f10,0xcc($sp) +/* f1509bc: e7a000ec */ swc1 $f0,0xec($sp) +/* f1509c0: c6300000 */ lwc1 $f16,0x0($s1) +/* f1509c4: 44122000 */ mfc1 $s2,$f4 +/* f1509c8: c7a400c0 */ lwc1 $f4,0xc0($sp) +/* f1509cc: 8fb40138 */ lw $s4,0x138($sp) +/* f1509d0: 0012c843 */ sra $t9,$s2,0x1 +/* f1509d4: 44994000 */ mtc1 $t9,$f8 +/* f1509d8: 8fb3013c */ lw $s3,0x13c($sp) +/* f1509dc: 00002025 */ or $a0,$zero,$zero +/* f1509e0: 468043a0 */ cvt.s.w $f14,$f8 +/* f1509e4: 00002825 */ or $a1,$zero,$zero +/* f1509e8: 24068078 */ addiu $a2,$zero,-32648 +/* f1509ec: 2407ffff */ addiu $a3,$zero,-1 +/* f1509f0: 2408ffff */ addiu $t0,$zero,-1 +/* f1509f4: 240bffff */ addiu $t3,$zero,-1 +/* f1509f8: 460eb300 */ add.s $f12,$f22,$f14 +/* f1509fc: 24010001 */ addiu $at,$zero,0x1 +/* f150a00: 02408025 */ or $s0,$s2,$zero +/* f150a04: 460ec080 */ add.s $f2,$f24,$f14 +/* f150a08: 460a6182 */ mul.s $f6,$f12,$f10 +/* f150a0c: 26690008 */ addiu $t1,$s3,0x8 +/* f150a10: 266a0028 */ addiu $t2,$s3,0x28 +/* f150a14: 46022202 */ mul.s $f8,$f4,$f2 +/* f150a18: 46068480 */ add.s $f18,$f16,$f6 +/* f150a1c: c7a600d0 */ lwc1 $f6,0xd0($sp) +/* f150a20: 46124280 */ add.s $f10,$f8,$f18 +/* f150a24: 46066102 */ mul.s $f4,$f12,$f6 +/* f150a28: c7b200c4 */ lwc1 $f18,0xc4($sp) +/* f150a2c: e7aa00d8 */ swc1 $f10,0xd8($sp) +/* f150a30: 46029282 */ mul.s $f10,$f18,$f2 +/* f150a34: c6300004 */ lwc1 $f16,0x4($s1) +/* f150a38: 46048200 */ add.s $f8,$f16,$f4 +/* f150a3c: c7a400d4 */ lwc1 $f4,0xd4($sp) +/* f150a40: 46085180 */ add.s $f6,$f10,$f8 +/* f150a44: 46046482 */ mul.s $f18,$f12,$f4 +/* f150a48: c7a800c8 */ lwc1 $f8,0xc8($sp) +/* f150a4c: e7a600dc */ swc1 $f6,0xdc($sp) +/* f150a50: 46024182 */ mul.s $f6,$f8,$f2 +/* f150a54: c6300008 */ lwc1 $f16,0x8($s1) +/* f150a58: 46128280 */ add.s $f10,$f16,$f18 +/* f150a5c: 460a3100 */ add.s $f4,$f6,$f10 +/* f150a60: 16800011 */ bnez $s4,.L0f150aa8 +/* f150a64: e7a400e0 */ swc1 $f4,0xe0($sp) +/* f150a68: 3c01bf80 */ lui $at,0xbf80 +/* f150a6c: 44810000 */ mtc1 $at,$f0 +/* f150a70: afa80010 */ sw $t0,0x10($sp) +/* f150a74: afa00014 */ sw $zero,0x14($sp) +/* f150a78: afa00018 */ sw $zero,0x18($sp) +/* f150a7c: afa0001c */ sw $zero,0x1c($sp) +/* f150a80: afa90020 */ sw $t1,0x20($sp) +/* f150a84: afaa0028 */ sw $t2,0x28($sp) +/* f150a88: afab002c */ sw $t3,0x2c($sp) +/* f150a8c: e7a00024 */ swc1 $f0,0x24($sp) +/* f150a90: e7a00030 */ swc1 $f0,0x30($sp) +/* f150a94: e7a00034 */ swc1 $f0,0x34($sp) +/* f150a98: 0fc24e7e */ jal func0f0939f8 +/* f150a9c: e7a00038 */ swc1 $f0,0x38($sp) +/* f150aa0: 1000003c */ b .L0f150b94 +/* f150aa4: 44908000 */ mtc1 $s0,$f16 +.L0f150aa8: +/* f150aa8: 56810021 */ bnel $s4,$at,.L0f150b30 +/* f150aac: 24010002 */ addiu $at,$zero,0x2 +/* f150ab0: 0c004b70 */ jal random +/* f150ab4: 00000000 */ nop +/* f150ab8: 3c01bf80 */ lui $at,0xbf80 +/* f150abc: 44810000 */ mtc1 $at,$f0 +/* f150ac0: 8fb3013c */ lw $s3,0x13c($sp) +/* f150ac4: 30460001 */ andi $a2,$v0,0x1 +/* f150ac8: 00066040 */ sll $t4,$a2,0x1 +/* f150acc: 25860010 */ addiu $a2,$t4,0x10 +/* f150ad0: 00066c00 */ sll $t5,$a2,0x10 +/* f150ad4: 240fffff */ addiu $t7,$zero,-1 +/* f150ad8: 2408ffff */ addiu $t0,$zero,-1 +/* f150adc: 26780008 */ addiu $t8,$s3,0x8 +/* f150ae0: 26790028 */ addiu $t9,$s3,0x28 +/* f150ae4: afb90028 */ sw $t9,0x28($sp) +/* f150ae8: afb80020 */ sw $t8,0x20($sp) +/* f150aec: afa8002c */ sw $t0,0x2c($sp) +/* f150af0: afaf0010 */ sw $t7,0x10($sp) +/* f150af4: 000d3403 */ sra $a2,$t5,0x10 +/* f150af8: 00002025 */ or $a0,$zero,$zero +/* f150afc: 00002825 */ or $a1,$zero,$zero +/* f150b00: 2407ffff */ addiu $a3,$zero,-1 +/* f150b04: afa00014 */ sw $zero,0x14($sp) +/* f150b08: afa00018 */ sw $zero,0x18($sp) +/* f150b0c: afa0001c */ sw $zero,0x1c($sp) +/* f150b10: e7a00024 */ swc1 $f0,0x24($sp) +/* f150b14: e7a00030 */ swc1 $f0,0x30($sp) +/* f150b18: e7a00034 */ swc1 $f0,0x34($sp) +/* f150b1c: 0fc24e7e */ jal func0f0939f8 +/* f150b20: e7a00038 */ swc1 $f0,0x38($sp) +/* f150b24: 1000001b */ b .L0f150b94 +/* f150b28: 44908000 */ mtc1 $s0,$f16 +/* f150b2c: 24010002 */ addiu $at,$zero,0x2 +.L0f150b30: +/* f150b30: 16810017 */ bne $s4,$at,.L0f150b90 +/* f150b34: 8fb3013c */ lw $s3,0x13c($sp) +/* f150b38: 3c01bf80 */ lui $at,0xbf80 +/* f150b3c: 44810000 */ mtc1 $at,$f0 +/* f150b40: 2409ffff */ addiu $t1,$zero,-1 +/* f150b44: 266a0008 */ addiu $t2,$s3,0x8 +/* f150b48: 266b0028 */ addiu $t3,$s3,0x28 +/* f150b4c: 240cffff */ addiu $t4,$zero,-1 +/* f150b50: afac002c */ sw $t4,0x2c($sp) +/* f150b54: afab0028 */ sw $t3,0x28($sp) +/* f150b58: afaa0020 */ sw $t2,0x20($sp) +/* f150b5c: afa90010 */ sw $t1,0x10($sp) +/* f150b60: 00002025 */ or $a0,$zero,$zero +/* f150b64: 00002825 */ or $a1,$zero,$zero +/* f150b68: 240605d8 */ addiu $a2,$zero,0x5d8 +/* f150b6c: 2407ffff */ addiu $a3,$zero,-1 +/* f150b70: afa00014 */ sw $zero,0x14($sp) +/* f150b74: afa00018 */ sw $zero,0x18($sp) +/* f150b78: afa0001c */ sw $zero,0x1c($sp) +/* f150b7c: e7a00024 */ swc1 $f0,0x24($sp) +/* f150b80: e7a00030 */ swc1 $f0,0x30($sp) +/* f150b84: e7a00034 */ swc1 $f0,0x34($sp) +/* f150b88: 0fc24e7e */ jal func0f0939f8 +/* f150b8c: e7a00038 */ swc1 $f0,0x38($sp) +.L0f150b90: +/* f150b90: 44908000 */ mtc1 $s0,$f16 +.L0f150b94: +/* f150b94: 44923000 */ mtc1 $s2,$f6 +/* f150b98: c7a400ac */ lwc1 $f4,0xac($sp) +/* f150b9c: 468085a0 */ cvt.s.w $f22,$f16 +/* f150ba0: 8fb3013c */ lw $s3,0x13c($sp) +/* f150ba4: 0000a825 */ or $s5,$zero,$zero +/* f150ba8: 3c017f1b */ lui $at,%hi(var7f1b7370) +/* f150bac: 468032a0 */ cvt.s.w $f10,$f6 +/* f150bb0: 4616a483 */ div.s $f18,$f20,$f22 +/* f150bb4: e7aa00a4 */ swc1 $f10,0xa4($sp) +/* f150bb8: c7b000a4 */ lwc1 $f16,0xa4($sp) +/* f150bbc: 4600920d */ trunc.w.s $f8,$f18 +/* f150bc0: 46102483 */ div.s $f18,$f4,$f16 +/* f150bc4: 44164000 */ mfc1 $s6,$f8 +/* f150bc8: 00000000 */ nop +/* f150bcc: 02c08825 */ or $s1,$s6,$zero +/* f150bd0: 4600920d */ trunc.w.s $f8,$f18 +/* f150bd4: 44174000 */ mfc1 $s7,$f8 +/* f150bd8: 00000000 */ nop +/* f150bdc: 5ae00046 */ blezl $s7,.L0f150cf8 +/* f150be0: 8fbf0094 */ lw $ra,0x94($sp) +/* f150be4: c43c7370 */ lwc1 $f28,%lo(var7f1b7370)($at) +/* f150be8: 3c017f1b */ lui $at,%hi(var7f1b7374) +/* f150bec: c43a7374 */ lwc1 $f26,%lo(var7f1b7374)($at) +/* f150bf0: 3c012f80 */ lui $at,0x2f80 +/* f150bf4: 4481c000 */ mtc1 $at,$f24 +/* f150bf8: 27b200fc */ addiu $s2,$sp,0xfc +.L0f150bfc: +/* f150bfc: 1ac00039 */ blez $s6,.L0f150ce4 +/* f150c00: 00008025 */ or $s0,$zero,$zero +/* f150c04: 44953000 */ mtc1 $s5,$f6 +/* f150c08: c7a400a4 */ lwc1 $f4,0xa4($sp) +/* f150c0c: 468032a0 */ cvt.s.w $f10,$f6 +/* f150c10: 46045502 */ mul.s $f20,$f10,$f4 +/* f150c14: 00000000 */ nop +/* f150c18: 44908000 */ mtc1 $s0,$f16 +.L0f150c1c: +/* f150c1c: c7a600cc */ lwc1 $f6,0xcc($sp) +/* f150c20: c7a800d8 */ lwc1 $f8,0xd8($sp) +/* f150c24: 468084a0 */ cvt.s.w $f18,$f16 +/* f150c28: c7b000c0 */ lwc1 $f16,0xc0($sp) +/* f150c2c: 46169002 */ mul.s $f0,$f18,$f22 +/* f150c30: 00000000 */ nop +/* f150c34: 46060282 */ mul.s $f10,$f0,$f6 +/* f150c38: 460a4100 */ add.s $f4,$f8,$f10 +/* f150c3c: 46148482 */ mul.s $f18,$f16,$f20 +/* f150c40: c7aa00d0 */ lwc1 $f10,0xd0($sp) +/* f150c44: c7a800dc */ lwc1 $f8,0xdc($sp) +/* f150c48: 460a0402 */ mul.s $f16,$f0,$f10 +/* f150c4c: 46049180 */ add.s $f6,$f18,$f4 +/* f150c50: c7a400c4 */ lwc1 $f4,0xc4($sp) +/* f150c54: 46104480 */ add.s $f18,$f8,$f16 +/* f150c58: e7a600fc */ swc1 $f6,0xfc($sp) +/* f150c5c: 46142182 */ mul.s $f6,$f4,$f20 +/* f150c60: c7b000d4 */ lwc1 $f16,0xd4($sp) +/* f150c64: c7a800e0 */ lwc1 $f8,0xe0($sp) +/* f150c68: 46100102 */ mul.s $f4,$f0,$f16 +/* f150c6c: 46123280 */ add.s $f10,$f6,$f18 +/* f150c70: c7b200c8 */ lwc1 $f18,0xc8($sp) +/* f150c74: 46044180 */ add.s $f6,$f8,$f4 +/* f150c78: e7aa0100 */ swc1 $f10,0x100($sp) +/* f150c7c: 46149282 */ mul.s $f10,$f18,$f20 +/* f150c80: 46065400 */ add.s $f16,$f10,$f6 +/* f150c84: 0c004b70 */ jal random +/* f150c88: e7b00104 */ swc1 $f16,0x104($sp) +/* f150c8c: 44824000 */ mtc1 $v0,$f8 +/* f150c90: 4406f000 */ mfc1 $a2,$f30 +/* f150c94: 86640028 */ lh $a0,0x28($s3) +/* f150c98: 02402825 */ or $a1,$s2,$zero +/* f150c9c: 04410005 */ bgez $v0,.L0f150cb4 +/* f150ca0: 46804120 */ cvt.s.w $f4,$f8 +/* f150ca4: 3c014f80 */ lui $at,0x4f80 +/* f150ca8: 44819000 */ mtc1 $at,$f18 +/* f150cac: 00000000 */ nop +/* f150cb0: 46122100 */ add.s $f4,$f4,$f18 +.L0f150cb4: +/* f150cb4: 46182282 */ mul.s $f10,$f4,$f24 +/* f150cb8: c7a800ec */ lwc1 $f8,0xec($sp) +/* f150cbc: afb40010 */ sw $s4,0x10($sp) +/* f150cc0: 461a5182 */ mul.s $f6,$f10,$f26 +/* f150cc4: 461c3400 */ add.s $f16,$f6,$f28 +/* f150cc8: 46088482 */ mul.s $f18,$f16,$f8 +/* f150ccc: 44079000 */ mfc1 $a3,$f18 +/* f150cd0: 0fc5434e */ jal shardCreate +/* f150cd4: 00000000 */ nop +/* f150cd8: 26100001 */ addiu $s0,$s0,0x1 +/* f150cdc: 5611ffcf */ bnel $s0,$s1,.L0f150c1c +/* f150ce0: 44908000 */ mtc1 $s0,$f16 +.L0f150ce4: +/* f150ce4: 26b50001 */ addiu $s5,$s5,0x1 +/* f150ce8: 02b7082a */ slt $at,$s5,$s7 +/* f150cec: 1420ffc3 */ bnez $at,.L0f150bfc +/* f150cf0: 00000000 */ nop +/* f150cf4: 8fbf0094 */ lw $ra,0x94($sp) +.L0f150cf8: +/* f150cf8: d7b40040 */ ldc1 $f20,0x40($sp) +/* f150cfc: d7b60048 */ ldc1 $f22,0x48($sp) +/* f150d00: d7b80050 */ ldc1 $f24,0x50($sp) +/* f150d04: d7ba0058 */ ldc1 $f26,0x58($sp) +/* f150d08: d7bc0060 */ ldc1 $f28,0x60($sp) +/* f150d0c: d7be0068 */ ldc1 $f30,0x68($sp) +/* f150d10: 8fb00074 */ lw $s0,0x74($sp) +/* f150d14: 8fb10078 */ lw $s1,0x78($sp) +/* f150d18: 8fb2007c */ lw $s2,0x7c($sp) +/* f150d1c: 8fb30080 */ lw $s3,0x80($sp) +/* f150d20: 8fb40084 */ lw $s4,0x84($sp) +/* f150d24: 8fb50088 */ lw $s5,0x88($sp) +/* f150d28: 8fb6008c */ lw $s6,0x8c($sp) +/* f150d2c: 8fb70090 */ lw $s7,0x90($sp) +/* f150d30: 03e00008 */ jr $ra +/* f150d34: 27bd0118 */ addiu $sp,$sp,0x118 +); + +GLOBAL_ASM( +glabel shardCreate +/* f150d38: 27bdff98 */ addiu $sp,$sp,-104 +/* f150d3c: afb10024 */ sw $s1,0x24($sp) +/* f150d40: 00048c00 */ sll $s1,$a0,0x10 +/* f150d44: 00117403 */ sra $t6,$s1,0x10 +/* f150d48: afbf003c */ sw $ra,0x3c($sp) +/* f150d4c: afb00020 */ sw $s0,0x20($sp) +/* f150d50: 00a08025 */ or $s0,$a1,$zero +/* f150d54: 01c08825 */ or $s1,$t6,$zero +/* f150d58: afb60038 */ sw $s6,0x38($sp) +/* f150d5c: afb50034 */ sw $s5,0x34($sp) +/* f150d60: afb40030 */ sw $s4,0x30($sp) +/* f150d64: afb3002c */ sw $s3,0x2c($sp) +/* f150d68: afb20028 */ sw $s2,0x28($sp) +/* f150d6c: f7b40018 */ sdc1 $f20,0x18($sp) +/* f150d70: afa40068 */ sw $a0,0x68($sp) +/* f150d74: afa60070 */ sw $a2,0x70($sp) +/* f150d78: 0c004b70 */ jal random +/* f150d7c: afa70074 */ sw $a3,0x74($sp) +/* f150d80: 44822000 */ mtc1 $v0,$f4 +/* f150d84: 3c012f80 */ lui $at,0x2f80 +/* f150d88: 4481a000 */ mtc1 $at,$f20 +/* f150d8c: 04410005 */ bgez $v0,.L0f150da4 +/* f150d90: 468021a0 */ cvt.s.w $f6,$f4 +/* f150d94: 3c014f80 */ lui $at,0x4f80 +/* f150d98: 44814000 */ mtc1 $at,$f8 +/* f150d9c: 00000000 */ nop +/* f150da0: 46083180 */ add.s $f6,$f6,$f8 +.L0f150da4: +/* f150da4: 46143002 */ mul.s $f0,$f6,$f20 +/* f150da8: 3c013f80 */ lui $at,0x3f80 +/* f150dac: 44818000 */ mtc1 $at,$f16 +/* f150db0: 46000280 */ add.s $f10,$f0,$f0 +/* f150db4: 46105481 */ sub.s $f18,$f10,$f16 +/* f150db8: 0c004b70 */ jal random +/* f150dbc: e7b20064 */ swc1 $f18,0x64($sp) +/* f150dc0: 44822000 */ mtc1 $v0,$f4 +/* f150dc4: 04410005 */ bgez $v0,.L0f150ddc +/* f150dc8: 46802220 */ cvt.s.w $f8,$f4 +/* f150dcc: 3c014f80 */ lui $at,0x4f80 +/* f150dd0: 44813000 */ mtc1 $at,$f6 +/* f150dd4: 00000000 */ nop +/* f150dd8: 46064200 */ add.s $f8,$f8,$f6 +.L0f150ddc: +/* f150ddc: 46144282 */ mul.s $f10,$f8,$f20 +/* f150de0: 3c017f1b */ lui $at,%hi(var7f1b7378) +/* f150de4: c4307378 */ lwc1 $f16,%lo(var7f1b7378)($at) +/* f150de8: 3c017f1b */ lui $at,%hi(var7f1b737c) +/* f150dec: c424737c */ lwc1 $f4,%lo(var7f1b737c)($at) +/* f150df0: 46105482 */ mul.s $f18,$f10,$f16 +/* f150df4: 46049181 */ sub.s $f6,$f18,$f4 +/* f150df8: 0c004b70 */ jal random +/* f150dfc: e7a60060 */ swc1 $f6,0x60($sp) +/* f150e00: 3c148008 */ lui $s4,%hi(var8007fa80) +/* f150e04: 2694fa80 */ addiu $s4,$s4,%lo(var8007fa80) +/* f150e08: 8e980000 */ lw $t8,0x0($s4) +/* f150e0c: 2416006c */ addiu $s6,$zero,0x6c +/* f150e10: 3c15800a */ lui $s5,%hi(g_Shards) +/* f150e14: 03160019 */ multu $t8,$s6 +/* f150e18: 26b545c4 */ addiu $s5,$s5,%lo(g_Shards) +/* f150e1c: 8eaf0000 */ lw $t7,0x0($s5) +/* f150e20: 8fb20078 */ lw $s2,0x78($sp) +/* f150e24: 240d0001 */ addiu $t5,$zero,0x1 +/* f150e28: 3c013fc0 */ lui $at,0x3fc0 +/* f150e2c: 44811000 */ mtc1 $at,$f2 +/* f150e30: 3c014040 */ lui $at,0x4040 +/* f150e34: 0000c812 */ mflo $t9 +/* f150e38: 01f94021 */ addu $t0,$t7,$t9 +/* f150e3c: a1120068 */ sb $s2,0x68($t0) +/* f150e40: 8e8a0000 */ lw $t2,0x0($s4) +/* f150e44: 8ea90000 */ lw $t1,0x0($s5) +/* f150e48: 01560019 */ multu $t2,$s6 +/* f150e4c: 00005812 */ mflo $t3 +/* f150e50: 012b6021 */ addu $t4,$t1,$t3 +/* f150e54: a5910000 */ sh $s1,0x0($t4) +/* f150e58: 8e980000 */ lw $t8,0x0($s4) +/* f150e5c: 8eae0000 */ lw $t6,0x0($s5) +/* f150e60: 03160019 */ multu $t8,$s6 +/* f150e64: 00007812 */ mflo $t7 +/* f150e68: 01cfc821 */ addu $t9,$t6,$t7 +/* f150e6c: af2d0004 */ sw $t5,0x4($t9) +/* f150e70: 8e8a0000 */ lw $t2,0x0($s4) +/* f150e74: 8ea80000 */ lw $t0,0x0($s5) +/* f150e78: c6080000 */ lwc1 $f8,0x0($s0) +/* f150e7c: 01560019 */ multu $t2,$s6 +/* f150e80: 00004812 */ mflo $t1 +/* f150e84: 01095821 */ addu $t3,$t0,$t1 +/* f150e88: e5680008 */ swc1 $f8,0x8($t3) +/* f150e8c: 8e980000 */ lw $t8,0x0($s4) +/* f150e90: 8eac0000 */ lw $t4,0x0($s5) +/* f150e94: c60a0004 */ lwc1 $f10,0x4($s0) +/* f150e98: 03160019 */ multu $t8,$s6 +/* f150e9c: 44814000 */ mtc1 $at,$f8 +/* f150ea0: 00007012 */ mflo $t6 +/* f150ea4: 018e7821 */ addu $t7,$t4,$t6 +/* f150ea8: e5ea000c */ swc1 $f10,0xc($t7) +/* f150eac: 8e990000 */ lw $t9,0x0($s4) +/* f150eb0: 8ead0000 */ lw $t5,0x0($s5) +/* f150eb4: c6100008 */ lwc1 $f16,0x8($s0) +/* f150eb8: 03360019 */ multu $t9,$s6 +/* f150ebc: 00005012 */ mflo $t2 +/* f150ec0: 01aa4021 */ addu $t0,$t5,$t2 +/* f150ec4: e5100010 */ swc1 $f16,0x10($t0) +/* f150ec8: 8e8b0000 */ lw $t3,0x0($s4) +/* f150ecc: c7b20064 */ lwc1 $f18,0x64($sp) +/* f150ed0: 8ea90000 */ lw $t1,0x0($s5) +/* f150ed4: 01760019 */ multu $t3,$s6 +/* f150ed8: 46029102 */ mul.s $f4,$f18,$f2 +/* f150edc: 44828000 */ mtc1 $v0,$f16 +/* f150ee0: 00000000 */ nop +/* f150ee4: 468084a0 */ cvt.s.w $f18,$f16 +/* f150ee8: 0000c012 */ mflo $t8 +/* f150eec: 01386021 */ addu $t4,$t1,$t8 +/* f150ef0: e5840020 */ swc1 $f4,0x20($t4) +/* f150ef4: 8e8f0000 */ lw $t7,0x0($s4) +/* f150ef8: c7a60060 */ lwc1 $f6,0x60($sp) +/* f150efc: 8eae0000 */ lw $t6,0x0($s5) +/* f150f00: 01f60019 */ multu $t7,$s6 +/* f150f04: 46083282 */ mul.s $f10,$f6,$f8 +/* f150f08: 0000c812 */ mflo $t9 +/* f150f0c: 01d96821 */ addu $t5,$t6,$t9 +/* f150f10: 04410005 */ bgez $v0,.L0f150f28 +/* f150f14: e5aa0024 */ swc1 $f10,0x24($t5) +/* f150f18: 3c014f80 */ lui $at,0x4f80 +/* f150f1c: 44812000 */ mtc1 $at,$f4 +/* f150f20: 00000000 */ nop +/* f150f24: 46049480 */ add.s $f18,$f18,$f4 +.L0f150f28: +/* f150f28: 46149002 */ mul.s $f0,$f18,$f20 +/* f150f2c: 8e880000 */ lw $t0,0x0($s4) +/* f150f30: 3c013f80 */ lui $at,0x3f80 +/* f150f34: 44814000 */ mtc1 $at,$f8 +/* f150f38: 01160019 */ multu $t0,$s6 +/* f150f3c: 8eaa0000 */ lw $t2,0x0($s5) +/* f150f40: 46000180 */ add.s $f6,$f0,$f0 +/* f150f44: 46083281 */ sub.s $f10,$f6,$f8 +/* f150f48: 00005812 */ mflo $t3 +/* f150f4c: 46025402 */ mul.s $f16,$f10,$f2 +/* f150f50: 014b4821 */ addu $t1,$t2,$t3 +/* f150f54: 0c004b70 */ jal random +/* f150f58: e5300028 */ swc1 $f16,0x28($t1) +/* f150f5c: 44822000 */ mtc1 $v0,$f4 +/* f150f60: 04410005 */ bgez $v0,.L0f150f78 +/* f150f64: 468024a0 */ cvt.s.w $f18,$f4 +/* f150f68: 3c014f80 */ lui $at,0x4f80 +/* f150f6c: 44813000 */ mtc1 $at,$f6 +/* f150f70: 00000000 */ nop +/* f150f74: 46069480 */ add.s $f18,$f18,$f6 +.L0f150f78: +/* f150f78: 46149202 */ mul.s $f8,$f18,$f20 +/* f150f7c: 3c013f00 */ lui $at,0x3f00 +/* f150f80: 44815000 */ mtc1 $at,$f10 +/* f150f84: 3c013f80 */ lui $at,0x3f80 +/* f150f88: 44812000 */ mtc1 $at,$f4 +/* f150f8c: c7b20074 */ lwc1 $f18,0x74($sp) +/* f150f90: 8e8e0000 */ lw $t6,0x0($s4) +/* f150f94: 460a4402 */ mul.s $f16,$f8,$f10 +/* f150f98: 8eaf0000 */ lw $t7,0x0($s5) +/* f150f9c: 01d60019 */ multu $t6,$s6 +/* f150fa0: 46048180 */ add.s $f6,$f16,$f4 +/* f150fa4: 46123202 */ mul.s $f8,$f6,$f18 +/* f150fa8: 0000c812 */ mflo $t9 +/* f150fac: 01f96821 */ addu $t5,$t7,$t9 +/* f150fb0: 4600428d */ trunc.w.s $f10,$f8 +/* f150fb4: 440c5000 */ mfc1 $t4,$f10 +/* f150fb8: 0c004b70 */ jal random +/* f150fbc: a5ac0038 */ sh $t4,0x38($t5) +/* f150fc0: 44828000 */ mtc1 $v0,$f16 +/* f150fc4: 04410005 */ bgez $v0,.L0f150fdc +/* f150fc8: 46808120 */ cvt.s.w $f4,$f16 +/* f150fcc: 3c014f80 */ lui $at,0x4f80 +/* f150fd0: 44813000 */ mtc1 $at,$f6 +/* f150fd4: 00000000 */ nop +/* f150fd8: 46062100 */ add.s $f4,$f4,$f6 +.L0f150fdc: +/* f150fdc: 46142482 */ mul.s $f18,$f4,$f20 +/* f150fe0: 3c013f00 */ lui $at,0x3f00 +/* f150fe4: 44814000 */ mtc1 $at,$f8 +/* f150fe8: 3c013f80 */ lui $at,0x3f80 +/* f150fec: 44818000 */ mtc1 $at,$f16 +/* f150ff0: c7a40074 */ lwc1 $f4,0x74($sp) +/* f150ff4: 8e890000 */ lw $t1,0x0($s4) +/* f150ff8: 46089282 */ mul.s $f10,$f18,$f8 +/* f150ffc: 8eab0000 */ lw $t3,0x0($s5) +/* f151000: 01360019 */ multu $t1,$s6 +/* f151004: 46105180 */ add.s $f6,$f10,$f16 +/* f151008: 46043482 */ mul.s $f18,$f6,$f4 +/* f15100c: 0000c012 */ mflo $t8 +/* f151010: 01787021 */ addu $t6,$t3,$t8 +/* f151014: 4600920d */ trunc.w.s $f8,$f18 +/* f151018: 440a4000 */ mfc1 $t2,$f8 +/* f15101c: 0c004b70 */ jal random +/* f151020: a5ca003a */ sh $t2,0x3a($t6) +/* f151024: 44825000 */ mtc1 $v0,$f10 +/* f151028: 04410005 */ bgez $v0,.L0f151040 +/* f15102c: 46805420 */ cvt.s.w $f16,$f10 +/* f151030: 3c014f80 */ lui $at,0x4f80 +/* f151034: 44813000 */ mtc1 $at,$f6 +/* f151038: 00000000 */ nop +/* f15103c: 46068400 */ add.s $f16,$f16,$f6 +.L0f151040: +/* f151040: 46148102 */ mul.s $f4,$f16,$f20 +/* f151044: 3c013f00 */ lui $at,0x3f00 +/* f151048: 44819000 */ mtc1 $at,$f18 +/* f15104c: 3c013f80 */ lui $at,0x3f80 +/* f151050: 44815000 */ mtc1 $at,$f10 +/* f151054: c7b00074 */ lwc1 $f16,0x74($sp) +/* f151058: 8e8d0000 */ lw $t5,0x0($s4) +/* f15105c: 46122202 */ mul.s $f8,$f4,$f18 +/* f151060: 8eac0000 */ lw $t4,0x0($s5) +/* f151064: 01b60019 */ multu $t5,$s6 +/* f151068: 460a4180 */ add.s $f6,$f8,$f10 +/* f15106c: 46103102 */ mul.s $f4,$f6,$f16 +/* f151070: 00004012 */ mflo $t0 +/* f151074: 01884821 */ addu $t1,$t4,$t0 +/* f151078: 4600248d */ trunc.w.s $f18,$f4 +/* f15107c: 44199000 */ mfc1 $t9,$f18 +/* f151080: 0c004b70 */ jal random +/* f151084: a5390044 */ sh $t9,0x44($t1) +/* f151088: c7a00074 */ lwc1 $f0,0x74($sp) +/* f15108c: 44824000 */ mtc1 $v0,$f8 +/* f151090: 46000007 */ neg.s $f0,$f0 +/* f151094: 04410005 */ bgez $v0,.L0f1510ac +/* f151098: 468042a0 */ cvt.s.w $f10,$f8 +/* f15109c: 3c014f80 */ lui $at,0x4f80 +/* f1510a0: 44813000 */ mtc1 $at,$f6 +/* f1510a4: 00000000 */ nop +/* f1510a8: 46065280 */ add.s $f10,$f10,$f6 +.L0f1510ac: +/* f1510ac: 46145402 */ mul.s $f16,$f10,$f20 +/* f1510b0: 3c013f00 */ lui $at,0x3f00 +/* f1510b4: 44812000 */ mtc1 $at,$f4 +/* f1510b8: 3c013f80 */ lui $at,0x3f80 +/* f1510bc: 44814000 */ mtc1 $at,$f8 +/* f1510c0: 8e8e0000 */ lw $t6,0x0($s4) +/* f1510c4: 8eaa0000 */ lw $t2,0x0($s5) +/* f1510c8: 46048482 */ mul.s $f18,$f16,$f4 +/* f1510cc: 46089180 */ add.s $f6,$f18,$f8 +/* f1510d0: 01d60019 */ multu $t6,$s6 +/* f1510d4: 46003282 */ mul.s $f10,$f6,$f0 +/* f1510d8: 4600540d */ trunc.w.s $f16,$f10 +/* f1510dc: 00007812 */ mflo $t7 +/* f1510e0: 014f6821 */ addu $t5,$t2,$t7 +/* f1510e4: 44188000 */ mfc1 $t8,$f16 +/* f1510e8: 00000000 */ nop +/* f1510ec: a5b80046 */ sh $t8,0x46($t5) +/* f1510f0: 0c004b70 */ jal random +/* f1510f4: e7a00044 */ swc1 $f0,0x44($sp) +/* f1510f8: 44822000 */ mtc1 $v0,$f4 +/* f1510fc: 04410005 */ bgez $v0,.L0f151114 +/* f151100: 468024a0 */ cvt.s.w $f18,$f4 +/* f151104: 3c014f80 */ lui $at,0x4f80 +/* f151108: 44814000 */ mtc1 $at,$f8 +/* f15110c: 00000000 */ nop +/* f151110: 46089480 */ add.s $f18,$f18,$f8 +.L0f151114: +/* f151114: 46149182 */ mul.s $f6,$f18,$f20 +/* f151118: 3c013f00 */ lui $at,0x3f00 +/* f15111c: 44815000 */ mtc1 $at,$f10 +/* f151120: 3c013f80 */ lui $at,0x3f80 +/* f151124: 44812000 */ mtc1 $at,$f4 +/* f151128: c7b20044 */ lwc1 $f18,0x44($sp) +/* f15112c: 8e890000 */ lw $t1,0x0($s4) +/* f151130: 460a3402 */ mul.s $f16,$f6,$f10 +/* f151134: 8eb90000 */ lw $t9,0x0($s5) +/* f151138: 01360019 */ multu $t1,$s6 +/* f15113c: 46048200 */ add.s $f8,$f16,$f4 +/* f151140: 46124182 */ mul.s $f6,$f8,$f18 +/* f151144: 00005812 */ mflo $t3 +/* f151148: 032b7021 */ addu $t6,$t9,$t3 +/* f15114c: 4600328d */ trunc.w.s $f10,$f6 +/* f151150: 44085000 */ mfc1 $t0,$f10 +/* f151154: 0c004b70 */ jal random +/* f151158: a5c80050 */ sh $t0,0x50($t6) +/* f15115c: 44828000 */ mtc1 $v0,$f16 +/* f151160: 04410005 */ bgez $v0,.L0f151178 +/* f151164: 46808120 */ cvt.s.w $f4,$f16 +/* f151168: 3c014f80 */ lui $at,0x4f80 +/* f15116c: 44814000 */ mtc1 $at,$f8 +/* f151170: 00000000 */ nop +/* f151174: 46082100 */ add.s $f4,$f4,$f8 +.L0f151178: +/* f151178: 46142482 */ mul.s $f18,$f4,$f20 +/* f15117c: 3c013f00 */ lui $at,0x3f00 +/* f151180: 44813000 */ mtc1 $at,$f6 +/* f151184: 3c013f80 */ lui $at,0x3f80 +/* f151188: 44818000 */ mtc1 $at,$f16 +/* f15118c: c7a40044 */ lwc1 $f4,0x44($sp) +/* f151190: 8e8d0000 */ lw $t5,0x0($s4) +/* f151194: 46069282 */ mul.s $f10,$f18,$f6 +/* f151198: 8eb80000 */ lw $t8,0x0($s5) +/* f15119c: 01b60019 */ multu $t5,$s6 +/* f1511a0: 00001825 */ or $v1,$zero,$zero +/* f1511a4: 00002025 */ or $a0,$zero,$zero +/* f1511a8: 2402000c */ addiu $v0,$zero,0xc +/* f1511ac: 24010002 */ addiu $at,$zero,0x2 +/* f1511b0: 46105200 */ add.s $f8,$f10,$f16 +/* f1511b4: 46044482 */ mul.s $f18,$f8,$f4 +/* f1511b8: 00006012 */ mflo $t4 +/* f1511bc: 030c4821 */ addu $t1,$t8,$t4 +/* f1511c0: 4600918d */ trunc.w.s $f6,$f18 +/* f1511c4: 440f3000 */ mfc1 $t7,$f6 +/* f1511c8: 00000000 */ nop +/* f1511cc: a52f0052 */ sh $t7,0x52($t1) +.L0f1511d0: +/* f1511d0: 8e8b0000 */ lw $t3,0x0($s4) +/* f1511d4: 8eb90000 */ lw $t9,0x0($s5) +/* f1511d8: 000b40c0 */ sll $t0,$t3,0x3 +/* f1511dc: 010b4023 */ subu $t0,$t0,$t3 +/* f1511e0: 00084080 */ sll $t0,$t0,0x2 +/* f1511e4: 010b4023 */ subu $t0,$t0,$t3 +/* f1511e8: 00084080 */ sll $t0,$t0,0x2 +/* f1511ec: 03287021 */ addu $t6,$t9,$t0 +/* f1511f0: 01c35021 */ addu $t2,$t6,$v1 +/* f1511f4: a540003c */ sh $zero,0x3c($t2) +/* f1511f8: 8e980000 */ lw $t8,0x0($s4) +/* f1511fc: 8ead0000 */ lw $t5,0x0($s5) +/* f151200: 001860c0 */ sll $t4,$t8,0x3 +/* f151204: 01986023 */ subu $t4,$t4,$t8 +/* f151208: 000c6080 */ sll $t4,$t4,0x2 +/* f15120c: 01986023 */ subu $t4,$t4,$t8 +/* f151210: 000c6080 */ sll $t4,$t4,0x2 +/* f151214: 01ac7821 */ addu $t7,$t5,$t4 +/* f151218: 01e34821 */ addu $t1,$t7,$v1 +/* f15121c: a5200040 */ sh $zero,0x40($t1) +/* f151220: 8e990000 */ lw $t9,0x0($s4) +/* f151224: 8eab0000 */ lw $t3,0x0($s5) +/* f151228: 001940c0 */ sll $t0,$t9,0x3 +/* f15122c: 01194023 */ subu $t0,$t0,$t9 +/* f151230: 00084080 */ sll $t0,$t0,0x2 +/* f151234: 01194023 */ subu $t0,$t0,$t9 +/* f151238: 00084080 */ sll $t0,$t0,0x2 +/* f15123c: 01687021 */ addu $t6,$t3,$t0 +/* f151240: 01c35021 */ addu $t2,$t6,$v1 +/* f151244: a5400042 */ sh $zero,0x42($t2) +/* f151248: 8e8d0000 */ lw $t5,0x0($s4) +/* f15124c: 8eb80000 */ lw $t8,0x0($s5) +/* f151250: 000d60c0 */ sll $t4,$t5,0x3 +/* f151254: 018d6023 */ subu $t4,$t4,$t5 +/* f151258: 000c6080 */ sll $t4,$t4,0x2 +/* f15125c: 018d6023 */ subu $t4,$t4,$t5 +/* f151260: 000c6080 */ sll $t4,$t4,0x2 +/* f151264: 030c7821 */ addu $t7,$t8,$t4 +/* f151268: 01e34821 */ addu $t1,$t7,$v1 +/* f15126c: a124003f */ sb $a0,0x3f($t1) +/* f151270: 24840004 */ addiu $a0,$a0,0x4 +/* f151274: 1482ffd6 */ bne $a0,$v0,.L0f1511d0 +/* f151278: 2463000c */ addiu $v1,$v1,0xc +/* f15127c: 56410067 */ bnel $s2,$at,.L0f15141c +/* f151280: 8e8b0000 */ lw $t3,0x0($s4) +/* f151284: 0c004b70 */ jal random +/* f151288: 00000000 */ nop +/* f15128c: 24010064 */ addiu $at,$zero,0x64 +/* f151290: 0041001b */ divu $zero,$v0,$at +/* f151294: 00001810 */ mfhi $v1 +/* f151298: 28610014 */ slti $at,$v1,0x14 +/* f15129c: 5020001b */ beqzl $at,.L0f15130c +/* f1512a0: 28610028 */ slti $at,$v1,0x28 +/* f1512a4: 8e880000 */ lw $t0,0x0($s4) +/* f1512a8: 8eab0000 */ lw $t3,0x0($s5) +/* f1512ac: 3c19bbbb */ lui $t9,0xbbbb +/* f1512b0: 01160019 */ multu $t0,$s6 +/* f1512b4: 3739bbf0 */ ori $t9,$t9,0xbbf0 +/* f1512b8: 3c0daaaa */ lui $t5,0xaaaa +/* f1512bc: 35adaaf0 */ ori $t5,$t5,0xaaf0 +/* f1512c0: 3c087777 */ lui $t0,0x7777 +/* f1512c4: 350877f0 */ ori $t0,$t0,0x77f0 +/* f1512c8: 00007012 */ mflo $t6 +/* f1512cc: 016e5021 */ addu $t2,$t3,$t6 +/* f1512d0: ad59005c */ sw $t9,0x5c($t2) +/* f1512d4: 8e8c0000 */ lw $t4,0x0($s4) +/* f1512d8: 8eb80000 */ lw $t8,0x0($s5) +/* f1512dc: 01960019 */ multu $t4,$s6 +/* f1512e0: 00007812 */ mflo $t7 +/* f1512e4: 030f4821 */ addu $t1,$t8,$t7 +/* f1512e8: ad2d0060 */ sw $t5,0x60($t1) +/* f1512ec: 8e8e0000 */ lw $t6,0x0($s4) +/* f1512f0: 8eab0000 */ lw $t3,0x0($s5) +/* f1512f4: 01d60019 */ multu $t6,$s6 +/* f1512f8: 0000c812 */ mflo $t9 +/* f1512fc: 01795021 */ addu $t2,$t3,$t9 +/* f151300: 100000ae */ b .L0f1515bc +/* f151304: ad480064 */ sw $t0,0x64($t2) +/* f151308: 28610028 */ slti $at,$v1,0x28 +.L0f15130c: +/* f15130c: 50200016 */ beqzl $at,.L0f151368 +/* f151310: 2861003c */ slti $at,$v1,0x3c +/* f151314: 8e980000 */ lw $t8,0x0($s4) +/* f151318: 8eac0000 */ lw $t4,0x0($s5) +/* f15131c: 240200f0 */ addiu $v0,$zero,0xf0 +/* f151320: 03160019 */ multu $t8,$s6 +/* f151324: 00007812 */ mflo $t7 +/* f151328: 018f6821 */ addu $t5,$t4,$t7 +/* f15132c: ada2005c */ sw $v0,0x5c($t5) +/* f151330: 8e8e0000 */ lw $t6,0x0($s4) +/* f151334: 8ea90000 */ lw $t1,0x0($s5) +/* f151338: 01d60019 */ multu $t6,$s6 +/* f15133c: 00005812 */ mflo $t3 +/* f151340: 012bc821 */ addu $t9,$t1,$t3 +/* f151344: af220060 */ sw $v0,0x60($t9) +/* f151348: 8e8a0000 */ lw $t2,0x0($s4) +/* f15134c: 8ea80000 */ lw $t0,0x0($s5) +/* f151350: 01560019 */ multu $t2,$s6 +/* f151354: 0000c012 */ mflo $t8 +/* f151358: 01186021 */ addu $t4,$t0,$t8 +/* f15135c: 10000097 */ b .L0f1515bc +/* f151360: ad820064 */ sw $v0,0x64($t4) +/* f151364: 2861003c */ slti $at,$v1,0x3c +.L0f151368: +/* f151368: 50200017 */ beqzl $at,.L0f1513c8 +/* f15136c: 8e890000 */ lw $t1,0x0($s4) +/* f151370: 8e8d0000 */ lw $t5,0x0($s4) +/* f151374: 8eaf0000 */ lw $t7,0x0($s5) +/* f151378: 3c025533 */ lui $v0,0x5533 +/* f15137c: 01b60019 */ multu $t5,$s6 +/* f151380: 344211f0 */ ori $v0,$v0,0x11f0 +/* f151384: 00007012 */ mflo $t6 +/* f151388: 01ee4821 */ addu $t1,$t7,$t6 +/* f15138c: ad22005c */ sw $v0,0x5c($t1) +/* f151390: 8e990000 */ lw $t9,0x0($s4) +/* f151394: 8eab0000 */ lw $t3,0x0($s5) +/* f151398: 03360019 */ multu $t9,$s6 +/* f15139c: 00005012 */ mflo $t2 +/* f1513a0: 016a4021 */ addu $t0,$t3,$t2 +/* f1513a4: ad020060 */ sw $v0,0x60($t0) +/* f1513a8: 8e8c0000 */ lw $t4,0x0($s4) +/* f1513ac: 8eb80000 */ lw $t8,0x0($s5) +/* f1513b0: 01960019 */ multu $t4,$s6 +/* f1513b4: 00006812 */ mflo $t5 +/* f1513b8: 030d7821 */ addu $t7,$t8,$t5 +/* f1513bc: 1000007f */ b .L0f1515bc +/* f1513c0: ade20064 */ sw $v0,0x64($t7) +/* f1513c4: 8e890000 */ lw $t1,0x0($s4) +.L0f1513c8: +/* f1513c8: 8eae0000 */ lw $t6,0x0($s5) +/* f1513cc: 3c02ddaa */ lui $v0,0xddaa +/* f1513d0: 01360019 */ multu $t1,$s6 +/* f1513d4: 344288f0 */ ori $v0,$v0,0x88f0 +/* f1513d8: 0000c812 */ mflo $t9 +/* f1513dc: 01d95821 */ addu $t3,$t6,$t9 +/* f1513e0: ad62005c */ sw $v0,0x5c($t3) +/* f1513e4: 8e880000 */ lw $t0,0x0($s4) +/* f1513e8: 8eaa0000 */ lw $t2,0x0($s5) +/* f1513ec: 01160019 */ multu $t0,$s6 +/* f1513f0: 00006012 */ mflo $t4 +/* f1513f4: 014cc021 */ addu $t8,$t2,$t4 +/* f1513f8: af020060 */ sw $v0,0x60($t8) +/* f1513fc: 8e8f0000 */ lw $t7,0x0($s4) +/* f151400: 8ead0000 */ lw $t5,0x0($s5) +/* f151404: 01f60019 */ multu $t7,$s6 +/* f151408: 00004812 */ mflo $t1 +/* f15140c: 01a97021 */ addu $t6,$t5,$t1 +/* f151410: 1000006a */ b .L0f1515bc +/* f151414: adc20064 */ sw $v0,0x64($t6) +/* f151418: 8e8b0000 */ lw $t3,0x0($s4) +.L0f15141c: +/* f15141c: 8eb90000 */ lw $t9,0x0($s5) +/* f151420: 24020005 */ addiu $v0,$zero,0x5 +/* f151424: 01760019 */ multu $t3,$s6 +/* f151428: 2403007e */ addiu $v1,$zero,0x7e +/* f15142c: 240400fb */ addiu $a0,$zero,0xfb +/* f151430: 00009025 */ or $s2,$zero,$zero +/* f151434: 241300ff */ addiu $s3,$zero,0xff +/* f151438: 24110003 */ addiu $s1,$zero,0x3 +/* f15143c: 00004012 */ mflo $t0 +/* f151440: 03285021 */ addu $t2,$t9,$t0 +/* f151444: a142005c */ sb $v0,0x5c($t2) +/* f151448: 8e980000 */ lw $t8,0x0($s4) +/* f15144c: 8eac0000 */ lw $t4,0x0($s5) +/* f151450: 03160019 */ multu $t8,$s6 +/* f151454: 00007812 */ mflo $t7 +/* f151458: 018f6821 */ addu $t5,$t4,$t7 +/* f15145c: a1a2005d */ sb $v0,0x5d($t5) +/* f151460: 8e8e0000 */ lw $t6,0x0($s4) +/* f151464: 8ea90000 */ lw $t1,0x0($s5) +/* f151468: 01d60019 */ multu $t6,$s6 +/* f15146c: 00005812 */ mflo $t3 +/* f151470: 012bc821 */ addu $t9,$t1,$t3 +/* f151474: a323005e */ sb $v1,0x5e($t9) +/* f151478: 8e8a0000 */ lw $t2,0x0($s4) +/* f15147c: 8ea80000 */ lw $t0,0x0($s5) +/* f151480: 01560019 */ multu $t2,$s6 +/* f151484: 0000c012 */ mflo $t8 +/* f151488: 01186021 */ addu $t4,$t0,$t8 +/* f15148c: a1820060 */ sb $v0,0x60($t4) +/* f151490: 8e8d0000 */ lw $t5,0x0($s4) +/* f151494: 8eaf0000 */ lw $t7,0x0($s5) +/* f151498: 01b60019 */ multu $t5,$s6 +/* f15149c: 00007012 */ mflo $t6 +/* f1514a0: 01ee4821 */ addu $t1,$t7,$t6 +/* f1514a4: a1240061 */ sb $a0,0x61($t1) +/* f1514a8: 8e990000 */ lw $t9,0x0($s4) +/* f1514ac: 8eab0000 */ lw $t3,0x0($s5) +/* f1514b0: 03360019 */ multu $t9,$s6 +/* f1514b4: 00005012 */ mflo $t2 +/* f1514b8: 016a4021 */ addu $t0,$t3,$t2 +/* f1514bc: a1030062 */ sb $v1,0x62($t0) +/* f1514c0: 8e8c0000 */ lw $t4,0x0($s4) +/* f1514c4: 8eb80000 */ lw $t8,0x0($s5) +/* f1514c8: 01960019 */ multu $t4,$s6 +/* f1514cc: 00006812 */ mflo $t5 +/* f1514d0: 030d7821 */ addu $t7,$t8,$t5 +/* f1514d4: a1e40064 */ sb $a0,0x64($t7) +/* f1514d8: 8e890000 */ lw $t1,0x0($s4) +/* f1514dc: 8eae0000 */ lw $t6,0x0($s5) +/* f1514e0: 01360019 */ multu $t1,$s6 +/* f1514e4: 0000c812 */ mflo $t9 +/* f1514e8: 01d95821 */ addu $t3,$t6,$t9 +/* f1514ec: a1640065 */ sb $a0,0x65($t3) +/* f1514f0: 8e880000 */ lw $t0,0x0($s4) +/* f1514f4: 8eaa0000 */ lw $t2,0x0($s5) +/* f1514f8: 01160019 */ multu $t0,$s6 +/* f1514fc: 00006012 */ mflo $t4 +/* f151500: 014cc021 */ addu $t8,$t2,$t4 +/* f151504: a3030066 */ sb $v1,0x66($t8) +/* f151508: 00008025 */ or $s0,$zero,$zero +.L0f15150c: +/* f15150c: 0c004b70 */ jal random +/* f151510: 00000000 */ nop +/* f151514: 0053001b */ divu $zero,$v0,$s3 +/* f151518: 8e890000 */ lw $t1,0x0($s4) +/* f15151c: 8eaf0000 */ lw $t7,0x0($s5) +/* f151520: 00125880 */ sll $t3,$s2,0x2 +/* f151524: 000970c0 */ sll $t6,$t1,0x3 +/* f151528: 01c97023 */ subu $t6,$t6,$t1 +/* f15152c: 000e7080 */ sll $t6,$t6,0x2 +/* f151530: 01c97023 */ subu $t6,$t6,$t1 +/* f151534: 000e7080 */ sll $t6,$t6,0x2 +/* f151538: 01eec821 */ addu $t9,$t7,$t6 +/* f15153c: 032b4021 */ addu $t0,$t9,$t3 +/* f151540: 01105021 */ addu $t2,$t0,$s0 +/* f151544: 26100001 */ addiu $s0,$s0,0x1 +/* f151548: 00006810 */ mfhi $t5 +/* f15154c: a14d005c */ sb $t5,0x5c($t2) +/* f151550: 16600002 */ bnez $s3,.L0f15155c +/* f151554: 00000000 */ nop +/* f151558: 0007000d */ break 0x7 +.L0f15155c: +/* f15155c: 1611ffeb */ bne $s0,$s1,.L0f15150c +/* f151560: 00000000 */ nop +/* f151564: 26520001 */ addiu $s2,$s2,0x1 +/* f151568: 5651ffe8 */ bnel $s2,$s1,.L0f15150c +/* f15156c: 00008025 */ or $s0,$zero,$zero +/* f151570: 8e980000 */ lw $t8,0x0($s4) +/* f151574: 8eac0000 */ lw $t4,0x0($s5) +/* f151578: 03160019 */ multu $t8,$s6 +/* f15157c: 00004812 */ mflo $t1 +/* f151580: 01897821 */ addu $t7,$t4,$t1 +/* f151584: a1f30067 */ sb $s3,0x67($t7) +/* f151588: 8e990000 */ lw $t9,0x0($s4) +/* f15158c: 8eae0000 */ lw $t6,0x0($s5) +/* f151590: 03360019 */ multu $t9,$s6 +/* f151594: 00005812 */ mflo $t3 +/* f151598: 01cb1021 */ addu $v0,$t6,$t3 +/* f15159c: 90430067 */ lbu $v1,0x67($v0) +/* f1515a0: a0430063 */ sb $v1,0x63($v0) +/* f1515a4: 8e8d0000 */ lw $t5,0x0($s4) +/* f1515a8: 8ea80000 */ lw $t0,0x0($s5) +/* f1515ac: 01b60019 */ multu $t5,$s6 +/* f1515b0: 00005012 */ mflo $t2 +/* f1515b4: 010ac021 */ addu $t8,$t0,$t2 +/* f1515b8: a303005f */ sb $v1,0x5f($t8) +.L0f1515bc: +/* f1515bc: 8e890000 */ lw $t1,0x0($s4) +/* f1515c0: 8eac0000 */ lw $t4,0x0($s5) +/* f1515c4: c7aa0070 */ lwc1 $f10,0x70($sp) +/* f1515c8: 01360019 */ multu $t1,$s6 +/* f1515cc: 44808000 */ mtc1 $zero,$f16 +/* f1515d0: 00007812 */ mflo $t7 +/* f1515d4: 018fc821 */ addu $t9,$t4,$t7 +/* f1515d8: e72a0014 */ swc1 $f10,0x14($t9) +/* f1515dc: 8e8b0000 */ lw $t3,0x0($s4) +/* f1515e0: 8eae0000 */ lw $t6,0x0($s5) +/* f1515e4: 01760019 */ multu $t3,$s6 +/* f1515e8: 00006812 */ mflo $t5 +/* f1515ec: 01cd4021 */ addu $t0,$t6,$t5 +/* f1515f0: 0c004b70 */ jal random +/* f1515f4: e5100018 */ swc1 $f16,0x18($t0) +/* f1515f8: 44824000 */ mtc1 $v0,$f8 +/* f1515fc: 3c014f80 */ lui $at,0x4f80 +/* f151600: 04410004 */ bgez $v0,.L0f151614 +/* f151604: 46804120 */ cvt.s.w $f4,$f8 +/* f151608: 44819000 */ mtc1 $at,$f18 +/* f15160c: 00000000 */ nop +/* f151610: 46122100 */ add.s $f4,$f4,$f18 +.L0f151614: +/* f151614: 8e980000 */ lw $t8,0x0($s4) +/* f151618: 46142182 */ mul.s $f6,$f4,$f20 +/* f15161c: 3c017f1b */ lui $at,%hi(var7f1b7380) +/* f151620: 03160019 */ multu $t8,$s6 +/* f151624: c42a7380 */ lwc1 $f10,%lo(var7f1b7380)($at) +/* f151628: 8eaa0000 */ lw $t2,0x0($s5) +/* f15162c: 460a3402 */ mul.s $f16,$f6,$f10 +/* f151630: 00004812 */ mflo $t1 +/* f151634: 01496021 */ addu $t4,$t2,$t1 +/* f151638: 0c004b70 */ jal random +/* f15163c: e590001c */ swc1 $f16,0x1c($t4) +/* f151640: 44824000 */ mtc1 $v0,$f8 +/* f151644: 3c014f80 */ lui $at,0x4f80 +/* f151648: 04410004 */ bgez $v0,.L0f15165c +/* f15164c: 468044a0 */ cvt.s.w $f18,$f8 +/* f151650: 44812000 */ mtc1 $at,$f4 +/* f151654: 00000000 */ nop +/* f151658: 46049480 */ add.s $f18,$f18,$f4 +.L0f15165c: +/* f15165c: 8e990000 */ lw $t9,0x0($s4) +/* f151660: 46149182 */ mul.s $f6,$f18,$f20 +/* f151664: 3c017f1b */ lui $at,%hi(var7f1b7384) +/* f151668: 03360019 */ multu $t9,$s6 +/* f15166c: c42a7384 */ lwc1 $f10,%lo(var7f1b7384)($at) +/* f151670: 8eaf0000 */ lw $t7,0x0($s5) +/* f151674: 460a3402 */ mul.s $f16,$f6,$f10 +/* f151678: 00005812 */ mflo $t3 +/* f15167c: 01eb7021 */ addu $t6,$t7,$t3 +/* f151680: 0c004b70 */ jal random +/* f151684: e5d0002c */ swc1 $f16,0x2c($t6) +/* f151688: 44824000 */ mtc1 $v0,$f8 +/* f15168c: 3c014f80 */ lui $at,0x4f80 +/* f151690: 04410004 */ bgez $v0,.L0f1516a4 +/* f151694: 46804120 */ cvt.s.w $f4,$f8 +/* f151698: 44819000 */ mtc1 $at,$f18 +/* f15169c: 00000000 */ nop +/* f1516a0: 46122100 */ add.s $f4,$f4,$f18 +.L0f1516a4: +/* f1516a4: 8e880000 */ lw $t0,0x0($s4) +/* f1516a8: 46142182 */ mul.s $f6,$f4,$f20 +/* f1516ac: 3c017f1b */ lui $at,%hi(var7f1b7388) +/* f1516b0: 01160019 */ multu $t0,$s6 +/* f1516b4: c42a7388 */ lwc1 $f10,%lo(var7f1b7388)($at) +/* f1516b8: 8ead0000 */ lw $t5,0x0($s5) +/* f1516bc: 460a3402 */ mul.s $f16,$f6,$f10 +/* f1516c0: 0000c012 */ mflo $t8 +/* f1516c4: 01b85021 */ addu $t2,$t5,$t8 +/* f1516c8: 0c004b70 */ jal random +/* f1516cc: e5500030 */ swc1 $f16,0x30($t2) +/* f1516d0: 44824000 */ mtc1 $v0,$f8 +/* f1516d4: 3c014f80 */ lui $at,0x4f80 +/* f1516d8: 04410004 */ bgez $v0,.L0f1516ec +/* f1516dc: 468044a0 */ cvt.s.w $f18,$f8 +/* f1516e0: 44812000 */ mtc1 $at,$f4 +/* f1516e4: 00000000 */ nop +/* f1516e8: 46049480 */ add.s $f18,$f18,$f4 +.L0f1516ec: +/* f1516ec: 8e8c0000 */ lw $t4,0x0($s4) +/* f1516f0: 46149182 */ mul.s $f6,$f18,$f20 +/* f1516f4: 3c017f1b */ lui $at,%hi(var7f1b738c) +/* f1516f8: 01960019 */ multu $t4,$s6 +/* f1516fc: c42a738c */ lwc1 $f10,%lo(var7f1b738c)($at) +/* f151700: 8ea90000 */ lw $t1,0x0($s5) +/* f151704: 3c0d800a */ lui $t5,%hi(g_MaxShards) +/* f151708: 3c028008 */ lui $v0,%hi(g_ShardsActive) +/* f15170c: 460a3402 */ mul.s $f16,$f6,$f10 +/* f151710: 2442fa84 */ addiu $v0,$v0,%lo(g_ShardsActive) +/* f151714: 240a0001 */ addiu $t2,$zero,0x1 +/* f151718: 0000c812 */ mflo $t9 +/* f15171c: 01397821 */ addu $t7,$t1,$t9 +/* f151720: e5f00034 */ swc1 $f16,0x34($t7) +/* f151724: 8e8b0000 */ lw $t3,0x0($s4) +/* f151728: 256e0001 */ addiu $t6,$t3,0x1 +/* f15172c: ae8e0000 */ sw $t6,0x0($s4) +/* f151730: 8dad45c0 */ lw $t5,%lo(g_MaxShards)($t5) +/* f151734: 01cd082a */ slt $at,$t6,$t5 +/* f151738: 54200003 */ bnezl $at,.L0f151748 +/* f15173c: 8c580000 */ lw $t8,0x0($v0) +/* f151740: ae800000 */ sw $zero,0x0($s4) +/* f151744: 8c580000 */ lw $t8,0x0($v0) +.L0f151748: +/* f151748: 57000003 */ bnezl $t8,.L0f151758 +/* f15174c: 8fbf003c */ lw $ra,0x3c($sp) +/* f151750: ac4a0000 */ sw $t2,0x0($v0) +/* f151754: 8fbf003c */ lw $ra,0x3c($sp) +.L0f151758: +/* f151758: d7b40018 */ ldc1 $f20,0x18($sp) +/* f15175c: 8fb00020 */ lw $s0,0x20($sp) +/* f151760: 8fb10024 */ lw $s1,0x24($sp) +/* f151764: 8fb20028 */ lw $s2,0x28($sp) +/* f151768: 8fb3002c */ lw $s3,0x2c($sp) +/* f15176c: 8fb40030 */ lw $s4,0x30($sp) +/* f151770: 8fb50034 */ lw $s5,0x34($sp) +/* f151774: 8fb60038 */ lw $s6,0x38($sp) +/* f151778: 03e00008 */ jr $ra +/* f15177c: 27bd0068 */ addiu $sp,$sp,0x68 +); diff --git a/src/game/shards/init.c b/src/game/shards/init.c new file mode 100644 index 000000000..e469e8206 --- /dev/null +++ b/src/game/shards/init.c @@ -0,0 +1,39 @@ +#include +#include "constants.h" +#include "game/data/data_000000.h" +#include "game/data/data_0083d0.h" +#include "game/data/data_00e460.h" +#include "game/data/data_0160b0.h" +#include "game/data/data_01a3a0.h" +#include "game/data/data_020df0.h" +#include "game/data/data_02da90.h" +#include "gvars/gvars.h" +#include "lib/memory.h" +#include "types.h" + +void shardsInit(void) +{ + s32 i; + + g_MaxShards = 200 / PLAYERCOUNT(); + + if (IS4MB()) { + g_MaxShards = g_MaxShards / 2; + } + + if (g_Vars.stagenum >= STAGE_TITLE) { + g_MaxShards = 0; + } + + if (g_MaxShards == 0) { + g_Shards = NULL; + } else { + g_Shards = malloc(g_MaxShards * sizeof(struct shard) + 0xf & ~0xf, MEMPOOL_STAGE); + + for (i = 0; i < g_MaxShards; i++) { + g_Shards[i].age60 = 0; + } + } + + var8007fa80 = 0; +} diff --git a/src/game/game_150820.c b/src/game/shards/render.c similarity index 50% rename from src/game/game_150820.c rename to src/game/shards/render.c index 31435289d..bcb12556a 100644 --- a/src/game/game_150820.c +++ b/src/game/shards/render.c @@ -11,7 +11,6 @@ #include "game/game_092610.h" #include "game/atan2f.h" #include "game/game_0b3350.h" -#include "game/game_150820.h" #include "game/file.h" #include "gvars/gvars.h" #include "lib/rng.h" @@ -19,1046 +18,15 @@ #include "lib/lib_16110.h" #include "types.h" -const u32 var7f1b7370[] = {0x3dcccccd}; -const u32 var7f1b7374[] = {0x3f333333}; -const u32 var7f1b7378[] = {0x3f8f5c29}; -const u32 var7f1b737c[] = {0x3df5c28f}; -const u32 var7f1b7380[] = {0x40c907a9}; -const u32 var7f1b7384[] = {0x3dcccccd}; -const u32 var7f1b7388[] = {0x3dcccccd}; -const u32 var7f1b738c[] = {0x3dcccccd}; const u32 var7f1b7390[] = {0xc61c4000}; const u32 var7f1b7394[] = {0x461c4000}; const u32 var7f1b7398[] = {0xc61c4000}; const u32 var7f1b739c[] = {0x461c4000}; -GLOBAL_ASM( -glabel func0f150820 -/* f150820: 27bdfee8 */ addiu $sp,$sp,-280 -/* f150824: afbf0094 */ sw $ra,0x94($sp) -/* f150828: afb70090 */ sw $s7,0x90($sp) -/* f15082c: afb6008c */ sw $s6,0x8c($sp) -/* f150830: afb50088 */ sw $s5,0x88($sp) -/* f150834: afb40084 */ sw $s4,0x84($sp) -/* f150838: afb30080 */ sw $s3,0x80($sp) -/* f15083c: afb2007c */ sw $s2,0x7c($sp) -/* f150840: afb10078 */ sw $s1,0x78($sp) -/* f150844: afb00074 */ sw $s0,0x74($sp) -/* f150848: f7be0068 */ sdc1 $f30,0x68($sp) -/* f15084c: f7bc0060 */ sdc1 $f28,0x60($sp) -/* f150850: f7ba0058 */ sdc1 $f26,0x58($sp) -/* f150854: f7b80050 */ sdc1 $f24,0x50($sp) -/* f150858: f7b60048 */ sdc1 $f22,0x48($sp) -/* f15085c: f7b40040 */ sdc1 $f20,0x40($sp) -/* f150860: c4a40000 */ lwc1 $f4,0x0($a1) -/* f150864: 00c08025 */ or $s0,$a2,$zero -/* f150868: 00808825 */ or $s1,$a0,$zero -/* f15086c: e7a400cc */ swc1 $f4,0xcc($sp) -/* f150870: c4a60004 */ lwc1 $f6,0x4($a1) -/* f150874: c7aa00cc */ lwc1 $f10,0xcc($sp) -/* f150878: 00e09025 */ or $s2,$a3,$zero -/* f15087c: e7a600d0 */ swc1 $f6,0xd0($sp) -/* f150880: 460a5402 */ mul.s $f16,$f10,$f10 -/* f150884: c4a80008 */ lwc1 $f8,0x8($a1) -/* f150888: c7b200d0 */ lwc1 $f18,0xd0($sp) -/* f15088c: e7a800d4 */ swc1 $f8,0xd4($sp) -/* f150890: 46129102 */ mul.s $f4,$f18,$f18 -/* f150894: c7a800d4 */ lwc1 $f8,0xd4($sp) -/* f150898: 46084282 */ mul.s $f10,$f8,$f8 -/* f15089c: 46048180 */ add.s $f6,$f16,$f4 -/* f1508a0: 0c012974 */ jal sqrtf -/* f1508a4: 46065300 */ add.s $f12,$f10,$f6 -/* f1508a8: 3c013f80 */ lui $at,0x3f80 -/* f1508ac: 4481f000 */ mtc1 $at,$f30 -/* f1508b0: c7b200cc */ lwc1 $f18,0xcc($sp) -/* f1508b4: c7a400d0 */ lwc1 $f4,0xd0($sp) -/* f1508b8: 4600f503 */ div.s $f20,$f30,$f0 -/* f1508bc: c7aa00d4 */ lwc1 $f10,0xd4($sp) -/* f1508c0: c7b60128 */ lwc1 $f22,0x128($sp) -/* f1508c4: c7ba012c */ lwc1 $f26,0x12c($sp) -/* f1508c8: 46149402 */ mul.s $f16,$f18,$f20 -/* f1508cc: 00000000 */ nop -/* f1508d0: 46142202 */ mul.s $f8,$f4,$f20 -/* f1508d4: 00000000 */ nop -/* f1508d8: 46145182 */ mul.s $f6,$f10,$f20 -/* f1508dc: e7b000cc */ swc1 $f16,0xcc($sp) -/* f1508e0: 4600b582 */ mul.s $f22,$f22,$f0 -/* f1508e4: e7a800d0 */ swc1 $f8,0xd0($sp) -/* f1508e8: 4600d682 */ mul.s $f26,$f26,$f0 -/* f1508ec: e7a600d4 */ swc1 $f6,0xd4($sp) -/* f1508f0: c6120000 */ lwc1 $f18,0x0($s0) -/* f1508f4: e7b200c0 */ swc1 $f18,0xc0($sp) -/* f1508f8: c6100004 */ lwc1 $f16,0x4($s0) -/* f1508fc: c7a800c0 */ lwc1 $f8,0xc0($sp) -/* f150900: e7b000c4 */ swc1 $f16,0xc4($sp) -/* f150904: 46084282 */ mul.s $f10,$f8,$f8 -/* f150908: c6040008 */ lwc1 $f4,0x8($s0) -/* f15090c: c7a600c4 */ lwc1 $f6,0xc4($sp) -/* f150910: e7a400c8 */ swc1 $f4,0xc8($sp) -/* f150914: 46063482 */ mul.s $f18,$f6,$f6 -/* f150918: c7a400c8 */ lwc1 $f4,0xc8($sp) -/* f15091c: 46042202 */ mul.s $f8,$f4,$f4 -/* f150920: 46125400 */ add.s $f16,$f10,$f18 -/* f150924: 0c012974 */ jal sqrtf -/* f150928: 46104300 */ add.s $f12,$f8,$f16 -/* f15092c: 4600f503 */ div.s $f20,$f30,$f0 -/* f150930: c7a600c0 */ lwc1 $f6,0xc0($sp) -/* f150934: c7b200c4 */ lwc1 $f18,0xc4($sp) -/* f150938: c7a800c8 */ lwc1 $f8,0xc8($sp) -/* f15093c: c7b80130 */ lwc1 $f24,0x130($sp) -/* f150940: c7bc0134 */ lwc1 $f28,0x134($sp) -/* f150944: 46143282 */ mul.s $f10,$f6,$f20 -/* f150948: 00000000 */ nop -/* f15094c: 46149102 */ mul.s $f4,$f18,$f20 -/* f150950: 00000000 */ nop -/* f150954: 46144402 */ mul.s $f16,$f8,$f20 -/* f150958: e7aa00c0 */ swc1 $f10,0xc0($sp) -/* f15095c: 4600c602 */ mul.s $f24,$f24,$f0 -/* f150960: e7a400c4 */ swc1 $f4,0xc4($sp) -/* f150964: 4600e702 */ mul.s $f28,$f28,$f0 -/* f150968: e7b000c8 */ swc1 $f16,0xc8($sp) -/* f15096c: c64e0008 */ lwc1 $f14,0x8($s2) -/* f150970: 0fc259d4 */ jal atan2f -/* f150974: c64c0000 */ lwc1 $f12,0x0($s2) -/* f150978: 3c0e800a */ lui $t6,%hi(g_MaxShards) -/* f15097c: 8dce45c0 */ lw $t6,%lo(g_MaxShards)($t6) -/* f150980: 4616d501 */ sub.s $f20,$f26,$f22 -/* f150984: 46000786 */ mov.s $f30,$f0 -/* f150988: 4618e081 */ sub.s $f2,$f28,$f24 -/* f15098c: 4602a182 */ mul.s $f6,$f20,$f2 -/* f150990: 05c10003 */ bgez $t6,.L0f1509a0 -/* f150994: 000e7843 */ sra $t7,$t6,0x1 -/* f150998: 25c10001 */ addiu $at,$t6,0x1 -/* f15099c: 00017843 */ sra $t7,$at,0x1 -.L0f1509a0: -/* f1509a0: 448f5000 */ mtc1 $t7,$f10 -/* f1509a4: e7a200ac */ swc1 $f2,0xac($sp) -/* f1509a8: 468054a0 */ cvt.s.w $f18,$f10 -/* f1509ac: 0c012974 */ jal sqrtf -/* f1509b0: 46123303 */ div.s $f12,$f6,$f18 -/* f1509b4: 4600010d */ trunc.w.s $f4,$f0 -/* f1509b8: c7aa00cc */ lwc1 $f10,0xcc($sp) -/* f1509bc: e7a000ec */ swc1 $f0,0xec($sp) -/* f1509c0: c6300000 */ lwc1 $f16,0x0($s1) -/* f1509c4: 44122000 */ mfc1 $s2,$f4 -/* f1509c8: c7a400c0 */ lwc1 $f4,0xc0($sp) -/* f1509cc: 8fb40138 */ lw $s4,0x138($sp) -/* f1509d0: 0012c843 */ sra $t9,$s2,0x1 -/* f1509d4: 44994000 */ mtc1 $t9,$f8 -/* f1509d8: 8fb3013c */ lw $s3,0x13c($sp) -/* f1509dc: 00002025 */ or $a0,$zero,$zero -/* f1509e0: 468043a0 */ cvt.s.w $f14,$f8 -/* f1509e4: 00002825 */ or $a1,$zero,$zero -/* f1509e8: 24068078 */ addiu $a2,$zero,-32648 -/* f1509ec: 2407ffff */ addiu $a3,$zero,-1 -/* f1509f0: 2408ffff */ addiu $t0,$zero,-1 -/* f1509f4: 240bffff */ addiu $t3,$zero,-1 -/* f1509f8: 460eb300 */ add.s $f12,$f22,$f14 -/* f1509fc: 24010001 */ addiu $at,$zero,0x1 -/* f150a00: 02408025 */ or $s0,$s2,$zero -/* f150a04: 460ec080 */ add.s $f2,$f24,$f14 -/* f150a08: 460a6182 */ mul.s $f6,$f12,$f10 -/* f150a0c: 26690008 */ addiu $t1,$s3,0x8 -/* f150a10: 266a0028 */ addiu $t2,$s3,0x28 -/* f150a14: 46022202 */ mul.s $f8,$f4,$f2 -/* f150a18: 46068480 */ add.s $f18,$f16,$f6 -/* f150a1c: c7a600d0 */ lwc1 $f6,0xd0($sp) -/* f150a20: 46124280 */ add.s $f10,$f8,$f18 -/* f150a24: 46066102 */ mul.s $f4,$f12,$f6 -/* f150a28: c7b200c4 */ lwc1 $f18,0xc4($sp) -/* f150a2c: e7aa00d8 */ swc1 $f10,0xd8($sp) -/* f150a30: 46029282 */ mul.s $f10,$f18,$f2 -/* f150a34: c6300004 */ lwc1 $f16,0x4($s1) -/* f150a38: 46048200 */ add.s $f8,$f16,$f4 -/* f150a3c: c7a400d4 */ lwc1 $f4,0xd4($sp) -/* f150a40: 46085180 */ add.s $f6,$f10,$f8 -/* f150a44: 46046482 */ mul.s $f18,$f12,$f4 -/* f150a48: c7a800c8 */ lwc1 $f8,0xc8($sp) -/* f150a4c: e7a600dc */ swc1 $f6,0xdc($sp) -/* f150a50: 46024182 */ mul.s $f6,$f8,$f2 -/* f150a54: c6300008 */ lwc1 $f16,0x8($s1) -/* f150a58: 46128280 */ add.s $f10,$f16,$f18 -/* f150a5c: 460a3100 */ add.s $f4,$f6,$f10 -/* f150a60: 16800011 */ bnez $s4,.L0f150aa8 -/* f150a64: e7a400e0 */ swc1 $f4,0xe0($sp) -/* f150a68: 3c01bf80 */ lui $at,0xbf80 -/* f150a6c: 44810000 */ mtc1 $at,$f0 -/* f150a70: afa80010 */ sw $t0,0x10($sp) -/* f150a74: afa00014 */ sw $zero,0x14($sp) -/* f150a78: afa00018 */ sw $zero,0x18($sp) -/* f150a7c: afa0001c */ sw $zero,0x1c($sp) -/* f150a80: afa90020 */ sw $t1,0x20($sp) -/* f150a84: afaa0028 */ sw $t2,0x28($sp) -/* f150a88: afab002c */ sw $t3,0x2c($sp) -/* f150a8c: e7a00024 */ swc1 $f0,0x24($sp) -/* f150a90: e7a00030 */ swc1 $f0,0x30($sp) -/* f150a94: e7a00034 */ swc1 $f0,0x34($sp) -/* f150a98: 0fc24e7e */ jal func0f0939f8 -/* f150a9c: e7a00038 */ swc1 $f0,0x38($sp) -/* f150aa0: 1000003c */ b .L0f150b94 -/* f150aa4: 44908000 */ mtc1 $s0,$f16 -.L0f150aa8: -/* f150aa8: 56810021 */ bnel $s4,$at,.L0f150b30 -/* f150aac: 24010002 */ addiu $at,$zero,0x2 -/* f150ab0: 0c004b70 */ jal random -/* f150ab4: 00000000 */ nop -/* f150ab8: 3c01bf80 */ lui $at,0xbf80 -/* f150abc: 44810000 */ mtc1 $at,$f0 -/* f150ac0: 8fb3013c */ lw $s3,0x13c($sp) -/* f150ac4: 30460001 */ andi $a2,$v0,0x1 -/* f150ac8: 00066040 */ sll $t4,$a2,0x1 -/* f150acc: 25860010 */ addiu $a2,$t4,0x10 -/* f150ad0: 00066c00 */ sll $t5,$a2,0x10 -/* f150ad4: 240fffff */ addiu $t7,$zero,-1 -/* f150ad8: 2408ffff */ addiu $t0,$zero,-1 -/* f150adc: 26780008 */ addiu $t8,$s3,0x8 -/* f150ae0: 26790028 */ addiu $t9,$s3,0x28 -/* f150ae4: afb90028 */ sw $t9,0x28($sp) -/* f150ae8: afb80020 */ sw $t8,0x20($sp) -/* f150aec: afa8002c */ sw $t0,0x2c($sp) -/* f150af0: afaf0010 */ sw $t7,0x10($sp) -/* f150af4: 000d3403 */ sra $a2,$t5,0x10 -/* f150af8: 00002025 */ or $a0,$zero,$zero -/* f150afc: 00002825 */ or $a1,$zero,$zero -/* f150b00: 2407ffff */ addiu $a3,$zero,-1 -/* f150b04: afa00014 */ sw $zero,0x14($sp) -/* f150b08: afa00018 */ sw $zero,0x18($sp) -/* f150b0c: afa0001c */ sw $zero,0x1c($sp) -/* f150b10: e7a00024 */ swc1 $f0,0x24($sp) -/* f150b14: e7a00030 */ swc1 $f0,0x30($sp) -/* f150b18: e7a00034 */ swc1 $f0,0x34($sp) -/* f150b1c: 0fc24e7e */ jal func0f0939f8 -/* f150b20: e7a00038 */ swc1 $f0,0x38($sp) -/* f150b24: 1000001b */ b .L0f150b94 -/* f150b28: 44908000 */ mtc1 $s0,$f16 -/* f150b2c: 24010002 */ addiu $at,$zero,0x2 -.L0f150b30: -/* f150b30: 16810017 */ bne $s4,$at,.L0f150b90 -/* f150b34: 8fb3013c */ lw $s3,0x13c($sp) -/* f150b38: 3c01bf80 */ lui $at,0xbf80 -/* f150b3c: 44810000 */ mtc1 $at,$f0 -/* f150b40: 2409ffff */ addiu $t1,$zero,-1 -/* f150b44: 266a0008 */ addiu $t2,$s3,0x8 -/* f150b48: 266b0028 */ addiu $t3,$s3,0x28 -/* f150b4c: 240cffff */ addiu $t4,$zero,-1 -/* f150b50: afac002c */ sw $t4,0x2c($sp) -/* f150b54: afab0028 */ sw $t3,0x28($sp) -/* f150b58: afaa0020 */ sw $t2,0x20($sp) -/* f150b5c: afa90010 */ sw $t1,0x10($sp) -/* f150b60: 00002025 */ or $a0,$zero,$zero -/* f150b64: 00002825 */ or $a1,$zero,$zero -/* f150b68: 240605d8 */ addiu $a2,$zero,0x5d8 -/* f150b6c: 2407ffff */ addiu $a3,$zero,-1 -/* f150b70: afa00014 */ sw $zero,0x14($sp) -/* f150b74: afa00018 */ sw $zero,0x18($sp) -/* f150b78: afa0001c */ sw $zero,0x1c($sp) -/* f150b7c: e7a00024 */ swc1 $f0,0x24($sp) -/* f150b80: e7a00030 */ swc1 $f0,0x30($sp) -/* f150b84: e7a00034 */ swc1 $f0,0x34($sp) -/* f150b88: 0fc24e7e */ jal func0f0939f8 -/* f150b8c: e7a00038 */ swc1 $f0,0x38($sp) -.L0f150b90: -/* f150b90: 44908000 */ mtc1 $s0,$f16 -.L0f150b94: -/* f150b94: 44923000 */ mtc1 $s2,$f6 -/* f150b98: c7a400ac */ lwc1 $f4,0xac($sp) -/* f150b9c: 468085a0 */ cvt.s.w $f22,$f16 -/* f150ba0: 8fb3013c */ lw $s3,0x13c($sp) -/* f150ba4: 0000a825 */ or $s5,$zero,$zero -/* f150ba8: 3c017f1b */ lui $at,%hi(var7f1b7370) -/* f150bac: 468032a0 */ cvt.s.w $f10,$f6 -/* f150bb0: 4616a483 */ div.s $f18,$f20,$f22 -/* f150bb4: e7aa00a4 */ swc1 $f10,0xa4($sp) -/* f150bb8: c7b000a4 */ lwc1 $f16,0xa4($sp) -/* f150bbc: 4600920d */ trunc.w.s $f8,$f18 -/* f150bc0: 46102483 */ div.s $f18,$f4,$f16 -/* f150bc4: 44164000 */ mfc1 $s6,$f8 -/* f150bc8: 00000000 */ nop -/* f150bcc: 02c08825 */ or $s1,$s6,$zero -/* f150bd0: 4600920d */ trunc.w.s $f8,$f18 -/* f150bd4: 44174000 */ mfc1 $s7,$f8 -/* f150bd8: 00000000 */ nop -/* f150bdc: 5ae00046 */ blezl $s7,.L0f150cf8 -/* f150be0: 8fbf0094 */ lw $ra,0x94($sp) -/* f150be4: c43c7370 */ lwc1 $f28,%lo(var7f1b7370)($at) -/* f150be8: 3c017f1b */ lui $at,%hi(var7f1b7374) -/* f150bec: c43a7374 */ lwc1 $f26,%lo(var7f1b7374)($at) -/* f150bf0: 3c012f80 */ lui $at,0x2f80 -/* f150bf4: 4481c000 */ mtc1 $at,$f24 -/* f150bf8: 27b200fc */ addiu $s2,$sp,0xfc -.L0f150bfc: -/* f150bfc: 1ac00039 */ blez $s6,.L0f150ce4 -/* f150c00: 00008025 */ or $s0,$zero,$zero -/* f150c04: 44953000 */ mtc1 $s5,$f6 -/* f150c08: c7a400a4 */ lwc1 $f4,0xa4($sp) -/* f150c0c: 468032a0 */ cvt.s.w $f10,$f6 -/* f150c10: 46045502 */ mul.s $f20,$f10,$f4 -/* f150c14: 00000000 */ nop -/* f150c18: 44908000 */ mtc1 $s0,$f16 -.L0f150c1c: -/* f150c1c: c7a600cc */ lwc1 $f6,0xcc($sp) -/* f150c20: c7a800d8 */ lwc1 $f8,0xd8($sp) -/* f150c24: 468084a0 */ cvt.s.w $f18,$f16 -/* f150c28: c7b000c0 */ lwc1 $f16,0xc0($sp) -/* f150c2c: 46169002 */ mul.s $f0,$f18,$f22 -/* f150c30: 00000000 */ nop -/* f150c34: 46060282 */ mul.s $f10,$f0,$f6 -/* f150c38: 460a4100 */ add.s $f4,$f8,$f10 -/* f150c3c: 46148482 */ mul.s $f18,$f16,$f20 -/* f150c40: c7aa00d0 */ lwc1 $f10,0xd0($sp) -/* f150c44: c7a800dc */ lwc1 $f8,0xdc($sp) -/* f150c48: 460a0402 */ mul.s $f16,$f0,$f10 -/* f150c4c: 46049180 */ add.s $f6,$f18,$f4 -/* f150c50: c7a400c4 */ lwc1 $f4,0xc4($sp) -/* f150c54: 46104480 */ add.s $f18,$f8,$f16 -/* f150c58: e7a600fc */ swc1 $f6,0xfc($sp) -/* f150c5c: 46142182 */ mul.s $f6,$f4,$f20 -/* f150c60: c7b000d4 */ lwc1 $f16,0xd4($sp) -/* f150c64: c7a800e0 */ lwc1 $f8,0xe0($sp) -/* f150c68: 46100102 */ mul.s $f4,$f0,$f16 -/* f150c6c: 46123280 */ add.s $f10,$f6,$f18 -/* f150c70: c7b200c8 */ lwc1 $f18,0xc8($sp) -/* f150c74: 46044180 */ add.s $f6,$f8,$f4 -/* f150c78: e7aa0100 */ swc1 $f10,0x100($sp) -/* f150c7c: 46149282 */ mul.s $f10,$f18,$f20 -/* f150c80: 46065400 */ add.s $f16,$f10,$f6 -/* f150c84: 0c004b70 */ jal random -/* f150c88: e7b00104 */ swc1 $f16,0x104($sp) -/* f150c8c: 44824000 */ mtc1 $v0,$f8 -/* f150c90: 4406f000 */ mfc1 $a2,$f30 -/* f150c94: 86640028 */ lh $a0,0x28($s3) -/* f150c98: 02402825 */ or $a1,$s2,$zero -/* f150c9c: 04410005 */ bgez $v0,.L0f150cb4 -/* f150ca0: 46804120 */ cvt.s.w $f4,$f8 -/* f150ca4: 3c014f80 */ lui $at,0x4f80 -/* f150ca8: 44819000 */ mtc1 $at,$f18 -/* f150cac: 00000000 */ nop -/* f150cb0: 46122100 */ add.s $f4,$f4,$f18 -.L0f150cb4: -/* f150cb4: 46182282 */ mul.s $f10,$f4,$f24 -/* f150cb8: c7a800ec */ lwc1 $f8,0xec($sp) -/* f150cbc: afb40010 */ sw $s4,0x10($sp) -/* f150cc0: 461a5182 */ mul.s $f6,$f10,$f26 -/* f150cc4: 461c3400 */ add.s $f16,$f6,$f28 -/* f150cc8: 46088482 */ mul.s $f18,$f16,$f8 -/* f150ccc: 44079000 */ mfc1 $a3,$f18 -/* f150cd0: 0fc5434e */ jal func0f150d38 -/* f150cd4: 00000000 */ nop -/* f150cd8: 26100001 */ addiu $s0,$s0,0x1 -/* f150cdc: 5611ffcf */ bnel $s0,$s1,.L0f150c1c -/* f150ce0: 44908000 */ mtc1 $s0,$f16 -.L0f150ce4: -/* f150ce4: 26b50001 */ addiu $s5,$s5,0x1 -/* f150ce8: 02b7082a */ slt $at,$s5,$s7 -/* f150cec: 1420ffc3 */ bnez $at,.L0f150bfc -/* f150cf0: 00000000 */ nop -/* f150cf4: 8fbf0094 */ lw $ra,0x94($sp) -.L0f150cf8: -/* f150cf8: d7b40040 */ ldc1 $f20,0x40($sp) -/* f150cfc: d7b60048 */ ldc1 $f22,0x48($sp) -/* f150d00: d7b80050 */ ldc1 $f24,0x50($sp) -/* f150d04: d7ba0058 */ ldc1 $f26,0x58($sp) -/* f150d08: d7bc0060 */ ldc1 $f28,0x60($sp) -/* f150d0c: d7be0068 */ ldc1 $f30,0x68($sp) -/* f150d10: 8fb00074 */ lw $s0,0x74($sp) -/* f150d14: 8fb10078 */ lw $s1,0x78($sp) -/* f150d18: 8fb2007c */ lw $s2,0x7c($sp) -/* f150d1c: 8fb30080 */ lw $s3,0x80($sp) -/* f150d20: 8fb40084 */ lw $s4,0x84($sp) -/* f150d24: 8fb50088 */ lw $s5,0x88($sp) -/* f150d28: 8fb6008c */ lw $s6,0x8c($sp) -/* f150d2c: 8fb70090 */ lw $s7,0x90($sp) -/* f150d30: 03e00008 */ jr $ra -/* f150d34: 27bd0118 */ addiu $sp,$sp,0x118 -); +Gfx *shardsRenderWood(Gfx *gdl); GLOBAL_ASM( -glabel func0f150d38 -/* f150d38: 27bdff98 */ addiu $sp,$sp,-104 -/* f150d3c: afb10024 */ sw $s1,0x24($sp) -/* f150d40: 00048c00 */ sll $s1,$a0,0x10 -/* f150d44: 00117403 */ sra $t6,$s1,0x10 -/* f150d48: afbf003c */ sw $ra,0x3c($sp) -/* f150d4c: afb00020 */ sw $s0,0x20($sp) -/* f150d50: 00a08025 */ or $s0,$a1,$zero -/* f150d54: 01c08825 */ or $s1,$t6,$zero -/* f150d58: afb60038 */ sw $s6,0x38($sp) -/* f150d5c: afb50034 */ sw $s5,0x34($sp) -/* f150d60: afb40030 */ sw $s4,0x30($sp) -/* f150d64: afb3002c */ sw $s3,0x2c($sp) -/* f150d68: afb20028 */ sw $s2,0x28($sp) -/* f150d6c: f7b40018 */ sdc1 $f20,0x18($sp) -/* f150d70: afa40068 */ sw $a0,0x68($sp) -/* f150d74: afa60070 */ sw $a2,0x70($sp) -/* f150d78: 0c004b70 */ jal random -/* f150d7c: afa70074 */ sw $a3,0x74($sp) -/* f150d80: 44822000 */ mtc1 $v0,$f4 -/* f150d84: 3c012f80 */ lui $at,0x2f80 -/* f150d88: 4481a000 */ mtc1 $at,$f20 -/* f150d8c: 04410005 */ bgez $v0,.L0f150da4 -/* f150d90: 468021a0 */ cvt.s.w $f6,$f4 -/* f150d94: 3c014f80 */ lui $at,0x4f80 -/* f150d98: 44814000 */ mtc1 $at,$f8 -/* f150d9c: 00000000 */ nop -/* f150da0: 46083180 */ add.s $f6,$f6,$f8 -.L0f150da4: -/* f150da4: 46143002 */ mul.s $f0,$f6,$f20 -/* f150da8: 3c013f80 */ lui $at,0x3f80 -/* f150dac: 44818000 */ mtc1 $at,$f16 -/* f150db0: 46000280 */ add.s $f10,$f0,$f0 -/* f150db4: 46105481 */ sub.s $f18,$f10,$f16 -/* f150db8: 0c004b70 */ jal random -/* f150dbc: e7b20064 */ swc1 $f18,0x64($sp) -/* f150dc0: 44822000 */ mtc1 $v0,$f4 -/* f150dc4: 04410005 */ bgez $v0,.L0f150ddc -/* f150dc8: 46802220 */ cvt.s.w $f8,$f4 -/* f150dcc: 3c014f80 */ lui $at,0x4f80 -/* f150dd0: 44813000 */ mtc1 $at,$f6 -/* f150dd4: 00000000 */ nop -/* f150dd8: 46064200 */ add.s $f8,$f8,$f6 -.L0f150ddc: -/* f150ddc: 46144282 */ mul.s $f10,$f8,$f20 -/* f150de0: 3c017f1b */ lui $at,%hi(var7f1b7378) -/* f150de4: c4307378 */ lwc1 $f16,%lo(var7f1b7378)($at) -/* f150de8: 3c017f1b */ lui $at,%hi(var7f1b737c) -/* f150dec: c424737c */ lwc1 $f4,%lo(var7f1b737c)($at) -/* f150df0: 46105482 */ mul.s $f18,$f10,$f16 -/* f150df4: 46049181 */ sub.s $f6,$f18,$f4 -/* f150df8: 0c004b70 */ jal random -/* f150dfc: e7a60060 */ swc1 $f6,0x60($sp) -/* f150e00: 3c148008 */ lui $s4,%hi(var8007fa80) -/* f150e04: 2694fa80 */ addiu $s4,$s4,%lo(var8007fa80) -/* f150e08: 8e980000 */ lw $t8,0x0($s4) -/* f150e0c: 2416006c */ addiu $s6,$zero,0x6c -/* f150e10: 3c15800a */ lui $s5,%hi(g_Shards) -/* f150e14: 03160019 */ multu $t8,$s6 -/* f150e18: 26b545c4 */ addiu $s5,$s5,%lo(g_Shards) -/* f150e1c: 8eaf0000 */ lw $t7,0x0($s5) -/* f150e20: 8fb20078 */ lw $s2,0x78($sp) -/* f150e24: 240d0001 */ addiu $t5,$zero,0x1 -/* f150e28: 3c013fc0 */ lui $at,0x3fc0 -/* f150e2c: 44811000 */ mtc1 $at,$f2 -/* f150e30: 3c014040 */ lui $at,0x4040 -/* f150e34: 0000c812 */ mflo $t9 -/* f150e38: 01f94021 */ addu $t0,$t7,$t9 -/* f150e3c: a1120068 */ sb $s2,0x68($t0) -/* f150e40: 8e8a0000 */ lw $t2,0x0($s4) -/* f150e44: 8ea90000 */ lw $t1,0x0($s5) -/* f150e48: 01560019 */ multu $t2,$s6 -/* f150e4c: 00005812 */ mflo $t3 -/* f150e50: 012b6021 */ addu $t4,$t1,$t3 -/* f150e54: a5910000 */ sh $s1,0x0($t4) -/* f150e58: 8e980000 */ lw $t8,0x0($s4) -/* f150e5c: 8eae0000 */ lw $t6,0x0($s5) -/* f150e60: 03160019 */ multu $t8,$s6 -/* f150e64: 00007812 */ mflo $t7 -/* f150e68: 01cfc821 */ addu $t9,$t6,$t7 -/* f150e6c: af2d0004 */ sw $t5,0x4($t9) -/* f150e70: 8e8a0000 */ lw $t2,0x0($s4) -/* f150e74: 8ea80000 */ lw $t0,0x0($s5) -/* f150e78: c6080000 */ lwc1 $f8,0x0($s0) -/* f150e7c: 01560019 */ multu $t2,$s6 -/* f150e80: 00004812 */ mflo $t1 -/* f150e84: 01095821 */ addu $t3,$t0,$t1 -/* f150e88: e5680008 */ swc1 $f8,0x8($t3) -/* f150e8c: 8e980000 */ lw $t8,0x0($s4) -/* f150e90: 8eac0000 */ lw $t4,0x0($s5) -/* f150e94: c60a0004 */ lwc1 $f10,0x4($s0) -/* f150e98: 03160019 */ multu $t8,$s6 -/* f150e9c: 44814000 */ mtc1 $at,$f8 -/* f150ea0: 00007012 */ mflo $t6 -/* f150ea4: 018e7821 */ addu $t7,$t4,$t6 -/* f150ea8: e5ea000c */ swc1 $f10,0xc($t7) -/* f150eac: 8e990000 */ lw $t9,0x0($s4) -/* f150eb0: 8ead0000 */ lw $t5,0x0($s5) -/* f150eb4: c6100008 */ lwc1 $f16,0x8($s0) -/* f150eb8: 03360019 */ multu $t9,$s6 -/* f150ebc: 00005012 */ mflo $t2 -/* f150ec0: 01aa4021 */ addu $t0,$t5,$t2 -/* f150ec4: e5100010 */ swc1 $f16,0x10($t0) -/* f150ec8: 8e8b0000 */ lw $t3,0x0($s4) -/* f150ecc: c7b20064 */ lwc1 $f18,0x64($sp) -/* f150ed0: 8ea90000 */ lw $t1,0x0($s5) -/* f150ed4: 01760019 */ multu $t3,$s6 -/* f150ed8: 46029102 */ mul.s $f4,$f18,$f2 -/* f150edc: 44828000 */ mtc1 $v0,$f16 -/* f150ee0: 00000000 */ nop -/* f150ee4: 468084a0 */ cvt.s.w $f18,$f16 -/* f150ee8: 0000c012 */ mflo $t8 -/* f150eec: 01386021 */ addu $t4,$t1,$t8 -/* f150ef0: e5840020 */ swc1 $f4,0x20($t4) -/* f150ef4: 8e8f0000 */ lw $t7,0x0($s4) -/* f150ef8: c7a60060 */ lwc1 $f6,0x60($sp) -/* f150efc: 8eae0000 */ lw $t6,0x0($s5) -/* f150f00: 01f60019 */ multu $t7,$s6 -/* f150f04: 46083282 */ mul.s $f10,$f6,$f8 -/* f150f08: 0000c812 */ mflo $t9 -/* f150f0c: 01d96821 */ addu $t5,$t6,$t9 -/* f150f10: 04410005 */ bgez $v0,.L0f150f28 -/* f150f14: e5aa0024 */ swc1 $f10,0x24($t5) -/* f150f18: 3c014f80 */ lui $at,0x4f80 -/* f150f1c: 44812000 */ mtc1 $at,$f4 -/* f150f20: 00000000 */ nop -/* f150f24: 46049480 */ add.s $f18,$f18,$f4 -.L0f150f28: -/* f150f28: 46149002 */ mul.s $f0,$f18,$f20 -/* f150f2c: 8e880000 */ lw $t0,0x0($s4) -/* f150f30: 3c013f80 */ lui $at,0x3f80 -/* f150f34: 44814000 */ mtc1 $at,$f8 -/* f150f38: 01160019 */ multu $t0,$s6 -/* f150f3c: 8eaa0000 */ lw $t2,0x0($s5) -/* f150f40: 46000180 */ add.s $f6,$f0,$f0 -/* f150f44: 46083281 */ sub.s $f10,$f6,$f8 -/* f150f48: 00005812 */ mflo $t3 -/* f150f4c: 46025402 */ mul.s $f16,$f10,$f2 -/* f150f50: 014b4821 */ addu $t1,$t2,$t3 -/* f150f54: 0c004b70 */ jal random -/* f150f58: e5300028 */ swc1 $f16,0x28($t1) -/* f150f5c: 44822000 */ mtc1 $v0,$f4 -/* f150f60: 04410005 */ bgez $v0,.L0f150f78 -/* f150f64: 468024a0 */ cvt.s.w $f18,$f4 -/* f150f68: 3c014f80 */ lui $at,0x4f80 -/* f150f6c: 44813000 */ mtc1 $at,$f6 -/* f150f70: 00000000 */ nop -/* f150f74: 46069480 */ add.s $f18,$f18,$f6 -.L0f150f78: -/* f150f78: 46149202 */ mul.s $f8,$f18,$f20 -/* f150f7c: 3c013f00 */ lui $at,0x3f00 -/* f150f80: 44815000 */ mtc1 $at,$f10 -/* f150f84: 3c013f80 */ lui $at,0x3f80 -/* f150f88: 44812000 */ mtc1 $at,$f4 -/* f150f8c: c7b20074 */ lwc1 $f18,0x74($sp) -/* f150f90: 8e8e0000 */ lw $t6,0x0($s4) -/* f150f94: 460a4402 */ mul.s $f16,$f8,$f10 -/* f150f98: 8eaf0000 */ lw $t7,0x0($s5) -/* f150f9c: 01d60019 */ multu $t6,$s6 -/* f150fa0: 46048180 */ add.s $f6,$f16,$f4 -/* f150fa4: 46123202 */ mul.s $f8,$f6,$f18 -/* f150fa8: 0000c812 */ mflo $t9 -/* f150fac: 01f96821 */ addu $t5,$t7,$t9 -/* f150fb0: 4600428d */ trunc.w.s $f10,$f8 -/* f150fb4: 440c5000 */ mfc1 $t4,$f10 -/* f150fb8: 0c004b70 */ jal random -/* f150fbc: a5ac0038 */ sh $t4,0x38($t5) -/* f150fc0: 44828000 */ mtc1 $v0,$f16 -/* f150fc4: 04410005 */ bgez $v0,.L0f150fdc -/* f150fc8: 46808120 */ cvt.s.w $f4,$f16 -/* f150fcc: 3c014f80 */ lui $at,0x4f80 -/* f150fd0: 44813000 */ mtc1 $at,$f6 -/* f150fd4: 00000000 */ nop -/* f150fd8: 46062100 */ add.s $f4,$f4,$f6 -.L0f150fdc: -/* f150fdc: 46142482 */ mul.s $f18,$f4,$f20 -/* f150fe0: 3c013f00 */ lui $at,0x3f00 -/* f150fe4: 44814000 */ mtc1 $at,$f8 -/* f150fe8: 3c013f80 */ lui $at,0x3f80 -/* f150fec: 44818000 */ mtc1 $at,$f16 -/* f150ff0: c7a40074 */ lwc1 $f4,0x74($sp) -/* f150ff4: 8e890000 */ lw $t1,0x0($s4) -/* f150ff8: 46089282 */ mul.s $f10,$f18,$f8 -/* f150ffc: 8eab0000 */ lw $t3,0x0($s5) -/* f151000: 01360019 */ multu $t1,$s6 -/* f151004: 46105180 */ add.s $f6,$f10,$f16 -/* f151008: 46043482 */ mul.s $f18,$f6,$f4 -/* f15100c: 0000c012 */ mflo $t8 -/* f151010: 01787021 */ addu $t6,$t3,$t8 -/* f151014: 4600920d */ trunc.w.s $f8,$f18 -/* f151018: 440a4000 */ mfc1 $t2,$f8 -/* f15101c: 0c004b70 */ jal random -/* f151020: a5ca003a */ sh $t2,0x3a($t6) -/* f151024: 44825000 */ mtc1 $v0,$f10 -/* f151028: 04410005 */ bgez $v0,.L0f151040 -/* f15102c: 46805420 */ cvt.s.w $f16,$f10 -/* f151030: 3c014f80 */ lui $at,0x4f80 -/* f151034: 44813000 */ mtc1 $at,$f6 -/* f151038: 00000000 */ nop -/* f15103c: 46068400 */ add.s $f16,$f16,$f6 -.L0f151040: -/* f151040: 46148102 */ mul.s $f4,$f16,$f20 -/* f151044: 3c013f00 */ lui $at,0x3f00 -/* f151048: 44819000 */ mtc1 $at,$f18 -/* f15104c: 3c013f80 */ lui $at,0x3f80 -/* f151050: 44815000 */ mtc1 $at,$f10 -/* f151054: c7b00074 */ lwc1 $f16,0x74($sp) -/* f151058: 8e8d0000 */ lw $t5,0x0($s4) -/* f15105c: 46122202 */ mul.s $f8,$f4,$f18 -/* f151060: 8eac0000 */ lw $t4,0x0($s5) -/* f151064: 01b60019 */ multu $t5,$s6 -/* f151068: 460a4180 */ add.s $f6,$f8,$f10 -/* f15106c: 46103102 */ mul.s $f4,$f6,$f16 -/* f151070: 00004012 */ mflo $t0 -/* f151074: 01884821 */ addu $t1,$t4,$t0 -/* f151078: 4600248d */ trunc.w.s $f18,$f4 -/* f15107c: 44199000 */ mfc1 $t9,$f18 -/* f151080: 0c004b70 */ jal random -/* f151084: a5390044 */ sh $t9,0x44($t1) -/* f151088: c7a00074 */ lwc1 $f0,0x74($sp) -/* f15108c: 44824000 */ mtc1 $v0,$f8 -/* f151090: 46000007 */ neg.s $f0,$f0 -/* f151094: 04410005 */ bgez $v0,.L0f1510ac -/* f151098: 468042a0 */ cvt.s.w $f10,$f8 -/* f15109c: 3c014f80 */ lui $at,0x4f80 -/* f1510a0: 44813000 */ mtc1 $at,$f6 -/* f1510a4: 00000000 */ nop -/* f1510a8: 46065280 */ add.s $f10,$f10,$f6 -.L0f1510ac: -/* f1510ac: 46145402 */ mul.s $f16,$f10,$f20 -/* f1510b0: 3c013f00 */ lui $at,0x3f00 -/* f1510b4: 44812000 */ mtc1 $at,$f4 -/* f1510b8: 3c013f80 */ lui $at,0x3f80 -/* f1510bc: 44814000 */ mtc1 $at,$f8 -/* f1510c0: 8e8e0000 */ lw $t6,0x0($s4) -/* f1510c4: 8eaa0000 */ lw $t2,0x0($s5) -/* f1510c8: 46048482 */ mul.s $f18,$f16,$f4 -/* f1510cc: 46089180 */ add.s $f6,$f18,$f8 -/* f1510d0: 01d60019 */ multu $t6,$s6 -/* f1510d4: 46003282 */ mul.s $f10,$f6,$f0 -/* f1510d8: 4600540d */ trunc.w.s $f16,$f10 -/* f1510dc: 00007812 */ mflo $t7 -/* f1510e0: 014f6821 */ addu $t5,$t2,$t7 -/* f1510e4: 44188000 */ mfc1 $t8,$f16 -/* f1510e8: 00000000 */ nop -/* f1510ec: a5b80046 */ sh $t8,0x46($t5) -/* f1510f0: 0c004b70 */ jal random -/* f1510f4: e7a00044 */ swc1 $f0,0x44($sp) -/* f1510f8: 44822000 */ mtc1 $v0,$f4 -/* f1510fc: 04410005 */ bgez $v0,.L0f151114 -/* f151100: 468024a0 */ cvt.s.w $f18,$f4 -/* f151104: 3c014f80 */ lui $at,0x4f80 -/* f151108: 44814000 */ mtc1 $at,$f8 -/* f15110c: 00000000 */ nop -/* f151110: 46089480 */ add.s $f18,$f18,$f8 -.L0f151114: -/* f151114: 46149182 */ mul.s $f6,$f18,$f20 -/* f151118: 3c013f00 */ lui $at,0x3f00 -/* f15111c: 44815000 */ mtc1 $at,$f10 -/* f151120: 3c013f80 */ lui $at,0x3f80 -/* f151124: 44812000 */ mtc1 $at,$f4 -/* f151128: c7b20044 */ lwc1 $f18,0x44($sp) -/* f15112c: 8e890000 */ lw $t1,0x0($s4) -/* f151130: 460a3402 */ mul.s $f16,$f6,$f10 -/* f151134: 8eb90000 */ lw $t9,0x0($s5) -/* f151138: 01360019 */ multu $t1,$s6 -/* f15113c: 46048200 */ add.s $f8,$f16,$f4 -/* f151140: 46124182 */ mul.s $f6,$f8,$f18 -/* f151144: 00005812 */ mflo $t3 -/* f151148: 032b7021 */ addu $t6,$t9,$t3 -/* f15114c: 4600328d */ trunc.w.s $f10,$f6 -/* f151150: 44085000 */ mfc1 $t0,$f10 -/* f151154: 0c004b70 */ jal random -/* f151158: a5c80050 */ sh $t0,0x50($t6) -/* f15115c: 44828000 */ mtc1 $v0,$f16 -/* f151160: 04410005 */ bgez $v0,.L0f151178 -/* f151164: 46808120 */ cvt.s.w $f4,$f16 -/* f151168: 3c014f80 */ lui $at,0x4f80 -/* f15116c: 44814000 */ mtc1 $at,$f8 -/* f151170: 00000000 */ nop -/* f151174: 46082100 */ add.s $f4,$f4,$f8 -.L0f151178: -/* f151178: 46142482 */ mul.s $f18,$f4,$f20 -/* f15117c: 3c013f00 */ lui $at,0x3f00 -/* f151180: 44813000 */ mtc1 $at,$f6 -/* f151184: 3c013f80 */ lui $at,0x3f80 -/* f151188: 44818000 */ mtc1 $at,$f16 -/* f15118c: c7a40044 */ lwc1 $f4,0x44($sp) -/* f151190: 8e8d0000 */ lw $t5,0x0($s4) -/* f151194: 46069282 */ mul.s $f10,$f18,$f6 -/* f151198: 8eb80000 */ lw $t8,0x0($s5) -/* f15119c: 01b60019 */ multu $t5,$s6 -/* f1511a0: 00001825 */ or $v1,$zero,$zero -/* f1511a4: 00002025 */ or $a0,$zero,$zero -/* f1511a8: 2402000c */ addiu $v0,$zero,0xc -/* f1511ac: 24010002 */ addiu $at,$zero,0x2 -/* f1511b0: 46105200 */ add.s $f8,$f10,$f16 -/* f1511b4: 46044482 */ mul.s $f18,$f8,$f4 -/* f1511b8: 00006012 */ mflo $t4 -/* f1511bc: 030c4821 */ addu $t1,$t8,$t4 -/* f1511c0: 4600918d */ trunc.w.s $f6,$f18 -/* f1511c4: 440f3000 */ mfc1 $t7,$f6 -/* f1511c8: 00000000 */ nop -/* f1511cc: a52f0052 */ sh $t7,0x52($t1) -.L0f1511d0: -/* f1511d0: 8e8b0000 */ lw $t3,0x0($s4) -/* f1511d4: 8eb90000 */ lw $t9,0x0($s5) -/* f1511d8: 000b40c0 */ sll $t0,$t3,0x3 -/* f1511dc: 010b4023 */ subu $t0,$t0,$t3 -/* f1511e0: 00084080 */ sll $t0,$t0,0x2 -/* f1511e4: 010b4023 */ subu $t0,$t0,$t3 -/* f1511e8: 00084080 */ sll $t0,$t0,0x2 -/* f1511ec: 03287021 */ addu $t6,$t9,$t0 -/* f1511f0: 01c35021 */ addu $t2,$t6,$v1 -/* f1511f4: a540003c */ sh $zero,0x3c($t2) -/* f1511f8: 8e980000 */ lw $t8,0x0($s4) -/* f1511fc: 8ead0000 */ lw $t5,0x0($s5) -/* f151200: 001860c0 */ sll $t4,$t8,0x3 -/* f151204: 01986023 */ subu $t4,$t4,$t8 -/* f151208: 000c6080 */ sll $t4,$t4,0x2 -/* f15120c: 01986023 */ subu $t4,$t4,$t8 -/* f151210: 000c6080 */ sll $t4,$t4,0x2 -/* f151214: 01ac7821 */ addu $t7,$t5,$t4 -/* f151218: 01e34821 */ addu $t1,$t7,$v1 -/* f15121c: a5200040 */ sh $zero,0x40($t1) -/* f151220: 8e990000 */ lw $t9,0x0($s4) -/* f151224: 8eab0000 */ lw $t3,0x0($s5) -/* f151228: 001940c0 */ sll $t0,$t9,0x3 -/* f15122c: 01194023 */ subu $t0,$t0,$t9 -/* f151230: 00084080 */ sll $t0,$t0,0x2 -/* f151234: 01194023 */ subu $t0,$t0,$t9 -/* f151238: 00084080 */ sll $t0,$t0,0x2 -/* f15123c: 01687021 */ addu $t6,$t3,$t0 -/* f151240: 01c35021 */ addu $t2,$t6,$v1 -/* f151244: a5400042 */ sh $zero,0x42($t2) -/* f151248: 8e8d0000 */ lw $t5,0x0($s4) -/* f15124c: 8eb80000 */ lw $t8,0x0($s5) -/* f151250: 000d60c0 */ sll $t4,$t5,0x3 -/* f151254: 018d6023 */ subu $t4,$t4,$t5 -/* f151258: 000c6080 */ sll $t4,$t4,0x2 -/* f15125c: 018d6023 */ subu $t4,$t4,$t5 -/* f151260: 000c6080 */ sll $t4,$t4,0x2 -/* f151264: 030c7821 */ addu $t7,$t8,$t4 -/* f151268: 01e34821 */ addu $t1,$t7,$v1 -/* f15126c: a124003f */ sb $a0,0x3f($t1) -/* f151270: 24840004 */ addiu $a0,$a0,0x4 -/* f151274: 1482ffd6 */ bne $a0,$v0,.L0f1511d0 -/* f151278: 2463000c */ addiu $v1,$v1,0xc -/* f15127c: 56410067 */ bnel $s2,$at,.L0f15141c -/* f151280: 8e8b0000 */ lw $t3,0x0($s4) -/* f151284: 0c004b70 */ jal random -/* f151288: 00000000 */ nop -/* f15128c: 24010064 */ addiu $at,$zero,0x64 -/* f151290: 0041001b */ divu $zero,$v0,$at -/* f151294: 00001810 */ mfhi $v1 -/* f151298: 28610014 */ slti $at,$v1,0x14 -/* f15129c: 5020001b */ beqzl $at,.L0f15130c -/* f1512a0: 28610028 */ slti $at,$v1,0x28 -/* f1512a4: 8e880000 */ lw $t0,0x0($s4) -/* f1512a8: 8eab0000 */ lw $t3,0x0($s5) -/* f1512ac: 3c19bbbb */ lui $t9,0xbbbb -/* f1512b0: 01160019 */ multu $t0,$s6 -/* f1512b4: 3739bbf0 */ ori $t9,$t9,0xbbf0 -/* f1512b8: 3c0daaaa */ lui $t5,0xaaaa -/* f1512bc: 35adaaf0 */ ori $t5,$t5,0xaaf0 -/* f1512c0: 3c087777 */ lui $t0,0x7777 -/* f1512c4: 350877f0 */ ori $t0,$t0,0x77f0 -/* f1512c8: 00007012 */ mflo $t6 -/* f1512cc: 016e5021 */ addu $t2,$t3,$t6 -/* f1512d0: ad59005c */ sw $t9,0x5c($t2) -/* f1512d4: 8e8c0000 */ lw $t4,0x0($s4) -/* f1512d8: 8eb80000 */ lw $t8,0x0($s5) -/* f1512dc: 01960019 */ multu $t4,$s6 -/* f1512e0: 00007812 */ mflo $t7 -/* f1512e4: 030f4821 */ addu $t1,$t8,$t7 -/* f1512e8: ad2d0060 */ sw $t5,0x60($t1) -/* f1512ec: 8e8e0000 */ lw $t6,0x0($s4) -/* f1512f0: 8eab0000 */ lw $t3,0x0($s5) -/* f1512f4: 01d60019 */ multu $t6,$s6 -/* f1512f8: 0000c812 */ mflo $t9 -/* f1512fc: 01795021 */ addu $t2,$t3,$t9 -/* f151300: 100000ae */ b .L0f1515bc -/* f151304: ad480064 */ sw $t0,0x64($t2) -/* f151308: 28610028 */ slti $at,$v1,0x28 -.L0f15130c: -/* f15130c: 50200016 */ beqzl $at,.L0f151368 -/* f151310: 2861003c */ slti $at,$v1,0x3c -/* f151314: 8e980000 */ lw $t8,0x0($s4) -/* f151318: 8eac0000 */ lw $t4,0x0($s5) -/* f15131c: 240200f0 */ addiu $v0,$zero,0xf0 -/* f151320: 03160019 */ multu $t8,$s6 -/* f151324: 00007812 */ mflo $t7 -/* f151328: 018f6821 */ addu $t5,$t4,$t7 -/* f15132c: ada2005c */ sw $v0,0x5c($t5) -/* f151330: 8e8e0000 */ lw $t6,0x0($s4) -/* f151334: 8ea90000 */ lw $t1,0x0($s5) -/* f151338: 01d60019 */ multu $t6,$s6 -/* f15133c: 00005812 */ mflo $t3 -/* f151340: 012bc821 */ addu $t9,$t1,$t3 -/* f151344: af220060 */ sw $v0,0x60($t9) -/* f151348: 8e8a0000 */ lw $t2,0x0($s4) -/* f15134c: 8ea80000 */ lw $t0,0x0($s5) -/* f151350: 01560019 */ multu $t2,$s6 -/* f151354: 0000c012 */ mflo $t8 -/* f151358: 01186021 */ addu $t4,$t0,$t8 -/* f15135c: 10000097 */ b .L0f1515bc -/* f151360: ad820064 */ sw $v0,0x64($t4) -/* f151364: 2861003c */ slti $at,$v1,0x3c -.L0f151368: -/* f151368: 50200017 */ beqzl $at,.L0f1513c8 -/* f15136c: 8e890000 */ lw $t1,0x0($s4) -/* f151370: 8e8d0000 */ lw $t5,0x0($s4) -/* f151374: 8eaf0000 */ lw $t7,0x0($s5) -/* f151378: 3c025533 */ lui $v0,0x5533 -/* f15137c: 01b60019 */ multu $t5,$s6 -/* f151380: 344211f0 */ ori $v0,$v0,0x11f0 -/* f151384: 00007012 */ mflo $t6 -/* f151388: 01ee4821 */ addu $t1,$t7,$t6 -/* f15138c: ad22005c */ sw $v0,0x5c($t1) -/* f151390: 8e990000 */ lw $t9,0x0($s4) -/* f151394: 8eab0000 */ lw $t3,0x0($s5) -/* f151398: 03360019 */ multu $t9,$s6 -/* f15139c: 00005012 */ mflo $t2 -/* f1513a0: 016a4021 */ addu $t0,$t3,$t2 -/* f1513a4: ad020060 */ sw $v0,0x60($t0) -/* f1513a8: 8e8c0000 */ lw $t4,0x0($s4) -/* f1513ac: 8eb80000 */ lw $t8,0x0($s5) -/* f1513b0: 01960019 */ multu $t4,$s6 -/* f1513b4: 00006812 */ mflo $t5 -/* f1513b8: 030d7821 */ addu $t7,$t8,$t5 -/* f1513bc: 1000007f */ b .L0f1515bc -/* f1513c0: ade20064 */ sw $v0,0x64($t7) -/* f1513c4: 8e890000 */ lw $t1,0x0($s4) -.L0f1513c8: -/* f1513c8: 8eae0000 */ lw $t6,0x0($s5) -/* f1513cc: 3c02ddaa */ lui $v0,0xddaa -/* f1513d0: 01360019 */ multu $t1,$s6 -/* f1513d4: 344288f0 */ ori $v0,$v0,0x88f0 -/* f1513d8: 0000c812 */ mflo $t9 -/* f1513dc: 01d95821 */ addu $t3,$t6,$t9 -/* f1513e0: ad62005c */ sw $v0,0x5c($t3) -/* f1513e4: 8e880000 */ lw $t0,0x0($s4) -/* f1513e8: 8eaa0000 */ lw $t2,0x0($s5) -/* f1513ec: 01160019 */ multu $t0,$s6 -/* f1513f0: 00006012 */ mflo $t4 -/* f1513f4: 014cc021 */ addu $t8,$t2,$t4 -/* f1513f8: af020060 */ sw $v0,0x60($t8) -/* f1513fc: 8e8f0000 */ lw $t7,0x0($s4) -/* f151400: 8ead0000 */ lw $t5,0x0($s5) -/* f151404: 01f60019 */ multu $t7,$s6 -/* f151408: 00004812 */ mflo $t1 -/* f15140c: 01a97021 */ addu $t6,$t5,$t1 -/* f151410: 1000006a */ b .L0f1515bc -/* f151414: adc20064 */ sw $v0,0x64($t6) -/* f151418: 8e8b0000 */ lw $t3,0x0($s4) -.L0f15141c: -/* f15141c: 8eb90000 */ lw $t9,0x0($s5) -/* f151420: 24020005 */ addiu $v0,$zero,0x5 -/* f151424: 01760019 */ multu $t3,$s6 -/* f151428: 2403007e */ addiu $v1,$zero,0x7e -/* f15142c: 240400fb */ addiu $a0,$zero,0xfb -/* f151430: 00009025 */ or $s2,$zero,$zero -/* f151434: 241300ff */ addiu $s3,$zero,0xff -/* f151438: 24110003 */ addiu $s1,$zero,0x3 -/* f15143c: 00004012 */ mflo $t0 -/* f151440: 03285021 */ addu $t2,$t9,$t0 -/* f151444: a142005c */ sb $v0,0x5c($t2) -/* f151448: 8e980000 */ lw $t8,0x0($s4) -/* f15144c: 8eac0000 */ lw $t4,0x0($s5) -/* f151450: 03160019 */ multu $t8,$s6 -/* f151454: 00007812 */ mflo $t7 -/* f151458: 018f6821 */ addu $t5,$t4,$t7 -/* f15145c: a1a2005d */ sb $v0,0x5d($t5) -/* f151460: 8e8e0000 */ lw $t6,0x0($s4) -/* f151464: 8ea90000 */ lw $t1,0x0($s5) -/* f151468: 01d60019 */ multu $t6,$s6 -/* f15146c: 00005812 */ mflo $t3 -/* f151470: 012bc821 */ addu $t9,$t1,$t3 -/* f151474: a323005e */ sb $v1,0x5e($t9) -/* f151478: 8e8a0000 */ lw $t2,0x0($s4) -/* f15147c: 8ea80000 */ lw $t0,0x0($s5) -/* f151480: 01560019 */ multu $t2,$s6 -/* f151484: 0000c012 */ mflo $t8 -/* f151488: 01186021 */ addu $t4,$t0,$t8 -/* f15148c: a1820060 */ sb $v0,0x60($t4) -/* f151490: 8e8d0000 */ lw $t5,0x0($s4) -/* f151494: 8eaf0000 */ lw $t7,0x0($s5) -/* f151498: 01b60019 */ multu $t5,$s6 -/* f15149c: 00007012 */ mflo $t6 -/* f1514a0: 01ee4821 */ addu $t1,$t7,$t6 -/* f1514a4: a1240061 */ sb $a0,0x61($t1) -/* f1514a8: 8e990000 */ lw $t9,0x0($s4) -/* f1514ac: 8eab0000 */ lw $t3,0x0($s5) -/* f1514b0: 03360019 */ multu $t9,$s6 -/* f1514b4: 00005012 */ mflo $t2 -/* f1514b8: 016a4021 */ addu $t0,$t3,$t2 -/* f1514bc: a1030062 */ sb $v1,0x62($t0) -/* f1514c0: 8e8c0000 */ lw $t4,0x0($s4) -/* f1514c4: 8eb80000 */ lw $t8,0x0($s5) -/* f1514c8: 01960019 */ multu $t4,$s6 -/* f1514cc: 00006812 */ mflo $t5 -/* f1514d0: 030d7821 */ addu $t7,$t8,$t5 -/* f1514d4: a1e40064 */ sb $a0,0x64($t7) -/* f1514d8: 8e890000 */ lw $t1,0x0($s4) -/* f1514dc: 8eae0000 */ lw $t6,0x0($s5) -/* f1514e0: 01360019 */ multu $t1,$s6 -/* f1514e4: 0000c812 */ mflo $t9 -/* f1514e8: 01d95821 */ addu $t3,$t6,$t9 -/* f1514ec: a1640065 */ sb $a0,0x65($t3) -/* f1514f0: 8e880000 */ lw $t0,0x0($s4) -/* f1514f4: 8eaa0000 */ lw $t2,0x0($s5) -/* f1514f8: 01160019 */ multu $t0,$s6 -/* f1514fc: 00006012 */ mflo $t4 -/* f151500: 014cc021 */ addu $t8,$t2,$t4 -/* f151504: a3030066 */ sb $v1,0x66($t8) -/* f151508: 00008025 */ or $s0,$zero,$zero -.L0f15150c: -/* f15150c: 0c004b70 */ jal random -/* f151510: 00000000 */ nop -/* f151514: 0053001b */ divu $zero,$v0,$s3 -/* f151518: 8e890000 */ lw $t1,0x0($s4) -/* f15151c: 8eaf0000 */ lw $t7,0x0($s5) -/* f151520: 00125880 */ sll $t3,$s2,0x2 -/* f151524: 000970c0 */ sll $t6,$t1,0x3 -/* f151528: 01c97023 */ subu $t6,$t6,$t1 -/* f15152c: 000e7080 */ sll $t6,$t6,0x2 -/* f151530: 01c97023 */ subu $t6,$t6,$t1 -/* f151534: 000e7080 */ sll $t6,$t6,0x2 -/* f151538: 01eec821 */ addu $t9,$t7,$t6 -/* f15153c: 032b4021 */ addu $t0,$t9,$t3 -/* f151540: 01105021 */ addu $t2,$t0,$s0 -/* f151544: 26100001 */ addiu $s0,$s0,0x1 -/* f151548: 00006810 */ mfhi $t5 -/* f15154c: a14d005c */ sb $t5,0x5c($t2) -/* f151550: 16600002 */ bnez $s3,.L0f15155c -/* f151554: 00000000 */ nop -/* f151558: 0007000d */ break 0x7 -.L0f15155c: -/* f15155c: 1611ffeb */ bne $s0,$s1,.L0f15150c -/* f151560: 00000000 */ nop -/* f151564: 26520001 */ addiu $s2,$s2,0x1 -/* f151568: 5651ffe8 */ bnel $s2,$s1,.L0f15150c -/* f15156c: 00008025 */ or $s0,$zero,$zero -/* f151570: 8e980000 */ lw $t8,0x0($s4) -/* f151574: 8eac0000 */ lw $t4,0x0($s5) -/* f151578: 03160019 */ multu $t8,$s6 -/* f15157c: 00004812 */ mflo $t1 -/* f151580: 01897821 */ addu $t7,$t4,$t1 -/* f151584: a1f30067 */ sb $s3,0x67($t7) -/* f151588: 8e990000 */ lw $t9,0x0($s4) -/* f15158c: 8eae0000 */ lw $t6,0x0($s5) -/* f151590: 03360019 */ multu $t9,$s6 -/* f151594: 00005812 */ mflo $t3 -/* f151598: 01cb1021 */ addu $v0,$t6,$t3 -/* f15159c: 90430067 */ lbu $v1,0x67($v0) -/* f1515a0: a0430063 */ sb $v1,0x63($v0) -/* f1515a4: 8e8d0000 */ lw $t5,0x0($s4) -/* f1515a8: 8ea80000 */ lw $t0,0x0($s5) -/* f1515ac: 01b60019 */ multu $t5,$s6 -/* f1515b0: 00005012 */ mflo $t2 -/* f1515b4: 010ac021 */ addu $t8,$t0,$t2 -/* f1515b8: a303005f */ sb $v1,0x5f($t8) -.L0f1515bc: -/* f1515bc: 8e890000 */ lw $t1,0x0($s4) -/* f1515c0: 8eac0000 */ lw $t4,0x0($s5) -/* f1515c4: c7aa0070 */ lwc1 $f10,0x70($sp) -/* f1515c8: 01360019 */ multu $t1,$s6 -/* f1515cc: 44808000 */ mtc1 $zero,$f16 -/* f1515d0: 00007812 */ mflo $t7 -/* f1515d4: 018fc821 */ addu $t9,$t4,$t7 -/* f1515d8: e72a0014 */ swc1 $f10,0x14($t9) -/* f1515dc: 8e8b0000 */ lw $t3,0x0($s4) -/* f1515e0: 8eae0000 */ lw $t6,0x0($s5) -/* f1515e4: 01760019 */ multu $t3,$s6 -/* f1515e8: 00006812 */ mflo $t5 -/* f1515ec: 01cd4021 */ addu $t0,$t6,$t5 -/* f1515f0: 0c004b70 */ jal random -/* f1515f4: e5100018 */ swc1 $f16,0x18($t0) -/* f1515f8: 44824000 */ mtc1 $v0,$f8 -/* f1515fc: 3c014f80 */ lui $at,0x4f80 -/* f151600: 04410004 */ bgez $v0,.L0f151614 -/* f151604: 46804120 */ cvt.s.w $f4,$f8 -/* f151608: 44819000 */ mtc1 $at,$f18 -/* f15160c: 00000000 */ nop -/* f151610: 46122100 */ add.s $f4,$f4,$f18 -.L0f151614: -/* f151614: 8e980000 */ lw $t8,0x0($s4) -/* f151618: 46142182 */ mul.s $f6,$f4,$f20 -/* f15161c: 3c017f1b */ lui $at,%hi(var7f1b7380) -/* f151620: 03160019 */ multu $t8,$s6 -/* f151624: c42a7380 */ lwc1 $f10,%lo(var7f1b7380)($at) -/* f151628: 8eaa0000 */ lw $t2,0x0($s5) -/* f15162c: 460a3402 */ mul.s $f16,$f6,$f10 -/* f151630: 00004812 */ mflo $t1 -/* f151634: 01496021 */ addu $t4,$t2,$t1 -/* f151638: 0c004b70 */ jal random -/* f15163c: e590001c */ swc1 $f16,0x1c($t4) -/* f151640: 44824000 */ mtc1 $v0,$f8 -/* f151644: 3c014f80 */ lui $at,0x4f80 -/* f151648: 04410004 */ bgez $v0,.L0f15165c -/* f15164c: 468044a0 */ cvt.s.w $f18,$f8 -/* f151650: 44812000 */ mtc1 $at,$f4 -/* f151654: 00000000 */ nop -/* f151658: 46049480 */ add.s $f18,$f18,$f4 -.L0f15165c: -/* f15165c: 8e990000 */ lw $t9,0x0($s4) -/* f151660: 46149182 */ mul.s $f6,$f18,$f20 -/* f151664: 3c017f1b */ lui $at,%hi(var7f1b7384) -/* f151668: 03360019 */ multu $t9,$s6 -/* f15166c: c42a7384 */ lwc1 $f10,%lo(var7f1b7384)($at) -/* f151670: 8eaf0000 */ lw $t7,0x0($s5) -/* f151674: 460a3402 */ mul.s $f16,$f6,$f10 -/* f151678: 00005812 */ mflo $t3 -/* f15167c: 01eb7021 */ addu $t6,$t7,$t3 -/* f151680: 0c004b70 */ jal random -/* f151684: e5d0002c */ swc1 $f16,0x2c($t6) -/* f151688: 44824000 */ mtc1 $v0,$f8 -/* f15168c: 3c014f80 */ lui $at,0x4f80 -/* f151690: 04410004 */ bgez $v0,.L0f1516a4 -/* f151694: 46804120 */ cvt.s.w $f4,$f8 -/* f151698: 44819000 */ mtc1 $at,$f18 -/* f15169c: 00000000 */ nop -/* f1516a0: 46122100 */ add.s $f4,$f4,$f18 -.L0f1516a4: -/* f1516a4: 8e880000 */ lw $t0,0x0($s4) -/* f1516a8: 46142182 */ mul.s $f6,$f4,$f20 -/* f1516ac: 3c017f1b */ lui $at,%hi(var7f1b7388) -/* f1516b0: 01160019 */ multu $t0,$s6 -/* f1516b4: c42a7388 */ lwc1 $f10,%lo(var7f1b7388)($at) -/* f1516b8: 8ead0000 */ lw $t5,0x0($s5) -/* f1516bc: 460a3402 */ mul.s $f16,$f6,$f10 -/* f1516c0: 0000c012 */ mflo $t8 -/* f1516c4: 01b85021 */ addu $t2,$t5,$t8 -/* f1516c8: 0c004b70 */ jal random -/* f1516cc: e5500030 */ swc1 $f16,0x30($t2) -/* f1516d0: 44824000 */ mtc1 $v0,$f8 -/* f1516d4: 3c014f80 */ lui $at,0x4f80 -/* f1516d8: 04410004 */ bgez $v0,.L0f1516ec -/* f1516dc: 468044a0 */ cvt.s.w $f18,$f8 -/* f1516e0: 44812000 */ mtc1 $at,$f4 -/* f1516e4: 00000000 */ nop -/* f1516e8: 46049480 */ add.s $f18,$f18,$f4 -.L0f1516ec: -/* f1516ec: 8e8c0000 */ lw $t4,0x0($s4) -/* f1516f0: 46149182 */ mul.s $f6,$f18,$f20 -/* f1516f4: 3c017f1b */ lui $at,%hi(var7f1b738c) -/* f1516f8: 01960019 */ multu $t4,$s6 -/* f1516fc: c42a738c */ lwc1 $f10,%lo(var7f1b738c)($at) -/* f151700: 8ea90000 */ lw $t1,0x0($s5) -/* f151704: 3c0d800a */ lui $t5,%hi(g_MaxShards) -/* f151708: 3c028008 */ lui $v0,%hi(g_ShardsActive) -/* f15170c: 460a3402 */ mul.s $f16,$f6,$f10 -/* f151710: 2442fa84 */ addiu $v0,$v0,%lo(g_ShardsActive) -/* f151714: 240a0001 */ addiu $t2,$zero,0x1 -/* f151718: 0000c812 */ mflo $t9 -/* f15171c: 01397821 */ addu $t7,$t1,$t9 -/* f151720: e5f00034 */ swc1 $f16,0x34($t7) -/* f151724: 8e8b0000 */ lw $t3,0x0($s4) -/* f151728: 256e0001 */ addiu $t6,$t3,0x1 -/* f15172c: ae8e0000 */ sw $t6,0x0($s4) -/* f151730: 8dad45c0 */ lw $t5,%lo(g_MaxShards)($t5) -/* f151734: 01cd082a */ slt $at,$t6,$t5 -/* f151738: 54200003 */ bnezl $at,.L0f151748 -/* f15173c: 8c580000 */ lw $t8,0x0($v0) -/* f151740: ae800000 */ sw $zero,0x0($s4) -/* f151744: 8c580000 */ lw $t8,0x0($v0) -.L0f151748: -/* f151748: 57000003 */ bnezl $t8,.L0f151758 -/* f15174c: 8fbf003c */ lw $ra,0x3c($sp) -/* f151750: ac4a0000 */ sw $t2,0x0($v0) -/* f151754: 8fbf003c */ lw $ra,0x3c($sp) -.L0f151758: -/* f151758: d7b40018 */ ldc1 $f20,0x18($sp) -/* f15175c: 8fb00020 */ lw $s0,0x20($sp) -/* f151760: 8fb10024 */ lw $s1,0x24($sp) -/* f151764: 8fb20028 */ lw $s2,0x28($sp) -/* f151768: 8fb3002c */ lw $s3,0x2c($sp) -/* f15176c: 8fb40030 */ lw $s4,0x30($sp) -/* f151770: 8fb50034 */ lw $s5,0x34($sp) -/* f151774: 8fb60038 */ lw $s6,0x38($sp) -/* f151778: 03e00008 */ jr $ra -/* f15177c: 27bd0068 */ addiu $sp,$sp,0x68 -); - -GLOBAL_ASM( -glabel func0f151780 +glabel shardsRenderWood /* f151780: 27bdfed0 */ addiu $sp,$sp,-304 /* f151784: 3c0e8008 */ lui $t6,%hi(g_ShardsActive) /* f151788: 8dcefa84 */ lw $t6,%lo(g_ShardsActive)($t6) @@ -1553,8 +521,10 @@ glabel func0f151780 /* f151ecc: 27bd0130 */ addiu $sp,$sp,0x130 ); +Gfx *shardsRenderGlass(Gfx *gdl); + GLOBAL_ASM( -glabel func0f151ed0 +glabel shardsRenderGlass /* f151ed0: 27bdfec0 */ addiu $sp,$sp,-320 /* f151ed4: 3c0e8008 */ lui $t6,%hi(g_ShardsActive) /* f151ed8: 8dcefa84 */ lw $t6,%lo(g_ShardsActive)($t6) @@ -2101,10 +1071,10 @@ glabel func0f151ed0 /* f1526e0: 27bd0140 */ addiu $sp,$sp,0x140 ); -Gfx *func0f1526e4(Gfx *gdl) +Gfx *shardsRender(Gfx *gdl) { - gdl = func0f151780(gdl); - gdl = func0f151ed0(gdl); + gdl = shardsRenderWood(gdl); + gdl = shardsRenderGlass(gdl); return gdl; } diff --git a/src/game/game_015420.c b/src/game/shards/reset.c similarity index 100% rename from src/game/game_015420.c rename to src/game/shards/reset.c diff --git a/src/game/game_01de30.c b/src/game/shards/tick.c similarity index 100% rename from src/game/game_01de30.c rename to src/game/shards/tick.c diff --git a/src/game/training/training.c b/src/game/training/training.c index 436692549..9edf735c2 100644 --- a/src/game/training/training.c +++ b/src/game/training/training.c @@ -22,7 +22,6 @@ #include "game/game_107fb0.h" #include "game/inventory/inventory.h" #include "game/explosions/explosions.h" -#include "game/game_150820.h" #include "game/game_1531a0.h" #include "game/room.h" #include "game/training/menus.h" @@ -2869,7 +2868,7 @@ glabel var7f1b94e4 /* f1a01c4: c5060010 */ lwc1 $f6,0x10($t0) /* f1a01c8: afb10024 */ sw $s1,0x24($sp) /* f1a01cc: afae0020 */ sw $t6,0x20($sp) -/* f1a01d0: 0fc54208 */ jal func0f150820 +/* f1a01d0: 0fc54208 */ jal shardsCreate /* f1a01d4: e7a6001c */ swc1 $f6,0x1c($sp) /* f1a01d8: 92af0455 */ lbu $t7,0x455($s5) /* f1a01dc: 24070005 */ addiu $a3,$zero,0x5 @@ -3659,7 +3658,7 @@ glabel var7f1b94e4 // if (g_FrNumSounds); // // // 1d0 -// func0f150820(&prop->pos, &obj->realrot[0], &obj->realrot[3], &obj->realrot[6], +// shardsCreate(&prop->pos, &obj->realrot[0], &obj->realrot[3], &obj->realrot[6], // model08thing->unk04[0], model08thing->unk04[1], model08thing->unk04[2], // model08thing->unk04[3], 2, prop); // diff --git a/src/include/game/game_013550.h b/src/include/game/game_013550.h index bea040205..944d78cf9 100644 --- a/src/include/game/game_013550.h +++ b/src/include/game/game_013550.h @@ -3,9 +3,6 @@ #include #include "types.h" -u32 func0f013550(void); -void shardsInit(void); -void func0f013b80(void); -void func0f013ba0(void); +void func0f013550(void); #endif diff --git a/src/include/game/game_013b80.h b/src/include/game/game_013b80.h new file mode 100644 index 000000000..e469985cd --- /dev/null +++ b/src/include/game/game_013b80.h @@ -0,0 +1,9 @@ +#ifndef _IN_GAME_GAME_013B80_H +#define _IN_GAME_GAME_013B80_H +#include +#include "types.h" + +void func0f013b80(void); +void func0f013ba0(void); + +#endif diff --git a/src/include/game/game_015420.h b/src/include/game/game_015420.h deleted file mode 100644 index 8160315e8..000000000 --- a/src/include/game/game_015420.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef IN_GAME_GAME_015420_H -#define IN_GAME_GAME_015420_H -#include -#include "types.h" - -u32 shardsReset(void); - -#endif diff --git a/src/include/game/game_01de30.h b/src/include/game/game_01de30.h deleted file mode 100644 index f81096379..000000000 --- a/src/include/game/game_01de30.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _IN_GAME_GAME_01DE30_H -#define _IN_GAME_GAME_01DE30_H -#include -#include "types.h" - -void shardsTick(void); - -#endif diff --git a/src/include/game/game_150820.h b/src/include/game/game_150820.h deleted file mode 100644 index d4c20b576..000000000 --- a/src/include/game/game_150820.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef IN_GAME_GAME_150820_H -#define IN_GAME_GAME_150820_H -#include -#include "types.h" - -u16 func0f150820(struct coord *pos, f32 *rotx, f32 *roty, f32 *rotz, f32 arg4, f32 arg5, f32 arg6, f32 arg7, u32 arg8, struct prop *prop); -u32 func0f150d38(void); -Gfx *func0f151780(Gfx *gdl); -Gfx *func0f151ed0(Gfx *gdl); -Gfx *func0f1526e4(Gfx *gdl); - -#endif diff --git a/src/include/game/shards.h b/src/include/game/shards.h new file mode 100644 index 000000000..9e30bc610 --- /dev/null +++ b/src/include/game/shards.h @@ -0,0 +1,12 @@ +#ifndef IN_GAME_SHARDS_H +#define IN_GAME_SHARDS_H +#include +#include "types.h" + +u16 shardsCreate(struct coord *pos, f32 *rotx, f32 *roty, f32 *rotz, f32 arg4, f32 arg5, f32 arg6, f32 arg7, u32 arg8, struct prop *prop); +void shardsInit(void); +Gfx *shardsRender(Gfx *gdl); +void shardsReset(void); +void shardsTick(void); + +#endif