1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

Match a few functions (#324)

* match a few functions

* run formath.sh

* minor fixes
This commit is contained in:
Random 2020-08-15 19:23:29 +02:00 committed by GitHub
parent d3b88e1b1c
commit d8d789d2a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 145 additions and 1528 deletions

View File

@ -1,154 +0,0 @@
.rdata
glabel D_801472C8
.asciz "Dump";
.balign 4
.text
glabel Fault_DrawMemDump
/* B4C994 800D57F4 3C0EFFFA */ lui $t6, (0xFFFA5A5A >> 16) # lui $t6, 0xfffa
/* B4C998 800D57F8 03A07825 */ move $t7, $sp
/* B4C99C 800D57FC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B4C9A0 800D5800 35CE5A5A */ ori $t6, (0xFFFA5A5A & 0xFFFF) # ori $t6, $t6, 0x5a5a
.L800D5804:
/* B4C9A4 800D5804 25EFFFF8 */ addiu $t7, $t7, -8
/* B4C9A8 800D5808 ADEE0000 */ sw $t6, ($t7)
/* B4C9AC 800D580C 15FDFFFD */ bne $t7, $sp, .L800D5804
/* B4C9B0 800D5810 ADEE0004 */ sw $t6, 4($t7)
/* B4C9B4 800D5814 AFB20020 */ sw $s2, 0x20($sp)
/* B4C9B8 800D5818 3C128017 */ lui $s2, %hi(sFaultStructPtr) # $s2, 0x8017
/* B4C9BC 800D581C AFB60030 */ sw $s6, 0x30($sp)
/* B4C9C0 800D5820 0080B025 */ move $s6, $a0
/* B4C9C4 800D5824 2652A800 */ addiu $s2, %lo(sFaultStructPtr) # addiu $s2, $s2, -0x5800
/* B4C9C8 800D5828 AFBF0034 */ sw $ra, 0x34($sp)
/* B4C9CC 800D582C AFB5002C */ sw $s5, 0x2c($sp)
/* B4C9D0 800D5830 AFB40028 */ sw $s4, 0x28($sp)
/* B4C9D4 800D5834 AFB30024 */ sw $s3, 0x24($sp)
/* B4C9D8 800D5838 AFB1001C */ sw $s1, 0x1c($sp)
/* B4C9DC 800D583C AFB00018 */ sw $s0, 0x18($sp)
/* B4C9E0 800D5840 AFA5003C */ sw $a1, 0x3c($sp)
/* B4C9E4 800D5844 AFA60040 */ sw $a2, 0x40($sp)
/* B4C9E8 800D5848 AFA70044 */ sw $a3, 0x44($sp)
/* B4C9EC 800D584C 8E510000 */ lw $s1, ($s2)
/* B4C9F0 800D5850 02C09825 */ move $s3, $s6
/* B4C9F4 800D5854 3C158000 */ lui $s5, 0x8000
/* B4C9F8 800D5858 2414FFDF */ li $s4, -33
/* B4C9FC 800D585C 263107E4 */ addiu $s1, $s1, 0x7e4
/* B4CA00 800D5860 0275082B */ sltu $at, $s3, $s5
.L800D5864:
/* B4CA04 800D5864 10200002 */ beqz $at, .L800D5870
/* B4CA08 800D5868 3C048014 */ lui $a0, %hi(D_801472C8) # $a0, 0x8014
/* B4CA0C 800D586C 02A09825 */ move $s3, $s5
.L800D5870:
/* B4CA10 800D5870 3C01807F */ lui $at, (0x807FFF01 >> 16) # lui $at, 0x807f
/* B4CA14 800D5874 3421FF01 */ ori $at, (0x807FFF01 & 0xFFFF) # ori $at, $at, 0xff01
/* B4CA18 800D5878 0261082B */ sltu $at, $s3, $at
/* B4CA1C 800D587C 14200003 */ bnez $at, .L800D588C
/* B4CA20 800D5880 248472C8 */ addiu $a0, %lo(D_801472C8) # addiu $a0, $a0, 0x72c8
/* B4CA24 800D5884 3C13807F */ lui $s3, (0x807FFF00 >> 16) # lui $s3, 0x807f
/* B4CA28 800D5888 3673FF00 */ ori $s3, (0x807FFF00 & 0xFFFF) # ori $s3, $s3, 0xff00
.L800D588C:
/* B4CA2C 800D588C 2401FFF0 */ li $at, -16
/* B4CA30 800D5890 02619824 */ and $s3, $s3, $at
/* B4CA34 800D5894 02602825 */ move $a1, $s3
/* B4CA38 800D5898 0C0355A2 */ jal Fault_DrawMemDumpPage
/* B4CA3C 800D589C 00003025 */ move $a2, $zero
/* B4CA40 800D58A0 8E4E0000 */ lw $t6, ($s2)
/* B4CA44 800D58A4 24100258 */ li $s0, 600
/* B4CA48 800D58A8 91CF07CF */ lbu $t7, 0x7cf($t6)
/* B4CA4C 800D58AC 11E00011 */ beqz $t7, .L800D58F4
/* B4CA50 800D58B0 00000000 */ nop
.L800D58B4:
/* B4CA54 800D58B4 12000046 */ beqz $s0, .L800D59D0
/* B4CA58 800D58B8 24040010 */ li $a0, 16
/* B4CA5C 800D58BC 0C03518F */ jal Fault_Sleep
/* B4CA60 800D58C0 2610FFFF */ addiu $s0, $s0, -1
/* B4CA64 800D58C4 0C0351AD */ jal Fault_UpdatePadImpl
/* B4CA68 800D58C8 00000000 */ nop
/* B4CA6C 800D58CC 9638000C */ lhu $t8, 0xc($s1)
/* B4CA70 800D58D0 0314C827 */ nor $t9, $t8, $s4
/* B4CA74 800D58D4 57200004 */ bnezl $t9, .L800D58E8
/* B4CA78 800D58D8 8E490000 */ lw $t1, ($s2)
/* B4CA7C 800D58DC 8E480000 */ lw $t0, ($s2)
/* B4CA80 800D58E0 A10007CF */ sb $zero, 0x7cf($t0)
/* B4CA84 800D58E4 8E490000 */ lw $t1, ($s2)
.L800D58E8:
/* B4CA88 800D58E8 912A07CF */ lbu $t2, 0x7cf($t1)
/* B4CA8C 800D58EC 1540FFF1 */ bnez $t2, .L800D58B4
/* B4CA90 800D58F0 00000000 */ nop
.L800D58F4:
/* B4CA94 800D58F4 0C03518F */ jal Fault_Sleep
/* B4CA98 800D58F8 24040010 */ li $a0, 16
/* B4CA9C 800D58FC 0C0351AD */ jal Fault_UpdatePadImpl
/* B4CAA0 800D5900 00000000 */ nop
/* B4CAA4 800D5904 9622000C */ lhu $v0, 0xc($s1)
/* B4CAA8 800D5908 1040FFFA */ beqz $v0, .L800D58F4
/* B4CAAC 800D590C 00000000 */ nop
/* B4CAB0 800D5910 2401EFFF */ li $at, -4097
/* B4CAB4 800D5914 00415827 */ nor $t3, $v0, $at
/* B4CAB8 800D5918 5160002E */ beql $t3, $zero, .L800D59D4
/* B4CABC 800D591C 8FBF0034 */ lw $ra, 0x34($sp)
/* B4CAC0 800D5920 96230000 */ lhu $v1, ($s1)
/* B4CAC4 800D5924 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
/* B4CAC8 800D5928 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* B4CACC 800D592C 00616027 */ nor $t4, $v1, $at
/* B4CAD0 800D5930 11800027 */ beqz $t4, .L800D59D0
/* B4CAD4 800D5934 2401DFFF */ li $at, -8193
/* B4CAD8 800D5938 00616827 */ nor $t5, $v1, $at
/* B4CADC 800D593C 15A00002 */ bnez $t5, .L800D5948
/* B4CAE0 800D5940 24040010 */ li $a0, 16
/* B4CAE4 800D5944 24040100 */ li $a0, 256
.L800D5948:
/* B4CAE8 800D5948 2401BFFF */ li $at, -16385
/* B4CAEC 800D594C 00617027 */ nor $t6, $v1, $at
/* B4CAF0 800D5950 15C00002 */ bnez $t6, .L800D595C
/* B4CAF4 800D5954 2401F7FF */ li $at, -2049
/* B4CAF8 800D5958 00042200 */ sll $a0, $a0, 8
.L800D595C:
/* B4CAFC 800D595C 00417827 */ nor $t7, $v0, $at
/* B4CB00 800D5960 15E00002 */ bnez $t7, .L800D596C
/* B4CB04 800D5964 2401FBFF */ li $at, -1025
/* B4CB08 800D5968 02649823 */ subu $s3, $s3, $a0
.L800D596C:
/* B4CB0C 800D596C 0041C027 */ nor $t8, $v0, $at
/* B4CB10 800D5970 17000002 */ bnez $t8, .L800D597C
/* B4CB14 800D5974 2401FFF7 */ li $at, -9
/* B4CB18 800D5978 02649821 */ addu $s3, $s3, $a0
.L800D597C:
/* B4CB1C 800D597C 0041C827 */ nor $t9, $v0, $at
/* B4CB20 800D5980 17200002 */ bnez $t9, .L800D598C
/* B4CB24 800D5984 2401FFFB */ li $at, -5
/* B4CB28 800D5988 02C09825 */ move $s3, $s6
.L800D598C:
/* B4CB2C 800D598C 00414027 */ nor $t0, $v0, $at
/* B4CB30 800D5990 15000002 */ bnez $t0, .L800D599C
/* B4CB34 800D5994 2401FFFD */ li $at, -3
/* B4CB38 800D5998 8FB3003C */ lw $s3, 0x3c($sp)
.L800D599C:
/* B4CB3C 800D599C 00414827 */ nor $t1, $v0, $at
/* B4CB40 800D59A0 15200002 */ bnez $t1, .L800D59AC
/* B4CB44 800D59A4 2401FFFE */ li $at, -2
/* B4CB48 800D59A8 8FB30040 */ lw $s3, 0x40($sp)
.L800D59AC:
/* B4CB4C 800D59AC 00415027 */ nor $t2, $v0, $at
/* B4CB50 800D59B0 15400002 */ bnez $t2, .L800D59BC
/* B4CB54 800D59B4 00545827 */ nor $t3, $v0, $s4
/* B4CB58 800D59B8 8FB30044 */ lw $s3, 0x44($sp)
.L800D59BC:
/* B4CB5C 800D59BC 5560FFA9 */ bnezl $t3, .L800D5864
/* B4CB60 800D59C0 0275082B */ sltu $at, $s3, $s5
/* B4CB64 800D59C4 8E4D0000 */ lw $t5, ($s2)
/* B4CB68 800D59C8 240C0001 */ li $t4, 1
/* B4CB6C 800D59CC A1AC07CF */ sb $t4, 0x7cf($t5)
.L800D59D0:
/* B4CB70 800D59D0 8FBF0034 */ lw $ra, 0x34($sp)
.L800D59D4:
/* B4CB74 800D59D4 8FB00018 */ lw $s0, 0x18($sp)
/* B4CB78 800D59D8 8FB1001C */ lw $s1, 0x1c($sp)
/* B4CB7C 800D59DC 8FB20020 */ lw $s2, 0x20($sp)
/* B4CB80 800D59E0 8FB30024 */ lw $s3, 0x24($sp)
/* B4CB84 800D59E4 8FB40028 */ lw $s4, 0x28($sp)
/* B4CB88 800D59E8 8FB5002C */ lw $s5, 0x2c($sp)
/* B4CB8C 800D59EC 8FB60030 */ lw $s6, 0x30($sp)
/* B4CB90 800D59F0 03E00008 */ jr $ra
/* B4CB94 800D59F4 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,83 +0,0 @@
.late_rodata
glabel D_80144A10
.float 0.01
.text
glabel func_800C05E4
/* B37784 800C05E4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B37788 800C05E8 AFA5002C */ sw $a1, 0x2c($sp)
/* B3778C 800C05EC 00052C00 */ sll $a1, $a1, 0x10
/* B37790 800C05F0 00052C03 */ sra $a1, $a1, 0x10
/* B37794 800C05F4 AFB20020 */ sw $s2, 0x20($sp)
/* B37798 800C05F8 2401FFFF */ li $at, -1
/* B3779C 800C05FC 00C09025 */ move $s2, $a2
/* B377A0 800C0600 AFBF0024 */ sw $ra, 0x24($sp)
/* B377A4 800C0604 AFB1001C */ sw $s1, 0x1c($sp)
/* B377A8 800C0608 AFB00018 */ sw $s0, 0x18($sp)
/* B377AC 800C060C AFA40028 */ sw $a0, 0x28($sp)
/* B377B0 800C0610 14A10003 */ bne $a1, $at, .L800C0620
/* B377B4 800C0614 AFA70034 */ sw $a3, 0x34($sp)
/* B377B8 800C0618 10000003 */ b .L800C0628
/* B377BC 800C061C 848207A0 */ lh $v0, 0x7a0($a0)
.L800C0620:
/* B377C0 800C0620 00051400 */ sll $v0, $a1, 0x10
/* B377C4 800C0624 00021403 */ sra $v0, $v0, 0x10
.L800C0628:
/* B377C8 800C0628 8FAF0028 */ lw $t7, 0x28($sp)
/* B377CC 800C062C 0002C080 */ sll $t8, $v0, 2
/* B377D0 800C0630 24050001 */ li $a1, 1
/* B377D4 800C0634 01F8C821 */ addu $t9, $t7, $t8
/* B377D8 800C0638 8F300790 */ lw $s0, 0x790($t9)
/* B377DC 800C063C 02403025 */ move $a2, $s2
/* B377E0 800C0640 0C016AA4 */ jal Camera_SetParam
/* B377E4 800C0644 02002025 */ move $a0, $s0
/* B377E8 800C0648 00028840 */ sll $s1, $v0, 1
/* B377EC 800C064C 02002025 */ move $a0, $s0
/* B377F0 800C0650 24050002 */ li $a1, 2
/* B377F4 800C0654 0C016AA4 */ jal Camera_SetParam
/* B377F8 800C0658 8FA60034 */ lw $a2, 0x34($sp)
/* B377FC 800C065C 02228825 */ or $s1, $s1, $v0
/* B37800 800C0660 00118840 */ sll $s1, $s1, 1
/* B37804 800C0664 02002025 */ move $a0, $s0
/* B37808 800C0668 24050004 */ li $a1, 4
/* B3780C 800C066C 0C016AA4 */ jal Camera_SetParam
/* B37810 800C0670 8FA60038 */ lw $a2, 0x38($sp)
/* B37814 800C0674 02228825 */ or $s1, $s1, $v0
/* B37818 800C0678 02402025 */ move $a0, $s2
/* B3781C 800C067C 0C032D9E */ jal Math3D_Vec3f_DistXYZ
/* B37820 800C0680 8FA50034 */ lw $a1, 0x34($sp)
/* B37824 800C0684 8E020090 */ lw $v0, 0x90($s0)
/* B37828 800C0688 E60000DC */ swc1 $f0, 0xdc($s0)
/* B3782C 800C068C 3C018014 */ lui $at, %hi(D_80144A10)
/* B37830 800C0690 5040000F */ beql $v0, $zero, .L800C06D0
/* B37834 800C0694 44800000 */ mtc1 $zero, $f0
/* B37838 800C0698 C6440000 */ lwc1 $f4, ($s2)
/* B3783C 800C069C C4460024 */ lwc1 $f6, 0x24($v0)
/* B37840 800C06A0 46062201 */ sub.s $f8, $f4, $f6
/* B37844 800C06A4 E60800E4 */ swc1 $f8, 0xe4($s0)
/* B37848 800C06A8 C4500028 */ lwc1 $f16, 0x28($v0)
/* B3784C 800C06AC C64A0004 */ lwc1 $f10, 4($s2)
/* B37850 800C06B0 46105481 */ sub.s $f18, $f10, $f16
/* B37854 800C06B4 E61200E8 */ swc1 $f18, 0xe8($s0)
/* B37858 800C06B8 C446002C */ lwc1 $f6, 0x2c($v0)
/* B3785C 800C06BC C6440008 */ lwc1 $f4, 8($s2)
/* B37860 800C06C0 46062201 */ sub.s $f8, $f4, $f6
/* B37864 800C06C4 10000006 */ b .L800C06E0
/* B37868 800C06C8 E60800EC */ swc1 $f8, 0xec($s0)
/* B3786C 800C06CC 44800000 */ mtc1 $zero, $f0
.L800C06D0:
/* B37870 800C06D0 00000000 */ nop
/* B37874 800C06D4 E60000EC */ swc1 $f0, 0xec($s0)
/* B37878 800C06D8 E60000E8 */ swc1 $f0, 0xe8($s0)
/* B3787C 800C06DC E60000E4 */ swc1 $f0, 0xe4($s0)
.L800C06E0:
/* B37880 800C06E0 C42A4A10 */ lwc1 $f10, %lo(D_80144A10)($at)
/* B37884 800C06E4 02201025 */ move $v0, $s1
/* B37888 800C06E8 E60A0100 */ swc1 $f10, 0x100($s0)
/* B3788C 800C06EC 8FBF0024 */ lw $ra, 0x24($sp)
/* B37890 800C06F0 8FB20020 */ lw $s2, 0x20($sp)
/* B37894 800C06F4 8FB1001C */ lw $s1, 0x1c($sp)
/* B37898 800C06F8 8FB00018 */ lw $s0, 0x18($sp)
/* B3789C 800C06FC 03E00008 */ jr $ra
/* B378A0 800C0700 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,18 +0,0 @@
glabel func_800C0704
/* B378A4 800C0704 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B378A8 800C0708 AFA5001C */ sw $a1, 0x1c($sp)
/* B378AC 800C070C 87AE001E */ lh $t6, 0x1e($sp)
/* B378B0 800C0710 AFBF0014 */ sw $ra, 0x14($sp)
/* B378B4 800C0714 AFA60020 */ sw $a2, 0x20($sp)
/* B378B8 800C0718 000E7880 */ sll $t7, $t6, 2
/* B378BC 800C071C 008FC021 */ addu $t8, $a0, $t7
/* B378C0 800C0720 8F040790 */ lw $a0, 0x790($t8)
/* B378C4 800C0724 27A60020 */ addiu $a2, $sp, 0x20
/* B378C8 800C0728 0C016AA4 */ jal Camera_SetParam
/* B378CC 800C072C 24050020 */ li $a1, 32
/* B378D0 800C0730 8FBF0014 */ lw $ra, 0x14($sp)
/* B378D4 800C0734 30430001 */ andi $v1, $v0, 1
/* B378D8 800C0738 00601025 */ move $v0, $v1
/* B378DC 800C073C 03E00008 */ jr $ra
/* B378E0 800C0740 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,252 +0,0 @@
.rdata
glabel D_809D2570
.asciz "../z_en_bx.c"
.balign 4
glabel D_809D2580
.asciz "../z_en_bx.c"
.balign 4
glabel D_809D2590
.asciz "../z_en_bx.c"
.balign 4
glabel D_809D25A0
.asciz "../z_en_bx.c"
.balign 4
.late_rodata
glabel D_809D25B8
.word 0x3BF5C28F
glabel D_809D25BC
.word 0x3C75C28F
.text
glabel EnBx_Draw
/* 0061C 809D20FC 27BDFF50 */ addiu $sp, $sp, 0xFF50 ## $sp = FFFFFF50
/* 00620 809D2100 AFB2004C */ sw $s2, 0x004C($sp)
/* 00624 809D2104 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 00628 809D2108 AFBF0064 */ sw $ra, 0x0064($sp)
/* 0062C 809D210C AFB70060 */ sw $s7, 0x0060($sp)
/* 00630 809D2110 AFB6005C */ sw $s6, 0x005C($sp)
/* 00634 809D2114 AFB50058 */ sw $s5, 0x0058($sp)
/* 00638 809D2118 AFB40054 */ sw $s4, 0x0054($sp)
/* 0063C 809D211C AFB30050 */ sw $s3, 0x0050($sp)
/* 00640 809D2120 AFB10048 */ sw $s1, 0x0048($sp)
/* 00644 809D2124 AFB00044 */ sw $s0, 0x0044($sp)
/* 00648 809D2128 F7B60038 */ sdc1 $f22, 0x0038($sp)
/* 0064C 809D212C F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 00650 809D2130 AFA500B4 */ sw $a1, 0x00B4($sp)
/* 00654 809D2134 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
/* 00658 809D2138 0C031A73 */ jal Graph_Alloc
/* 0065C 809D213C 24050100 */ addiu $a1, $zero, 0x0100 ## $a1 = 00000100
/* 00660 809D2140 8FAF00B4 */ lw $t7, 0x00B4($sp)
/* 00664 809D2144 3C06809D */ lui $a2, %hi(D_809D2570) ## $a2 = 809D0000
/* 00668 809D2148 0040B025 */ or $s6, $v0, $zero ## $s6 = 00000000
/* 0066C 809D214C 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000
/* 00670 809D2150 24C62570 */ addiu $a2, $a2, %lo(D_809D2570) ## $a2 = 809D2570
/* 00674 809D2154 27A4008C */ addiu $a0, $sp, 0x008C ## $a0 = FFFFFFDC
/* 00678 809D2158 240701D0 */ addiu $a3, $zero, 0x01D0 ## $a3 = 000001D0
/* 0067C 809D215C 0C031AB1 */ jal Graph_OpenDisps
/* 00680 809D2160 00A0B825 */ or $s7, $a1, $zero ## $s7 = 00000000
/* 00684 809D2164 8FB800B4 */ lw $t8, 0x00B4($sp)
/* 00688 809D2168 0C024F46 */ jal func_80093D18
/* 0068C 809D216C 8F040000 */ lw $a0, 0x0000($t8) ## 00000000
/* 00690 809D2170 8EE202C0 */ lw $v0, 0x02C0($s7) ## 000002C0
/* 00694 809D2174 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
/* 00698 809D2178 35080030 */ ori $t0, $t0, 0x0030 ## $t0 = DB060030
/* 0069C 809D217C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 006A0 809D2180 AEF902C0 */ sw $t9, 0x02C0($s7) ## 000002C0
/* 006A4 809D2184 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 006A8 809D2188 AC560004 */ sw $s6, 0x0004($v0) ## 00000004
/* 006AC 809D218C 8EE202C0 */ lw $v0, 0x02C0($s7) ## 000002C0
/* 006B0 809D2190 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
/* 006B4 809D2194 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020
/* 006B8 809D2198 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
/* 006BC 809D219C AEE902C0 */ sw $t1, 0x02C0($s7) ## 000002C0
/* 006C0 809D21A0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 006C4 809D21A4 864B001C */ lh $t3, 0x001C($s2) ## 0000001C
/* 006C8 809D21A8 3C04809D */ lui $a0, %hi(D_809D2560) ## $a0 = 809D0000
/* 006CC 809D21AC 3C088016 */ lui $t0, %hi(gSegments)
/* 006D0 809D21B0 316C007F */ andi $t4, $t3, 0x007F ## $t4 = 00000000
/* 006D4 809D21B4 000C6880 */ sll $t5, $t4, 2
/* 006D8 809D21B8 008D2021 */ addu $a0, $a0, $t5
/* 006DC 809D21BC 8C842560 */ lw $a0, %lo(D_809D2560)($a0)
/* 006E0 809D21C0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 006E4 809D21C4 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 006E8 809D21C8 00047900 */ sll $t7, $a0, 4
/* 006EC 809D21CC 000FC702 */ srl $t8, $t7, 28
/* 006F0 809D21D0 0018C880 */ sll $t9, $t8, 2
/* 006F4 809D21D4 01194021 */ addu $t0, $t0, $t9
/* 006F8 809D21D8 8D086FA8 */ lw $t0, %lo(gSegments)($t0)
/* 006FC 809D21DC 00817024 */ and $t6, $a0, $at
/* 00700 809D21E0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00704 809D21E4 01C84821 */ addu $t1, $t6, $t0
/* 00708 809D21E8 01215021 */ addu $t2, $t1, $at
/* 0070C 809D21EC AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
/* 00710 809D21F0 8EE202C0 */ lw $v0, 0x02C0($s7) ## 000002C0
/* 00714 809D21F4 8FA300B4 */ lw $v1, 0x00B4($sp)
/* 00718 809D21F8 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
/* 0071C 809D21FC 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 00720 809D2200 AEEB02C0 */ sw $t3, 0x02C0($s7) ## 000002C0
/* 00724 809D2204 358C0024 */ ori $t4, $t4, 0x0024 ## $t4 = DB060024
/* 00728 809D2208 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 0072C 809D220C 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 00730 809D2210 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000
/* 00734 809D2214 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00738 809D2218 240F0010 */ addiu $t7, $zero, 0x0010 ## $t7 = 00000010
/* 0073C 809D221C 240D0010 */ addiu $t5, $zero, 0x0010 ## $t5 = 00000010
/* 00740 809D2220 AFAD0010 */ sw $t5, 0x0010($sp)
/* 00744 809D2224 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00748 809D2228 AFB80018 */ sw $t8, 0x0018($sp)
/* 0074C 809D222C AFA0001C */ sw $zero, 0x001C($sp)
/* 00750 809D2230 0323C821 */ addu $t9, $t9, $v1
/* 00754 809D2234 8F391DE4 */ lw $t9, 0x1DE4($t9) ## 00011DE4
/* 00758 809D2238 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020
/* 0075C 809D223C 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
/* 00760 809D2240 00190823 */ subu $at, $zero, $t9
/* 00764 809D2244 00017080 */ sll $t6, $at, 2
/* 00768 809D2248 01C17021 */ addu $t6, $t6, $at
/* 0076C 809D224C 000E7040 */ sll $t6, $t6, 1
/* 00770 809D2250 31C8007F */ andi $t0, $t6, 0x007F ## $t0 = 00000000
/* 00774 809D2254 AFA80020 */ sw $t0, 0x0020($sp)
/* 00778 809D2258 AFA90024 */ sw $t1, 0x0024($sp)
/* 0077C 809D225C AFAA0028 */ sw $t2, 0x0028($sp)
/* 00780 809D2260 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00784 809D2264 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00788 809D2268 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0078C 809D226C 0C0253D0 */ jal Gfx_TwoTexScroll
/* 00790 809D2270 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 00794 809D2274 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 00798 809D2278 8EE202C0 */ lw $v0, 0x02C0($s7) ## 000002C0
/* 0079C 809D227C 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
/* 007A0 809D2280 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
/* 007A4 809D2284 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 007A8 809D2288 AEEB02C0 */ sw $t3, 0x02C0($s7) ## 000002C0
/* 007AC 809D228C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 007B0 809D2290 8FAD00B4 */ lw $t5, 0x00B4($sp)
/* 007B4 809D2294 3C05809D */ lui $a1, %hi(D_809D2580) ## $a1 = 809D0000
/* 007B8 809D2298 24A52580 */ addiu $a1, $a1, %lo(D_809D2580) ## $a1 = 809D2580
/* 007BC 809D229C 240601DE */ addiu $a2, $zero, 0x01DE ## $a2 = 000001DE
/* 007C0 809D22A0 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 007C4 809D22A4 0C0346A2 */ jal Matrix_NewMtx
/* 007C8 809D22A8 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000
/* 007CC 809D22AC AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 007D0 809D22B0 864F001C */ lh $t7, 0x001C($s2) ## 0000001C
/* 007D4 809D22B4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 007D8 809D22B8 31F80080 */ andi $t8, $t7, 0x0080 ## $t8 = 00000000
/* 007DC 809D22BC 53000004 */ beql $t8, $zero, .L809D22D0
/* 007E0 809D22C0 8659014E */ lh $t9, 0x014E($s2) ## 0000014E
/* 007E4 809D22C4 0C274743 */ jal func_809D1D0C
/* 007E8 809D22C8 8FA500B4 */ lw $a1, 0x00B4($sp)
/* 007EC 809D22CC 8659014E */ lh $t9, 0x014E($s2) ## 0000014E
.L809D22D0:
/* 007F0 809D22D0 272EF448 */ addiu $t6, $t9, 0xF448 ## $t6 = FFFFF448
/* 007F4 809D22D4 A64E014E */ sh $t6, 0x014E($s2) ## 0000014E
/* 007F8 809D22D8 0C01DE0D */ jal Math_Coss
## coss?
/* 007FC 809D22DC 8644014E */ lh $a0, 0x014E($s2) ## 0000014E
/* 00800 809D22E0 3C01809D */ lui $at, %hi(D_809D25B8) ## $at = 809D0000
/* 00804 809D22E4 C43425B8 */ lwc1 $f20, %lo(D_809D25B8)($at)
/* 00808 809D22E8 3C01809D */ lui $at, %hi(D_809D25BC) ## $at = 809D0000
/* 0080C 809D22EC C43625BC */ lwc1 $f22, %lo(D_809D25BC)($at)
/* 00810 809D22F0 46140102 */ mul.s $f4, $f0, $f20
/* 00814 809D22F4 24110003 */ addiu $s1, $zero, 0x0003 ## $s1 = 00000003
/* 00818 809D22F8 24140006 */ addiu $s4, $zero, 0x0006 ## $s4 = 00000006
/* 0081C 809D22FC 2413000C */ addiu $s3, $zero, 0x000C ## $s3 = 0000000C
/* 00820 809D2300 46162080 */ add.s $f2, $f4, $f22
/* 00824 809D2304 E6420050 */ swc1 $f2, 0x0050($s2) ## 00000050
/* 00828 809D2308 E6420058 */ swc1 $f2, 0x0058($s2) ## 00000058
.L809D230C:
/* 0082C 809D230C 8648014E */ lh $t0, 0x014E($s2) ## 0000014E
/* 00830 809D2310 00115B40 */ sll $t3, $s1, 13
/* 00834 809D2314 010B2021 */ addu $a0, $t0, $t3
/* 00838 809D2318 00042400 */ sll $a0, $a0, 16
/* 0083C 809D231C 0C01DE0D */ jal Math_Coss
## coss?
/* 00840 809D2320 00042403 */ sra $a0, $a0, 16
/* 00844 809D2324 02330019 */ multu $s1, $s3
/* 00848 809D2328 46140182 */ mul.s $f6, $f0, $f20
/* 0084C 809D232C 46163080 */ add.s $f2, $f6, $f22
/* 00850 809D2330 00006012 */ mflo $t4
/* 00854 809D2334 024C8021 */ addu $s0, $s2, $t4
/* 00858 809D2338 E6020184 */ swc1 $f2, 0x0184($s0) ## 00000184
/* 0085C 809D233C 02340019 */ multu $s1, $s4
/* 00860 809D2340 E602018C */ swc1 $f2, 0x018C($s0) ## 0000018C
/* 00864 809D2344 864F00B4 */ lh $t7, 0x00B4($s2) ## 000000B4
/* 00868 809D2348 2631FFFF */ addiu $s1, $s1, 0xFFFF ## $s1 = 00000002
/* 0086C 809D234C 00118C00 */ sll $s1, $s1, 16
/* 00870 809D2350 00118C03 */ sra $s1, $s1, 16
/* 00874 809D2354 00006812 */ mflo $t5
/* 00878 809D2358 024D1021 */ addu $v0, $s2, $t5
/* 0087C 809D235C A44F01B4 */ sh $t7, 0x01B4($v0) ## 000001B4
/* 00880 809D2360 865800B6 */ lh $t8, 0x00B6($s2) ## 000000B6
/* 00884 809D2364 A45801B6 */ sh $t8, 0x01B6($v0) ## 000001B6
/* 00888 809D2368 865900B8 */ lh $t9, 0x00B8($s2) ## 000000B8
/* 0088C 809D236C 0621FFE7 */ bgez $s1, .L809D230C
/* 00890 809D2370 A45901B8 */ sh $t9, 0x01B8($v0) ## 000001B8
/* 00894 809D2374 3C15809D */ lui $s5, %hi(D_809D2590) ## $s5 = 809D0000
/* 00898 809D2378 26B52590 */ addiu $s5, $s5, %lo(D_809D2590) ## $s5 = 809D2590
/* 0089C 809D237C 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
.L809D2380:
/* 008A0 809D2380 02330019 */ multu $s1, $s3
/* 008A4 809D2384 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 008A8 809D2388 00007012 */ mflo $t6
/* 008AC 809D238C 024E8021 */ addu $s0, $s2, $t6
/* 008B0 809D2390 C60C0154 */ lwc1 $f12, 0x0154($s0) ## 00000154
/* 008B4 809D2394 C60E0158 */ lwc1 $f14, 0x0158($s0) ## 00000158
/* 008B8 809D2398 0C034261 */ jal Matrix_Translate
/* 008BC 809D239C 8E06015C */ lw $a2, 0x015C($s0) ## 0000015C
/* 008C0 809D23A0 02340019 */ multu $s1, $s4
/* 008C4 809D23A4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 008C8 809D23A8 00004812 */ mflo $t1
/* 008CC 809D23AC 02491021 */ addu $v0, $s2, $t1
/* 008D0 809D23B0 844401B4 */ lh $a0, 0x01B4($v0) ## 000001B4
/* 008D4 809D23B4 844501B6 */ lh $a1, 0x01B6($v0) ## 000001B6
/* 008D8 809D23B8 0C034421 */ jal Matrix_RotateRPY
/* 008DC 809D23BC 844601B8 */ lh $a2, 0x01B8($v0) ## 000001B8
/* 008E0 809D23C0 C60C0184 */ lwc1 $f12, 0x0184($s0) ## 00000184
/* 008E4 809D23C4 C60E0188 */ lwc1 $f14, 0x0188($s0) ## 00000188
/* 008E8 809D23C8 8E06018C */ lw $a2, 0x018C($s0) ## 0000018C
/* 008EC 809D23CC 0C0342A3 */ jal Matrix_Scale
/* 008F0 809D23D0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 008F4 809D23D4 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
/* 008F8 809D23D8 02A02825 */ or $a1, $s5, $zero ## $a1 = 809D2590
/* 008FC 809D23DC 0C034695 */ jal Matrix_ToMtx
/* 00900 809D23E0 240601FB */ addiu $a2, $zero, 0x01FB ## $a2 = 000001FB
/* 00904 809D23E4 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
/* 00908 809D23E8 00118C00 */ sll $s1, $s1, 16
/* 0090C 809D23EC 00118C03 */ sra $s1, $s1, 16
/* 00910 809D23F0 2A210004 */ slti $at, $s1, 0x0004
/* 00914 809D23F4 1420FFE2 */ bne $at, $zero, .L809D2380
/* 00918 809D23F8 26D60040 */ addiu $s6, $s6, 0x0040 ## $s6 = 00000040
/* 0091C 809D23FC 8EE202C0 */ lw $v0, 0x02C0($s7) ## 000002C0
/* 00920 809D2400 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000
/* 00924 809D2404 256B22F0 */ addiu $t3, $t3, 0x22F0 ## $t3 = 060022F0
/* 00928 809D2408 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 0092C 809D240C AEEA02C0 */ sw $t2, 0x02C0($s7) ## 000002C0
/* 00930 809D2410 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000
/* 00934 809D2414 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 00938 809D2418 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
/* 0093C 809D241C 8FAC00B4 */ lw $t4, 0x00B4($sp)
/* 00940 809D2420 3C06809D */ lui $a2, %hi(D_809D25A0) ## $a2 = 809D0000
/* 00944 809D2424 24C625A0 */ addiu $a2, $a2, %lo(D_809D25A0) ## $a2 = 809D25A0
/* 00948 809D2428 27A4008C */ addiu $a0, $sp, 0x008C ## $a0 = FFFFFFDC
/* 0094C 809D242C 240701FF */ addiu $a3, $zero, 0x01FF ## $a3 = 000001FF
/* 00950 809D2430 0C031AD5 */ jal Graph_CloseDisps
/* 00954 809D2434 8D850000 */ lw $a1, 0x0000($t4) ## 00000000
/* 00958 809D2438 8FBF0064 */ lw $ra, 0x0064($sp)
/* 0095C 809D243C D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 00960 809D2440 D7B60038 */ ldc1 $f22, 0x0038($sp)
/* 00964 809D2444 8FB00044 */ lw $s0, 0x0044($sp)
/* 00968 809D2448 8FB10048 */ lw $s1, 0x0048($sp)
/* 0096C 809D244C 8FB2004C */ lw $s2, 0x004C($sp)
/* 00970 809D2450 8FB30050 */ lw $s3, 0x0050($sp)
/* 00974 809D2454 8FB40054 */ lw $s4, 0x0054($sp)
/* 00978 809D2458 8FB50058 */ lw $s5, 0x0058($sp)
/* 0097C 809D245C 8FB6005C */ lw $s6, 0x005C($sp)
/* 00980 809D2460 8FB70060 */ lw $s7, 0x0060($sp)
/* 00984 809D2464 03E00008 */ jr $ra
/* 00988 809D2468 27BD00B0 */ addiu $sp, $sp, 0x00B0 ## $sp = 00000000
/* 0098C 809D246C 00000000 */ nop

View File

@ -1,449 +0,0 @@
.late_rodata
glabel D_80A4FED8
.float 0.1
glabel D_80A4FEDC
.float 0.001
glabel D_80A4FEE0
.float 0.001
glabel D_80A4FEE4
.word 0x43360B61
glabel D_80A4FEE8
.word 0x43360B61
glabel D_80A4FEEC
.word 0xBE99999A
glabel D_80A4FEF0
.float 0.001
glabel D_80A4FEF4
.float 0.001
glabel D_80A4FEF8
.word 0x3F32B8C2
glabel D_80A4FEFC
.word 0x3EB2B8C2
glabel D_80A4FF00
.word 0x45638000
glabel D_80A4FF04
.float 0.001
glabel D_80A4FF08
.float 0.001
glabel D_80A4FF0C
.float 0.001
glabel D_80A4FF10
.float 0.001
glabel D_80A4FF14
.float 0.1
glabel D_80A4FF18
.word 0x3C8EFA35
glabel D_80A4FF1C
.float 0.1
glabel D_80A4FF20
.word 0x3C8EFA35
.text
glabel func_80A4F13C
/* 00E1C 80A4F13C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00E20 80A4F140 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00E24 80A4F144 AFB00020 */ sw $s0, 0x0020($sp)
/* 00E28 80A4F148 AFA5004C */ sw $a1, 0x004C($sp)
/* 00E2C 80A4F14C 848E01A2 */ lh $t6, 0x01A2($a0) ## 000001A2
/* 00E30 80A4F150 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00E34 80A4F154 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
/* 00E38 80A4F158 A7AE0036 */ sh $t6, 0x0036($sp)
/* 00E3C 80A4F15C 9082019F */ lbu $v0, 0x019F($a0) ## 0000019F
/* 00E40 80A4F160 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00E44 80A4F164 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00E48 80A4F168 1440000F */ bne $v0, $zero, .L80A4F1A8
/* 00E4C 80A4F16C 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
/* 00E50 80A4F170 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00E54 80A4F174 44813000 */ mtc1 $at, $f6 ## $f6 = 90.00
/* 00E58 80A4F178 3C0180A5 */ lui $at, %hi(D_80A4FED8) ## $at = 80A50000
/* 00E5C 80A4F17C E48401E8 */ swc1 $f4, 0x01E8($a0) ## 000001E8
/* 00E60 80A4F180 E48601EC */ swc1 $f6, 0x01EC($a0) ## 000001EC
/* 00E64 80A4F184 C428FED8 */ lwc1 $f8, %lo(D_80A4FED8)($at)
/* 00E68 80A4F188 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00E6C 80A4F18C 44815000 */ mtc1 $at, $f10 ## $f10 = 2.00
/* 00E70 80A4F190 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 00E74 80A4F194 A08F019F */ sb $t7, 0x019F($a0) ## 0000019F
/* 00E78 80A4F198 31E200FF */ andi $v0, $t7, 0x00FF ## $v0 = 00000001
/* 00E7C 80A4F19C E48801F0 */ swc1 $f8, 0x01F0($a0) ## 000001F0
/* 00E80 80A4F1A0 E48A01F4 */ swc1 $f10, 0x01F4($a0) ## 000001F4
/* 00E84 80A4F1A4 E49001F8 */ swc1 $f16, 0x01F8($a0) ## 000001F8
.L80A4F1A8:
/* 00E88 80A4F1A8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00E8C 80A4F1AC 1441001F */ bne $v0, $at, .L80A4F22C
/* 00E90 80A4F1B0 260401F0 */ addiu $a0, $s0, 0x01F0 ## $a0 = 000001F0
/* 00E94 80A4F1B4 3C0180A5 */ lui $at, %hi(D_80A4FEDC) ## $at = 80A50000
/* 00E98 80A4F1B8 C432FEDC */ lwc1 $f18, %lo(D_80A4FEDC)($at)
/* 00E9C 80A4F1BC 8E0501F4 */ lw $a1, 0x01F4($s0) ## 000001F4
/* 00EA0 80A4F1C0 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD
/* 00EA4 80A4F1C4 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00EA8 80A4F1C8 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00EAC 80A4F1CC 3C0180A5 */ lui $at, %hi(D_80A4FEE0) ## $at = 80A50000
/* 00EB0 80A4F1D0 C424FEE0 */ lwc1 $f4, %lo(D_80A4FEE0)($at)
/* 00EB4 80A4F1D4 8E0501EC */ lw $a1, 0x01EC($s0) ## 000001EC
/* 00EB8 80A4F1D8 8E0701F0 */ lw $a3, 0x01F0($s0) ## 000001F0
/* 00EBC 80A4F1DC 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
/* 00EC0 80A4F1E0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00EC4 80A4F1E4 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00EC8 80A4F1E8 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00ECC 80A4F1EC 3C0180A5 */ lui $at, %hi(D_80A4FEE4) ## $at = 80A50000
/* 00ED0 80A4F1F0 C428FEE4 */ lwc1 $f8, %lo(D_80A4FEE4)($at)
/* 00ED4 80A4F1F4 C60601E8 */ lwc1 $f6, 0x01E8($s0) ## 000001E8
/* 00ED8 80A4F1F8 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 00EDC 80A4F1FC 860801A2 */ lh $t0, 0x01A2($s0) ## 000001A2
/* 00EE0 80A4F200 46083282 */ mul.s $f10, $f6, $f8
/* 00EE4 80A4F204 46120032 */ c.eq.s $f0, $f18
/* 00EE8 80A4F208 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
/* 00EEC 80A4F20C 4600540D */ trunc.w.s $f16, $f10
/* 00EF0 80A4F210 44198000 */ mfc1 $t9, $f16
/* 00EF4 80A4F214 00000000 */ nop
/* 00EF8 80A4F218 01194821 */ addu $t1, $t0, $t9
/* 00EFC 80A4F21C 45000003 */ bc1f .L80A4F22C
/* 00F00 80A4F220 A60901A2 */ sh $t1, 0x01A2($s0) ## 000001A2
/* 00F04 80A4F224 A6000200 */ sh $zero, 0x0200($s0) ## 00000200
/* 00F08 80A4F228 A20A019F */ sb $t2, 0x019F($s0) ## 0000019F
.L80A4F22C:
/* 00F0C 80A4F22C 920B019F */ lbu $t3, 0x019F($s0) ## 0000019F
/* 00F10 80A4F230 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00F14 80A4F234 15610023 */ bne $t3, $at, .L80A4F2C4
/* 00F18 80A4F238 3C0180A5 */ lui $at, %hi(D_80A4FEE8) ## $at = 80A50000
/* 00F1C 80A4F23C C426FEE8 */ lwc1 $f6, %lo(D_80A4FEE8)($at)
/* 00F20 80A4F240 C60401E8 */ lwc1 $f4, 0x01E8($s0) ## 000001E8
/* 00F24 80A4F244 96020200 */ lhu $v0, 0x0200($s0) ## 00000200
/* 00F28 80A4F248 860E01A2 */ lh $t6, 0x01A2($s0) ## 000001A2
/* 00F2C 80A4F24C 46062202 */ mul.s $f8, $f4, $f6
/* 00F30 80A4F250 28430029 */ slti $v1, $v0, 0x0029
/* 00F34 80A4F254 38630001 */ xori $v1, $v1, 0x0001 ## $v1 = 00000001
/* 00F38 80A4F258 24580001 */ addiu $t8, $v0, 0x0001 ## $t8 = 00000001
/* 00F3C 80A4F25C A6180200 */ sh $t8, 0x0200($s0) ## 00000200
/* 00F40 80A4F260 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00F44 80A4F264 4600428D */ trunc.w.s $f10, $f8
/* 00F48 80A4F268 440D5000 */ mfc1 $t5, $f10
/* 00F4C 80A4F26C 00000000 */ nop
/* 00F50 80A4F270 01CD7821 */ addu $t7, $t6, $t5
/* 00F54 80A4F274 10600013 */ beq $v1, $zero, .L80A4F2C4
/* 00F58 80A4F278 A60F01A2 */ sh $t7, 0x01A2($s0) ## 000001A2
/* 00F5C 80A4F27C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 00F60 80A4F280 C61001B8 */ lwc1 $f16, 0x01B8($s0) ## 000001B8
/* 00F64 80A4F284 C60601C4 */ lwc1 $f6, 0x01C4($s0) ## 000001C4
/* 00F68 80A4F288 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 00F6C 80A4F28C 46008481 */ sub.s $f18, $f16, $f0
/* 00F70 80A4F290 44812000 */ mtc1 $at, $f4 ## $f4 = 1.50
/* 00F74 80A4F294 3C0180A5 */ lui $at, %hi(D_80A4FEEC) ## $at = 80A50000
/* 00F78 80A4F298 46003201 */ sub.s $f8, $f6, $f0
/* 00F7C 80A4F29C E61201E8 */ swc1 $f18, 0x01E8($s0) ## 000001E8
/* 00F80 80A4F2A0 E60401EC */ swc1 $f4, 0x01EC($s0) ## 000001EC
/* 00F84 80A4F2A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F88 80A4F2A8 E60801F0 */ swc1 $f8, 0x01F0($s0) ## 000001F0
/* 00F8C 80A4F2AC C42AFEEC */ lwc1 $f10, %lo(D_80A4FEEC)($at)
/* 00F90 80A4F2B0 240528E9 */ addiu $a1, $zero, 0x28E9 ## $a1 = 000028E9
/* 00F94 80A4F2B4 0C00BE0A */ jal Audio_PlayActorSound2
/* 00F98 80A4F2B8 E60A01F4 */ swc1 $f10, 0x01F4($s0) ## 000001F4
/* 00F9C 80A4F2BC 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
/* 00FA0 80A4F2C0 A208019F */ sb $t0, 0x019F($s0) ## 0000019F
.L80A4F2C4:
/* 00FA4 80A4F2C4 9219019F */ lbu $t9, 0x019F($s0) ## 0000019F
/* 00FA8 80A4F2C8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00FAC 80A4F2CC 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
/* 00FB0 80A4F2D0 17210030 */ bne $t9, $at, .L80A4F394
/* 00FB4 80A4F2D4 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 00FB8 80A4F2D8 860901A2 */ lh $t1, 0x01A2($s0) ## 000001A2
/* 00FBC 80A4F2DC 3C0180A5 */ lui $at, %hi(D_80A4FEF0) ## $at = 80A50000
/* 00FC0 80A4F2E0 8E0501EC */ lw $a1, 0x01EC($s0) ## 000001EC
/* 00FC4 80A4F2E4 252A4000 */ addiu $t2, $t1, 0x4000 ## $t2 = 00004000
/* 00FC8 80A4F2E8 A60A01A2 */ sh $t2, 0x01A2($s0) ## 000001A2
/* 00FCC 80A4F2EC C430FEF0 */ lwc1 $f16, %lo(D_80A4FEF0)($at)
/* 00FD0 80A4F2F0 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
/* 00FD4 80A4F2F4 260B01F0 */ addiu $t3, $s0, 0x01F0 ## $t3 = 000001F0
/* 00FD8 80A4F2F8 AFAB0028 */ sw $t3, 0x0028($sp)
/* 00FDC 80A4F2FC 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
/* 00FE0 80A4F300 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 00FE4 80A4F304 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00FE8 80A4F308 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00FEC 80A4F30C 3C0180A5 */ lui $at, %hi(D_80A4FEF4) ## $at = 80A50000
/* 00FF0 80A4F310 C432FEF4 */ lwc1 $f18, %lo(D_80A4FEF4)($at)
/* 00FF4 80A4F314 E7A00044 */ swc1 $f0, 0x0044($sp)
/* 00FF8 80A4F318 8E0501F4 */ lw $a1, 0x01F4($s0) ## 000001F4
/* 00FFC 80A4F31C 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 01000 80A4F320 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
/* 01004 80A4F324 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
/* 01008 80A4F328 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 0100C 80A4F32C 8FA40028 */ lw $a0, 0x0028($sp)
/* 01010 80A4F330 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 01014 80A4F334 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 01018 80A4F338 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0101C 80A4F33C 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 01020 80A4F340 C60401F0 */ lwc1 $f4, 0x01F0($s0) ## 000001F0
/* 01024 80A4F344 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
/* 01028 80A4F348 C60A01E8 */ lwc1 $f10, 0x01E8($s0) ## 000001E8
/* 0102C 80A4F34C 46062200 */ add.s $f8, $f4, $f6
/* 01030 80A4F350 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 01034 80A4F354 3C0180A5 */ lui $at, %hi(D_80A4FEF8) ## $at = 80A50000
/* 01038 80A4F358 46105480 */ add.s $f18, $f10, $f16
/* 0103C 80A4F35C E60801B4 */ swc1 $f8, 0x01B4($s0) ## 000001B4
/* 01040 80A4F360 E61201B8 */ swc1 $f18, 0x01B8($s0) ## 000001B8
/* 01044 80A4F364 C7A40044 */ lwc1 $f4, 0x0044($sp)
/* 01048 80A4F368 46062032 */ c.eq.s $f4, $f6
/* 0104C 80A4F36C 00000000 */ nop
/* 01050 80A4F370 45020009 */ bc1fl .L80A4F398
/* 01054 80A4F374 920E019F */ lbu $t6, 0x019F($s0) ## 0000019F
/* 01058 80A4F378 C428FEF8 */ lwc1 $f8, %lo(D_80A4FEF8)($at)
/* 0105C 80A4F37C 3C0180A5 */ lui $at, %hi(D_80A4FEFC) ## $at = 80A50000
/* 01060 80A4F380 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004
/* 01064 80A4F384 E60801E8 */ swc1 $f8, 0x01E8($s0) ## 000001E8
/* 01068 80A4F388 C42AFEFC */ lwc1 $f10, %lo(D_80A4FEFC)($at)
/* 0106C 80A4F38C A20C019F */ sb $t4, 0x019F($s0) ## 0000019F
/* 01070 80A4F390 E60A01EC */ swc1 $f10, 0x01EC($s0) ## 000001EC
.L80A4F394:
/* 01074 80A4F394 920E019F */ lbu $t6, 0x019F($s0) ## 0000019F
.L80A4F398:
/* 01078 80A4F398 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 0107C 80A4F39C 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
/* 01080 80A4F3A0 15C1001E */ bne $t6, $at, .L80A4F41C
/* 01084 80A4F3A4 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 01088 80A4F3A8 3C0180A5 */ lui $at, %hi(D_80A4FF00) ## $at = 80A50000
/* 0108C 80A4F3AC C430FF00 */ lwc1 $f16, %lo(D_80A4FF00)($at)
/* 01090 80A4F3B0 8E0501EC */ lw $a1, 0x01EC($s0) ## 000001EC
/* 01094 80A4F3B4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 01098 80A4F3B8 3C074680 */ lui $a3, 0x4680 ## $a3 = 46800000
/* 0109C 80A4F3BC 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 010A0 80A4F3C0 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 010A4 80A4F3C4 C61201E8 */ lwc1 $f18, 0x01E8($s0) ## 000001E8
/* 010A8 80A4F3C8 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 010AC 80A4F3CC 860D01A2 */ lh $t5, 0x01A2($s0) ## 000001A2
/* 010B0 80A4F3D0 4600910D */ trunc.w.s $f4, $f18
/* 010B4 80A4F3D4 46060032 */ c.eq.s $f0, $f6
/* 010B8 80A4F3D8 44192000 */ mfc1 $t9, $f4
/* 010BC 80A4F3DC 00000000 */ nop
/* 010C0 80A4F3E0 01B94821 */ addu $t1, $t5, $t9
/* 010C4 80A4F3E4 4500000D */ bc1f .L80A4F41C
/* 010C8 80A4F3E8 A60901A2 */ sh $t1, 0x01A2($s0) ## 000001A2
/* 010CC 80A4F3EC 860201A2 */ lh $v0, 0x01A2($s0) ## 000001A2
/* 010D0 80A4F3F0 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000
/* 010D4 80A4F3F4 58400003 */ blezl $v0, .L80A4F404
/* 010D8 80A4F3F8 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 010DC 80A4F3FC 00411021 */ addu $v0, $v0, $at
/* 010E0 80A4F400 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
.L80A4F404:
/* 010E4 80A4F404 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 010E8 80A4F408 240A0005 */ addiu $t2, $zero, 0x0005 ## $t2 = 00000005
/* 010EC 80A4F40C 468042A0 */ cvt.s.w $f10, $f8
/* 010F0 80A4F410 A20A019F */ sb $t2, 0x019F($s0) ## 0000019F
/* 010F4 80A4F414 E61001EC */ swc1 $f16, 0x01EC($s0) ## 000001EC
/* 010F8 80A4F418 E60A01E8 */ swc1 $f10, 0x01E8($s0) ## 000001E8
.L80A4F41C:
/* 010FC 80A4F41C 920B019F */ lbu $t3, 0x019F($s0) ## 0000019F
/* 01100 80A4F420 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 01104 80A4F424 55610034 */ bnel $t3, $at, .L80A4F4F8
/* 01108 80A4F428 9218019F */ lbu $t8, 0x019F($s0) ## 0000019F
/* 0110C 80A4F42C 860201A2 */ lh $v0, 0x01A2($s0) ## 000001A2
/* 01110 80A4F430 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000
/* 01114 80A4F434 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
/* 01118 80A4F438 18400002 */ blez $v0, .L80A4F444
/* 0111C 80A4F43C 34210001 */ ori $at, $at, 0x0001 ## $at = FFFF0001
/* 01120 80A4F440 00411021 */ addu $v0, $v0, $at
.L80A4F444:
/* 01124 80A4F444 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
/* 01128 80A4F448 3C0180A5 */ lui $at, %hi(D_80A4FF04) ## $at = 80A50000
/* 0112C 80A4F44C 8E0501EC */ lw $a1, 0x01EC($s0) ## 000001EC
/* 01130 80A4F450 46809120 */ cvt.s.w $f4, $f18
/* 01134 80A4F454 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 01138 80A4F458 3C074563 */ lui $a3, 0x4563 ## $a3 = 45630000
/* 0113C 80A4F45C 34E78000 */ ori $a3, $a3, 0x8000 ## $a3 = 45638000
/* 01140 80A4F460 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 01144 80A4F464 E60401E8 */ swc1 $f4, 0x01E8($s0) ## 000001E8
/* 01148 80A4F468 C426FF04 */ lwc1 $f6, %lo(D_80A4FF04)($at)
/* 0114C 80A4F46C 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 01150 80A4F470 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01154 80A4F474 C60801E8 */ lwc1 $f8, 0x01E8($s0) ## 000001E8
/* 01158 80A4F478 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 0115C 80A4F47C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01160 80A4F480 4600428D */ trunc.w.s $f10, $f8
/* 01164 80A4F484 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01168 80A4F488 24053831 */ addiu $a1, $zero, 0x3831 ## $a1 = 00003831
/* 0116C 80A4F48C 46100032 */ c.eq.s $f0, $f16
/* 01170 80A4F490 440E5000 */ mfc1 $t6, $f10
/* 01174 80A4F494 45000017 */ bc1f .L80A4F4F4
/* 01178 80A4F498 A60E01A2 */ sh $t6, 0x01A2($s0) ## 000001A2
/* 0117C 80A4F49C C61201B8 */ lwc1 $f18, 0x01B8($s0) ## 000001B8
/* 01180 80A4F4A0 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 01184 80A4F4A4 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 01188 80A4F4A8 C60A01B4 */ lwc1 $f10, 0x01B4($s0) ## 000001B4
/* 0118C 80A4F4AC 46049181 */ sub.s $f6, $f18, $f4
/* 01190 80A4F4B0 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
/* 01194 80A4F4B4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 01198 80A4F4B8 E60801EC */ swc1 $f8, 0x01EC($s0) ## 000001EC
/* 0119C 80A4F4BC 46105481 */ sub.s $f18, $f10, $f16
/* 011A0 80A4F4C0 E60601E8 */ swc1 $f6, 0x01E8($s0) ## 000001E8
/* 011A4 80A4F4C4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 011A8 80A4F4C8 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
/* 011AC 80A4F4CC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 011B0 80A4F4D0 A60001A2 */ sh $zero, 0x01A2($s0) ## 000001A2
/* 011B4 80A4F4D4 A6000200 */ sh $zero, 0x0200($s0) ## 00000200
/* 011B8 80A4F4D8 E61201F0 */ swc1 $f18, 0x01F0($s0) ## 000001F0
/* 011BC 80A4F4DC E60401F4 */ swc1 $f4, 0x01F4($s0) ## 000001F4
/* 011C0 80A4F4E0 E60601F8 */ swc1 $f6, 0x01F8($s0) ## 000001F8
/* 011C4 80A4F4E4 0C00BE0A */ jal Audio_PlayActorSound2
/* 011C8 80A4F4E8 E60801FC */ swc1 $f8, 0x01FC($s0) ## 000001FC
/* 011CC 80A4F4EC 240F0006 */ addiu $t7, $zero, 0x0006 ## $t7 = 00000006
/* 011D0 80A4F4F0 A20F019F */ sb $t7, 0x019F($s0) ## 0000019F
.L80A4F4F4:
/* 011D4 80A4F4F4 9218019F */ lbu $t8, 0x019F($s0) ## 0000019F
.L80A4F4F8:
/* 011D8 80A4F4F8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 011DC 80A4F4FC 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
/* 011E0 80A4F500 17010072 */ bne $t8, $at, .L80A4F6CC
/* 011E4 80A4F504 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 011E8 80A4F508 3C0180A5 */ lui $at, %hi(D_80A4FF08) ## $at = 80A50000
/* 011EC 80A4F50C C42AFF08 */ lwc1 $f10, %lo(D_80A4FF08)($at)
/* 011F0 80A4F510 8E0501EC */ lw $a1, 0x01EC($s0) ## 000001EC
/* 011F4 80A4F514 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
/* 011F8 80A4F518 260801F0 */ addiu $t0, $s0, 0x01F0 ## $t0 = 000001F0
/* 011FC 80A4F51C AFA80028 */ sw $t0, 0x0028($sp)
/* 01200 80A4F520 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD
/* 01204 80A4F524 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 01208 80A4F528 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 0120C 80A4F52C E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 01210 80A4F530 3C0180A5 */ lui $at, %hi(D_80A4FF0C) ## $at = 80A50000
/* 01214 80A4F534 C430FF0C */ lwc1 $f16, %lo(D_80A4FF0C)($at)
/* 01218 80A4F538 E7A00044 */ swc1 $f0, 0x0044($sp)
/* 0121C 80A4F53C 8E0501F4 */ lw $a1, 0x01F4($s0) ## 000001F4
/* 01220 80A4F540 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 01224 80A4F544 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
/* 01228 80A4F548 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD
/* 0122C 80A4F54C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 01230 80A4F550 8FA40028 */ lw $a0, 0x0028($sp)
/* 01234 80A4F554 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 01238 80A4F558 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 0123C 80A4F55C 3C0180A5 */ lui $at, %hi(D_80A4FF10) ## $at = 80A50000
/* 01240 80A4F560 C432FF10 */ lwc1 $f18, %lo(D_80A4FF10)($at)
/* 01244 80A4F564 E7A00040 */ swc1 $f0, 0x0040($sp)
/* 01248 80A4F568 8E0501FC */ lw $a1, 0x01FC($s0) ## 000001FC
/* 0124C 80A4F56C 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 01250 80A4F570 3C073CA3 */ lui $a3, 0x3CA3 ## $a3 = 3CA30000
/* 01254 80A4F574 34E7D70A */ ori $a3, $a3, 0xD70A ## $a3 = 3CA3D70A
/* 01258 80A4F578 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 0125C 80A4F57C 260401F8 */ addiu $a0, $s0, 0x01F8 ## $a0 = 000001F8
/* 01260 80A4F580 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 01264 80A4F584 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 01268 80A4F588 E7A0003C */ swc1 $f0, 0x003C($sp)
/* 0126C 80A4F58C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01270 80A4F590 960D0200 */ lhu $t5, 0x0200($s0) ## 00000200
/* 01274 80A4F594 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 01278 80A4F598 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
/* 0127C 80A4F59C 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 01280 80A4F5A0 01A1001A */ div $zero, $t5, $at
/* 01284 80A4F5A4 C60401F0 */ lwc1 $f4, 0x01F0($s0) ## 000001F0
/* 01288 80A4F5A8 C60A01E8 */ lwc1 $f10, 0x01E8($s0) ## 000001E8
/* 0128C 80A4F5AC 0000C810 */ mfhi $t9
/* 01290 80A4F5B0 46062200 */ add.s $f8, $f4, $f6
/* 01294 80A4F5B4 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
/* 01298 80A4F5B8 3C0180A5 */ lui $at, %hi(D_80A4FF14) ## $at = 80A50000
/* 0129C 80A4F5BC 46105480 */ add.s $f18, $f10, $f16
/* 012A0 80A4F5C0 E60801B4 */ swc1 $f8, 0x01B4($s0) ## 000001B4
/* 012A4 80A4F5C4 468021A0 */ cvt.s.w $f6, $f4
/* 012A8 80A4F5C8 E61201B8 */ swc1 $f18, 0x01B8($s0) ## 000001B8
/* 012AC 80A4F5CC C428FF14 */ lwc1 $f8, %lo(D_80A4FF14)($at)
/* 012B0 80A4F5D0 3C0143B4 */ lui $at, 0x43B4 ## $at = 43B40000
/* 012B4 80A4F5D4 44818000 */ mtc1 $at, $f16 ## $f16 = 360.00
/* 012B8 80A4F5D8 3C0180A5 */ lui $at, %hi(D_80A4FF18) ## $at = 80A50000
/* 012BC 80A4F5DC 46083282 */ mul.s $f10, $f6, $f8
/* 012C0 80A4F5E0 C424FF18 */ lwc1 $f4, %lo(D_80A4FF18)($at)
/* 012C4 80A4F5E4 46105482 */ mul.s $f18, $f10, $f16
/* 012C8 80A4F5E8 00000000 */ nop
/* 012CC 80A4F5EC 46049302 */ mul.s $f12, $f18, $f4
/* 012D0 80A4F5F0 0C0400A4 */ jal sinf
/* 012D4 80A4F5F4 00000000 */ nop
/* 012D8 80A4F5F8 96090200 */ lhu $t1, 0x0200($s0) ## 00000200
/* 012DC 80A4F5FC 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 012E0 80A4F600 C60801F8 */ lwc1 $f8, 0x01F8($s0) ## 000001F8
/* 012E4 80A4F604 0121001A */ div $zero, $t1, $at
/* 012E8 80A4F608 46080282 */ mul.s $f10, $f0, $f8
/* 012EC 80A4F60C C60601B4 */ lwc1 $f6, 0x01B4($s0) ## 000001B4
/* 012F0 80A4F610 00005010 */ mfhi $t2
/* 012F4 80A4F614 448A9000 */ mtc1 $t2, $f18 ## $f18 = 0.00
/* 012F8 80A4F618 3C0180A5 */ lui $at, %hi(D_80A4FF1C) ## $at = 80A50000
/* 012FC 80A4F61C 46809120 */ cvt.s.w $f4, $f18
/* 01300 80A4F620 460A3400 */ add.s $f16, $f6, $f10
/* 01304 80A4F624 E61001B4 */ swc1 $f16, 0x01B4($s0) ## 000001B4
/* 01308 80A4F628 C428FF1C */ lwc1 $f8, %lo(D_80A4FF1C)($at)
/* 0130C 80A4F62C 3C0143B4 */ lui $at, 0x43B4 ## $at = 43B40000
/* 01310 80A4F630 44815000 */ mtc1 $at, $f10 ## $f10 = 360.00
/* 01314 80A4F634 46082182 */ mul.s $f6, $f4, $f8
/* 01318 80A4F638 3C0180A5 */ lui $at, %hi(D_80A4FF20) ## $at = 80A50000
/* 0131C 80A4F63C C432FF20 */ lwc1 $f18, %lo(D_80A4FF20)($at)
/* 01320 80A4F640 460A3402 */ mul.s $f16, $f6, $f10
/* 01324 80A4F644 00000000 */ nop
/* 01328 80A4F648 46128302 */ mul.s $f12, $f16, $f18
/* 0132C 80A4F64C 0C0400A4 */ jal sinf
/* 01330 80A4F650 00000000 */ nop
/* 01334 80A4F654 C60801F8 */ lwc1 $f8, 0x01F8($s0) ## 000001F8
/* 01338 80A4F658 C60401B8 */ lwc1 $f4, 0x01B8($s0) ## 000001B8
/* 0133C 80A4F65C 960B0200 */ lhu $t3, 0x0200($s0) ## 00000200
/* 01340 80A4F660 46080182 */ mul.s $f6, $f0, $f8
/* 01344 80A4F664 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 01348 80A4F668 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
/* 0134C 80A4F66C A60C0200 */ sh $t4, 0x0200($s0) ## 00000200
/* 01350 80A4F670 46062280 */ add.s $f10, $f4, $f6
/* 01354 80A4F674 E60A01B8 */ swc1 $f10, 0x01B8($s0) ## 000001B8
/* 01358 80A4F678 C7B00044 */ lwc1 $f16, 0x0044($sp)
/* 0135C 80A4F67C C7A80040 */ lwc1 $f8, 0x0040($sp)
/* 01360 80A4F680 46128032 */ c.eq.s $f16, $f18
/* 01364 80A4F684 00000000 */ nop
/* 01368 80A4F688 45020011 */ bc1fl .L80A4F6D0
/* 0136C 80A4F68C 960F01A2 */ lhu $t7, 0x01A2($s0) ## 000001A2
/* 01370 80A4F690 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01374 80A4F694 C7A6003C */ lwc1 $f6, 0x003C($sp)
/* 01378 80A4F698 46044032 */ c.eq.s $f8, $f4
/* 0137C 80A4F69C 00000000 */ nop
/* 01380 80A4F6A0 4502000B */ bc1fl .L80A4F6D0
/* 01384 80A4F6A4 960F01A2 */ lhu $t7, 0x01A2($s0) ## 000001A2
/* 01388 80A4F6A8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 0138C 80A4F6AC 3C0E80A5 */ lui $t6, %hi(func_80A4F734) ## $t6 = 80A50000
/* 01390 80A4F6B0 25CEF734 */ addiu $t6, $t6, %lo(func_80A4F734) ## $t6 = 80A4F734
/* 01394 80A4F6B4 460A3032 */ c.eq.s $f6, $f10
/* 01398 80A4F6B8 00000000 */ nop
/* 0139C 80A4F6BC 45020004 */ bc1fl .L80A4F6D0
/* 013A0 80A4F6C0 960F01A2 */ lhu $t7, 0x01A2($s0) ## 000001A2
/* 013A4 80A4F6C4 A200019C */ sb $zero, 0x019C($s0) ## 0000019C
/* 013A8 80A4F6C8 AE0E0198 */ sw $t6, 0x0198($s0) ## 00000198
.L80A4F6CC:
/* 013AC 80A4F6CC 960F01A2 */ lhu $t7, 0x01A2($s0) ## 000001A2
.L80A4F6D0:
/* 013B0 80A4F6D0 97B80036 */ lhu $t8, 0x0036($sp)
/* 013B4 80A4F6D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013B8 80A4F6D8 01F8082A */ slt $at, $t7, $t8
/* 013BC 80A4F6DC 50200004 */ beql $at, $zero, .L80A4F6F0
/* 013C0 80A4F6E0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 013C4 80A4F6E4 0C00BE0A */ jal Audio_PlayActorSound2
/* 013C8 80A4F6E8 240528EB */ addiu $a1, $zero, 0x28EB ## $a1 = 000028EB
/* 013CC 80A4F6EC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A4F6F0:
/* 013D0 80A4F6F0 8FB00020 */ lw $s0, 0x0020($sp)
/* 013D4 80A4F6F4 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 013D8 80A4F6F8 03E00008 */ jr $ra
/* 013DC 80A4F6FC 00000000 */ nop

View File

@ -1,179 +0,0 @@
.late_rodata
glabel D_80B265C0
.float 0.23
glabel D_80B265C4
.float 0.2
glabel D_80B265C8
.float 0.6
.text
glabel EnTuboTrap_SpawnFragments
/* 00128 80B25A18 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20
/* 0012C 80B25A1C F7BE0070 */ sdc1 $f30, 0x0070($sp)
/* 00130 80B25A20 3C0180B2 */ lui $at, %hi(D_80B265C0) ## $at = 80B20000
/* 00134 80B25A24 C43E65C0 */ lwc1 $f30, %lo(D_80B265C0)($at)
/* 00138 80B25A28 F7BC0068 */ sdc1 $f28, 0x0068($sp)
/* 0013C 80B25A2C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00140 80B25A30 4481E000 */ mtc1 $at, $f28 ## $f28 = 2.00
/* 00144 80B25A34 F7BA0060 */ sdc1 $f26, 0x0060($sp)
/* 00148 80B25A38 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 0014C 80B25A3C 4481D000 */ mtc1 $at, $f26 ## $f26 = 5.00
/* 00150 80B25A40 AFB60090 */ sw $s6, 0x0090($sp)
/* 00154 80B25A44 F7B80058 */ sdc1 $f24, 0x0058($sp)
/* 00158 80B25A48 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 0015C 80B25A4C AFBE0098 */ sw $s8, 0x0098($sp)
/* 00160 80B25A50 AFB70094 */ sw $s7, 0x0094($sp)
/* 00164 80B25A54 AFB5008C */ sw $s5, 0x008C($sp)
/* 00168 80B25A58 AFB40088 */ sw $s4, 0x0088($sp)
/* 0016C 80B25A5C AFB30084 */ sw $s3, 0x0084($sp)
/* 00170 80B25A60 AFB20080 */ sw $s2, 0x0080($sp)
/* 00174 80B25A64 AFB1007C */ sw $s1, 0x007C($sp)
/* 00178 80B25A68 3C160501 */ lui $s6, 0x0501 ## $s6 = 05010000
/* 0017C 80B25A6C 4481C000 */ mtc1 $at, $f24 ## $f24 = 8.00
/* 00180 80B25A70 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000
/* 00184 80B25A74 AFBF009C */ sw $ra, 0x009C($sp)
/* 00188 80B25A78 AFB00078 */ sw $s0, 0x0078($sp)
/* 0018C 80B25A7C F7B60050 */ sdc1 $f22, 0x0050($sp)
/* 00190 80B25A80 F7B40048 */ sdc1 $f20, 0x0048($sp)
/* 00194 80B25A84 26D67A60 */ addiu $s6, $s6, 0x7A60 ## $s6 = 05017A60
/* 00198 80B25A88 24910024 */ addiu $s1, $a0, 0x0024 ## $s1 = 00000024
/* 0019C 80B25A8C 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 001A0 80B25A90 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 001A4 80B25A94 27B400C8 */ addiu $s4, $sp, 0x00C8 ## $s4 = FFFFFFE8
/* 001A8 80B25A98 27B500BC */ addiu $s5, $sp, 0x00BC ## $s5 = FFFFFFDC
/* 001AC 80B25A9C 2417000F */ addiu $s7, $zero, 0x000F ## $s7 = 0000000F
.L80B25AA0:
/* 001B0 80B25AA0 00122400 */ sll $a0, $s2, 16
/* 001B4 80B25AA4 0C01DE1C */ jal Math_Sins
## sins?
/* 001B8 80B25AA8 00042403 */ sra $a0, $a0, 16
/* 001BC 80B25AAC 00122400 */ sll $a0, $s2, 16
/* 001C0 80B25AB0 46000506 */ mov.s $f20, $f0
/* 001C4 80B25AB4 0C01DE0D */ jal Math_Coss
## coss?
/* 001C8 80B25AB8 00042403 */ sra $a0, $a0, 16
/* 001CC 80B25ABC 4618A102 */ mul.s $f4, $f20, $f24
/* 001D0 80B25AC0 46000586 */ mov.s $f22, $f0
/* 001D4 80B25AC4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 001D8 80B25AC8 E7A400C8 */ swc1 $f4, 0x00C8($sp)
/* 001DC 80B25ACC 461A0182 */ mul.s $f6, $f0, $f26
/* 001E0 80B25AD0 C7B000C8 */ lwc1 $f16, 0x00C8($sp)
/* 001E4 80B25AD4 4618B282 */ mul.s $f10, $f22, $f24
/* 001E8 80B25AD8 00000000 */ nop
/* 001EC 80B25ADC 461E8482 */ mul.s $f18, $f16, $f30
/* 001F0 80B25AE0 461C3200 */ add.s $f8, $f6, $f28
/* 001F4 80B25AE4 E7AA00D0 */ swc1 $f10, 0x00D0($sp)
/* 001F8 80B25AE8 E7A800CC */ swc1 $f8, 0x00CC($sp)
/* 001FC 80B25AEC 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00200 80B25AF0 E7B200BC */ swc1 $f18, 0x00BC($sp)
/* 00204 80B25AF4 461A0102 */ mul.s $f4, $f0, $f26
/* 00208 80B25AF8 C7A800D0 */ lwc1 $f8, 0x00D0($sp)
/* 0020C 80B25AFC C7B000C8 */ lwc1 $f16, 0x00C8($sp)
/* 00210 80B25B00 461E4282 */ mul.s $f10, $f8, $f30
/* 00214 80B25B04 461C2180 */ add.s $f6, $f4, $f28
/* 00218 80B25B08 E7AA00C4 */ swc1 $f10, 0x00C4($sp)
/* 0021C 80B25B0C E7A600C0 */ swc1 $f6, 0x00C0($sp)
/* 00220 80B25B10 C6320000 */ lwc1 $f18, 0x0000($s1) ## 00000024
/* 00224 80B25B14 C7A600CC */ lwc1 $f6, 0x00CC($sp)
/* 00228 80B25B18 46128100 */ add.s $f4, $f16, $f18
/* 0022C 80B25B1C E7A400C8 */ swc1 $f4, 0x00C8($sp)
/* 00230 80B25B20 C62A0004 */ lwc1 $f10, 0x0004($s1) ## 00000028
/* 00234 80B25B24 460A3400 */ add.s $f16, $f6, $f10
/* 00238 80B25B28 E7B000CC */ swc1 $f16, 0x00CC($sp)
/* 0023C 80B25B2C C6320008 */ lwc1 $f18, 0x0008($s1) ## 0000002C
/* 00240 80B25B30 46124100 */ add.s $f4, $f8, $f18
/* 00244 80B25B34 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00248 80B25B38 E7A400D0 */ swc1 $f4, 0x00D0($sp)
/* 0024C 80B25B3C 3C0180B2 */ lui $at, %hi(D_80B265C4) ## $at = 80B20000
/* 00250 80B25B40 C42665C4 */ lwc1 $f6, %lo(D_80B265C4)($at)
/* 00254 80B25B44 3C0180B2 */ lui $at, %hi(D_80B265C8) ## $at = 80B20000
/* 00258 80B25B48 4606003C */ c.lt.s $f0, $f6
/* 0025C 80B25B4C 00000000 */ nop
/* 00260 80B25B50 45000003 */ bc1f .L80B25B60
/* 00264 80B25B54 00000000 */ nop
/* 00268 80B25B58 10000009 */ beq $zero, $zero, .L80B25B80
/* 0026C 80B25B5C 24100060 */ addiu $s0, $zero, 0x0060 ## $s0 = 00000060
.L80B25B60:
/* 00270 80B25B60 C42A65C8 */ lwc1 $f10, %lo(D_80B265C8)($at)
/* 00274 80B25B64 24100020 */ addiu $s0, $zero, 0x0020 ## $s0 = 00000020
/* 00278 80B25B68 460A003C */ c.lt.s $f0, $f10
/* 0027C 80B25B6C 00000000 */ nop
/* 00280 80B25B70 45000003 */ bc1f .L80B25B80
/* 00284 80B25B74 00000000 */ nop
/* 00288 80B25B78 10000001 */ beq $zero, $zero, .L80B25B80
/* 0028C 80B25B7C 24100040 */ addiu $s0, $zero, 0x0040 ## $s0 = 00000040
.L80B25B80:
/* 00290 80B25B80 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00294 80B25B84 00000000 */ nop
/* 00298 80B25B88 3C014282 */ lui $at, 0x4282 ## $at = 42820000
/* 0029C 80B25B8C 44818000 */ mtc1 $at, $f16 ## $f16 = 65.00
/* 002A0 80B25B90 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 002A4 80B25B94 44819000 */ mtc1 $at, $f18 ## $f18 = 15.00
/* 002A8 80B25B98 46100202 */ mul.s $f8, $f0, $f16
/* 002AC 80B25B9C 240EFF10 */ addiu $t6, $zero, 0xFF10 ## $t6 = FFFFFF10
/* 002B0 80B25BA0 240F000A */ addiu $t7, $zero, 0x000A ## $t7 = 0000000A
/* 002B4 80B25BA4 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A
/* 002B8 80B25BA8 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
/* 002BC 80B25BAC 240A003C */ addiu $t2, $zero, 0x003C ## $t2 = 0000003C
/* 002C0 80B25BB0 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF
/* 002C4 80B25BB4 46124100 */ add.s $f4, $f8, $f18
/* 002C8 80B25BB8 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003
/* 002CC 80B25BBC AFAC0038 */ sw $t4, 0x0038($sp)
/* 002D0 80B25BC0 AFAB0034 */ sw $t3, 0x0034($sp)
/* 002D4 80B25BC4 4600218D */ trunc.w.s $f6, $f4
/* 002D8 80B25BC8 AFAA0030 */ sw $t2, 0x0030($sp)
/* 002DC 80B25BCC AFA9002C */ sw $t1, 0x002C($sp)
/* 002E0 80B25BD0 AFB8001C */ sw $t8, 0x001C($sp)
/* 002E4 80B25BD4 44083000 */ mfc1 $t0, $f6
/* 002E8 80B25BD8 AFAF0018 */ sw $t7, 0x0018($sp)
/* 002EC 80B25BDC AFAE0010 */ sw $t6, 0x0010($sp)
/* 002F0 80B25BE0 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
/* 002F4 80B25BE4 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE8
/* 002F8 80B25BE8 02A03025 */ or $a2, $s5, $zero ## $a2 = FFFFFFDC
/* 002FC 80B25BEC 02203825 */ or $a3, $s1, $zero ## $a3 = 00000024
/* 00300 80B25BF0 AFB00014 */ sw $s0, 0x0014($sp)
/* 00304 80B25BF4 AFA00020 */ sw $zero, 0x0020($sp)
/* 00308 80B25BF8 AFA00028 */ sw $zero, 0x0028($sp)
/* 0030C 80B25BFC AFB6003C */ sw $s6, 0x003C($sp)
/* 00310 80B25C00 0C00A7A3 */ jal func_80029E8C
/* 00314 80B25C04 AFA80024 */ sw $t0, 0x0024($sp)
/* 00318 80B25C08 26524E20 */ addiu $s2, $s2, 0x4E20 ## $s2 = 00004E20
/* 0031C 80B25C0C 00129400 */ sll $s2, $s2, 16
/* 00320 80B25C10 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 00324 80B25C14 1677FFA2 */ bne $s3, $s7, .L80B25AA0
/* 00328 80B25C18 00129403 */ sra $s2, $s2, 16
/* 0032C 80B25C1C 240D0014 */ addiu $t5, $zero, 0x0014 ## $t5 = 00000014
/* 00330 80B25C20 240E0032 */ addiu $t6, $zero, 0x0032 ## $t6 = 00000032
/* 00334 80B25C24 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00338 80B25C28 AFAD0010 */ sw $t5, 0x0010($sp)
/* 0033C 80B25C2C 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
/* 00340 80B25C30 02202825 */ or $a1, $s1, $zero ## $a1 = 00000024
/* 00344 80B25C34 3C0641F0 */ lui $a2, 0x41F0 ## $a2 = 41F00000
/* 00348 80B25C38 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
/* 0034C 80B25C3C 0C00CD20 */ jal func_80033480
/* 00350 80B25C40 AFA00018 */ sw $zero, 0x0018($sp)
/* 00354 80B25C44 8FBF009C */ lw $ra, 0x009C($sp)
/* 00358 80B25C48 D7B40048 */ ldc1 $f20, 0x0048($sp)
/* 0035C 80B25C4C D7B60050 */ ldc1 $f22, 0x0050($sp)
/* 00360 80B25C50 D7B80058 */ ldc1 $f24, 0x0058($sp)
/* 00364 80B25C54 D7BA0060 */ ldc1 $f26, 0x0060($sp)
/* 00368 80B25C58 D7BC0068 */ ldc1 $f28, 0x0068($sp)
/* 0036C 80B25C5C D7BE0070 */ ldc1 $f30, 0x0070($sp)
/* 00370 80B25C60 8FB00078 */ lw $s0, 0x0078($sp)
/* 00374 80B25C64 8FB1007C */ lw $s1, 0x007C($sp)
/* 00378 80B25C68 8FB20080 */ lw $s2, 0x0080($sp)
/* 0037C 80B25C6C 8FB30084 */ lw $s3, 0x0084($sp)
/* 00380 80B25C70 8FB40088 */ lw $s4, 0x0088($sp)
/* 00384 80B25C74 8FB5008C */ lw $s5, 0x008C($sp)
/* 00388 80B25C78 8FB60090 */ lw $s6, 0x0090($sp)
/* 0038C 80B25C7C 8FB70094 */ lw $s7, 0x0094($sp)
/* 00390 80B25C80 8FBE0098 */ lw $s8, 0x0098($sp)
/* 00394 80B25C84 03E00008 */ jr $ra
/* 00398 80B25C88 27BD00E0 */ addiu $sp, $sp, 0x00E0 ## $sp = 00000000

View File

@ -1,177 +0,0 @@
.late_rodata
glabel D_80B265CC
.float 0.2
glabel D_80B265D0
.float 0.2
.text
glabel EnTuboTrap_SpawnWaterFragments
/* 0039C 80B25C8C 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20
/* 003A0 80B25C90 AFB1007C */ sw $s1, 0x007C($sp)
/* 003A4 80B25C94 AFBF009C */ sw $ra, 0x009C($sp)
/* 003A8 80B25C98 AFBE0098 */ sw $s8, 0x0098($sp)
/* 003AC 80B25C9C AFB70094 */ sw $s7, 0x0094($sp)
/* 003B0 80B25CA0 AFB60090 */ sw $s6, 0x0090($sp)
/* 003B4 80B25CA4 AFB5008C */ sw $s5, 0x008C($sp)
/* 003B8 80B25CA8 AFB40088 */ sw $s4, 0x0088($sp)
/* 003BC 80B25CAC AFB30084 */ sw $s3, 0x0084($sp)
/* 003C0 80B25CB0 AFB20080 */ sw $s2, 0x0080($sp)
/* 003C4 80B25CB4 AFB00078 */ sw $s0, 0x0078($sp)
/* 003C8 80B25CB8 F7BE0070 */ sdc1 $f30, 0x0070($sp)
/* 003CC 80B25CBC F7BC0068 */ sdc1 $f28, 0x0068($sp)
/* 003D0 80B25CC0 F7BA0060 */ sdc1 $f26, 0x0060($sp)
/* 003D4 80B25CC4 F7B80058 */ sdc1 $f24, 0x0058($sp)
/* 003D8 80B25CC8 F7B60050 */ sdc1 $f22, 0x0050($sp)
/* 003DC 80B25CCC F7B40048 */ sdc1 $f20, 0x0048($sp)
/* 003E0 80B25CD0 24910024 */ addiu $s1, $a0, 0x0024 ## $s1 = 00000024
/* 003E4 80B25CD4 8E2F0000 */ lw $t7, 0x0000($s1) ## 00000024
/* 003E8 80B25CD8 27B500C8 */ addiu $s5, $sp, 0x00C8 ## $s5 = FFFFFFE8
/* 003EC 80B25CDC 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 003F0 80B25CE0 AEAF0000 */ sw $t7, 0x0000($s5) ## FFFFFFE8
/* 003F4 80B25CE4 8E2E0004 */ lw $t6, 0x0004($s1) ## 00000028
/* 003F8 80B25CE8 24180190 */ addiu $t8, $zero, 0x0190 ## $t8 = 00000190
/* 003FC 80B25CEC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00400 80B25CF0 AEAE0004 */ sw $t6, 0x0004($s5) ## FFFFFFEC
/* 00404 80B25CF4 8E2F0008 */ lw $t7, 0x0008($s1) ## 0000002C
/* 00408 80B25CF8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0040C 80B25CFC AEAF0008 */ sw $t7, 0x0008($s5) ## FFFFFFF0
/* 00410 80B25D00 C7A400CC */ lwc1 $f4, 0x00CC($sp)
/* 00414 80B25D04 C4860084 */ lwc1 $f6, 0x0084($a0) ## 00000084
/* 00418 80B25D08 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0041C 80B25D0C 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFE8
/* 00420 80B25D10 46062200 */ add.s $f8, $f4, $f6
/* 00424 80B25D14 AFB80014 */ sw $t8, 0x0014($sp)
/* 00428 80B25D18 AFA00010 */ sw $zero, 0x0010($sp)
/* 0042C 80B25D1C 0C00A527 */ jal func_8002949C
/* 00430 80B25D20 E7A800CC */ swc1 $f8, 0x00CC($sp)
/* 00434 80B25D24 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00438 80B25D28 4481F000 */ mtc1 $at, $f30 ## $f30 = 5.00
/* 0043C 80B25D2C 3C0180B2 */ lui $at, %hi(D_80B265CC) ## $at = 80B20000
/* 00440 80B25D30 C43C65CC */ lwc1 $f28, %lo(D_80B265CC)($at)
/* 00444 80B25D34 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00448 80B25D38 4481D000 */ mtc1 $at, $f26 ## $f26 = 2.00
/* 0044C 80B25D3C 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 00450 80B25D40 3C170501 */ lui $s7, 0x0501 ## $s7 = 05010000
/* 00454 80B25D44 4481C000 */ mtc1 $at, $f24 ## $f24 = 8.00
/* 00458 80B25D48 26F77A60 */ addiu $s7, $s7, 0x7A60 ## $s7 = 05017A60
/* 0045C 80B25D4C 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00460 80B25D50 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 00464 80B25D54 241E000F */ addiu $s8, $zero, 0x000F ## $s8 = 0000000F
/* 00468 80B25D58 27B600BC */ addiu $s6, $sp, 0x00BC ## $s6 = FFFFFFDC
.L80B25D5C:
/* 0046C 80B25D5C 00122400 */ sll $a0, $s2, 16
/* 00470 80B25D60 0C01DE1C */ jal Math_Sins
## sins?
/* 00474 80B25D64 00042403 */ sra $a0, $a0, 16
/* 00478 80B25D68 00122400 */ sll $a0, $s2, 16
/* 0047C 80B25D6C 46000506 */ mov.s $f20, $f0
/* 00480 80B25D70 0C01DE0D */ jal Math_Coss
## coss?
/* 00484 80B25D74 00042403 */ sra $a0, $a0, 16
/* 00488 80B25D78 4618A282 */ mul.s $f10, $f20, $f24
/* 0048C 80B25D7C 46000586 */ mov.s $f22, $f0
/* 00490 80B25D80 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00494 80B25D84 E7AA00C8 */ swc1 $f10, 0x00C8($sp)
/* 00498 80B25D88 461E0402 */ mul.s $f16, $f0, $f30
/* 0049C 80B25D8C C7A600C8 */ lwc1 $f6, 0x00C8($sp)
/* 004A0 80B25D90 4618B102 */ mul.s $f4, $f22, $f24
/* 004A4 80B25D94 00000000 */ nop
/* 004A8 80B25D98 461C3202 */ mul.s $f8, $f6, $f28
/* 004AC 80B25D9C 461A8480 */ add.s $f18, $f16, $f26
/* 004B0 80B25DA0 E7A400D0 */ swc1 $f4, 0x00D0($sp)
/* 004B4 80B25DA4 E7B200CC */ swc1 $f18, 0x00CC($sp)
/* 004B8 80B25DA8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 004BC 80B25DAC E7A800BC */ swc1 $f8, 0x00BC($sp)
/* 004C0 80B25DB0 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 004C4 80B25DB4 44815000 */ mtc1 $at, $f10 ## $f10 = 4.00
/* 004C8 80B25DB8 C7A400D0 */ lwc1 $f4, 0x00D0($sp)
/* 004CC 80B25DBC C7A800C8 */ lwc1 $f8, 0x00C8($sp)
/* 004D0 80B25DC0 460A0402 */ mul.s $f16, $f0, $f10
/* 004D4 80B25DC4 461A8480 */ add.s $f18, $f16, $f26
/* 004D8 80B25DC8 461C2182 */ mul.s $f6, $f4, $f28
/* 004DC 80B25DCC E7B200C0 */ swc1 $f18, 0x00C0($sp)
/* 004E0 80B25DD0 C7B200CC */ lwc1 $f18, 0x00CC($sp)
/* 004E4 80B25DD4 E7A600C4 */ swc1 $f6, 0x00C4($sp)
/* 004E8 80B25DD8 C62A0000 */ lwc1 $f10, 0x0000($s1) ## 00000024
/* 004EC 80B25DDC 460A4400 */ add.s $f16, $f8, $f10
/* 004F0 80B25DE0 E7B000C8 */ swc1 $f16, 0x00C8($sp)
/* 004F4 80B25DE4 C6260004 */ lwc1 $f6, 0x0004($s1) ## 00000028
/* 004F8 80B25DE8 46069200 */ add.s $f8, $f18, $f6
/* 004FC 80B25DEC E7A800CC */ swc1 $f8, 0x00CC($sp)
/* 00500 80B25DF0 C62A0008 */ lwc1 $f10, 0x0008($s1) ## 0000002C
/* 00504 80B25DF4 460A2400 */ add.s $f16, $f4, $f10
/* 00508 80B25DF8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0050C 80B25DFC E7B000D0 */ swc1 $f16, 0x00D0($sp)
/* 00510 80B25E00 3C0180B2 */ lui $at, %hi(D_80B265D0) ## $at = 80B20000
/* 00514 80B25E04 C43265D0 */ lwc1 $f18, %lo(D_80B265D0)($at)
/* 00518 80B25E08 24100020 */ addiu $s0, $zero, 0x0020 ## $s0 = 00000020
/* 0051C 80B25E0C 4612003C */ c.lt.s $f0, $f18
/* 00520 80B25E10 00000000 */ nop
/* 00524 80B25E14 45000003 */ bc1f .L80B25E24
/* 00528 80B25E18 00000000 */ nop
/* 0052C 80B25E1C 10000001 */ beq $zero, $zero, .L80B25E24
/* 00530 80B25E20 24100040 */ addiu $s0, $zero, 0x0040 ## $s0 = 00000040
.L80B25E24:
/* 00534 80B25E24 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00538 80B25E28 00000000 */ nop
/* 0053C 80B25E2C 3C014282 */ lui $at, 0x4282 ## $at = 42820000
/* 00540 80B25E30 44813000 */ mtc1 $at, $f6 ## $f6 = 65.00
/* 00544 80B25E34 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 00548 80B25E38 44812000 */ mtc1 $at, $f4 ## $f4 = 15.00
/* 0054C 80B25E3C 46060202 */ mul.s $f8, $f0, $f6
/* 00550 80B25E40 2419FF4C */ addiu $t9, $zero, 0xFF4C ## $t9 = FFFFFF4C
/* 00554 80B25E44 2408001E */ addiu $t0, $zero, 0x001E ## $t0 = 0000001E
/* 00558 80B25E48 2409001E */ addiu $t1, $zero, 0x001E ## $t1 = 0000001E
/* 0055C 80B25E4C 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020
/* 00560 80B25E50 240D0046 */ addiu $t5, $zero, 0x0046 ## $t5 = 00000046
/* 00564 80B25E54 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
/* 00568 80B25E58 46044280 */ add.s $f10, $f8, $f4
/* 0056C 80B25E5C 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
/* 00570 80B25E60 AFAF0038 */ sw $t7, 0x0038($sp)
/* 00574 80B25E64 AFAE0034 */ sw $t6, 0x0034($sp)
/* 00578 80B25E68 4600540D */ trunc.w.s $f16, $f10
/* 0057C 80B25E6C AFAD0030 */ sw $t5, 0x0030($sp)
/* 00580 80B25E70 AFAC002C */ sw $t4, 0x002C($sp)
/* 00584 80B25E74 AFA9001C */ sw $t1, 0x001C($sp)
/* 00588 80B25E78 440B8000 */ mfc1 $t3, $f16
/* 0058C 80B25E7C AFA80018 */ sw $t0, 0x0018($sp)
/* 00590 80B25E80 AFB90010 */ sw $t9, 0x0010($sp)
/* 00594 80B25E84 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 00598 80B25E88 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFE8
/* 0059C 80B25E8C 02C03025 */ or $a2, $s6, $zero ## $a2 = FFFFFFDC
/* 005A0 80B25E90 02203825 */ or $a3, $s1, $zero ## $a3 = 00000024
/* 005A4 80B25E94 AFB00014 */ sw $s0, 0x0014($sp)
/* 005A8 80B25E98 AFA00020 */ sw $zero, 0x0020($sp)
/* 005AC 80B25E9C AFA00028 */ sw $zero, 0x0028($sp)
/* 005B0 80B25EA0 AFB7003C */ sw $s7, 0x003C($sp)
/* 005B4 80B25EA4 0C00A7A3 */ jal func_80029E8C
/* 005B8 80B25EA8 AFAB0024 */ sw $t3, 0x0024($sp)
/* 005BC 80B25EAC 26524E20 */ addiu $s2, $s2, 0x4E20 ## $s2 = 00004E20
/* 005C0 80B25EB0 00129400 */ sll $s2, $s2, 16
/* 005C4 80B25EB4 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 005C8 80B25EB8 167EFFA8 */ bne $s3, $s8, .L80B25D5C
/* 005CC 80B25EBC 00129403 */ sra $s2, $s2, 16
/* 005D0 80B25EC0 8FBF009C */ lw $ra, 0x009C($sp)
/* 005D4 80B25EC4 D7B40048 */ ldc1 $f20, 0x0048($sp)
/* 005D8 80B25EC8 D7B60050 */ ldc1 $f22, 0x0050($sp)
/* 005DC 80B25ECC D7B80058 */ ldc1 $f24, 0x0058($sp)
/* 005E0 80B25ED0 D7BA0060 */ ldc1 $f26, 0x0060($sp)
/* 005E4 80B25ED4 D7BC0068 */ ldc1 $f28, 0x0068($sp)
/* 005E8 80B25ED8 D7BE0070 */ ldc1 $f30, 0x0070($sp)
/* 005EC 80B25EDC 8FB00078 */ lw $s0, 0x0078($sp)
/* 005F0 80B25EE0 8FB1007C */ lw $s1, 0x007C($sp)
/* 005F4 80B25EE4 8FB20080 */ lw $s2, 0x0080($sp)
/* 005F8 80B25EE8 8FB30084 */ lw $s3, 0x0084($sp)
/* 005FC 80B25EEC 8FB40088 */ lw $s4, 0x0088($sp)
/* 00600 80B25EF0 8FB5008C */ lw $s5, 0x008C($sp)
/* 00604 80B25EF4 8FB60090 */ lw $s6, 0x0090($sp)
/* 00608 80B25EF8 8FB70094 */ lw $s7, 0x0094($sp)
/* 0060C 80B25EFC 8FBE0098 */ lw $s8, 0x0098($sp)
/* 00610 80B25F00 03E00008 */ jr $ra
/* 00614 80B25F04 27BD00E0 */ addiu $sp, $sp, 0x00E0 ## $sp = 00000000

View File

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

View File

@ -982,7 +982,7 @@ void Lights_InitType2PositionalLight(LightInfoPositional* info, s16 posX, s16 po
void Lights_SetPositionalLightColorAndRadius(LightInfoPositional* info, u8 red, u8 green, u8 blue, s16 radius);
void Lights_InitDirectional(LightInfoDirectional* info, s8 dirX, s8 dirY, s8 dirZ, u8 red, u8 green, u8 blue);
void Lights_MapperInit(LightMapper* mapper, u8 red, u8 green, u8 blue);
// ? func_8007A084(?);
// ? func_8007A0B4(?);
// ? func_8007A474(?);
z_Light* Lights_FindFreeSlot();
void Lights_Free(z_Light* light);

1
spec
View File

@ -322,7 +322,6 @@ beginseg
include "build/data/z_lifemeter.data.o"
include "build/src/code/z_lights.o"
include "build/data/z_lights.data.o"
include "build/data/z_lights.bss.o"
include "build/src/code/z_malloc.o"
include "build/src/code/z_map_mark.o"
include "build/src/code/z_moji.o"

View File

@ -719,12 +719,10 @@ void Fault_DrawMemDumpPage(const char* title, u32* addr, u32 param_3) {
FaultDrawer_SetCharPad(0, 0);
}
#ifdef NON_MATCHING
// regalloc differences
void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) {
Input* curInput = &sFaultStructPtr->padInput;
u32 addr = pc;
u32 count;
s32 count;
u32 off;
do {
@ -766,34 +764,33 @@ void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) {
if (CHECK_PAD(curInput->cur, Z_TRIG)) {
off = 0x100;
}
if (CHECK_PAD(curInput->cur, B_BUTTON)) {
off <<= 8;
}
if (CHECK_PAD(curInput->cur, U_JPAD)) {
if (CHECK_PAD(curInput->press, U_JPAD)) {
addr -= off;
}
if (CHECK_PAD(curInput->cur, D_JPAD)) {
if (CHECK_PAD(curInput->press, D_JPAD)) {
addr += off;
}
if (CHECK_PAD(curInput->cur, U_CBUTTONS)) {
if (CHECK_PAD(curInput->press, U_CBUTTONS)) {
addr = pc;
}
if (CHECK_PAD(curInput->cur, D_CBUTTONS)) {
if (CHECK_PAD(curInput->press, D_CBUTTONS)) {
addr = sp;
}
if (CHECK_PAD(curInput->cur, L_CBUTTONS)) {
if (CHECK_PAD(curInput->press, L_CBUTTONS)) {
addr = unk0;
}
if (CHECK_PAD(curInput->cur, R_CBUTTONS)) {
if (CHECK_PAD(curInput->press, R_CBUTTONS)) {
addr = unk1;
}
} while (!CHECK_PAD(curInput->cur, L_TRIG));
} while (!CHECK_PAD(curInput->press, L_TRIG));
sFaultStructPtr->faultActive = true;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/fault/Fault_DrawMemDump.s")
#endif
void Fault_WalkStack(u32* spPtr, u32* pcPtr, u32* raPtr) {
u32 sp = *spPtr;

View File

@ -186,7 +186,7 @@ s32 Sched_Schedule(SchedContext* sc, OSScTask** sp, OSScTask** dp, s32 state) {
OSScTask* gfxTask = sc->gfxListHead;
OSScTask* audioTask = sc->audioListHead;
if (sc->doAudio && ret & OS_SC_SP) {
if (sc->doAudio && (ret & OS_SC_SP)) {
*sp = audioTask;
ret &= ~OS_SC_SP;
sc->doAudio = 0;
@ -194,27 +194,23 @@ s32 Sched_Schedule(SchedContext* sc, OSScTask** sp, OSScTask** dp, s32 state) {
if (sc->audioListHead == NULL) {
sc->audioListTail = NULL;
}
} else {
if (gfxTask != NULL) {
if (gfxTask->state & OS_SC_YIELDED || !(sc->gfxListHead->flags & OS_SC_NEEDS_RDP)) {
if (ret & OS_SC_SP) {
*sp = gfxTask;
ret &= ~OS_SC_SP;
sc->gfxListHead = sc->gfxListHead->next;
if (sc->gfxListHead == NULL) {
sc->gfxListTail = NULL;
}
} else if (gfxTask != NULL) {
if (gfxTask->state & OS_SC_YIELDED || !(sc->gfxListHead->flags & OS_SC_NEEDS_RDP)) {
if (ret & OS_SC_SP) {
*sp = gfxTask;
ret &= ~OS_SC_SP;
sc->gfxListHead = sc->gfxListHead->next;
if (sc->gfxListHead == NULL) {
sc->gfxListTail = NULL;
}
} else {
if (ret == (OS_SC_SP | OS_SC_DP)) {
if (sc->gfxListHead->framebuffer == NULL || func_800C89D4(sc, gfxTask) != NULL) {
*sp = *dp = gfxTask;
ret &= ~(OS_SC_SP | OS_SC_DP);
sc->gfxListHead = sc->gfxListHead->next;
if (sc->gfxListHead == NULL) {
sc->gfxListTail = NULL;
}
}
}
} else if (ret == (OS_SC_SP | OS_SC_DP)) {
if (sc->gfxListHead->framebuffer == NULL || func_800C89D4(sc, gfxTask) != NULL) {
*sp = *dp = gfxTask;
ret &= ~(OS_SC_SP | OS_SC_DP);
sc->gfxListHead = sc->gfxListHead->next;
if (sc->gfxListHead == NULL) {
sc->gfxListTail = NULL;
}
}
}

View File

@ -357,7 +357,7 @@ s32 func_800CB934(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2) {
s32 ret = 0;
if ((arg2->y - arg1->x) < (arg0->y - arg0->x)) {
ret = 1;
ret |= 1;
}
if ((arg0->y - arg0->x) < (arg1->y - arg2->x)) {
@ -413,19 +413,19 @@ s32 func_800CBAE4(Vec3f* v0, Vec3f* v1, Vec3f* v2) {
s32 ret = 0;
if ((v2->x + v2->y + v2->z) < (v0->x + v0->y + v0->z)) {
ret = 0x01;
ret |= 1;
}
if ((-v1->x + v2->y + v2->z) < (-v0->x + v0->y + v0->z)) {
ret |= 0x02;
ret |= 2;
}
if ((-v1->x + v2->y - v1->z) < (-v0->x + v0->y - v0->z)) {
ret |= 0x04;
ret |= 4;
}
if ((v2->x + v2->y - v1->z) < (v0->x + v0->y - v0->z)) {
ret |= 0x08;
ret |= 8;
}
if ((v2->x - v1->y + v2->z) < (v0->x - v0->y + v0->z)) {

View File

@ -1,7 +1,7 @@
#include <ultra64.h>
#include <global.h>
extern LightsList sLightsList;
LightsList sLightsList;
void Lights_InitPositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
s16 radius, u32 type) {
@ -59,7 +59,7 @@ Light* Lights_MapperGetNextFreeSlot(LightMapper* mapper) {
return &mapper->lights[mapper->numLights++];
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_lights/func_8007A084.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_lights/func_8007A0B4.s")
void func_8007A40C(LightMapper* mapper, LightInfoDirectionalParams* params, GlobalContext* globalCtx) {
Light* light = Lights_MapperGetNextFreeSlot(mapper);

View File

@ -65,74 +65,74 @@ void func_800BC5E0(GlobalContext* globalCtx, s32 transitionType) {
transitionCtx->setType = TransitionCircle_SetType;
transitionCtx->setColor = TransitionCircle_SetColor;
transitionCtx->setEnvColor = TransitionCircle_SetEnvColor;
return;
} else {
switch (transitionCtx->transitionType) {
case 1:
transitionCtx->init = TransitionTriforce_Init;
transitionCtx->destroy = TransitionTriforce_Destroy;
transitionCtx->start = TransitionTriforce_Start;
transitionCtx->isDone = TransitionTriforce_IsDone;
transitionCtx->draw = TransitionTriforce_Draw;
transitionCtx->update = TransitionTriforce_Update;
transitionCtx->setType = TransitionTriforce_SetType;
transitionCtx->setColor = TransitionTriforce_SetColor;
transitionCtx->setEnvColor = NULL;
break;
case 0:
case 8:
transitionCtx->init = TransitionWipe_Init;
transitionCtx->destroy = TransitionWipe_Destroy;
transitionCtx->start = TransitionWipe_Start;
transitionCtx->isDone = TransitionWipe_IsDone;
transitionCtx->draw = TransitionWipe_Draw;
transitionCtx->update = TransitionWipe_Update;
transitionCtx->setType = TransitionWipe_SetType;
transitionCtx->setColor = TransitionWipe_SetColor;
transitionCtx->setEnvColor = NULL;
break;
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 17:
case 18:
case 19:
transitionCtx->init = TransitionFade_Init;
transitionCtx->destroy = TransitionFade_Destroy;
transitionCtx->start = TransitionFade_Start;
transitionCtx->isDone = TransitionFade_IsDone;
transitionCtx->draw = TransitionFade_Draw;
transitionCtx->update = TransitionFade_Update;
transitionCtx->setType = TransitionFade_SetType;
transitionCtx->setColor = TransitionFade_SetColor;
transitionCtx->setEnvColor = NULL;
break;
case 9:
case 10:
globalCtx->transitionMode = 4;
break;
case 11:
globalCtx->transitionMode = 10;
break;
case 12:
globalCtx->transitionMode = 7;
break;
case 14:
globalCtx->transitionMode = 12;
break;
case 15:
globalCtx->transitionMode = 14;
break;
case 16:
globalCtx->transitionMode = 16;
break;
default:
Fault_AddHungupAndCrash("../z_play.c", 2290);
break;
}
}
switch (transitionCtx->transitionType) {
case 1:
transitionCtx->init = TransitionTriforce_Init;
transitionCtx->destroy = TransitionTriforce_Destroy;
transitionCtx->start = TransitionTriforce_Start;
transitionCtx->isDone = TransitionTriforce_IsDone;
transitionCtx->draw = TransitionTriforce_Draw;
transitionCtx->update = TransitionTriforce_Update;
transitionCtx->setType = TransitionTriforce_SetType;
transitionCtx->setColor = TransitionTriforce_SetColor;
transitionCtx->setEnvColor = NULL;
return;
case 0:
case 8:
transitionCtx->init = TransitionWipe_Init;
transitionCtx->destroy = TransitionWipe_Destroy;
transitionCtx->start = TransitionWipe_Start;
transitionCtx->isDone = TransitionWipe_IsDone;
transitionCtx->draw = TransitionWipe_Draw;
transitionCtx->update = TransitionWipe_Update;
transitionCtx->setType = TransitionWipe_SetType;
transitionCtx->setColor = TransitionWipe_SetColor;
transitionCtx->setEnvColor = NULL;
return;
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 17:
case 18:
case 19:
transitionCtx->init = TransitionFade_Init;
transitionCtx->destroy = TransitionFade_Destroy;
transitionCtx->start = TransitionFade_Start;
transitionCtx->isDone = TransitionFade_IsDone;
transitionCtx->draw = TransitionFade_Draw;
transitionCtx->update = TransitionFade_Update;
transitionCtx->setType = TransitionFade_SetType;
transitionCtx->setColor = TransitionFade_SetColor;
transitionCtx->setEnvColor = NULL;
return;
case 9:
case 10:
globalCtx->transitionMode = 4;
return;
case 11:
globalCtx->transitionMode = 10;
return;
case 12:
globalCtx->transitionMode = 7;
return;
case 14:
globalCtx->transitionMode = 12;
return;
case 15:
globalCtx->transitionMode = 14;
return;
case 16:
globalCtx->transitionMode = 16;
return;
}
Fault_AddHungupAndCrash("../z_play.c", 2290);
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_800BC5E0.s")
@ -1589,19 +1589,15 @@ Camera* Gameplay_GetCamera(GlobalContext* globalCtx, s16 camId) {
}
s32 func_800C04D8(GlobalContext* globalCtx, s16 camId, Vec3f* arg2, Vec3f* arg3) {
u32 ret;
s32 ret = 0;
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
Camera* camera;
Camera* camera = globalCtx->cameraPtrs[camIdx];
Player* player;
camera = globalCtx->cameraPtrs[camIdx];
ret = Camera_SetParam(camera, 1, arg2);
ret *= 2;
ret |= Camera_SetParam(camera, 1, arg2);
ret <<= 1;
ret |= Camera_SetParam(camera, 2, arg3);
if (1) {} // Necessary to match
camera->dist = Math3D_Vec3f_DistXYZ(arg2, arg3);
player = camera->player;
@ -1618,22 +1614,16 @@ s32 func_800C04D8(GlobalContext* globalCtx, s16 camId, Vec3f* arg2, Vec3f* arg3)
return ret;
}
#ifdef NON_MATCHING
// missing an extra stack store/load instruction pair
s32 func_800C05E4(GlobalContext* globalCtx, s16 camId, Vec3f* arg2, Vec3f* arg3, Vec3f* arg4) {
u32 ret;
s32 ret = 0;
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
Camera* camera;
Camera* camera = globalCtx->cameraPtrs[camIdx];
Player* player;
camera = globalCtx->cameraPtrs[camIdx];
if (1) {} // Probably necessary to match
ret = Camera_SetParam(camera, 1, arg2);
ret *= 2;
ret |= Camera_SetParam(camera, 1, arg2);
ret <<= 1;
ret |= Camera_SetParam(camera, 2, arg3);
ret *= 2;
ret <<= 1;
ret |= Camera_SetParam(camera, 4, arg4);
camera->dist = Math3D_Vec3f_DistXYZ(arg2, arg3);
@ -1651,18 +1641,12 @@ s32 func_800C05E4(GlobalContext* globalCtx, s16 camId, Vec3f* arg2, Vec3f* arg3,
return ret;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_800C05E4.s")
#endif
#ifdef NON_MATCHING
// missing an extra move instruction
s32 func_800C0704(GlobalContext* globalCtx, s16 camId, f32 arg2) {
return (Camera_SetParam(globalCtx->cameraPtrs[camId], 32, &arg2) & 1);
s32 ret = Camera_SetParam(globalCtx->cameraPtrs[camId], 32, &arg2) & 1;
if (1) {}
return ret;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_800C0704.s")
#endif
s32 func_800C0744(GlobalContext* globalCtx, s16 camId, s16 arg2) {
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;

View File

@ -273,7 +273,7 @@ void func_8009638C(Gfx** displayList, u32 source, u32 tlut, u16 width, u16 heigh
func_80096238(SEGMENTED_TO_VIRTUAL(source));
displayListHead++;
gSPBranchList(displayListHead, displayListHead + 5);
gSPBranchList(displayListHead, (u8*)displayListHead + sizeof(uObjBg));
bg = (void*)displayListHead;
bg->b.imageX = 0;
bg->b.imageW = width * 4;

View File

@ -97,11 +97,12 @@ void func_80892890(BgIngate* this, GlobalContext* globalCtx) {
}
}
void BgIngate_DoNothing(BgIngate* this, GlobalContext* globalCtx) {}
void BgIngate_DoNothing(BgIngate* this, GlobalContext* globalCtx) {
}
void BgIngate_Update(Actor* thisx, GlobalContext* globalCtx) {
BgIngate* this = THIS;
this->actionFunc(this, globalCtx);
}

View File

@ -83,7 +83,7 @@ void BgJyaBombiwa_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_Kill(thisx);
} else {
Actor_ProcessInitChain(thisx, sInitChain);
// Rock destroyed by jya bomb
osSyncPrintf("(jya 爆弾で破壊岩)(arg_data 0x%04x)\n", thisx->params);
}

View File

@ -83,8 +83,8 @@ void BgSpot01Idomizu_Draw(Actor* thisx, GlobalContext* globalCtx) {
frames = globalCtx->state.frames;
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - frames % 128, frames & 0x7F, 32, 32, 1,
frames % 128, frames & 0x7F, 32, 32));
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - frames % 128, frames & 0x7F, 32, 32, 1, frames % 128,
frames & 0x7F, 32, 32));
gSPDisplayList(gfxCtx->polyXlu.p++, D_060007D0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_spot01_idomizu.c", 244);

View File

@ -182,28 +182,25 @@ void EnBx_Update(Actor* thisx, GlobalContext* globalCtx) {
}
}
#ifdef NON_MATCHING
// Issue with Gfx_TwoTexScroll I think
void EnBx_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnBx* this = THIS;
void* matrices = Graph_Alloc(globalCtx->state.gfxCtx, 4 * sizeof(Mtx));
Mtx* mtx = Graph_Alloc(globalCtx->state.gfxCtx, 4 * sizeof(Mtx));
f32 tmpf1;
f32 tmpf2;
{
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Mtx* matrix = &matrices[0];
s16 i;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_bx.c", 464);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, matrices);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, mtx);
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_809D2560[this->actor.params & 0x7F]));
gSPSegment(gfxCtx->polyOpa.p++, 0x09,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 0x10, 0x10, 1, 0,
(-globalCtx->gameplayFrames * 10) % 128, 0x20, 0x20));
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 16, 16, 1, 0,
(globalCtx->gameplayFrames * -10) % 128, 32, 32));
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bx.c", 478),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
@ -212,14 +209,13 @@ void EnBx_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
this->unk_14E -= 0xBB8;
tmpf1 = Math_Coss(this->unk_14E);
tmpf1 = (tmpf1 * 0.0075f) + 0.015f;
tmpf1 = (Math_Coss(this->unk_14E) * 0.0075f) + 0.015f;
thisx->scale.x = tmpf1;
thisx->scale.z = tmpf1;
for (i = 3; i >= 0; i--) {
tmpf2 = Math_Coss(this->unk_14E + ((i & 0xFF) * 8192));
tmpf2 = (tmpf2 * 0.0075f) + 0.015f;
s16 off = (0x2000 * i);
tmpf2 = (Math_Coss(this->unk_14E + off) * 0.0075f) + 0.015f;
this->unk_184[i].x = tmpf2;
this->unk_184[i].z = tmpf2;
this->unk_1B4[i].x = thisx->shape.rot.x;
@ -227,17 +223,14 @@ void EnBx_Draw(Actor* thisx, GlobalContext* globalCtx) {
this->unk_1B4[i].z = thisx->shape.rot.z;
}
for (i = 0; i < 4; i++, matrix++) {
for (i = 0; i < 4; i++, mtx++) {
Matrix_Translate(this->unk_154[i].x, this->unk_154[i].y, this->unk_154[i].z, MTXMODE_NEW);
Matrix_RotateRPY(this->unk_1B4[i].x, this->unk_1B4[i].y, this->unk_1B4[i].z, MTXMODE_APPLY);
Matrix_Scale(this->unk_184[i].x, this->unk_184[i].y, this->unk_184[i].z, MTXMODE_APPLY);
Matrix_ToMtx(matrix, "../z_en_bx.c", 507);
Matrix_ToMtx(mtx, "../z_en_bx.c", 507);
}
gSPDisplayList(gfxCtx->polyOpa.p++, D_060022F0);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_bx.c", 511);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bx/EnBx_Draw.s")
#endif

View File

@ -342,8 +342,6 @@ void func_80A4ED34(EnGs* this, GlobalContext* globalCtx) {
}
}
#ifdef NON_MATCHING
// Regalloc
void func_80A4F13C(EnGs* this, GlobalContext* globalCtx) {
f32 tmpf1;
f32 tmpf2;
@ -362,15 +360,15 @@ void func_80A4F13C(EnGs* this, GlobalContext* globalCtx) {
if (this->unk_19F == 1) {
Math_SmoothScaleMaxMinF(&this->unk_1F0, this->unk_1F4, 1.0f, 0.1f, 0.001f);
tmpf1 = Math_SmoothScaleMaxMinF(&this->unk_1E8, this->unk_1EC, 1.0f, this->unk_1F0, 0.001f);
this->unk_1A0[0].y += (s16)(this->unk_1E8 * 182.04445f);
this->unk_1A0[0].y += (s32)(this->unk_1E8 * 182.04445f);
if (tmpf1 == 0.0f) {
this->unk_200 = 0;
this->unk_19F = 2;
}
}
if (this->unk_19F == 2) {
this->unk_1A0[0].y = this->unk_1A0[0].y + (s32)(this->unk_1E8 * 182.04445f);
if ((this->unk_200++ < 0x29) ^ 1) {
this->unk_1A0[0].y += (s32)(this->unk_1E8 * 182.04445f);
if (this->unk_200++ > 0x28) {
this->unk_1E8 = this->unk_1B4[0].y - 1.0f;
this->unk_1EC = 1.5f;
this->unk_1F0 = this->unk_1B4[1].y - 1.0f;
@ -434,8 +432,7 @@ void func_80A4F13C(EnGs* this, GlobalContext* globalCtx) {
this->unk_1B4[0].x = this->unk_1F0 + 1.0f;
this->unk_1B4[0].y = this->unk_1E8 + 1.0f;
this->unk_1B4[0].x += sinf((((this->unk_200 % 0xA) * 0.1f) * 360.0f) * 0.017453292f) * this->unk_1F8;
this->unk_1B4[0].y =
this->unk_1B4[0].y + (sinf((((this->unk_200 % 0xA) * 0.1f) * 360.0f) * 0.017453292f) * this->unk_1F8);
this->unk_1B4[0].y += (sinf((((this->unk_200 % 0xA) * 0.1f) * 360.0f) * 0.017453292f) * this->unk_1F8);
this->unk_200++;
if ((tmpf1 == 0.0f) && (tmpf2 == 0.0f) && (tmpf3 == 0.0f)) {
this->unk_19C = 0;
@ -446,10 +443,6 @@ void func_80A4F13C(EnGs* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_STONE_ROLLING);
}
}
#else
void func_80A4F13C(EnGs* this, GlobalContext* globalCtx);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gs/func_80A4F13C.s")
#endif
void func_80A4F700(EnGs* this, GlobalContext* globalCtx) {
if (this->unk_200-- <= 0) {

View File

@ -141,7 +141,7 @@ void func_80A68870(EnHorseGanon* this) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_WALK, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
this->soundCount += 1;
this->soundCount++;
if (this->soundCount >= 2) {
this->soundCount = 0;
}

View File

@ -69,22 +69,16 @@ void EnTuboTrap_DropCollectible(EnTuboTrap* this, GlobalContext* globalCtx) {
}
}
#ifdef NON_MATCHING
// regalloc and stack usage differences, most likely the same differences as EnTuboTrap_SpawnWaterFragments
void EnTuboTrap_SpawnFragments(EnTuboTrap* this, GlobalContext* globalCtx) {
Vec3f* actorPos;
f32 rand;
f32 cos;
f32 sin;
u32 addr;
Vec3f spC8;
Vec3f spBC;
s16 var;
s32 temp;
s32 i;
addr = &D_05017A60;
actorPos = &this->actor.posRot.pos;
Vec3f* actorPos = &this->actor.posRot.pos;
for (i = 0, var = 0; i < 15; i++, var += 20000) {
sin = Math_Sins(var);
@ -111,31 +105,22 @@ void EnTuboTrap_SpawnFragments(EnTuboTrap* this, GlobalContext* globalCtx) {
}
func_80029E8C(globalCtx, &spC8, &spBC, actorPos, -240, temp, 10, 10, 0, (Math_Rand_ZeroOne() * 65.0f) + 15.0f,
0, 32, 60, -1, 3, addr);
0, 32, 60, -1, 3, &D_05017A60);
}
func_80033480(globalCtx, actorPos, 30.0f, 4, 20, 50, 0);
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnFragments.s")
#endif
#ifdef NON_MATCHING
// regalloc and stack usage differences, most likely the same differences as EnTuboTrap_SpawnFragments
void EnTuboTrap_SpawnWaterFragments(EnTuboTrap* this, GlobalContext* globalCtx) {
Vec3f* actorPos;
f32 rand;
f32 cos;
f32 sin;
u32 addr;
Vec3f spC8;
Vec3f spBC;
s16 var;
s32 temp;
s32 i;
addr = &D_05017A60;
actorPos = &this->actor.posRot.pos;
Vec3f* actorPos = &this->actor.posRot.pos;
spC8 = *actorPos;
spC8.y += this->actor.waterY;
@ -149,9 +134,9 @@ void EnTuboTrap_SpawnWaterFragments(EnTuboTrap* this, GlobalContext* globalCtx)
spC8.y = (Math_Rand_ZeroOne() * 5.0f) + 2.0f;
spC8.z = cos * 8.0f;
spBC.x = spC8.x * 0.23f;
spBC.x = spC8.x * 0.20f;
spBC.y = (Math_Rand_ZeroOne() * 4.0f) + 2.0f;
spBC.z = spC8.z * 0.23f;
spBC.z = spC8.z * 0.20f;
spC8.x += actorPos->x;
spC8.y += actorPos->y;
@ -165,12 +150,9 @@ void EnTuboTrap_SpawnWaterFragments(EnTuboTrap* this, GlobalContext* globalCtx)
}
func_80029E8C(globalCtx, &spC8, &spBC, actorPos, -180, temp, 30, 30, 0, (Math_Rand_ZeroOne() * 65.0f) + 15.0f,
0, 32, 70, -1, 3, addr);
0, 32, 70, -1, 3, &D_05017A60);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tubo_Trap/EnTuboTrap_SpawnWaterFragments.s")
#endif
#ifdef NON_MATCHING
void EnTuboTrap_HandleImpact(EnTuboTrap* this, GlobalContext* globalCtx) {

View File

@ -407,7 +407,7 @@ void func_80B4EF64(EnZl2* this, s16 arg1, s32 arg2) {
}
#ifdef NON_MATCHING
// Some missing ABS instructions near the bottom of the section on lines 454-461
// single register swap in a subu instruction
void func_80B4F230(EnZl2* this, s16 arg1, s32 arg2) {
s32 temp_v1;
s32 temp_t0;
@ -444,13 +444,13 @@ void func_80B4F230(EnZl2* this, s16 arg1, s32 arg2) {
phi_t5 = ABS(this->unk_1AC[index1AC]);
} else if (arg2 == 16) {
index1AC = 15;
phi_t5 = ABS(this->unk_1AC[index1AC]);
phi_t5 = -ABS(this->unk_1AC[index1AC]);
} else {
index1AC = 18;
phi_t5 = ABS(this->unk_1AC[index1AC]);
phi_t5 = -ABS(this->unk_1AC[index1AC]);
}
if ((s32)fabsf((f32)temp_t3) >= 0x8001) {
if ((s32)fabsf((f32)temp_t3) > 0x8000) {
if (arg1 > 0) {
temp_t3 -= 0x10000;
} else {