mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-11 14:08:37 -04:00
Decompile starsReset
This commit is contained in:
+37
-592
@@ -92,562 +92,24 @@ void starInsert(s32 index, struct coord *arg1)
|
||||
}
|
||||
}
|
||||
|
||||
#if MATCHING
|
||||
GLOBAL_ASM(
|
||||
glabel starsReset
|
||||
/* f1360e8: 27bdff18 */ addiu $sp,$sp,-232
|
||||
/* f1360ec: 3c05800a */ lui $a1,%hi(g_Vars)
|
||||
/* f1360f0: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars)
|
||||
/* f1360f4: 8cae006c */ lw $t6,0x6c($a1)
|
||||
/* f1360f8: afb00044 */ sw $s0,0x44($sp)
|
||||
/* f1360fc: 3c108008 */ lui $s0,%hi(g_StarPositions)
|
||||
/* f136100: 2610f120 */ addiu $s0,$s0,%lo(g_StarPositions)
|
||||
/* f136104: afbf004c */ sw $ra,0x4c($sp)
|
||||
/* f136108: afb10048 */ sw $s1,0x48($sp)
|
||||
/* f13610c: f7be0038 */ sdc1 $f30,0x38($sp)
|
||||
/* f136110: f7bc0030 */ sdc1 $f28,0x30($sp)
|
||||
/* f136114: f7ba0028 */ sdc1 $f26,0x28($sp)
|
||||
/* f136118: f7b80020 */ sdc1 $f24,0x20($sp)
|
||||
/* f13611c: f7b60018 */ sdc1 $f22,0x18($sp)
|
||||
/* f136120: f7b40010 */ sdc1 $f20,0x10($sp)
|
||||
/* f136124: 11c00003 */ beqz $t6,.L0f136134
|
||||
/* f136128: ae000000 */ sw $zero,0x0($s0)
|
||||
/* f13612c: 10000002 */ b .L0f136138
|
||||
/* f136130: 24060001 */ addiu $a2,$zero,0x1
|
||||
.L0f136134:
|
||||
/* f136134: 00003025 */ or $a2,$zero,$zero
|
||||
.L0f136138:
|
||||
/* f136138: 8caf0068 */ lw $t7,0x68($a1)
|
||||
/* f13613c: 00001825 */ or $v1,$zero,$zero
|
||||
/* f136140: 00002025 */ or $a0,$zero,$zero
|
||||
/* f136144: 11e00003 */ beqz $t7,.L0f136154
|
||||
/* f136148: 00001025 */ or $v0,$zero,$zero
|
||||
/* f13614c: 10000001 */ b .L0f136154
|
||||
/* f136150: 24030001 */ addiu $v1,$zero,0x1
|
||||
.L0f136154:
|
||||
/* f136154: 8cb80064 */ lw $t8,0x64($a1)
|
||||
/* f136158: 3c088008 */ lui $t0,%hi(g_StarsBelowHorizon)
|
||||
/* f13615c: 2508f124 */ addiu $t0,$t0,%lo(g_StarsBelowHorizon)
|
||||
/* f136160: 13000003 */ beqz $t8,.L0f136170
|
||||
/* f136164: 240c0003 */ addiu $t4,$zero,0x3
|
||||
/* f136168: 10000001 */ b .L0f136170
|
||||
/* f13616c: 24040001 */ addiu $a0,$zero,0x1
|
||||
.L0f136170:
|
||||
/* f136170: 8cb90070 */ lw $t9,0x70($a1)
|
||||
/* f136174: 13200003 */ beqz $t9,.L0f136184
|
||||
/* f136178: 00000000 */ nop
|
||||
/* f13617c: 10000001 */ b .L0f136184
|
||||
/* f136180: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f136184:
|
||||
/* f136184: 00444821 */ addu $t1,$v0,$a0
|
||||
/* f136188: 01235021 */ addu $t2,$t1,$v1
|
||||
/* f13618c: 01465821 */ addu $t3,$t2,$a2
|
||||
/* f136190: 29610002 */ slti $at,$t3,0x2
|
||||
/* f136194: 102001ae */ beqz $at,.L0f136850
|
||||
/* f136198: 3c03800a */ lui $v1,%hi(g_StarGridSize)
|
||||
/* f13619c: 8ca204b4 */ lw $v0,0x4b4($a1)
|
||||
/* f1361a0: 24634158 */ addiu $v1,$v1,%lo(g_StarGridSize)
|
||||
/* f1361a4: 2401004e */ addiu $at,$zero,0x4e
|
||||
/* f1361a8: ad000000 */ sw $zero,0x0($t0)
|
||||
/* f1361ac: 14410007 */ bne $v0,$at,.L0f1361cc
|
||||
/* f1361b0: ac6c0000 */ sw $t4,0x0($v1)
|
||||
/* f1361b4: 240d0001 */ addiu $t5,$zero,0x1
|
||||
/* f1361b8: ad0d0000 */ sw $t5,0x0($t0)
|
||||
/* f1361bc: 240e0640 */ addiu $t6,$zero,0x640
|
||||
/* f1361c0: 3c01800a */ lui $at,%hi(g_StarCount)
|
||||
/* f1361c4: 10000018 */ b .L0f136228
|
||||
/* f1361c8: ac2e4150 */ sw $t6,%lo(g_StarCount)($at)
|
||||
.L0f1361cc:
|
||||
/* f1361cc: 24010030 */ addiu $at,$zero,0x30
|
||||
/* f1361d0: 10410003 */ beq $v0,$at,.L0f1361e0
|
||||
/* f1361d4: 240f00c8 */ addiu $t7,$zero,0xc8
|
||||
/* f1361d8: 24010022 */ addiu $at,$zero,0x22
|
||||
/* f1361dc: 14410005 */ bne $v0,$at,.L0f1361f4
|
||||
.L0f1361e0:
|
||||
/* f1361e0: 3c01800a */ lui $at,%hi(g_StarCount)
|
||||
/* f1361e4: ac2f4150 */ sw $t7,%lo(g_StarCount)($at)
|
||||
/* f1361e8: 24180002 */ addiu $t8,$zero,0x2
|
||||
/* f1361ec: 1000000e */ b .L0f136228
|
||||
/* f1361f0: ac780000 */ sw $t8,0x0($v1)
|
||||
.L0f1361f4:
|
||||
/* f1361f4: 24010034 */ addiu $at,$zero,0x34
|
||||
/* f1361f8: 14410007 */ bne $v0,$at,.L0f136218
|
||||
/* f1361fc: 240a00c8 */ addiu $t2,$zero,0xc8
|
||||
/* f136200: 24190001 */ addiu $t9,$zero,0x1
|
||||
/* f136204: ad190000 */ sw $t9,0x0($t0)
|
||||
/* f136208: 240904b0 */ addiu $t1,$zero,0x4b0
|
||||
/* f13620c: 3c01800a */ lui $at,%hi(g_StarCount)
|
||||
/* f136210: 10000005 */ b .L0f136228
|
||||
/* f136214: ac294150 */ sw $t1,%lo(g_StarCount)($at)
|
||||
.L0f136218:
|
||||
/* f136218: 3c01800a */ lui $at,%hi(g_StarCount)
|
||||
/* f13621c: ac2a4150 */ sw $t2,%lo(g_StarCount)($at)
|
||||
/* f136220: 240b0002 */ addiu $t3,$zero,0x2
|
||||
/* f136224: ac6b0000 */ sw $t3,0x0($v1)
|
||||
.L0f136228:
|
||||
/* f136228: 8c670000 */ lw $a3,0x0($v1)
|
||||
/* f13622c: 24060006 */ addiu $a2,$zero,0x6
|
||||
/* f136230: 3c0c800a */ lui $t4,%hi(g_StarCount)
|
||||
/* f136234: 24e20001 */ addiu $v0,$a3,0x1
|
||||
/* f136238: 000270c0 */ sll $t6,$v0,0x3
|
||||
/* f13623c: 01c27021 */ addu $t6,$t6,$v0
|
||||
/* f136240: 000e70c0 */ sll $t6,$t6,0x3
|
||||
/* f136244: 01c20019 */ multu $t6,$v0
|
||||
/* f136248: 8d8c4150 */ lw $t4,%lo(g_StarCount)($t4)
|
||||
/* f13624c: 24050004 */ addiu $a1,$zero,0x4
|
||||
/* f136250: 000c6880 */ sll $t5,$t4,0x2
|
||||
/* f136254: 01ac6823 */ subu $t5,$t5,$t4
|
||||
/* f136258: 00007812 */ mflo $t7
|
||||
/* f13625c: 01afc021 */ addu $t8,$t5,$t7
|
||||
/* f136260: 00000000 */ nop
|
||||
/* f136264: 00e60019 */ multu $a3,$a2
|
||||
/* f136268: 0000c812 */ mflo $t9
|
||||
/* f13626c: 00000000 */ nop
|
||||
/* f136270: 00000000 */ nop
|
||||
/* f136274: 03270019 */ multu $t9,$a3
|
||||
/* f136278: 00004812 */ mflo $t1
|
||||
/* f13627c: 00095080 */ sll $t2,$t1,0x2
|
||||
/* f136280: 030a2021 */ addu $a0,$t8,$t2
|
||||
/* f136284: 24840043 */ addiu $a0,$a0,0x43
|
||||
/* f136288: 348b003f */ ori $t3,$a0,0x3f
|
||||
/* f13628c: 0c0048f2 */ jal mempAlloc
|
||||
/* f136290: 3964003f */ xori $a0,$t3,0x3f
|
||||
/* f136294: 24060006 */ addiu $a2,$zero,0x6
|
||||
/* f136298: 1040016d */ beqz $v0,.L0f136850
|
||||
/* f13629c: ae020000 */ sw $v0,0x0($s0)
|
||||
/* f1362a0: 3c08800a */ lui $t0,%hi(g_StarGridSize)
|
||||
/* f1362a4: 25084158 */ addiu $t0,$t0,%lo(g_StarGridSize)
|
||||
/* f1362a8: 8d070000 */ lw $a3,0x0($t0)
|
||||
/* f1362ac: 3c0e800a */ lui $t6,%hi(g_StarCount)
|
||||
/* f1362b0: 8dce4150 */ lw $t6,%lo(g_StarCount)($t6)
|
||||
/* f1362b4: 00e60019 */ multu $a3,$a2
|
||||
/* f1362b8: 3c04800a */ lui $a0,%hi(g_StarPosIndexes)
|
||||
/* f1362bc: 000e6880 */ sll $t5,$t6,0x2
|
||||
/* f1362c0: 01ae6823 */ subu $t5,$t5,$t6
|
||||
/* f1362c4: 2484415c */ addiu $a0,$a0,%lo(g_StarPosIndexes)
|
||||
/* f1362c8: 01a27821 */ addu $t7,$t5,$v0
|
||||
/* f1362cc: ac8f0000 */ sw $t7,0x0($a0)
|
||||
/* f1362d0: 00001025 */ or $v0,$zero,$zero
|
||||
/* f1362d4: 00008825 */ or $s1,$zero,$zero
|
||||
/* f1362d8: 0000c812 */ mflo $t9
|
||||
/* f1362dc: 00000000 */ nop
|
||||
/* f1362e0: 00000000 */ nop
|
||||
/* f1362e4: 03270019 */ multu $t9,$a3
|
||||
/* f1362e8: 00001812 */ mflo $v1
|
||||
/* f1362ec: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f1362f0: 58600013 */ blezl $v1,.L0f136340
|
||||
/* f1362f4: 8c8c0000 */ lw $t4,0x0($a0)
|
||||
/* f1362f8: 8c890000 */ lw $t1,0x0($a0)
|
||||
.L0f1362fc:
|
||||
/* f1362fc: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f136300: 0122c021 */ addu $t8,$t1,$v0
|
||||
/* f136304: af000000 */ sw $zero,0x0($t8)
|
||||
/* f136308: 8d070000 */ lw $a3,0x0($t0)
|
||||
/* f13630c: 24420004 */ addiu $v0,$v0,0x4
|
||||
/* f136310: 00e60019 */ multu $a3,$a2
|
||||
/* f136314: 00005012 */ mflo $t2
|
||||
/* f136318: 00000000 */ nop
|
||||
/* f13631c: 00000000 */ nop
|
||||
/* f136320: 01470019 */ multu $t2,$a3
|
||||
/* f136324: 00001812 */ mflo $v1
|
||||
/* f136328: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f13632c: 0223082a */ slt $at,$s1,$v1
|
||||
/* f136330: 5420fff2 */ bnezl $at,.L0f1362fc
|
||||
/* f136334: 8c890000 */ lw $t1,0x0($a0)
|
||||
/* f136338: 00008825 */ or $s1,$zero,$zero
|
||||
/* f13633c: 8c8c0000 */ lw $t4,0x0($a0)
|
||||
.L0f136340:
|
||||
/* f136340: 00035880 */ sll $t3,$v1,0x2
|
||||
/* f136344: 3c01800a */ lui $at,%hi(g_StarData3)
|
||||
/* f136348: 016c7021 */ addu $t6,$t3,$t4
|
||||
/* f13634c: 0fc4d71c */ jal stars0f135c70
|
||||
/* f136350: ac2e4154 */ sw $t6,%lo(g_StarData3)($at)
|
||||
/* f136354: 3c0d800a */ lui $t5,%hi(g_StarCount)
|
||||
/* f136358: 8dad4150 */ lw $t5,%lo(g_StarCount)($t5)
|
||||
/* f13635c: 3c013f80 */ lui $at,0x3f80
|
||||
/* f136360: c7b800bc */ lwc1 $f24,0xbc($sp)
|
||||
/* f136364: 19a0013a */ blez $t5,.L0f136850
|
||||
/* f136368: c7b600c0 */ lwc1 $f22,0xc0($sp)
|
||||
/* f13636c: 4481f000 */ mtc1 $at,$f30
|
||||
/* f136370: 3c012f80 */ lui $at,0x2f80
|
||||
/* f136374: 4481e000 */ mtc1 $at,$f28
|
||||
/* f136378: 3c01bf80 */ lui $at,0xbf80
|
||||
/* f13637c: 4481d000 */ mtc1 $at,$f26
|
||||
/* f136380: 4480a000 */ mtc1 $zero,$f20
|
||||
/* f136384: 8fb000b0 */ lw $s0,0xb0($sp)
|
||||
.L0f136388:
|
||||
/* f136388: 0c004b70 */ jal random
|
||||
/* f13638c: 00000000 */ nop
|
||||
/* f136390: 44822000 */ mtc1 $v0,$f4
|
||||
/* f136394: 3c014f80 */ lui $at,0x4f80
|
||||
/* f136398: 04410004 */ bgez $v0,.L0f1363ac
|
||||
/* f13639c: 468021a0 */ cvt.s.w $f6,$f4
|
||||
/* f1363a0: 44814000 */ mtc1 $at,$f8
|
||||
/* f1363a4: 00000000 */ nop
|
||||
/* f1363a8: 46083180 */ add.s $f6,$f6,$f8
|
||||
.L0f1363ac:
|
||||
/* f1363ac: 461c3002 */ mul.s $f0,$f6,$f28
|
||||
/* f1363b0: 3c0f8008 */ lui $t7,%hi(g_StarsBelowHorizon)
|
||||
/* f1363b4: 8deff124 */ lw $t7,%lo(g_StarsBelowHorizon)($t7)
|
||||
/* f1363b8: 46000280 */ add.s $f10,$f0,$f0
|
||||
/* f1363bc: 461e5381 */ sub.s $f14,$f10,$f30
|
||||
/* f1363c0: 11e0000f */ beqz $t7,.L0f136400
|
||||
/* f1363c4: e7ae00d4 */ swc1 $f14,0xd4($sp)
|
||||
/* f1363c8: 0c004b70 */ jal random
|
||||
/* f1363cc: 00000000 */ nop
|
||||
/* f1363d0: 44822000 */ mtc1 $v0,$f4
|
||||
/* f1363d4: 3c014f80 */ lui $at,0x4f80
|
||||
/* f1363d8: 04410004 */ bgez $v0,.L0f1363ec
|
||||
/* f1363dc: 46802220 */ cvt.s.w $f8,$f4
|
||||
/* f1363e0: 44813000 */ mtc1 $at,$f6
|
||||
/* f1363e4: 00000000 */ nop
|
||||
/* f1363e8: 46064200 */ add.s $f8,$f8,$f6
|
||||
.L0f1363ec:
|
||||
/* f1363ec: 461c4002 */ mul.s $f0,$f8,$f28
|
||||
/* f1363f0: 46000280 */ add.s $f10,$f0,$f0
|
||||
/* f1363f4: 461e5401 */ sub.s $f16,$f10,$f30
|
||||
/* f1363f8: 1000000c */ b .L0f13642c
|
||||
/* f1363fc: e7b000d8 */ swc1 $f16,0xd8($sp)
|
||||
.L0f136400:
|
||||
/* f136400: 0c004b70 */ jal random
|
||||
/* f136404: 00000000 */ nop
|
||||
/* f136408: 44822000 */ mtc1 $v0,$f4
|
||||
/* f13640c: 3c014f80 */ lui $at,0x4f80
|
||||
/* f136410: 04410004 */ bgez $v0,.L0f136424
|
||||
/* f136414: 468021a0 */ cvt.s.w $f6,$f4
|
||||
/* f136418: 44814000 */ mtc1 $at,$f8
|
||||
/* f13641c: 00000000 */ nop
|
||||
/* f136420: 46083180 */ add.s $f6,$f6,$f8
|
||||
.L0f136424:
|
||||
/* f136424: 461c3402 */ mul.s $f16,$f6,$f28
|
||||
/* f136428: e7b000d8 */ swc1 $f16,0xd8($sp)
|
||||
.L0f13642c:
|
||||
/* f13642c: 0c004b70 */ jal random
|
||||
/* f136430: 00000000 */ nop
|
||||
/* f136434: 44825000 */ mtc1 $v0,$f10
|
||||
/* f136438: 3c014f80 */ lui $at,0x4f80
|
||||
/* f13643c: 04410004 */ bgez $v0,.L0f136450
|
||||
/* f136440: 46805120 */ cvt.s.w $f4,$f10
|
||||
/* f136444: 44814000 */ mtc1 $at,$f8
|
||||
/* f136448: 00000000 */ nop
|
||||
/* f13644c: 46082100 */ add.s $f4,$f4,$f8
|
||||
.L0f136450:
|
||||
/* f136450: 461c2002 */ mul.s $f0,$f4,$f28
|
||||
/* f136454: 27a400d4 */ addiu $a0,$sp,0xd4
|
||||
/* f136458: 27a500d8 */ addiu $a1,$sp,0xd8
|
||||
/* f13645c: 27a600dc */ addiu $a2,$sp,0xdc
|
||||
/* f136460: 46000180 */ add.s $f6,$f0,$f0
|
||||
/* f136464: 461e3301 */ sub.s $f12,$f6,$f30
|
||||
/* f136468: 0c0011e4 */ jal guNormalize
|
||||
/* f13646c: e7ac00dc */ swc1 $f12,0xdc($sp)
|
||||
/* f136470: c7ae00d4 */ lwc1 $f14,0xd4($sp)
|
||||
/* f136474: c7b000d8 */ lwc1 $f16,0xd8($sp)
|
||||
/* f136478: c7ac00dc */ lwc1 $f12,0xdc($sp)
|
||||
/* f13647c: 4614703c */ c.lt.s $f14,$f20
|
||||
/* f136480: 00000000 */ nop
|
||||
/* f136484: 45020004 */ bc1fl .L0f136498
|
||||
/* f136488: 46007086 */ mov.s $f2,$f14
|
||||
/* f13648c: 10000002 */ b .L0f136498
|
||||
/* f136490: 46007087 */ neg.s $f2,$f14
|
||||
/* f136494: 46007086 */ mov.s $f2,$f14
|
||||
.L0f136498:
|
||||
/* f136498: 4614803c */ c.lt.s $f16,$f20
|
||||
/* f13649c: 00000000 */ nop
|
||||
/* f1364a0: 45020004 */ bc1fl .L0f1364b4
|
||||
/* f1364a4: 46008006 */ mov.s $f0,$f16
|
||||
/* f1364a8: 10000002 */ b .L0f1364b4
|
||||
/* f1364ac: 46008007 */ neg.s $f0,$f16
|
||||
/* f1364b0: 46008006 */ mov.s $f0,$f16
|
||||
.L0f1364b4:
|
||||
/* f1364b4: 4602003c */ c.lt.s $f0,$f2
|
||||
/* f1364b8: 00000000 */ nop
|
||||
/* f1364bc: 45020027 */ bc1fl .L0f13655c
|
||||
/* f1364c0: 4614803c */ c.lt.s $f16,$f20
|
||||
/* f1364c4: 4614703c */ c.lt.s $f14,$f20
|
||||
/* f1364c8: c7ac00dc */ lwc1 $f12,0xdc($sp)
|
||||
/* f1364cc: 45020004 */ bc1fl .L0f1364e0
|
||||
/* f1364d0: 46007086 */ mov.s $f2,$f14
|
||||
/* f1364d4: 10000002 */ b .L0f1364e0
|
||||
/* f1364d8: 46007087 */ neg.s $f2,$f14
|
||||
/* f1364dc: 46007086 */ mov.s $f2,$f14
|
||||
.L0f1364e0:
|
||||
/* f1364e0: 4614603c */ c.lt.s $f12,$f20
|
||||
/* f1364e4: 00000000 */ nop
|
||||
/* f1364e8: 45020004 */ bc1fl .L0f1364fc
|
||||
/* f1364ec: 46006006 */ mov.s $f0,$f12
|
||||
/* f1364f0: 10000002 */ b .L0f1364fc
|
||||
/* f1364f4: 46006007 */ neg.s $f0,$f12
|
||||
/* f1364f8: 46006006 */ mov.s $f0,$f12
|
||||
.L0f1364fc:
|
||||
/* f1364fc: 4602003c */ c.lt.s $f0,$f2
|
||||
/* f136500: 00000000 */ nop
|
||||
/* f136504: 4502000b */ bc1fl .L0f136534
|
||||
/* f136508: 4614603c */ c.lt.s $f12,$f20
|
||||
/* f13650c: 4614703c */ c.lt.s $f14,$f20
|
||||
/* f136510: 00000000 */ nop
|
||||
/* f136514: 45020004 */ bc1fl .L0f136528
|
||||
/* f136518: 46007006 */ mov.s $f0,$f14
|
||||
/* f13651c: 10000032 */ b .L0f1365e8
|
||||
/* f136520: 46007007 */ neg.s $f0,$f14
|
||||
/* f136524: 46007006 */ mov.s $f0,$f14
|
||||
.L0f136528:
|
||||
/* f136528: 10000030 */ b .L0f1365ec
|
||||
/* f13652c: 46007483 */ div.s $f18,$f14,$f0
|
||||
/* f136530: 4614603c */ c.lt.s $f12,$f20
|
||||
.L0f136534:
|
||||
/* f136534: 00000000 */ nop
|
||||
/* f136538: 45020004 */ bc1fl .L0f13654c
|
||||
/* f13653c: 46006006 */ mov.s $f0,$f12
|
||||
/* f136540: 10000002 */ b .L0f13654c
|
||||
/* f136544: 46006007 */ neg.s $f0,$f12
|
||||
/* f136548: 46006006 */ mov.s $f0,$f12
|
||||
.L0f13654c:
|
||||
/* f13654c: 46000086 */ mov.s $f2,$f0
|
||||
/* f136550: 10000025 */ b .L0f1365e8
|
||||
/* f136554: 46001006 */ mov.s $f0,$f2
|
||||
/* f136558: 4614803c */ c.lt.s $f16,$f20
|
||||
.L0f13655c:
|
||||
/* f13655c: 00000000 */ nop
|
||||
/* f136560: 45020004 */ bc1fl .L0f136574
|
||||
/* f136564: 46008086 */ mov.s $f2,$f16
|
||||
/* f136568: 10000002 */ b .L0f136574
|
||||
/* f13656c: 46008087 */ neg.s $f2,$f16
|
||||
/* f136570: 46008086 */ mov.s $f2,$f16
|
||||
.L0f136574:
|
||||
/* f136574: 4614603c */ c.lt.s $f12,$f20
|
||||
/* f136578: 00000000 */ nop
|
||||
/* f13657c: 45020004 */ bc1fl .L0f136590
|
||||
/* f136580: 46006006 */ mov.s $f0,$f12
|
||||
/* f136584: 10000002 */ b .L0f136590
|
||||
/* f136588: 46006007 */ neg.s $f0,$f12
|
||||
/* f13658c: 46006006 */ mov.s $f0,$f12
|
||||
.L0f136590:
|
||||
/* f136590: 4602003c */ c.lt.s $f0,$f2
|
||||
/* f136594: 00000000 */ nop
|
||||
/* f136598: 4502000b */ bc1fl .L0f1365c8
|
||||
/* f13659c: 4614603c */ c.lt.s $f12,$f20
|
||||
/* f1365a0: 4614803c */ c.lt.s $f16,$f20
|
||||
/* f1365a4: 00000000 */ nop
|
||||
/* f1365a8: 45020004 */ bc1fl .L0f1365bc
|
||||
/* f1365ac: 46008006 */ mov.s $f0,$f16
|
||||
/* f1365b0: 1000000c */ b .L0f1365e4
|
||||
/* f1365b4: 46008087 */ neg.s $f2,$f16
|
||||
/* f1365b8: 46008006 */ mov.s $f0,$f16
|
||||
.L0f1365bc:
|
||||
/* f1365bc: 10000009 */ b .L0f1365e4
|
||||
/* f1365c0: 46000086 */ mov.s $f2,$f0
|
||||
/* f1365c4: 4614603c */ c.lt.s $f12,$f20
|
||||
.L0f1365c8:
|
||||
/* f1365c8: 00000000 */ nop
|
||||
/* f1365cc: 45020004 */ bc1fl .L0f1365e0
|
||||
/* f1365d0: 46006006 */ mov.s $f0,$f12
|
||||
/* f1365d4: 10000002 */ b .L0f1365e0
|
||||
/* f1365d8: 46006007 */ neg.s $f0,$f12
|
||||
/* f1365dc: 46006006 */ mov.s $f0,$f12
|
||||
.L0f1365e0:
|
||||
/* f1365e0: 46000086 */ mov.s $f2,$f0
|
||||
.L0f1365e4:
|
||||
/* f1365e4: 46001006 */ mov.s $f0,$f2
|
||||
.L0f1365e8:
|
||||
/* f1365e8: 46007483 */ div.s $f18,$f14,$f0
|
||||
.L0f1365ec:
|
||||
/* f1365ec: 3c07800a */ lui $a3,%hi(g_StarGridSize)
|
||||
/* f1365f0: 8ce74158 */ lw $a3,%lo(g_StarGridSize)($a3)
|
||||
/* f1365f4: 3c013f80 */ lui $at,0x3f80
|
||||
/* f1365f8: 44812000 */ mtc1 $at,$f4
|
||||
/* f1365fc: 00e70019 */ multu $a3,$a3
|
||||
/* f136600: e7ac00dc */ swc1 $f12,0xdc($sp)
|
||||
/* f136604: e7ae00d4 */ swc1 $f14,0xd4($sp)
|
||||
/* f136608: e7b000d8 */ swc1 $f16,0xd8($sp)
|
||||
/* f13660c: 3c013f80 */ lui $at,0x3f80
|
||||
/* f136610: 00004012 */ mflo $t0
|
||||
/* f136614: 46008283 */ div.s $f10,$f16,$f0
|
||||
/* f136618: 46122032 */ c.eq.s $f4,$f18
|
||||
/* f13661c: 46006203 */ div.s $f8,$f12,$f0
|
||||
/* f136620: e7aa00cc */ swc1 $f10,0xcc($sp)
|
||||
/* f136624: 45010006 */ bc1t .L0f136640
|
||||
/* f136628: e7a800d0 */ swc1 $f8,0xd0($sp)
|
||||
/* f13662c: 4612d032 */ c.eq.s $f26,$f18
|
||||
/* f136630: c7a000cc */ lwc1 $f0,0xcc($sp)
|
||||
/* f136634: c7ae00d0 */ lwc1 $f14,0xd0($sp)
|
||||
/* f136638: 45020018 */ bc1fl .L0f13669c
|
||||
/* f13663c: 3c013f80 */ lui $at,0x3f80
|
||||
.L0f136640:
|
||||
/* f136640: 4612d032 */ c.eq.s $f26,$f18
|
||||
/* f136644: 44813000 */ mtc1 $at,$f6
|
||||
/* f136648: c7a000cc */ lwc1 $f0,0xcc($sp)
|
||||
/* f13664c: c7ae00d0 */ lwc1 $f14,0xd0($sp)
|
||||
/* f136650: 45000003 */ bc1f .L0f136660
|
||||
/* f136654: e7b200c8 */ swc1 $f18,0xc8($sp)
|
||||
/* f136658: 10000002 */ b .L0f136664
|
||||
/* f13665c: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f136660:
|
||||
/* f136660: 24100001 */ addiu $s0,$zero,0x1
|
||||
.L0f136664:
|
||||
/* f136664: 3c014000 */ lui $at,0x4000
|
||||
/* f136668: 44814000 */ mtc1 $at,$f8
|
||||
/* f13666c: 46060280 */ add.s $f10,$f0,$f6
|
||||
/* f136670: 3c013f80 */ lui $at,0x3f80
|
||||
/* f136674: 44812000 */ mtc1 $at,$f4
|
||||
/* f136678: 3c014000 */ lui $at,0x4000
|
||||
/* f13667c: 46085083 */ div.s $f2,$f10,$f8
|
||||
/* f136680: 44815000 */ mtc1 $at,$f10
|
||||
/* f136684: 46000586 */ mov.s $f22,$f0
|
||||
/* f136688: 46007606 */ mov.s $f24,$f14
|
||||
/* f13668c: 46047180 */ add.s $f6,$f14,$f4
|
||||
/* f136690: 1000004c */ b .L0f1367c4
|
||||
/* f136694: 460a3303 */ div.s $f12,$f6,$f10
|
||||
/* f136698: 3c013f80 */ lui $at,0x3f80
|
||||
.L0f13669c:
|
||||
/* f13669c: 44814000 */ mtc1 $at,$f8
|
||||
/* f1366a0: 3c013f80 */ lui $at,0x3f80
|
||||
/* f1366a4: 46004032 */ c.eq.s $f8,$f0
|
||||
/* f1366a8: 00000000 */ nop
|
||||
/* f1366ac: 45030006 */ bc1tl .L0f1366c8
|
||||
/* f1366b0: 4600d032 */ c.eq.s $f26,$f0
|
||||
/* f1366b4: 4600d032 */ c.eq.s $f26,$f0
|
||||
/* f1366b8: 00000000 */ nop
|
||||
/* f1366bc: 45020016 */ bc1fl .L0f136718
|
||||
/* f1366c0: 3c013f80 */ lui $at,0x3f80
|
||||
/* f1366c4: 4600d032 */ c.eq.s $f26,$f0
|
||||
.L0f1366c8:
|
||||
/* f1366c8: 44812000 */ mtc1 $at,$f4
|
||||
/* f1366cc: 3c014000 */ lui $at,0x4000
|
||||
/* f1366d0: 44815000 */ mtc1 $at,$f10
|
||||
/* f1366d4: 45000003 */ bc1f .L0f1366e4
|
||||
/* f1366d8: 46047180 */ add.s $f6,$f14,$f4
|
||||
/* f1366dc: 10000002 */ b .L0f1366e8
|
||||
/* f1366e0: 24100002 */ addiu $s0,$zero,0x2
|
||||
.L0f1366e4:
|
||||
/* f1366e4: 24100003 */ addiu $s0,$zero,0x3
|
||||
.L0f1366e8:
|
||||
/* f1366e8: 3c013f80 */ lui $at,0x3f80
|
||||
/* f1366ec: 44814000 */ mtc1 $at,$f8
|
||||
/* f1366f0: 3c014000 */ lui $at,0x4000
|
||||
/* f1366f4: 460a3083 */ div.s $f2,$f6,$f10
|
||||
/* f1366f8: 44813000 */ mtc1 $at,$f6
|
||||
/* f1366fc: 46007586 */ mov.s $f22,$f14
|
||||
/* f136700: 46009606 */ mov.s $f24,$f18
|
||||
/* f136704: 46089100 */ add.s $f4,$f18,$f8
|
||||
/* f136708: e7b200c8 */ swc1 $f18,0xc8($sp)
|
||||
/* f13670c: 1000002d */ b .L0f1367c4
|
||||
/* f136710: 46062303 */ div.s $f12,$f4,$f6
|
||||
/* f136714: 3c013f80 */ lui $at,0x3f80
|
||||
.L0f136718:
|
||||
/* f136718: 44815000 */ mtc1 $at,$f10
|
||||
/* f13671c: 3c013f80 */ lui $at,0x3f80
|
||||
/* f136720: 460e5032 */ c.eq.s $f10,$f14
|
||||
/* f136724: 00000000 */ nop
|
||||
/* f136728: 45030006 */ bc1tl .L0f136744
|
||||
/* f13672c: 460ed032 */ c.eq.s $f26,$f14
|
||||
/* f136730: 460ed032 */ c.eq.s $f26,$f14
|
||||
/* f136734: 00000000 */ nop
|
||||
/* f136738: 45020016 */ bc1fl .L0f136794
|
||||
/* f13673c: 3c013f80 */ lui $at,0x3f80
|
||||
/* f136740: 460ed032 */ c.eq.s $f26,$f14
|
||||
.L0f136744:
|
||||
/* f136744: 44814000 */ mtc1 $at,$f8
|
||||
/* f136748: 3c014000 */ lui $at,0x4000
|
||||
/* f13674c: 44813000 */ mtc1 $at,$f6
|
||||
/* f136750: 45000003 */ bc1f .L0f136760
|
||||
/* f136754: 46089100 */ add.s $f4,$f18,$f8
|
||||
/* f136758: 10000002 */ b .L0f136764
|
||||
/* f13675c: 24100004 */ addiu $s0,$zero,0x4
|
||||
.L0f136760:
|
||||
/* f136760: 24100005 */ addiu $s0,$zero,0x5
|
||||
.L0f136764:
|
||||
/* f136764: 3c013f80 */ lui $at,0x3f80
|
||||
/* f136768: 44815000 */ mtc1 $at,$f10
|
||||
/* f13676c: 3c014000 */ lui $at,0x4000
|
||||
/* f136770: 46062083 */ div.s $f2,$f4,$f6
|
||||
/* f136774: 44812000 */ mtc1 $at,$f4
|
||||
/* f136778: 46009586 */ mov.s $f22,$f18
|
||||
/* f13677c: 46000606 */ mov.s $f24,$f0
|
||||
/* f136780: 460a0200 */ add.s $f8,$f0,$f10
|
||||
/* f136784: e7b200c8 */ swc1 $f18,0xc8($sp)
|
||||
/* f136788: 1000000e */ b .L0f1367c4
|
||||
/* f13678c: 46044303 */ div.s $f12,$f8,$f4
|
||||
/* f136790: 3c013f80 */ lui $at,0x3f80
|
||||
.L0f136794:
|
||||
/* f136794: 44813000 */ mtc1 $at,$f6
|
||||
/* f136798: 3c014000 */ lui $at,0x4000
|
||||
/* f13679c: 44814000 */ mtc1 $at,$f8
|
||||
/* f1367a0: 4606b280 */ add.s $f10,$f22,$f6
|
||||
/* f1367a4: 3c013f80 */ lui $at,0x3f80
|
||||
/* f1367a8: 44812000 */ mtc1 $at,$f4
|
||||
/* f1367ac: 3c014000 */ lui $at,0x4000
|
||||
/* f1367b0: 46085083 */ div.s $f2,$f10,$f8
|
||||
/* f1367b4: 44815000 */ mtc1 $at,$f10
|
||||
/* f1367b8: e7b200c8 */ swc1 $f18,0xc8($sp)
|
||||
/* f1367bc: 4604c180 */ add.s $f6,$f24,$f4
|
||||
/* f1367c0: 460a3303 */ div.s $f12,$f6,$f10
|
||||
.L0f1367c4:
|
||||
/* f1367c4: 44874000 */ mtc1 $a3,$f8
|
||||
/* f1367c8: 00000000 */ nop
|
||||
/* f1367cc: 46804020 */ cvt.s.w $f0,$f8
|
||||
/* f1367d0: 46001102 */ mul.s $f4,$f2,$f0
|
||||
/* f1367d4: 00000000 */ nop
|
||||
/* f1367d8: 46006282 */ mul.s $f10,$f12,$f0
|
||||
/* f1367dc: 4600218d */ trunc.w.s $f6,$f4
|
||||
/* f1367e0: 4600520d */ trunc.w.s $f8,$f10
|
||||
/* f1367e4: 44023000 */ mfc1 $v0,$f6
|
||||
/* f1367e8: 44034000 */ mfc1 $v1,$f8
|
||||
/* f1367ec: 14470002 */ bne $v0,$a3,.L0f1367f8
|
||||
/* f1367f0: 00000000 */ nop
|
||||
/* f1367f4: 2442ffff */ addiu $v0,$v0,-1
|
||||
.L0f1367f8:
|
||||
/* f1367f8: 14670002 */ bne $v1,$a3,.L0f136804
|
||||
/* f1367fc: 00000000 */ nop
|
||||
/* f136800: 2463ffff */ addiu $v1,$v1,-1
|
||||
.L0f136804:
|
||||
/* f136804: 00e30019 */ multu $a3,$v1
|
||||
/* f136808: 27a500d4 */ addiu $a1,$sp,0xd4
|
||||
/* f13680c: 0000c012 */ mflo $t8
|
||||
/* f136810: 03023021 */ addu $a2,$t8,$v0
|
||||
/* f136814: 00000000 */ nop
|
||||
/* f136818: 02080019 */ multu $s0,$t0
|
||||
/* f13681c: 00005012 */ mflo $t2
|
||||
/* f136820: 01462021 */ addu $a0,$t2,$a2
|
||||
/* f136824: 0fc4d7c2 */ jal starInsert
|
||||
/* f136828: 00000000 */ nop
|
||||
/* f13682c: 3c0b800a */ lui $t3,%hi(g_StarCount)
|
||||
/* f136830: 8d6b4150 */ lw $t3,%lo(g_StarCount)($t3)
|
||||
/* f136834: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f136838: 022b082a */ slt $at,$s1,$t3
|
||||
/* f13683c: 1420fed2 */ bnez $at,.L0f136388
|
||||
/* f136840: 00000000 */ nop
|
||||
/* f136844: e7b800bc */ swc1 $f24,0xbc($sp)
|
||||
/* f136848: e7b600c0 */ swc1 $f22,0xc0($sp)
|
||||
/* f13684c: afb000b0 */ sw $s0,0xb0($sp)
|
||||
.L0f136850:
|
||||
/* f136850: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f136854: d7b40010 */ ldc1 $f20,0x10($sp)
|
||||
/* f136858: d7b60018 */ ldc1 $f22,0x18($sp)
|
||||
/* f13685c: d7b80020 */ ldc1 $f24,0x20($sp)
|
||||
/* f136860: d7ba0028 */ ldc1 $f26,0x28($sp)
|
||||
/* f136864: d7bc0030 */ ldc1 $f28,0x30($sp)
|
||||
/* f136868: d7be0038 */ ldc1 $f30,0x38($sp)
|
||||
/* f13686c: 8fb00044 */ lw $s0,0x44($sp)
|
||||
/* f136870: 8fb10048 */ lw $s1,0x48($sp)
|
||||
/* f136874: 03e00008 */ jr $ra
|
||||
/* f136878: 27bd00e8 */ addiu $sp,$sp,0xe8
|
||||
);
|
||||
#else
|
||||
#define ABS2(value) ((value) < 0 ? -(value) : (value))
|
||||
|
||||
void starsReset(void)
|
||||
{
|
||||
struct coord spd4;
|
||||
struct coord spc8;
|
||||
f32 spbc[2];
|
||||
s32 spb0;
|
||||
f32 f12;
|
||||
f32 f0;
|
||||
f32 f2;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
struct coord spd4;
|
||||
struct coord spc8;
|
||||
s32 i;
|
||||
f32 spc0;
|
||||
f32 spbc;
|
||||
f32 stack[1];
|
||||
s32 count;
|
||||
s32 spb0;
|
||||
f32 f0;
|
||||
s32 tmp;
|
||||
s32 tmp1;
|
||||
s32 tmp2;
|
||||
|
||||
g_StarPositions = NULL;
|
||||
|
||||
@@ -670,71 +132,53 @@ void starsReset(void)
|
||||
}
|
||||
|
||||
tmp = g_StarGridSize + 1;
|
||||
g_StarPositions = mempAlloc(ALIGN64(g_StarCount * 3 + tmp * 72 * tmp + g_StarGridSize * 6 * g_StarGridSize * 4 + 4), MEMPOOL_STAGE);
|
||||
g_StarPositions = mempAlloc(ALIGN64(g_StarCount * 3U + tmp * 72 * tmp + 6 * g_StarGridSize * g_StarGridSize * 4U + 4), MEMPOOL_STAGE);
|
||||
|
||||
if (g_StarPositions != NULL) {
|
||||
s32 tmp;
|
||||
g_StarPosIndexes = (s32 *)(g_StarPositions + g_StarCount * 3);
|
||||
|
||||
for (i = 0; i < (g_StarGridSize * 6 * g_StarGridSize + 1); i++) {
|
||||
for (i = 0; i < (6 * g_StarGridSize * g_StarGridSize + 1); i++) {
|
||||
g_StarPosIndexes[i] = 0;
|
||||
}
|
||||
|
||||
g_StarData3 = (f32 *)((u32)g_StarPosIndexes + (g_StarGridSize * 6 * g_StarGridSize + 1) * sizeof(f32));
|
||||
count = 6 * g_StarGridSize * g_StarGridSize + 1;
|
||||
g_StarData3 = (f32 *)(count * sizeof(f32) + (s32)g_StarPosIndexes);
|
||||
|
||||
stars0f135c70();
|
||||
|
||||
for (i = 0; i < g_StarCount; i++) {
|
||||
spd4.f[0] = 2.0f * RANDOMFRAC() - 1.0f;
|
||||
|
||||
if (g_StarsBelowHorizon) {
|
||||
spd4.f[1] = 2.0f * RANDOMFRAC() - 1.0f;
|
||||
} else {
|
||||
spd4.f[1] = RANDOMFRAC();
|
||||
}
|
||||
|
||||
spd4.f[1] = g_StarsBelowHorizon ? 2.0f * RANDOMFRAC() - 1.0f : RANDOMFRAC();
|
||||
spd4.f[2] = 2.0f * RANDOMFRAC() - 1.0f;
|
||||
|
||||
guNormalize(&spd4.f[0], &spd4.f[1], &spd4.f[2]);
|
||||
|
||||
if (ABS2(spd4.f[1]) < ABS2(spd4.f[0])) {
|
||||
f0 = ABS2(spd4.f[2]) < ABS2(spd4.f[0]) ? ABS2(spd4.f[0]) : ABS2(spd4.f[2]);
|
||||
} else {
|
||||
f0 = ABS2(spd4.f[2]) < ABS2(spd4.f[1]) ? ABS2(spd4.f[1]) : ABS2(spd4.f[2]);
|
||||
}
|
||||
|
||||
// 5e0
|
||||
tmp = g_StarGridSize * g_StarGridSize;
|
||||
f0 = (ABS2(spd4.f[0]) > ABS2(spd4.f[1])) ? (ABS2(spd4.f[0]) > ABS2(spd4.f[2]) ? ABS2(spd4.f[0]) : ABS2(spd4.f[2])) : (ABS2(spd4.f[1]) > ABS2(spd4.f[2]) ? ABS2(spd4.f[1]) : ABS2(spd4.f[2]));
|
||||
|
||||
spc8.f[0] = spd4.f[0] / f0;
|
||||
spc8.f[1] = spd4.f[1] / f0;
|
||||
spc8.f[2] = spd4.f[2] / f0;
|
||||
|
||||
if (spc8.f[0] == 1.0f || spc8.f[0] == -1.0f) {
|
||||
spb0 = spc8.f[0] == -1.0f ? 0 : 1;
|
||||
spbc[0] = spc8.f[2];
|
||||
spbc[1] = spc8.f[1];
|
||||
f12 = (spbc[0] + 1.0f) / 2.0f;
|
||||
f2 = (spbc[1] + 1.0f) / 2.0f;
|
||||
} else if (spc8.f[1] == 1.0f || spc8.f[1] == -1.0f) {
|
||||
spb0 = spc8.f[1] == -1.0f ? 2 : 3;
|
||||
spbc[0] = spc8.f[0];
|
||||
spbc[1] = spc8.f[2];
|
||||
f12 = (spbc[0] + 1.0f) / 2.0f;
|
||||
f2 = (spbc[1] + 1.0f) / 2.0f;
|
||||
} else if (spc8.f[2] == 1.0f || spc8.f[2] == -1.0f) {
|
||||
spb0 = spc8.f[2] == -1.0f ? 4 : 5;
|
||||
spbc[0] = spc8.f[1];
|
||||
spbc[1] = spc8.f[0];
|
||||
f12 = (spbc[0] + 1.0f) / 2.0f;
|
||||
f2 = (spbc[1] + 1.0f) / 2.0f;
|
||||
} else{
|
||||
f12 = (spbc[0] + 1.0f) / 2.0f;
|
||||
f2 = (spbc[1] + 1.0f) / 2.0f;
|
||||
tmp1 = g_StarGridSize * g_StarGridSize;
|
||||
|
||||
if (spc8.f[0] == 1 || spc8.f[0] == -1) {
|
||||
spb0 = spc8.f[0] == -1 ? 0 : 1;
|
||||
spc0 = spc8.f[1];
|
||||
spbc = spc8.f[2];
|
||||
} else if (spc8.f[1] == 1 || spc8.f[1] == -1) {
|
||||
spb0 = spc8.f[1] == -1 ? 2 : 3;
|
||||
spc0 = spc8.f[2];
|
||||
spbc = spc8.f[0];
|
||||
} else if (spc8.f[2] == 1 || spc8.f[2] == -1) {
|
||||
spb0 = spc8.f[2] == -1 ? 4 : 5;
|
||||
spc0 = spc8.f[0];
|
||||
spbc = spc8.f[1];
|
||||
} else {
|
||||
// empty
|
||||
}
|
||||
|
||||
v0 = f2 * g_StarGridSize;
|
||||
v1 = f12 * g_StarGridSize;
|
||||
v0 = (spc0 + 1) / 2 * g_StarGridSize;
|
||||
v1 = (spbc + 1) / 2 * g_StarGridSize;
|
||||
|
||||
if (v0 == g_StarGridSize) {
|
||||
v0--;
|
||||
@@ -744,12 +188,13 @@ void starsReset(void)
|
||||
v1--;
|
||||
}
|
||||
|
||||
starInsert(spb0 * tmp + (g_StarGridSize * v1) + v0, &spd4);
|
||||
tmp2 = v0 + g_StarGridSize * v1;
|
||||
|
||||
starInsert(spb0 * tmp1 + tmp2, &spd4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
Gfx *starsRender(Gfx *gdl)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user