1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-10 19:13:42 +00:00
* match

* bug note

* textureblock

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
This commit is contained in:
petrie911 2021-01-14 14:14:55 -06:00 committed by GitHub
parent 9c2ad0c60b
commit fcc4a8190d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 373 additions and 1427 deletions

View file

@ -1,4 +0,0 @@
glabel EnSda_Destroy
/* 0000C 80AF8E2C AFA40000 */ sw $a0, 0x0000($sp)
/* 00010 80AF8E30 03E00008 */ jr $ra
/* 00014 80AF8E34 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,60 +0,0 @@
.rdata
glabel D_80AFA44C
.asciz "SDA DRAW \n"
.balign 4
glabel D_80AFA458
.asciz "SDA DRAW END\n"
.balign 4
.text
glabel EnSda_Draw
/* 00090 80AF8EB0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00094 80AF8EB4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00098 80AF8EB8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0009C 80AF8EBC AFA40030 */ sw $a0, 0x0030($sp)
/* 000A0 80AF8EC0 AFA50034 */ sw $a1, 0x0034($sp)
/* 000A4 80AF8EC4 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
/* 000A8 80AF8EC8 0C031A73 */ jal Graph_Alloc
/* 000AC 80AF8ECC 24051000 */ addiu $a1, $zero, 0x1000 ## $a1 = 00001000
/* 000B0 80AF8ED0 3C0480B0 */ lui $a0, %hi(D_80AFA44C) ## $a0 = 80B00000
/* 000B4 80AF8ED4 AFA20024 */ sw $v0, 0x0024($sp)
/* 000B8 80AF8ED8 0C00084C */ jal osSyncPrintf
/* 000BC 80AF8EDC 2484A44C */ addiu $a0, $a0, %lo(D_80AFA44C) ## $a0 = 80AFA44C
/* 000C0 80AF8EE0 8FA40030 */ lw $a0, 0x0030($sp)
/* 000C4 80AF8EE4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 000C8 80AF8EE8 8FB80034 */ lw $t8, 0x0034($sp)
/* 000CC 80AF8EEC 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
/* 000D0 80AF8EF0 55E10004 */ bnel $t7, $at, .L80AF8F04
/* 000D4 80AF8EF4 8F101C44 */ lw $s0, 0x1C44($t8) ## 00001C44
/* 000D8 80AF8EF8 10000002 */ beq $zero, $zero, .L80AF8F04
/* 000DC 80AF8EFC 8C900118 */ lw $s0, 0x0118($a0) ## 00000118
/* 000E0 80AF8F00 8F101C44 */ lw $s0, 0x1C44($t8) ## 00001C44
.L80AF8F04:
/* 000E4 80AF8F04 A20000C8 */ sb $zero, 0x00C8($s0) ## 000000C8
/* 000E8 80AF8F08 8FA70034 */ lw $a3, 0x0034($sp)
/* 000EC 80AF8F0C 8FA50024 */ lw $a1, 0x0024($sp)
/* 000F0 80AF8F10 0C2BE571 */ jal func_80AF95C4
/* 000F4 80AF8F14 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000F8 80AF8F18 3C198016 */ lui $t9, %hi(gGameInfo)
/* 000FC 80AF8F1C 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* 00100 80AF8F20 8FA40024 */ lw $a0, 0x0024($sp)
/* 00104 80AF8F24 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00108 80AF8F28 872809D4 */ lh $t0, 0x09D4($t9) ## 801609D4
/* 0010C 80AF8F2C 29010005 */ slti $at, $t0, 0x0005
/* 00110 80AF8F30 10200003 */ beq $at, $zero, .L80AF8F40
/* 00114 80AF8F34 00000000 */ nop
/* 00118 80AF8F38 0C2BE71C */ jal func_80AF9C70
/* 0011C 80AF8F3C 8FA60034 */ lw $a2, 0x0034($sp)
.L80AF8F40:
/* 00120 80AF8F40 3C0480B0 */ lui $a0, %hi(D_80AFA458) ## $a0 = 80B00000
/* 00124 80AF8F44 0C00084C */ jal osSyncPrintf
/* 00128 80AF8F48 2484A458 */ addiu $a0, $a0, %lo(D_80AFA458) ## $a0 = 80AFA458
/* 0012C 80AF8F4C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00130 80AF8F50 8FB00018 */ lw $s0, 0x0018($sp)
/* 00134 80AF8F54 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00138 80AF8F58 03E00008 */ jr $ra
/* 0013C 80AF8F5C 00000000 */ nop

View file

@ -1,4 +0,0 @@
glabel EnSda_Init
/* 00000 80AF8E20 AFA40000 */ sw $a0, 0x0000($sp)
/* 00004 80AF8E24 03E00008 */ jr $ra
/* 00008 80AF8E28 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,44 +0,0 @@
.rdata
glabel D_80AFA430
.asciz "SDA MOVE\n"
.balign 4
glabel D_80AFA43C
.asciz "SDA MOVE END\n"
.balign 4
.text
glabel EnSda_Update
/* 00018 80AF8E38 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0001C 80AF8E3C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00020 80AF8E40 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00024 80AF8E44 3C0480B0 */ lui $a0, %hi(D_80AFA430) ## $a0 = 80B00000
/* 00028 80AF8E48 AFA5001C */ sw $a1, 0x001C($sp)
/* 0002C 80AF8E4C 2484A430 */ addiu $a0, $a0, %lo(D_80AFA430) ## $a0 = 80AFA430
/* 00030 80AF8E50 0C00084C */ jal osSyncPrintf
/* 00034 80AF8E54 AFA60018 */ sw $a2, 0x0018($sp)
/* 00038 80AF8E58 8FA60018 */ lw $a2, 0x0018($sp)
/* 0003C 80AF8E5C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00040 80AF8E60 8FAF001C */ lw $t7, 0x001C($sp)
/* 00044 80AF8E64 84CE001C */ lh $t6, 0x001C($a2) ## 0000001C
/* 00048 80AF8E68 55C10004 */ bnel $t6, $at, .L80AF8E7C
/* 0004C 80AF8E6C 8DE21C44 */ lw $v0, 0x1C44($t7) ## 00001C44
/* 00050 80AF8E70 10000002 */ beq $zero, $zero, .L80AF8E7C
/* 00054 80AF8E74 8CC20118 */ lw $v0, 0x0118($a2) ## 00000118
/* 00058 80AF8E78 8DE21C44 */ lw $v0, 0x1C44($t7) ## 00001C44
.L80AF8E7C:
/* 0005C 80AF8E7C 8C590024 */ lw $t9, 0x0024($v0) ## 00000024
/* 00060 80AF8E80 3C0480B0 */ lui $a0, %hi(D_80AFA43C) ## $a0 = 80B00000
/* 00064 80AF8E84 2484A43C */ addiu $a0, $a0, %lo(D_80AFA43C) ## $a0 = 80AFA43C
/* 00068 80AF8E88 ACD90024 */ sw $t9, 0x0024($a2) ## 00000024
/* 0006C 80AF8E8C 8C580028 */ lw $t8, 0x0028($v0) ## 00000028
/* 00070 80AF8E90 ACD80028 */ sw $t8, 0x0028($a2) ## 00000028
/* 00074 80AF8E94 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C
/* 00078 80AF8E98 0C00084C */ jal osSyncPrintf
/* 0007C 80AF8E9C ACD9002C */ sw $t9, 0x002C($a2) ## 0000002C
/* 00080 80AF8EA0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00084 80AF8EA4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00088 80AF8EA8 03E00008 */ jr $ra
/* 0008C 80AF8EAC 00000000 */ nop

View file

