diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Destroy.s deleted file mode 100644 index 8c679bfa6d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Destroy.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel EnKanban_Destroy -/* 001EC 80A9218C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 001F0 80A92190 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001F4 80A92194 908E0154 */ lbu $t6, 0x0154($a0) ## 00000154 -/* 001F8 80A92198 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 001FC 80A9219C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00200 80A921A0 55C00004 */ bnel $t6, $zero, .L80A921B4 -/* 00204 80A921A4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00208 80A921A8 0C0170EB */ jal Collider_DestroyCylinder - -/* 0020C 80A921AC 24C501A0 */ addiu $a1, $a2, 0x01A0 ## $a1 = 000001A0 -/* 00210 80A921B0 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A921B4: -/* 00214 80A921B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00218 80A921B8 03E00008 */ jr $ra -/* 0021C 80A921BC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Draw.s deleted file mode 100644 index 1f17c049c1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Draw.s +++ /dev/null @@ -1,657 +0,0 @@ -.rdata -glabel D_80A9504C - .asciz "../z_en_kanban.c" - .balign 4 - -glabel D_80A95060 - .asciz "../z_en_kanban.c" - .balign 4 - -glabel D_80A95074 - .asciz "../z_en_kanban.c" - .balign 4 - -glabel D_80A95088 - .asciz "../z_en_kanban.c" - .balign 4 - -glabel D_80A9509C - .asciz "../z_en_kanban.c" - .balign 4 - -glabel D_80A950B0 - .asciz "../z_en_kanban.c" - .balign 4 - -.late_rodata -glabel D_80A95108 - .float 3.14159274101 - -glabel D_80A9510C - .float 3.14159274101 - -glabel D_80A95110 - .float 3.14159274101 - -glabel D_80A95114 - .float 3.14159274101 - -glabel D_80A95118 - .word 0x45898000 -glabel D_80A9511C - .word 0xC53B8000 -glabel D_80A95120 - .word 0x3B343958 -glabel D_80A95124 - .float 0.01 - -glabel D_80A95128 - .word 0xBF20D97C -glabel D_80A9512C - .float 3.14159274101 - -glabel D_80A95130 - .float 3.14159274101 - -glabel D_80A95134 - .float 3.14159274101 - -glabel D_80A95138 - .float 3.14159274101 - -.text -glabel EnKanban_Draw -/* 01BE8 80A93B88 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60 -/* 01BEC 80A93B8C AFB00014 */ sw $s0, 0x0014($sp) -/* 01BF0 80A93B90 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01BF4 80A93B94 AFBF001C */ sw $ra, 0x001C($sp) -/* 01BF8 80A93B98 AFB10018 */ sw $s1, 0x0018($sp) -/* 01BFC 80A93B9C AFA500A4 */ sw $a1, 0x00A4($sp) -/* 01C00 80A93BA0 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000 -/* 01C04 80A93BA4 0C031A73 */ jal Graph_Alloc - -/* 01C08 80A93BA8 24050400 */ addiu $a1, $zero, 0x0400 ## $a1 = 00000400 -/* 01C0C 80A93BAC 8FAF00A4 */ lw $t7, 0x00A4($sp) -/* 01C10 80A93BB0 AFA2008C */ sw $v0, 0x008C($sp) -/* 01C14 80A93BB4 3C0680A9 */ lui $a2, %hi(D_80A9504C) ## $a2 = 80A90000 -/* 01C18 80A93BB8 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000 -/* 01C1C 80A93BBC 24C6504C */ addiu $a2, $a2, %lo(D_80A9504C) ## $a2 = 80A9504C -/* 01C20 80A93BC0 27A40078 */ addiu $a0, $sp, 0x0078 ## $a0 = FFFFFFD8 -/* 01C24 80A93BC4 2407067B */ addiu $a3, $zero, 0x067B ## $a3 = 0000067B -/* 01C28 80A93BC8 0C031AB1 */ jal Graph_OpenDisps -/* 01C2C 80A93BCC 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 01C30 80A93BD0 8FB800A4 */ lw $t8, 0x00A4($sp) -/* 01C34 80A93BD4 0C024F46 */ jal func_80093D18 -/* 01C38 80A93BD8 8F040000 */ lw $a0, 0x0000($t8) ## 00000000 -/* 01C3C 80A93BDC 8FB900A4 */ lw $t9, 0x00A4($sp) -/* 01C40 80A93BE0 0C024F61 */ jal func_80093D84 -/* 01C44 80A93BE4 8F240000 */ lw $a0, 0x0000($t9) ## 00000000 -/* 01C48 80A93BE8 8E2702C0 */ lw $a3, 0x02C0($s1) ## 000002C0 -/* 01C4C 80A93BEC 3C0B0600 */ lui $t3, %hi(D_06000C30) ## $t3 = 06000000 -/* 01C50 80A93BF0 256B0C30 */ addiu $t3, $t3, %lo(D_06000C30) ## $t3 = 06000C30 -/* 01C54 80A93BF4 24E90008 */ addiu $t1, $a3, 0x0008 ## $t1 = 00000008 -/* 01C58 80A93BF8 AE2902C0 */ sw $t1, 0x02C0($s1) ## 000002C0 -/* 01C5C 80A93BFC 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 01C60 80A93C00 ACEA0000 */ sw $t2, 0x0000($a3) ## 00000000 -/* 01C64 80A93C04 ACEB0004 */ sw $t3, 0x0004($a3) ## 00000004 -/* 01C68 80A93C08 920C0154 */ lbu $t4, 0x0154($s0) ## 00000154 -/* 01C6C 80A93C0C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 01C70 80A93C10 3C06C2C8 */ lui $a2, 0xC2C8 ## $a2 = C2C80000 -/* 01C74 80A93C14 51800099 */ beql $t4, $zero, .L80A93E7C -/* 01C78 80A93C18 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 01C7C 80A93C1C C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024 -/* 01C80 80A93C20 C60E0028 */ lwc1 $f14, 0x0028($s0) ## 00000028 -/* 01C84 80A93C24 0C034261 */ jal Matrix_Translate -/* 01C88 80A93C28 8E06002C */ lw $a2, 0x002C($s0) ## 0000002C -/* 01C8C 80A93C2C C60C0050 */ lwc1 $f12, 0x0050($s0) ## 00000050 -/* 01C90 80A93C30 C60E0054 */ lwc1 $f14, 0x0054($s0) ## 00000054 -/* 01C94 80A93C34 8E060058 */ lw $a2, 0x0058($s0) ## 00000058 -/* 01C98 80A93C38 0C0342A3 */ jal Matrix_Scale -/* 01C9C 80A93C3C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01CA0 80A93C40 C60C0188 */ lwc1 $f12, 0x0188($s0) ## 00000188 -/* 01CA4 80A93C44 0C0342DC */ jal Matrix_RotateX -/* 01CA8 80A93C48 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01CAC 80A93C4C C60C0190 */ lwc1 $f12, 0x0190($s0) ## 00000190 -/* 01CB0 80A93C50 0C0343B5 */ jal Matrix_RotateZ -/* 01CB4 80A93C54 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01CB8 80A93C58 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 01CBC 80A93C5C C60E00BC */ lwc1 $f14, 0x00BC($s0) ## 000000BC -/* 01CC0 80A93C60 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01CC4 80A93C64 44066000 */ mfc1 $a2, $f12 -/* 01CC8 80A93C68 0C034261 */ jal Matrix_Translate -/* 01CCC 80A93C6C 00000000 */ nop -/* 01CD0 80A93C70 860D00B6 */ lh $t5, 0x00B6($s0) ## 000000B6 -/* 01CD4 80A93C74 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 01CD8 80A93C78 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00 -/* 01CDC 80A93C7C 448D2000 */ mtc1 $t5, $f4 ## $f4 = 0.00 -/* 01CE0 80A93C80 3C0180A9 */ lui $at, %hi(D_80A95108) ## $at = 80A90000 -/* 01CE4 80A93C84 C4325108 */ lwc1 $f18, %lo(D_80A95108)($at) -/* 01CE8 80A93C88 468021A0 */ cvt.s.w $f6, $f4 -/* 01CEC 80A93C8C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01CF0 80A93C90 46083283 */ div.s $f10, $f6, $f8 -/* 01CF4 80A93C94 46125302 */ mul.s $f12, $f10, $f18 -/* 01CF8 80A93C98 0C034348 */ jal Matrix_RotateY -/* 01CFC 80A93C9C 00000000 */ nop -/* 01D00 80A93CA0 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4 -/* 01D04 80A93CA4 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 01D08 80A93CA8 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00 -/* 01D0C 80A93CAC 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00 -/* 01D10 80A93CB0 3C0180A9 */ lui $at, %hi(D_80A9510C) ## $at = 80A90000 -/* 01D14 80A93CB4 C432510C */ lwc1 $f18, %lo(D_80A9510C)($at) -/* 01D18 80A93CB8 468021A0 */ cvt.s.w $f6, $f4 -/* 01D1C 80A93CBC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01D20 80A93CC0 46083283 */ div.s $f10, $f6, $f8 -/* 01D24 80A93CC4 46125302 */ mul.s $f12, $f10, $f18 -/* 01D28 80A93CC8 0C0342DC */ jal Matrix_RotateX -/* 01D2C 80A93CCC 00000000 */ nop -/* 01D30 80A93CD0 0C01DE1C */ jal Math_SinS - ## sins? -/* 01D34 80A93CD4 86040168 */ lh $a0, 0x0168($s0) ## 00000168 -/* 01D38 80A93CD8 C6040180 */ lwc1 $f4, 0x0180($s0) ## 00000180 -/* 01D3C 80A93CDC 8604016C */ lh $a0, 0x016C($s0) ## 0000016C -/* 01D40 80A93CE0 46040002 */ mul.s $f0, $f0, $f4 -/* 01D44 80A93CE4 46000085 */ abs.s $f2, $f0 -/* 01D48 80A93CE8 0C01DE1C */ jal Math_SinS - ## sins? -/* 01D4C 80A93CEC E7A20098 */ swc1 $f2, 0x0098($sp) -/* 01D50 80A93CF0 C606017C */ lwc1 $f6, 0x017C($s0) ## 0000017C -/* 01D54 80A93CF4 C7A20098 */ lwc1 $f2, 0x0098($sp) -/* 01D58 80A93CF8 46060002 */ mul.s $f0, $f0, $f6 -/* 01D5C 80A93CFC 46000005 */ abs.s $f0, $f0 -/* 01D60 80A93D00 4600103C */ c.lt.s $f2, $f0 -/* 01D64 80A93D04 00000000 */ nop -/* 01D68 80A93D08 45020003 */ bc1fl .L80A93D18 -/* 01D6C 80A93D0C 860F0184 */ lh $t7, 0x0184($s0) ## 00000184 -/* 01D70 80A93D10 46000086 */ mov.s $f2, $f0 -/* 01D74 80A93D14 860F0184 */ lh $t7, 0x0184($s0) ## 00000184 -.L80A93D18: -/* 01D78 80A93D18 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 01D7C 80A93D1C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01D80 80A93D20 448F4000 */ mtc1 $t7, $f8 ## $f8 = 0.00 -/* 01D84 80A93D24 46006386 */ mov.s $f14, $f12 -/* 01D88 80A93D28 468042A0 */ cvt.s.w $f10, $f8 -/* 01D8C 80A93D2C 46005487 */ neg.s $f18, $f10 -/* 01D90 80A93D30 46121082 */ mul.s $f2, $f2, $f18 -/* 01D94 80A93D34 44061000 */ mfc1 $a2, $f2 -/* 01D98 80A93D38 0C034261 */ jal Matrix_Translate -/* 01D9C 80A93D3C 00000000 */ nop -/* 01DA0 80A93D40 86180168 */ lh $t8, 0x0168($s0) ## 00000168 -/* 01DA4 80A93D44 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 01DA8 80A93D48 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00 -/* 01DAC 80A93D4C 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00 -/* 01DB0 80A93D50 3C0180A9 */ lui $at, %hi(D_80A95110) ## $at = 80A90000 -/* 01DB4 80A93D54 C4325110 */ lwc1 $f18, %lo(D_80A95110)($at) -/* 01DB8 80A93D58 468021A0 */ cvt.s.w $f6, $f4 -/* 01DBC 80A93D5C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01DC0 80A93D60 46083283 */ div.s $f10, $f6, $f8 -/* 01DC4 80A93D64 46125302 */ mul.s $f12, $f10, $f18 -/* 01DC8 80A93D68 0C0342DC */ jal Matrix_RotateX -/* 01DCC 80A93D6C 00000000 */ nop -/* 01DD0 80A93D70 8619016C */ lh $t9, 0x016C($s0) ## 0000016C -/* 01DD4 80A93D74 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 01DD8 80A93D78 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00 -/* 01DDC 80A93D7C 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00 -/* 01DE0 80A93D80 3C0180A9 */ lui $at, %hi(D_80A95114) ## $at = 80A90000 -/* 01DE4 80A93D84 C4325114 */ lwc1 $f18, %lo(D_80A95114)($at) -/* 01DE8 80A93D88 468021A0 */ cvt.s.w $f6, $f4 -/* 01DEC 80A93D8C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01DF0 80A93D90 46083283 */ div.s $f10, $f6, $f8 -/* 01DF4 80A93D94 46125302 */ mul.s $f12, $f10, $f18 -/* 01DF8 80A93D98 0C034348 */ jal Matrix_RotateY -/* 01DFC 80A93D9C 00000000 */ nop -/* 01E00 80A93DA0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 01E04 80A93DA4 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00 -/* 01E08 80A93DA8 C6040164 */ lwc1 $f4, 0x0164($s0) ## 00000164 -/* 01E0C 80A93DAC C60C015C */ lwc1 $f12, 0x015C($s0) ## 0000015C -/* 01E10 80A93DB0 C60E0160 */ lwc1 $f14, 0x0160($s0) ## 00000160 -/* 01E14 80A93DB4 46062201 */ sub.s $f8, $f4, $f6 -/* 01E18 80A93DB8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01E1C 80A93DBC 44064000 */ mfc1 $a2, $f8 -/* 01E20 80A93DC0 0C034261 */ jal Matrix_Translate -/* 01E24 80A93DC4 00000000 */ nop -/* 01E28 80A93DC8 8E2702C0 */ lw $a3, 0x02C0($s1) ## 000002C0 -/* 01E2C 80A93DCC 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000 -/* 01E30 80A93DD0 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003 -/* 01E34 80A93DD4 24E90008 */ addiu $t1, $a3, 0x0008 ## $t1 = 00000008 -/* 01E38 80A93DD8 AE2902C0 */ sw $t1, 0x02C0($s1) ## 000002C0 -/* 01E3C 80A93DDC ACEA0000 */ sw $t2, 0x0000($a3) ## 00000000 -/* 01E40 80A93DE0 8FAB00A4 */ lw $t3, 0x00A4($sp) -/* 01E44 80A93DE4 3C0580A9 */ lui $a1, %hi(D_80A95060) ## $a1 = 80A90000 -/* 01E48 80A93DE8 24A55060 */ addiu $a1, $a1, %lo(D_80A95060) ## $a1 = 80A95060 -/* 01E4C 80A93DEC 8D640000 */ lw $a0, 0x0000($t3) ## 00000000 -/* 01E50 80A93DF0 240606B3 */ addiu $a2, $zero, 0x06B3 ## $a2 = 000006B3 -/* 01E54 80A93DF4 0C0346A2 */ jal Matrix_NewMtx -/* 01E58 80A93DF8 AFA70070 */ sw $a3, 0x0070($sp) -/* 01E5C 80A93DFC 8FA30070 */ lw $v1, 0x0070($sp) -/* 01E60 80A93E00 3C0580A9 */ lui $a1, %hi(D_80A946D0) ## $a1 = 80A90000 -/* 01E64 80A93E04 3C0480A9 */ lui $a0, %hi(D_80A944BC) ## $a0 = 80A90000 -/* 01E68 80A93E08 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 01E6C 80A93E0C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 01E70 80A93E10 248444BC */ addiu $a0, $a0, %lo(D_80A944BC) ## $a0 = 80A944BC -/* 01E74 80A93E14 24A546D0 */ addiu $a1, $a1, %lo(D_80A946D0) ## $a1 = 80A946D0 -/* 01E78 80A93E18 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000 -/* 01E7C 80A93E1C 00026040 */ sll $t4, $v0, 1 -.L80A93E20: -/* 01E80 80A93E20 008C6821 */ addu $t5, $a0, $t4 -/* 01E84 80A93E24 95AE0000 */ lhu $t6, 0x0000($t5) ## 00000000 -/* 01E88 80A93E28 960F0156 */ lhu $t7, 0x0156($s0) ## 00000156 -/* 01E8C 80A93E2C 01CFC024 */ and $t8, $t6, $t7 -/* 01E90 80A93E30 5300000A */ beql $t8, $zero, .L80A93E5C -/* 01E94 80A93E34 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 01E98 80A93E38 8E2702C0 */ lw $a3, 0x02C0($s1) ## 000002C0 -/* 01E9C 80A93E3C 00024880 */ sll $t1, $v0, 2 -/* 01EA0 80A93E40 00A95021 */ addu $t2, $a1, $t1 -/* 01EA4 80A93E44 24F90008 */ addiu $t9, $a3, 0x0008 ## $t9 = 00000008 -/* 01EA8 80A93E48 AE3902C0 */ sw $t9, 0x02C0($s1) ## 000002C0 -/* 01EAC 80A93E4C ACE80000 */ sw $t0, 0x0000($a3) ## 00000000 -/* 01EB0 80A93E50 8D4B0000 */ lw $t3, 0x0000($t2) ## 00000000 -/* 01EB4 80A93E54 ACEB0004 */ sw $t3, 0x0004($a3) ## 00000004 -/* 01EB8 80A93E58 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000002 -.L80A93E5C: -/* 01EBC 80A93E5C 00021400 */ sll $v0, $v0, 16 -/* 01EC0 80A93E60 00021403 */ sra $v0, $v0, 16 -/* 01EC4 80A93E64 2841000B */ slti $at, $v0, 0x000B -/* 01EC8 80A93E68 5420FFED */ bnel $at, $zero, .L80A93E20 -/* 01ECC 80A93E6C 00026040 */ sll $t4, $v0, 1 -/* 01ED0 80A93E70 1000008A */ beq $zero, $zero, .L80A9409C -/* 01ED4 80A93E74 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 01ED8 80A93E78 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -.L80A93E7C: -/* 01EDC 80A93E7C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01EE0 80A93E80 0C034261 */ jal Matrix_Translate -/* 01EE4 80A93E84 46006386 */ mov.s $f14, $f12 -/* 01EE8 80A93E88 8E2702C0 */ lw $a3, 0x02C0($s1) ## 000002C0 -/* 01EEC 80A93E8C 3C0DDA38 */ lui $t5, 0xDA38 ## $t5 = DA380000 -/* 01EF0 80A93E90 35AD0003 */ ori $t5, $t5, 0x0003 ## $t5 = DA380003 -/* 01EF4 80A93E94 24EC0008 */ addiu $t4, $a3, 0x0008 ## $t4 = 00000008 -/* 01EF8 80A93E98 AE2C02C0 */ sw $t4, 0x02C0($s1) ## 000002C0 -/* 01EFC 80A93E9C ACED0000 */ sw $t5, 0x0000($a3) ## 00000000 -/* 01F00 80A93EA0 8FAE00A4 */ lw $t6, 0x00A4($sp) -/* 01F04 80A93EA4 3C0580A9 */ lui $a1, %hi(D_80A95074) ## $a1 = 80A90000 -/* 01F08 80A93EA8 24A55074 */ addiu $a1, $a1, %lo(D_80A95074) ## $a1 = 80A95074 -/* 01F0C 80A93EAC 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000 -/* 01F10 80A93EB0 240606BD */ addiu $a2, $zero, 0x06BD ## $a2 = 000006BD -/* 01F14 80A93EB4 0C0346A2 */ jal Matrix_NewMtx -/* 01F18 80A93EB8 AFA70068 */ sw $a3, 0x0068($sp) -/* 01F1C 80A93EBC 8FA30068 */ lw $v1, 0x0068($sp) -/* 01F20 80A93EC0 3401FFFF */ ori $at, $zero, 0xFFFF ## $at = 0000FFFF -/* 01F24 80A93EC4 3C0580A9 */ lui $a1, %hi(D_80A946D0) ## $a1 = 80A90000 -/* 01F28 80A93EC8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 01F2C 80A93ECC 960F0156 */ lhu $t7, 0x0156($s0) ## 00000156 -/* 01F30 80A93ED0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 01F34 80A93ED4 24A546D0 */ addiu $a1, $a1, %lo(D_80A946D0) ## $a1 = 80A946D0 -/* 01F38 80A93ED8 15E1000A */ bne $t7, $at, .L80A93F04 -/* 01F3C 80A93EDC 3C06DE00 */ lui $a2, 0xDE00 ## $a2 = DE000000 -/* 01F40 80A93EE0 8E2702C0 */ lw $a3, 0x02C0($s1) ## 000002C0 -/* 01F44 80A93EE4 3C090404 */ lui $t1, %hi(D_0403C050) ## $t1 = 04040000 -/* 01F48 80A93EE8 2529C050 */ addiu $t1, $t1, %lo(D_0403C050) ## $t1 = 0403C050 -/* 01F4C 80A93EEC 24F80008 */ addiu $t8, $a3, 0x0008 ## $t8 = 00000008 -/* 01F50 80A93EF0 AE3802C0 */ sw $t8, 0x02C0($s1) ## 000002C0 -/* 01F54 80A93EF4 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000 -/* 01F58 80A93EF8 ACF90000 */ sw $t9, 0x0000($a3) ## 00000000 -/* 01F5C 80A93EFC 10000018 */ beq $zero, $zero, .L80A93F60 -/* 01F60 80A93F00 ACE90004 */ sw $t1, 0x0004($a3) ## 00000004 -.L80A93F04: -/* 01F64 80A93F04 3C0480A9 */ lui $a0, %hi(D_80A944BC) ## $a0 = 80A90000 -/* 01F68 80A93F08 248444BC */ addiu $a0, $a0, %lo(D_80A944BC) ## $a0 = 80A944BC -/* 01F6C 80A93F0C 00025040 */ sll $t2, $v0, 1 -.L80A93F10: -/* 01F70 80A93F10 008A5821 */ addu $t3, $a0, $t2 -/* 01F74 80A93F14 956C0000 */ lhu $t4, 0x0000($t3) ## 00000000 -/* 01F78 80A93F18 960D0156 */ lhu $t5, 0x0156($s0) ## 00000156 -/* 01F7C 80A93F1C 018D7024 */ and $t6, $t4, $t5 -/* 01F80 80A93F20 51C0000A */ beql $t6, $zero, .L80A93F4C -/* 01F84 80A93F24 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 01F88 80A93F28 8E2702C0 */ lw $a3, 0x02C0($s1) ## 000002C0 -/* 01F8C 80A93F2C 0002C080 */ sll $t8, $v0, 2 -/* 01F90 80A93F30 00B8C821 */ addu $t9, $a1, $t8 -/* 01F94 80A93F34 24EF0008 */ addiu $t7, $a3, 0x0008 ## $t7 = 00000008 -/* 01F98 80A93F38 AE2F02C0 */ sw $t7, 0x02C0($s1) ## 000002C0 -/* 01F9C 80A93F3C ACE60000 */ sw $a2, 0x0000($a3) ## 00000000 -/* 01FA0 80A93F40 8F290000 */ lw $t1, 0x0000($t9) ## DE000000 -/* 01FA4 80A93F44 ACE90004 */ sw $t1, 0x0004($a3) ## 00000004 -/* 01FA8 80A93F48 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000002 -.L80A93F4C: -/* 01FAC 80A93F4C 00021400 */ sll $v0, $v0, 16 -/* 01FB0 80A93F50 00021403 */ sra $v0, $v0, 16 -/* 01FB4 80A93F54 2841000B */ slti $at, $v0, 0x000B -/* 01FB8 80A93F58 5420FFED */ bnel $at, $zero, .L80A93F10 -/* 01FBC 80A93F5C 00025040 */ sll $t2, $v0, 1 -.L80A93F60: -/* 01FC0 80A93F60 860A0198 */ lh $t2, 0x0198($s0) ## 00000198 -/* 01FC4 80A93F64 3C064348 */ lui $a2, 0x4348 ## $a2 = 43480000 -/* 01FC8 80A93F68 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01FCC 80A93F6C 5140004B */ beql $t2, $zero, .L80A9409C -/* 01FD0 80A93F70 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 01FD4 80A93F74 920B0194 */ lbu $t3, 0x0194($s0) ## 00000194 -/* 01FD8 80A93F78 3C01C496 */ lui $at, 0xC496 ## $at = C4960000 -/* 01FDC 80A93F7C 55600005 */ bnel $t3, $zero, .L80A93F94 -/* 01FE0 80A93F80 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 01FE4 80A93F84 44810000 */ mtc1 $at, $f0 ## $f0 = -1200.00 -/* 01FE8 80A93F88 10000003 */ beq $zero, $zero, .L80A93F98 -/* 01FEC 80A93F8C 00000000 */ nop -/* 01FF0 80A93F90 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -.L80A93F94: -/* 01FF4 80A93F94 00000000 */ nop -.L80A93F98: -/* 01FF8 80A93F98 3C0180A9 */ lui $at, %hi(D_80A95118) ## $at = 80A90000 -/* 01FFC 80A93F9C C42A5118 */ lwc1 $f10, %lo(D_80A95118)($at) -/* 02000 80A93FA0 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 02004 80A93FA4 0C034261 */ jal Matrix_Translate -/* 02008 80A93FA8 46005380 */ add.s $f14, $f10, $f0 -/* 0200C 80A93FAC 920C0194 */ lbu $t4, 0x0194($s0) ## 00000194 -/* 02010 80A93FB0 3C0180A9 */ lui $at, %hi(D_80A94EFC) ## $at = 80A90000 -/* 02014 80A93FB4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 02018 80A93FB8 000C6880 */ sll $t5, $t4, 2 -/* 0201C 80A93FBC 002D0821 */ addu $at, $at, $t5 -/* 02020 80A93FC0 0C0343B5 */ jal Matrix_RotateZ -/* 02024 80A93FC4 C42C4EFC */ lwc1 $f12, %lo(D_80A94EFC)($at) -/* 02028 80A93FC8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0202C 80A93FCC 44817000 */ mtc1 $at, $f14 ## $f14 = 10.00 -/* 02030 80A93FD0 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 02034 80A93FD4 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000 -/* 02038 80A93FD8 0C0342A3 */ jal Matrix_Scale -/* 0203C 80A93FDC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 02040 80A93FE0 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 02044 80A93FE4 3C0FE700 */ lui $t7, 0xE700 ## $t7 = E7000000 -/* 02048 80A93FE8 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000 -/* 0204C 80A93FEC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 02050 80A93FF0 AE2E02D0 */ sw $t6, 0x02D0($s1) ## 000002D0 -/* 02054 80A93FF4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 02058 80A93FF8 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 0205C 80A93FFC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 02060 80A94000 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00 -/* 02064 80A94004 240E9600 */ addiu $t6, $zero, 0x9600 ## $t6 = FFFF9600 -/* 02068 80A94008 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 0206C 80A9400C AE3802D0 */ sw $t8, 0x02D0($s1) ## 000002D0 -/* 02070 80A94010 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 02074 80A94014 86090198 */ lh $t1, 0x0198($s0) ## 00000198 -/* 02078 80A94018 3C0DFB00 */ lui $t5, 0xFB00 ## $t5 = FB000000 -/* 0207C 80A9401C 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000 -/* 02080 80A94020 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 00000000 -/* 02084 80A94024 01415825 */ or $t3, $t2, $at ## $t3 = FFFFFF00 -/* 02088 80A94028 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 0208C 80A9402C 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 02090 80A94030 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003 -/* 02094 80A94034 3C0580A9 */ lui $a1, %hi(D_80A95088) ## $a1 = 80A90000 -/* 02098 80A94038 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 0209C 80A9403C AE2C02D0 */ sw $t4, 0x02D0($s1) ## 000002D0 -/* 020A0 80A94040 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 020A4 80A94044 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 020A8 80A94048 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 020AC 80A9404C 24A55088 */ addiu $a1, $a1, %lo(D_80A95088) ## $a1 = 80A95088 -/* 020B0 80A94050 240606ED */ addiu $a2, $zero, 0x06ED ## $a2 = 000006ED -/* 020B4 80A94054 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 020B8 80A94058 AE2F02D0 */ sw $t7, 0x02D0($s1) ## 000002D0 -/* 020BC 80A9405C AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 020C0 80A94060 8FB900A4 */ lw $t9, 0x00A4($sp) -/* 020C4 80A94064 8F240000 */ lw $a0, 0x0000($t9) ## FA000000 -/* 020C8 80A94068 0C0346A2 */ jal Matrix_NewMtx -/* 020CC 80A9406C AFA2004C */ sw $v0, 0x004C($sp) -/* 020D0 80A94070 8FA3004C */ lw $v1, 0x004C($sp) -/* 020D4 80A94074 3C0B0600 */ lui $t3, %hi(D_06001630) ## $t3 = 06000000 -/* 020D8 80A94078 256B1630 */ addiu $t3, $t3, %lo(D_06001630) ## $t3 = 06001630 -/* 020DC 80A9407C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 020E0 80A94080 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 020E4 80A94084 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 020E8 80A94088 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 020EC 80A9408C AE2902D0 */ sw $t1, 0x02D0($s1) ## 000002D0 -/* 020F0 80A94090 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 020F4 80A94094 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 020F8 80A94098 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -.L80A9409C: -/* 020FC 80A9409C 44816000 */ mtc1 $at, $f12 ## $f12 = 400.00 -/* 02100 80A940A0 C60200EC */ lwc1 $f2, 0x00EC($s0) ## 000000EC -/* 02104 80A940A4 460C103E */ c.le.s $f2, $f12 -/* 02108 80A940A8 00000000 */ nop -/* 0210C 80A940AC 450200E2 */ bc1fl .L80A94438 -/* 02110 80A940B0 8FAF00A4 */ lw $t7, 0x00A4($sp) -/* 02114 80A940B4 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 02118 80A940B8 3C0180A9 */ lui $at, %hi(D_80A9511C) ## $at = 80A90000 -/* 0211C 80A940BC 4602803C */ c.lt.s $f16, $f2 -/* 02120 80A940C0 00000000 */ nop -/* 02124 80A940C4 450200DC */ bc1fl .L80A94438 -/* 02128 80A940C8 8FAF00A4 */ lw $t7, 0x00A4($sp) -/* 0212C 80A940CC C432511C */ lwc1 $f18, %lo(D_80A9511C)($at) -/* 02130 80A940D0 C6040080 */ lwc1 $f4, 0x0080($s0) ## 00000080 -/* 02134 80A940D4 4604903C */ c.lt.s $f18, $f4 -/* 02138 80A940D8 00000000 */ nop -/* 0213C 80A940DC 450200D6 */ bc1fl .L80A94438 -/* 02140 80A940E0 8FAF00A4 */ lw $t7, 0x00A4($sp) -/* 02144 80A940E4 860C0176 */ lh $t4, 0x0176($s0) ## 00000176 -/* 02148 80A940E8 3C048016 */ lui $a0, %hi(gSaveContext) -/* 0214C 80A940EC 2484E660 */ addiu $a0, %lo(gSaveContext) -/* 02150 80A940F0 55800005 */ bnel $t4, $zero, .L80A94108 -/* 02154 80A940F4 9482000C */ lhu $v0, 0x000C($a0) ## 8015E66C -/* 02158 80A940F8 860D0178 */ lh $t5, 0x0178($s0) ## 00000178 -/* 0215C 80A940FC 51A000CE */ beql $t5, $zero, .L80A94438 -/* 02160 80A94100 8FAF00A4 */ lw $t7, 0x00A4($sp) -/* 02164 80A94104 9482000C */ lhu $v0, 0x000C($a0) ## 8015E66C -.L80A94108: -/* 02168 80A94108 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 0216C 80A9410C 0041082A */ slt $at, $v0, $at -/* 02170 80A94110 14200004 */ bne $at, $zero, .L80A94124 -/* 02174 80A94114 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000 -/* 02178 80A94118 340EFFFF */ ori $t6, $zero, 0xFFFF ## $t6 = 0000FFFF -/* 0217C 80A9411C 01C31023 */ subu $v0, $t6, $v1 -/* 02180 80A94120 3042FFFF */ andi $v0, $v0, 0xFFFF ## $v0 = 00000000 -.L80A94124: -/* 02184 80A94124 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00 -/* 02188 80A94128 04410005 */ bgez $v0, .L80A94140 -/* 0218C 80A9412C 46803220 */ cvt.s.w $f8, $f6 -/* 02190 80A94130 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 02194 80A94134 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00 -/* 02198 80A94138 00000000 */ nop -/* 0219C 80A9413C 460A4200 */ add.s $f8, $f8, $f10 -.L80A94140: -/* 021A0 80A94140 3C0180A9 */ lui $at, %hi(D_80A95120) ## $at = 80A90000 -/* 021A4 80A94144 C4325120 */ lwc1 $f18, %lo(D_80A95120)($at) -/* 021A8 80A94148 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 021AC 80A9414C 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00 -/* 021B0 80A94150 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 021B4 80A94154 44815000 */ mtc1 $at, $f10 ## $f10 = 300.00 -/* 021B8 80A94158 46124102 */ mul.s $f4, $f8, $f18 -/* 021BC 80A9415C 4602503C */ c.lt.s $f10, $f2 -/* 021C0 80A94160 00000000 */ nop -/* 021C4 80A94164 45000008 */ bc1f .L80A94188 -/* 021C8 80A94168 46062000 */ add.s $f0, $f4, $f6 -/* 021CC 80A9416C 46026201 */ sub.s $f8, $f12, $f2 -/* 021D0 80A94170 3C0180A9 */ lui $at, %hi(D_80A95124) ## $at = 80A90000 -/* 021D4 80A94174 C4325124 */ lwc1 $f18, %lo(D_80A95124)($at) -/* 021D8 80A94178 46124102 */ mul.s $f4, $f8, $f18 -/* 021DC 80A9417C 00000000 */ nop -/* 021E0 80A94180 46040002 */ mul.s $f0, $f0, $f4 -/* 021E4 80A94184 00000000 */ nop -.L80A94188: -/* 021E8 80A94188 4600018D */ trunc.w.s $f6, $f0 -/* 021EC 80A9418C 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 021F0 80A94190 3C18FA00 */ lui $t8, 0xFA00 ## $t8 = FA000000 -/* 021F4 80A94194 440B3000 */ mfc1 $t3, $f6 -/* 021F8 80A94198 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 021FC 80A9419C AE2F02D0 */ sw $t7, 0x02D0($s1) ## 000002D0 -/* 02200 80A941A0 316C00FF */ andi $t4, $t3, 0x00FF ## $t4 = 00000030 -/* 02204 80A941A4 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 02208 80A941A8 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 0220C 80A941AC 920D0154 */ lbu $t5, 0x0154($s0) ## 00000154 -/* 02210 80A941B0 55A00009 */ bnel $t5, $zero, .L80A941D8 -/* 02214 80A941B4 C60E0080 */ lwc1 $f14, 0x0080($s0) ## 00000080 -/* 02218 80A941B8 8C8E0004 */ lw $t6, 0x0004($a0) ## 8015E664 -/* 0221C 80A941BC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 02220 80A941C0 55C10005 */ bnel $t6, $at, .L80A941D8 -/* 02224 80A941C4 C60E0080 */ lwc1 $f14, 0x0080($s0) ## 00000080 -/* 02228 80A941C8 46008086 */ mov.s $f2, $f16 -/* 0222C 80A941CC 1000000A */ beq $zero, $zero, .L80A941F8 -/* 02230 80A941D0 C60E0080 */ lwc1 $f14, 0x0080($s0) ## 00000080 -/* 02234 80A941D4 C60E0080 */ lwc1 $f14, 0x0080($s0) ## 00000080 -.L80A941D8: -/* 02238 80A941D8 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028 -/* 0223C 80A941DC 3C01C248 */ lui $at, 0xC248 ## $at = C2480000 -/* 02240 80A941E0 44819000 */ mtc1 $at, $f18 ## $f18 = -50.00 -/* 02244 80A941E4 460E5201 */ sub.s $f8, $f10, $f14 -/* 02248 80A941E8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0224C 80A941EC 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00 -/* 02250 80A941F0 46124102 */ mul.s $f4, $f8, $f18 -/* 02254 80A941F4 46062083 */ div.s $f2, $f4, $f6 -.L80A941F8: -/* 02258 80A941F8 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C -/* 0225C 80A941FC C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024 -/* 02260 80A94200 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 02264 80A94204 46025200 */ add.s $f8, $f10, $f2 -/* 02268 80A94208 44064000 */ mfc1 $a2, $f8 -/* 0226C 80A9420C 0C034261 */ jal Matrix_Translate -/* 02270 80A94210 00000000 */ nop -/* 02274 80A94214 C60C0188 */ lwc1 $f12, 0x0188($s0) ## 00000188 -/* 02278 80A94218 0C0342DC */ jal Matrix_RotateX -/* 0227C 80A9421C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 02280 80A94220 C60C0190 */ lwc1 $f12, 0x0190($s0) ## 00000190 -/* 02284 80A94224 0C0343B5 */ jal Matrix_RotateZ -/* 02288 80A94228 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0228C 80A9422C 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 02290 80A94230 C60C0050 */ lwc1 $f12, 0x0050($s0) ## 00000050 -/* 02294 80A94234 8E060058 */ lw $a2, 0x0058($s0) ## 00000058 -/* 02298 80A94238 0C0342A3 */ jal Matrix_Scale -/* 0229C 80A9423C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 022A0 80A94240 920F0154 */ lbu $t7, 0x0154($s0) ## 00000154 -/* 022A4 80A94244 3C0180A9 */ lui $at, %hi(D_80A95128) ## $at = 80A90000 -/* 022A8 80A94248 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 022AC 80A9424C 55E00004 */ bnel $t7, $zero, .L80A94260 -/* 022B0 80A94250 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6 -/* 022B4 80A94254 0C0342DC */ jal Matrix_RotateX -/* 022B8 80A94258 C42C5128 */ lwc1 $f12, %lo(D_80A95128)($at) -/* 022BC 80A9425C 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6 -.L80A94260: -/* 022C0 80A94260 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 022C4 80A94264 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00 -/* 022C8 80A94268 44989000 */ mtc1 $t8, $f18 ## $f18 = 0.00 -/* 022CC 80A9426C 3C0180A9 */ lui $at, %hi(D_80A9512C) ## $at = 80A90000 -/* 022D0 80A94270 C428512C */ lwc1 $f8, %lo(D_80A9512C)($at) -/* 022D4 80A94274 46809120 */ cvt.s.w $f4, $f18 -/* 022D8 80A94278 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 022DC 80A9427C 46062283 */ div.s $f10, $f4, $f6 -/* 022E0 80A94280 46085302 */ mul.s $f12, $f10, $f8 -/* 022E4 80A94284 0C034348 */ jal Matrix_RotateY -/* 022E8 80A94288 00000000 */ nop -/* 022EC 80A9428C 861900B4 */ lh $t9, 0x00B4($s0) ## 000000B4 -/* 022F0 80A94290 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 022F4 80A94294 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00 -/* 022F8 80A94298 44999000 */ mtc1 $t9, $f18 ## $f18 = 0.00 -/* 022FC 80A9429C 3C0180A9 */ lui $at, %hi(D_80A95130) ## $at = 80A90000 -/* 02300 80A942A0 C4285130 */ lwc1 $f8, %lo(D_80A95130)($at) -/* 02304 80A942A4 46809120 */ cvt.s.w $f4, $f18 -/* 02308 80A942A8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0230C 80A942AC 46062283 */ div.s $f10, $f4, $f6 -/* 02310 80A942B0 46085302 */ mul.s $f12, $f10, $f8 -/* 02314 80A942B4 0C0342DC */ jal Matrix_RotateX -/* 02318 80A942B8 00000000 */ nop -/* 0231C 80A942BC 86090168 */ lh $t1, 0x0168($s0) ## 00000168 -/* 02320 80A942C0 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 02324 80A942C4 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00 -/* 02328 80A942C8 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00 -/* 0232C 80A942CC 3C0180A9 */ lui $at, %hi(D_80A95134) ## $at = 80A90000 -/* 02330 80A942D0 C4285134 */ lwc1 $f8, %lo(D_80A95134)($at) -/* 02334 80A942D4 46809120 */ cvt.s.w $f4, $f18 -/* 02338 80A942D8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0233C 80A942DC 46062283 */ div.s $f10, $f4, $f6 -/* 02340 80A942E0 46085302 */ mul.s $f12, $f10, $f8 -/* 02344 80A942E4 0C0342DC */ jal Matrix_RotateX -/* 02348 80A942E8 00000000 */ nop -/* 0234C 80A942EC 860A016C */ lh $t2, 0x016C($s0) ## 0000016C -/* 02350 80A942F0 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 02354 80A942F4 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00 -/* 02358 80A942F8 448A9000 */ mtc1 $t2, $f18 ## $f18 = 0.00 -/* 0235C 80A942FC 3C0180A9 */ lui $at, %hi(D_80A95138) ## $at = 80A90000 -/* 02360 80A94300 C4285138 */ lwc1 $f8, %lo(D_80A95138)($at) -/* 02364 80A94304 46809120 */ cvt.s.w $f4, $f18 -/* 02368 80A94308 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0236C 80A9430C 46062283 */ div.s $f10, $f4, $f6 -/* 02370 80A94310 46085302 */ mul.s $f12, $f10, $f8 -/* 02374 80A94314 0C034348 */ jal Matrix_RotateY -/* 02378 80A94318 00000000 */ nop -/* 0237C 80A9431C C60C015C */ lwc1 $f12, 0x015C($s0) ## 0000015C -/* 02380 80A94320 C60E0160 */ lwc1 $f14, 0x0160($s0) ## 00000160 -/* 02384 80A94324 8E060164 */ lw $a2, 0x0164($s0) ## 00000164 -/* 02388 80A94328 0C034261 */ jal Matrix_Translate -/* 0238C 80A9432C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 02390 80A94330 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 02394 80A94334 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000 -/* 02398 80A94338 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003 -/* 0239C 80A9433C 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 023A0 80A94340 AE2B02D0 */ sw $t3, 0x02D0($s1) ## 000002D0 -/* 023A4 80A94344 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 023A8 80A94348 8FAD00A4 */ lw $t5, 0x00A4($sp) -/* 023AC 80A9434C 3C0580A9 */ lui $a1, %hi(D_80A9509C) ## $a1 = 80A90000 -/* 023B0 80A94350 24A5509C */ addiu $a1, $a1, %lo(D_80A9509C) ## $a1 = 80A9509C -/* 023B4 80A94354 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000 -/* 023B8 80A94358 24060729 */ addiu $a2, $zero, 0x0729 ## $a2 = 00000729 -/* 023BC 80A9435C 0C0346A2 */ jal Matrix_NewMtx -/* 023C0 80A94360 AFA20038 */ sw $v0, 0x0038($sp) -/* 023C4 80A94364 8FA30038 */ lw $v1, 0x0038($sp) -/* 023C8 80A94368 240400FF */ addiu $a0, $zero, 0x00FF ## $a0 = 000000FF -/* 023CC 80A9436C 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000 -/* 023D0 80A94370 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 023D4 80A94374 3C0380A9 */ lui $v1, %hi(D_80A946FC) ## $v1 = 80A90000 -/* 023D8 80A94378 246346FC */ addiu $v1, $v1, %lo(D_80A946FC) ## $v1 = 80A946FC -/* 023DC 80A9437C 8FA5008C */ lw $a1, 0x008C($sp) -/* 023E0 80A94380 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 023E4 80A94384 00027040 */ sll $t6, $v0, 1 -.L80A94388: -/* 023E8 80A94388 006E7821 */ addu $t7, $v1, $t6 -/* 023EC 80A9438C 95F80000 */ lhu $t8, 0x0000($t7) ## 00000000 -/* 023F0 80A94390 96190156 */ lhu $t9, 0x0156($s0) ## 00000156 -/* 023F4 80A94394 00A25021 */ addu $t2, $a1, $v0 -/* 023F8 80A94398 00A25821 */ addu $t3, $a1, $v0 -/* 023FC 80A9439C 03194824 */ and $t1, $t8, $t9 -/* 02400 80A943A0 51200004 */ beql $t1, $zero, .L80A943B4 -/* 02404 80A943A4 A1600000 */ sb $zero, 0x0000($t3) ## 00000000 -/* 02408 80A943A8 10000002 */ beq $zero, $zero, .L80A943B4 -/* 0240C 80A943AC A1440000 */ sb $a0, 0x0000($t2) ## 00000000 -/* 02410 80A943B0 A1600000 */ sb $zero, 0x0000($t3) ## 00000000 -.L80A943B4: -/* 02414 80A943B4 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 02418 80A943B8 00021400 */ sll $v0, $v0, 16 -/* 0241C 80A943BC 00021403 */ sra $v0, $v0, 16 -/* 02420 80A943C0 28410400 */ slti $at, $v0, 0x0400 -/* 02424 80A943C4 5420FFF0 */ bnel $at, $zero, .L80A94388 -/* 02428 80A943C8 00027040 */ sll $t6, $v0, 1 -/* 0242C 80A943CC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 02430 80A943D0 00057100 */ sll $t6, $a1, 4 -/* 02434 80A943D4 000E7F02 */ srl $t7, $t6, 28 -/* 02438 80A943D8 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000009 -/* 0243C 80A943DC AE2C02D0 */ sw $t4, 0x02D0($s1) ## 000002D0 -/* 02440 80A943E0 000FC080 */ sll $t8, $t7, 2 -/* 02444 80A943E4 35AD0020 */ ori $t5, $t5, 0x0020 ## $t5 = DB060020 -/* 02448 80A943E8 3C198016 */ lui $t9, %hi(gSegments) -/* 0244C 80A943EC 0338C821 */ addu $t9, $t9, $t8 -/* 02450 80A943F0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 02454 80A943F4 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000001 -/* 02458 80A943F8 8F396FA8 */ lw $t9, %lo(gSegments)($t9) -/* 0245C 80A943FC 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 02460 80A94400 00A14824 */ and $t1, $a1, $at -/* 02464 80A94404 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 02468 80A94408 03295021 */ addu $t2, $t9, $t1 -/* 0246C 80A9440C 01415821 */ addu $t3, $t2, $at -/* 02470 80A94410 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000005 -/* 02474 80A94414 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 02478 80A94418 3C0E80A9 */ lui $t6, %hi(D_80A94F60) ## $t6 = 80A90000 -/* 0247C 80A9441C 25CE4F60 */ addiu $t6, $t6, %lo(D_80A94F60) ## $t6 = 80A94F60 -/* 02480 80A94420 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000009 -/* 02484 80A94424 AE2C02D0 */ sw $t4, 0x02D0($s1) ## 000002D0 -/* 02488 80A94428 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000 -/* 0248C 80A9442C AC4D0000 */ sw $t5, 0x0000($v0) ## 00000001 -/* 02490 80A94430 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000005 -/* 02494 80A94434 8FAF00A4 */ lw $t7, 0x00A4($sp) -.L80A94438: -/* 02498 80A94438 3C0680A9 */ lui $a2, %hi(D_80A950B0) ## $a2 = 80A90000 -/* 0249C 80A9443C 24C650B0 */ addiu $a2, $a2, %lo(D_80A950B0) ## $a2 = 80A950B0 -/* 024A0 80A94440 27A40078 */ addiu $a0, $sp, 0x0078 ## $a0 = FFFFFFD8 -/* 024A4 80A94444 24070741 */ addiu $a3, $zero, 0x0741 ## $a3 = 00000741 -/* 024A8 80A94448 0C031AD5 */ jal Graph_CloseDisps -/* 024AC 80A9444C 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000 -/* 024B0 80A94450 8FBF001C */ lw $ra, 0x001C($sp) -/* 024B4 80A94454 8FB00014 */ lw $s0, 0x0014($sp) -/* 024B8 80A94458 8FB10018 */ lw $s1, 0x0018($sp) -/* 024BC 80A9445C 03E00008 */ jr $ra -/* 024C0 80A94460 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000 -/* 024C4 80A94464 00000000 */ nop -/* 024C8 80A94468 00000000 */ nop -/* 024CC 80A9446C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Init.s deleted file mode 100644 index 7d12d0f404..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Init.s +++ /dev/null @@ -1,93 +0,0 @@ -.rdata -glabel D_80A94FE0 - .asciz "KANBAN ARG %x\n" - .balign 4 - -.text -glabel EnKanban_Init -/* 000B8 80A92058 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 000BC 80A9205C AFA50034 */ sw $a1, 0x0034($sp) -/* 000C0 80A92060 AFBF0024 */ sw $ra, 0x0024($sp) -/* 000C4 80A92064 AFB00020 */ sw $s0, 0x0020($sp) -/* 000C8 80A92068 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 000CC 80A9206C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 000D0 80A92070 0C00B58B */ jal Actor_SetScale - -/* 000D4 80A92074 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 000D8 80A92078 860E001C */ lh $t6, 0x001C($s0) ## 0000001C -/* 000DC 80A9207C 2401FFDD */ addiu $at, $zero, 0xFFDD ## $at = FFFFFFDD -/* 000E0 80A92080 51C1003E */ beql $t6, $at, .L80A9217C -/* 000E4 80A92084 8FBF0024 */ lw $ra, 0x0024($sp) -/* 000E8 80A92088 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004 -/* 000EC 80A9208C A200001F */ sb $zero, 0x001F($s0) ## 0000001F -/* 000F0 80A92090 260501A0 */ addiu $a1, $s0, 0x01A0 ## $a1 = 000001A0 -/* 000F4 80A92094 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 000F8 80A92098 AE180004 */ sw $t8, 0x0004($s0) ## 00000004 -/* 000FC 80A9209C AFA50028 */ sw $a1, 0x0028($sp) -/* 00100 80A920A0 0C0170D9 */ jal Collider_InitCylinder - -/* 00104 80A920A4 8FA40034 */ lw $a0, 0x0034($sp) -/* 00108 80A920A8 3C0780A9 */ lui $a3, %hi(D_80A94490) ## $a3 = 80A90000 -/* 0010C 80A920AC 8FA50028 */ lw $a1, 0x0028($sp) -/* 00110 80A920B0 24E74490 */ addiu $a3, $a3, %lo(D_80A94490) ## $a3 = 80A94490 -/* 00114 80A920B4 8FA40034 */ lw $a0, 0x0034($sp) -/* 00118 80A920B8 0C01712B */ jal Collider_SetCylinder - -/* 0011C 80A920BC 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00120 80A920C0 3C0480A9 */ lui $a0, %hi(D_80A94FE0) ## $a0 = 80A90000 -/* 00124 80A920C4 24844FE0 */ addiu $a0, $a0, %lo(D_80A94FE0) ## $a0 = 80A94FE0 -/* 00128 80A920C8 0C00084C */ jal osSyncPrintf - -/* 0012C 80A920CC 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 00130 80A920D0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00134 80A920D4 24010300 */ addiu $at, $zero, 0x0300 ## $at = 00000300 -/* 00138 80A920D8 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 0013C 80A920DC 1441000B */ bne $v0, $at, .L80A9210C -/* 00140 80A920E0 340CFFFF */ ori $t4, $zero, 0xFFFF ## $t4 = 0000FFFF -/* 00144 80A920E4 3C198016 */ lui $t9, %hi(gSaveContext+4) -/* 00148 80A920E8 8F39E664 */ lw $t9, %lo(gSaveContext+4)($t9) -/* 0014C 80A920EC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00150 80A920F0 2408409D */ addiu $t0, $zero, 0x409D ## $t0 = 0000409D -/* 00154 80A920F4 17210003 */ bne $t9, $at, .L80A92104 -/* 00158 80A920F8 24094090 */ addiu $t1, $zero, 0x4090 ## $t1 = 00004090 -/* 0015C 80A920FC 10000005 */ beq $zero, $zero, .L80A92114 -/* 00160 80A92100 A608010E */ sh $t0, 0x010E($s0) ## 0000010E -.L80A92104: -/* 00164 80A92104 10000003 */ beq $zero, $zero, .L80A92114 -/* 00168 80A92108 A609010E */ sh $t1, 0x010E($s0) ## 0000010E -.L80A9210C: -/* 0016C 80A9210C 344A0300 */ ori $t2, $v0, 0x0300 ## $t2 = 00000300 -/* 00170 80A92110 A60A010E */ sh $t2, 0x010E($s0) ## 0000010E -.L80A92114: -/* 00174 80A92114 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00178 80A92118 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00 -/* 0017C 80A9211C 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00180 80A92120 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00 -/* 00184 80A92124 A60B0176 */ sh $t3, 0x0176($s0) ## 00000176 -/* 00188 80A92128 A60C0156 */ sh $t4, 0x0156($s0) ## 00000156 -/* 0018C 80A9212C 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004 -/* 00190 80A92130 44060000 */ mfc1 $a2, $f0 -/* 00194 80A92134 44070000 */ mfc1 $a3, $f0 -/* 00198 80A92138 AFAD0014 */ sw $t5, 0x0014($sp) -/* 0019C 80A9213C 8FA40034 */ lw $a0, 0x0034($sp) -/* 001A0 80A92140 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 001A4 80A92144 0C00B92D */ jal func_8002E4B4 -/* 001A8 80A92148 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 001AC 80A9214C 0C2A47E8 */ jal func_80A91FA0 -/* 001B0 80A92150 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 001B4 80A92154 3C0E8016 */ lui $t6, %hi(gSaveContext+4) -/* 001B8 80A92158 8DCEE664 */ lw $t6, %lo(gSaveContext+4)($t6) -/* 001BC 80A9215C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 001C0 80A92160 15C10005 */ bne $t6, $at, .L80A92178 -/* 001C4 80A92164 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 001C8 80A92168 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00 -/* 001CC 80A9216C C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028 -/* 001D0 80A92170 46083281 */ sub.s $f10, $f6, $f8 -/* 001D4 80A92174 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028 -.L80A92178: -/* 001D8 80A92178 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A9217C: -/* 001DC 80A9217C 8FB00020 */ lw $s0, 0x0020($sp) -/* 001E0 80A92180 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 001E4 80A92184 03E00008 */ jr $ra -/* 001E8 80A92188 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Update.s deleted file mode 100644 index 258e095542..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Update.s +++ /dev/null @@ -1,1854 +0,0 @@ -.rdata -glabel D_80A94FF4 - .asciz "\x1b[m" - .balign 4 - -glabel D_80A94FF8 - .asciz " WAT Y = %f\n" - .balign 4 - -glabel D_80A95008 - .asciz " POS Y = %f\n" - .balign 4 - -glabel D_80A95018 - .asciz " GROUND Y = %f\n" - .balign 4 - -glabel D_80A9502C - .asciz "\x1b[32m" - .balign 4 - -glabel D_80A95034 - .asciz "OCARINA_MODE %d\n" - .balign 4 - -glabel D_80A95048 - .asciz "\x1b[m" - .balign 4 - -.late_rodata -glabel jtbl_80A950C8 -.word L80A922CC -.word L80A92A24 -.word L80A92A24 -.word L80A930DC -.word L80A930DC -.word L80A93920 -glabel D_80A950E0 - .float 3.14159274101 - -glabel D_80A950E4 - .word 0xBE99999A -glabel D_80A950E8 - .float 0.7 - -glabel D_80A950EC - .float 0.1 - -glabel D_80A950F0 - .float 2500.0 - -glabel D_80A950F4 - .float 10000.0 - -glabel D_80A950F8 - .float 0.05 - -glabel D_80A950FC - .float 0.05 - -glabel D_80A95100 - .word 0x4622F983 -glabel D_80A95104 - .float 3.14159274101 - -.text -glabel EnKanban_Update -/* 002D8 80A92278 27BDFF00 */ addiu $sp, $sp, 0xFF00 ## $sp = FFFFFF00 -/* 002DC 80A9227C AFBF003C */ sw $ra, 0x003C($sp) -/* 002E0 80A92280 AFB10038 */ sw $s1, 0x0038($sp) -/* 002E4 80A92284 AFB00034 */ sw $s0, 0x0034($sp) -/* 002E8 80A92288 AFA50104 */ sw $a1, 0x0104($sp) -/* 002EC 80A9228C A3A000FF */ sb $zero, 0x00FF($sp) -/* 002F0 80A92290 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44 -/* 002F4 80A92294 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 002F8 80A92298 AFAF00E8 */ sw $t7, 0x00E8($sp) -/* 002FC 80A9229C 90980150 */ lbu $t8, 0x0150($a0) ## 00000150 -/* 00300 80A922A0 90890154 */ lbu $t1, 0x0154($a0) ## 00000154 -/* 00304 80A922A4 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001 -/* 00308 80A922A8 2D210006 */ sltiu $at, $t1, 0x0006 -/* 0030C 80A922AC 10200631 */ beq $at, $zero, .L80A93B74 -/* 00310 80A922B0 A0990150 */ sb $t9, 0x0150($a0) ## 00000150 -/* 00314 80A922B4 00094880 */ sll $t1, $t1, 2 -/* 00318 80A922B8 3C0180A9 */ lui $at, %hi(jtbl_80A950C8) ## $at = 80A90000 -/* 0031C 80A922BC 00290821 */ addu $at, $at, $t1 -/* 00320 80A922C0 8C2950C8 */ lw $t1, %lo(jtbl_80A950C8)($at) -/* 00324 80A922C4 01200008 */ jr $t1 -/* 00328 80A922C8 00000000 */ nop -glabel L80A922CC -/* 0032C 80A922CC 8622015A */ lh $v0, 0x015A($s1) ## 0000015A -/* 00330 80A922D0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00334 80A922D4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00338 80A922D8 10400002 */ beq $v0, $zero, .L80A922E4 -/* 0033C 80A922DC 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = FFFFFFFF -/* 00340 80A922E0 A62A015A */ sh $t2, 0x015A($s1) ## 0000015A -.L80A922E4: -/* 00344 80A922E4 8622019A */ lh $v0, 0x019A($s1) ## 0000019A -/* 00348 80A922E8 10400003 */ beq $v0, $zero, .L80A922F8 -/* 0034C 80A922EC 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = FFFFFFFF -/* 00350 80A922F0 A62B019A */ sh $t3, 0x019A($s1) ## 0000019A -/* 00354 80A922F4 8622019A */ lh $v0, 0x019A($s1) ## 0000019A -.L80A922F8: -/* 00358 80A922F8 54410006 */ bnel $v0, $at, .L80A92314 -/* 0035C 80A922FC 962E0156 */ lhu $t6, 0x0156($s1) ## 00000156 -/* 00360 80A92300 8E2C0004 */ lw $t4, 0x0004($s1) ## 00000004 -/* 00364 80A92304 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00368 80A92308 01816824 */ and $t5, $t4, $at -/* 0036C 80A9230C AE2D0004 */ sw $t5, 0x0004($s1) ## 00000004 -/* 00370 80A92310 962E0156 */ lhu $t6, 0x0156($s1) ## 00000156 -.L80A92314: -/* 00374 80A92314 3401FFFF */ ori $at, $zero, 0xFFFF ## $at = 0000FFFF -/* 00378 80A92318 55C10004 */ bnel $t6, $at, .L80A9232C -/* 0037C 80A9231C 862F015A */ lh $t7, 0x015A($s1) ## 0000015A -/* 00380 80A92320 0C2A4870 */ jal func_80A921C0 -/* 00384 80A92324 8FA50104 */ lw $a1, 0x0104($sp) -/* 00388 80A92328 862F015A */ lh $t7, 0x015A($s1) ## 0000015A -.L80A9232C: -/* 0038C 80A9232C 55E0017E */ bnel $t7, $zero, .L80A92928 -/* 00390 80A92330 8E290028 */ lw $t1, 0x0028($s1) ## 00000028 -/* 00394 80A92334 922201B1 */ lbu $v0, 0x01B1($s1) ## 000001B1 -/* 00398 80A92338 24090006 */ addiu $t1, $zero, 0x0006 ## $t1 = 00000006 -/* 0039C 80A9233C 30580002 */ andi $t8, $v0, 0x0002 ## $t8 = 00000000 -/* 003A0 80A92340 13000178 */ beq $t8, $zero, .L80A92924 -/* 003A4 80A92344 3059FFFD */ andi $t9, $v0, 0xFFFD ## $t9 = 00000000 -/* 003A8 80A92348 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024 -/* 003AC 80A9234C A23901B1 */ sb $t9, 0x01B1($s1) ## 000001B1 -/* 003B0 80A92350 A629015A */ sh $t1, 0x015A($s1) ## 0000015A -/* 003B4 80A92354 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 003B8 80A92358 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028 -/* 003BC 80A9235C 8FA60104 */ lw $a2, 0x0104($sp) -/* 003C0 80A92360 240EFFDD */ addiu $t6, $zero, 0xFFDD ## $t6 = FFFFFFDD -/* 003C4 80A92364 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 003C8 80A92368 C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C -/* 003CC 80A9236C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 003D0 80A92370 24070141 */ addiu $a3, $zero, 0x0141 ## $a3 = 00000141 -/* 003D4 80A92374 E7A80018 */ swc1 $f8, 0x0018($sp) -/* 003D8 80A92378 862B00B4 */ lh $t3, 0x00B4($s1) ## 000000B4 -/* 003DC 80A9237C 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24 -/* 003E0 80A92380 AFAB001C */ sw $t3, 0x001C($sp) -/* 003E4 80A92384 862C00B6 */ lh $t4, 0x00B6($s1) ## 000000B6 -/* 003E8 80A92388 AFAC0020 */ sw $t4, 0x0020($sp) -/* 003EC 80A9238C 862D00B8 */ lh $t5, 0x00B8($s1) ## 000000B8 -/* 003F0 80A92390 AFAE0028 */ sw $t6, 0x0028($sp) -/* 003F4 80A92394 0C00C916 */ jal Actor_SpawnAsChild - -/* 003F8 80A92398 AFAD0024 */ sw $t5, 0x0024($sp) -/* 003FC 80A9239C 10400161 */ beq $v0, $zero, .L80A92924 -/* 00400 80A923A0 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 00404 80A923A4 8E2301DC */ lw $v1, 0x01DC($s1) ## 000001DC -/* 00408 80A923A8 862F008A */ lh $t7, 0x008A($s1) ## 0000008A -/* 0040C 80A923AC 863800B6 */ lh $t8, 0x00B6($s1) ## 000000B6 -/* 00410 80A923B0 8C790000 */ lw $t9, 0x0000($v1) ## 00000000 -/* 00414 80A923B4 3C0580A9 */ lui $a1, %hi(D_80A946B8) ## $a1 = 80A90000 -/* 00418 80A923B8 01F82023 */ subu $a0, $t7, $t8 -/* 0041C 80A923BC 00042400 */ sll $a0, $a0, 16 -/* 00420 80A923C0 33290700 */ andi $t1, $t9, 0x0700 ## $t1 = 00000000 -/* 00424 80A923C4 11200008 */ beq $t1, $zero, .L80A923E8 -/* 00428 80A923C8 00042403 */ sra $a0, $a0, 16 -/* 0042C 80A923CC 8FAA00E8 */ lw $t2, 0x00E8($sp) -/* 00430 80A923D0 3C0C80A9 */ lui $t4, %hi(D_80A9469C) ## $t4 = 80A90000 -/* 00434 80A923D4 814B0842 */ lb $t3, 0x0842($t2) ## 00000842 -/* 00438 80A923D8 018B6021 */ addu $t4, $t4, $t3 -/* 0043C 80A923DC 918C469C */ lbu $t4, %lo(D_80A9469C)($t4) -/* 00440 80A923E0 10000002 */ beq $zero, $zero, .L80A923EC -/* 00444 80A923E4 A22C0194 */ sb $t4, 0x0194($s1) ## 00000194 -.L80A923E8: -/* 00448 80A923E8 A2200194 */ sb $zero, 0x0194($s1) ## 00000194 -.L80A923EC: -/* 0044C 80A923EC 04800003 */ bltz $a0, .L80A923FC -/* 00450 80A923F0 00041823 */ subu $v1, $zero, $a0 -/* 00454 80A923F4 10000001 */ beq $zero, $zero, .L80A923FC -/* 00458 80A923F8 00801825 */ or $v1, $a0, $zero ## $v1 = 00000000 -.L80A923FC: -/* 0045C 80A923FC 28614001 */ slti $at, $v1, 0x4001 -/* 00460 80A92400 1420000C */ bne $at, $zero, .L80A92434 -/* 00464 80A92404 3C0480A9 */ lui $a0, %hi(D_80A944BC) ## $a0 = 80A90000 -/* 00468 80A92408 92230194 */ lbu $v1, 0x0194($s1) ## 00000194 -/* 0046C 80A9240C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00470 80A92410 240D0003 */ addiu $t5, $zero, 0x0003 ## $t5 = 00000003 -/* 00474 80A92414 54610004 */ bnel $v1, $at, .L80A92428 -/* 00478 80A92418 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0047C 80A9241C 10000005 */ beq $zero, $zero, .L80A92434 -/* 00480 80A92420 A22D0194 */ sb $t5, 0x0194($s1) ## 00000194 -/* 00484 80A92424 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -.L80A92428: -/* 00488 80A92428 14610002 */ bne $v1, $at, .L80A92434 -/* 0048C 80A9242C 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005 -/* 00490 80A92430 A22E0194 */ sb $t6, 0x0194($s1) ## 00000194 -.L80A92434: -/* 00494 80A92434 922F0194 */ lbu $t7, 0x0194($s1) ## 00000194 -/* 00498 80A92438 24A546B8 */ addiu $a1, $a1, %lo(D_80A946B8) ## $a1 = 80A946B8 -/* 0049C 80A9243C 962A0156 */ lhu $t2, 0x0156($s1) ## 00000156 -/* 004A0 80A92440 000FC040 */ sll $t8, $t7, 1 -/* 004A4 80A92444 00B8C821 */ addu $t9, $a1, $t8 -/* 004A8 80A92448 97290000 */ lhu $t1, 0x0000($t9) ## 00000000 -/* 004AC 80A9244C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -/* 004B0 80A92450 248444BC */ addiu $a0, $a0, %lo(D_80A944BC) ## $a0 = 80A944BC -/* 004B4 80A92454 012A5824 */ and $t3, $t1, $t2 -/* 004B8 80A92458 316CFFFF */ andi $t4, $t3, 0xFFFF ## $t4 = 00000000 -/* 004BC 80A9245C 15800005 */ bne $t4, $zero, .L80A92474 -/* 004C0 80A92460 A44B0156 */ sh $t3, 0x0156($v0) ## 00000156 -/* 004C4 80A92464 0C00B55C */ jal Actor_Kill - -/* 004C8 80A92468 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004CC 80A9246C 100005C2 */ beq $zero, $zero, .L80A93B78 -/* 004D0 80A92470 8FBF003C */ lw $ra, 0x003C($sp) -.L80A92474: -/* 004D4 80A92474 A0400158 */ sb $zero, 0x0158($v0) ## 00000158 -/* 004D8 80A92478 00036840 */ sll $t5, $v1, 1 -.L80A9247C: -/* 004DC 80A9247C 008D7021 */ addu $t6, $a0, $t5 -/* 004E0 80A92480 95CF0000 */ lhu $t7, 0x0000($t6) ## 00000000 -/* 004E4 80A92484 94580156 */ lhu $t8, 0x0156($v0) ## 00000156 -/* 004E8 80A92488 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000001 -/* 004EC 80A9248C 306300FF */ andi $v1, $v1, 0x00FF ## $v1 = 00000001 -/* 004F0 80A92490 01F8C824 */ and $t9, $t7, $t8 -/* 004F4 80A92494 13200004 */ beq $t9, $zero, .L80A924A8 -/* 004F8 80A92498 2861000B */ slti $at, $v1, 0x000B -/* 004FC 80A9249C 90490158 */ lbu $t1, 0x0158($v0) ## 00000158 -/* 00500 80A924A0 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001 -/* 00504 80A924A4 A04A0158 */ sb $t2, 0x0158($v0) ## 00000158 -.L80A924A8: -/* 00508 80A924A8 5420FFF4 */ bnel $at, $zero, .L80A9247C -/* 0050C 80A924AC 00036840 */ sll $t5, $v1, 1 -/* 00510 80A924B0 922C0194 */ lbu $t4, 0x0194($s1) ## 00000194 -/* 00514 80A924B4 962B0156 */ lhu $t3, 0x0156($s1) ## 00000156 -/* 00518 80A924B8 000C6840 */ sll $t5, $t4, 1 -/* 0051C 80A924BC 00AD7021 */ addu $t6, $a1, $t5 -/* 00520 80A924C0 95CF0000 */ lhu $t7, 0x0000($t6) ## 00000000 -/* 00524 80A924C4 01E0C027 */ nor $t8, $t7, $zero -/* 00528 80A924C8 01784824 */ and $t1, $t3, $t8 -/* 0052C 80A924CC 312A03FF */ andi $t2, $t1, 0x03FF ## $t2 = 00000000 -/* 00530 80A924D0 15400003 */ bne $t2, $zero, .L80A924E0 -/* 00534 80A924D4 A6290156 */ sh $t1, 0x0156($s1) ## 00000156 -/* 00538 80A924D8 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A -/* 0053C 80A924DC A62C019A */ sh $t4, 0x019A($s1) ## 0000019A -.L80A924E0: -/* 00540 80A924E0 94430156 */ lhu $v1, 0x0156($v0) ## 00000156 -/* 00544 80A924E4 30650001 */ andi $a1, $v1, 0x0001 ## $a1 = 00000001 -/* 00548 80A924E8 10A00005 */ beq $a1, $zero, .L80A92500 -/* 0054C 80A924EC 306D0080 */ andi $t5, $v1, 0x0080 ## $t5 = 00000000 -/* 00550 80A924F0 51A00004 */ beql $t5, $zero, .L80A92504 -/* 00554 80A924F4 30680002 */ andi $t0, $v1, 0x0002 ## $t0 = 00000000 -/* 00558 80A924F8 10000064 */ beq $zero, $zero, .L80A9268C -/* 0055C 80A924FC A0400195 */ sb $zero, 0x0195($v0) ## 00000195 -.L80A92500: -/* 00560 80A92500 30680002 */ andi $t0, $v1, 0x0002 ## $t0 = 00000000 -.L80A92504: -/* 00564 80A92504 11000005 */ beq $t0, $zero, .L80A9251C -/* 00568 80A92508 306E0008 */ andi $t6, $v1, 0x0008 ## $t6 = 00000000 -/* 0056C 80A9250C 11C00003 */ beq $t6, $zero, .L80A9251C -/* 00570 80A92510 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00574 80A92514 1000005D */ beq $zero, $zero, .L80A9268C -/* 00578 80A92518 A04F0195 */ sb $t7, 0x0195($v0) ## 00000195 -.L80A9251C: -/* 0057C 80A9251C 30670004 */ andi $a3, $v1, 0x0004 ## $a3 = 00000000 -/* 00580 80A92520 10E00005 */ beq $a3, $zero, .L80A92538 -/* 00584 80A92524 306B0010 */ andi $t3, $v1, 0x0010 ## $t3 = 00000000 -/* 00588 80A92528 11600003 */ beq $t3, $zero, .L80A92538 -/* 0058C 80A9252C 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 00590 80A92530 10000056 */ beq $zero, $zero, .L80A9268C -/* 00594 80A92534 A0580195 */ sb $t8, 0x0195($v0) ## 00000195 -.L80A92538: -/* 00598 80A92538 30660040 */ andi $a2, $v1, 0x0040 ## $a2 = 00000000 -/* 0059C 80A9253C 10C00005 */ beq $a2, $zero, .L80A92554 -/* 005A0 80A92540 30790080 */ andi $t9, $v1, 0x0080 ## $t9 = 00000000 -/* 005A4 80A92544 13200003 */ beq $t9, $zero, .L80A92554 -/* 005A8 80A92548 24090003 */ addiu $t1, $zero, 0x0003 ## $t1 = 00000003 -/* 005AC 80A9254C 1000004F */ beq $zero, $zero, .L80A9268C -/* 005B0 80A92550 A0490195 */ sb $t1, 0x0195($v0) ## 00000195 -.L80A92554: -/* 005B4 80A92554 10A00005 */ beq $a1, $zero, .L80A9256C -/* 005B8 80A92558 306A0020 */ andi $t2, $v1, 0x0020 ## $t2 = 00000000 -/* 005BC 80A9255C 11400003 */ beq $t2, $zero, .L80A9256C -/* 005C0 80A92560 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004 -/* 005C4 80A92564 10000049 */ beq $zero, $zero, .L80A9268C -/* 005C8 80A92568 A04C0195 */ sb $t4, 0x0195($v0) ## 00000195 -.L80A9256C: -/* 005CC 80A9256C 10A00005 */ beq $a1, $zero, .L80A92584 -/* 005D0 80A92570 00000000 */ nop -/* 005D4 80A92574 11000003 */ beq $t0, $zero, .L80A92584 -/* 005D8 80A92578 240D0005 */ addiu $t5, $zero, 0x0005 ## $t5 = 00000005 -/* 005DC 80A9257C 10000043 */ beq $zero, $zero, .L80A9268C -/* 005E0 80A92580 A04D0195 */ sb $t5, 0x0195($v0) ## 00000195 -.L80A92584: -/* 005E4 80A92584 10C00005 */ beq $a2, $zero, .L80A9259C -/* 005E8 80A92588 306E0008 */ andi $t6, $v1, 0x0008 ## $t6 = 00000000 -/* 005EC 80A9258C 11C00003 */ beq $t6, $zero, .L80A9259C -/* 005F0 80A92590 240F0006 */ addiu $t7, $zero, 0x0006 ## $t7 = 00000006 -/* 005F4 80A92594 1000003D */ beq $zero, $zero, .L80A9268C -/* 005F8 80A92598 A04F0195 */ sb $t7, 0x0195($v0) ## 00000195 -.L80A9259C: -/* 005FC 80A9259C 10E00005 */ beq $a3, $zero, .L80A925B4 -/* 00600 80A925A0 306B0020 */ andi $t3, $v1, 0x0020 ## $t3 = 00000000 -/* 00604 80A925A4 11600003 */ beq $t3, $zero, .L80A925B4 -/* 00608 80A925A8 24180007 */ addiu $t8, $zero, 0x0007 ## $t8 = 00000007 -/* 0060C 80A925AC 10000037 */ beq $zero, $zero, .L80A9268C -/* 00610 80A925B0 A0580195 */ sb $t8, 0x0195($v0) ## 00000195 -.L80A925B4: -/* 00614 80A925B4 30640010 */ andi $a0, $v1, 0x0010 ## $a0 = 00000000 -/* 00618 80A925B8 10800005 */ beq $a0, $zero, .L80A925D0 -/* 0061C 80A925BC 30790080 */ andi $t9, $v1, 0x0080 ## $t9 = 00000000 -/* 00620 80A925C0 13200003 */ beq $t9, $zero, .L80A925D0 -/* 00624 80A925C4 24090008 */ addiu $t1, $zero, 0x0008 ## $t1 = 00000008 -/* 00628 80A925C8 10000030 */ beq $zero, $zero, .L80A9268C -/* 0062C 80A925CC A0490195 */ sb $t1, 0x0195($v0) ## 00000195 -.L80A925D0: -/* 00630 80A925D0 10A00003 */ beq $a1, $zero, .L80A925E0 -/* 00634 80A925D4 240A0009 */ addiu $t2, $zero, 0x0009 ## $t2 = 00000009 -/* 00638 80A925D8 1000002C */ beq $zero, $zero, .L80A9268C -/* 0063C 80A925DC A04A0195 */ sb $t2, 0x0195($v0) ## 00000195 -.L80A925E0: -/* 00640 80A925E0 11000003 */ beq $t0, $zero, .L80A925F0 -/* 00644 80A925E4 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A -/* 00648 80A925E8 10000028 */ beq $zero, $zero, .L80A9268C -/* 0064C 80A925EC A04C0195 */ sb $t4, 0x0195($v0) ## 00000195 -.L80A925F0: -/* 00650 80A925F0 10E00004 */ beq $a3, $zero, .L80A92604 -/* 00654 80A925F4 306E0020 */ andi $t6, $v1, 0x0020 ## $t6 = 00000000 -/* 00658 80A925F8 240D000B */ addiu $t5, $zero, 0x000B ## $t5 = 0000000B -/* 0065C 80A925FC 10000023 */ beq $zero, $zero, .L80A9268C -/* 00660 80A92600 A04D0195 */ sb $t5, 0x0195($v0) ## 00000195 -.L80A92604: -/* 00664 80A92604 11C00003 */ beq $t6, $zero, .L80A92614 -/* 00668 80A92608 240F000C */ addiu $t7, $zero, 0x000C ## $t7 = 0000000C -/* 0066C 80A9260C 1000001F */ beq $zero, $zero, .L80A9268C -/* 00670 80A92610 A04F0195 */ sb $t7, 0x0195($v0) ## 00000195 -.L80A92614: -/* 00674 80A92614 10C00004 */ beq $a2, $zero, .L80A92628 -/* 00678 80A92618 30780008 */ andi $t8, $v1, 0x0008 ## $t8 = 00000000 -/* 0067C 80A9261C 240B000D */ addiu $t3, $zero, 0x000D ## $t3 = 0000000D -/* 00680 80A92620 1000001A */ beq $zero, $zero, .L80A9268C -/* 00684 80A92624 A04B0195 */ sb $t3, 0x0195($v0) ## 00000195 -.L80A92628: -/* 00688 80A92628 13000003 */ beq $t8, $zero, .L80A92638 -/* 0068C 80A9262C 2419000E */ addiu $t9, $zero, 0x000E ## $t9 = 0000000E -/* 00690 80A92630 10000016 */ beq $zero, $zero, .L80A9268C -/* 00694 80A92634 A0590195 */ sb $t9, 0x0195($v0) ## 00000195 -.L80A92638: -/* 00698 80A92638 10800004 */ beq $a0, $zero, .L80A9264C -/* 0069C 80A9263C 306A0080 */ andi $t2, $v1, 0x0080 ## $t2 = 00000000 -/* 006A0 80A92640 2409000F */ addiu $t1, $zero, 0x000F ## $t1 = 0000000F -/* 006A4 80A92644 10000011 */ beq $zero, $zero, .L80A9268C -/* 006A8 80A92648 A0490195 */ sb $t1, 0x0195($v0) ## 00000195 -.L80A9264C: -/* 006AC 80A9264C 11400004 */ beq $t2, $zero, .L80A92660 -/* 006B0 80A92650 306D0100 */ andi $t5, $v1, 0x0100 ## $t5 = 00000000 -/* 006B4 80A92654 240C0010 */ addiu $t4, $zero, 0x0010 ## $t4 = 00000010 -/* 006B8 80A92658 1000000C */ beq $zero, $zero, .L80A9268C -/* 006BC 80A9265C A04C0195 */ sb $t4, 0x0195($v0) ## 00000195 -.L80A92660: -/* 006C0 80A92660 11A00004 */ beq $t5, $zero, .L80A92674 -/* 006C4 80A92664 306F0200 */ andi $t7, $v1, 0x0200 ## $t7 = 00000000 -/* 006C8 80A92668 240E0011 */ addiu $t6, $zero, 0x0011 ## $t6 = 00000011 -/* 006CC 80A9266C 10000007 */ beq $zero, $zero, .L80A9268C -/* 006D0 80A92670 A04E0195 */ sb $t6, 0x0195($v0) ## 00000195 -.L80A92674: -/* 006D4 80A92674 11E00004 */ beq $t7, $zero, .L80A92688 -/* 006D8 80A92678 24180064 */ addiu $t8, $zero, 0x0064 ## $t8 = 00000064 -/* 006DC 80A9267C 240B0012 */ addiu $t3, $zero, 0x0012 ## $t3 = 00000012 -/* 006E0 80A92680 10000002 */ beq $zero, $zero, .L80A9268C -/* 006E4 80A92684 A04B0195 */ sb $t3, 0x0195($v0) ## 00000195 -.L80A92688: -/* 006E8 80A92688 A0580195 */ sb $t8, 0x0195($v0) ## 00000195 -.L80A9268C: -/* 006EC 80A9268C 90590195 */ lbu $t9, 0x0195($v0) ## 00000195 -/* 006F0 80A92690 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064 -/* 006F4 80A92694 57210003 */ bnel $t9, $at, .L80A926A4 -/* 006F8 80A92698 862900B6 */ lh $t1, 0x00B6($s1) ## 000000B6 -/* 006FC 80A9269C A0400195 */ sb $zero, 0x0195($v0) ## 00000195 -/* 00700 80A926A0 862900B6 */ lh $t1, 0x00B6($s1) ## 000000B6 -.L80A926A4: -/* 00704 80A926A4 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00708 80A926A8 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00 -/* 0070C 80A926AC 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00 -/* 00710 80A926B0 3C0180A9 */ lui $at, %hi(D_80A950E0) ## $at = 80A90000 -/* 00714 80A926B4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00718 80A926B8 46805120 */ cvt.s.w $f4, $f10 -/* 0071C 80A926BC C42A50E0 */ lwc1 $f10, %lo(D_80A950E0)($at) -/* 00720 80A926C0 46062203 */ div.s $f8, $f4, $f6 -/* 00724 80A926C4 460A4302 */ mul.s $f12, $f8, $f10 -/* 00728 80A926C8 0C034348 */ jal Matrix_RotateY -/* 0072C 80A926CC 00000000 */ nop -/* 00730 80A926D0 920A0195 */ lbu $t2, 0x0195($s0) ## 00000195 -/* 00734 80A926D4 3C0D80A9 */ lui $t5, %hi(D_80A944D4) ## $t5 = 80A90000 -/* 00738 80A926D8 25AD44D4 */ addiu $t5, $t5, %lo(D_80A944D4) ## $t5 = 80A944D4 -/* 0073C 80A926DC 000A6080 */ sll $t4, $t2, 2 -/* 00740 80A926E0 018A6023 */ subu $t4, $t4, $t2 -/* 00744 80A926E4 000C6080 */ sll $t4, $t4, 2 -/* 00748 80A926E8 018D2021 */ addu $a0, $t4, $t5 -/* 0074C 80A926EC 0C0346BD */ jal Matrix_MultVec3f -/* 00750 80A926F0 27A500DC */ addiu $a1, $sp, 0x00DC ## $a1 = FFFFFFDC -/* 00754 80A926F4 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024 -/* 00758 80A926F8 C7A600DC */ lwc1 $f6, 0x00DC($sp) -/* 0075C 80A926FC C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028 -/* 00760 80A92700 92010195 */ lbu $at, 0x0195($s0) ## 00000195 -/* 00764 80A92704 46062200 */ add.s $f8, $f4, $f6 -/* 00768 80A92708 3C0E80A9 */ lui $t6, %hi(D_80A944D4) ## $t6 = 80A90000 -/* 0076C 80A9270C 00011880 */ sll $v1, $at, 2 -/* 00770 80A92710 00611823 */ subu $v1, $v1, $at -/* 00774 80A92714 E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024 -/* 00778 80A92718 C7A400E0 */ lwc1 $f4, 0x00E0($sp) -/* 0077C 80A9271C C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C -/* 00780 80A92720 00031880 */ sll $v1, $v1, 2 -/* 00784 80A92724 46045180 */ add.s $f6, $f10, $f4 -/* 00788 80A92728 25CE44D4 */ addiu $t6, $t6, %lo(D_80A944D4) ## $t6 = 80A944D4 -/* 0078C 80A9272C 006E1021 */ addu $v0, $v1, $t6 -/* 00790 80A92730 3C0F80A9 */ lui $t7, %hi(D_80A945B8) ## $t7 = 80A90000 -/* 00794 80A92734 E6060028 */ swc1 $f6, 0x0028($s0) ## 00000028 -/* 00798 80A92738 C7AA00E4 */ lwc1 $f10, 0x00E4($sp) -/* 0079C 80A9273C 25EF45B8 */ addiu $t7, $t7, %lo(D_80A945B8) ## $t7 = 80A945B8 -/* 007A0 80A92740 006F2021 */ addu $a0, $v1, $t7 -/* 007A4 80A92744 460A4100 */ add.s $f4, $f8, $f10 -/* 007A8 80A92748 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 007AC 80A9274C 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 007B0 80A92750 E604002C */ swc1 $f4, 0x002C($s0) ## 0000002C -/* 007B4 80A92754 C4460000 */ lwc1 $f6, 0x0000($v0) ## 00000000 -/* 007B8 80A92758 C62A0050 */ lwc1 $f10, 0x0050($s1) ## 00000050 -/* 007BC 80A9275C 46003207 */ neg.s $f8, $f6 -/* 007C0 80A92760 460A4103 */ div.s $f4, $f8, $f10 -/* 007C4 80A92764 E604015C */ swc1 $f4, 0x015C($s0) ## 0000015C -/* 007C8 80A92768 C4460004 */ lwc1 $f6, 0x0004($v0) ## 00000004 -/* 007CC 80A9276C C62A0050 */ lwc1 $f10, 0x0050($s1) ## 00000050 -/* 007D0 80A92770 46003207 */ neg.s $f8, $f6 -/* 007D4 80A92774 460A4103 */ div.s $f4, $f8, $f10 -/* 007D8 80A92778 E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160 -/* 007DC 80A9277C C4460008 */ lwc1 $f6, 0x0008($v0) ## 00000008 -/* 007E0 80A92780 C62A0050 */ lwc1 $f10, 0x0050($s1) ## 00000050 -/* 007E4 80A92784 46003207 */ neg.s $f8, $f6 -/* 007E8 80A92788 460A4103 */ div.s $f4, $f8, $f10 -/* 007EC 80A9278C 44815000 */ mtc1 $at, $f10 ## $f10 = -1.00 -/* 007F0 80A92790 3C014640 */ lui $at, 0x4640 ## $at = 46400000 -/* 007F4 80A92794 44816000 */ mtc1 $at, $f12 ## $f12 = 12288.00 -/* 007F8 80A92798 E6040164 */ swc1 $f4, 0x0164($s0) ## 00000164 -/* 007FC 80A9279C C4860000 */ lwc1 $f6, 0x0000($a0) ## 00000000 -/* 00800 80A927A0 E606017C */ swc1 $f6, 0x017C($s0) ## 0000017C -/* 00804 80A927A4 C4880004 */ lwc1 $f8, 0x0004($a0) ## 00000004 -/* 00808 80A927A8 A20B0154 */ sb $t3, 0x0154($s0) ## 00000154 -/* 0080C 80A927AC E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C -/* 00810 80A927B0 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00814 80A927B4 E6080180 */ swc1 $f8, 0x0180($s0) ## 00000180 -/* 00818 80A927B8 4600010D */ trunc.w.s $f4, $f0 -/* 0081C 80A927BC 862C008A */ lh $t4, 0x008A($s1) ## 0000008A -/* 00820 80A927C0 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 00824 80A927C4 440A2000 */ mfc1 $t2, $f4 -/* 00828 80A927C8 00000000 */ nop -/* 0082C 80A927CC 014C6821 */ addu $t5, $t2, $t4 -/* 00830 80A927D0 01A17021 */ addu $t6, $t5, $at -/* 00834 80A927D4 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 00838 80A927D8 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -/* 0083C 80A927DC 0C00CFBE */ jal Rand_ZeroFloat - -/* 00840 80A927E0 A60E0032 */ sh $t6, 0x0032($s0) ## 00000032 -/* 00844 80A927E4 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 00848 80A927E8 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00 -/* 0084C 80A927EC 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 00850 80A927F0 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -/* 00854 80A927F4 46060200 */ add.s $f8, $f0, $f6 -/* 00858 80A927F8 0C00CFBE */ jal Rand_ZeroFloat - -/* 0085C 80A927FC E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060 -/* 00860 80A92800 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 00864 80A92804 44815000 */ mtc1 $at, $f10 ## $f10 = 3.00 -/* 00868 80A92808 920F0158 */ lbu $t7, 0x0158($s0) ## 00000158 -/* 0086C 80A9280C 460A0100 */ add.s $f4, $f0, $f10 -/* 00870 80A92810 29E10004 */ slti $at, $t7, 0x0004 -/* 00874 80A92814 14200013 */ bne $at, $zero, .L80A92864 -/* 00878 80A92818 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068 -/* 0087C 80A9281C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00880 80A92820 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00884 80A92824 0C00CFBE */ jal Rand_ZeroFloat - -/* 00888 80A92828 00000000 */ nop -/* 0088C 80A9282C 4600018D */ trunc.w.s $f6, $f0 -/* 00890 80A92830 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00894 80A92834 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00898 80A92838 44093000 */ mfc1 $t1, $f6 -/* 0089C 80A9283C 00000000 */ nop -/* 008A0 80A92840 252A0006 */ addiu $t2, $t1, 0x0006 ## $t2 = 00000006 -/* 008A4 80A92844 0C00CFBE */ jal Rand_ZeroFloat - -/* 008A8 80A92848 A60A0176 */ sh $t2, 0x0176($s0) ## 00000176 -/* 008AC 80A9284C 4600020D */ trunc.w.s $f8, $f0 -/* 008B0 80A92850 440F4000 */ mfc1 $t7, $f8 -/* 008B4 80A92854 00000000 */ nop -/* 008B8 80A92858 25EB0006 */ addiu $t3, $t7, 0x0006 ## $t3 = 00000006 -/* 008BC 80A9285C 10000012 */ beq $zero, $zero, .L80A928A8 -/* 008C0 80A92860 A60B0178 */ sh $t3, 0x0178($s0) ## 00000178 -.L80A92864: -/* 008C4 80A92864 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 008C8 80A92868 44816000 */ mtc1 $at, $f12 ## $f12 = 7.00 -/* 008CC 80A9286C 0C00CFBE */ jal Rand_ZeroFloat - -/* 008D0 80A92870 00000000 */ nop -/* 008D4 80A92874 4600028D */ trunc.w.s $f10, $f0 -/* 008D8 80A92878 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 008DC 80A9287C 44816000 */ mtc1 $at, $f12 ## $f12 = 7.00 -/* 008E0 80A92880 440A5000 */ mfc1 $t2, $f10 -/* 008E4 80A92884 00000000 */ nop -/* 008E8 80A92888 254C0003 */ addiu $t4, $t2, 0x0003 ## $t4 = 00000003 -/* 008EC 80A9288C 0C00CFBE */ jal Rand_ZeroFloat - -/* 008F0 80A92890 A60C0176 */ sh $t4, 0x0176($s0) ## 00000176 -/* 008F4 80A92894 4600010D */ trunc.w.s $f4, $f0 -/* 008F8 80A92898 440B2000 */ mfc1 $t3, $f4 -/* 008FC 80A9289C 00000000 */ nop -/* 00900 80A928A0 25780003 */ addiu $t8, $t3, 0x0003 ## $t8 = 00000003 -/* 00904 80A928A4 A6180178 */ sh $t8, 0x0178($s0) ## 00000178 -.L80A928A8: -/* 00908 80A928A8 3C0145C0 */ lui $at, 0x45C0 ## $at = 45C00000 -/* 0090C 80A928AC 44816000 */ mtc1 $at, $f12 ## $f12 = 6144.00 -/* 00910 80A928B0 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00914 80A928B4 00000000 */ nop -/* 00918 80A928B8 4600018D */ trunc.w.s $f6, $f0 -/* 0091C 80A928BC 44093000 */ mfc1 $t1, $f6 -/* 00920 80A928C0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00924 80A928C4 A6090170 */ sh $t1, 0x0170($s0) ## 00000170 -/* 00928 80A928C8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 0092C 80A928CC 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50 -/* 00930 80A928D0 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 00934 80A928D4 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF -/* 00938 80A928D8 4608003C */ c.lt.s $f0, $f8 -/* 0093C 80A928DC 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064 -/* 00940 80A928E0 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00944 80A928E4 24190005 */ addiu $t9, $zero, 0x0005 ## $t9 = 00000005 -/* 00948 80A928E8 45000003 */ bc1f .L80A928F8 -/* 0094C 80A928EC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00950 80A928F0 10000002 */ beq $zero, $zero, .L80A928FC -/* 00954 80A928F4 A60A0184 */ sh $t2, 0x0184($s0) ## 00000184 -.L80A928F8: -/* 00958 80A928F8 A60C0184 */ sh $t4, 0x0184($s0) ## 00000184 -.L80A928FC: -/* 0095C 80A928FC 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004 -/* 00960 80A92900 A60D0152 */ sh $t5, 0x0152($s0) ## 00000152 -/* 00964 80A92904 24051811 */ addiu $a1, $zero, 0x1811 ## $a1 = 00001811 -/* 00968 80A92908 01C17824 */ and $t7, $t6, $at -/* 0096C 80A9290C 3C010200 */ lui $at, 0x0200 ## $at = 02000000 -/* 00970 80A92910 AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004 -/* 00974 80A92914 01E1C025 */ or $t8, $t7, $at ## $t8 = 02000000 -/* 00978 80A92918 AE180004 */ sw $t8, 0x0004($s0) ## 00000004 -/* 0097C 80A9291C 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00980 80A92920 A6390196 */ sh $t9, 0x0196($s1) ## 00000196 -.L80A92924: -/* 00984 80A92924 8E290028 */ lw $t1, 0x0028($s1) ## 00000028 -.L80A92928: -/* 00988 80A92928 3C014230 */ lui $at, 0x4230 ## $at = 42300000 -/* 0098C 80A9292C 8E2A0024 */ lw $t2, 0x0024($s1) ## 00000024 -/* 00990 80A92930 AE29003C */ sw $t1, 0x003C($s1) ## 0000003C -/* 00994 80A92934 C62A003C */ lwc1 $f10, 0x003C($s1) ## 0000003C -/* 00998 80A92938 44812000 */ mtc1 $at, $f4 ## $f4 = 44.00 -/* 0099C 80A9293C AE2A0038 */ sw $t2, 0x0038($s1) ## 00000038 -/* 009A0 80A92940 8E2A002C */ lw $t2, 0x002C($s1) ## 0000002C -/* 009A4 80A92944 46045180 */ add.s $f6, $f10, $f4 -/* 009A8 80A92948 263001A0 */ addiu $s0, $s1, 0x01A0 ## $s0 = 000001A0 -/* 009AC 80A9294C 02002825 */ or $a1, $s0, $zero ## $a1 = 000001A0 -/* 009B0 80A92950 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 009B4 80A92954 E626003C */ swc1 $f6, 0x003C($s1) ## 0000003C -/* 009B8 80A92958 0C0189B7 */ jal Collider_CylinderUpdate - -/* 009BC 80A9295C AE2A0040 */ sw $t2, 0x0040($s1) ## 00000040 -/* 009C0 80A92960 8FA40104 */ lw $a0, 0x0104($sp) -/* 009C4 80A92964 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 009C8 80A92968 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 009CC 80A9296C 00812821 */ addu $a1, $a0, $at -/* 009D0 80A92970 AFA50054 */ sw $a1, 0x0054($sp) -/* 009D4 80A92974 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 009D8 80A92978 02003025 */ or $a2, $s0, $zero ## $a2 = 000001A0 -/* 009DC 80A9297C 8FA50054 */ lw $a1, 0x0054($sp) -/* 009E0 80A92980 8FA40104 */ lw $a0, 0x0104($sp) -/* 009E4 80A92984 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 009E8 80A92988 02003025 */ or $a2, $s0, $zero ## $a2 = 000001A0 -/* 009EC 80A9298C 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000 -/* 009F0 80A92990 44814000 */ mtc1 $at, $f8 ## $f8 = 500.00 -/* 009F4 80A92994 C62A0090 */ lwc1 $f10, 0x0090($s1) ## 00000090 -/* 009F8 80A92998 460A403C */ c.lt.s $f8, $f10 -/* 009FC 80A9299C 00000000 */ nop -/* 00A00 80A929A0 45020007 */ bc1fl .L80A929C0 -/* 00A04 80A929A4 86220196 */ lh $v0, 0x0196($s1) ## 00000196 -/* 00A08 80A929A8 8E2D0004 */ lw $t5, 0x0004($s1) ## 00000004 -/* 00A0C 80A929AC 340FFFFF */ ori $t7, $zero, 0xFFFF ## $t7 = 0000FFFF -/* 00A10 80A929B0 A62F0156 */ sh $t7, 0x0156($s1) ## 00000156 -/* 00A14 80A929B4 35AE0001 */ ori $t6, $t5, 0x0001 ## $t6 = 00000001 -/* 00A18 80A929B8 AE2E0004 */ sw $t6, 0x0004($s1) ## 00000004 -/* 00A1C 80A929BC 86220196 */ lh $v0, 0x0196($s1) ## 00000196 -.L80A929C0: -/* 00A20 80A929C0 1040046C */ beq $v0, $zero, .L80A93B74 -/* 00A24 80A929C4 28410005 */ slti $at, $v0, 0x0005 -/* 00A28 80A929C8 5420000C */ bnel $at, $zero, .L80A929FC -/* 00A2C 80A929CC 862A0198 */ lh $t2, 0x0198($s1) ## 00000198 -/* 00A30 80A929D0 862B0198 */ lh $t3, 0x0198($s1) ## 00000198 -/* 00A34 80A929D4 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF -/* 00A38 80A929D8 257800FF */ addiu $t8, $t3, 0x00FF ## $t8 = 000000FF -/* 00A3C 80A929DC A6380198 */ sh $t8, 0x0198($s1) ## 00000198 -/* 00A40 80A929E0 86390198 */ lh $t9, 0x0198($s1) ## 00000198 -/* 00A44 80A929E4 2B210100 */ slti $at, $t9, 0x0100 -/* 00A48 80A929E8 5420000B */ bnel $at, $zero, .L80A92A18 -/* 00A4C 80A929EC 862E0196 */ lh $t6, 0x0196($s1) ## 00000196 -/* 00A50 80A929F0 10000008 */ beq $zero, $zero, .L80A92A14 -/* 00A54 80A929F4 A6290198 */ sh $t1, 0x0198($s1) ## 00000198 -/* 00A58 80A929F8 862A0198 */ lh $t2, 0x0198($s1) ## 00000198 -.L80A929FC: -/* 00A5C 80A929FC 254CFFBF */ addiu $t4, $t2, 0xFFBF ## $t4 = FFFFFFBF -/* 00A60 80A92A00 A62C0198 */ sh $t4, 0x0198($s1) ## 00000198 -/* 00A64 80A92A04 862D0198 */ lh $t5, 0x0198($s1) ## 00000198 -/* 00A68 80A92A08 05A30003 */ bgezl $t5, .L80A92A18 -/* 00A6C 80A92A0C 862E0196 */ lh $t6, 0x0196($s1) ## 00000196 -/* 00A70 80A92A10 A6200198 */ sh $zero, 0x0198($s1) ## 00000198 -.L80A92A14: -/* 00A74 80A92A14 862E0196 */ lh $t6, 0x0196($s1) ## 00000196 -.L80A92A18: -/* 00A78 80A92A18 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = 00000000 -/* 00A7C 80A92A1C 10000455 */ beq $zero, $zero, .L80A93B74 -/* 00A80 80A92A20 A62F0196 */ sh $t7, 0x0196($s1) ## 00000196 -glabel L80A92A24 -/* 00A84 80A92A24 0C00B638 */ jal Actor_MoveForward - -/* 00A88 80A92A28 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00A8C 80A92A2C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00A90 80A92A30 44810000 */ mtc1 $at, $f0 ## $f0 = 30.00 -/* 00A94 80A92A34 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00A98 80A92A38 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00 -/* 00A9C 80A92A3C 240B0005 */ addiu $t3, $zero, 0x0005 ## $t3 = 00000005 -/* 00AA0 80A92A40 44060000 */ mfc1 $a2, $f0 -/* 00AA4 80A92A44 44070000 */ mfc1 $a3, $f0 -/* 00AA8 80A92A48 AFAB0014 */ sw $t3, 0x0014($sp) -/* 00AAC 80A92A4C 8FA40104 */ lw $a0, 0x0104($sp) -/* 00AB0 80A92A50 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00AB4 80A92A54 0C00B92D */ jal func_8002E4B4 -/* 00AB8 80A92A58 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00ABC 80A92A5C C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024 -/* 00AC0 80A92A60 3C01C248 */ lui $at, 0xC248 ## $at = C2480000 -/* 00AC4 80A92A64 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004 -/* 00AC8 80A92A68 E7A600CC */ swc1 $f6, 0x00CC($sp) -/* 00ACC 80A92A6C C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028 -/* 00AD0 80A92A70 44813000 */ mtc1 $at, $f6 ## $f6 = -50.00 -/* 00AD4 80A92A74 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00AD8 80A92A78 E7A000C8 */ swc1 $f0, 0x00C8($sp) -/* 00ADC 80A92A7C C622002C */ lwc1 $f2, 0x002C($s1) ## 0000002C -/* 00AE0 80A92A80 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00AE4 80A92A84 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000 -/* 00AE8 80A92A88 E7A200C4 */ swc1 $f2, 0x00C4($sp) -/* 00AEC 80A92A8C C6280084 */ lwc1 $f8, 0x0084($s1) ## 00000084 -/* 00AF0 80A92A90 96300088 */ lhu $s0, 0x0088($s1) ## 00000088 -/* 00AF4 80A92A94 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000 -/* 00AF8 80A92A98 E7A800C0 */ swc1 $f8, 0x00C0($sp) -/* 00AFC 80A92A9C C62A0080 */ lwc1 $f10, 0x0080($s1) ## 00000080 -/* 00B00 80A92AA0 460A0101 */ sub.s $f4, $f0, $f10 -/* 00B04 80A92AA4 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00 -/* 00B08 80A92AA8 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00B0C 80A92AAC 46062202 */ mul.s $f8, $f4, $f6 -/* 00B10 80A92AB0 460A4103 */ div.s $f4, $f8, $f10 -/* 00B14 80A92AB4 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00 -/* 00B18 80A92AB8 46041180 */ add.s $f6, $f2, $f4 -/* 00B1C 80A92ABC E626002C */ swc1 $f6, 0x002C($s1) ## 0000002C -/* 00B20 80A92AC0 AFB80014 */ sw $t8, 0x0014($sp) -/* 00B24 80A92AC4 8FA40104 */ lw $a0, 0x0104($sp) -/* 00B28 80A92AC8 0C00B92D */ jal func_8002E4B4 -/* 00B2C 80A92ACC E7A80010 */ swc1 $f8, 0x0010($sp) -/* 00B30 80A92AD0 0C2A47E8 */ jal func_80A91FA0 -/* 00B34 80A92AD4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00B38 80A92AD8 C7AA00CC */ lwc1 $f10, 0x00CC($sp) -/* 00B3C 80A92ADC 3C0480A9 */ lui $a0, %hi(D_80A94FF4) ## $a0 = 80A90000 -/* 00B40 80A92AE0 24844FF4 */ addiu $a0, $a0, %lo(D_80A94FF4) ## $a0 = 80A94FF4 -/* 00B44 80A92AE4 E62A0024 */ swc1 $f10, 0x0024($s1) ## 00000024 -/* 00B48 80A92AE8 C7A400C8 */ lwc1 $f4, 0x00C8($sp) -/* 00B4C 80A92AEC E6240028 */ swc1 $f4, 0x0028($s1) ## 00000028 -/* 00B50 80A92AF0 C7A600C4 */ lwc1 $f6, 0x00C4($sp) -/* 00B54 80A92AF4 A6300088 */ sh $s0, 0x0088($s1) ## 00000088 -/* 00B58 80A92AF8 E626002C */ swc1 $f6, 0x002C($s1) ## 0000002C -/* 00B5C 80A92AFC C7A800C0 */ lwc1 $f8, 0x00C0($sp) -/* 00B60 80A92B00 0C00084C */ jal osSyncPrintf - -/* 00B64 80A92B04 E6280084 */ swc1 $f8, 0x0084($s1) ## 00000084 -/* 00B68 80A92B08 96300088 */ lhu $s0, 0x0088($s1) ## 00000088 -/* 00B6C 80A92B0C 82390174 */ lb $t9, 0x0174($s1) ## 00000174 -/* 00B70 80A92B10 32100001 */ andi $s0, $s0, 0x0001 ## $s0 = 00000000 -/* 00B74 80A92B14 1320000F */ beq $t9, $zero, .L80A92B54 -/* 00B78 80A92B18 321000FF */ andi $s0, $s0, 0x00FF ## $s0 = 00000000 -/* 00B7C 80A92B1C 8622016E */ lh $v0, 0x016E($s1) ## 0000016E -/* 00B80 80A92B20 86290168 */ lh $t1, 0x0168($s1) ## 00000168 -/* 00B84 80A92B24 244CF800 */ addiu $t4, $v0, 0xF800 ## $t4 = FFFFF800 -/* 00B88 80A92B28 01225021 */ addu $t2, $t1, $v0 -/* 00B8C 80A92B2C A62A0168 */ sh $t2, 0x0168($s1) ## 00000168 -/* 00B90 80A92B30 862D0168 */ lh $t5, 0x0168($s1) ## 00000168 -/* 00B94 80A92B34 A62C016E */ sh $t4, 0x016E($s1) ## 0000016E -/* 00B98 80A92B38 5DA00014 */ bgtzl $t5, .L80A92B8C -/* 00B9C 80A92B3C 8639016E */ lh $t9, 0x016E($s1) ## 0000016E -/* 00BA0 80A92B40 52000012 */ beql $s0, $zero, .L80A92B8C -/* 00BA4 80A92B44 8639016E */ lh $t9, 0x016E($s1) ## 0000016E -/* 00BA8 80A92B48 A6200168 */ sh $zero, 0x0168($s1) ## 00000168 -/* 00BAC 80A92B4C 1000000E */ beq $zero, $zero, .L80A92B88 -/* 00BB0 80A92B50 A620016E */ sh $zero, 0x016E($s1) ## 0000016E -.L80A92B54: -/* 00BB4 80A92B54 8622016E */ lh $v0, 0x016E($s1) ## 0000016E -/* 00BB8 80A92B58 862E0168 */ lh $t6, 0x0168($s1) ## 00000168 -/* 00BBC 80A92B5C 244BF800 */ addiu $t3, $v0, 0xF800 ## $t3 = FFFFF800 -/* 00BC0 80A92B60 01C27823 */ subu $t7, $t6, $v0 -/* 00BC4 80A92B64 A62F0168 */ sh $t7, 0x0168($s1) ## 00000168 -/* 00BC8 80A92B68 86380168 */ lh $t8, 0x0168($s1) ## 00000168 -/* 00BCC 80A92B6C A62B016E */ sh $t3, 0x016E($s1) ## 0000016E -/* 00BD0 80A92B70 07020006 */ bltzl $t8, .L80A92B8C -/* 00BD4 80A92B74 8639016E */ lh $t9, 0x016E($s1) ## 0000016E -/* 00BD8 80A92B78 52000004 */ beql $s0, $zero, .L80A92B8C -/* 00BDC 80A92B7C 8639016E */ lh $t9, 0x016E($s1) ## 0000016E -/* 00BE0 80A92B80 A6200168 */ sh $zero, 0x0168($s1) ## 00000168 -/* 00BE4 80A92B84 A620016E */ sh $zero, 0x016E($s1) ## 0000016E -.L80A92B88: -/* 00BE8 80A92B88 8639016E */ lh $t9, 0x016E($s1) ## 0000016E -.L80A92B8C: -/* 00BEC 80A92B8C 2409F400 */ addiu $t1, $zero, 0xF400 ## $t1 = FFFFF400 -/* 00BF0 80A92B90 2B21F400 */ slti $at, $t9, 0xF400 -/* 00BF4 80A92B94 50200003 */ beql $at, $zero, .L80A92BA4 -/* 00BF8 80A92B98 822A0175 */ lb $t2, 0x0175($s1) ## 00000175 -/* 00BFC 80A92B9C A629016E */ sh $t1, 0x016E($s1) ## 0000016E -/* 00C00 80A92BA0 822A0175 */ lb $t2, 0x0175($s1) ## 00000175 -.L80A92BA4: -/* 00C04 80A92BA4 51400010 */ beql $t2, $zero, .L80A92BE8 -/* 00C08 80A92BA8 86220172 */ lh $v0, 0x0172($s1) ## 00000172 -/* 00C0C 80A92BAC 86220172 */ lh $v0, 0x0172($s1) ## 00000172 -/* 00C10 80A92BB0 862C016C */ lh $t4, 0x016C($s1) ## 0000016C -/* 00C14 80A92BB4 244EF800 */ addiu $t6, $v0, 0xF800 ## $t6 = FFFFF800 -/* 00C18 80A92BB8 01826821 */ addu $t5, $t4, $v0 -/* 00C1C 80A92BBC A62D016C */ sh $t5, 0x016C($s1) ## 0000016C -/* 00C20 80A92BC0 862F016C */ lh $t7, 0x016C($s1) ## 0000016C -/* 00C24 80A92BC4 A62E0172 */ sh $t6, 0x0172($s1) ## 00000172 -/* 00C28 80A92BC8 5DE00014 */ bgtzl $t7, .L80A92C1C -/* 00C2C 80A92BCC 862A0172 */ lh $t2, 0x0172($s1) ## 00000172 -/* 00C30 80A92BD0 52000012 */ beql $s0, $zero, .L80A92C1C -/* 00C34 80A92BD4 862A0172 */ lh $t2, 0x0172($s1) ## 00000172 -/* 00C38 80A92BD8 A620016C */ sh $zero, 0x016C($s1) ## 0000016C -/* 00C3C 80A92BDC 1000000E */ beq $zero, $zero, .L80A92C18 -/* 00C40 80A92BE0 A6200172 */ sh $zero, 0x0172($s1) ## 00000172 -/* 00C44 80A92BE4 86220172 */ lh $v0, 0x0172($s1) ## 00000172 -.L80A92BE8: -/* 00C48 80A92BE8 862B016C */ lh $t3, 0x016C($s1) ## 0000016C -/* 00C4C 80A92BEC 2459F800 */ addiu $t9, $v0, 0xF800 ## $t9 = FFFFF800 -/* 00C50 80A92BF0 0162C023 */ subu $t8, $t3, $v0 -/* 00C54 80A92BF4 A638016C */ sh $t8, 0x016C($s1) ## 0000016C -/* 00C58 80A92BF8 8629016C */ lh $t1, 0x016C($s1) ## 0000016C -/* 00C5C 80A92BFC A6390172 */ sh $t9, 0x0172($s1) ## 00000172 -/* 00C60 80A92C00 05220006 */ bltzl $t1, .L80A92C1C -/* 00C64 80A92C04 862A0172 */ lh $t2, 0x0172($s1) ## 00000172 -/* 00C68 80A92C08 52000004 */ beql $s0, $zero, .L80A92C1C -/* 00C6C 80A92C0C 862A0172 */ lh $t2, 0x0172($s1) ## 00000172 -/* 00C70 80A92C10 A620016C */ sh $zero, 0x016C($s1) ## 0000016C -/* 00C74 80A92C14 A6200172 */ sh $zero, 0x0172($s1) ## 00000172 -.L80A92C18: -/* 00C78 80A92C18 862A0172 */ lh $t2, 0x0172($s1) ## 00000172 -.L80A92C1C: -/* 00C7C 80A92C1C 240CF400 */ addiu $t4, $zero, 0xF400 ## $t4 = FFFFF400 -/* 00C80 80A92C20 2941F400 */ slti $at, $t2, 0xF400 -/* 00C84 80A92C24 50200003 */ beql $at, $zero, .L80A92C34 -/* 00C88 80A92C28 96220088 */ lhu $v0, 0x0088($s1) ## 00000088 -/* 00C8C 80A92C2C A62C0172 */ sh $t4, 0x0172($s1) ## 00000172 -/* 00C90 80A92C30 96220088 */ lhu $v0, 0x0088($s1) ## 00000088 -.L80A92C34: -/* 00C94 80A92C34 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000 -/* 00C98 80A92C38 304D0008 */ andi $t5, $v0, 0x0008 ## $t5 = 00000000 -/* 00C9C 80A92C3C 51A0000A */ beql $t5, $zero, .L80A92C68 -/* 00CA0 80A92C40 304E0040 */ andi $t6, $v0, 0x0040 ## $t6 = 00000000 -/* 00CA4 80A92C44 C62A0068 */ lwc1 $f10, 0x0068($s1) ## 00000068 -/* 00CA8 80A92C48 44812000 */ mtc1 $at, $f4 ## $f4 = -0.50 -/* 00CAC 80A92C4C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00CB0 80A92C50 240528B4 */ addiu $a1, $zero, 0x28B4 ## $a1 = 000028B4 -/* 00CB4 80A92C54 46045182 */ mul.s $f6, $f10, $f4 -/* 00CB8 80A92C58 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00CBC 80A92C5C E6260068 */ swc1 $f6, 0x0068($s1) ## 00000068 -/* 00CC0 80A92C60 96220088 */ lhu $v0, 0x0088($s1) ## 00000088 -/* 00CC4 80A92C64 304E0040 */ andi $t6, $v0, 0x0040 ## $t6 = 00000000 -.L80A92C68: -/* 00CC8 80A92C68 11C00043 */ beq $t6, $zero, .L80A92D78 -/* 00CCC 80A92C6C 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004 -/* 00CD0 80A92C70 A22F0154 */ sb $t7, 0x0154($s1) ## 00000154 -/* 00CD4 80A92C74 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00CD8 80A92C78 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00CDC 80A92C7C 24052817 */ addiu $a1, $zero, 0x2817 ## $a1 = 00002817 -/* 00CE0 80A92C80 C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028 -/* 00CE4 80A92C84 C62A0084 */ lwc1 $f10, 0x0084($s1) ## 00000084 -/* 00CE8 80A92C88 A6200178 */ sh $zero, 0x0178($s1) ## 00000178 -/* 00CEC 80A92C8C 862B0178 */ lh $t3, 0x0178($s1) ## 00000178 -/* 00CF0 80A92C90 460A4100 */ add.s $f4, $f8, $f10 -/* 00CF4 80A92C94 26300024 */ addiu $s0, $s1, 0x0024 ## $s0 = 00000024 -/* 00CF8 80A92C98 A62B0176 */ sh $t3, 0x0176($s1) ## 00000176 -/* 00CFC 80A92C9C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000024 -/* 00D00 80A92CA0 E6240028 */ swc1 $f4, 0x0028($s1) ## 00000028 -/* 00D04 80A92CA4 AFA00010 */ sw $zero, 0x0010($sp) -/* 00D08 80A92CA8 92380158 */ lbu $t8, 0x0158($s1) ## 00000158 -/* 00D0C 80A92CAC 8FA40104 */ lw $a0, 0x0104($sp) -/* 00D10 80A92CB0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00D14 80A92CB4 0018C880 */ sll $t9, $t8, 2 -/* 00D18 80A92CB8 0338C821 */ addu $t9, $t9, $t8 -/* 00D1C 80A92CBC 0019C880 */ sll $t9, $t9, 2 -/* 00D20 80A92CC0 2729012C */ addiu $t1, $t9, 0x012C ## $t1 = 0000012C -/* 00D24 80A92CC4 AFA90014 */ sw $t1, 0x0014($sp) -/* 00D28 80A92CC8 0C00A527 */ jal EffectSsGSplash_Spawn -/* 00D2C 80A92CCC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00D30 80A92CD0 8FA40104 */ lw $a0, 0x0104($sp) -/* 00D34 80A92CD4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000024 -/* 00D38 80A92CD8 24060096 */ addiu $a2, $zero, 0x0096 ## $a2 = 00000096 -/* 00D3C 80A92CDC 2407028A */ addiu $a3, $zero, 0x028A ## $a3 = 0000028A -/* 00D40 80A92CE0 0C00A511 */ jal EffectSsGRipple_Spawn -/* 00D44 80A92CE4 AFA00010 */ sw $zero, 0x0010($sp) -/* 00D48 80A92CE8 240A0005 */ addiu $t2, $zero, 0x0005 ## $t2 = 00000005 -/* 00D4C 80A92CEC AFAA0010 */ sw $t2, 0x0010($sp) -/* 00D50 80A92CF0 8FA40104 */ lw $a0, 0x0104($sp) -/* 00D54 80A92CF4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000024 -/* 00D58 80A92CF8 2406012C */ addiu $a2, $zero, 0x012C ## $a2 = 0000012C -/* 00D5C 80A92CFC 0C00A511 */ jal EffectSsGRipple_Spawn -/* 00D60 80A92D00 24070320 */ addiu $a3, $zero, 0x0320 ## $a3 = 00000320 -/* 00D64 80A92D04 C62A0084 */ lwc1 $f10, 0x0084($s1) ## 00000084 -/* 00D68 80A92D08 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00D6C 80A92D0C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 00D70 80A92D10 46005121 */ cvt.d.s $f4, $f10 -/* 00D74 80A92D14 3C0480A9 */ lui $a0, %hi(D_80A94FF8) ## $a0 = 80A90000 -/* 00D78 80A92D18 44072000 */ mfc1 $a3, $f4 -/* 00D7C 80A92D1C 44062800 */ mfc1 $a2, $f5 -/* 00D80 80A92D20 24844FF8 */ addiu $a0, $a0, %lo(D_80A94FF8) ## $a0 = 80A94FF8 -/* 00D84 80A92D24 E6260060 */ swc1 $f6, 0x0060($s1) ## 00000060 -/* 00D88 80A92D28 0C00084C */ jal osSyncPrintf - -/* 00D8C 80A92D2C E628006C */ swc1 $f8, 0x006C($s1) ## 0000006C -/* 00D90 80A92D30 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028 -/* 00D94 80A92D34 3C0480A9 */ lui $a0, %hi(D_80A95008) ## $a0 = 80A90000 -/* 00D98 80A92D38 24845008 */ addiu $a0, $a0, %lo(D_80A95008) ## $a0 = 80A95008 -/* 00D9C 80A92D3C 46003221 */ cvt.d.s $f8, $f6 -/* 00DA0 80A92D40 44074000 */ mfc1 $a3, $f8 -/* 00DA4 80A92D44 44064800 */ mfc1 $a2, $f9 -/* 00DA8 80A92D48 0C00084C */ jal osSyncPrintf - -/* 00DAC 80A92D4C 00000000 */ nop -/* 00DB0 80A92D50 C62A0080 */ lwc1 $f10, 0x0080($s1) ## 00000080 -/* 00DB4 80A92D54 3C0480A9 */ lui $a0, %hi(D_80A95018) ## $a0 = 80A90000 -/* 00DB8 80A92D58 24845018 */ addiu $a0, $a0, %lo(D_80A95018) ## $a0 = 80A95018 -/* 00DBC 80A92D5C 46005121 */ cvt.d.s $f4, $f10 -/* 00DC0 80A92D60 44072000 */ mfc1 $a3, $f4 -/* 00DC4 80A92D64 44062800 */ mfc1 $a2, $f5 -/* 00DC8 80A92D68 0C00084C */ jal osSyncPrintf - -/* 00DCC 80A92D6C 00000000 */ nop -/* 00DD0 80A92D70 10000381 */ beq $zero, $zero, .L80A93B78 -/* 00DD4 80A92D74 8FBF003C */ lw $ra, 0x003C($sp) -.L80A92D78: -/* 00DD8 80A92D78 5200005E */ beql $s0, $zero, .L80A92EF4 -/* 00DDC 80A92D7C 86380184 */ lh $t8, 0x0184($s1) ## 00000184 -/* 00DE0 80A92D80 9222017A */ lbu $v0, 0x017A($s1) ## 0000017A -/* 00DE4 80A92D84 3C0180A9 */ lui $at, %hi(D_80A950E4) ## $at = 80A90000 -/* 00DE8 80A92D88 1C400010 */ bgtz $v0, .L80A92DCC -/* 00DEC 80A92D8C 244C0001 */ addiu $t4, $v0, 0x0001 ## $t4 = 00000001 -/* 00DF0 80A92D90 A22C017A */ sb $t4, 0x017A($s1) ## 0000017A -/* 00DF4 80A92D94 C42850E4 */ lwc1 $f8, %lo(D_80A950E4)($at) -/* 00DF8 80A92D98 C6260060 */ lwc1 $f6, 0x0060($s1) ## 00000060 -/* 00DFC 80A92D9C 3C014680 */ lui $at, 0x4680 ## $at = 46800000 -/* 00E00 80A92DA0 44816000 */ mtc1 $at, $f12 ## $f12 = 16384.00 -/* 00E04 80A92DA4 46083282 */ mul.s $f10, $f6, $f8 -/* 00E08 80A92DA8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00E0C 80A92DAC E62A0060 */ swc1 $f10, 0x0060($s1) ## 00000060 -/* 00E10 80A92DB0 4600010D */ trunc.w.s $f4, $f0 -/* 00E14 80A92DB4 862D0032 */ lh $t5, 0x0032($s1) ## 00000032 -/* 00E18 80A92DB8 44182000 */ mfc1 $t8, $f4 -/* 00E1C 80A92DBC 00000000 */ nop -/* 00E20 80A92DC0 01B8C821 */ addu $t9, $t5, $t8 -/* 00E24 80A92DC4 10000004 */ beq $zero, $zero, .L80A92DD8 -/* 00E28 80A92DC8 A6390032 */ sh $t9, 0x0032($s1) ## 00000032 -.L80A92DCC: -/* 00E2C 80A92DCC 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00E30 80A92DD0 00000000 */ nop -/* 00E34 80A92DD4 E6260060 */ swc1 $f6, 0x0060($s1) ## 00000060 -.L80A92DD8: -/* 00E38 80A92DD8 3C0180A9 */ lui $at, %hi(D_80A950E8) ## $at = 80A90000 -/* 00E3C 80A92DDC C42A50E8 */ lwc1 $f10, %lo(D_80A950E8)($at) -/* 00E40 80A92DE0 C6280068 */ lwc1 $f8, 0x0068($s1) ## 00000068 -/* 00E44 80A92DE4 86290168 */ lh $t1, 0x0168($s1) ## 00000168 -/* 00E48 80A92DE8 460A4102 */ mul.s $f4, $f8, $f10 -/* 00E4C 80A92DEC 1520001A */ bne $t1, $zero, .L80A92E58 -/* 00E50 80A92DF0 E6240068 */ swc1 $f4, 0x0068($s1) ## 00000068 -/* 00E54 80A92DF4 86220176 */ lh $v0, 0x0176($s1) ## 00000176 -/* 00E58 80A92DF8 10400017 */ beq $v0, $zero, .L80A92E58 -/* 00E5C 80A92DFC 00025240 */ sll $t2, $v0, 9 -/* 00E60 80A92E00 10400007 */ beq $v0, $zero, .L80A92E20 -/* 00E64 80A92E04 A62A016E */ sh $t2, 0x016E($s1) ## 0000016E -/* 00E68 80A92E08 244CFFFB */ addiu $t4, $v0, 0xFFFB ## $t4 = FFFFFFFB -/* 00E6C 80A92E0C A62C0176 */ sh $t4, 0x0176($s1) ## 00000176 -/* 00E70 80A92E10 862E0176 */ lh $t6, 0x0176($s1) ## 00000176 -/* 00E74 80A92E14 1DC00002 */ bgtz $t6, .L80A92E20 -/* 00E78 80A92E18 00000000 */ nop -/* 00E7C 80A92E1C A6200176 */ sh $zero, 0x0176($s1) ## 00000176 -.L80A92E20: -/* 00E80 80A92E20 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00E84 80A92E24 00000000 */ nop -/* 00E88 80A92E28 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00E8C 80A92E2C 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50 -/* 00E90 80A92E30 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00E94 80A92E34 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 00E98 80A92E38 4606003C */ c.lt.s $f0, $f6 -/* 00E9C 80A92E3C 00000000 */ nop -/* 00EA0 80A92E40 45020004 */ bc1fl .L80A92E54 -/* 00EA4 80A92E44 A2200174 */ sb $zero, 0x0174($s1) ## 00000174 -/* 00EA8 80A92E48 10000002 */ beq $zero, $zero, .L80A92E54 -/* 00EAC 80A92E4C A22F0174 */ sb $t7, 0x0174($s1) ## 00000174 -/* 00EB0 80A92E50 A2200174 */ sb $zero, 0x0174($s1) ## 00000174 -.L80A92E54: -/* 00EB4 80A92E54 A3AB00FF */ sb $t3, 0x00FF($sp) -.L80A92E58: -/* 00EB8 80A92E58 862D016C */ lh $t5, 0x016C($s1) ## 0000016C -/* 00EBC 80A92E5C 55A0001B */ bnel $t5, $zero, .L80A92ECC -/* 00EC0 80A92E60 86250184 */ lh $a1, 0x0184($s1) ## 00000184 -/* 00EC4 80A92E64 86220178 */ lh $v0, 0x0178($s1) ## 00000178 -/* 00EC8 80A92E68 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 00ECC 80A92E6C 10400016 */ beq $v0, $zero, .L80A92EC8 -/* 00ED0 80A92E70 0002C240 */ sll $t8, $v0, 9 -/* 00ED4 80A92E74 A6380172 */ sh $t8, 0x0172($s1) ## 00000172 -/* 00ED8 80A92E78 10400007 */ beq $v0, $zero, .L80A92E98 -/* 00EDC 80A92E7C A3B900FF */ sb $t9, 0x00FF($sp) -/* 00EE0 80A92E80 2449FFFB */ addiu $t1, $v0, 0xFFFB ## $t1 = FFFFFFFB -/* 00EE4 80A92E84 A6290178 */ sh $t1, 0x0178($s1) ## 00000178 -/* 00EE8 80A92E88 862A0178 */ lh $t2, 0x0178($s1) ## 00000178 -/* 00EEC 80A92E8C 1D400002 */ bgtz $t2, .L80A92E98 -/* 00EF0 80A92E90 00000000 */ nop -/* 00EF4 80A92E94 A6200178 */ sh $zero, 0x0178($s1) ## 00000178 -.L80A92E98: -/* 00EF8 80A92E98 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00EFC 80A92E9C 00000000 */ nop -/* 00F00 80A92EA0 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00F04 80A92EA4 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50 -/* 00F08 80A92EA8 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 00F0C 80A92EAC 4608003C */ c.lt.s $f0, $f8 -/* 00F10 80A92EB0 00000000 */ nop -/* 00F14 80A92EB4 45020004 */ bc1fl .L80A92EC8 -/* 00F18 80A92EB8 A2200175 */ sb $zero, 0x0175($s1) ## 00000175 -/* 00F1C 80A92EBC 10000002 */ beq $zero, $zero, .L80A92EC8 -/* 00F20 80A92EC0 A22C0175 */ sb $t4, 0x0175($s1) ## 00000175 -/* 00F24 80A92EC4 A2200175 */ sb $zero, 0x0175($s1) ## 00000175 -.L80A92EC8: -/* 00F28 80A92EC8 86250184 */ lh $a1, 0x0184($s1) ## 00000184 -.L80A92ECC: -/* 00F2C 80A92ECC 262400B4 */ addiu $a0, $s1, 0x00B4 ## $a0 = 000000B4 -/* 00F30 80A92ED0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 00F34 80A92ED4 00052B80 */ sll $a1, $a1, 14 -/* 00F38 80A92ED8 00052C00 */ sll $a1, $a1, 16 -/* 00F3C 80A92EDC 00052C03 */ sra $a1, $a1, 16 -/* 00F40 80A92EE0 0C01E1EF */ jal Math_ApproachS - -/* 00F44 80A92EE4 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000 -/* 00F48 80A92EE8 1000000F */ beq $zero, $zero, .L80A92F28 -/* 00F4C 80A92EEC 93AA00FF */ lbu $t2, 0x00FF($sp) -/* 00F50 80A92EF0 86380184 */ lh $t8, 0x0184($s1) ## 00000184 -.L80A92EF4: -/* 00F54 80A92EF4 862E00B6 */ lh $t6, 0x00B6($s1) ## 000000B6 -/* 00F58 80A92EF8 862F0170 */ lh $t7, 0x0170($s1) ## 00000170 -/* 00F5C 80A92EFC 0018C940 */ sll $t9, $t8, 5 -/* 00F60 80A92F00 0338C823 */ subu $t9, $t9, $t8 -/* 00F64 80A92F04 862D00B4 */ lh $t5, 0x00B4($s1) ## 000000B4 -/* 00F68 80A92F08 0019C880 */ sll $t9, $t9, 2 -/* 00F6C 80A92F0C 0338C821 */ addu $t9, $t9, $t8 -/* 00F70 80A92F10 0019C900 */ sll $t9, $t9, 4 -/* 00F74 80A92F14 01CF5821 */ addu $t3, $t6, $t7 -/* 00F78 80A92F18 01B94821 */ addu $t1, $t5, $t9 -/* 00F7C 80A92F1C A62B00B6 */ sh $t3, 0x00B6($s1) ## 000000B6 -/* 00F80 80A92F20 A62900B4 */ sh $t1, 0x00B4($s1) ## 000000B4 -/* 00F84 80A92F24 93AA00FF */ lbu $t2, 0x00FF($sp) -.L80A92F28: -/* 00F88 80A92F28 3C0E80A9 */ lui $t6, %hi(D_80A946C4) ## $t6 = 80A90000 -/* 00F8C 80A92F2C 25CE46C4 */ addiu $t6, $t6, %lo(D_80A946C4) ## $t6 = 80A946C4 -/* 00F90 80A92F30 1140005F */ beq $t2, $zero, .L80A930B0 -/* 00F94 80A92F34 27AC00AC */ addiu $t4, $sp, 0x00AC ## $t4 = FFFFFFAC -/* 00F98 80A92F38 8DCB0000 */ lw $t3, 0x0000($t6) ## 80A946C4 -/* 00F9C 80A92F3C 8DCF0004 */ lw $t7, 0x0004($t6) ## 80A946C8 -/* 00FA0 80A92F40 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00FA4 80A92F44 AD8B0000 */ sw $t3, 0x0000($t4) ## FFFFFFAC -/* 00FA8 80A92F48 8DCB0008 */ lw $t3, 0x0008($t6) ## 80A946CC -/* 00FAC 80A92F4C 240528B4 */ addiu $a1, $zero, 0x28B4 ## $a1 = 000028B4 -/* 00FB0 80A92F50 AD8F0004 */ sw $t7, 0x0004($t4) ## FFFFFFB0 -/* 00FB4 80A92F54 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00FB8 80A92F58 AD8B0008 */ sw $t3, 0x0008($t4) ## FFFFFFB4 -/* 00FBC 80A92F5C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00FC0 80A92F60 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50 -/* 00FC4 80A92F64 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 00FC8 80A92F68 3C0180A9 */ lui $at, %hi(D_80A950EC) ## $at = 80A90000 -/* 00FCC 80A92F6C C42450EC */ lwc1 $f4, %lo(D_80A950EC)($at) -/* 00FD0 80A92F70 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00FD4 80A92F74 E7AA00A0 */ swc1 $f10, 0x00A0($sp) -/* 00FD8 80A92F78 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 00FDC 80A92F7C E7A400A4 */ swc1 $f4, 0x00A4($sp) -/* 00FE0 80A92F80 E7A600A8 */ swc1 $f6, 0x00A8($sp) -/* 00FE4 80A92F84 C6280080 */ lwc1 $f8, 0x0080($s1) ## 00000080 -/* 00FE8 80A92F88 44815000 */ mtc1 $at, $f10 ## $f10 = 3.00 -/* 00FEC 80A92F8C 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 00FF0 80A92F90 460A4100 */ add.s $f4, $f8, $f10 -/* 00FF4 80A92F94 E7A40098 */ swc1 $f4, 0x0098($sp) -/* 00FF8 80A92F98 92380158 */ lbu $t8, 0x0158($s1) ## 00000158 -/* 00FFC 80A92F9C 44983000 */ mtc1 $t8, $f6 ## $f6 = 0.00 -/* 01000 80A92FA0 07010004 */ bgez $t8, .L80A92FB4 -/* 01004 80A92FA4 46803220 */ cvt.s.w $f8, $f6 -/* 01008 80A92FA8 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00 -/* 0100C 80A92FAC 00000000 */ nop -/* 01010 80A92FB0 460A4200 */ add.s $f8, $f8, $f10 -.L80A92FB4: -/* 01014 80A92FB4 46004102 */ mul.s $f4, $f8, $f0 -/* 01018 80A92FB8 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 0101C 80A92FBC 4600218D */ trunc.w.s $f6, $f4 -/* 01020 80A92FC0 44023000 */ mfc1 $v0, $f6 -/* 01024 80A92FC4 00000000 */ nop -/* 01028 80A92FC8 00021400 */ sll $v0, $v0, 16 -/* 0102C 80A92FCC 00021403 */ sra $v0, $v0, 16 -/* 01030 80A92FD0 24430003 */ addiu $v1, $v0, 0x0003 ## $v1 = 00000003 -/* 01034 80A92FD4 58600037 */ blezl $v1, .L80A930B4 -/* 01038 80A92FD8 86220152 */ lh $v0, 0x0152($s1) ## 00000152 -/* 0103C 80A92FDC AFA30054 */ sw $v1, 0x0054($sp) -/* 01040 80A92FE0 92390158 */ lbu $t9, 0x0158($s1) ## 00000158 -.L80A92FE4: -/* 01044 80A92FE4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 01048 80A92FE8 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50 -/* 0104C 80A92FEC 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00 -/* 01050 80A92FF0 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 01054 80A92FF4 07210004 */ bgez $t9, .L80A93008 -/* 01058 80A92FF8 46805220 */ cvt.s.w $f8, $f10 -/* 0105C 80A92FFC 44812000 */ mtc1 $at, $f4 ## $f4 = 4294967296.00 -/* 01060 80A93000 00000000 */ nop -/* 01064 80A93004 46044200 */ add.s $f8, $f8, $f4 -.L80A93008: -/* 01068 80A93008 46004182 */ mul.s $f6, $f8, $f0 -/* 0106C 80A9300C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 01070 80A93010 44815000 */ mtc1 $at, $f10 ## $f10 = 20.00 -/* 01074 80A93014 0C00CFC8 */ jal Rand_CenteredFloat - -/* 01078 80A93018 460A3300 */ add.s $f12, $f6, $f10 -/* 0107C 80A9301C C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024 -/* 01080 80A93020 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 01084 80A93024 46040200 */ add.s $f8, $f0, $f4 -/* 01088 80A93028 E7A80094 */ swc1 $f8, 0x0094($sp) -/* 0108C 80A9302C 92290158 */ lbu $t1, 0x0158($s1) ## 00000158 -/* 01090 80A93030 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00 -/* 01094 80A93034 05210004 */ bgez $t1, .L80A93048 -/* 01098 80A93038 468032A0 */ cvt.s.w $f10, $f6 -/* 0109C 80A9303C 44812000 */ mtc1 $at, $f4 ## $f4 = 4294967296.00 -/* 010A0 80A93040 00000000 */ nop -/* 010A4 80A93044 46045280 */ add.s $f10, $f10, $f4 -.L80A93048: -/* 010A8 80A93048 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 010AC 80A9304C 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50 -/* 010B0 80A93050 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 010B4 80A93054 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00 -/* 010B8 80A93058 46085182 */ mul.s $f6, $f10, $f8 -/* 010BC 80A9305C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 010C0 80A93060 46043300 */ add.s $f12, $f6, $f4 -/* 010C4 80A93064 C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C -/* 010C8 80A93068 240A0064 */ addiu $t2, $zero, 0x0064 ## $t2 = 00000064 -/* 010CC 80A9306C 240C0005 */ addiu $t4, $zero, 0x0005 ## $t4 = 00000005 -/* 010D0 80A93070 460A0200 */ add.s $f8, $f0, $f10 -/* 010D4 80A93074 AFAC0014 */ sw $t4, 0x0014($sp) -/* 010D8 80A93078 AFAA0010 */ sw $t2, 0x0010($sp) -/* 010DC 80A9307C 8FA40104 */ lw $a0, 0x0104($sp) -/* 010E0 80A93080 E7A8009C */ swc1 $f8, 0x009C($sp) -/* 010E4 80A93084 27A50094 */ addiu $a1, $sp, 0x0094 ## $a1 = FFFFFF94 -/* 010E8 80A93088 27A600AC */ addiu $a2, $sp, 0x00AC ## $a2 = FFFFFFAC -/* 010EC 80A9308C 0C00A1B3 */ jal func_800286CC -/* 010F0 80A93090 27A700A0 */ addiu $a3, $sp, 0x00A0 ## $a3 = FFFFFFA0 -/* 010F4 80A93094 8FAE0054 */ lw $t6, 0x0054($sp) -/* 010F8 80A93098 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 010FC 80A9309C 00108400 */ sll $s0, $s0, 16 -/* 01100 80A930A0 00108403 */ sra $s0, $s0, 16 -/* 01104 80A930A4 020E082A */ slt $at, $s0, $t6 -/* 01108 80A930A8 5420FFCE */ bnel $at, $zero, .L80A92FE4 -/* 0110C 80A930AC 92390158 */ lbu $t9, 0x0158($s1) ## 00000158 -.L80A930B0: -/* 01110 80A930B0 86220152 */ lh $v0, 0x0152($s1) ## 00000152 -.L80A930B4: -/* 01114 80A930B4 240B0003 */ addiu $t3, $zero, 0x0003 ## $t3 = 00000003 -/* 01118 80A930B8 14400003 */ bne $v0, $zero, .L80A930C8 -/* 0111C 80A930BC 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF -/* 01120 80A930C0 10000003 */ beq $zero, $zero, .L80A930D0 -/* 01124 80A930C4 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -.L80A930C8: -/* 01128 80A930C8 A62F0152 */ sh $t7, 0x0152($s1) ## 00000152 -/* 0112C 80A930CC 86230152 */ lh $v1, 0x0152($s1) ## 00000152 -.L80A930D0: -/* 01130 80A930D0 14600002 */ bne $v1, $zero, .L80A930DC -/* 01134 80A930D4 00000000 */ nop -/* 01138 80A930D8 A22B0154 */ sb $t3, 0x0154($s1) ## 00000154 -glabel L80A930DC -.L80A930DC: -/* 0113C 80A930DC 8E300118 */ lw $s0, 0x0118($s1) ## 00000118 -/* 01140 80A930E0 3401FFFF */ ori $at, $zero, 0xFFFF ## $at = 0000FFFF -/* 01144 80A930E4 96180156 */ lhu $t8, 0x0156($s0) ## 00000157 -/* 01148 80A930E8 57010004 */ bnel $t8, $at, .L80A930FC -/* 0114C 80A930EC 262400BC */ addiu $a0, $s1, 0x00BC ## $a0 = 000000BC -/* 01150 80A930F0 0C00B55C */ jal Actor_Kill - -/* 01154 80A930F4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01158 80A930F8 262400BC */ addiu $a0, $s1, 0x00BC ## $a0 = 000000BC -.L80A930FC: -/* 0115C 80A930FC 3C0542C8 */ lui $a1, 0x42C8 ## $a1 = 42C80000 -/* 01160 80A93100 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01164 80A93104 0C01E107 */ jal Math_ApproachF - -/* 01168 80A93108 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000 -/* 0116C 80A9310C 922D0154 */ lbu $t5, 0x0154($s1) ## 00000154 -/* 01170 80A93110 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 01174 80A93114 8FB900E8 */ lw $t9, 0x00E8($sp) -/* 01178 80A93118 15A100E4 */ bne $t5, $at, .L80A934AC -/* 0117C 80A9311C 8FAC0104 */ lw $t4, 0x0104($sp) -/* 01180 80A93120 C7200068 */ lwc1 $f0, 0x0068($t9) ## 00000068 -/* 01184 80A93124 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 01188 80A93128 262900B4 */ addiu $t1, $s1, 0x00B4 ## $t1 = 000000B4 -/* 0118C 80A9312C AFA90050 */ sw $t1, 0x0050($sp) -/* 01190 80A93130 4600303C */ c.lt.s $f6, $f0 -/* 01194 80A93134 00000000 */ nop -/* 01198 80A93138 45020037 */ bc1fl .L80A93218 -/* 0119C 80A9313C 962B0088 */ lhu $t3, 0x0088($s1) ## 00000088 -/* 011A0 80A93140 C7240028 */ lwc1 $f4, 0x0028($t9) ## 00000028 -/* 011A4 80A93144 C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028 -/* 011A8 80A93148 3C0180A9 */ lui $at, %hi(D_80A950F0) ## $at = 80A90000 -/* 011AC 80A9314C 460A203C */ c.lt.s $f4, $f10 -/* 011B0 80A93150 00000000 */ nop -/* 011B4 80A93154 45020030 */ bc1fl .L80A93218 -/* 011B8 80A93158 962B0088 */ lhu $t3, 0x0088($s1) ## 00000088 -/* 011BC 80A9315C C628008C */ lwc1 $f8, 0x008C($s1) ## 0000008C -/* 011C0 80A93160 C42650F0 */ lwc1 $f6, %lo(D_80A950F0)($at) -/* 011C4 80A93164 26240068 */ addiu $a0, $s1, 0x0068 ## $a0 = 00000068 -/* 011C8 80A93168 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 011CC 80A9316C 4606403C */ c.lt.s $f8, $f6 -/* 011D0 80A93170 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000 -/* 011D4 80A93174 45020028 */ bc1fl .L80A93218 -/* 011D8 80A93178 962B0088 */ lhu $t3, 0x0088($s1) ## 00000088 -/* 011DC 80A9317C 44050000 */ mfc1 $a1, $f0 -/* 011E0 80A93180 0C01E107 */ jal Math_ApproachF - -/* 011E4 80A93184 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD -/* 011E8 80A93188 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 011EC 80A9318C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 011F0 80A93190 C6240068 */ lwc1 $f4, 0x0068($s1) ## 00000068 -/* 011F4 80A93194 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 011F8 80A93198 26240032 */ addiu $a0, $s1, 0x0032 ## $a0 = 00000032 -/* 011FC 80A9319C 4604003C */ c.lt.s $f0, $f4 -/* 01200 80A931A0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 01204 80A931A4 45020003 */ bc1fl .L80A931B4 -/* 01208 80A931A8 8625008A */ lh $a1, 0x008A($s1) ## 0000008A -/* 0120C 80A931AC E6200068 */ swc1 $f0, 0x0068($s1) ## 00000068 -/* 01210 80A931B0 8625008A */ lh $a1, 0x008A($s1) ## 0000008A -.L80A931B4: -/* 01214 80A931B4 AFA00010 */ sw $zero, 0x0010($sp) -/* 01218 80A931B8 24071000 */ addiu $a3, $zero, 0x1000 ## $a3 = 00001000 -/* 0121C 80A931BC 00A12821 */ addu $a1, $a1, $at -/* 01220 80A931C0 00052C00 */ sll $a1, $a1, 16 -/* 01224 80A931C4 0C01E1A7 */ jal Math_SmoothStepToS - -/* 01228 80A931C8 00052C03 */ sra $a1, $a1, 16 -/* 0122C 80A931CC 18400009 */ blez $v0, .L80A931F4 -/* 01230 80A931D0 3C01C47A */ lui $at, 0xC47A ## $at = C47A0000 -/* 01234 80A931D4 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 01238 80A931D8 44814000 */ mtc1 $at, $f8 ## $f8 = 1000.00 -/* 0123C 80A931DC C62A0068 */ lwc1 $f10, 0x0068($s1) ## 00000068 -/* 01240 80A931E0 46085182 */ mul.s $f6, $f10, $f8 -/* 01244 80A931E4 4600310D */ trunc.w.s $f4, $f6 -/* 01248 80A931E8 440C2000 */ mfc1 $t4, $f4 -/* 0124C 80A931EC 10000009 */ beq $zero, $zero, .L80A93214 -/* 01250 80A931F0 A62C0170 */ sh $t4, 0x0170($s1) ## 00000170 -.L80A931F4: -/* 01254 80A931F4 C62A0068 */ lwc1 $f10, 0x0068($s1) ## 00000068 -/* 01258 80A931F8 44814000 */ mtc1 $at, $f8 ## $f8 = 1000.00 -/* 0125C 80A931FC 00000000 */ nop -/* 01260 80A93200 46085182 */ mul.s $f6, $f10, $f8 -/* 01264 80A93204 4600310D */ trunc.w.s $f4, $f6 -/* 01268 80A93208 440F2000 */ mfc1 $t7, $f4 -/* 0126C 80A9320C 00000000 */ nop -/* 01270 80A93210 A62F0170 */ sh $t7, 0x0170($s1) ## 00000170 -.L80A93214: -/* 01274 80A93214 962B0088 */ lhu $t3, 0x0088($s1) ## 00000088 -.L80A93218: -/* 01278 80A93218 31780001 */ andi $t8, $t3, 0x0001 ## $t8 = 00000000 -/* 0127C 80A9321C 13000004 */ beq $t8, $zero, .L80A93230 -/* 01280 80A93220 00000000 */ nop -/* 01284 80A93224 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 01288 80A93228 00000000 */ nop -/* 0128C 80A9322C E62A0068 */ swc1 $f10, 0x0068($s1) ## 00000068 -.L80A93230: -/* 01290 80A93230 0C00B638 */ jal Actor_MoveForward - -/* 01294 80A93234 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01298 80A93238 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 0129C 80A9323C C6260068 */ lwc1 $f6, 0x0068($s1) ## 00000068 -/* 012A0 80A93240 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 012A4 80A93244 8FA40104 */ lw $a0, 0x0104($sp) -/* 012A8 80A93248 46064032 */ c.eq.s $f8, $f6 -/* 012AC 80A9324C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 012B0 80A93250 240D0005 */ addiu $t5, $zero, 0x0005 ## $t5 = 00000005 -/* 012B4 80A93254 26300068 */ addiu $s0, $s1, 0x0068 ## $s0 = 00000068 -/* 012B8 80A93258 4503001E */ bc1tl .L80A932D4 -/* 012BC 80A9325C 862F00B6 */ lh $t7, 0x00B6($s1) ## 000000B6 -/* 012C0 80A93260 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00 -/* 012C4 80A93264 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 012C8 80A93268 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00 -/* 012CC 80A9326C 44060000 */ mfc1 $a2, $f0 -/* 012D0 80A93270 44070000 */ mfc1 $a3, $f0 -/* 012D4 80A93274 AFAD0014 */ sw $t5, 0x0014($sp) -/* 012D8 80A93278 0C00B92D */ jal func_8002E4B4 -/* 012DC 80A9327C E7A40010 */ swc1 $f4, 0x0010($sp) -/* 012E0 80A93280 96290088 */ lhu $t1, 0x0088($s1) ## 00000088 -/* 012E4 80A93284 02002025 */ or $a0, $s0, $zero ## $a0 = 00000068 -/* 012E8 80A93288 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000 -/* 012EC 80A9328C 31390008 */ andi $t9, $t1, 0x0008 ## $t9 = 00000000 -/* 012F0 80A93290 1320000D */ beq $t9, $zero, .L80A932C8 -/* 012F4 80A93294 3C063E19 */ lui $a2, 0x3E19 ## $a2 = 3E190000 -/* 012F8 80A93298 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000 -/* 012FC 80A9329C 44814000 */ mtc1 $at, $f8 ## $f8 = -0.50 -/* 01300 80A932A0 C62A0068 */ lwc1 $f10, 0x0068($s1) ## 00000068 -/* 01304 80A932A4 862A0170 */ lh $t2, 0x0170($s1) ## 00000170 -/* 01308 80A932A8 240CF830 */ addiu $t4, $zero, 0xF830 ## $t4 = FFFFF830 -/* 0130C 80A932AC 46085182 */ mul.s $f6, $f10, $f8 -/* 01310 80A932B0 240E07D0 */ addiu $t6, $zero, 0x07D0 ## $t6 = 000007D0 -/* 01314 80A932B4 19400003 */ blez $t2, .L80A932C4 -/* 01318 80A932B8 E6260068 */ swc1 $f6, 0x0068($s1) ## 00000068 -/* 0131C 80A932BC 10000002 */ beq $zero, $zero, .L80A932C8 -/* 01320 80A932C0 A62C0170 */ sh $t4, 0x0170($s1) ## 00000170 -.L80A932C4: -/* 01324 80A932C4 A62E0170 */ sh $t6, 0x0170($s1) ## 00000170 -.L80A932C8: -/* 01328 80A932C8 0C01E123 */ jal Math_ApproachZeroF - -/* 0132C 80A932CC 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E19999A -/* 01330 80A932D0 862F00B6 */ lh $t7, 0x00B6($s1) ## 000000B6 -.L80A932D4: -/* 01334 80A932D4 862B0170 */ lh $t3, 0x0170($s1) ## 00000170 -/* 01338 80A932D8 26240170 */ addiu $a0, $s1, 0x0170 ## $a0 = 00000170 -/* 0133C 80A932DC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 01340 80A932E0 01EBC021 */ addu $t8, $t7, $t3 -/* 01344 80A932E4 A63800B6 */ sh $t8, 0x00B6($s1) ## 000000B6 -/* 01348 80A932E8 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 0134C 80A932EC 0C01E1EF */ jal Math_ApproachS - -/* 01350 80A932F0 2407003A */ addiu $a3, $zero, 0x003A ## $a3 = 0000003A -/* 01354 80A932F4 86250184 */ lh $a1, 0x0184($s1) ## 00000184 -/* 01358 80A932F8 8FA40050 */ lw $a0, 0x0050($sp) -/* 0135C 80A932FC 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002 -/* 01360 80A93300 00052B80 */ sll $a1, $a1, 14 -/* 01364 80A93304 00052C00 */ sll $a1, $a1, 16 -/* 01368 80A93308 00052C03 */ sra $a1, $a1, 16 -/* 0136C 80A9330C 0C01E1EF */ jal Math_ApproachS - -/* 01370 80A93310 24071000 */ addiu $a3, $zero, 0x1000 ## $a3 = 00001000 -/* 01374 80A93314 92240150 */ lbu $a0, 0x0150($s1) ## 00000150 -/* 01378 80A93318 00800821 */ addu $at, $a0, $zero -/* 0137C 80A9331C 00042080 */ sll $a0, $a0, 2 -/* 01380 80A93320 00812021 */ addu $a0, $a0, $at -/* 01384 80A93324 000420C0 */ sll $a0, $a0, 3 -/* 01388 80A93328 00812023 */ subu $a0, $a0, $at -/* 0138C 80A9332C 00042100 */ sll $a0, $a0, 4 -/* 01390 80A93330 00812021 */ addu $a0, $a0, $at -/* 01394 80A93334 00042080 */ sll $a0, $a0, 2 -/* 01398 80A93338 00042400 */ sll $a0, $a0, 16 -/* 0139C 80A9333C 0C01DE1C */ jal Math_SinS - ## sins? -/* 013A0 80A93340 00042403 */ sra $a0, $a0, 16 -/* 013A4 80A93344 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000 -/* 013A8 80A93348 44812000 */ mtc1 $at, $f4 ## $f4 = 500.00 -/* 013AC 80A9334C 26240168 */ addiu $a0, $s1, 0x0168 ## $a0 = 00000168 -/* 013B0 80A93350 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002 -/* 013B4 80A93354 46040282 */ mul.s $f10, $f0, $f4 -/* 013B8 80A93358 24071000 */ addiu $a3, $zero, 0x1000 ## $a3 = 00001000 -/* 013BC 80A9335C 4600520D */ trunc.w.s $f8, $f10 -/* 013C0 80A93360 44054000 */ mfc1 $a1, $f8 -/* 013C4 80A93364 00000000 */ nop -/* 013C8 80A93368 00052C00 */ sll $a1, $a1, 16 -/* 013CC 80A9336C 0C01E1EF */ jal Math_ApproachS - -/* 013D0 80A93370 00052C03 */ sra $a1, $a1, 16 -/* 013D4 80A93374 92240150 */ lbu $a0, 0x0150($s1) ## 00000150 -/* 013D8 80A93378 00800821 */ addu $at, $a0, $zero -/* 013DC 80A9337C 00042080 */ sll $a0, $a0, 2 -/* 013E0 80A93380 00812023 */ subu $a0, $a0, $at -/* 013E4 80A93384 00042100 */ sll $a0, $a0, 4 -/* 013E8 80A93388 00812023 */ subu $a0, $a0, $at -/* 013EC 80A9338C 000420C0 */ sll $a0, $a0, 3 -/* 013F0 80A93390 00812023 */ subu $a0, $a0, $at -/* 013F4 80A93394 000420C0 */ sll $a0, $a0, 3 -/* 013F8 80A93398 00042400 */ sll $a0, $a0, 16 -/* 013FC 80A9339C 0C01DE0D */ jal Math_CosS - ## coss? -/* 01400 80A933A0 00042403 */ sra $a0, $a0, 16 -/* 01404 80A933A4 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000 -/* 01408 80A933A8 44813000 */ mtc1 $at, $f6 ## $f6 = 500.00 -/* 0140C 80A933AC 2624016C */ addiu $a0, $s1, 0x016C ## $a0 = 0000016C -/* 01410 80A933B0 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002 -/* 01414 80A933B4 46060102 */ mul.s $f4, $f0, $f6 -/* 01418 80A933B8 24071000 */ addiu $a3, $zero, 0x1000 ## $a3 = 00001000 -/* 0141C 80A933BC 4600228D */ trunc.w.s $f10, $f4 -/* 01420 80A933C0 44055000 */ mfc1 $a1, $f10 -/* 01424 80A933C4 00000000 */ nop -/* 01428 80A933C8 00052C00 */ sll $a1, $a1, 16 -/* 0142C 80A933CC 0C01E1EF */ jal Math_ApproachS - -/* 01430 80A933D0 00052C03 */ sra $a1, $a1, 16 -/* 01434 80A933D4 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000 -/* 01438 80A933D8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD -/* 0143C 80A933DC 26240188 */ addiu $a0, $s1, 0x0188 ## $a0 = 00000188 -/* 01440 80A933E0 0C01E123 */ jal Math_ApproachZeroF - -/* 01444 80A933E4 3C053F00 */ lui $a1, 0x3F00 ## $a1 = 3F000000 -/* 01448 80A933E8 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000 -/* 0144C 80A933EC 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD -/* 01450 80A933F0 26240190 */ addiu $a0, $s1, 0x0190 ## $a0 = 00000190 -/* 01454 80A933F4 0C01E123 */ jal Math_ApproachZeroF - -/* 01458 80A933F8 3C053F00 */ lui $a1, 0x3F00 ## $a1 = 3F000000 -/* 0145C 80A933FC C6220068 */ lwc1 $f2, 0x0068($s1) ## 00000068 -/* 01460 80A93400 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 01464 80A93404 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 01468 80A93408 46001085 */ abs.s $f2, $f2 -/* 0146C 80A9340C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 01470 80A93410 4602403C */ c.lt.s $f8, $f2 -/* 01474 80A93414 8FA40104 */ lw $a0, 0x0104($sp) -/* 01478 80A93418 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024 -/* 0147C 80A9341C 45020004 */ bc1fl .L80A93430 -/* 01480 80A93420 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50 -/* 01484 80A93424 10000009 */ beq $zero, $zero, .L80A9344C -/* 01488 80A93428 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 0148C 80A9342C 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50 -.L80A93430: -/* 01490 80A93430 24020007 */ addiu $v0, $zero, 0x0007 ## $v0 = 00000007 -/* 01494 80A93434 4602303C */ c.lt.s $f6, $f2 -/* 01498 80A93438 00000000 */ nop -/* 0149C 80A9343C 45000003 */ bc1f .L80A9344C -/* 014A0 80A93440 00000000 */ nop -/* 014A4 80A93444 10000001 */ beq $zero, $zero, .L80A9344C -/* 014A8 80A93448 24020003 */ addiu $v0, $zero, 0x0003 ## $v0 = 00000003 -.L80A9344C: -/* 014AC 80A9344C 92390150 */ lbu $t9, 0x0150($s1) ## 00000150 -/* 014B0 80A93450 03225024 */ and $t2, $t9, $v0 -/* 014B4 80A93454 5540007D */ bnel $t2, $zero, .L80A9364C -/* 014B8 80A93458 86380176 */ lh $t8, 0x0176($s1) ## 00000176 -/* 014BC 80A9345C 92220158 */ lbu $v0, 0x0158($s1) ## 00000158 -/* 014C0 80A93460 28410003 */ slti $at, $v0, 0x0003 -/* 014C4 80A93464 50200004 */ beql $at, $zero, .L80A93478 -/* 014C8 80A93468 28410006 */ slti $at, $v0, 0x0006 -/* 014CC 80A9346C 10000006 */ beq $zero, $zero, .L80A93488 -/* 014D0 80A93470 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 014D4 80A93474 28410006 */ slti $at, $v0, 0x0006 -.L80A93478: -/* 014D8 80A93478 10200003 */ beq $at, $zero, .L80A93488 -/* 014DC 80A9347C 240200C8 */ addiu $v0, $zero, 0x00C8 ## $v0 = 000000C8 -/* 014E0 80A93480 10000001 */ beq $zero, $zero, .L80A93488 -/* 014E4 80A93484 24020064 */ addiu $v0, $zero, 0x0064 ## $v0 = 00000064 -.L80A93488: -/* 014E8 80A93488 244701F4 */ addiu $a3, $v0, 0x01F4 ## $a3 = 00000258 -/* 014EC 80A9348C 00073C00 */ sll $a3, $a3, 16 -/* 014F0 80A93490 00023400 */ sll $a2, $v0, 16 -/* 014F4 80A93494 00063403 */ sra $a2, $a2, 16 -/* 014F8 80A93498 00073C03 */ sra $a3, $a3, 16 -/* 014FC 80A9349C 0C00A511 */ jal EffectSsGRipple_Spawn -/* 01500 80A934A0 AFA00010 */ sw $zero, 0x0010($sp) -/* 01504 80A934A4 10000069 */ beq $zero, $zero, .L80A9364C -/* 01508 80A934A8 86380176 */ lh $t8, 0x0176($s1) ## 00000176 -.L80A934AC: -/* 0150C 80A934AC 918E1C26 */ lbu $t6, 0x1C26($t4) ## 00001C26 -/* 01510 80A934B0 3C0180A9 */ lui $at, %hi(D_80A950F4) ## $at = 80A90000 -/* 01514 80A934B4 51C00065 */ beql $t6, $zero, .L80A9364C -/* 01518 80A934B8 86380176 */ lh $t8, 0x0176($s1) ## 00000176 -/* 0151C 80A934BC C622008C */ lwc1 $f2, 0x008C($s1) ## 0000008C -/* 01520 80A934C0 C42450F4 */ lwc1 $f4, %lo(D_80A950F4)($at) -/* 01524 80A934C4 4604103C */ c.lt.s $f2, $f4 -/* 01528 80A934C8 00000000 */ nop -/* 0152C 80A934CC 4502005F */ bc1fl .L80A9364C -/* 01530 80A934D0 86380176 */ lh $t8, 0x0176($s1) ## 00000176 -/* 01534 80A934D4 46001004 */ sqrt.s $f0, $f2 -/* 01538 80A934D8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0153C 80A934DC 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00 -/* 01540 80A934E0 3C0180A9 */ lui $at, %hi(D_80A950F8) ## $at = 80A90000 -/* 01544 80A934E4 C42650F8 */ lwc1 $f6, %lo(D_80A950F8)($at) -/* 01548 80A934E8 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 0154C 80A934EC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 01550 80A934F0 46005201 */ sub.s $f8, $f10, $f0 -/* 01554 80A934F4 44815000 */ mtc1 $at, $f10 ## $f10 = -1.00 -/* 01558 80A934F8 3C014780 */ lui $at, 0x4780 ## $at = 47800000 -/* 0155C 80A934FC 44816000 */ mtc1 $at, $f12 ## $f12 = 65536.00 -/* 01560 80A93500 46064102 */ mul.s $f4, $f8, $f6 -/* 01564 80A93504 E7A40088 */ swc1 $f4, 0x0088($sp) -/* 01568 80A93508 A22F0154 */ sb $t7, 0x0154($s1) ## 00000154 -/* 0156C 80A9350C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 01570 80A93510 E62A006C */ swc1 $f10, 0x006C($s1) ## 0000006C -/* 01574 80A93514 4600020D */ trunc.w.s $f8, $f0 -/* 01578 80A93518 922D0158 */ lbu $t5, 0x0158($s1) ## 00000158 -/* 0157C 80A9351C 44184000 */ mfc1 $t8, $f8 -/* 01580 80A93520 29A10004 */ slti $at, $t5, 0x0004 -/* 01584 80A93524 1420001B */ bne $at, $zero, .L80A93594 -/* 01588 80A93528 A6380032 */ sh $t8, 0x0032($s1) ## 00000032 -/* 0158C 80A9352C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 01590 80A93530 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 01594 80A93534 0C00CFBE */ jal Rand_ZeroFloat - -/* 01598 80A93538 00000000 */ nop -/* 0159C 80A9353C 4600018D */ trunc.w.s $f6, $f0 -/* 015A0 80A93540 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 015A4 80A93544 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 015A8 80A93548 440C3000 */ mfc1 $t4, $f6 -/* 015AC 80A9354C 00000000 */ nop -/* 015B0 80A93550 258E0006 */ addiu $t6, $t4, 0x0006 ## $t6 = 00000006 -/* 015B4 80A93554 0C00CFBE */ jal Rand_ZeroFloat - -/* 015B8 80A93558 A62E0176 */ sh $t6, 0x0176($s1) ## 00000176 -/* 015BC 80A9355C 4600010D */ trunc.w.s $f4, $f0 -/* 015C0 80A93560 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 015C4 80A93564 44815000 */ mtc1 $at, $f10 ## $f10 = 2.00 -/* 015C8 80A93568 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 015CC 80A9356C 440D2000 */ mfc1 $t5, $f4 -/* 015D0 80A93570 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 015D4 80A93574 25A90006 */ addiu $t1, $t5, 0x0006 ## $t1 = 00000006 -/* 015D8 80A93578 A6290178 */ sh $t1, 0x0178($s1) ## 00000178 -/* 015DC 80A9357C C7A80088 */ lwc1 $f8, 0x0088($sp) -/* 015E0 80A93580 46085180 */ add.s $f6, $f10, $f8 -/* 015E4 80A93584 0C00CFBE */ jal Rand_ZeroFloat - -/* 015E8 80A93588 E6260060 */ swc1 $f6, 0x0060($s1) ## 00000060 -/* 015EC 80A9358C 1000001A */ beq $zero, $zero, .L80A935F8 -/* 015F0 80A93590 E6200068 */ swc1 $f0, 0x0068($s1) ## 00000068 -.L80A93594: -/* 015F4 80A93594 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 015F8 80A93598 44816000 */ mtc1 $at, $f12 ## $f12 = 7.00 -/* 015FC 80A9359C 0C00CFBE */ jal Rand_ZeroFloat - -/* 01600 80A935A0 00000000 */ nop -/* 01604 80A935A4 4600010D */ trunc.w.s $f4, $f0 -/* 01608 80A935A8 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 0160C 80A935AC 44816000 */ mtc1 $at, $f12 ## $f12 = 7.00 -/* 01610 80A935B0 440E2000 */ mfc1 $t6, $f4 -/* 01614 80A935B4 00000000 */ nop -/* 01618 80A935B8 25CF0003 */ addiu $t7, $t6, 0x0003 ## $t7 = 00000003 -/* 0161C 80A935BC 0C00CFBE */ jal Rand_ZeroFloat - -/* 01620 80A935C0 A62F0176 */ sh $t7, 0x0176($s1) ## 00000176 -/* 01624 80A935C4 4600028D */ trunc.w.s $f10, $f0 -/* 01628 80A935C8 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 0162C 80A935CC 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00 -/* 01630 80A935D0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 01634 80A935D4 44095000 */ mfc1 $t1, $f10 -/* 01638 80A935D8 44816000 */ mtc1 $at, $f12 ## $f12 = 1.50 -/* 0163C 80A935DC 25390003 */ addiu $t9, $t1, 0x0003 ## $t9 = 00000003 -/* 01640 80A935E0 A6390178 */ sh $t9, 0x0178($s1) ## 00000178 -/* 01644 80A935E4 C7A60088 */ lwc1 $f6, 0x0088($sp) -/* 01648 80A935E8 46064100 */ add.s $f4, $f8, $f6 -/* 0164C 80A935EC 0C00CFBE */ jal Rand_ZeroFloat - -/* 01650 80A935F0 E6240060 */ swc1 $f4, 0x0060($s1) ## 00000060 -/* 01654 80A935F4 E6200068 */ swc1 $f0, 0x0068($s1) ## 00000068 -.L80A935F8: -/* 01658 80A935F8 3C0145C0 */ lui $at, 0x45C0 ## $at = 45C00000 -/* 0165C 80A935FC 44816000 */ mtc1 $at, $f12 ## $f12 = 6144.00 -/* 01660 80A93600 0C00CFC8 */ jal Rand_CenteredFloat - -/* 01664 80A93604 00000000 */ nop -/* 01668 80A93608 4600028D */ trunc.w.s $f10, $f0 -/* 0166C 80A9360C 440C5000 */ mfc1 $t4, $f10 -/* 01670 80A93610 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 01674 80A93614 A62C0170 */ sh $t4, 0x0170($s1) ## 00000170 -/* 01678 80A93618 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 0167C 80A9361C 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50 -/* 01680 80A93620 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 01684 80A93624 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF -/* 01688 80A93628 4608003C */ c.lt.s $f0, $f8 -/* 0168C 80A9362C 240B0046 */ addiu $t3, $zero, 0x0046 ## $t3 = 00000046 -/* 01690 80A93630 45020004 */ bc1fl .L80A93644 -/* 01694 80A93634 A62F0184 */ sh $t7, 0x0184($s1) ## 00000184 -/* 01698 80A93638 10000002 */ beq $zero, $zero, .L80A93644 -/* 0169C 80A9363C A62E0184 */ sh $t6, 0x0184($s1) ## 00000184 -/* 016A0 80A93640 A62F0184 */ sh $t7, 0x0184($s1) ## 00000184 -.L80A93644: -/* 016A4 80A93644 A62B0152 */ sh $t3, 0x0152($s1) ## 00000152 -/* 016A8 80A93648 86380176 */ lh $t8, 0x0176($s1) ## 00000176 -.L80A9364C: -/* 016AC 80A9364C 8FAD0104 */ lw $t5, 0x0104($sp) -/* 016B0 80A93650 17000080 */ bne $t8, $zero, .L80A93854 -/* 016B4 80A93654 00000000 */ nop -/* 016B8 80A93658 8DB01C4C */ lw $s0, 0x1C4C($t5) ## 00001C4C -/* 016BC 80A9365C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 016C0 80A93660 1200007C */ beq $s0, $zero, .L80A93854 -/* 016C4 80A93664 00000000 */ nop -/* 016C8 80A93668 44819000 */ mtc1 $at, $f18 ## $f18 = 100.00 -/* 016CC 80A9366C 00000000 */ nop -/* 016D0 80A93670 8609001C */ lh $t1, 0x001C($s0) ## 00000084 -.L80A93674: -/* 016D4 80A93674 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 016D8 80A93678 51210004 */ beql $t1, $at, .L80A9368C -/* 016DC 80A9367C C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024 -/* 016E0 80A93680 10000072 */ beq $zero, $zero, .L80A9384C -/* 016E4 80A93684 8E100124 */ lw $s0, 0x0124($s0) ## 0000018C -/* 016E8 80A93688 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024 -.L80A9368C: -/* 016EC 80A9368C C6040024 */ lwc1 $f4, 0x0024($s0) ## 0000008C -/* 016F0 80A93690 C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028 -/* 016F4 80A93694 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000090 -/* 016F8 80A93698 46043301 */ sub.s $f12, $f6, $f4 -/* 016FC 80A9369C C604002C */ lwc1 $f4, 0x002C($s0) ## 00000094 -/* 01700 80A936A0 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C -/* 01704 80A936A4 46085081 */ sub.s $f2, $f10, $f8 -/* 01708 80A936A8 460C6282 */ mul.s $f10, $f12, $f12 -/* 0170C 80A936AC 3C0180A9 */ lui $at, %hi(D_80A950FC) ## $at = 80A90000 -/* 01710 80A936B0 46043381 */ sub.s $f14, $f6, $f4 -/* 01714 80A936B4 46021202 */ mul.s $f8, $f2, $f2 -/* 01718 80A936B8 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 0171C 80A936BC 460E7102 */ mul.s $f4, $f14, $f14 -/* 01720 80A936C0 46085180 */ add.s $f6, $f10, $f8 -/* 01724 80A936C4 46043400 */ add.s $f16, $f6, $f4 -/* 01728 80A936C8 46008404 */ sqrt.s $f16, $f16 -/* 0172C 80A936CC 4612803C */ c.lt.s $f16, $f18 -/* 01730 80A936D0 00000000 */ nop -/* 01734 80A936D4 4502005D */ bc1fl .L80A9384C -/* 01738 80A936D8 8E100124 */ lw $s0, 0x0124($s0) ## 0000018C -/* 0173C 80A936DC 46109281 */ sub.s $f10, $f18, $f16 -/* 01740 80A936E0 C42850FC */ lwc1 $f8, %lo(D_80A950FC)($at) -/* 01744 80A936E4 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 01748 80A936E8 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00 -/* 0174C 80A936EC 46085182 */ mul.s $f6, $f10, $f8 -/* 01750 80A936F0 E7A60074 */ swc1 $f6, 0x0074($sp) -/* 01754 80A936F4 A2390154 */ sb $t9, 0x0154($s1) ## 00000154 -/* 01758 80A936F8 0C03F494 */ jal Math_FAtan2F -/* 0175C 80A936FC E624006C */ swc1 $f4, 0x006C($s1) ## 0000006C -/* 01760 80A93700 3C0180A9 */ lui $at, %hi(D_80A95100) ## $at = 80A90000 -/* 01764 80A93704 C42A5100 */ lwc1 $f10, %lo(D_80A95100)($at) -/* 01768 80A93708 922E0158 */ lbu $t6, 0x0158($s1) ## 00000158 -/* 0176C 80A9370C 460A0202 */ mul.s $f8, $f0, $f10 -/* 01770 80A93710 29C10004 */ slti $at, $t6, 0x0004 -/* 01774 80A93714 4600418D */ trunc.w.s $f6, $f8 -/* 01778 80A93718 440C3000 */ mfc1 $t4, $f6 -/* 0177C 80A9371C 1420001B */ bne $at, $zero, .L80A9378C -/* 01780 80A93720 A62C0032 */ sh $t4, 0x0032($s1) ## 00000032 -/* 01784 80A93724 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 01788 80A93728 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 0178C 80A9372C 0C00CFBE */ jal Rand_ZeroFloat - -/* 01790 80A93730 00000000 */ nop -/* 01794 80A93734 4600010D */ trunc.w.s $f4, $f0 -/* 01798 80A93738 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0179C 80A9373C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 017A0 80A93740 440D2000 */ mfc1 $t5, $f4 -/* 017A4 80A93744 00000000 */ nop -/* 017A8 80A93748 25A90006 */ addiu $t1, $t5, 0x0006 ## $t1 = 00000006 -/* 017AC 80A9374C 0C00CFBE */ jal Rand_ZeroFloat - -/* 017B0 80A93750 A6290176 */ sh $t1, 0x0176($s1) ## 00000176 -/* 017B4 80A93754 4600028D */ trunc.w.s $f10, $f0 -/* 017B8 80A93758 3C014020 */ lui $at, 0x4020 ## $at = 40200000 -/* 017BC 80A9375C 44814000 */ mtc1 $at, $f8 ## $f8 = 2.50 -/* 017C0 80A93760 C7A20074 */ lwc1 $f2, 0x0074($sp) -/* 017C4 80A93764 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 017C8 80A93768 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00 -/* 017CC 80A9376C 440E5000 */ mfc1 $t6, $f10 -/* 017D0 80A93770 46024180 */ add.s $f6, $f8, $f2 -/* 017D4 80A93774 25CF0006 */ addiu $t7, $t6, 0x0006 ## $t7 = 00000006 -/* 017D8 80A93778 46022280 */ add.s $f10, $f4, $f2 -/* 017DC 80A9377C A62F0178 */ sh $t7, 0x0178($s1) ## 00000178 -/* 017E0 80A93780 E6260060 */ swc1 $f6, 0x0060($s1) ## 00000060 -/* 017E4 80A93784 1000001A */ beq $zero, $zero, .L80A937F0 -/* 017E8 80A93788 E62A0068 */ swc1 $f10, 0x0068($s1) ## 00000068 -.L80A9378C: -/* 017EC 80A9378C 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 017F0 80A93790 44816000 */ mtc1 $at, $f12 ## $f12 = 7.00 -/* 017F4 80A93794 0C00CFBE */ jal Rand_ZeroFloat - -/* 017F8 80A93798 00000000 */ nop -/* 017FC 80A9379C 4600020D */ trunc.w.s $f8, $f0 -/* 01800 80A937A0 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 01804 80A937A4 44816000 */ mtc1 $at, $f12 ## $f12 = 7.00 -/* 01808 80A937A8 44094000 */ mfc1 $t1, $f8 -/* 0180C 80A937AC 00000000 */ nop -/* 01810 80A937B0 25390003 */ addiu $t9, $t1, 0x0003 ## $t9 = 00000003 -/* 01814 80A937B4 0C00CFBE */ jal Rand_ZeroFloat - -/* 01818 80A937B8 A6390176 */ sh $t9, 0x0176($s1) ## 00000176 -/* 0181C 80A937BC 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 01820 80A937C0 4600018D */ trunc.w.s $f6, $f0 -/* 01824 80A937C4 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00 -/* 01828 80A937C8 C7A20074 */ lwc1 $f2, 0x0074($sp) -/* 0182C 80A937CC 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 01830 80A937D0 44814000 */ mtc1 $at, $f8 ## $f8 = 4.00 -/* 01834 80A937D4 440F3000 */ mfc1 $t7, $f6 -/* 01838 80A937D8 46022280 */ add.s $f10, $f4, $f2 -/* 0183C 80A937DC 25EB0003 */ addiu $t3, $t7, 0x0003 ## $t3 = 00000003 -/* 01840 80A937E0 46024180 */ add.s $f6, $f8, $f2 -/* 01844 80A937E4 A62B0178 */ sh $t3, 0x0178($s1) ## 00000178 -/* 01848 80A937E8 E62A0060 */ swc1 $f10, 0x0060($s1) ## 00000060 -/* 0184C 80A937EC E6260068 */ swc1 $f6, 0x0068($s1) ## 00000068 -.L80A937F0: -/* 01850 80A937F0 3C0145C0 */ lui $at, 0x45C0 ## $at = 45C00000 -/* 01854 80A937F4 44816000 */ mtc1 $at, $f12 ## $f12 = 6144.00 -/* 01858 80A937F8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 0185C 80A937FC 00000000 */ nop -/* 01860 80A93800 4600010D */ trunc.w.s $f4, $f0 -/* 01864 80A93804 440D2000 */ mfc1 $t5, $f4 -/* 01868 80A93808 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 0186C 80A9380C A62D0170 */ sh $t5, 0x0170($s1) ## 00000170 -/* 01870 80A93810 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 01874 80A93814 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50 -/* 01878 80A93818 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0187C 80A9381C 44819000 */ mtc1 $at, $f18 ## $f18 = 100.00 -/* 01880 80A93820 460A003C */ c.lt.s $f0, $f10 -/* 01884 80A93824 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 01888 80A93828 2419FFFF */ addiu $t9, $zero, 0xFFFF ## $t9 = FFFFFFFF -/* 0188C 80A9382C 240A0046 */ addiu $t2, $zero, 0x0046 ## $t2 = 00000046 -/* 01890 80A93830 45020004 */ bc1fl .L80A93844 -/* 01894 80A93834 A6390184 */ sh $t9, 0x0184($s1) ## 00000184 -/* 01898 80A93838 10000002 */ beq $zero, $zero, .L80A93844 -/* 0189C 80A9383C A6290184 */ sh $t1, 0x0184($s1) ## 00000184 -/* 018A0 80A93840 A6390184 */ sh $t9, 0x0184($s1) ## 00000184 -.L80A93844: -/* 018A4 80A93844 A62A0152 */ sh $t2, 0x0152($s1) ## 00000152 -/* 018A8 80A93848 8E100124 */ lw $s0, 0x0124($s0) ## 0000018C -.L80A9384C: -/* 018AC 80A9384C 5600FF89 */ bnel $s0, $zero, .L80A93674 -/* 018B0 80A93850 8609001C */ lh $t1, 0x001C($s0) ## 00000084 -.L80A93854: -/* 018B4 80A93854 3C0480A9 */ lui $a0, %hi(D_80A9502C) ## $a0 = 80A90000 -/* 018B8 80A93858 0C00084C */ jal osSyncPrintf - -/* 018BC 80A9385C 2484502C */ addiu $a0, $a0, %lo(D_80A9502C) ## $a0 = 80A9502C -/* 018C0 80A93860 8FB00104 */ lw $s0, 0x0104($sp) -/* 018C4 80A93864 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 018C8 80A93868 3C0480A9 */ lui $a0, %hi(D_80A95034) ## $a0 = 80A90000 -/* 018CC 80A9386C 02018021 */ addu $s0, $s0, $at -/* 018D0 80A93870 960504C6 */ lhu $a1, 0x04C6($s0) ## 0000052E -/* 018D4 80A93874 0C00084C */ jal osSyncPrintf - -/* 018D8 80A93878 24845034 */ addiu $a0, $a0, %lo(D_80A95034) ## $a0 = 80A95034 -/* 018DC 80A9387C 3C0480A9 */ lui $a0, %hi(D_80A95048) ## $a0 = 80A90000 -/* 018E0 80A93880 0C00084C */ jal osSyncPrintf - -/* 018E4 80A93884 24845048 */ addiu $a0, $a0, %lo(D_80A95048) ## $a0 = 80A95048 -/* 018E8 80A93888 9223019E */ lbu $v1, 0x019E($s1) ## 0000019E -/* 018EC 80A9388C 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 018F0 80A93890 50600006 */ beql $v1, $zero, .L80A938AC -/* 018F4 80A93894 960C04C6 */ lhu $t4, 0x04C6($s0) ## 0000052E -/* 018F8 80A93898 5068000B */ beql $v1, $t0, .L80A938C8 -/* 018FC 80A9389C 960F04C6 */ lhu $t7, 0x04C6($s0) ## 0000052E -/* 01900 80A938A0 100000B5 */ beq $zero, $zero, .L80A93B78 -/* 01904 80A938A4 8FBF003C */ lw $ra, 0x003C($sp) -/* 01908 80A938A8 960C04C6 */ lhu $t4, 0x04C6($s0) ## 0000052E -.L80A938AC: -/* 0190C 80A938AC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 01910 80A938B0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 01914 80A938B4 558100B0 */ bnel $t4, $at, .L80A93B78 -/* 01918 80A938B8 8FBF003C */ lw $ra, 0x003C($sp) -/* 0191C 80A938BC 100000AD */ beq $zero, $zero, .L80A93B74 -/* 01920 80A938C0 A22E019E */ sb $t6, 0x019E($s1) ## 0000019E -/* 01924 80A938C4 960F04C6 */ lhu $t7, 0x04C6($s0) ## 0000052E -.L80A938C8: -/* 01928 80A938C8 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 0192C 80A938CC 55E100AA */ bnel $t7, $at, .L80A93B78 -/* 01930 80A938D0 8FBF003C */ lw $ra, 0x003C($sp) -/* 01934 80A938D4 960B04CA */ lhu $t3, 0x04CA($s0) ## 00000532 -/* 01938 80A938D8 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008 -/* 0193C 80A938DC 3C078013 */ lui $a3, %hi(D_801333E0) -/* 01940 80A938E0 156100A4 */ bne $t3, $at, .L80A93B74 -/* 01944 80A938E4 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 01948 80A938E8 24180005 */ addiu $t8, $zero, 0x0005 ## $t8 = 00000005 -/* 0194C 80A938EC 3C0D8013 */ lui $t5, %hi(D_801333E8) -/* 01950 80A938F0 A2380154 */ sb $t8, 0x0154($s1) ## 00000154 -/* 01954 80A938F4 A6280176 */ sh $t0, 0x0176($s1) ## 00000176 -/* 01958 80A938F8 25AD33E8 */ addiu $t5, %lo(D_801333E8) -/* 0195C 80A938FC 3C058013 */ lui $a1, %hi(D_801333D4) -/* 01960 80A93900 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 01964 80A93904 AFAD0014 */ sw $t5, 0x0014($sp) -/* 01968 80A93908 AFA70010 */ sw $a3, 0x0010($sp) -/* 0196C 80A9390C 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807 -/* 01970 80A93910 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 01974 80A93914 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 01978 80A93918 10000097 */ beq $zero, $zero, .L80A93B78 -/* 0197C 80A9391C 8FBF003C */ lw $ra, 0x003C($sp) -glabel L80A93920 -/* 01980 80A93920 8E300118 */ lw $s0, 0x0118($s1) ## 00000118 -/* 01984 80A93924 3401FFFF */ ori $at, $zero, 0xFFFF ## $at = 0000FFFF -/* 01988 80A93928 96090156 */ lhu $t1, 0x0156($s0) ## 000001BE -/* 0198C 80A9392C 55210004 */ bnel $t1, $at, .L80A93940 -/* 01990 80A93930 861900B6 */ lh $t9, 0x00B6($s0) ## 0000011E -/* 01994 80A93934 0C00B55C */ jal Actor_Kill - -/* 01998 80A93938 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0199C 80A9393C 861900B6 */ lh $t9, 0x00B6($s0) ## 0000011E -.L80A93940: -/* 019A0 80A93940 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 019A4 80A93944 44812000 */ mtc1 $at, $f4 ## $f4 = 32768.00 -/* 019A8 80A93948 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00 -/* 019AC 80A9394C 3C0180A9 */ lui $at, %hi(D_80A95104) ## $at = 80A90000 -/* 019B0 80A93950 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 019B4 80A93954 468041A0 */ cvt.s.w $f6, $f8 -/* 019B8 80A93958 C4285104 */ lwc1 $f8, %lo(D_80A95104)($at) -/* 019BC 80A9395C 46043283 */ div.s $f10, $f6, $f4 -/* 019C0 80A93960 46085302 */ mul.s $f12, $f10, $f8 -/* 019C4 80A93964 0C034348 */ jal Matrix_RotateY -/* 019C8 80A93968 00000000 */ nop -/* 019CC 80A9396C 922A0195 */ lbu $t2, 0x0195($s1) ## 00000195 -/* 019D0 80A93970 3C0E80A9 */ lui $t6, %hi(D_80A944D4) ## $t6 = 80A90000 -/* 019D4 80A93974 25CE44D4 */ addiu $t6, $t6, %lo(D_80A944D4) ## $t6 = 80A944D4 -/* 019D8 80A93978 000A6080 */ sll $t4, $t2, 2 -/* 019DC 80A9397C 018A6023 */ subu $t4, $t4, $t2 -/* 019E0 80A93980 000C6080 */ sll $t4, $t4, 2 -/* 019E4 80A93984 018E2021 */ addu $a0, $t4, $t6 -/* 019E8 80A93988 0C0346BD */ jal Matrix_MultVec3f -/* 019EC 80A9398C 27A500DC */ addiu $a1, $sp, 0x00DC ## $a1 = FFFFFFDC -/* 019F0 80A93990 C6060024 */ lwc1 $f6, 0x0024($s0) ## 0000008C -/* 019F4 80A93994 C7A400DC */ lwc1 $f4, 0x00DC($sp) -/* 019F8 80A93998 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 019FC 80A9399C 26240024 */ addiu $a0, $s1, 0x0024 ## $a0 = 00000024 -/* 01A00 80A939A0 46043280 */ add.s $f10, $f6, $f4 -/* 01A04 80A939A4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01A08 80A939A8 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000 -/* 01A0C 80A939AC E7A80010 */ swc1 $f8, 0x0010($sp) -/* 01A10 80A939B0 44055000 */ mfc1 $a1, $f10 -/* 01A14 80A939B4 0C01E0C4 */ jal Math_SmoothStepToF - -/* 01A18 80A939B8 00000000 */ nop -/* 01A1C 80A939BC E7A00070 */ swc1 $f0, 0x0070($sp) -/* 01A20 80A939C0 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000090 -/* 01A24 80A939C4 C7A400E0 */ lwc1 $f4, 0x00E0($sp) -/* 01A28 80A939C8 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 01A2C 80A939CC 26240028 */ addiu $a0, $s1, 0x0028 ## $a0 = 00000028 -/* 01A30 80A939D0 46043280 */ add.s $f10, $f6, $f4 -/* 01A34 80A939D4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01A38 80A939D8 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000 -/* 01A3C 80A939DC E7A80010 */ swc1 $f8, 0x0010($sp) -/* 01A40 80A939E0 44055000 */ mfc1 $a1, $f10 -/* 01A44 80A939E4 0C01E0C4 */ jal Math_SmoothStepToF - -/* 01A48 80A939E8 00000000 */ nop -/* 01A4C 80A939EC E7A0006C */ swc1 $f0, 0x006C($sp) -/* 01A50 80A939F0 C606002C */ lwc1 $f6, 0x002C($s0) ## 00000094 -/* 01A54 80A939F4 C7A400E4 */ lwc1 $f4, 0x00E4($sp) -/* 01A58 80A939F8 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 01A5C 80A939FC 2624002C */ addiu $a0, $s1, 0x002C ## $a0 = 0000002C -/* 01A60 80A93A00 46043280 */ add.s $f10, $f6, $f4 -/* 01A64 80A93A04 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01A68 80A93A08 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000 -/* 01A6C 80A93A0C E7A80010 */ swc1 $f8, 0x0010($sp) -/* 01A70 80A93A10 44055000 */ mfc1 $a1, $f10 -/* 01A74 80A93A14 0C01E0C4 */ jal Math_SmoothStepToF - -/* 01A78 80A93A18 00000000 */ nop -/* 01A7C 80A93A1C E7A00068 */ swc1 $f0, 0x0068($sp) -/* 01A80 80A93A20 860500B4 */ lh $a1, 0x00B4($s0) ## 0000011C -/* 01A84 80A93A24 AFA00010 */ sw $zero, 0x0010($sp) -/* 01A88 80A93A28 262400B4 */ addiu $a0, $s1, 0x00B4 ## $a0 = 000000B4 -/* 01A8C 80A93A2C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 01A90 80A93A30 0C01E1A7 */ jal Math_SmoothStepToS - -/* 01A94 80A93A34 24070200 */ addiu $a3, $zero, 0x0200 ## $a3 = 00000200 -/* 01A98 80A93A38 A7A20066 */ sh $v0, 0x0066($sp) -/* 01A9C 80A93A3C 860500B6 */ lh $a1, 0x00B6($s0) ## 0000011E -/* 01AA0 80A93A40 AFA00010 */ sw $zero, 0x0010($sp) -/* 01AA4 80A93A44 262400B6 */ addiu $a0, $s1, 0x00B6 ## $a0 = 000000B6 -/* 01AA8 80A93A48 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 01AAC 80A93A4C 0C01E1A7 */ jal Math_SmoothStepToS - -/* 01AB0 80A93A50 24070200 */ addiu $a3, $zero, 0x0200 ## $a3 = 00000200 -/* 01AB4 80A93A54 A7A20064 */ sh $v0, 0x0064($sp) -/* 01AB8 80A93A58 860500B8 */ lh $a1, 0x00B8($s0) ## 00000120 -/* 01ABC 80A93A5C AFA00010 */ sw $zero, 0x0010($sp) -/* 01AC0 80A93A60 262400B8 */ addiu $a0, $s1, 0x00B8 ## $a0 = 000000B8 -/* 01AC4 80A93A64 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 01AC8 80A93A68 0C01E1A7 */ jal Math_SmoothStepToS - -/* 01ACC 80A93A6C 24070200 */ addiu $a3, $zero, 0x0200 ## $a3 = 00000200 -/* 01AD0 80A93A70 A7A20062 */ sh $v0, 0x0062($sp) -/* 01AD4 80A93A74 26240168 */ addiu $a0, $s1, 0x0168 ## $a0 = 00000168 -/* 01AD8 80A93A78 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 01ADC 80A93A7C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 01AE0 80A93A80 0C01E1EF */ jal Math_ApproachS - -/* 01AE4 80A93A84 24070200 */ addiu $a3, $zero, 0x0200 ## $a3 = 00000200 -/* 01AE8 80A93A88 2624016C */ addiu $a0, $s1, 0x016C ## $a0 = 0000016C -/* 01AEC 80A93A8C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 01AF0 80A93A90 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 01AF4 80A93A94 0C01E1EF */ jal Math_ApproachS - -/* 01AF8 80A93A98 24070200 */ addiu $a3, $zero, 0x0200 ## $a3 = 00000200 -/* 01AFC 80A93A9C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000 -/* 01B00 80A93AA0 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD -/* 01B04 80A93AA4 26240188 */ addiu $a0, $s1, 0x0188 ## $a0 = 00000188 -/* 01B08 80A93AA8 0C01E123 */ jal Math_ApproachZeroF - -/* 01B0C 80A93AAC 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000 -/* 01B10 80A93AB0 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000 -/* 01B14 80A93AB4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD -/* 01B18 80A93AB8 26240190 */ addiu $a0, $s1, 0x0190 ## $a0 = 00000190 -/* 01B1C 80A93ABC 0C01E123 */ jal Math_ApproachZeroF - -/* 01B20 80A93AC0 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000 -/* 01B24 80A93AC4 262400BC */ addiu $a0, $s1, 0x00BC ## $a0 = 000000BC -/* 01B28 80A93AC8 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000 -/* 01B2C 80A93ACC 0C01E123 */ jal Math_ApproachZeroF - -/* 01B30 80A93AD0 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000 -/* 01B34 80A93AD4 C7A60070 */ lwc1 $f6, 0x0070($sp) -/* 01B38 80A93AD8 C7A4006C */ lwc1 $f4, 0x006C($sp) -/* 01B3C 80A93ADC C7A80068 */ lwc1 $f8, 0x0068($sp) -/* 01B40 80A93AE0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 01B44 80A93AE4 46043280 */ add.s $f10, $f6, $f4 -/* 01B48 80A93AE8 87AF0066 */ lh $t7, 0x0066($sp) -/* 01B4C 80A93AEC 87AB0064 */ lh $t3, 0x0064($sp) -/* 01B50 80A93AF0 87AD0062 */ lh $t5, 0x0062($sp) -/* 01B54 80A93AF4 46085180 */ add.s $f6, $f10, $f8 -/* 01B58 80A93AF8 01EBC021 */ addu $t8, $t7, $t3 -/* 01B5C 80A93AFC 46060032 */ c.eq.s $f0, $f6 -/* 01B60 80A93B00 00000000 */ nop -/* 01B64 80A93B04 4502001C */ bc1fl .L80A93B78 -/* 01B68 80A93B08 8FBF003C */ lw $ra, 0x003C($sp) -/* 01B6C 80A93B0C 86390168 */ lh $t9, 0x0168($s1) ## 00000168 -/* 01B70 80A93B10 862C016C */ lh $t4, 0x016C($s1) ## 0000016C -/* 01B74 80A93B14 030D4821 */ addu $t1, $t8, $t5 -/* 01B78 80A93B18 01395021 */ addu $t2, $t1, $t9 -/* 01B7C 80A93B1C 014C7021 */ addu $t6, $t2, $t4 -/* 01B80 80A93B20 55C00015 */ bnel $t6, $zero, .L80A93B78 -/* 01B84 80A93B24 8FBF003C */ lw $ra, 0x003C($sp) -/* 01B88 80A93B28 C6240188 */ lwc1 $f4, 0x0188($s1) ## 00000188 -/* 01B8C 80A93B2C 46040032 */ c.eq.s $f0, $f4 -/* 01B90 80A93B30 00000000 */ nop -/* 01B94 80A93B34 45020010 */ bc1fl .L80A93B78 -/* 01B98 80A93B38 8FBF003C */ lw $ra, 0x003C($sp) -/* 01B9C 80A93B3C C62A0190 */ lwc1 $f10, 0x0190($s1) ## 00000190 -/* 01BA0 80A93B40 460A0032 */ c.eq.s $f0, $f10 -/* 01BA4 80A93B44 00000000 */ nop -/* 01BA8 80A93B48 4502000B */ bc1fl .L80A93B78 -/* 01BAC 80A93B4C 8FBF003C */ lw $ra, 0x003C($sp) -/* 01BB0 80A93B50 960F0156 */ lhu $t7, 0x0156($s0) ## 000001BE -/* 01BB4 80A93B54 962B0156 */ lhu $t3, 0x0156($s1) ## 00000156 -/* 01BB8 80A93B58 8E0D0004 */ lw $t5, 0x0004($s0) ## 0000006C -/* 01BBC 80A93B5C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01BC0 80A93B60 01EBC025 */ or $t8, $t7, $t3 ## $t8 = 00000000 -/* 01BC4 80A93B64 35A90001 */ ori $t1, $t5, 0x0001 ## $t1 = 00000001 -/* 01BC8 80A93B68 A6180156 */ sh $t8, 0x0156($s0) ## 000001BE -/* 01BCC 80A93B6C 0C00B55C */ jal Actor_Kill - -/* 01BD0 80A93B70 AE090004 */ sw $t1, 0x0004($s0) ## 0000006C -.L80A93B74: -/* 01BD4 80A93B74 8FBF003C */ lw $ra, 0x003C($sp) -.L80A93B78: -/* 01BD8 80A93B78 8FB00034 */ lw $s0, 0x0034($sp) -/* 01BDC 80A93B7C 8FB10038 */ lw $s1, 0x0038($sp) -/* 01BE0 80A93B80 03E00008 */ jr $ra -/* 01BE4 80A93B84 27BD0100 */ addiu $sp, $sp, 0x0100 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kanban/func_80A91FA0.s b/asm/non_matchings/overlays/actors/ovl_En_Kanban/func_80A91FA0.s deleted file mode 100644 index e5adeced16..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kanban/func_80A91FA0.s +++ /dev/null @@ -1,53 +0,0 @@ -.late_rodata -glabel D_80A950C4 - .word 0x38000100 - -.text -glabel func_80A91FA0 -/* 00000 80A91FA0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00004 80A91FA4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00008 80A91FA8 AFA40020 */ sw $a0, 0x0020($sp) -/* 0000C 80A91FAC 8C820078 */ lw $v0, 0x0078($a0) ## 00000078 -/* 00010 80A91FB0 50400026 */ beql $v0, $zero, .L80A9204C -/* 00014 80A91FB4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00018 80A91FB8 844F0008 */ lh $t7, 0x0008($v0) ## 00000008 -/* 0001C 80A91FBC 3C0180A9 */ lui $at, %hi(D_80A950C4) ## $at = 80A90000 -/* 00020 80A91FC0 C42250C4 */ lwc1 $f2, %lo(D_80A950C4)($at) -/* 00024 80A91FC4 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 00028 80A91FC8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0002C 80A91FCC 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 00030 80A91FD0 468021A0 */ cvt.s.w $f6, $f4 -/* 00034 80A91FD4 46023202 */ mul.s $f8, $f6, $f2 -/* 00038 80A91FD8 E7A8001C */ swc1 $f8, 0x001C($sp) -/* 0003C 80A91FDC 8458000A */ lh $t8, 0x000A($v0) ## 0000000A -/* 00040 80A91FE0 8459000C */ lh $t9, 0x000C($v0) ## 0000000C -/* 00044 80A91FE4 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00 -/* 00048 80A91FE8 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00 -/* 0004C 80A91FEC 468054A0 */ cvt.s.w $f18, $f10 -/* 00050 80A91FF0 468021A0 */ cvt.s.w $f6, $f4 -/* 00054 80A91FF4 46029402 */ mul.s $f16, $f18, $f2 -/* 00058 80A91FF8 00000000 */ nop -/* 0005C 80A91FFC 46023002 */ mul.s $f0, $f6, $f2 -/* 00060 80A92000 E7B00018 */ swc1 $f16, 0x0018($sp) -/* 00064 80A92004 46000207 */ neg.s $f8, $f0 -/* 00068 80A92008 46104302 */ mul.s $f12, $f8, $f16 -/* 0006C 80A9200C 0C03F494 */ jal Math_FAtan2F -/* 00070 80A92010 00000000 */ nop -/* 00074 80A92014 8FA80020 */ lw $t0, 0x0020($sp) -/* 00078 80A92018 46000287 */ neg.s $f10, $f0 -/* 0007C 80A9201C C7B00018 */ lwc1 $f16, 0x0018($sp) -/* 00080 80A92020 E50A0188 */ swc1 $f10, 0x0188($t0) ## 00000188 -/* 00084 80A92024 C7B2001C */ lwc1 $f18, 0x001C($sp) -/* 00088 80A92028 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0008C 80A9202C 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 00090 80A92030 46009107 */ neg.s $f4, $f18 -/* 00094 80A92034 46102302 */ mul.s $f12, $f4, $f16 -/* 00098 80A92038 0C03F494 */ jal Math_FAtan2F -/* 0009C 80A9203C 00000000 */ nop -/* 000A0 80A92040 8FA90020 */ lw $t1, 0x0020($sp) -/* 000A4 80A92044 E5200190 */ swc1 $f0, 0x0190($t1) ## 00000190 -/* 000A8 80A92048 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9204C: -/* 000AC 80A9204C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 000B0 80A92050 03E00008 */ jr $ra -/* 000B4 80A92054 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kanban/func_80A921C0.s b/asm/non_matchings/overlays/actors/ovl_En_Kanban/func_80A921C0.s deleted file mode 100644 index 71e103a906..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kanban/func_80A921C0.s +++ /dev/null @@ -1,53 +0,0 @@ -glabel func_80A921C0 -/* 00220 80A921C0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00224 80A921C4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00228 80A921C8 908E019C */ lbu $t6, 0x019C($a0) ## 0000019C -/* 0022C 80A921CC 15C0001F */ bne $t6, $zero, .L80A9224C -/* 00230 80A921D0 00000000 */ nop -/* 00234 80A921D4 9082019D */ lbu $v0, 0x019D($a0) ## 0000019D -/* 00238 80A921D8 1440001A */ bne $v0, $zero, .L80A92244 -/* 0023C 80A921DC 2448FFFF */ addiu $t0, $v0, 0xFFFF ## $t0 = FFFFFFFF -/* 00240 80A921E0 848F008A */ lh $t7, 0x008A($a0) ## 0000008A -/* 00244 80A921E4 849800B6 */ lh $t8, 0x00B6($a0) ## 000000B6 -/* 00248 80A921E8 01F81023 */ subu $v0, $t7, $t8 -/* 0024C 80A921EC 00021400 */ sll $v0, $v0, 16 -/* 00250 80A921F0 00021403 */ sra $v0, $v0, 16 -/* 00254 80A921F4 04400003 */ bltz $v0, .L80A92204 -/* 00258 80A921F8 00021823 */ subu $v1, $zero, $v0 -/* 0025C 80A921FC 10000001 */ beq $zero, $zero, .L80A92204 -/* 00260 80A92200 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000 -.L80A92204: -/* 00264 80A92204 28612800 */ slti $at, $v1, 0x2800 -/* 00268 80A92208 50200018 */ beql $at, $zero, .L80A9226C -/* 0026C 80A9220C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00270 80A92210 AFA40018 */ sw $a0, 0x0018($sp) -/* 00274 80A92214 0C00BC65 */ jal func_8002F194 -/* 00278 80A92218 AFA5001C */ sw $a1, 0x001C($sp) -/* 0027C 80A9221C 8FA40018 */ lw $a0, 0x0018($sp) -/* 00280 80A92220 10400004 */ beq $v0, $zero, .L80A92234 -/* 00284 80A92224 8FA5001C */ lw $a1, 0x001C($sp) -/* 00288 80A92228 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 0028C 80A9222C 1000000E */ beq $zero, $zero, .L80A92268 -/* 00290 80A92230 A099019C */ sb $t9, 0x019C($a0) ## 0000019C -.L80A92234: -/* 00294 80A92234 0C00BCB3 */ jal func_8002F2CC -/* 00298 80A92238 3C064288 */ lui $a2, 0x4288 ## $a2 = 42880000 -/* 0029C 80A9223C 1000000B */ beq $zero, $zero, .L80A9226C -/* 002A0 80A92240 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A92244: -/* 002A4 80A92244 10000008 */ beq $zero, $zero, .L80A92268 -/* 002A8 80A92248 A088019D */ sb $t0, 0x019D($a0) ## 0000019D -.L80A9224C: -/* 002AC 80A9224C 0C00BCCD */ jal func_8002F334 -/* 002B0 80A92250 AFA40018 */ sw $a0, 0x0018($sp) -/* 002B4 80A92254 10400004 */ beq $v0, $zero, .L80A92268 -/* 002B8 80A92258 8FA40018 */ lw $a0, 0x0018($sp) -/* 002BC 80A9225C 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014 -/* 002C0 80A92260 A080019C */ sb $zero, 0x019C($a0) ## 0000019C -/* 002C4 80A92264 A089019D */ sb $t1, 0x019D($a0) ## 0000019D -.L80A92268: -/* 002C8 80A92268 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9226C: -/* 002CC 80A9226C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 002D0 80A92270 03E00008 */ jr $ra -/* 002D4 80A92274 00000000 */ nop diff --git a/data/overlays/actors/z_en_kanban.data.s b/data/overlays/actors/z_en_kanban.data.s deleted file mode 100644 index b1ece5d452..0000000000 --- a/data/overlays/actors/z_en_kanban.data.s +++ /dev/null @@ -1,44 +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_Kanban_InitVars - .word 0x01410600, 0x00000019, 0x012F0000, 0x000001EC -.word EnKanban_Init -.word EnKanban_Destroy -.word EnKanban_Update -.word EnKanban_Draw -glabel D_80A94490 - .word 0x0A110939, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x01010100, 0x00140032, 0x00050000, 0x00000000 -glabel D_80A944BC - .word 0x00010002, 0x00040008, 0x00100020, 0x00400080, 0x01000200, 0x04000000 -glabel D_80A944D4 - .word 0x00000000, 0x42300000, 0x00000000, 0x00000000, 0x42480000, 0x00000000, 0x00000000, 0x42180000, 0x00000000, 0x41200000, 0x42300000, 0x00000000, 0xC1200000, 0x42300000, 0x00000000, 0xC1200000, 0x42480000, 0x00000000, 0x41200000, 0x42480000, 0x00000000, 0xC1200000, 0x42180000, 0x00000000, 0x41200000, 0x42180000, 0x00000000, 0xC0F00000, 0x424C0000, 0x00000000, 0xC1480000, 0x42400000, 0x00000000, 0xC1480000, 0x42200000, 0x00000000, 0xC0F00000, 0x42140000, 0x00000000, 0x40F00000, 0x424C0000, 0x00000000, 0x41480000, 0x42400000, 0x00000000, 0x41480000, 0x42200000, 0x00000000, 0x40F00000, 0x42140000, 0x00000000, 0x00000000, 0x42480000, 0x00000000, 0x00000000, 0x42180000, 0x00000000 -glabel D_80A945B8 - .word 0x44BB8000, 0x447A0000, 0x00000000, 0x44BB8000, 0x43FA0000, 0x00000000, 0x44BB8000, 0x43FA0000, 0x00000000, 0x442F0000, 0x447A0000, 0x00000000, 0x442F0000, 0x447A0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x442F0000, 0x43FA0000, 0x00000000, 0x43480000, 0x43FA0000, 0x00000000, 0x43480000, 0x43FA0000, 0x00000000 -glabel D_80A9469C - .word 0x01010404, 0x02020202, 0x02020202, 0x00000000, 0x01010101, 0x02020000, 0x00000000 -glabel D_80A946B8 - .word 0x03FF0027, 0x014B0147, 0x015900D8 -glabel D_80A946C4 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80A946D0 - .word 0x06000CB0, 0x06000DB8, 0x06000E78, 0x06000F38, 0x06000FF8, 0x060010B8, 0x060011C0, 0x060012C8, 0x060013D0, 0x06001488, 0x06001540 -glabel D_80A946FC - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01000100, 0x01000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01000100, 0x01000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01000100, 0x01000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x01010101, 0x01400140, 0x00400040, 0x00400040, 0x00400040, 0x00400040, 0x00400040, 0x00400040, 0x00400040, 0x00020002, 0x00020001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x01010101, 0x01400140, 0x00400040, 0x00400040, 0x00400040, 0x00400040, 0x00400040, 0x00400008, 0x00080008, 0x00020002, 0x00020002, 0x00020002, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x01010101, 0x01400140, 0x00400040, 0x00400040, 0x00400040, 0x00400040, 0x00080008, 0x00080008, 0x00080008, 0x00020002, 0x00020002, 0x00020002, 0x00020002, 0x00020001, 0x00010001, 0x00010001, 0x01010101, 0x01400140, 0x00400040, 0x00400040, 0x00400008, 0x00080008, 0x00080008, 0x00080008, 0x00080008, 0x00020002, 0x00020002, 0x00020002, 0x00020002, 0x00020002, 0x00020002, 0x00010001, 0x01010101, 0x01400140, 0x00400040, 0x00080008, 0x00080008, 0x00080008, 0x00080008, 0x00080008, 0x00080008, 0x00020002, 0x00020002, 0x00020002, 0x00020002, 0x00020002, 0x00020002, 0x00020002, 0x01020301, 0x03400108, 0x00080008, 0x00080008, 0x00080008, 0x00080008, 0x00080008, 0x00080008, 0x00080008, 0x00040004, 0x00040004, 0x00040004, 0x00040004, 0x00040004, 0x00040004, 0x00040004, 0x02040220, 0x02800210, 0x00100010, 0x00100010, 0x00100010, 0x00100010, 0x00100010, 0x00100010, 0x00100010, 0x00040004, 0x00040004, 0x00040004, 0x00040004, 0x00040004, 0x00040004, 0x00200020, 0x02200220, 0x02800280, 0x00800080, 0x00100010, 0x00100010, 0x00100010, 0x00100010, 0x00100010, 0x00100010, 0x00040004, 0x00040004, 0x00040004, 0x00040004, 0x00040020, 0x00200020, 0x00200020, 0x02200220, 0x02800280, 0x00800080, 0x00800080, 0x00800010, 0x00100010, 0x00100010, 0x00100010, 0x00100010, 0x00040004, 0x00040004, 0x00040004, 0x00200020, 0x00200020, 0x00200020, 0x00200020, 0x02200220, 0x02800280, 0x00800080, 0x00800080, 0x00800080, 0x00800080, 0x00100010, 0x00100010, 0x00100010, 0x00040004, 0x00040020, 0x00200020, 0x00200020, 0x00200020, 0x00200020, 0x00200020, 0x02200220, 0x02800280, 0x00800080, 0x00800080, 0x00800080, 0x00800080, 0x00800080, 0x00800010, 0x00100010, 0x00200020, 0x00200020, 0x00200020, 0x00200020, 0x00200020, 0x00200020, 0x00200020, 0x02200620, 0x06800280, 0x00800080, 0x00800080, 0x00800080, 0x00800080, 0x00800080, 0x00800080, 0x00800080, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000400, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_80A94EFC - .word 0x3FC90FDB, 0x00000000, 0x3FC90FDB, 0x4004B36D, 0x3F88B8DD, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_80A94F20 - .word 0xF8300000, 0x00000000, 0x00000400, 0xFFFFFFFF, 0x07D00000, 0x00000000, 0x04000400, 0xFFFFFFFF, 0x07D01770, 0x00000000, 0x04000000, 0xFFFFFFFF, 0xF8301770, 0x00000000, 0x00000000, 0xFFFFFFFF -glabel D_80A94F60 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000, 0x08000000, 0xF5900000, 0x07098260, 0xE6000000, 0x00000000, 0xF3000000, 0x071FF200, 0xE7000000, 0x00000000, 0xF5880800, 0x00098260, 0xF2000000, 0x0007C07C, 0xFC3097FF, 0xFFFFFE38, 0xE200001C, 0x0C184F50, 0xD9F0FBFF, 0x00000000, 0x01004008 -.word D_80A94F20 -.word 0x06000204, 0x00000406, 0xDF000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_kanban.reloc.s b/data/overlays/actors/z_en_kanban.reloc.s deleted file mode 100644 index 448011fd89..0000000000 --- a/data/overlays/actors/z_en_kanban.reloc.s +++ /dev/null @@ -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_80A95140 - .incbin "baserom/ovl_En_Kanban", 0x31A0, 0x00000210 diff --git a/spec b/spec index 52b286c2f3..b08dc200f8 100644 --- a/spec +++ b/spec @@ -2600,8 +2600,7 @@ endseg beginseg name "ovl_En_Kanban" include "build/src/overlays/actors/ovl_En_Kanban/z_en_kanban.o" - include "build/data/overlays/actors/z_en_kanban.data.o" - include "build/data/overlays/actors/z_en_kanban.reloc.o" + include "build/src/overlays/actors/ovl_En_Kanban/ovl_En_Kanban_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c index 1470bfc030..1b46324b8b 100644 --- a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c +++ b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c @@ -1,19 +1,84 @@ +/* + * File: z_en_kanban.c + * Overlay: ovl_En_Kanban + * Description: Cuttable square sign + */ + #include "z_en_kanban.h" +#include "vt.h" #define FLAGS 0x00000019 #define THIS ((EnKanban*)thisx) +#define PART_UPPER_LEFT (1 << 0) +#define PART_LEFT_UPPER (1 << 1) +#define PART_LEFT_LOWER (1 << 2) +#define PART_RIGHT_UPPER (1 << 3) +#define PART_RIGHT_LOWER (1 << 4) +#define PART_LOWER_LEFT (1 << 5) +#define PART_UPPER_RIGHT (1 << 6) +#define PART_LOWER_RIGHT (1 << 7) +#define PART_POST_UPPER (1 << 8) +#define PART_POST_LOWER (1 << 9) +#define PART_POST_STAND (1 << 10) +#define LEFT_HALF (PART_UPPER_LEFT | PART_LEFT_UPPER | PART_LEFT_LOWER | PART_LOWER_LEFT) +#define RIGHT_HALF (PART_UPPER_RIGHT | PART_RIGHT_UPPER | PART_RIGHT_LOWER | PART_LOWER_RIGHT) +#define UPPER_HALF (PART_POST_UPPER | PART_UPPER_RIGHT | PART_RIGHT_UPPER | PART_UPPER_LEFT | PART_LEFT_UPPER) +#define UPPERLEFT_HALF (PART_POST_UPPER | PART_UPPER_RIGHT | PART_LEFT_LOWER | PART_UPPER_LEFT | PART_LEFT_UPPER) +#define UPPERRIGHT_HALF (PART_POST_UPPER | PART_UPPER_RIGHT | PART_RIGHT_UPPER | PART_UPPER_LEFT | PART_RIGHT_LOWER) +#define ALL_PARTS (LEFT_HALF | RIGHT_HALF | PART_POST_UPPER | PART_POST_LOWER) + +typedef enum { + ENKANBAN_SIGN, + ENKANBAN_AIR, + ENKANBAN_UNUSED, + ENKANBAN_GROUND, + ENKANBAN_WATER, + ENKANBAN_REPAIR +} EnKanbanActionState; + +typedef enum { + PIECE_WHOLE_SIGN, + PIECE_UPPER_HALF, + PIECE_LOWER_HALF, + PIECE_RIGHT_HALF, + PIECE_LEFT_HALF, + PIECE_2ND_QUAD, + PIECE_1ST_QUAD, + PIECE_3RD_QUAD, + PIECE_4TH_QUAD, + PIECE_UPPER_LEFT, + PIECE_LEFT_UPPER, + PIECE_LEFT_LOWER, + PIECE_LOWER_LEFT, + PIECE_UPPER_RIGHT, + PIECE_RIGHT_UPPER, + PIECE_RIGHT_LOWER, + PIECE_LOWER_RIGHT, + PIECE_POST_UPPER, + PIECE_POST_LOWER, + PIECE_OTHER = 100 +} EnKanbanPiece; + +typedef enum { + CUT_POST, + CUT_VERT_L, + CUT_HORIZ, + CUT_DIAG_L, // lower left to upper right + CUT_DIAG_R, // upper left to lower right + CUT_VERT_R +} EnKanbanCutType; + void EnKanban_Init(Actor* thisx, GlobalContext* globalCtx); void EnKanban_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKanban_Update(Actor* thisx, GlobalContext* globalCtx); void EnKanban_Draw(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_0403C050; -extern UNK_TYPE D_06000C30; -extern UNK_TYPE D_06001630; +extern Gfx D_0403C050[]; +extern Gfx D_06000C30[]; +extern Gfx D_06001630[]; -/* const ActorInit En_Kanban_InitVars = { ACTOR_EN_KANBAN, ACTORTYPE_PROP, @@ -25,15 +90,813 @@ const ActorInit En_Kanban_InitVars = { (ActorFunc)EnKanban_Update, (ActorFunc)EnKanban_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kanban/func_80A91FA0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Init.s") +static ColliderCylinderInit sCylinderInit = { + { COLTYPE_UNK10, 0x11, 0x09, 0x39, 0x10, COLSHAPE_CYLINDER }, + { 0x00, { 0xFFCFFFFF, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x01, 0x01, 0x01 }, + { 20, 50, 5, { 0, 0, 0 } }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Destroy.s") +static u16 sPartFlags[] = { + PART_UPPER_LEFT, PART_LEFT_UPPER, PART_LEFT_LOWER, PART_RIGHT_UPPER, PART_RIGHT_LOWER, PART_LOWER_LEFT, + PART_UPPER_RIGHT, PART_LOWER_RIGHT, PART_POST_UPPER, PART_POST_LOWER, PART_POST_STAND, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kanban/func_80A921C0.s") +static Vec3f sPieceOffsets[] = { + /* WHOLE_SIGN */ { 0.0f, 44.0f, 0.0f }, + /* UPPER_HALF */ { 0.0f, 50.0f, 0.0f }, + /* LOWER_HALF */ { 0.0f, 38.0f, 0.0f }, + /* RIGHT_HALF */ { 10.0f, 44.0f, 0.0f }, + /* LEFT_HALF */ { -10.0f, 44.0f, 0.0f }, + /* 2ND_QUAD */ { -10.0f, 50.0f, 0.0f }, + /* 1ST_QUAD */ { 10.0f, 50.0f, 0.0f }, + /* 3RD_QUAD */ { -10.0f, 38.0f, 0.0f }, + /* 4TH_QUAD */ { 10.0f, 38.0f, 0.0f }, + /* UPPER_LEFT */ { -7.5f, 51.0f, 0.0f }, + /* LEFT_UPPER */ { -12.5f, 48.0f, 0.0f }, + /* LEFT_LOWER */ { -12.5f, 40.0f, 0.0f }, + /* LOWER_LEFT */ { -7.5f, 37.0f, 0.0f }, + /* UPPER_RIGHT */ { 7.5f, 51.0f, 0.0f }, + /* RIGHT_UPPER */ { 12.5f, 48.0f, 0.0f }, + /* RIGHT_LOWER */ { 12.5f, 40.0f, 0.0f }, + /* LOWER_RIGHT */ { 7.5f, 37.0f, 0.0f }, + /* POST_UPPER */ { 0.0f, 50.0f, 0.0f }, + /* POST_LOWER */ { 0.0f, 38.0f, 0.0f }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Update.s") +static Vec3f sPieceSizes[] = { + /* WHOLE_SIGN */ { 1500.0f, 1000.0f, 0.0f }, + /* UPPER_HALF */ { 1500.0f, 500.0f, 0.0f }, + /* LOWER_HALF */ { 1500.0f, 500.0f, 0.0f }, + /* RIGHT_HALF */ { 700.0f, 1000.0f, 0.0f }, + /* LEFT_HALF */ { 700.0f, 1000.0f, 0.0f }, + /* 2ND_QUAD */ { 700.0f, 500.0f, 0.0f }, + /* 1ST_QUAD */ { 700.0f, 500.0f, 0.0f }, + /* 3RD_QUAD */ { 700.0f, 500.0f, 0.0f }, + /* 4TH_QUAD */ { 700.0f, 500.0f, 0.0f }, + /* UPPER_LEFT */ { 700.0f, 500.0f, 0.0f }, + /* LEFT_UPPER */ { 700.0f, 500.0f, 0.0f }, + /* LEFT_LOWER */ { 700.0f, 500.0f, 0.0f }, + /* LOWER_LEFT */ { 700.0f, 500.0f, 0.0f }, + /* UPPER_RIGHT */ { 700.0f, 500.0f, 0.0f }, + /* RIGHT_UPPER */ { 700.0f, 500.0f, 0.0f }, + /* RIGHT_LOWER */ { 700.0f, 500.0f, 0.0f }, + /* LOWER_RIGHT */ { 700.0f, 500.0f, 0.0f }, + /* POST_UPPER */ { 200.0f, 500.0f, 0.0f }, + /* POST_LOWER */ { 200.0f, 500.0f, 0.0f }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kanban/EnKanban_Draw.s") +static u8 sCutTypes[] = { + /* 1H_OVER */ CUT_VERT_L, /* 2H_OVER */ CUT_VERT_L, + /* 1H_COMBO */ CUT_DIAG_R, /* 2H_COMBO */ CUT_DIAG_R, + /* 1H_LEFT */ CUT_HORIZ, /* 2H_LEFT */ CUT_HORIZ, + /* 1H_COMBO */ CUT_HORIZ, /* 2H_COMBO */ CUT_HORIZ, + /* 1H_RIGHT */ CUT_HORIZ, /* 2H_RIGHT */ CUT_HORIZ, + /* 1H_COMBO */ CUT_HORIZ, /* 2H_COMBO */ CUT_HORIZ, + /* 1H_STAB */ CUT_POST, /* 2H_STAB */ CUT_POST, + /* 1H_COMBO */ CUT_POST, /* 2H_COMBO */ CUT_POST, + /* FLIP_START */ CUT_VERT_L, /* JUMP_START */ CUT_VERT_L, + /* FLIP_END */ CUT_VERT_L, /* JUMP_END */ CUT_VERT_L, + /* BACK_LEFT */ CUT_HORIZ, /* BACK_RIGHT */ CUT_HORIZ, + /* OVER_HAMMER */ CUT_POST, /* SIDE_HAMMER */ CUT_POST, + /* 1H_SPIN_ATK */ CUT_POST, /* 2H_SPIN_ATK */ CUT_POST, + /* 1H_BIG_SPIN */ CUT_POST, /* 2H_BIG_SPIN */ CUT_POST, +}; + +static u16 sCutFlags[] = { + /* CUT_POST */ ALL_PARTS, /* CUT_VERT_L */ LEFT_HALF, + /* CUT_HORIZ */ UPPER_HALF, /* CUT_DIAG_L */ UPPERLEFT_HALF, + /* CUT_DIAG_R */ UPPERRIGHT_HALF, /* CUT_VERT_R */ RIGHT_HALF, +}; + +void EnKanban_SetFloorRot(EnKanban* this) { + if (this->actor.floorPoly != NULL) { + f32 nx = this->actor.floorPoly->norm.x * COLPOLY_NORM_FRAC; + f32 ny = this->actor.floorPoly->norm.y * COLPOLY_NORM_FRAC; + f32 nz = this->actor.floorPoly->norm.z * COLPOLY_NORM_FRAC; + + this->floorRot.x = -Math_FAtan2F(-nz * ny, 1.0f); + this->floorRot.z = Math_FAtan2F(-nx * ny, 1.0f); + } +} + +void EnKanban_Init(Actor* thisx, GlobalContext* globalCtx) { + EnKanban* this = THIS; + + Actor_SetScale(&this->actor, 0.01f); + if (this->actor.params != ENKANBAN_PIECE) { + this->actor.unk_1F = 0; + this->actor.flags |= 1; + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); + osSyncPrintf("KANBAN ARG %x\n", this->actor.params); + if (this->actor.params == ENKANBAN_FISHING) { + if (gSaveContext.linkAge == 1) { + this->actor.textId = 0x409D; + } else { + this->actor.textId = 0x4090; + } + } else { + this->actor.textId = this->actor.params | 0x300; + } + this->bounceX = 1; + this->partFlags = 0xFFFF; + func_8002E4B4(globalCtx, &this->actor, 10.0f, 10.0f, 50.0f, 4); + EnKanban_SetFloorRot(this); + if (gSaveContext.linkAge == 1) { + this->actor.posRot.pos.y -= 15.0f; + } + } +} + +void EnKanban_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnKanban* this = THIS; + + if (this->actionState == ENKANBAN_SIGN) { + Collider_DestroyCylinder(globalCtx, &this->collider); + } +} + +void EnKanban_Message(EnKanban* this, GlobalContext* globalCtx) { + if (!this->msgFlag) { + if (this->msgTimer == 0) { + if (ABS((s16)(this->actor.yawTowardsLink - this->actor.shape.rot.y)) < 0x2800) { + if (func_8002F194(&this->actor, globalCtx)) { + this->msgFlag = true; + } else { + func_8002F2CC(&this->actor, globalCtx, 68.0f); + } + } + } else { + this->msgTimer--; + } + } else { + if (func_8002F334(&this->actor, globalCtx)) { + this->msgFlag = false; + this->msgTimer = 20; + } + } +} + +void EnKanban_Update(Actor* thisx, GlobalContext* globalCtx2) { + u8 bounced = false; + GlobalContext* globalCtx = globalCtx2; + EnKanban* this = THIS; + EnKanban* signpost; + EnKanban* piece; + Player* player = PLAYER; + Vec3f offset; + + this->frameCount++; + switch (this->actionState) { + case ENKANBAN_SIGN: + if (this->invincibilityTimer != 0) { + this->invincibilityTimer--; + } + if (this->zTargetTimer != 0) { + this->zTargetTimer--; + } + if (this->zTargetTimer == 1) { + this->actor.flags &= ~1; + } + if (this->partFlags == 0xFFFF) { + EnKanban_Message(this, globalCtx); + } + if ((this->invincibilityTimer == 0) && (this->collider.base.acFlags & 2)) { + this->collider.base.acFlags &= ~2; + this->invincibilityTimer = 6; + piece = (EnKanban*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_KANBAN, + this->actor.posRot.pos.x, this->actor.posRot.pos.y, + this->actor.posRot.pos.z, this->actor.shape.rot.x, + this->actor.shape.rot.y, this->actor.shape.rot.z, ENKANBAN_PIECE); + if (piece != NULL) { + ColliderBody* hitItem = this->collider.body.acHitItem; + s16 yawDiff = this->actor.yawTowardsLink - this->actor.shape.rot.y; + u8 i; + + if (hitItem->toucher.flags & 0x700) { + this->cutType = sCutTypes[player->swordAnimation]; + } else { + this->cutType = CUT_POST; + } + if (ABS(yawDiff) > 0x4000) { + if (this->cutType == CUT_DIAG_R) { + this->cutType = CUT_DIAG_L; + } else if (this->cutType == CUT_VERT_L) { + this->cutType = CUT_VERT_R; + } + } + piece->partFlags = sCutFlags[this->cutType] & this->partFlags; + if (piece->partFlags == 0) { + Actor_Kill(&piece->actor); + return; + } + piece->partCount = 0; + for (i = 0; i < ARRAY_COUNT(sPartFlags); i++) { + if (sPartFlags[i] & piece->partFlags) { + piece->partCount++; + } + } + this->partFlags &= ~sCutFlags[this->cutType]; + if (!(this->partFlags & ALL_PARTS)) { + this->zTargetTimer = 10; + } + if ((piece->partFlags & PART_UPPER_LEFT) && (piece->partFlags & PART_LOWER_RIGHT)) { + piece->pieceType = PIECE_WHOLE_SIGN; + } else if ((piece->partFlags & PART_LEFT_UPPER) && (piece->partFlags & PART_RIGHT_UPPER)) { + piece->pieceType = PIECE_UPPER_HALF; + } else if ((piece->partFlags & PART_LEFT_LOWER) && (piece->partFlags & PART_RIGHT_LOWER)) { + piece->pieceType = PIECE_LOWER_HALF; + } else if ((piece->partFlags & PART_UPPER_RIGHT) && (piece->partFlags & PART_LOWER_RIGHT)) { + piece->pieceType = PIECE_RIGHT_HALF; + } else if ((piece->partFlags & PART_UPPER_LEFT) && (piece->partFlags & PART_LOWER_LEFT)) { + piece->pieceType = PIECE_LEFT_HALF; + } else if ((piece->partFlags & PART_UPPER_LEFT) && (piece->partFlags & PART_LEFT_UPPER)) { + piece->pieceType = PIECE_2ND_QUAD; + } else if ((piece->partFlags & PART_UPPER_RIGHT) && (piece->partFlags & PART_RIGHT_UPPER)) { + piece->pieceType = PIECE_1ST_QUAD; + } else if ((piece->partFlags & PART_LEFT_LOWER) && (piece->partFlags & PART_LOWER_LEFT)) { + piece->pieceType = PIECE_3RD_QUAD; + } else if ((piece->partFlags & PART_RIGHT_LOWER) && (piece->partFlags & PART_LOWER_RIGHT)) { + piece->pieceType = PIECE_4TH_QUAD; + } else if (piece->partFlags & PART_UPPER_LEFT) { + piece->pieceType = PIECE_UPPER_LEFT; + } else if (piece->partFlags & PART_LEFT_UPPER) { + piece->pieceType = PIECE_LEFT_UPPER; + } else if (piece->partFlags & PART_LEFT_LOWER) { + piece->pieceType = PIECE_LEFT_LOWER; + } else if (piece->partFlags & PART_LOWER_LEFT) { + piece->pieceType = PIECE_LOWER_LEFT; + } else if (piece->partFlags & PART_UPPER_RIGHT) { + piece->pieceType = PIECE_UPPER_RIGHT; + } else if (piece->partFlags & PART_RIGHT_UPPER) { + piece->pieceType = PIECE_RIGHT_UPPER; + } else if (piece->partFlags & PART_RIGHT_LOWER) { + piece->pieceType = PIECE_RIGHT_LOWER; + } else if (piece->partFlags & PART_LOWER_RIGHT) { + piece->pieceType = PIECE_LOWER_RIGHT; + } else if (piece->partFlags & PART_POST_UPPER) { + piece->pieceType = PIECE_POST_UPPER; + } else if (piece->partFlags & PART_POST_LOWER) { + piece->pieceType = PIECE_POST_LOWER; + } else { + piece->pieceType = PIECE_OTHER; + } + if (piece->pieceType == 100) { + piece->pieceType = PIECE_WHOLE_SIGN; + } + + Matrix_RotateY((this->actor.shape.rot.y / (f32)0x8000) * M_PI, MTXMODE_NEW); + Matrix_MultVec3f(&sPieceOffsets[piece->pieceType], &offset); + piece->actor.posRot.pos.x += offset.x; + piece->actor.posRot.pos.y += offset.y; + piece->actor.posRot.pos.z += offset.z; + piece->offset.x = -sPieceOffsets[piece->pieceType].x / this->actor.scale.x; + piece->offset.y = -sPieceOffsets[piece->pieceType].y / this->actor.scale.x; + piece->offset.z = -sPieceOffsets[piece->pieceType].z / this->actor.scale.x; + piece->pieceWidth = sPieceSizes[piece->pieceType].x; + piece->pieceHeight = sPieceSizes[piece->pieceType].y; + piece->actor.gravity = -1.0f; + piece->actionState = ENKANBAN_AIR; + piece->actor.posRot.rot.y = (s16)Rand_CenteredFloat(0x3000) + this->actor.yawTowardsLink + 0x8000; + piece->actor.velocity.y = Rand_ZeroFloat(2.0f) + 3.0f; + piece->actor.speedXZ = Rand_ZeroFloat(2.0f) + 3.0f; + if (piece->partCount >= 4) { + piece->bounceX = (s16)Rand_ZeroFloat(10.0f) + 6; + piece->bounceZ = (s16)Rand_ZeroFloat(10.0f) + 6; + } else { + piece->bounceX = (s16)Rand_ZeroFloat(7.0f) + 3; + piece->bounceZ = (s16)Rand_ZeroFloat(7.0f) + 3; + } + piece->spinVel.y = Rand_CenteredFloat(0x1800); + if (Rand_ZeroOne() < 0.5f) { + piece->direction = 1; + } else { + piece->direction = -1; + } + piece->airTimer = 100; + piece->actor.flags &= ~1; + piece->actor.flags |= 0x02000000; + this->cutMarkTimer = 5; + Audio_PlayActorSound2(&this->actor, NA_SE_IT_SWORD_STRIKE); + } + } + this->actor.posRot2.pos = this->actor.posRot.pos; + this->actor.posRot2.pos.y += 44.0f; + Collider_CylinderUpdate(&this->actor, &this->collider); + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + if (this->actor.xzDistFromLink > 500.0f) { + this->actor.flags |= 1; + this->partFlags = 0xFFFF; + } + if (this->cutMarkTimer != 0) { + if (this->cutMarkTimer >= 5) { + this->cutMarkAlpha += 255; + if (this->cutMarkAlpha > 255) { + this->cutMarkAlpha = 255; + } + } else { + this->cutMarkAlpha -= 65; + if (this->cutMarkAlpha < 0) { + this->cutMarkAlpha = 0; + } + } + this->cutMarkTimer--; + } + break; + case ENKANBAN_AIR: + case ENKANBAN_UNUSED: { + u16 tempBgFlags; + f32 tempX; + f32 tempY; + f32 tempZ; + f32 tempWaterY; + u8 onGround; + + Actor_MoveForward(&this->actor); + func_8002E4B4(globalCtx, &this->actor, 30.0f, 30.0f, 50.0f, 5); + + tempX = this->actor.posRot.pos.x; + tempY = this->actor.posRot.pos.y; + tempZ = this->actor.posRot.pos.z; + tempBgFlags = this->actor.bgCheckFlags; + tempWaterY = this->actor.waterY; + + this->actor.posRot.pos.z += ((this->actor.posRot.pos.y - this->actor.groundY) * -50.0f) / 100.0f; + func_8002E4B4(globalCtx, &this->actor, 10.0f, 10.0f, 50.0f, 4); + EnKanban_SetFloorRot(this); + + this->actor.posRot.pos.x = tempX; + this->actor.posRot.pos.y = tempY; + this->actor.posRot.pos.z = tempZ; + this->actor.bgCheckFlags = tempBgFlags; + this->actor.waterY = tempWaterY; + + osSyncPrintf(VT_RST); + onGround = (this->actor.bgCheckFlags & 1); + if (this->spinXFlag) { + this->spinRot.x += this->spinVel.x; + this->spinVel.x -= 0x800; + if ((this->spinRot.x <= 0) && onGround) { + this->spinRot.x = 0; + this->spinVel.x = 0; + } + } else { + this->spinRot.x -= this->spinVel.x; + this->spinVel.x -= 0x800; + if ((this->spinRot.x >= 0) && onGround) { + this->spinRot.x = 0; + this->spinVel.x = 0; + } + } + if (this->spinVel.x < -0xC00) { + this->spinVel.x = -0xC00; + } + if (this->spinZFlag) { + this->spinRot.z += this->spinVel.z; + this->spinVel.z -= 0x800; + if ((this->spinRot.z <= 0) && onGround) { + this->spinRot.z = 0; + this->spinVel.z = 0; + } + } else { + this->spinRot.z -= this->spinVel.z; + this->spinVel.z -= 0x800; + if ((this->spinRot.z >= 0) && onGround) { + this->spinRot.z = 0; + this->spinVel.z = 0; + } + } + if (this->spinVel.z < -0xC00) { + this->spinVel.z = -0xC00; + } + if (this->actor.bgCheckFlags & 8) { + this->actor.speedXZ *= -0.5f; + Audio_PlayActorSound2(&this->actor, NA_SE_EV_WOODPLATE_BOUND); + } + if (this->actor.bgCheckFlags & 0x40) { + this->actionState = ENKANBAN_WATER; + Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMB_DROP_WATER); + this->bounceX = this->bounceZ = 0; + this->actor.posRot.pos.y += this->actor.waterY; + EffectSsGSplash_Spawn(globalCtx, &this->actor.posRot.pos, NULL, NULL, 0, (this->partCount * 20) + 300); + EffectSsGRipple_Spawn(globalCtx, &this->actor.posRot.pos, 150, 650, 0); + EffectSsGRipple_Spawn(globalCtx, &this->actor.posRot.pos, 300, 800, 5); + this->actor.velocity.y = 0.0f; + this->actor.gravity = 0.0f; + osSyncPrintf(" WAT Y = %f\n", this->actor.waterY); + osSyncPrintf(" POS Y = %f\n", this->actor.posRot.pos.y); + osSyncPrintf(" GROUND Y = %f\n", this->actor.groundY); + break; + } + + if (onGround) { + if (this->bounceCount <= 0) { + this->bounceCount++; + this->actor.velocity.y *= -0.3f; + this->actor.posRot.rot.y += (s16)Rand_CenteredFloat(16384.0f); + } else { + this->actor.velocity.y = 0.0f; + } + this->actor.speedXZ *= 0.7f; + if ((this->spinRot.x == 0) && (this->bounceX != 0)) { + this->spinVel.x = this->bounceX * 0x200; + if (this->bounceX != 0) { + this->bounceX -= 5; + if (this->bounceX <= 0) { + this->bounceX = 0; + } + } + if (Rand_ZeroOne() < 0.5f) { + this->spinXFlag = true; + } else { + this->spinXFlag = false; + } + bounced = true; + } + if ((this->spinRot.z == 0) && (this->bounceZ != 0)) { + this->spinVel.z = this->bounceZ * 0x200; + if (this->bounceZ != 0) { + this->bounceZ -= 5; + if (this->bounceZ <= 0) { + this->bounceZ = 0; + } + } + if (Rand_ZeroOne() < 0.5f) { + this->spinZFlag = true; + } else { + this->spinZFlag = false; + } + bounced = true; + } + Math_ApproachS(&this->actor.shape.rot.x, this->direction * 0x4000, 1, 0x2000); + } else { + this->actor.shape.rot.y += this->spinVel.y; + this->actor.shape.rot.x += this->direction * 0x7D0; + } + if (bounced) { + s16 dustCount; + s16 j; + Vec3f velocity = { 0.0f, 0.0f, 0.0f }; + Vec3f accel; + Vec3f pos; + + Audio_PlayActorSound2(&this->actor, NA_SE_EV_WOODPLATE_BOUND); + accel.x = 0.0f; + accel.y = 0.1f; + accel.z = 0.0f; + pos.y = this->actor.groundY + 3.0f; + dustCount = this->partCount * 0.5f; + for (j = 0; j < dustCount + 3; j++) { + pos.x = this->actor.posRot.pos.x + Rand_CenteredFloat((this->partCount * 0.5f) + 20.0f); + pos.z = this->actor.posRot.pos.z + Rand_CenteredFloat((this->partCount * 0.5f) + 20.0f); + func_800286CC(globalCtx, &pos, &velocity, &accel, 100, 5); + } + } + if (DECR(this->airTimer) == 0) { + this->actionState = ENKANBAN_GROUND; + } + } + case ENKANBAN_GROUND: + case ENKANBAN_WATER: + signpost = (EnKanban*)this->actor.parent; + + if (signpost->partFlags == 0xFFFF) { + Actor_Kill(&this->actor); + } + Math_ApproachF(&this->actor.shape.unk_08, 100.0f, 1.0f, 5.0f); + if (this->actionState == ENKANBAN_WATER) { + s32 rippleDelay; + s32 rippleScale; + + if ((player->actor.speedXZ > 0.0f) && (player->actor.posRot.pos.y < this->actor.posRot.pos.y) && + (this->actor.xyzDistFromLinkSq < 2500.0f)) { + Math_ApproachF(&this->actor.speedXZ, player->actor.speedXZ, 1.0f, 0.2f); + if (this->actor.speedXZ > 1.0f) { + this->actor.speedXZ = 1.0f; + } + if (Math_SmoothStepToS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink + 0x8000, 1, 0x1000, + 0) > 0) { + this->spinVel.y = this->actor.speedXZ * 1000.0f; + } else { + this->spinVel.y = this->actor.speedXZ * -1000.0f; + } + } + if (this->actor.bgCheckFlags & 1) { + this->actor.speedXZ = 0.0f; + } + Actor_MoveForward(&this->actor); + if (this->actor.speedXZ != 0.0f) { + func_8002E4B4(globalCtx, &this->actor, 10.0f, 10.0f, 50.0f, 5); + if (this->actor.bgCheckFlags & 8) { + this->actor.speedXZ *= -0.5f; + if (this->spinVel.y > 0) { + this->spinVel.y = -0x7D0; + } else { + this->spinVel.y = 0x7D0; + } + } + Math_ApproachZeroF(&this->actor.speedXZ, 1.0f, 0.15f); + } + this->actor.shape.rot.y += this->spinVel.y; + Math_ApproachS(&this->spinVel.y, 0, 1, 0x3A); + Math_ApproachS(&this->actor.shape.rot.x, this->direction * 0x4000, 2, 0x1000); + Math_ApproachS(&this->spinRot.x, Math_SinS(2500 * this->frameCount) * 500.0f, 2, 0x1000); + Math_ApproachS(&this->spinRot.z, Math_CosS(3000 * this->frameCount) * 500.0f, 2, 0x1000); + Math_ApproachZeroF(&this->floorRot.x, 0.5f, 0.2f); + Math_ApproachZeroF(&this->floorRot.z, 0.5f, 0.2f); + if (fabsf(this->actor.speedXZ) > 1.0f) { + rippleDelay = 0; + } else if (fabsf(this->actor.speedXZ) > 0.5f) { + rippleDelay = 3; + } else { + rippleDelay = 7; + } + if (!(this->frameCount & rippleDelay)) { + if (this->partCount < 3) { + rippleScale = 0; + } else if (this->partCount < 6) { + rippleScale = 100; + } else { + rippleScale = 200; + } + EffectSsGRipple_Spawn(globalCtx, &this->actor.posRot.pos, rippleScale, rippleScale + 500, 0); + } + } else if ((globalCtx->actorCtx.unk_02 != 0) && (this->actor.xyzDistFromLinkSq < SQ(100.0f))) { + f32 hammerStrength = (100.0f - sqrtf(this->actor.xyzDistFromLinkSq)) * 0.05f; + + this->actionState = ENKANBAN_AIR; + this->actor.gravity = -1.0f; + this->actor.posRot.rot.y = Rand_CenteredFloat(0x10000); + if (this->partCount >= 4) { + this->bounceX = (s16)Rand_ZeroFloat(10.0f) + 6; + this->bounceZ = (s16)Rand_ZeroFloat(10.0f) + 6; + this->actor.velocity.y = 2.0f + hammerStrength; + this->actor.speedXZ = Rand_ZeroFloat(1.0f); + } else { + this->bounceX = (s16)Rand_ZeroFloat(7.0f) + 3; + this->bounceZ = (s16)Rand_ZeroFloat(7.0f) + 3; + this->actor.velocity.y = 3.0f + hammerStrength; + this->actor.speedXZ = Rand_ZeroFloat(1.5f); + } + this->spinVel.y = Rand_CenteredFloat(0x1800); + if (Rand_ZeroOne() < 0.5f) { + this->direction = 1; + } else { + this->direction = -1; + } + this->airTimer = 70; + } + if (this->bounceX == 0) { + Actor* bomb = globalCtx->actorCtx.actorList[ACTORTYPE_EXPLOSIVES].first; + f32 dx; + f32 dy; + f32 dz; + + while (bomb != NULL) { + if (bomb->params != 1) { + bomb = bomb->next; + continue; + } + dx = this->actor.posRot.pos.x - bomb->posRot.pos.x; + dy = this->actor.posRot.pos.y - bomb->posRot.pos.y; + dz = this->actor.posRot.pos.z - bomb->posRot.pos.z; + if (sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < 100.0f) { + f32 bombStrength = (100.0f - sqrtf(SQ(dx) + SQ(dy) + SQ(dz))) * 0.05f; + + this->actionState = ENKANBAN_AIR; + this->actor.gravity = -1.0f; + this->actor.posRot.rot.y = Math_FAtan2F(dx, dz) * (0x8000 / M_PI); + if (this->partCount >= 4) { + this->bounceX = (s16)Rand_ZeroFloat(10.0f) + 6; + this->bounceZ = (s16)Rand_ZeroFloat(10.0f) + 6; + this->actor.velocity.y = 2.5f + bombStrength; + this->actor.speedXZ = 3.0f + bombStrength; + } else { + this->bounceX = (s16)Rand_ZeroFloat(7.0f) + 3; + this->bounceZ = (s16)Rand_ZeroFloat(7.0f) + 3; + this->actor.velocity.y = 5.0f + bombStrength; + this->actor.speedXZ = 4.0f + bombStrength; + } + this->spinVel.y = Rand_CenteredFloat(0x1800); + if (Rand_ZeroOne() < 0.5f) { + this->direction = 1; + } else { + this->direction = -1; + } + this->airTimer = 70; + } + bomb = bomb->next; + } + } + osSyncPrintf(VT_FGCOL(GREEN)); + osSyncPrintf("OCARINA_MODE %d\n", globalCtx->msgCtx.unk_E3EE); + osSyncPrintf(VT_RST); + switch (this->ocarinaFlag) { + case 0: + if (globalCtx->msgCtx.unk_E3EE == 1) { + this->ocarinaFlag = 1; + } + break; + case 1: + if ((globalCtx->msgCtx.unk_E3EE == 4) && (globalCtx->msgCtx.unk_E3F2 == 8)) { + this->actionState = ENKANBAN_REPAIR; + this->bounceX = 1; + Audio_PlaySoundGeneral(NA_SE_SY_TRE_BOX_APPEAR, &D_801333D4, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + } + break; + } + break; + case ENKANBAN_REPAIR: { + f32 distX; + f32 distY; + f32 distZ; + s16 pDiff; + s16 yDiff; + s16 rDiff; + signpost = (EnKanban*)this->actor.parent; + + if (signpost->partFlags == 0xFFFF) { + Actor_Kill(&this->actor); + } + + Matrix_RotateY((signpost->actor.shape.rot.y / 32768.0f) * 3.1415927f, MTXMODE_NEW); + Matrix_MultVec3f(&sPieceOffsets[this->pieceType], &offset); + distX = Math_SmoothStepToF(&this->actor.posRot.pos.x, signpost->actor.posRot.pos.x + offset.x, 1.0f, 3.0f, + 0.0f); + distY = Math_SmoothStepToF(&this->actor.posRot.pos.y, signpost->actor.posRot.pos.y + offset.y, 1.0f, 3.0f, + 0.0f); + distZ = Math_SmoothStepToF(&this->actor.posRot.pos.z, signpost->actor.posRot.pos.z + offset.z, 1.0f, 3.0f, + 0.0f); + pDiff = Math_SmoothStepToS(&this->actor.shape.rot.x, signpost->actor.shape.rot.x, 1, 0x200, 0); + yDiff = Math_SmoothStepToS(&this->actor.shape.rot.y, signpost->actor.shape.rot.y, 1, 0x200, 0); + rDiff = Math_SmoothStepToS(&this->actor.shape.rot.z, signpost->actor.shape.rot.z, 1, 0x200, 0); + Math_ApproachS(&this->spinRot.x, 0, 1, 0x200); + Math_ApproachS(&this->spinRot.z, 0, 1, 0x200); + Math_ApproachZeroF(&this->floorRot.x, 1.0f, 0.05f); + Math_ApproachZeroF(&this->floorRot.z, 1.0f, 0.05f); + Math_ApproachZeroF(&this->actor.shape.unk_08, 1.0f, 2.0f); + if (((distX + distY + distZ) == 0.0f) && + ((pDiff + yDiff + rDiff + this->spinRot.x + this->spinRot.z) == 0) && (this->floorRot.x == 0.0f) && + (this->floorRot.z == 0.0f)) { + signpost->partFlags |= this->partFlags; + signpost->actor.flags |= 1; + Actor_Kill(&this->actor); + } + } break; + } +} + +static Gfx* sDisplayLists[] = { + 0x06000CB0, 0x06000DB8, 0x06000E78, 0x06000F38, 0x06000FF8, 0x060010B8, + 0x060011C0, 0x060012C8, 0x060013D0, 0x06001488, 0x06001540, +}; + +#include "z_en_kanban_gfx.c" + +static f32 sCutAngles[] = { + /* CUT_POST */ 0.50f * M_PI, + /* CUT_VERT_L */ 0.00f * M_PI, + /* CUT_HORIZ */ 0.50f * M_PI, + /* CUT_DIAG_L */ 0.66f * M_PI, + /* CUT_DIAG_R */ 0.34f * M_PI, + /* CUT_VERT_R */ 0.00f * M_PI, +}; + +static s32 sUnused[] = { 0, 0, 0 }; // Unused zero vector? + +static Vtx sShadowVertices[] = { + VTX(-2000, 0, 0, 0, 1024, 0xFF, 0xFF, 0xFF, 0xFF), + VTX(2000, 0, 0, 1024, 1024, 0xFF, 0xFF, 0xFF, 0xFF), + VTX(2000, 6000, 0, 1024, 0, 0xFF, 0xFF, 0xFF, 0xFF), + VTX(-2000, 6000, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF), +}; + +static Gfx sShadowDList[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPLoadTextureBlock(0x08000000, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, + G_TX_NOMIRROR | G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_OVL_SURF2), + gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR), + gsSPVertex(sShadowVertices, 4, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSPEndDisplayList(), +}; + +void EnKanban_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnKanban* this = THIS; + f32 zShift; + f32 zShift2; + s16 i; + u8* shadowTex = Graph_Alloc(globalCtx->state.gfxCtx, 0x400); + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_kanban.c", 1659); + func_80093D18(globalCtx->state.gfxCtx); + func_80093D84(globalCtx->state.gfxCtx); + gSPDisplayList(POLY_OPA_DISP++, D_06000C30); + if (this->actionState != ENKANBAN_SIGN) { + Matrix_Translate(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, MTXMODE_NEW); + Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); + Matrix_RotateX(this->floorRot.x, MTXMODE_APPLY); + Matrix_RotateZ(this->floorRot.z, MTXMODE_APPLY); + Matrix_Translate(0.0f, this->actor.shape.unk_08, 0.0f, MTXMODE_APPLY); + Matrix_RotateY((this->actor.shape.rot.y / (f32)0x8000) * M_PI, MTXMODE_APPLY); + Matrix_RotateX((this->actor.shape.rot.x / (f32)0x8000) * M_PI, MTXMODE_APPLY); + zShift = fabsf(Math_SinS(this->spinRot.x) * this->pieceHeight); + zShift2 = fabsf(Math_SinS(this->spinRot.z) * this->pieceWidth); + zShift = MAX(zShift2, zShift); + zShift *= -(f32)this->direction; + Matrix_Translate(0.0f, 0.0f, zShift, MTXMODE_APPLY); + Matrix_RotateX((this->spinRot.x / (f32)0x8000) * M_PI, MTXMODE_APPLY); + Matrix_RotateY((this->spinRot.z / (f32)0x8000) * M_PI, MTXMODE_APPLY); + Matrix_Translate(this->offset.x, this->offset.y, this->offset.z - 100.0f, MTXMODE_APPLY); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_kanban.c", 1715), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + for (i = 0; i < ARRAY_COUNT(sPartFlags); i++) { + if (sPartFlags[i] & this->partFlags) { + gSPDisplayList(POLY_OPA_DISP++, sDisplayLists[i]); + } + } + } else { + Matrix_Translate(0.0f, 0.0f, -100.0f, MTXMODE_APPLY); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_kanban.c", 1725), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + if (this->partFlags == 0xFFFF) { + gSPDisplayList(POLY_OPA_DISP++, D_0403C050); + } else { + for (i = 0; i < ARRAY_COUNT(sPartFlags); i++) { + if (sPartFlags[i] & this->partFlags) { + gSPDisplayList(POLY_OPA_DISP++, sDisplayLists[i]); + } + } + } + if (this->cutMarkAlpha != 0) { + f32 cutOffset = (this->cutType == CUT_POST) ? -1200.0f : 0.0f; + + Matrix_Translate(0.0f, 4400.0f + cutOffset, 200.0f, MTXMODE_APPLY); + Matrix_RotateZ(sCutAngles[this->cutType], MTXMODE_APPLY); + Matrix_Scale(0.0f, 10.0f, 2.0f, MTXMODE_APPLY); + gDPPipeSync(POLY_XLU_DISP++); + gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x00, 255, 255, 255, this->cutMarkAlpha); + gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 150, 0); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_kanban.c", 1773), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, D_06001630); + } + } + if ((this->actor.projectedPos.z <= 400.0f) && (this->actor.projectedPos.z > 0.0f) && + (this->actor.groundY > -3000.0f)) { + if ((this->bounceX != 0) || (this->bounceZ != 0)) { + u16 dayTime = gSaveContext.dayTime; + f32 shadowAlpha; + + if (dayTime >= 0x8000) { + dayTime = 0xFFFF - dayTime; + } + shadowAlpha = (dayTime * 0.00275f) + 10.0f; + if (this->actor.projectedPos.z > 300.0f) { + shadowAlpha *= ((400.0f - this->actor.projectedPos.z) * 0.01f); + } + gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x00, 0, 0, 0, (s8)shadowAlpha); + + if ((this->actionState == ENKANBAN_SIGN) && (gSaveContext.linkAge == 1)) { + zShift = 0.0f; + } else { + zShift = ((this->actor.posRot.pos.y - this->actor.groundY) * -50.0f) / 100.0f; + } + + Matrix_Translate(this->actor.posRot.pos.x, this->actor.groundY, this->actor.posRot.pos.z + zShift, + MTXMODE_NEW); + Matrix_RotateX(this->floorRot.x, MTXMODE_APPLY); + Matrix_RotateZ(this->floorRot.z, MTXMODE_APPLY); + Matrix_Scale(this->actor.scale.x, 0.0f, this->actor.scale.z, MTXMODE_APPLY); + if (this->actionState == ENKANBAN_SIGN) { + Matrix_RotateX(-M_PI / 5, MTXMODE_APPLY); + } + Matrix_RotateY((this->actor.shape.rot.y / (f32)0x8000) * M_PI, MTXMODE_APPLY); + Matrix_RotateX((this->actor.shape.rot.x / (f32)0x8000) * M_PI, MTXMODE_APPLY); + Matrix_RotateX((this->spinRot.x / (f32)0x8000) * M_PI, MTXMODE_APPLY); + Matrix_RotateY((this->spinRot.z / (f32)0x8000) * M_PI, MTXMODE_APPLY); + Matrix_Translate(this->offset.x, this->offset.y, this->offset.z, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_kanban.c", 1833), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + for (i = 0; i < 0x400; i++) { + if (sShadowTexFlags[i] & this->partFlags) { + shadowTex[i] = 0xFF; + } else { + shadowTex[i] = 0; + } + } + gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(shadowTex)); + gSPDisplayList(POLY_XLU_DISP++, sShadowDList); + } + } + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_kanban.c", 1857); +} diff --git a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.h b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.h index 89d5fb2ed4..17baf5354f 100644 --- a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.h +++ b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.h @@ -8,9 +8,39 @@ struct EnKanban; typedef struct EnKanban { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0xA0]; + /* 0x014C */ char unk_14C[4]; + /* 0x0150 */ u8 frameCount; + /* 0x0152 */ s16 airTimer; + /* 0x0154 */ u8 actionState; + /* 0x0156 */ u16 partFlags; + /* 0x0158 */ u8 partCount; + /* 0x015A */ s16 invincibilityTimer; + /* 0x015C */ Vec3f offset; + /* 0x0168 */ Vec3s spinRot; + /* 0x016E */ Vec3s spinVel; + /* 0x0174 */ s8 spinXFlag; + /* 0x0175 */ s8 spinZFlag; + /* 0x0176 */ s16 bounceX; + /* 0x0178 */ s16 bounceZ; + /* 0x017A */ u8 bounceCount; + /* 0x017C */ f32 pieceWidth; + /* 0x0180 */ f32 pieceHeight; + /* 0x0184 */ s16 direction; + /* 0x0188 */ Vec3f floorRot; + /* 0x0194 */ u8 cutType; + /* 0x0195 */ u8 pieceType; + /* 0x0196 */ s16 cutMarkTimer; + /* 0x0198 */ s16 cutMarkAlpha; + /* 0x019A */ s16 zTargetTimer; + /* 0x019C */ u8 msgFlag; + /* 0x019D */ u8 msgTimer; + /* 0x019E */ u8 ocarinaFlag; + /* 0x01A0 */ ColliderCylinder collider; } EnKanban; // size = 0x01EC +#define ENKANBAN_PIECE ((s16)0xFFDD) +#define ENKANBAN_FISHING 0x300 + extern const ActorInit En_Kanban_InitVars; #endif diff --git a/src/overlays/actors/ovl_En_Kanban/z_en_kanban_gfx.c b/src/overlays/actors/ovl_En_Kanban/z_en_kanban_gfx.c new file mode 100644 index 0000000000..c38e9df942 --- /dev/null +++ b/src/overlays/actors/ovl_En_Kanban/z_en_kanban_gfx.c @@ -0,0 +1,68 @@ +#include "z_en_kanban.h" + +static u16 sShadowTexFlags[] = { + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x100, + 0x100, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x100, 0x100, + 0x100, 0x100, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x100, 0x100, + 0x100, 0x100, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x100, 0x100, + 0x100, 0x100, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x101, 0x101, + 0x140, 0x140, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, + 0x002, 0x002, 0x002, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x101, 0x101, + 0x140, 0x140, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x008, 0x008, 0x008, + 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x101, 0x101, + 0x140, 0x140, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x040, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, + 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x001, 0x001, 0x001, 0x001, 0x001, 0x101, 0x101, + 0x140, 0x140, 0x040, 0x040, 0x040, 0x040, 0x040, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, + 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x001, 0x001, 0x101, 0x101, + 0x140, 0x140, 0x040, 0x040, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, + 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x002, 0x102, 0x301, + 0x340, 0x108, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, 0x008, + 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x204, 0x220, + 0x280, 0x210, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, + 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x020, 0x020, 0x220, 0x220, + 0x280, 0x280, 0x080, 0x080, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, + 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x020, 0x020, 0x020, 0x020, 0x020, 0x220, 0x220, + 0x280, 0x280, 0x080, 0x080, 0x080, 0x080, 0x080, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, + 0x004, 0x004, 0x004, 0x004, 0x004, 0x004, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x220, 0x220, + 0x280, 0x280, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x010, 0x010, 0x010, 0x010, 0x010, 0x010, + 0x004, 0x004, 0x004, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x220, 0x220, + 0x280, 0x280, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x010, 0x010, 0x010, + 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x020, 0x220, 0x620, + 0x680, 0x280, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, 0x080, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x400, 0x400, + 0x400, 0x400, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, +};