@ -1,439 +0,0 @@
glabel func_80AF8F60
/* 00140 80AF8F60 27BDFF50 */ addiu $sp, $sp, 0xFF50 ## $sp = FFFFFF50
/* 00144 80AF8F64 F7BE0040 */ sdc1 $f30, 0x0040($sp)
/* 00148 80AF8F68 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 0014C 80AF8F6C 4481F000 */ mtc1 $at, $f30 ## $f30 = 15.00
/* 00150 80AF8F70 F7BC0038 */ sdc1 $f28, 0x0038($sp)
/* 00154 80AF8F74 3C0142D2 */ lui $at, 0x42D2 ## $at = 42D20000
/* 00158 80AF8F78 4481E000 */ mtc1 $at, $f28 ## $f28 = 105.00
/* 0015C 80AF8F7C F7BA0030 */ sdc1 $f26, 0x0030($sp)
/* 00160 80AF8F80 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00164 80AF8F84 4481D000 */ mtc1 $at, $f26 ## $f26 = 30.00
/* 00168 80AF8F88 AFB5005C */ sw $s5, 0x005C($sp)
/* 0016C 80AF8F8C AFB20050 */ sw $s2, 0x0050($sp)
/* 00170 80AF8F90 AFB1004C */ sw $s1, 0x004C($sp)
/* 00174 80AF8F94 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 00178 80AF8F98 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 0017C 80AF8F9C F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00180 80AF8FA0 3C014298 */ lui $at, 0x4298 ## $at = 42980000
/* 00184 80AF8FA4 AFB60060 */ sw $s6, 0x0060($sp)
/* 00188 80AF8FA8 AFB40058 */ sw $s4, 0x0058($sp)
/* 0018C 80AF8FAC AFB30054 */ sw $s3, 0x0054($sp)
/* 00190 80AF8FB0 AFB00048 */ sw $s0, 0x0048($sp)
/* 00194 80AF8FB4 3C1180B0 */ lui $s1, %hi(D_80AFA120) ## $s1 = 80B00000
/* 00198 80AF8FB8 3C1280B0 */ lui $s2, %hi(D_80AFA0DC) ## $s2 = 80B00000
/* 0019C 80AF8FBC 3C1580B0 */ lui $s5, %hi(D_80AFA660) ## $s5 = 80B00000
/* 001A0 80AF8FC0 4486A000 */ mtc1 $a2, $f20 ## $f20 = 0.00
/* 001A4 80AF8FC4 4481C000 */ mtc1 $at, $f24 ## $f24 = 76.00
/* 001A8 80AF8FC8 4480B000 */ mtc1 $zero, $f22 ## $f22 = 0.00
/* 001AC 80AF8FCC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 001B0 80AF8FD0 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000
/* 001B4 80AF8FD4 AFBF0064 */ sw $ra, 0x0064($sp)
/* 001B8 80AF8FD8 26B5A660 */ addiu $s5, $s5, %lo(D_80AFA660) ## $s5 = 80AFA660
/* 001BC 80AF8FDC 2652A0DC */ addiu $s2, $s2, %lo(D_80AFA0DC) ## $s2 = 80AFA0DC
/* 001C0 80AF8FE0 2631A120 */ addiu $s1, $s1, %lo(D_80AFA120) ## $s1 = 80AFA120
/* 001C4 80AF8FE4 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 001C8 80AF8FE8 2416000C */ addiu $s6, $zero, 0x000C ## $s6 = 0000000C
/* 001CC 80AF8FEC 87AB00A0 */ lh $t3, 0x00A0($sp)
/* 001D0 80AF8FF0 4616A032 */ c.eq.s $f20, $f22
.L80AF8FF4:
/* 001D4 80AF8FF4 00000000 */ nop
/* 001D8 80AF8FF8 45010006 */ bc1t .L80AF9014
/* 001DC 80AF8FFC 00137040 */ sll $t6, $s3, 1
/* 001E0 80AF9000 3C0B80B0 */ lui $t3, %hi(D_80AFA13C) ## $t3 = 80B00000
/* 001E4 80AF9004 016E5821 */ addu $t3, $t3, $t6
/* 001E8 80AF9008 856BA13C */ lh $t3, %lo(D_80AFA13C)($t3)
/* 001EC 80AF900C 05620157 */ bltzl $t3, .L80AF956C
/* 001F0 80AF9010 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
.L80AF9014:
/* 001F4 80AF9014 4614B03C */ c.lt.s $f22, $f20
/* 001F8 80AF9018 3C048016 */ lui $a0, %hi(gGameInfo)
/* 001FC 80AF901C 8C84FA90 */ lw $a0, %lo(gGameInfo)($a0)
/* 00200 80AF9020 45000029 */ bc1f .L80AF90C8
/* 00204 80AF9024 00000000 */ nop
/* 00208 80AF9028 01760019 */ multu $t3, $s6
/* 0020C 80AF902C 00007812 */ mflo $t7
/* 00210 80AF9030 02AF1021 */ addu $v0, $s5, $t7
/* 00214 80AF9034 C4440000 */ lwc1 $f4, 0x0000($v0) ## 00000000
/* 00218 80AF9038 02760019 */ multu $s3, $s6
/* 0021C 80AF903C C44A0004 */ lwc1 $f10, 0x0004($v0) ## 00000004
/* 00220 80AF9040 0000C012 */ mflo $t8
/* 00224 80AF9044 02B81821 */ addu $v1, $s5, $t8
/* 00228 80AF9048 C4600000 */ lwc1 $f0, 0x0000($v1) ## 00000000
/* 0022C 80AF904C C4620004 */ lwc1 $f2, 0x0004($v1) ## 00000004
/* 00230 80AF9050 C46C0008 */ lwc1 $f12, 0x0008($v1) ## 00000008
/* 00234 80AF9054 46002181 */ sub.s $f6, $f4, $f0
/* 00238 80AF9058 46025101 */ sub.s $f4, $f10, $f2
/* 0023C 80AF905C 46143202 */ mul.s $f8, $f6, $f20
/* 00240 80AF9060 00000000 */ nop
/* 00244 80AF9064 46142182 */ mul.s $f6, $f4, $f20
/* 00248 80AF9068 46004380 */ add.s $f14, $f8, $f0
/* 0024C 80AF906C C4480008 */ lwc1 $f8, 0x0008($v0) ## 00000008
/* 00250 80AF9070 46023400 */ add.s $f16, $f6, $f2
/* 00254 80AF9074 C6860024 */ lwc1 $f6, 0x0024($s4) ## 00000024
/* 00258 80AF9078 460C4281 */ sub.s $f10, $f8, $f12
/* 0025C 80AF907C 46067201 */ sub.s $f8, $f14, $f6
/* 00260 80AF9080 46145102 */ mul.s $f4, $f10, $f20
/* 00264 80AF9084 E7A80088 */ swc1 $f8, 0x0088($sp)
/* 00268 80AF9088 84991334 */ lh $t9, 0x1334($a0) ## 80161334
/* 0026C 80AF908C C6860028 */ lwc1 $f6, 0x0028($s4) ## 00000028
/* 00270 80AF9090 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 00274 80AF9094 460C2480 */ add.s $f18, $f4, $f12
/* 00278 80AF9098 46805120 */ cvt.s.w $f4, $f10
/* 0027C 80AF909C 46068201 */ sub.s $f8, $f16, $f6
/* 00280 80AF90A0 46082280 */ add.s $f10, $f4, $f8
/* 00284 80AF90A4 46185180 */ add.s $f6, $f10, $f24
/* 00288 80AF90A8 461A3100 */ add.s $f4, $f6, $f26
/* 0028C 80AF90AC 461C2201 */ sub.s $f8, $f4, $f28
/* 00290 80AF90B0 461E4280 */ add.s $f10, $f8, $f30
/* 00294 80AF90B4 E7AA008C */ swc1 $f10, 0x008C($sp)
/* 00298 80AF90B8 C686002C */ lwc1 $f6, 0x002C($s4) ## 0000002C
/* 0029C 80AF90BC 46069101 */ sub.s $f4, $f18, $f6
/* 002A0 80AF90C0 10000018 */ beq $zero, $zero, .L80AF9124
/* 002A4 80AF90C4 E7A40090 */ swc1 $f4, 0x0090($sp)
.L80AF90C8:
/* 002A8 80AF90C8 02760019 */ multu $s3, $s6
/* 002AC 80AF90CC C68A0024 */ lwc1 $f10, 0x0024($s4) ## 00000024
/* 002B0 80AF90D0 00007012 */ mflo $t6
/* 002B4 80AF90D4 02AE1821 */ addu $v1, $s5, $t6
/* 002B8 80AF90D8 C4680000 */ lwc1 $f8, 0x0000($v1) ## 00000000
/* 002BC 80AF90DC C4640004 */ lwc1 $f4, 0x0004($v1) ## 00000004
/* 002C0 80AF90E0 460A4181 */ sub.s $f6, $f8, $f10
/* 002C4 80AF90E4 E7A60088 */ swc1 $f6, 0x0088($sp)
/* 002C8 80AF90E8 848F1334 */ lh $t7, 0x1334($a0) ## 80161334
/* 002CC 80AF90EC C6880028 */ lwc1 $f8, 0x0028($s4) ## 00000028
/* 002D0 80AF90F0 448F3000 */ mtc1 $t7, $f6 ## $f6 = 0.00
/* 002D4 80AF90F4 46082281 */ sub.s $f10, $f4, $f8
/* 002D8 80AF90F8 46803120 */ cvt.s.w $f4, $f6
/* 002DC 80AF90FC 460A2200 */ add.s $f8, $f4, $f10
/* 002E0 80AF9100 46184180 */ add.s $f6, $f8, $f24
/* 002E4 80AF9104 461A3100 */ add.s $f4, $f6, $f26
/* 002E8 80AF9108 C4660008 */ lwc1 $f6, 0x0008($v1) ## 00000008
/* 002EC 80AF910C 461C2281 */ sub.s $f10, $f4, $f28
/* 002F0 80AF9110 461E5200 */ add.s $f8, $f10, $f30
/* 002F4 80AF9114 E7A8008C */ swc1 $f8, 0x008C($sp)
/* 002F8 80AF9118 C684002C */ lwc1 $f4, 0x002C($s4) ## 0000002C
/* 002FC 80AF911C 46043281 */ sub.s $f10, $f6, $f4
/* 00300 80AF9120 E7AA0090 */ swc1 $f10, 0x0090($sp)
.L80AF9124:
/* 00304 80AF9124 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFD8
/* 00308 80AF9128 0C0346BD */ jal Matrix_MultVec3f
/* 0030C 80AF912C 27A5007C */ addiu $a1, $sp, 0x007C ## $a1 = FFFFFFCC
/* 00310 80AF9130 3C048016 */ lui $a0, %hi(gGameInfo)
/* 00314 80AF9134 8C84FA90 */ lw $a0, %lo(gGameInfo)($a0)
/* 00318 80AF9138 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0031C 80AF913C 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00
/* 00320 80AF9140 84981336 */ lh $t8, 0x1336($a0) ## 80161336
/* 00324 80AF9144 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00328 80AF9148 3C0280B0 */ lui $v0, %hi(D_80AFA15C) ## $v0 = 80B00000
/* 0032C 80AF914C 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00
/* 00330 80AF9150 00531021 */ addu $v0, $v0, $s3
/* 00334 80AF9154 9042A15C */ lbu $v0, %lo(D_80AFA15C)($v0)
/* 00338 80AF9158 468041A0 */ cvt.s.w $f6, $f8
/* 0033C 80AF915C 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
/* 00340 80AF9160 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00344 80AF9164 3C0C80B0 */ lui $t4, %hi(D_80AFA108) ## $t4 = 80B00000
/* 00348 80AF9168 3C0D80B0 */ lui $t5, %hi(D_80AFA0F8) ## $t5 = 80B00000
/* 0034C 80AF916C 3C1F80B0 */ lui $ra, %hi(D_80AFA0E8) ## $ra = 80B00000
/* 00350 80AF9170 46043283 */ div.s $f10, $f6, $f4
/* 00354 80AF9174 C7A4007C */ lwc1 $f4, 0x007C($sp)
/* 00358 80AF9178 27FFA0E8 */ addiu $ra, $ra, %lo(D_80AFA0E8) ## $ra = 80AFA0E8
/* 0035C 80AF917C 25ADA0F8 */ addiu $t5, $t5, %lo(D_80AFA0F8) ## $t5 = 80AFA0F8
/* 00360 80AF9180 258CA108 */ addiu $t4, $t4, %lo(D_80AFA108) ## $t4 = 80AFA108
/* 00364 80AF9184 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
/* 00368 80AF9188 00005825 */ or $t3, $zero, $zero ## $t3 = 00000000
/* 0036C 80AF918C 2406FE80 */ addiu $a2, $zero, 0xFE80 ## $a2 = FFFFFE80
/* 00370 80AF9190 460A4180 */ add.s $f6, $f8, $f10
/* 00374 80AF9194 46062202 */ mul.s $f8, $f4, $f6
/* 00378 80AF9198 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 0037C 80AF919C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00380 80AF91A0 E7A8007C */ swc1 $f8, 0x007C($sp)
/* 00384 80AF91A4 84991336 */ lh $t9, 0x1336($a0) ## 80161336
/* 00388 80AF91A8 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 0038C 80AF91AC 00000000 */ nop
/* 00390 80AF91B0 46805120 */ cvt.s.w $f4, $f10
/* 00394 80AF91B4 46062283 */ div.s $f10, $f4, $f6
/* 00398 80AF91B8 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 0039C 80AF91BC 3C014200 */ lui $at, 0x4200 ## $at = 42000000
/* 003A0 80AF91C0 460A2180 */ add.s $f6, $f4, $f10
/* 003A4 80AF91C4 C7A40080 */ lwc1 $f4, 0x0080($sp)
/* 003A8 80AF91C8 46062282 */ mul.s $f10, $f4, $f6
/* 003AC 80AF91CC 44812000 */ mtc1 $at, $f4 ## $f4 = 32.00
/* 003B0 80AF91D0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 003B4 80AF91D4 46044180 */ add.s $f6, $f8, $f4
/* 003B8 80AF91D8 E7AA0080 */ swc1 $f10, 0x0080($sp)
/* 003BC 80AF91DC 4600510D */ trunc.w.s $f4, $f10
/* 003C0 80AF91E0 4600320D */ trunc.w.s $f8, $f6
/* 003C4 80AF91E4 44092000 */ mfc1 $t1, $f4
/* 003C8 80AF91E8 44084000 */ mfc1 $t0, $f8
/* 003CC 80AF91EC 00094C00 */ sll $t1, $t1, 16
/* 003D0 80AF91F0 00094C03 */ sra $t1, $t1, 16
/* 003D4 80AF91F4 00094980 */ sll $t1, $t1, 6
/* 003D8 80AF91F8 00094C00 */ sll $t1, $t1, 16
/* 003DC 80AF91FC 00084400 */ sll $t0, $t0, 16
/* 003E0 80AF9200 00084403 */ sra $t0, $t0, 16
/* 003E4 80AF9204 14410029 */ bne $v0, $at, .L80AF92AC
/* 003E8 80AF9208 00094C03 */ sra $t1, $t1, 16
.L80AF920C:
/* 003EC 80AF920C 000BC040 */ sll $t8, $t3, 1
/* 003F0 80AF9210 01983821 */ addu $a3, $t4, $t8
/* 003F4 80AF9214 84E50000 */ lh $a1, 0x0000($a3) ## 00000000
/* 003F8 80AF9218 256B0001 */ addiu $t3, $t3, 0x0001 ## $t3 = 00000001
/* 003FC 80AF921C 000B5C00 */ sll $t3, $t3, 16
/* 00400 80AF9220 00052023 */ subu $a0, $zero, $a1
/* 00404 80AF9224 00042400 */ sll $a0, $a0, 16
/* 00408 80AF9228 00042403 */ sra $a0, $a0, 16
/* 0040C 80AF922C 0085082A */ slt $at, $a0, $a1
/* 00410 80AF9230 10200017 */ beq $at, $zero, .L80AF9290
/* 00414 80AF9234 000B5C03 */ sra $t3, $t3, 16
/* 00418 80AF9238 01041821 */ addu $v1, $t0, $a0
.L80AF923C:
/* 0041C 80AF923C 00031C00 */ sll $v1, $v1, 16
/* 00420 80AF9240 00031C03 */ sra $v1, $v1, 16
/* 00424 80AF9244 0460000D */ bltz $v1, .L80AF927C
/* 00428 80AF9248 24840001 */ addiu $a0, $a0, 0x0001 ## $a0 = 80160001
/* 0042C 80AF924C 28610040 */ slti $at, $v1, 0x0040
/* 00430 80AF9250 1020000A */ beq $at, $zero, .L80AF927C
/* 00434 80AF9254 01261021 */ addu $v0, $t1, $a2
/* 00438 80AF9258 00021400 */ sll $v0, $v0, 16
/* 0043C 80AF925C 00021403 */ sra $v0, $v0, 16
/* 00440 80AF9260 04400006 */ bltz $v0, .L80AF927C
/* 00444 80AF9264 28411000 */ slti $at, $v0, 0x1000
/* 00448 80AF9268 10200004 */ beq $at, $zero, .L80AF927C
/* 0044C 80AF926C 0203C821 */ addu $t9, $s0, $v1
/* 00450 80AF9270 03227021 */ addu $t6, $t9, $v0
/* 00454 80AF9274 A1CA0000 */ sb $t2, 0x0000($t6) ## 00000000
/* 00458 80AF9278 84E50000 */ lh $a1, 0x0000($a3) ## 00000000
.L80AF927C:
/* 0045C 80AF927C 00042400 */ sll $a0, $a0, 16
/* 00460 80AF9280 00042403 */ sra $a0, $a0, 16
/* 00464 80AF9284 0085082A */ slt $at, $a0, $a1
/* 00468 80AF9288 5420FFEC */ bnel $at, $zero, .L80AF923C
/* 0046C 80AF928C 01041821 */ addu $v1, $t0, $a0
.L80AF9290:
/* 00470 80AF9290 24C60040 */ addiu $a2, $a2, 0x0040 ## $a2 = FFFFFEC0
/* 00474 80AF9294 00063400 */ sll $a2, $a2, 16
/* 00478 80AF9298 2961000C */ slti $at, $t3, 0x000C
/* 0047C 80AF929C 1420FFDB */ bne $at, $zero, .L80AF920C
/* 00480 80AF92A0 00063403 */ sra $a2, $a2, 16
/* 00484 80AF92A4 100000B1 */ beq $zero, $zero, .L80AF956C
/* 00488 80AF92A8 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000002
.L80AF92AC:
/* 0048C 80AF92AC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00490 80AF92B0 1441002A */ bne $v0, $at, .L80AF935C
/* 00494 80AF92B4 00005825 */ or $t3, $zero, $zero ## $t3 = 00000000
/* 00498 80AF92B8 2406FF00 */ addiu $a2, $zero, 0xFF00 ## $a2 = FFFFFF00
.L80AF92BC:
/* 0049C 80AF92BC 000B7840 */ sll $t7, $t3, 1
/* 004A0 80AF92C0 01AF3821 */ addu $a3, $t5, $t7
/* 004A4 80AF92C4 84E50000 */ lh $a1, 0x0000($a3) ## 00000000
/* 004A8 80AF92C8 256B0001 */ addiu $t3, $t3, 0x0001 ## $t3 = 00000001
/* 004AC 80AF92CC 000B5C00 */ sll $t3, $t3, 16
/* 004B0 80AF92D0 00052023 */ subu $a0, $zero, $a1
/* 004B4 80AF92D4 00042400 */ sll $a0, $a0, 16
/* 004B8 80AF92D8 00042403 */ sra $a0, $a0, 16
/* 004BC 80AF92DC 0085082A */ slt $at, $a0, $a1
/* 004C0 80AF92E0 10200017 */ beq $at, $zero, .L80AF9340
/* 004C4 80AF92E4 000B5C03 */ sra $t3, $t3, 16
/* 004C8 80AF92E8 01041821 */ addu $v1, $t0, $a0
.L80AF92EC:
/* 004CC 80AF92EC 00031C00 */ sll $v1, $v1, 16
/* 004D0 80AF92F0 00031C03 */ sra $v1, $v1, 16
/* 004D4 80AF92F4 0460000D */ bltz $v1, .L80AF932C
/* 004D8 80AF92F8 24840001 */ addiu $a0, $a0, 0x0001 ## $a0 = 80160002
/* 004DC 80AF92FC 28610040 */ slti $at, $v1, 0x0040
/* 004E0 80AF9300 1020000A */ beq $at, $zero, .L80AF932C
/* 004E4 80AF9304 01261021 */ addu $v0, $t1, $a2
/* 004E8 80AF9308 00021400 */ sll $v0, $v0, 16
/* 004EC 80AF930C 00021403 */ sra $v0, $v0, 16
/* 004F0 80AF9310 04400006 */ bltz $v0, .L80AF932C
/* 004F4 80AF9314 28411000 */ slti $at, $v0, 0x1000
/* 004F8 80AF9318 10200004 */ beq $at, $zero, .L80AF932C
/* 004FC 80AF931C 0203C021 */ addu $t8, $s0, $v1
/* 00500 80AF9320 0302C821 */ addu $t9, $t8, $v0
/* 00504 80AF9324 A32A0000 */ sb $t2, 0x0000($t9) ## 00000000
/* 00508 80AF9328 84E50000 */ lh $a1, 0x0000($a3) ## 00000000
.L80AF932C:
/* 0050C 80AF932C 00042400 */ sll $a0, $a0, 16
/* 00510 80AF9330 00042403 */ sra $a0, $a0, 16
/* 00514 80AF9334 0085082A */ slt $at, $a0, $a1
/* 00518 80AF9338 5420FFEC */ bnel $at, $zero, .L80AF92EC
/* 0051C 80AF933C 01041821 */ addu $v1, $t0, $a0
.L80AF9340:
/* 00520 80AF9340 24C60040 */ addiu $a2, $a2, 0x0040 ## $a2 = FFFFFF40
/* 00524 80AF9344 00063400 */ sll $a2, $a2, 16
/* 00528 80AF9348 29610008 */ slti $at, $t3, 0x0008
/* 0052C 80AF934C 1420FFDB */ bne $at, $zero, .L80AF92BC
/* 00530 80AF9350 00063403 */ sra $a2, $a2, 16
/* 00534 80AF9354 10000085 */ beq $zero, $zero, .L80AF956C
/* 00538 80AF9358 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000003
.L80AF935C:
/* 0053C 80AF935C 1440002D */ bne $v0, $zero, .L80AF9414
/* 00540 80AF9360 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00544 80AF9364 00005825 */ or $t3, $zero, $zero ## $t3 = 00000000
/* 00548 80AF9368 2406FF40 */ addiu $a2, $zero, 0xFF40 ## $a2 = FFFFFF40
.L80AF936C:
/* 0054C 80AF936C 000B7040 */ sll $t6, $t3, 1
/* 00550 80AF9370 03EE3821 */ addu $a3, $ra, $t6
/* 00554 80AF9374 84E20000 */ lh $v0, 0x0000($a3) ## 00000000
/* 00558 80AF9378 256B0001 */ addiu $t3, $t3, 0x0001 ## $t3 = 00000001
/* 0055C 80AF937C 000B5C00 */ sll $t3, $t3, 16
/* 00560 80AF9380 00022023 */ subu $a0, $zero, $v0
/* 00564 80AF9384 00042400 */ sll $a0, $a0, 16
/* 00568 80AF9388 00042403 */ sra $a0, $a0, 16
/* 0056C 80AF938C 2445FFFF */ addiu $a1, $v0, 0xFFFF ## $a1 = 80AFFFFF
/* 00570 80AF9390 0085082A */ slt $at, $a0, $a1
/* 00574 80AF9394 10200018 */ beq $at, $zero, .L80AF93F8
/* 00578 80AF9398 000B5C03 */ sra $t3, $t3, 16
/* 0057C 80AF939C 01041821 */ addu $v1, $t0, $a0
.L80AF93A0:
/* 00580 80AF93A0 00031C00 */ sll $v1, $v1, 16
/* 00584 80AF93A4 00031C03 */ sra $v1, $v1, 16
/* 00588 80AF93A8 0460000E */ bltz $v1, .L80AF93E4
/* 0058C 80AF93AC 24840001 */ addiu $a0, $a0, 0x0001 ## $a0 = 80160003
/* 00590 80AF93B0 28610040 */ slti $at, $v1, 0x0040
/* 00594 80AF93B4 1020000B */ beq $at, $zero, .L80AF93E4
/* 00598 80AF93B8 01261021 */ addu $v0, $t1, $a2
/* 0059C 80AF93BC 00021400 */ sll $v0, $v0, 16
/* 005A0 80AF93C0 00021403 */ sra $v0, $v0, 16
/* 005A4 80AF93C4 04400007 */ bltz $v0, .L80AF93E4
/* 005A8 80AF93C8 28411000 */ slti $at, $v0, 0x1000
/* 005AC 80AF93CC 10200005 */ beq $at, $zero, .L80AF93E4
/* 005B0 80AF93D0 02037821 */ addu $t7, $s0, $v1
/* 005B4 80AF93D4 01E2C021 */ addu $t8, $t7, $v0
/* 005B8 80AF93D8 A30A0000 */ sb $t2, 0x0000($t8) ## 00000000
/* 005BC 80AF93DC 84E50000 */ lh $a1, 0x0000($a3) ## 00000000
/* 005C0 80AF93E0 24A5FFFF */ addiu $a1, $a1, 0xFFFF ## $a1 = 80AFFFFE
.L80AF93E4:
/* 005C4 80AF93E4 00042400 */ sll $a0, $a0, 16
/* 005C8 80AF93E8 00042403 */ sra $a0, $a0, 16
/* 005CC 80AF93EC 0085082A */ slt $at, $a0, $a1
/* 005D0 80AF93F0 5420FFEB */ bnel $at, $zero, .L80AF93A0
/* 005D4 80AF93F4 01041821 */ addu $v1, $t0, $a0
.L80AF93F8:
/* 005D8 80AF93F8 24C60040 */ addiu $a2, $a2, 0x0040 ## $a2 = FFFFFF80
/* 005DC 80AF93FC 00063400 */ sll $a2, $a2, 16
/* 005E0 80AF9400 29610007 */ slti $at, $t3, 0x0007
/* 005E4 80AF9404 1420FFD9 */ bne $at, $zero, .L80AF936C
/* 005E8 80AF9408 00063403 */ sra $a2, $a2, 16
/* 005EC 80AF940C 10000057 */ beq $zero, $zero, .L80AF956C
/* 005F0 80AF9410 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000004
.L80AF9414:
/* 005F4 80AF9414 1441002B */ bne $v0, $at, .L80AF94C4
/* 005F8 80AF9418 00005825 */ or $t3, $zero, $zero ## $t3 = 00000000
/* 005FC 80AF941C 00005825 */ or $t3, $zero, $zero ## $t3 = 00000000
/* 00600 80AF9420 2406FE40 */ addiu $a2, $zero, 0xFE40 ## $a2 = FFFFFE40
.L80AF9424:
/* 00604 80AF9424 000BC840 */ sll $t9, $t3, 1
/* 00608 80AF9428 02393821 */ addu $a3, $s1, $t9
/* 0060C 80AF942C 84E50000 */ lh $a1, 0x0000($a3) ## 00000000
/* 00610 80AF9430 256B0001 */ addiu $t3, $t3, 0x0001 ## $t3 = 00000001
/* 00614 80AF9434 000B5C00 */ sll $t3, $t3, 16
/* 00618 80AF9438 00052023 */ subu $a0, $zero, $a1
/* 0061C 80AF943C 00042400 */ sll $a0, $a0, 16
/* 00620 80AF9440 00042403 */ sra $a0, $a0, 16
/* 00624 80AF9444 0085082A */ slt $at, $a0, $a1
/* 00628 80AF9448 10200017 */ beq $at, $zero, .L80AF94A8
/* 0062C 80AF944C 000B5C03 */ sra $t3, $t3, 16
/* 00630 80AF9450 01041821 */ addu $v1, $t0, $a0
.L80AF9454:
/* 00634 80AF9454 00031C00 */ sll $v1, $v1, 16
/* 00638 80AF9458 00031C03 */ sra $v1, $v1, 16
/* 0063C 80AF945C 0460000D */ bltz $v1, .L80AF9494
/* 00640 80AF9460 24840001 */ addiu $a0, $a0, 0x0001 ## $a0 = 80160004
/* 00644 80AF9464 28610040 */ slti $at, $v1, 0x0040
/* 00648 80AF9468 1020000A */ beq $at, $zero, .L80AF9494
/* 0064C 80AF946C 01261021 */ addu $v0, $t1, $a2
/* 00650 80AF9470 00021400 */ sll $v0, $v0, 16
/* 00654 80AF9474 00021403 */ sra $v0, $v0, 16
/* 00658 80AF9478 04400006 */ bltz $v0, .L80AF9494
/* 0065C 80AF947C 28411000 */ slti $at, $v0, 0x1000
/* 00660 80AF9480 10200004 */ beq $at, $zero, .L80AF9494
/* 00664 80AF9484 02037021 */ addu $t6, $s0, $v1
/* 00668 80AF9488 01C27821 */ addu $t7, $t6, $v0
/* 0066C 80AF948C A1EA0000 */ sb $t2, 0x0000($t7) ## 00000000
/* 00670 80AF9490 84E50000 */ lh $a1, 0x0000($a3) ## 00000000
.L80AF9494:
/* 00674 80AF9494 00042400 */ sll $a0, $a0, 16
/* 00678 80AF9498 00042403 */ sra $a0, $a0, 16
/* 0067C 80AF949C 0085082A */ slt $at, $a0, $a1
/* 00680 80AF94A0 5420FFEC */ bnel $at, $zero, .L80AF9454
/* 00684 80AF94A4 01041821 */ addu $v1, $t0, $a0
.L80AF94A8:
/* 00688 80AF94A8 24C60040 */ addiu $a2, $a2, 0x0040 ## $a2 = FFFFFE80
/* 0068C 80AF94AC 00063400 */ sll $a2, $a2, 16
/* 00690 80AF94B0 2961000E */ slti $at, $t3, 0x000E
/* 00694 80AF94B4 1420FFDB */ bne $at, $zero, .L80AF9424
/* 00698 80AF94B8 00063403 */ sra $a2, $a2, 16
/* 0069C 80AF94BC 1000002B */ beq $zero, $zero, .L80AF956C
/* 006A0 80AF94C0 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000005
.L80AF94C4:
/* 006A4 80AF94C4 2406FF80 */ addiu $a2, $zero, 0xFF80 ## $a2 = FFFFFF80
.L80AF94C8:
/* 006A8 80AF94C8 000BC040 */ sll $t8, $t3, 1
/* 006AC 80AF94CC 02583821 */ addu $a3, $s2, $t8
/* 006B0 80AF94D0 84E20000 */ lh $v0, 0x0000($a3) ## 00000000
/* 006B4 80AF94D4 256B0001 */ addiu $t3, $t3, 0x0001 ## $t3 = 00000002
/* 006B8 80AF94D8 000B5C00 */ sll $t3, $t3, 16
/* 006BC 80AF94DC 00022023 */ subu $a0, $zero, $v0
/* 006C0 80AF94E0 00042400 */ sll $a0, $a0, 16
/* 006C4 80AF94E4 00042403 */ sra $a0, $a0, 16
/* 006C8 80AF94E8 2445FFFF */ addiu $a1, $v0, 0xFFFF ## $a1 = 80AFFFFF
/* 006CC 80AF94EC 0085082A */ slt $at, $a0, $a1
/* 006D0 80AF94F0 10200018 */ beq $at, $zero, .L80AF9554
/* 006D4 80AF94F4 000B5C03 */ sra $t3, $t3, 16
/* 006D8 80AF94F8 01041821 */ addu $v1, $t0, $a0
.L80AF94FC:
/* 006DC 80AF94FC 00031C00 */ sll $v1, $v1, 16
/* 006E0 80AF9500 00031C03 */ sra $v1, $v1, 16
/* 006E4 80AF9504 0460000E */ bltz $v1, .L80AF9540
/* 006E8 80AF9508 24840001 */ addiu $a0, $a0, 0x0001 ## $a0 = 80160005
/* 006EC 80AF950C 28610040 */ slti $at, $v1, 0x0040
/* 006F0 80AF9510 1020000B */ beq $at, $zero, .L80AF9540
/* 006F4 80AF9514 01261021 */ addu $v0, $t1, $a2
/* 006F8 80AF9518 00021400 */ sll $v0, $v0, 16
/* 006FC 80AF951C 00021403 */ sra $v0, $v0, 16
/* 00700 80AF9520 04400007 */ bltz $v0, .L80AF9540
/* 00704 80AF9524 28411000 */ slti $at, $v0, 0x1000
/* 00708 80AF9528 10200005 */ beq $at, $zero, .L80AF9540
/* 0070C 80AF952C 0203C821 */ addu $t9, $s0, $v1
/* 00710 80AF9530 03227021 */ addu $t6, $t9, $v0
/* 00714 80AF9534 A1CA0000 */ sb $t2, 0x0000($t6) ## 00000000
/* 00718 80AF9538 84E50000 */ lh $a1, 0x0000($a3) ## 00000000
/* 0071C 80AF953C 24A5FFFF */ addiu $a1, $a1, 0xFFFF ## $a1 = 80AFFFFE
.L80AF9540:
/* 00720 80AF9540 00042400 */ sll $a0, $a0, 16
/* 00724 80AF9544 00042403 */ sra $a0, $a0, 16
/* 00728 80AF9548 0085082A */ slt $at, $a0, $a1
/* 0072C 80AF954C 5420FFEB */ bnel $at, $zero, .L80AF94FC
/* 00730 80AF9550 01041821 */ addu $v1, $t0, $a0
.L80AF9554:
/* 00734 80AF9554 24C60040 */ addiu $a2, $a2, 0x0040 ## $a2 = FFFFFFC0
/* 00738 80AF9558 00063400 */ sll $a2, $a2, 16
/* 0073C 80AF955C 29610006 */ slti $at, $t3, 0x0006
/* 00740 80AF9560 1420FFD9 */ bne $at, $zero, .L80AF94C8
/* 00744 80AF9564 00063403 */ sra $a2, $a2, 16
/* 00748 80AF9568 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000006
.L80AF956C:
/* 0074C 80AF956C 00139C00 */ sll $s3, $s3, 16
/* 00750 80AF9570 00139C03 */ sra $s3, $s3, 16
/* 00754 80AF9574 2A610010 */ slti $at, $s3, 0x0010
/* 00758 80AF9578 5420FE9E */ bnel $at, $zero, .L80AF8FF4
/* 0075C 80AF957C 4616A032 */ c.eq.s $f20, $f22
/* 00760 80AF9580 8FBF0064 */ lw $ra, 0x0064($sp)
/* 00764 80AF9584 A7AB00A0 */ sh $t3, 0x00A0($sp)
/* 00768 80AF9588 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 0076C 80AF958C D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00770 80AF9590 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 00774 80AF9594 D7BA0030 */ ldc1 $f26, 0x0030($sp)
/* 00778 80AF9598 D7BC0038 */ ldc1 $f28, 0x0038($sp)
/* 0077C 80AF959C D7BE0040 */ ldc1 $f30, 0x0040($sp)
/* 00780 80AF95A0 8FB00048 */ lw $s0, 0x0048($sp)
/* 00784 80AF95A4 8FB1004C */ lw $s1, 0x004C($sp)
/* 00788 80AF95A8 8FB20050 */ lw $s2, 0x0050($sp)
/* 0078C 80AF95AC 8FB30054 */ lw $s3, 0x0054($sp)
/* 00790 80AF95B0 8FB40058 */ lw $s4, 0x0058($sp)
/* 00794 80AF95B4 8FB5005C */ lw $s5, 0x005C($sp)
/* 00798 80AF95B8 8FB60060 */ lw $s6, 0x0060($sp)
/* 0079C 80AF95BC 03E00008 */ jr $ra
/* 007A0 80AF95C0 27BD00B0 */ addiu $sp, $sp, 0x00B0 ## $sp = 00000000

View file

@ -1,484 +0,0 @@
.rdata
glabel D_80AFA468
.asciz "SDA CONT \n"
.balign 4
glabel D_80AFA474
.asciz "SDA CONT 2\n"
.balign 4
glabel D_80AFA480
.asciz "SDA CONT 3\n"
.balign 4
glabel D_80AFA48C
.asciz "SDA CONT 4\n"
.balign 4
.late_rodata
glabel D_80AFA4F0
.float 1.2
glabel D_80AFA4F4
.float -1.2
glabel D_80AFA4F8
.float 3.14159274101
glabel D_80AFA4FC
.float 3.14159274101
.text
glabel func_80AF95C4
/* 007A4 80AF95C4 27BDFE50 */ addiu $sp, $sp, 0xFE50 ## $sp = FFFFFE50
/* 007A8 80AF95C8 AFB60040 */ sw $s6, 0x0040($sp)
/* 007AC 80AF95CC 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000
/* 007B0 80AF95D0 AFBF004C */ sw $ra, 0x004C($sp)
/* 007B4 80AF95D4 AFB5003C */ sw $s5, 0x003C($sp)
/* 007B8 80AF95D8 AFB1002C */ sw $s1, 0x002C($sp)
/* 007BC 80AF95DC 3C0480B0 */ lui $a0, %hi(D_80AFA468) ## $a0 = 80B00000
/* 007C0 80AF95E0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 007C4 80AF95E4 00C0A825 */ or $s5, $a2, $zero ## $s5 = 00000000
/* 007C8 80AF95E8 AFBE0048 */ sw $s8, 0x0048($sp)
/* 007CC 80AF95EC AFB70044 */ sw $s7, 0x0044($sp)
/* 007D0 80AF95F0 AFB40038 */ sw $s4, 0x0038($sp)
/* 007D4 80AF95F4 AFB30034 */ sw $s3, 0x0034($sp)
/* 007D8 80AF95F8 AFB20030 */ sw $s2, 0x0030($sp)
/* 007DC 80AF95FC AFB00028 */ sw $s0, 0x0028($sp)
/* 007E0 80AF9600 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 007E4 80AF9604 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 007E8 80AF9608 AFA701BC */ sw $a3, 0x01BC($sp)
/* 007EC 80AF960C 0C00084C */ jal osSyncPrintf
/* 007F0 80AF9610 2484A468 */ addiu $a0, $a0, %lo(D_80AFA468) ## $a0 = 80AFA468
/* 007F4 80AF9614 3C1E8016 */ lui $s8, %hi(gGameInfo)
/* 007F8 80AF9618 27DEFA90 */ addiu $s8, %lo(gGameInfo)
/* 007FC 80AF961C 8FCE0000 */ lw $t6, 0x0000($s8) ## 8015FA90
/* 00800 80AF9620 02201025 */ or $v0, $s1, $zero ## $v0 = 00000000
/* 00804 80AF9624 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00808 80AF9628 85CF1346 */ lh $t7, 0x1346($t6) ## 00001346
/* 0080C 80AF962C 241000FF */ addiu $s0, $zero, 0x00FF ## $s0 = 000000FF
/* 00810 80AF9630 11E0001D */ beq $t7, $zero, .L80AF96A8
/* 00814 80AF9634 00000000 */ nop
/* 00818 80AF9638 02201025 */ or $v0, $s1, $zero ## $v0 = 00000000
/* 0081C 80AF963C 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00820 80AF9640 241000FF */ addiu $s0, $zero, 0x00FF ## $s0 = 000000FF
/* 00824 80AF9644 2404003F */ addiu $a0, $zero, 0x003F ## $a0 = 0000003F
.L80AF9648:
/* 00828 80AF9648 06600002 */ bltz $s3, .L80AF9654
/* 0082C 80AF964C 2A610040 */ slti $at, $s3, 0x0040
/* 00830 80AF9650 1420000A */ bne $at, $zero, .L80AF967C
.L80AF9654:
/* 00834 80AF9654 2A610FC0 */ slti $at, $s3, 0x0FC0
/* 00838 80AF9658 14200004 */ bne $at, $zero, .L80AF966C
/* 0083C 80AF965C 3263003F */ andi $v1, $s3, 0x003F ## $v1 = 00000000
/* 00840 80AF9660 2A611000 */ slti $at, $s3, 0x1000
/* 00844 80AF9664 14200005 */ bne $at, $zero, .L80AF967C
/* 00848 80AF9668 00000000 */ nop
.L80AF966C:
/* 0084C 80AF966C 10600003 */ beq $v1, $zero, .L80AF967C
/* 00850 80AF9670 00000000 */ nop
/* 00854 80AF9674 54830004 */ bnel $a0, $v1, .L80AF9688
/* 00858 80AF9678 A0400000 */ sb $zero, 0x0000($v0) ## 00000000
.L80AF967C:
/* 0085C 80AF967C 10000002 */ beq $zero, $zero, .L80AF9688
/* 00860 80AF9680 A0500000 */ sb $s0, 0x0000($v0) ## 00000000
/* 00864 80AF9684 A0400000 */ sb $zero, 0x0000($v0) ## 00000000
.L80AF9688:
/* 00868 80AF9688 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 0086C 80AF968C 00139C00 */ sll $s3, $s3, 16
/* 00870 80AF9690 00139C03 */ sra $s3, $s3, 16
/* 00874 80AF9694 2A611000 */ slti $at, $s3, 0x1000
/* 00878 80AF9698 1420FFEB */ bne $at, $zero, .L80AF9648
/* 0087C 80AF969C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 00880 80AF96A0 10000009 */ beq $zero, $zero, .L80AF96C8
/* 00884 80AF96A4 8FD80000 */ lw $t8, 0x0000($s8) ## 8015FA90
.L80AF96A8:
/* 00888 80AF96A8 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000002
/* 0088C 80AF96AC 00139C00 */ sll $s3, $s3, 16
/* 00890 80AF96B0 00139C03 */ sra $s3, $s3, 16
/* 00894 80AF96B4 2A610400 */ slti $at, $s3, 0x0400
/* 00898 80AF96B8 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000005
/* 0089C 80AF96BC 1420FFFA */ bne $at, $zero, .L80AF96A8
/* 008A0 80AF96C0 AC40FFFC */ sw $zero, -0x0004($v0) ## 00000001
/* 008A4 80AF96C4 8FD80000 */ lw $t8, 0x0000($s8) ## 8015FA90
.L80AF96C8:
/* 008A8 80AF96C8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 008AC 80AF96CC 4481B000 */ mtc1 $at, $f22 ## $f22 = 100.00
/* 008B0 80AF96D0 87191338 */ lh $t9, 0x1338($t8) ## 00001338
/* 008B4 80AF96D4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 008B8 80AF96D8 272B0046 */ addiu $t3, $t9, 0x0046 ## $t3 = 00000046
/* 008BC 80AF96DC 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00
/* 008C0 80AF96E0 00000000 */ nop
/* 008C4 80AF96E4 468021A0 */ cvt.s.w $f6, $f4
/* 008C8 80AF96E8 0C0342DC */ jal Matrix_RotateX
/* 008CC 80AF96EC 46163303 */ div.s $f12, $f6, $f22
/* 008D0 80AF96F0 3C1280B0 */ lui $s2, %hi(D_80AFA660) ## $s2 = 80B00000
/* 008D4 80AF96F4 3C0380B0 */ lui $v1, %hi(D_80AFA16C) ## $v1 = 80B00000
/* 008D8 80AF96F8 2463A16C */ addiu $v1, $v1, %lo(D_80AFA16C) ## $v1 = 80AFA16C
/* 008DC 80AF96FC 2652A660 */ addiu $s2, $s2, %lo(D_80AFA660) ## $s2 = 80AFA660
/* 008E0 80AF9700 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 008E4 80AF9704 2414000C */ addiu $s4, $zero, 0x000C ## $s4 = 0000000C
/* 008E8 80AF9708 00736021 */ addu $t4, $v1, $s3
.L80AF970C:
/* 008EC 80AF970C 81820000 */ lb $v0, 0x0000($t4) ## 00000000
/* 008F0 80AF9710 0442000F */ bltzl $v0, .L80AF9750
/* 008F4 80AF9714 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 008F8 80AF9718 00540019 */ multu $v0, $s4
/* 008FC 80AF971C 00006812 */ mflo $t5
/* 00900 80AF9720 024D7021 */ addu $t6, $s2, $t5
/* 00904 80AF9724 00000000 */ nop
/* 00908 80AF9728 02740019 */ multu $s3, $s4
/* 0090C 80AF972C 00007812 */ mflo $t7
/* 00910 80AF9730 02AFC021 */ addu $t8, $s5, $t7
/* 00914 80AF9734 8F0B0908 */ lw $t3, 0x0908($t8) ## 00000908
/* 00918 80AF9738 ADCB0000 */ sw $t3, 0x0000($t6) ## 00000000
/* 0091C 80AF973C 8F19090C */ lw $t9, 0x090C($t8) ## 0000090C
/* 00920 80AF9740 ADD90004 */ sw $t9, 0x0004($t6) ## 00000004
/* 00924 80AF9744 8F0B0910 */ lw $t3, 0x0910($t8) ## 00000910
/* 00928 80AF9748 ADCB0008 */ sw $t3, 0x0008($t6) ## 00000008
/* 0092C 80AF974C 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000002
.L80AF9750:
/* 00930 80AF9750 00139C00 */ sll $s3, $s3, 16
/* 00934 80AF9754 00139C03 */ sra $s3, $s3, 16
/* 00938 80AF9758 2A610012 */ slti $at, $s3, 0x0012
/* 0093C 80AF975C 5420FFEB */ bnel $at, $zero, .L80AF970C
/* 00940 80AF9760 00736021 */ addu $t4, $v1, $s3
/* 00944 80AF9764 3C0480B0 */ lui $a0, %hi(D_80AFA474) ## $a0 = 80B00000
/* 00948 80AF9768 0C00084C */ jal osSyncPrintf
/* 0094C 80AF976C 2484A474 */ addiu $a0, $a0, %lo(D_80AFA474) ## $a0 = 80AFA474
/* 00950 80AF9770 C6420000 */ lwc1 $f2, 0x0000($s2) ## 80AFA660
/* 00954 80AF9774 C65200B4 */ lwc1 $f18, 0x00B4($s2) ## 80AFA714
/* 00958 80AF9778 3C0180B0 */ lui $at, %hi(D_80AFA4F0) ## $at = 80B00000
/* 0095C 80AF977C C42EA4F0 */ lwc1 $f14, %lo(D_80AFA4F0)($at)
/* 00960 80AF9780 46029101 */ sub.s $f4, $f18, $f2
/* 00964 80AF9784 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00968 80AF9788 44815000 */ mtc1 $at, $f10 ## $f10 = 3.00
/* 0096C 80AF978C C6480004 */ lwc1 $f8, 0x0004($s2) ## 80AFA664
/* 00970 80AF9790 460E2182 */ mul.s $f6, $f4, $f14
/* 00974 80AF9794 C64C0008 */ lwc1 $f12, 0x0008($s2) ## 80AFA668
/* 00978 80AF9798 460A4400 */ add.s $f16, $f8, $f10
/* 0097C 80AF979C C64A00B8 */ lwc1 $f10, 0x00B8($s2) ## 80AFA718
/* 00980 80AF97A0 3C0180B0 */ lui $at, %hi(D_80AFA4F4) ## $at = 80B00000
/* 00984 80AF97A4 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00988 80AF97A8 E6500004 */ swc1 $f16, 0x0004($s2) ## 80AFA664
/* 0098C 80AF97AC 46023200 */ add.s $f8, $f6, $f2
/* 00990 80AF97B0 C6400004 */ lwc1 $f0, 0x0004($s2) ## 80AFA664
/* 00994 80AF97B4 E64800B4 */ swc1 $f8, 0x00B4($s2) ## 80AFA714
/* 00998 80AF97B8 46005401 */ sub.s $f16, $f10, $f0
/* 0099C 80AF97BC C64800BC */ lwc1 $f8, 0x00BC($s2) ## 80AFA71C
/* 009A0 80AF97C0 C432A4F4 */ lwc1 $f18, %lo(D_80AFA4F4)($at)
/* 009A4 80AF97C4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 009A8 80AF97C8 460C4281 */ sub.s $f10, $f8, $f12
/* 009AC 80AF97CC 46128102 */ mul.s $f4, $f16, $f18
/* 009B0 80AF97D0 4481A000 */ mtc1 $at, $f20 ## $f20 = 5.00
/* 009B4 80AF97D4 460E5402 */ mul.s $f16, $f10, $f14
/* 009B8 80AF97D8 46002180 */ add.s $f6, $f4, $f0
/* 009BC 80AF97DC 460C8480 */ add.s $f18, $f16, $f12
/* 009C0 80AF97E0 E64600B8 */ swc1 $f6, 0x00B8($s2) ## 80AFA718
/* 009C4 80AF97E4 E65200BC */ swc1 $f18, 0x00BC($s2) ## 80AFA71C
/* 009C8 80AF97E8 44932000 */ mtc1 $s3, $f4 ## $f4 = 0.00
.L80AF97EC:
/* 009CC 80AF97EC 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
/* 009D0 80AF97F0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 009D4 80AF97F4 468021A0 */ cvt.s.w $f6, $f4
/* 009D8 80AF97F8 46143203 */ div.s $f8, $f6, $f20
/* 009DC 80AF97FC 44064000 */ mfc1 $a2, $f8
/* 009E0 80AF9800 0C2BE3D8 */ jal func_80AF8F60
/* 009E4 80AF9804 00000000 */ nop
/* 009E8 80AF9808 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 009EC 80AF980C 00139C00 */ sll $s3, $s3, 16
/* 009F0 80AF9810 00139C03 */ sra $s3, $s3, 16
/* 009F4 80AF9814 2A610006 */ slti $at, $s3, 0x0006
/* 009F8 80AF9818 5420FFF4 */ bnel $at, $zero, .L80AF97EC
/* 009FC 80AF981C 44932000 */ mtc1 $s3, $f4 ## $f4 = 0.00
/* 00A00 80AF9820 3C0480B0 */ lui $a0, %hi(D_80AFA480) ## $a0 = 80B00000
/* 00A04 80AF9824 0C00084C */ jal osSyncPrintf
/* 00A08 80AF9828 2484A480 */ addiu $a0, $a0, %lo(D_80AFA480) ## $a0 = 80AFA480
/* 00A0C 80AF982C 86CC001C */ lh $t4, 0x001C($s6) ## 0000001C
/* 00A10 80AF9830 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00A14 80AF9834 26B20A20 */ addiu $s2, $s5, 0x0A20 ## $s2 = 00000A20
/* 00A18 80AF9838 118100E1 */ beq $t4, $at, .L80AF9BC0
/* 00A1C 80AF983C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000A20
/* 00A20 80AF9840 27A50178 */ addiu $a1, $sp, 0x0178 ## $a1 = FFFFFFC8
/* 00A24 80AF9844 0C034833 */ jal func_800D20CC
/* 00A28 80AF9848 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00A2C 80AF984C 8FC30000 */ lw $v1, 0x0000($s8) ## 8015FA90
/* 00A30 80AF9850 87AD017A */ lh $t5, 0x017A($sp)
/* 00A34 80AF9854 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00A38 80AF9858 846F0A82 */ lh $t7, 0x0A82($v1) ## 00000A82
/* 00A3C 80AF985C 87AB0178 */ lh $t3, 0x0178($sp)
/* 00A40 80AF9860 02402025 */ or $a0, $s2, $zero ## $a0 = 00000A20
/* 00A44 80AF9864 000F73C0 */ sll $t6, $t7, 15
/* 00A48 80AF9868 01AEC021 */ addu $t8, $t5, $t6
/* 00A4C 80AF986C 0301C821 */ addu $t9, $t8, $at
/* 00A50 80AF9870 A7B9017A */ sh $t9, 0x017A($sp)
/* 00A54 80AF9874 846C0A84 */ lh $t4, 0x0A84($v1) ## 00000A84
/* 00A58 80AF9878 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00A5C 80AF987C 258FFFFF */ addiu $t7, $t4, 0xFFFF ## $t7 = FFFFFFFF
/* 00A60 80AF9880 016F0019 */ multu $t3, $t7
/* 00A64 80AF9884 00006812 */ mflo $t5
/* 00A68 80AF9888 A7AD0178 */ sh $t5, 0x0178($sp)
/* 00A6C 80AF988C 0C03424C */ jal Matrix_Mult
/* 00A70 80AF9890 00000000 */ nop
/* 00A74 80AF9894 3C0480B0 */ lui $a0, %hi(D_80AFA0D0) ## $a0 = 80B00000
/* 00A78 80AF9898 2484A0D0 */ addiu $a0, $a0, %lo(D_80AFA0D0) ## $a0 = 80AFA0D0
/* 00A7C 80AF989C 0C0346BD */ jal Matrix_MultVec3f
/* 00A80 80AF98A0 27A5016C */ addiu $a1, $sp, 0x016C ## $a1 = FFFFFFBC
/* 00A84 80AF98A4 87AE017A */ lh $t6, 0x017A($sp)
/* 00A88 80AF98A8 3C014700 */ lui $at, 0x4700 ## $at = 47000000
/* 00A8C 80AF98AC 4481A000 */ mtc1 $at, $f20 ## $f20 = 32768.00
/* 00A90 80AF98B0 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00
/* 00A94 80AF98B4 3C0180B0 */ lui $at, %hi(D_80AFA4F8) ## $at = 80B00000
/* 00A98 80AF98B8 C424A4F8 */ lwc1 $f4, %lo(D_80AFA4F8)($at)
/* 00A9C 80AF98BC 46805420 */ cvt.s.w $f16, $f10
/* 00AA0 80AF98C0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00AA4 80AF98C4 46148483 */ div.s $f18, $f16, $f20
/* 00AA8 80AF98C8 46049302 */ mul.s $f12, $f18, $f4
/* 00AAC 80AF98CC 0C034348 */ jal Matrix_RotateY
/* 00AB0 80AF98D0 00000000 */ nop
/* 00AB4 80AF98D4 87B80178 */ lh $t8, 0x0178($sp)
/* 00AB8 80AF98D8 3C0180B0 */ lui $at, %hi(D_80AFA4FC) ## $at = 80B00000
/* 00ABC 80AF98DC C430A4FC */ lwc1 $f16, %lo(D_80AFA4FC)($at)
/* 00AC0 80AF98E0 44983000 */ mtc1 $t8, $f6 ## $f6 = 0.00
/* 00AC4 80AF98E4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00AC8 80AF98E8 46803220 */ cvt.s.w $f8, $f6
/* 00ACC 80AF98EC 46144283 */ div.s $f10, $f8, $f20
/* 00AD0 80AF98F0 46105302 */ mul.s $f12, $f10, $f16
/* 00AD4 80AF98F4 0C0342DC */ jal Matrix_RotateX
/* 00AD8 80AF98F8 00000000 */ nop
/* 00ADC 80AF98FC 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 00AE0 80AF9900 4481A000 */ mtc1 $at, $f20 ## $f20 = 4.00
/* 00AE4 80AF9904 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00AE8 80AF9908 27B70064 */ addiu $s7, $sp, 0x0064 ## $s7 = FFFFFEB4
/* 00AEC 80AF990C 27B60188 */ addiu $s6, $sp, 0x0188 ## $s6 = FFFFFFD8
.L80AF9910:
/* 00AF0 80AF9910 02740019 */ multu $s3, $s4
/* 00AF4 80AF9914 3C1980B0 */ lui $t9, %hi(D_80AFA180) ## $t9 = 80B00000
/* 00AF8 80AF9918 2739A180 */ addiu $t9, $t9, %lo(D_80AFA180) ## $t9 = 80AFA180
/* 00AFC 80AF991C 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFD8
/* 00B00 80AF9920 00009012 */ mflo $s2
/* 00B04 80AF9924 02592021 */ addu $a0, $s2, $t9
/* 00B08 80AF9928 0C0346BD */ jal Matrix_MultVec3f
/* 00B0C 80AF992C 00000000 */ nop
/* 00B10 80AF9930 8FC30000 */ lw $v1, 0x0000($s8) ## 8015FA90
/* 00B14 80AF9934 C7AA0188 */ lwc1 $f10, 0x0188($sp)
/* 00B18 80AF9938 02F21021 */ addu $v0, $s7, $s2
/* 00B1C 80AF993C 846C0A78 */ lh $t4, 0x0A78($v1) ## 00000A78
/* 00B20 80AF9940 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 00B24 80AF9944 00139C00 */ sll $s3, $s3, 16
/* 00B28 80AF9948 448C9000 */ mtc1 $t4, $f18 ## $f18 = 0.00
/* 00B2C 80AF994C 00139C03 */ sra $s3, $s3, 16
/* 00B30 80AF9950 2A610016 */ slti $at, $s3, 0x0016
/* 00B34 80AF9954 46809120 */ cvt.s.w $f4, $f18
/* 00B38 80AF9958 C7B2016C */ lwc1 $f18, 0x016C($sp)
/* 00B3C 80AF995C 46162183 */ div.s $f6, $f4, $f22
/* 00B40 80AF9960 46143200 */ add.s $f8, $f6, $f20
/* 00B44 80AF9964 460A4402 */ mul.s $f16, $f8, $f10
/* 00B48 80AF9968 46128100 */ add.s $f4, $f16, $f18
/* 00B4C 80AF996C E4440000 */ swc1 $f4, 0x0000($v0) ## 00000000
/* 00B50 80AF9970 846B0A78 */ lh $t3, 0x0A78($v1) ## 00000A78
/* 00B54 80AF9974 C7B2018C */ lwc1 $f18, 0x018C($sp)
/* 00B58 80AF9978 448B3000 */ mtc1 $t3, $f6 ## $f6 = 0.00
/* 00B5C 80AF997C 00000000 */ nop
/* 00B60 80AF9980 46803220 */ cvt.s.w $f8, $f6
/* 00B64 80AF9984 C7A60170 */ lwc1 $f6, 0x0170($sp)
/* 00B68 80AF9988 46164283 */ div.s $f10, $f8, $f22
/* 00B6C 80AF998C 46145400 */ add.s $f16, $f10, $f20
/* 00B70 80AF9990 46128102 */ mul.s $f4, $f16, $f18
/* 00B74 80AF9994 46062200 */ add.s $f8, $f4, $f6
/* 00B78 80AF9998 E4480004 */ swc1 $f8, 0x0004($v0) ## 00000004
/* 00B7C 80AF999C 846F0A78 */ lh $t7, 0x0A78($v1) ## 00000A78
/* 00B80 80AF99A0 C7A60190 */ lwc1 $f6, 0x0190($sp)
/* 00B84 80AF99A4 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
/* 00B88 80AF99A8 00000000 */ nop
/* 00B8C 80AF99AC 46805420 */ cvt.s.w $f16, $f10
/* 00B90 80AF99B0 C7AA0174 */ lwc1 $f10, 0x0174($sp)
/* 00B94 80AF99B4 46168483 */ div.s $f18, $f16, $f22
/* 00B98 80AF99B8 46149100 */ add.s $f4, $f18, $f20
/* 00B9C 80AF99BC 46062202 */ mul.s $f8, $f4, $f6
/* 00BA0 80AF99C0 460A4400 */ add.s $f16, $f8, $f10
/* 00BA4 80AF99C4 1420FFD2 */ bne $at, $zero, .L80AF9910
/* 00BA8 80AF99C8 E4500008 */ swc1 $f16, 0x0008($v0) ## 00000008
/* 00BAC 80AF99CC 846D1338 */ lh $t5, 0x1338($v1) ## 00001338
/* 00BB0 80AF99D0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00BB4 80AF99D4 25AE0046 */ addiu $t6, $t5, 0x0046 ## $t6 = 00000046
/* 00BB8 80AF99D8 448E9000 */ mtc1 $t6, $f18 ## $f18 = 0.00
/* 00BBC 80AF99DC 00000000 */ nop
/* 00BC0 80AF99E0 46809120 */ cvt.s.w $f4, $f18
/* 00BC4 80AF99E4 0C0342DC */ jal Matrix_RotateX
/* 00BC8 80AF99E8 46162303 */ div.s $f12, $f4, $f22
/* 00BCC 80AF99EC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00BD0 80AF99F0 3C1280B0 */ lui $s2, %hi(D_80AFA0E8) ## $s2 = 80B00000
/* 00BD4 80AF99F4 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
/* 00BD8 80AF99F8 2652A0E8 */ addiu $s2, $s2, %lo(D_80AFA0E8) ## $s2 = 80AFA0E8
/* 00BDC 80AF99FC 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
.L80AF9A00:
/* 00BE0 80AF9A00 02740019 */ multu $s3, $s4
/* 00BE4 80AF9A04 C6A80024 */ lwc1 $f8, 0x0024($s5) ## 00000024
/* 00BE8 80AF9A08 8FD90000 */ lw $t9, 0x0000($s8) ## 8015FA90
/* 00BEC 80AF9A0C 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 00BF0 80AF9A10 27A40194 */ addiu $a0, $sp, 0x0194 ## $a0 = FFFFFFE4
/* 00BF4 80AF9A14 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFD8
/* 00BF8 80AF9A18 0000C012 */ mflo $t8
/* 00BFC 80AF9A1C 02F81021 */ addu $v0, $s7, $t8
/* 00C00 80AF9A20 C4460000 */ lwc1 $f6, 0x0000($v0) ## 00000000
/* 00C04 80AF9A24 46083281 */ sub.s $f10, $f6, $f8
/* 00C08 80AF9A28 E7AA0194 */ swc1 $f10, 0x0194($sp)
/* 00C0C 80AF9A2C 872C0A74 */ lh $t4, 0x0A74($t9) ## 00000A74
/* 00C10 80AF9A30 C6B20028 */ lwc1 $f18, 0x0028($s5) ## 00000028
/* 00C14 80AF9A34 C4500004 */ lwc1 $f16, 0x0004($v0) ## 00000004
/* 00C18 80AF9A38 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00
/* 00C1C 80AF9A3C 46128101 */ sub.s $f4, $f16, $f18
/* 00C20 80AF9A40 44818000 */ mtc1 $at, $f16 ## $f16 = 16.00
/* 00C24 80AF9A44 46803220 */ cvt.s.w $f8, $f6
/* 00C28 80AF9A48 46044280 */ add.s $f10, $f8, $f4
/* 00C2C 80AF9A4C 46105480 */ add.s $f18, $f10, $f16
/* 00C30 80AF9A50 E7B20198 */ swc1 $f18, 0x0198($sp)
/* 00C34 80AF9A54 C6A8002C */ lwc1 $f8, 0x002C($s5) ## 0000002C
/* 00C38 80AF9A58 C4460008 */ lwc1 $f6, 0x0008($v0) ## 00000008
/* 00C3C 80AF9A5C 46083101 */ sub.s $f4, $f6, $f8
/* 00C40 80AF9A60 0C0346BD */ jal Matrix_MultVec3f
/* 00C44 80AF9A64 E7A4019C */ swc1 $f4, 0x019C($sp)
/* 00C48 80AF9A68 8FC30000 */ lw $v1, 0x0000($s8) ## 8015FA90
/* 00C4C 80AF9A6C C7AA0188 */ lwc1 $f10, 0x0188($sp)
/* 00C50 80AF9A70 3C014200 */ lui $at, 0x4200 ## $at = 42000000
/* 00C54 80AF9A74 846B0A88 */ lh $t3, 0x0A88($v1) ## 00000A88
/* 00C58 80AF9A78 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 00C5C 80AF9A7C 00139C00 */ sll $s3, $s3, 16
/* 00C60 80AF9A80 448B8000 */ mtc1 $t3, $f16 ## $f16 = 0.00
/* 00C64 80AF9A84 00139C03 */ sra $s3, $s3, 16
/* 00C68 80AF9A88 468084A0 */ cvt.s.w $f18, $f16
/* 00C6C 80AF9A8C C7B0018C */ lwc1 $f16, 0x018C($sp)
/* 00C70 80AF9A90 46169183 */ div.s $f6, $f18, $f22
/* 00C74 80AF9A94 4606A200 */ add.s $f8, $f20, $f6
/* 00C78 80AF9A98 46085102 */ mul.s $f4, $f10, $f8
/* 00C7C 80AF9A9C E7A40188 */ swc1 $f4, 0x0188($sp)
/* 00C80 80AF9AA0 846F0A88 */ lh $t7, 0x0A88($v1) ## 00000A88
/* 00C84 80AF9AA4 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00
/* 00C88 80AF9AA8 00000000 */ nop
/* 00C8C 80AF9AAC 468091A0 */ cvt.s.w $f6, $f18
/* 00C90 80AF9AB0 46163283 */ div.s $f10, $f6, $f22
/* 00C94 80AF9AB4 44813000 */ mtc1 $at, $f6 ## $f6 = 32.00
/* 00C98 80AF9AB8 460AA200 */ add.s $f8, $f20, $f10
/* 00C9C 80AF9ABC 46062280 */ add.s $f10, $f4, $f6
/* 00CA0 80AF9AC0 46088482 */ mul.s $f18, $f16, $f8
/* 00CA4 80AF9AC4 4600540D */ trunc.w.s $f16, $f10
/* 00CA8 80AF9AC8 E7B2018C */ swc1 $f18, 0x018C($sp)
/* 00CAC 80AF9ACC 4600920D */ trunc.w.s $f8, $f18
/* 00CB0 80AF9AD0 44088000 */ mfc1 $t0, $f16
/* 00CB4 80AF9AD4 44094000 */ mfc1 $t1, $f8
/* 00CB8 80AF9AD8 00084400 */ sll $t0, $t0, 16
/* 00CBC 80AF9ADC 00084403 */ sra $t0, $t0, 16
/* 00CC0 80AF9AE0 00094C00 */ sll $t1, $t1, 16
/* 00CC4 80AF9AE4 00094C03 */ sra $t1, $t1, 16
/* 00CC8 80AF9AE8 00094980 */ sll $t1, $t1, 6
/* 00CCC 80AF9AEC 00094C00 */ sll $t1, $t1, 16
/* 00CD0 80AF9AF0 00094C03 */ sra $t1, $t1, 16
/* 00CD4 80AF9AF4 00005025 */ or $t2, $zero, $zero ## $t2 = 00000000
.L80AF9AF8:
/* 00CD8 80AF9AF8 2407FF40 */ addiu $a3, $zero, 0xFF40 ## $a3 = FFFFFF40
.L80AF9AFC:
/* 00CDC 80AF9AFC 000AC040 */ sll $t8, $t2, 1
/* 00CE0 80AF9B00 02583021 */ addu $a2, $s2, $t8
/* 00CE4 80AF9B04 84C20000 */ lh $v0, 0x0000($a2) ## 00000000
/* 00CE8 80AF9B08 254A0001 */ addiu $t2, $t2, 0x0001 ## $t2 = 00000001
/* 00CEC 80AF9B0C 000A5400 */ sll $t2, $t2, 16
/* 00CF0 80AF9B10 00022023 */ subu $a0, $zero, $v0
/* 00CF4 80AF9B14 00042400 */ sll $a0, $a0, 16
/* 00CF8 80AF9B18 00042403 */ sra $a0, $a0, 16
/* 00CFC 80AF9B1C 2445FFFF */ addiu $a1, $v0, 0xFFFF ## $a1 = FFFFFFFF
/* 00D00 80AF9B20 0085082A */ slt $at, $a0, $a1
/* 00D04 80AF9B24 10200018 */ beq $at, $zero, .L80AF9B88
/* 00D08 80AF9B28 000A5403 */ sra $t2, $t2, 16
/* 00D0C 80AF9B2C 01041021 */ addu $v0, $t0, $a0
.L80AF9B30:
/* 00D10 80AF9B30 00021400 */ sll $v0, $v0, 16
/* 00D14 80AF9B34 00021403 */ sra $v0, $v0, 16
/* 00D18 80AF9B38 0440000E */ bltz $v0, .L80AF9B74
/* 00D1C 80AF9B3C 24840001 */ addiu $a0, $a0, 0x0001 ## $a0 = 00000001
/* 00D20 80AF9B40 28410040 */ slti $at, $v0, 0x0040
/* 00D24 80AF9B44 1020000B */ beq $at, $zero, .L80AF9B74
/* 00D28 80AF9B48 01271821 */ addu $v1, $t1, $a3
/* 00D2C 80AF9B4C 00031C00 */ sll $v1, $v1, 16
/* 00D30 80AF9B50 00031C03 */ sra $v1, $v1, 16
/* 00D34 80AF9B54 04600007 */ bltz $v1, .L80AF9B74
/* 00D38 80AF9B58 28611000 */ slti $at, $v1, 0x1000
/* 00D3C 80AF9B5C 10200005 */ beq $at, $zero, .L80AF9B74
/* 00D40 80AF9B60 0222C821 */ addu $t9, $s1, $v0
/* 00D44 80AF9B64 03236021 */ addu $t4, $t9, $v1
/* 00D48 80AF9B68 A1900000 */ sb $s0, 0x0000($t4) ## 00000000
/* 00D4C 80AF9B6C 84C50000 */ lh $a1, 0x0000($a2) ## 00000000
/* 00D50 80AF9B70 24A5FFFF */ addiu $a1, $a1, 0xFFFF ## $a1 = FFFFFFFE
.L80AF9B74:
/* 00D54 80AF9B74 00042400 */ sll $a0, $a0, 16
/* 00D58 80AF9B78 00042403 */ sra $a0, $a0, 16
/* 00D5C 80AF9B7C 0085082A */ slt $at, $a0, $a1
/* 00D60 80AF9B80 5420FFEB */ bnel $at, $zero, .L80AF9B30
/* 00D64 80AF9B84 01041021 */ addu $v0, $t0, $a0
.L80AF9B88:
/* 00D68 80AF9B88 24E70040 */ addiu $a3, $a3, 0x0040 ## $a3 = FFFFFF80
/* 00D6C 80AF9B8C 00073C00 */ sll $a3, $a3, 16
/* 00D70 80AF9B90 29410007 */ slti $at, $t2, 0x0007
/* 00D74 80AF9B94 1420FFD9 */ bne $at, $zero, .L80AF9AFC
/* 00D78 80AF9B98 00073C03 */ sra $a3, $a3, 16
/* 00D7C 80AF9B9C 254A0001 */ addiu $t2, $t2, 0x0001 ## $t2 = 00000002
/* 00D80 80AF9BA0 000A5400 */ sll $t2, $t2, 16
/* 00D84 80AF9BA4 000A5403 */ sra $t2, $t2, 16
/* 00D88 80AF9BA8 29410006 */ slti $at, $t2, 0x0006
/* 00D8C 80AF9BAC 5420FFD2 */ bnel $at, $zero, .L80AF9AF8
/* 00D90 80AF9BB0 00005025 */ or $t2, $zero, $zero ## $t2 = 00000000
/* 00D94 80AF9BB4 2A610016 */ slti $at, $s3, 0x0016
/* 00D98 80AF9BB8 1420FF91 */ bne $at, $zero, .L80AF9A00
/* 00D9C 80AF9BBC 00000000 */ nop
.L80AF9BC0:
/* 00DA0 80AF9BC0 8FCB0000 */ lw $t3, 0x0000($s8) ## 8015FA90
/* 00DA4 80AF9BC4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00DA8 80AF9BC8 02201025 */ or $v0, $s1, $zero ## $v0 = 00000000
/* 00DAC 80AF9BCC 856F134E */ lh $t7, 0x134E($t3) ## 0000134E
/* 00DB0 80AF9BD0 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00DB4 80AF9BD4 240400FF */ addiu $a0, $zero, 0x00FF ## $a0 = 000000FF
/* 00DB8 80AF9BD8 15E10014 */ bne $t7, $at, .L80AF9C2C
/* 00DBC 80AF9BDC 00000000 */ nop
.L80AF9BE0:
/* 00DC0 80AF9BE0 904D0000 */ lbu $t5, 0x0000($v0) ## 00000000
/* 00DC4 80AF9BE4 51A0000C */ beql $t5, $zero, .L80AF9C18
/* 00DC8 80AF9BE8 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 00DCC 80AF9BEC 8FC30000 */ lw $v1, 0x0000($s8) ## 8015FA90
/* 00DD0 80AF9BF0 00137183 */ sra $t6, $s3, 6
/* 00DD4 80AF9BF4 8478134C */ lh $t8, 0x134C($v1) ## 0000134C
/* 00DD8 80AF9BF8 846B134E */ lh $t3, 0x134E($v1) ## 0000134E
/* 00DDC 80AF9BFC 27190004 */ addiu $t9, $t8, 0x0004 ## $t9 = 00000004
/* 00DE0 80AF9C00 01D90019 */ multu $t6, $t9
/* 00DE4 80AF9C04 008B7823 */ subu $t7, $a0, $t3
/* 00DE8 80AF9C08 00006012 */ mflo $t4
/* 00DEC 80AF9C0C 01EC6823 */ subu $t5, $t7, $t4
/* 00DF0 80AF9C10 A04D0000 */ sb $t5, 0x0000($v0) ## 00000000
/* 00DF4 80AF9C14 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000002
.L80AF9C18:
/* 00DF8 80AF9C18 00139C00 */ sll $s3, $s3, 16
/* 00DFC 80AF9C1C 00139C03 */ sra $s3, $s3, 16
/* 00E00 80AF9C20 2A611000 */ slti $at, $s3, 0x1000
/* 00E04 80AF9C24 1420FFEE */ bne $at, $zero, .L80AF9BE0
/* 00E08 80AF9C28 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
.L80AF9C2C:
/* 00E0C 80AF9C2C 3C0480B0 */ lui $a0, %hi(D_80AFA48C) ## $a0 = 80B00000
/* 00E10 80AF9C30 0C00084C */ jal osSyncPrintf
/* 00E14 80AF9C34 2484A48C */ addiu $a0, $a0, %lo(D_80AFA48C) ## $a0 = 80AFA48C
/* 00E18 80AF9C38 8FBF004C */ lw $ra, 0x004C($sp)
/* 00E1C 80AF9C3C D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00E20 80AF9C40 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00E24 80AF9C44 8FB00028 */ lw $s0, 0x0028($sp)
/* 00E28 80AF9C48 8FB1002C */ lw $s1, 0x002C($sp)
/* 00E2C 80AF9C4C 8FB20030 */ lw $s2, 0x0030($sp)
/* 00E30 80AF9C50 8FB30034 */ lw $s3, 0x0034($sp)
/* 00E34 80AF9C54 8FB40038 */ lw $s4, 0x0038($sp)
/* 00E38 80AF9C58 8FB5003C */ lw $s5, 0x003C($sp)
/* 00E3C 80AF9C5C 8FB60040 */ lw $s6, 0x0040($sp)
/* 00E40 80AF9C60 8FB70044 */ lw $s7, 0x0044($sp)
/* 00E44 80AF9C64 8FBE0048 */ lw $s8, 0x0048($sp)
/* 00E48 80AF9C68 03E00008 */ jr $ra
/* 00E4C 80AF9C6C 27BD01B0 */ addiu $sp, $sp, 0x01B0 ## $sp = 00000000

View file

@ -1,307 +0,0 @@
.rdata
glabel D_80AFA498
.asciz "../z_en_sda.c"
.balign 4
glabel D_80AFA4A8
.asciz "SDA D 1\n"
.balign 4
glabel D_80AFA4B4
.asciz "../z_en_sda.c"
.balign 4
glabel D_80AFA4C4
.asciz "../z_en_sda.c"
.balign 4
glabel D_80AFA4D4
.asciz "SDA D 2\n"
.balign 4
glabel D_80AFA4E0
.asciz "../z_en_sda.c"
.balign 4
.late_rodata
glabel D_80AFA500
.float 0.6
.text
glabel func_80AF9C70
/* 00E50 80AF9C70 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58
/* 00E54 80AF9C74 AFBF0034 */ sw $ra, 0x0034($sp)
/* 00E58 80AF9C78 AFB40030 */ sw $s4, 0x0030($sp)
/* 00E5C 80AF9C7C AFB3002C */ sw $s3, 0x002C($sp)
/* 00E60 80AF9C80 AFB20028 */ sw $s2, 0x0028($sp)
/* 00E64 80AF9C84 AFB10024 */ sw $s1, 0x0024($sp)
/* 00E68 80AF9C88 AFB00020 */ sw $s0, 0x0020($sp)
/* 00E6C 80AF9C8C F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00E70 80AF9C90 AFA400A8 */ sw $a0, 0x00A8($sp)
/* 00E74 80AF9C94 8CD20000 */ lw $s2, 0x0000($a2) ## 00000000
/* 00E78 80AF9C98 00C0A025 */ or $s4, $a2, $zero ## $s4 = 00000000
/* 00E7C 80AF9C9C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00E80 80AF9CA0 3C0680B0 */ lui $a2, %hi(D_80AFA498) ## $a2 = 80B00000
/* 00E84 80AF9CA4 24C6A498 */ addiu $a2, $a2, %lo(D_80AFA498) ## $a2 = 80AFA498
/* 00E88 80AF9CA8 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFD8
/* 00E8C 80AF9CAC 2407033A */ addiu $a3, $zero, 0x033A ## $a3 = 0000033A
/* 00E90 80AF9CB0 0C031AB1 */ jal Graph_OpenDisps
/* 00E94 80AF9CB4 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 00E98 80AF9CB8 3C0480B0 */ lui $a0, %hi(D_80AFA4A8) ## $a0 = 80B00000
/* 00E9C 80AF9CBC 0C00084C */ jal osSyncPrintf
/* 00EA0 80AF9CC0 2484A4A8 */ addiu $a0, $a0, %lo(D_80AFA4A8) ## $a0 = 80AFA4A8
/* 00EA4 80AF9CC4 0C025011 */ jal func_80094044
/* 00EA8 80AF9CC8 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
/* 00EAC 80AF9CCC 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 00EB0 80AF9CD0 3C138016 */ lui $s3, %hi(gGameInfo)
/* 00EB4 80AF9CD4 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000
/* 00EB8 80AF9CD8 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 00EBC 80AF9CDC AE4E02D0 */ sw $t6, 0x02D0($s2) ## 000002D0
/* 00EC0 80AF9CE0 2673FA90 */ addiu $s3, %lo(gGameInfo)
/* 00EC4 80AF9CE4 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 00EC8 80AF9CE8 8E780000 */ lw $t8, 0x0000($s3) ## 8015FA90
/* 00ECC 80AF9CEC 3C0BFB00 */ lui $t3, 0xFB00 ## $t3 = FB000000
/* 00ED0 80AF9CF0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00ED4 80AF9CF4 8719133C */ lh $t9, 0x133C($t8) ## 0000133C
/* 00ED8 80AF9CF8 27280032 */ addiu $t0, $t9, 0x0032 ## $t0 = 00000032
/* 00EDC 80AF9CFC 310900FF */ andi $t1, $t0, 0x00FF ## $t1 = 00000032
/* 00EE0 80AF9D00 AC690004 */ sw $t1, 0x0004($v1) ## 00000004
/* 00EE4 80AF9D04 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 00EE8 80AF9D08 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
/* 00EEC 80AF9D0C AE4A02D0 */ sw $t2, 0x02D0($s2) ## 000002D0
/* 00EF0 80AF9D10 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 00EF4 80AF9D14 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000
/* 00EF8 80AF9D18 8E26002C */ lw $a2, 0x002C($s1) ## 0000002C
/* 00EFC 80AF9D1C C62E0080 */ lwc1 $f14, 0x0080($s1) ## 00000080
/* 00F00 80AF9D20 0C034261 */ jal Matrix_Translate
/* 00F04 80AF9D24 C62C0024 */ lwc1 $f12, 0x0024($s1) ## 00000024
/* 00F08 80AF9D28 8E6C0000 */ lw $t4, 0x0000($s3) ## 8015FA90
/* 00F0C 80AF9D2C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00F10 80AF9D30 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
/* 00F14 80AF9D34 858D133A */ lh $t5, 0x133A($t4) ## 0000133A
/* 00F18 80AF9D38 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00F1C 80AF9D3C 448D2000 */ mtc1 $t5, $f4 ## $f4 = 0.00
/* 00F20 80AF9D40 00000000 */ nop
/* 00F24 80AF9D44 468021A0 */ cvt.s.w $f6, $f4
/* 00F28 80AF9D48 0C034348 */ jal Matrix_RotateY
/* 00F2C 80AF9D4C 46083303 */ div.s $f12, $f6, $f8
/* 00F30 80AF9D50 8E6E0000 */ lw $t6, 0x0000($s3) ## 8015FA90
/* 00F34 80AF9D54 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00F38 80AF9D58 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
/* 00F3C 80AF9D5C 85CF1352 */ lh $t7, 0x1352($t6) ## 00001352
/* 00F40 80AF9D60 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00F44 80AF9D64 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
/* 00F48 80AF9D68 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
/* 00F4C 80AF9D6C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00F50 80AF9D70 4600A306 */ mov.s $f12, $f20
/* 00F54 80AF9D74 46805420 */ cvt.s.w $f16, $f10
/* 00F58 80AF9D78 4600A386 */ mov.s $f14, $f20
/* 00F5C 80AF9D7C 46128103 */ div.s $f4, $f16, $f18
/* 00F60 80AF9D80 46142180 */ add.s $f6, $f4, $f20
/* 00F64 80AF9D84 44063000 */ mfc1 $a2, $f6
/* 00F68 80AF9D88 0C0342A3 */ jal Matrix_Scale
/* 00F6C 80AF9D8C 00000000 */ nop
/* 00F70 80AF9D90 8E700000 */ lw $s0, 0x0000($s3) ## 8015FA90
/* 00F74 80AF9D94 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00F78 80AF9D98 44811000 */ mtc1 $at, $f2 ## $f2 = 10.00
/* 00F7C 80AF9D9C 86181350 */ lh $t8, 0x1350($s0) ## 00001350
/* 00F80 80AF9DA0 86191340 */ lh $t9, 0x1340($s0) ## 00001340
/* 00F84 80AF9DA4 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00F88 80AF9DA8 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00
/* 00F8C 80AF9DAC 44819000 */ mtc1 $at, $f18 ## $f18 = 2.00
/* 00F90 80AF9DB0 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028
/* 00F94 80AF9DB4 468042A0 */ cvt.s.w $f10, $f8
/* 00F98 80AF9DB8 C6260080 */ lwc1 $f6, 0x0080($s1) ## 00000080
/* 00F9C 80AF9DBC 86081342 */ lh $t0, 0x1342($s0) ## 00001342
/* 00FA0 80AF9DC0 860A1348 */ lh $t2, 0x1348($s0) ## 00001348
/* 00FA4 80AF9DC4 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00FA8 80AF9DC8 46062201 */ sub.s $f8, $f4, $f6
/* 00FAC 80AF9DCC 2509FFFB */ addiu $t1, $t0, 0xFFFB ## $t1 = FFFFFFFB
/* 00FB0 80AF9DD0 44892000 */ mtc1 $t1, $f4 ## $f4 = NaN
/* 00FB4 80AF9DD4 46025403 */ div.s $f16, $f10, $f2
/* 00FB8 80AF9DD8 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 00FBC 80AF9DDC 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
/* 00FC0 80AF9DE0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00FC4 80AF9DE4 468021A0 */ cvt.s.w $f6, $f4
/* 00FC8 80AF9DE8 46128300 */ add.s $f12, $f16, $f18
/* 00FCC 80AF9DEC 46805420 */ cvt.s.w $f16, $f10
/* 00FD0 80AF9DF0 46104480 */ add.s $f18, $f8, $f16
/* 00FD4 80AF9DF4 448A8000 */ mtc1 $t2, $f16 ## $f16 = 0.00
/* 00FD8 80AF9DF8 46069282 */ mul.s $f10, $f18, $f6
/* 00FDC 80AF9DFC 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
/* 00FE0 80AF9E00 46808120 */ cvt.s.w $f4, $f16
/* 00FE4 80AF9E04 46025203 */ div.s $f8, $f10, $f2
/* 00FE8 80AF9E08 46082480 */ add.s $f18, $f4, $f8
/* 00FEC 80AF9E0C 46069001 */ sub.s $f0, $f18, $f6
/* 00FF0 80AF9E10 44060000 */ mfc1 $a2, $f0
/* 00FF4 80AF9E14 0C034261 */ jal Matrix_Translate
/* 00FF8 80AF9E18 00000000 */ nop
/* 00FFC 80AF9E1C 8E700000 */ lw $s0, 0x0000($s3) ## 8015FA90
/* 01000 80AF9E20 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01004 80AF9E24 44810000 */ mtc1 $at, $f0 ## $f0 = 1000.00
/* 01008 80AF9E28 860D134A */ lh $t5, 0x134A($s0) ## 0000134A
/* 0100C 80AF9E2C 860B1344 */ lh $t3, 0x1344($s0) ## 00001344
/* 01010 80AF9E30 3C0180B0 */ lui $at, %hi(D_80AFA500) ## $at = 80B00000
/* 01014 80AF9E34 25AEFF06 */ addiu $t6, $t5, 0xFF06 ## $t6 = FFFFFF06
/* 01018 80AF9E38 448E4000 */ mtc1 $t6, $f8 ## $f8 = NaN
/* 0101C 80AF9E3C 256CFF06 */ addiu $t4, $t3, 0xFF06 ## $t4 = FFFFFF06
/* 01020 80AF9E40 448C5000 */ mtc1 $t4, $f10 ## $f10 = NaN
/* 01024 80AF9E44 468044A0 */ cvt.s.w $f18, $f8
/* 01028 80AF9E48 C422A500 */ lwc1 $f2, %lo(D_80AFA500)($at)
/* 0102C 80AF9E4C 4600A386 */ mov.s $f14, $f20
/* 01030 80AF9E50 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01034 80AF9E54 46805420 */ cvt.s.w $f16, $f10
/* 01038 80AF9E58 46009183 */ div.s $f6, $f18, $f0
/* 0103C 80AF9E5C 46008103 */ div.s $f4, $f16, $f0
/* 01040 80AF9E60 46023280 */ add.s $f10, $f6, $f2
/* 01044 80AF9E64 44065000 */ mfc1 $a2, $f10
/* 01048 80AF9E68 0C0342A3 */ jal Matrix_Scale
/* 0104C 80AF9E6C 46022300 */ add.s $f12, $f4, $f2
/* 01050 80AF9E70 8E5002D0 */ lw $s0, 0x02D0($s2) ## 000002D0
/* 01054 80AF9E74 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
/* 01058 80AF9E78 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003
/* 0105C 80AF9E7C 260F0008 */ addiu $t7, $s0, 0x0008 ## $t7 = 00000008
/* 01060 80AF9E80 AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
/* 01064 80AF9E84 3C0580B0 */ lui $a1, %hi(D_80AFA4B4) ## $a1 = 80B00000
/* 01068 80AF9E88 AE180000 */ sw $t8, 0x0000($s0) ## 00000000
/* 0106C 80AF9E8C 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
/* 01070 80AF9E90 24A5A4B4 */ addiu $a1, $a1, %lo(D_80AFA4B4) ## $a1 = 80AFA4B4
/* 01074 80AF9E94 0C0346A2 */ jal Matrix_NewMtx
/* 01078 80AF9E98 2406035C */ addiu $a2, $zero, 0x035C ## $a2 = 0000035C
/* 0107C 80AF9E9C AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 01080 80AF9EA0 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 01084 80AF9EA4 3C0880B0 */ lui $t0, %hi(D_80AFA3D8) ## $t0 = 80B00000
/* 01088 80AF9EA8 2508A3D8 */ addiu $t0, $t0, %lo(D_80AFA3D8) ## $t0 = 80AFA3D8
/* 0108C 80AF9EAC 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 01090 80AF9EB0 AE5902D0 */ sw $t9, 0x02D0($s2) ## 000002D0
/* 01094 80AF9EB4 3C05DE00 */ lui $a1, 0xDE00 ## $a1 = DE000000
/* 01098 80AF9EB8 AC650000 */ sw $a1, 0x0000($v1) ## 00000000
/* 0109C 80AF9EBC AC680004 */ sw $t0, 0x0004($v1) ## 00000004
/* 010A0 80AF9EC0 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 010A4 80AF9EC4 3C0AFD90 */ lui $t2, 0xFD90 ## $t2 = FD900000
/* 010A8 80AF9EC8 3C0E0709 */ lui $t6, 0x0709 ## $t6 = 07090000
/* 010AC 80AF9ECC 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008
/* 010B0 80AF9ED0 AE4902D0 */ sw $t1, 0x02D0($s2) ## 000002D0
/* 010B4 80AF9ED4 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 010B8 80AF9ED8 8FAB00A8 */ lw $t3, 0x00A8($sp)
/* 010BC 80AF9EDC 35CE8260 */ ori $t6, $t6, 0x8260 ## $t6 = 07098260
/* 010C0 80AF9EE0 3C0DF590 */ lui $t5, 0xF590 ## $t5 = F5900000
/* 010C4 80AF9EE4 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
/* 010C8 80AF9EE8 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 010CC 80AF9EEC 3C18E600 */ lui $t8, 0xE600 ## $t8 = E6000000
/* 010D0 80AF9EF0 3C09077F */ lui $t1, 0x077F ## $t1 = 077F0000
/* 010D4 80AF9EF4 246C0008 */ addiu $t4, $v1, 0x0008 ## $t4 = 00000008
/* 010D8 80AF9EF8 AE4C02D0 */ sw $t4, 0x02D0($s2) ## 000002D0
/* 010DC 80AF9EFC AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
/* 010E0 80AF9F00 AC6D0000 */ sw $t5, 0x0000($v1) ## 00000000
/* 010E4 80AF9F04 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 010E8 80AF9F08 3529F100 */ ori $t1, $t1, 0xF100 ## $t1 = 077FF100
/* 010EC 80AF9F0C 3C08F300 */ lui $t0, 0xF300 ## $t0 = F3000000
/* 010F0 80AF9F10 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 010F4 80AF9F14 AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
/* 010F8 80AF9F18 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 010FC 80AF9F1C AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 01100 80AF9F20 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 01104 80AF9F24 3C0BE700 */ lui $t3, 0xE700 ## $t3 = E7000000
/* 01108 80AF9F28 3C0DF588 */ lui $t5, 0xF588 ## $t5 = F5880000
/* 0110C 80AF9F2C 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 01110 80AF9F30 AE5902D0 */ sw $t9, 0x02D0($s2) ## 000002D0
/* 01114 80AF9F34 AC690004 */ sw $t1, 0x0004($v1) ## 00000004
/* 01118 80AF9F38 AC680000 */ sw $t0, 0x0000($v1) ## 00000000
/* 0111C 80AF9F3C 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 01120 80AF9F40 3C0E0009 */ lui $t6, 0x0009 ## $t6 = 00090000
/* 01124 80AF9F44 35CE8260 */ ori $t6, $t6, 0x8260 ## $t6 = 00098260
/* 01128 80AF9F48 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
/* 0112C 80AF9F4C AE4A02D0 */ sw $t2, 0x02D0($s2) ## 000002D0
/* 01130 80AF9F50 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 01134 80AF9F54 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000
/* 01138 80AF9F58 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 0113C 80AF9F5C 35AD1000 */ ori $t5, $t5, 0x1000 ## $t5 = F5881000
/* 01140 80AF9F60 3C19000F */ lui $t9, 0x000F ## $t9 = 000F0000
/* 01144 80AF9F64 246C0008 */ addiu $t4, $v1, 0x0008 ## $t4 = 00000008
/* 01148 80AF9F68 AE4C02D0 */ sw $t4, 0x02D0($s2) ## 000002D0
/* 0114C 80AF9F6C AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
/* 01150 80AF9F70 AC6D0000 */ sw $t5, 0x0000($v1) ## 00000000
/* 01154 80AF9F74 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 01158 80AF9F78 3739C0FC */ ori $t9, $t9, 0xC0FC ## $t9 = 000FC0FC
/* 0115C 80AF9F7C 3C18F200 */ lui $t8, 0xF200 ## $t8 = F2000000
/* 01160 80AF9F80 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 01164 80AF9F84 AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
/* 01168 80AF9F88 AC790004 */ sw $t9, 0x0004($v1) ## 00000004
/* 0116C 80AF9F8C AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 01170 80AF9F90 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 01174 80AF9F94 3C0480B0 */ lui $a0, %hi(D_80AFA3F8) ## $a0 = 80B00000
/* 01178 80AF9F98 2484A3F8 */ addiu $a0, $a0, %lo(D_80AFA3F8) ## $a0 = 80AFA3F8
/* 0117C 80AF9F9C 24680008 */ addiu $t0, $v1, 0x0008 ## $t0 = 00000008
/* 01180 80AF9FA0 AE4802D0 */ sw $t0, 0x02D0($s2) ## 000002D0
/* 01184 80AF9FA4 AC640004 */ sw $a0, 0x0004($v1) ## 00000004
/* 01188 80AF9FA8 AC650000 */ sw $a1, 0x0000($v1) ## 00000000
/* 0118C 80AF9FAC 8E700000 */ lw $s0, 0x0000($s3) ## 8015FA90
/* 01190 80AF9FB0 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 01194 80AF9FB4 86090A70 */ lh $t1, 0x0A70($s0) ## 00000A70
/* 01198 80AF9FB8 19200029 */ blez $t1, .L80AFA060
/* 0119C 80AF9FBC 00000000 */ nop
/* 011A0 80AF9FC0 AFA40040 */ sw $a0, 0x0040($sp)
/* 011A4 80AF9FC4 860A0A72 */ lh $t2, 0x0A72($s0) ## 00000A72
.L80AF9FC8:
/* 011A8 80AF9FC8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 011AC 80AF9FCC 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
/* 011B0 80AF9FD0 448A8000 */ mtc1 $t2, $f16 ## $f16 = 0.00
/* 011B4 80AF9FD4 4600A386 */ mov.s $f14, $f20
/* 011B8 80AF9FD8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 011BC 80AF9FDC 46808120 */ cvt.s.w $f4, $f16
/* 011C0 80AF9FE0 46082483 */ div.s $f18, $f4, $f8
/* 011C4 80AF9FE4 46149300 */ add.s $f12, $f18, $f20
/* 011C8 80AF9FE8 44066000 */ mfc1 $a2, $f12
/* 011CC 80AF9FEC 0C0342A3 */ jal Matrix_Scale
/* 011D0 80AF9FF0 00000000 */ nop
/* 011D4 80AF9FF4 8E5002D0 */ lw $s0, 0x02D0($s2) ## 000002D0
/* 011D8 80AF9FF8 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
/* 011DC 80AF9FFC 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
/* 011E0 80AFA000 260B0008 */ addiu $t3, $s0, 0x0008 ## $t3 = 00000008
/* 011E4 80AFA004 AE4B02D0 */ sw $t3, 0x02D0($s2) ## 000002D0
/* 011E8 80AFA008 3C0580B0 */ lui $a1, %hi(D_80AFA4C4) ## $a1 = 80B00000
/* 011EC 80AFA00C AE0C0000 */ sw $t4, 0x0000($s0) ## 00000000
/* 011F0 80AFA010 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
/* 011F4 80AFA014 24A5A4C4 */ addiu $a1, $a1, %lo(D_80AFA4C4) ## $a1 = 80AFA4C4
/* 011F8 80AFA018 0C0346A2 */ jal Matrix_NewMtx
/* 011FC 80AFA01C 2406036D */ addiu $a2, $zero, 0x036D ## $a2 = 0000036D
/* 01200 80AFA020 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 01204 80AFA024 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 01208 80AFA028 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000
/* 0120C 80AFA02C 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
/* 01210 80AFA030 246D0008 */ addiu $t5, $v1, 0x0008 ## $t5 = 00000008
/* 01214 80AFA034 AE4D02D0 */ sw $t5, 0x02D0($s2) ## 000002D0
/* 01218 80AFA038 AC6E0000 */ sw $t6, 0x0000($v1) ## 00000000
/* 0121C 80AFA03C 8FAF0040 */ lw $t7, 0x0040($sp)
/* 01220 80AFA040 00118C00 */ sll $s1, $s1, 16
/* 01224 80AFA044 00118C03 */ sra $s1, $s1, 16
/* 01228 80AFA048 AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004
/* 0122C 80AFA04C 8E700000 */ lw $s0, 0x0000($s3) ## 8015FA90
/* 01230 80AFA050 86180A70 */ lh $t8, 0x0A70($s0) ## 00000A70
/* 01234 80AFA054 0238082A */ slt $at, $s1, $t8
/* 01238 80AFA058 5420FFDB */ bnel $at, $zero, .L80AF9FC8
/* 0123C 80AFA05C 860A0A72 */ lh $t2, 0x0A72($s0) ## 00000A72
.L80AFA060:
/* 01240 80AFA060 3C0480B0 */ lui $a0, %hi(D_80AFA4D4) ## $a0 = 80B00000
/* 01244 80AFA064 0C00084C */ jal osSyncPrintf
/* 01248 80AFA068 2484A4D4 */ addiu $a0, $a0, %lo(D_80AFA4D4) ## $a0 = 80AFA4D4
/* 0124C 80AFA06C 3C0680B0 */ lui $a2, %hi(D_80AFA4E0) ## $a2 = 80B00000
/* 01250 80AFA070 24C6A4E0 */ addiu $a2, $a2, %lo(D_80AFA4E0) ## $a2 = 80AFA4E0
/* 01254 80AFA074 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFD8
/* 01258 80AFA078 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 0125C 80AFA07C 0C031AD5 */ jal Graph_CloseDisps
/* 01260 80AFA080 24070372 */ addiu $a3, $zero, 0x0372 ## $a3 = 00000372
/* 01264 80AFA084 8FBF0034 */ lw $ra, 0x0034($sp)
/* 01268 80AFA088 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 0126C 80AFA08C 8FB00020 */ lw $s0, 0x0020($sp)
/* 01270 80AFA090 8FB10024 */ lw $s1, 0x0024($sp)
/* 01274 80AFA094 8FB20028 */ lw $s2, 0x0028($sp)
/* 01278 80AFA098 8FB3002C */ lw $s3, 0x002C($sp)
/* 0127C 80AFA09C 8FB40030 */ lw $s4, 0x0030($sp)
/* 01280 80AFA0A0 03E00008 */ jr $ra
/* 01284 80AFA0A4 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000
/* 01288 80AFA0A8 00000000 */ nop
/* 0128C 80AFA0AC 00000000 */ nop

View file

@ -1,14 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .bss
.balign 16
glabel D_80AFA660
.space 0xC0

View file

@ -1,46 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel En_Sda_InitVars
.word 0x013A0900, 0x00000030, 0x00010000, 0x0000014C
.word EnSda_Init
.word EnSda_Destroy
.word EnSda_Update
.word EnSda_Draw
glabel D_80AFA0D0
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80AFA0DC
.word 0x00010002, 0x00030003, 0x00020001
glabel D_80AFA0E8
.word 0x00020003, 0x00040004, 0x00040003, 0x00020000
glabel D_80AFA0F8
.word 0x00020003, 0x00040004, 0x00040004, 0x00030002
glabel D_80AFA108
.word 0x00020004, 0x00050005, 0x00060006, 0x00060006, 0x00050005, 0x00040002
glabel D_80AFA120
.word 0x00020004, 0x00050006, 0x00070008, 0x00080008, 0x00080007, 0x00060005, 0x00040002
glabel D_80AFA13C
.word 0x0001FFFF, 0x00010001, 0x00030004, 0x00010006, 0x00070002, 0x0009000A, 0x0002000C, 0x000D0000
glabel D_80AFA15C
.word 0x02020203, 0x03030303, 0x03000000, 0x00000003
glabel D_80AFA16C
.word 0x02090A0B, 0x0C0D0E00, 0x0FFF0304, 0x05060708, 0xFF010000
glabel D_80AFA180
.word 0xBF800000, 0x40000000, 0xBE4CCCCD, 0x00000000, 0x40000000, 0xBF000000, 0x3F800000, 0x40000000, 0xBE4CCCCD, 0xC0000000, 0x3F800000, 0xBF000000, 0xBF800000, 0x3F800000, 0xBE4CCCCD, 0x00000000, 0x3F800000, 0xBE4CCCCD, 0x3F800000, 0x3F800000, 0xBE4CCCCD, 0x40000000, 0x3F800000, 0xBF000000, 0xC0000000, 0x00000000, 0xBF000000, 0xBF800000, 0x00000000, 0xBE4CCCCD, 0x00000000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0xBE4CCCCD, 0x40000000, 0x00000000, 0xBF000000, 0xC0000000, 0xBF800000, 0xBF000000, 0xBF800000, 0xBF800000, 0xBE4CCCCD, 0x00000000, 0xBF800000, 0xBDCCCCCD, 0x3F800000, 0xBF800000, 0xBE4CCCCD, 0x40000000, 0xBF800000, 0xBF000000, 0xBF800000, 0xC0000000, 0xBE4CCCCD, 0x00000000, 0xC0000000, 0xBE4CCCCD, 0x3F800000, 0xC0000000, 0xBE4CCCCD, 0x00000000, 0xC0400000, 0xBF000000, 0xBF800000, 0x40000000, 0xBE4CCCCD, 0x00000000, 0x40000000, 0xBF000000, 0x3F800000, 0x40000000, 0xBE4CCCCD, 0xC0000000, 0x3F800000, 0xBF000000, 0xBF800000, 0x3F800000, 0xBE4CCCCD, 0x00000000, 0x3F800000, 0xBE4CCCCD, 0x3F800000, 0x3F800000, 0xBE4CCCCD, 0x40000000, 0x3F800000, 0xBF000000, 0xC0000000, 0x00000000, 0xBF000000, 0xBF800000, 0x00000000, 0xBE4CCCCD, 0x00000000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0xBE4CCCCD, 0x40000000, 0x00000000, 0xBF000000, 0xC0000000, 0xBF800000, 0xBF000000, 0xBF800000, 0xBF800000, 0xBE4CCCCD, 0x00000000, 0xBF800000, 0xBDCCCCCD, 0x3F800000, 0xBF800000, 0xBE4CCCCD, 0x40000000, 0xBF800000, 0xBF000000, 0xBF800000, 0xC0000000, 0xBE4CCCCD, 0x00000000, 0xC0000000, 0xBE4CCCCD, 0x3F800000, 0xC0000000, 0xBE4CCCCD, 0x00000000, 0xC0400000, 0xBF000000, 0x00000000, 0x00000000
glabel D_80AFA398
.word 0xFF9C0000, 0xFF9C0000, 0x00000800, 0xFFFFFFFF, 0x00640000, 0xFF9C0000, 0x08000800, 0xFFFFFFFF, 0x00640000, 0x00640000, 0x08000000, 0xFFFFFFFF, 0xFF9C0000, 0x00640000, 0x00000000, 0xFFFFFFFF
glabel D_80AFA3D8
.word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xDF000000, 0x00000000
glabel D_80AFA3F8
.word 0xFC3097FF, 0x5FFEFE38, 0xE200001C, 0x0C184DD8, 0xD9F0FBFF, 0x00000000, 0x01004008
.word D_80AFA398
.word 0x06000204, 0x00000406, 0xDF000000, 0x00000000, 0x00000000, 0x00000000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_80AFA510
.incbin "baserom/ovl_En_Sda", 0x16F0, 0x00000150

4
spec
View file

@ -2902,9 +2902,7 @@ endseg
beginseg
name "ovl_En_Sda"
include "build/src/overlays/actors/ovl_En_Sda/z_en_sda.o"
include "build/data/overlays/actors/z_en_sda.data.o"
include "build/data/overlays/actors/z_en_sda.bss.o"
include "build/data/overlays/actors/z_en_sda.reloc.o"
include "build/src/overlays/actors/ovl_En_Sda/ovl_En_Sda_reloc.o"
endseg
beginseg

View file

@ -1,3 +1,9 @@
/**
* File: z_en_sda.c
* Overlay: ovl_En_Sda
* Description: Dynamic shadow for Link
*/
#include "z_en_sda.h"
#define FLAGS 0x00000030
@ -9,7 +15,10 @@ void EnSda_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnSda_Update(Actor* thisx, GlobalContext* globalCtx);
void EnSda_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void func_80AF95C4(EnSda* this, u8* shadowTexture, Player* player, GlobalContext* globalCtx);
void func_80AF9C70(u8* shadowTexture, Player* player, GlobalContext* globalCtx);
void func_80AF8F60(Player* player, u8* shadowTexture, f32 arg2);
const ActorInit En_Sda_InitVars = {
ACTOR_EN_SDA,
ACTORTYPE_BOSS,
@ -21,17 +30,371 @@ const ActorInit En_Sda_InitVars = {
(ActorFunc)EnSda_Update,
(ActorFunc)EnSda_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sda/EnSda_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sda/EnSda_Destroy.s")
static Vec3f D_80AFA0D0 = { 0.0f, 0.0f, 0.0f };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sda/EnSda_Update.s")
static s16 D_80AFA0DC[] = {
1, 2, 3, 3, 2, 1,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sda/EnSda_Draw.s")
static s16 D_80AFA0E8[] = {
2, 3, 4, 4, 4, 3, 2, 0,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sda/func_80AF8F60.s")
static s16 D_80AFA0F8[] = {
2, 3, 4, 4, 4, 4, 3, 2,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sda/func_80AF95C4.s")
static s16 D_80AFA108[] = {
2, 4, 5, 5, 6, 6, 6, 6, 5, 5, 4, 2,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sda/func_80AF9C70.s")
static s16 D_80AFA120[] = {
2, 4, 5, 6, 7, 8, 8, 8, 8, 7, 6, 5, 4, 2,
};
static s16 D_80AFA13C[] = {
1, -1, 1, 1, 3, 4, 1, 6, 7, 2, 9, 10, 2, 12, 13, 0,
};
static u8 D_80AFA15C[] = {
2, 2, 2, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 3,
};
static s8 D_80AFA16C[] = {
2, 9, 10, 11, 12, 13, 14, 0, 15, -1, 3, 4, 5, 6, 7, 8, -1, 1, 0, 0,
};
static Vec3f D_80AFA180[] = {
{ -1.0f, 2.0f, -0.2f }, { 0.0f, 2.0f, -0.5f }, { 1.0f, 2.0f, -0.2f }, { -2.0f, 1.0f, -0.5f },
{ -1.0f, 1.0f, -0.2f }, { 0.0f, 1.0f, -0.2f }, { 1.0f, 1.0f, -0.2f }, { 2.0f, 1.0f, -0.5f },
{ -2.0f, 0.0f, -0.5f }, { -1.0f, 0.0f, -0.2f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 0.0f, -0.2f },
{ 2.0f, 0.0f, -0.5f }, { -2.0f, -1.0f, -0.5f }, { -1.0f, -1.0f, -0.2f }, { 0.0f, -1.0f, -0.1f },
{ 1.0f, -1.0f, -0.2f }, { 2.0f, -1.0f, -0.5f }, { -1.0f, -2.0f, -0.2f }, { 0.0f, -2.0f, -0.2f },
{ 1.0f, -2.0f, -0.2f }, { 0.0f, -3.0f, -0.5f },
};
// Unused, identical to D_80AFA180
static Vec3f D_80AFA288[] = {
{ -1.0f, 2.0f, -0.2f }, { 0.0f, 2.0f, -0.5f }, { 1.0f, 2.0f, -0.2f }, { -2.0f, 1.0f, -0.5f },
{ -1.0f, 1.0f, -0.2f }, { 0.0f, 1.0f, -0.2f }, { 1.0f, 1.0f, -0.2f }, { 2.0f, 1.0f, -0.5f },
{ -2.0f, 0.0f, -0.5f }, { -1.0f, 0.0f, -0.2f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 0.0f, -0.2f },
{ 2.0f, 0.0f, -0.5f }, { -2.0f, -1.0f, -0.5f }, { -1.0f, -1.0f, -0.2f }, { 0.0f, -1.0f, -0.1f },
{ 1.0f, -1.0f, -0.2f }, { 2.0f, -1.0f, -0.5f }, { -1.0f, -2.0f, -0.2f }, { 0.0f, -2.0f, -0.2f },
{ 1.0f, -2.0f, -0.2f }, { 0.0f, -3.0f, -0.5f },
};
static u32 D_80AFA390[] = { 0, 0 };
static Vtx D_80AFA398[] = {
VTX(-100, 0, -100, 0, 2048, 255, 255, 255, 255),
VTX(100, 0, -100, 2048, 2048, 255, 255, 255, 255),
VTX(100, 0, 100, 2048, 0, 255, 255, 255, 255),
VTX(-100, 0, 100, 0, 0, 255, 255, 255, 255),
};
static Gfx D_80AFA3D8[] = {
gsDPPipeSync(),
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPEndDisplayList(),
};
static Gfx D_80AFA3F8[] = {
gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED, 0, 0, 0,
COMBINED),
gsDPSetRenderMode(AA_EN | Z_CMP | IM_RD | CLR_ON_CVG | CVG_DST_WRAP | ZMODE_DEC | FORCE_BL |
GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1),
G_RM_AA_ZB_XLU_DECAL2),
gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
gsSPVertex(&D_80AFA398, 4, 0),
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
gsSPEndDisplayList(),
};
static Vec3f D_80AFA660[16];
void EnSda_Init(Actor* thisx, GlobalContext* globalCtx) {
}
void EnSda_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnSda_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnSda* this = THIS;
Player* player;
osSyncPrintf("SDA MOVE\n");
if (this->actor.params == 1) {
player = (Player*)this->actor.parent;
} else {
player = PLAYER;
}
this->actor.posRot.pos = player->actor.posRot.pos;
osSyncPrintf("SDA MOVE END\n");
}
void EnSda_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnSda* this = THIS;
Player* player;
u8* shadowTexture = Graph_Alloc(globalCtx->state.gfxCtx, 0x1000);
osSyncPrintf("SDA DRAW \n");
if (this->actor.params == 1) {
player = (Player*)this->actor.parent;
} else {
player = PLAYER;
}
player->actor.shape.unk_14 = 0;
func_80AF95C4(this, shadowTexture, player, globalCtx);
if (KREG(0) < 5) {
func_80AF9C70(shadowTexture, player, globalCtx);
}
osSyncPrintf("SDA DRAW END\n");
}
void func_80AF8F60(Player* player, u8* shadowTexture, f32 arg2) {
s16 temp_t0;
s16 temp_t1;
s16 temp_v1;
s16 temp_v0;
s16 phi_a0;
s16 phi_a3;
s16 i;
s16 j;
Vec3f lerp;
Vec3f sp88;
Vec3f sp7C;
for (i = 0; i < 16; i++) {
//! @bug j is not initialized if arg2 == 0.0f, causing undefined behavior.
if ((arg2 == 0.0f) || ((j = D_80AFA13C[i]) >= 0)) {
if (arg2 > 0.0f) {
lerp.x = D_80AFA660[i].x + (D_80AFA660[j].x - D_80AFA660[i].x) * arg2;
lerp.y = D_80AFA660[i].y + (D_80AFA660[j].y - D_80AFA660[i].y) * arg2;
lerp.z = D_80AFA660[i].z + (D_80AFA660[j].z - D_80AFA660[i].z) * arg2;
sp88.x = lerp.x - player->actor.posRot.pos.x;
sp88.y = lerp.y - player->actor.posRot.pos.y + BREG(48) + 76.0f + 30.0f - 105.0f + 15.0f;
sp88.z = lerp.z - player->actor.posRot.pos.z;
} else {
sp88.x = D_80AFA660[i].x - player->actor.posRot.pos.x;
sp88.y = D_80AFA660[i].y - player->actor.posRot.pos.y + BREG(48) + 76.0f + 30.0f - 105.0f + 15.0f;
sp88.z = D_80AFA660[i].z - player->actor.posRot.pos.z;
}
Matrix_MultVec3f(&sp88, &sp7C);
sp7C.x *= (1.0f + (BREG(49) / 100.0f));
sp7C.y *= (1.0f + (BREG(49) / 100.0f));
temp_t0 = sp7C.x + 32.0f;
temp_t1 = (s16)sp7C.y << 6;
if (D_80AFA15C[i] == 2) {
for (j = 0, phi_a3 = -0x180; j < 12; j++, phi_a3 += 0x40) {
for (phi_a0 = -D_80AFA108[j]; phi_a0 < D_80AFA108[j]; phi_a0++) {
temp_v1 = temp_t0 + phi_a0;
if ((temp_v1 >= 0) && (temp_v1 < 0x40)) {
temp_v0 = temp_t1 + phi_a3;
if ((temp_v0 >= 0) && (temp_v0 < 0x1000)) {
shadowTexture[temp_v1 + temp_v0] = 255;
}
}
}
}
} else if (D_80AFA15C[i] == 1) {
for (j = 0, phi_a3 = -0x100; j < 8; j++, phi_a3 += 0x40) {
for (phi_a0 = -D_80AFA0F8[j]; phi_a0 < D_80AFA0F8[j]; phi_a0++) {
temp_v1 = temp_t0 + phi_a0;
if ((temp_v1 >= 0) && (temp_v1 < 0x40)) {
temp_v0 = temp_t1 + phi_a3;
if ((temp_v0 >= 0) && (temp_v0 < 0x1000)) {
shadowTexture[temp_v1 + temp_v0] = 255;
}
}
}
}
} else if (D_80AFA15C[i] == 0) {
for (j = 0, phi_a3 = -0xC0; j < 7; j++, phi_a3 += 0x40) {
for (phi_a0 = -D_80AFA0E8[j]; phi_a0 < D_80AFA0E8[j] - 1; phi_a0++) {
temp_v1 = temp_t0 + phi_a0;
if ((temp_v1 >= 0) && (temp_v1 < 0x40)) {
temp_v0 = temp_t1 + phi_a3;
if ((temp_v0 >= 0) && (temp_v0 < 0x1000)) {
shadowTexture[temp_v1 + temp_v0] = 255;
}
}
}
}
} else if (D_80AFA15C[i] == 4) {
for (j = 0, phi_a3 = -0x1C0; j < 14; j++, phi_a3 += 0x40) {
for (phi_a0 = -D_80AFA120[j]; phi_a0 < D_80AFA120[j]; phi_a0++) {
temp_v1 = temp_t0 + phi_a0;
if ((temp_v1 >= 0) && (temp_v1 < 0x40)) {
temp_v0 = temp_t1 + phi_a3;
if ((temp_v0 >= 0) && (temp_v0 < 0x1000)) {
shadowTexture[temp_v1 + temp_v0] = 255;
}
}
}
}
} else {
for (j = 0, phi_a3 = -0x80; j < 6; j++, phi_a3 += 0x40) {
for (phi_a0 = -D_80AFA0DC[j]; phi_a0 < D_80AFA0DC[j] - 1; phi_a0++) {
temp_v1 = temp_t0 + phi_a0;
if ((temp_v1 >= 0) && (temp_v1 < 0x40)) {
temp_v0 = temp_t1 + phi_a3;
if ((temp_v0 >= 0) && (temp_v0 < 0x1000)) {
shadowTexture[temp_v1 + temp_v0] = 255;
}
}
}
}
}
}
}
}
void func_80AF95C4(EnSda* this, u8* shadowTexture, Player* player, GlobalContext* globalCtx) {
s16 temp_t0;
s16 temp_t1;
s16 temp_v0;
s16 temp_v1;
s16 phi_a0;
s16 phi_a3;
s16 i;
s16 j;
Vec3f sp194;
Vec3f sp188;
s32* shadowTextureTemp32;
u8* shadowTextureTemp;
Vec3s sp178;
Vec3f sp16C;
Vec3f sp64[22];
osSyncPrintf("SDA CONT \n");
if (BREG(57) != 0) {
for (shadowTextureTemp = shadowTexture, i = 0; i < 0x1000; i++, shadowTextureTemp++) {
if ((i >= 0 && i < 0x40) || (i >= 0xFC0 && i < 0x1000) || ((i & 0x3F) == 0) || ((i & 0x3F) == 0x3F)) {
*shadowTextureTemp = 255;
} else {
*shadowTextureTemp = 0;
}
}
} else {
for (shadowTextureTemp32 = (s32*)shadowTexture, i = 0; i < 0x400; i++, shadowTextureTemp32++) {
*shadowTextureTemp32 = 0;
}
}
Matrix_RotateX((BREG(50) + 70) / 100.0f, 0);
for (i = 0; i < 18; i++) {
if (D_80AFA16C[i] >= 0) {
D_80AFA660[D_80AFA16C[i]] = player->bodyPartsPos[i];
}
}
osSyncPrintf("SDA CONT 2\n");
D_80AFA660[0].y += 3.0f;
D_80AFA660[15].x = D_80AFA660[0].x + ((D_80AFA660[15].x - D_80AFA660[0].x) * 1.2f);
D_80AFA660[15].y = D_80AFA660[0].y + ((D_80AFA660[15].y - D_80AFA660[0].y) * -1.2f);
D_80AFA660[15].z = D_80AFA660[0].z + ((D_80AFA660[15].z - D_80AFA660[0].z) * 1.2f);
for (i = 0; i < 6; i++) {
func_80AF8F60(player, shadowTexture, i / 5.0f);
}
osSyncPrintf("SDA CONT 3\n");
if (this->actor.params != 1) {
func_800D20CC(&player->shieldMf, &sp178, false);
sp178.y += (KREG(87) << 0xF) + 0x8000;
sp178.x *= (KREG(88) - 1);
Matrix_Mult(&player->shieldMf, MTXMODE_NEW);
Matrix_MultVec3f(&D_80AFA0D0, &sp16C);
Matrix_RotateY((sp178.y / 32768.0f) * M_PI, MTXMODE_NEW);
Matrix_RotateX((sp178.x / 32768.0f) * M_PI, MTXMODE_APPLY);
for (i = 0; i < 22; i++) {
Matrix_MultVec3f(&D_80AFA180[i], &sp188);
if (1) {}
sp64[i].x = (((KREG(82) / 100.0f) + 4.0f) * sp188.x) + sp16C.x;
sp64[i].y = (((KREG(82) / 100.0f) + 4.0f) * sp188.y) + sp16C.y;
sp64[i].z = (((KREG(82) / 100.0f) + 4.0f) * sp188.z) + sp16C.z;
}
Matrix_RotateX((BREG(50) + 70) / 100.0f, 0);
for (i = 0; i < 22; i++) {
sp194.x = sp64[i].x - player->actor.posRot.pos.x;
sp194.y = sp64[i].y - player->actor.posRot.pos.y + KREG(80) + 16.0f;
sp194.z = sp64[i].z - player->actor.posRot.pos.z;
Matrix_MultVec3f(&sp194, &sp188);
sp188.x *= (1.0f + (KREG(90) / 100.0f));
sp188.y *= (1.0f + (KREG(90) / 100.0f));
temp_t0 = sp188.x + 32.0f;
temp_t1 = (s16)sp188.y << 6;
do {
for (j = 0, phi_a3 = -0xC0; j < 7; j++, phi_a3 += 0x40) {
for (phi_a0 = -D_80AFA0E8[j]; phi_a0 < D_80AFA0E8[j] - 1; phi_a0++) {
temp_v0 = temp_t0 + phi_a0;
if ((temp_v0 >= 0) && (temp_v0 < 0x40)) {
temp_v1 = temp_t1 + phi_a3;
if ((temp_v1 >= 0) && (temp_v1 < 0x1000)) {
shadowTexture[temp_v0 + temp_v1] = 255;
}
}
}
}
j++;
} while (j < 6);
}
}
if (BREG(61) == 1) {
for (shadowTextureTemp = shadowTexture, i = 0; i < 0x1000; i++, shadowTextureTemp++) {
if (*shadowTextureTemp != 0) {
*shadowTextureTemp = -((i >> 6) * (BREG(60) + 4)) + (255 - BREG(61));
}
}
}
osSyncPrintf("SDA CONT 4\n");
}
void func_80AF9C70(u8* shadowTexture, Player* player, GlobalContext* globalCtx) {
s32 pad;
f32 tempx;
f32 tempz;
s16 phi_s1;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
OPEN_DISPS(gfxCtx, "../z_en_sda.c", 826);
if (1) {}
osSyncPrintf("SDA D 1\n");
func_80094044(globalCtx->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x00, 0, 0, 0, (BREG(52) + 50));
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, 0);
Matrix_Translate(player->actor.posRot.pos.x, player->actor.groundY, player->actor.posRot.pos.z, MTXMODE_NEW);
Matrix_RotateY(BREG(51) / 100.0f, MTXMODE_APPLY);
Matrix_Scale(1.0f, 1.0f, (BREG(63) / 10.0f) + 1.0f, MTXMODE_APPLY);
tempx = (BREG(62) / 10.0f) + 2.0f;
tempz =
((player->actor.posRot.pos.y - player->actor.groundY + BREG(54)) * (BREG(55) - 5) / 10.0f) + BREG(58) - 20.0f;
Matrix_Translate(tempx, 0.0f, tempz, MTXMODE_APPLY);
Matrix_Scale(((BREG(56) - 250) / 1000.0f) + 0.6f, 1.0f, ((BREG(59) - 250) / 1000.0f) + 0.6f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_sda.c", 860),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_80AFA3D8);
gDPLoadTextureBlock(POLY_XLU_DISP++, shadowTexture, G_IM_FMT_I, G_IM_SIZ_8b, 0x40, 0x40, 0,
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD);
gSPDisplayList(POLY_XLU_DISP++, D_80AFA3F8);
for (phi_s1 = 0; phi_s1 < KREG(78); phi_s1++) {
Matrix_Scale((KREG(79) / 100.0f) + 1.0f, 1.0f, (KREG(79) / 100.0f) + 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_sda.c", 877),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_80AFA3F8);
}
osSyncPrintf("SDA D 2\n");
CLOSE_DISPS(gfxCtx, "../z_en_sda.c", 882);
}