mirror of https://github.com/n64decomp/mk64.git
A couple matches in code_80057C60 (#569)
Signed-off-by: Taggerung <tyler.taggerung@email.com> Co-authored-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
parent
4c4cb36b4d
commit
b0653d7416
|
|
@ -1,359 +0,0 @@
|
|||
.section .late_rodata
|
||||
|
||||
glabel jpt_800EE890
|
||||
.word L8006CA50, L8006CA74, L8006CA98, L8006CABC
|
||||
.word L8006CAE0, L8006CB04, L8006CB28, L8006CB4C
|
||||
.word L8006CB70
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_8006C9B8
|
||||
/* 06D5B8 8006C9B8 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 06D5BC 8006C9BC AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 06D5C0 8006C9C0 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* 06D5C4 8006C9C4 AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* 06D5C8 8006C9C8 00057400 */ sll $t6, $a1, 0x10
|
||||
/* 06D5CC 8006C9CC 000E2C03 */ sra $a1, $t6, 0x10
|
||||
/* 06D5D0 8006C9D0 00068600 */ sll $s0, $a2, 0x18
|
||||
/* 06D5D4 8006C9D4 00078E00 */ sll $s1, $a3, 0x18
|
||||
/* 06D5D8 8006C9D8 0011CE03 */ sra $t9, $s1, 0x18
|
||||
/* 06D5DC 8006C9DC 0010C603 */ sra $t8, $s0, 0x18
|
||||
/* 06D5E0 8006C9E0 24A2FFFF */ addiu $v0, $a1, -1
|
||||
/* 06D5E4 8006C9E4 03008025 */ move $s0, $t8
|
||||
/* 06D5E8 8006C9E8 03208825 */ move $s1, $t9
|
||||
/* 06D5EC 8006C9EC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 06D5F0 8006C9F0 AFA60038 */ sw $a2, 0x38($sp)
|
||||
/* 06D5F4 8006C9F4 AFA7003C */ sw $a3, 0x3c($sp)
|
||||
/* 06D5F8 8006C9F8 04410003 */ bgez $v0, .L8006CA08
|
||||
/* 06D5FC 8006C9FC AFA20028 */ sw $v0, 0x28($sp)
|
||||
/* 06D600 8006CA00 24080009 */ li $t0, 9
|
||||
/* 06D604 8006CA04 AFA80028 */ sw $t0, 0x28($sp)
|
||||
.L8006CA08:
|
||||
/* 06D608 8006CA08 000548C0 */ sll $t1, $a1, 3
|
||||
/* 06D60C 8006CA0C 01254821 */ addu $t1, $t1, $a1
|
||||
/* 06D610 8006CA10 000948C0 */ sll $t1, $t1, 3
|
||||
/* 06D614 8006CA14 00891021 */ addu $v0, $a0, $t1
|
||||
/* 06D618 8006CA18 844A0AE4 */ lh $t2, 0xae4($v0)
|
||||
/* 06D61C 8006CA1C 24010001 */ li $at, 1
|
||||
/* 06D620 8006CA20 5541005D */ bnel $t2, $at, .L8006CB98
|
||||
/* 06D624 8006CA24 84870044 */ lh $a3, 0x44($a0)
|
||||
/* 06D628 8006CA28 944B0ADA */ lhu $t3, 0xada($v0)
|
||||
/* 06D62C 8006CA2C 256CFFFF */ addiu $t4, $t3, -1
|
||||
/* 06D630 8006CA30 2D810009 */ sltiu $at, $t4, 9
|
||||
/* 06D634 8006CA34 1020011D */ beqz $at, .L8006CEAC
|
||||
/* 06D638 8006CA38 000C6080 */ sll $t4, $t4, 2
|
||||
/* 06D63C 8006CA3C 3C01800F */ lui $at, %hi(jpt_800EE890)
|
||||
/* 06D640 8006CA40 002C0821 */ addu $at, $at, $t4
|
||||
/* 06D644 8006CA44 8C2CE890 */ lw $t4, %lo(jpt_800EE890)($at)
|
||||
/* 06D648 8006CA48 01800008 */ jr $t4
|
||||
/* 06D64C 8006CA4C 00000000 */ nop
|
||||
glabel L8006CA50
|
||||
/* 06D650 8006CA50 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D654 8006CA54 00113E00 */ sll $a3, $s1, 0x18
|
||||
/* 06D658 8006CA58 00077603 */ sra $t6, $a3, 0x18
|
||||
/* 06D65C 8006CA5C 00066E03 */ sra $t5, $a2, 0x18
|
||||
/* 06D660 8006CA60 01A03025 */ move $a2, $t5
|
||||
/* 06D664 8006CA64 0C01913A */ jal func_800644E8
|
||||
/* 06D668 8006CA68 01C03825 */ move $a3, $t6
|
||||
/* 06D66C 8006CA6C 10000110 */ b .L8006CEB0
|
||||
/* 06D670 8006CA70 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006CA74
|
||||
/* 06D674 8006CA74 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D678 8006CA78 00113E00 */ sll $a3, $s1, 0x18
|
||||
/* 06D67C 8006CA7C 0007C603 */ sra $t8, $a3, 0x18
|
||||
/* 06D680 8006CA80 00067E03 */ sra $t7, $a2, 0x18
|
||||
/* 06D684 8006CA84 01E03025 */ move $a2, $t7
|
||||
/* 06D688 8006CA88 0C01927D */ jal func_800649F4
|
||||
/* 06D68C 8006CA8C 03003825 */ move $a3, $t8
|
||||
/* 06D690 8006CA90 10000107 */ b .L8006CEB0
|
||||
/* 06D694 8006CA94 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006CA98
|
||||
/* 06D698 8006CA98 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D69C 8006CA9C 00113E00 */ sll $a3, $s1, 0x18
|
||||
/* 06D6A0 8006CAA0 00074603 */ sra $t0, $a3, 0x18
|
||||
/* 06D6A4 8006CAA4 0006CE03 */ sra $t9, $a2, 0x18
|
||||
/* 06D6A8 8006CAA8 03203025 */ move $a2, $t9
|
||||
/* 06D6AC 8006CAAC 0C01931D */ jal func_80064C74
|
||||
/* 06D6B0 8006CAB0 01003825 */ move $a3, $t0
|
||||
/* 06D6B4 8006CAB4 100000FE */ b .L8006CEB0
|
||||
/* 06D6B8 8006CAB8 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006CABC
|
||||
/* 06D6BC 8006CABC 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D6C0 8006CAC0 00113E00 */ sll $a3, $s1, 0x18
|
||||
/* 06D6C4 8006CAC4 00075603 */ sra $t2, $a3, 0x18
|
||||
/* 06D6C8 8006CAC8 00064E03 */ sra $t1, $a2, 0x18
|
||||
/* 06D6CC 8006CACC 01203025 */ move $a2, $t1
|
||||
/* 06D6D0 8006CAD0 0C0191F2 */ jal func_800647C8
|
||||
/* 06D6D4 8006CAD4 01403825 */ move $a3, $t2
|
||||
/* 06D6D8 8006CAD8 100000F5 */ b .L8006CEB0
|
||||
/* 06D6DC 8006CADC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006CAE0
|
||||
/* 06D6E0 8006CAE0 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D6E4 8006CAE4 00113E00 */ sll $a3, $s1, 0x18
|
||||
/* 06D6E8 8006CAE8 00076603 */ sra $t4, $a3, 0x18
|
||||
/* 06D6EC 8006CAEC 00065E03 */ sra $t3, $a2, 0x18
|
||||
/* 06D6F0 8006CAF0 01603025 */ move $a2, $t3
|
||||
/* 06D6F4 8006CAF4 0C0192CC */ jal func_80064B30
|
||||
/* 06D6F8 8006CAF8 01803825 */ move $a3, $t4
|
||||
/* 06D6FC 8006CAFC 100000EC */ b .L8006CEB0
|
||||
/* 06D700 8006CB00 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006CB04
|
||||
/* 06D704 8006CB04 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D708 8006CB08 00113E00 */ sll $a3, $s1, 0x18
|
||||
/* 06D70C 8006CB0C 00077603 */ sra $t6, $a3, 0x18
|
||||
/* 06D710 8006CB10 00066E03 */ sra $t5, $a2, 0x18
|
||||
/* 06D714 8006CB14 01A03025 */ move $a2, $t5
|
||||
/* 06D718 8006CB18 0C019239 */ jal func_800648E4
|
||||
/* 06D71C 8006CB1C 01C03825 */ move $a3, $t6
|
||||
/* 06D720 8006CB20 100000E3 */ b .L8006CEB0
|
||||
/* 06D724 8006CB24 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006CB28
|
||||
/* 06D728 8006CB28 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D72C 8006CB2C 00113E00 */ sll $a3, $s1, 0x18
|
||||
/* 06D730 8006CB30 0007C603 */ sra $t8, $a3, 0x18
|
||||
/* 06D734 8006CB34 00067E03 */ sra $t7, $a2, 0x18
|
||||
/* 06D738 8006CB38 01E03025 */ move $a2, $t7
|
||||
/* 06D73C 8006CB3C 0C019262 */ jal func_80064988
|
||||
/* 06D740 8006CB40 03003825 */ move $a3, $t8
|
||||
/* 06D744 8006CB44 100000DA */ b .L8006CEB0
|
||||
/* 06D748 8006CB48 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006CB4C
|
||||
/* 06D74C 8006CB4C 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D750 8006CB50 00113E00 */ sll $a3, $s1, 0x18
|
||||
/* 06D754 8006CB54 00074603 */ sra $t0, $a3, 0x18
|
||||
/* 06D758 8006CB58 0006CE03 */ sra $t9, $a2, 0x18
|
||||
/* 06D75C 8006CB5C 03203025 */ move $a2, $t9
|
||||
/* 06D760 8006CB60 0C01931D */ jal func_80064C74
|
||||
/* 06D764 8006CB64 01003825 */ move $a3, $t0
|
||||
/* 06D768 8006CB68 100000D1 */ b .L8006CEB0
|
||||
/* 06D76C 8006CB6C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006CB70
|
||||
/* 06D770 8006CB70 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D774 8006CB74 00113E00 */ sll $a3, $s1, 0x18
|
||||
/* 06D778 8006CB78 00075603 */ sra $t2, $a3, 0x18
|
||||
/* 06D77C 8006CB7C 00064E03 */ sra $t1, $a2, 0x18
|
||||
/* 06D780 8006CB80 01203025 */ move $a2, $t1
|
||||
/* 06D784 8006CB84 0C019199 */ jal func_80064664
|
||||
/* 06D788 8006CB88 01403825 */ move $a3, $t2
|
||||
/* 06D78C 8006CB8C 100000C8 */ b .L8006CEB0
|
||||
/* 06D790 8006CB90 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 06D794 8006CB94 84870044 */ lh $a3, 0x44($a0)
|
||||
.L8006CB98:
|
||||
/* 06D798 8006CB98 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D79C 8006CB9C 30EB1000 */ andi $t3, $a3, 0x1000
|
||||
/* 06D7A0 8006CBA0 5160000D */ beql $t3, $zero, .L8006CBD8
|
||||
/* 06D7A4 8006CBA4 848600CA */ lh $a2, 0xca($a0)
|
||||
/* 06D7A8 8006CBA8 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D7AC 8006CBAC 00076603 */ sra $t4, $a3, 0x18
|
||||
/* 06D7B0 8006CBB0 01803825 */ move $a3, $t4
|
||||
/* 06D7B4 8006CBB4 AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 06D7B8 8006CBB8 0C01850C */ jal func_80061430
|
||||
/* 06D7BC 8006CBBC AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 06D7C0 8006CBC0 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 06D7C4 8006CBC4 848D0044 */ lh $t5, 0x44($a0)
|
||||
/* 06D7C8 8006CBC8 31AEFEFF */ andi $t6, $t5, 0xfeff
|
||||
/* 06D7CC 8006CBCC 100000B7 */ b .L8006CEAC
|
||||
/* 06D7D0 8006CBD0 A48E0044 */ sh $t6, 0x44($a0)
|
||||
/* 06D7D4 8006CBD4 848600CA */ lh $a2, 0xca($a0)
|
||||
.L8006CBD8:
|
||||
/* 06D7D8 8006CBD8 24011000 */ li $at, 4096
|
||||
/* 06D7DC 8006CBDC 30CF1000 */ andi $t7, $a2, 0x1000
|
||||
/* 06D7E0 8006CBE0 51E10011 */ beql $t7, $at, .L8006CC28
|
||||
/* 06D7E4 8006CBE4 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D7E8 8006CBE8 848200E0 */ lh $v0, 0xe0($a0)
|
||||
/* 06D7EC 8006CBEC 28410002 */ slti $at, $v0, 2
|
||||
/* 06D7F0 8006CBF0 50200005 */ beql $at, $zero, .L8006CC08
|
||||
/* 06D7F4 8006CBF4 28410002 */ slti $at, $v0, 2
|
||||
/* 06D7F8 8006CBF8 8C9800BC */ lw $t8, 0xbc($a0)
|
||||
/* 06D7FC 8006CBFC 0018C9C0 */ sll $t9, $t8, 7
|
||||
/* 06D800 8006CC00 07200008 */ bltz $t9, .L8006CC24
|
||||
/* 06D804 8006CC04 28410002 */ slti $at, $v0, 2
|
||||
.L8006CC08:
|
||||
/* 06D808 8006CC08 10200003 */ beqz $at, .L8006CC18
|
||||
/* 06D80C 8006CC0C 8C8300BC */ lw $v1, 0xbc($a0)
|
||||
/* 06D810 8006CC10 00034180 */ sll $t0, $v1, 6
|
||||
/* 06D814 8006CC14 05000003 */ bltz $t0, .L8006CC24
|
||||
.L8006CC18:
|
||||
/* 06D818 8006CC18 30690400 */ andi $t1, $v1, 0x400
|
||||
/* 06D81C 8006CC1C 11200010 */ beqz $t1, .L8006CC60
|
||||
/* 06D820 8006CC20 30CF2000 */ andi $t7, $a2, 0x2000
|
||||
.L8006CC24:
|
||||
/* 06D824 8006CC24 00103E00 */ sll $a3, $s0, 0x18
|
||||
.L8006CC28:
|
||||
/* 06D828 8006CC28 00075603 */ sra $t2, $a3, 0x18
|
||||
/* 06D82C 8006CC2C 01403825 */ move $a3, $t2
|
||||
/* 06D830 8006CC30 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D834 8006CC34 AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 06D838 8006CC38 0C018667 */ jal func_8006199C
|
||||
/* 06D83C 8006CC3C AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 06D840 8006CC40 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 06D844 8006CC44 948B0046 */ lhu $t3, 0x46($a0)
|
||||
/* 06D848 8006CC48 848D0044 */ lh $t5, 0x44($a0)
|
||||
/* 06D84C 8006CC4C 316CFFF7 */ andi $t4, $t3, 0xfff7
|
||||
/* 06D850 8006CC50 31AEFEFF */ andi $t6, $t5, 0xfeff
|
||||
/* 06D854 8006CC54 A48C0046 */ sh $t4, 0x46($a0)
|
||||
/* 06D858 8006CC58 10000094 */ b .L8006CEAC
|
||||
/* 06D85C 8006CC5C A48E0044 */ sh $t6, 0x44($a0)
|
||||
.L8006CC60:
|
||||
/* 06D860 8006CC60 24012000 */ li $at, 8192
|
||||
/* 06D864 8006CC64 15E10010 */ bne $t7, $at, .L8006CCA8
|
||||
/* 06D868 8006CC68 306B0200 */ andi $t3, $v1, 0x200
|
||||
/* 06D86C 8006CC6C 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D870 8006CC70 0007C603 */ sra $t8, $a3, 0x18
|
||||
/* 06D874 8006CC74 03003825 */ move $a3, $t8
|
||||
/* 06D878 8006CC78 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D87C 8006CC7C AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 06D880 8006CC80 0C01868D */ jal func_80061A34
|
||||
/* 06D884 8006CC84 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 06D888 8006CC88 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 06D88C 8006CC8C 94990046 */ lhu $t9, 0x46($a0)
|
||||
/* 06D890 8006CC90 84890044 */ lh $t1, 0x44($a0)
|
||||
/* 06D894 8006CC94 3328FFF7 */ andi $t0, $t9, 0xfff7
|
||||
/* 06D898 8006CC98 312AFEFF */ andi $t2, $t1, 0xfeff
|
||||
/* 06D89C 8006CC9C A4880046 */ sh $t0, 0x46($a0)
|
||||
/* 06D8A0 8006CCA0 10000082 */ b .L8006CEAC
|
||||
/* 06D8A4 8006CCA4 A48A0044 */ sh $t2, 0x44($a0)
|
||||
.L8006CCA8:
|
||||
/* 06D8A8 8006CCA8 1160001C */ beqz $t3, .L8006CD1C
|
||||
/* 06D8AC 8006CCAC 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e
|
||||
/* 06D8B0 8006CCB0 C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at)
|
||||
/* 06D8B4 8006CCB4 00107080 */ sll $t6, $s0, 2
|
||||
/* 06D8B8 8006CCB8 3C0F8019 */ lui $t7, %hi(D_8018D930)
|
||||
/* 06D8BC 8006CCBC 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 06D8C0 8006CCC0 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 06D8C4 8006CCC4 8DEFD930 */ lw $t7, %lo(D_8018D930)($t7)
|
||||
/* 06D8C8 8006CCC8 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D8CC 8006CCCC 440D3000 */ mfc1 $t5, $f6
|
||||
/* 06D8D0 8006CCD0 00000000 */ nop
|
||||
/* 06D8D4 8006CCD4 01AFC023 */ subu $t8, $t5, $t7
|
||||
/* 06D8D8 8006CCD8 2B010009 */ slti $at, $t8, 9
|
||||
/* 06D8DC 8006CCDC 50200010 */ beql $at, $zero, .L8006CD20
|
||||
/* 06D8E0 8006CCE0 94820046 */ lhu $v0, 0x46($a0)
|
||||
/* 06D8E4 8006CCE4 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D8E8 8006CCE8 0007CE03 */ sra $t9, $a3, 0x18
|
||||
/* 06D8EC 8006CCEC 03203825 */ move $a3, $t9
|
||||
/* 06D8F0 8006CCF0 AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 06D8F4 8006CCF4 0C01856B */ jal func_800615AC
|
||||
/* 06D8F8 8006CCF8 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 06D8FC 8006CCFC 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 06D900 8006CD00 94880046 */ lhu $t0, 0x46($a0)
|
||||
/* 06D904 8006CD04 848A0044 */ lh $t2, 0x44($a0)
|
||||
/* 06D908 8006CD08 3109FFF7 */ andi $t1, $t0, 0xfff7
|
||||
/* 06D90C 8006CD0C 314BFEFF */ andi $t3, $t2, 0xfeff
|
||||
/* 06D910 8006CD10 A4890046 */ sh $t1, 0x46($a0)
|
||||
/* 06D914 8006CD14 10000065 */ b .L8006CEAC
|
||||
/* 06D918 8006CD18 A48B0044 */ sh $t3, 0x44($a0)
|
||||
.L8006CD1C:
|
||||
/* 06D91C 8006CD1C 94820046 */ lhu $v0, 0x46($a0)
|
||||
.L8006CD20:
|
||||
/* 06D920 8006CD20 24010008 */ li $at, 8
|
||||
/* 06D924 8006CD24 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D928 8006CD28 304C0008 */ andi $t4, $v0, 8
|
||||
/* 06D92C 8006CD2C 1581000C */ bne $t4, $at, .L8006CD60
|
||||
/* 06D930 8006CD30 30580020 */ andi $t8, $v0, 0x20
|
||||
/* 06D934 8006CD34 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D938 8006CD38 00077603 */ sra $t6, $a3, 0x18
|
||||
/* 06D93C 8006CD3C 01C03825 */ move $a3, $t6
|
||||
/* 06D940 8006CD40 AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 06D944 8006CD44 0C0184BE */ jal func_800612F8
|
||||
/* 06D948 8006CD48 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 06D94C 8006CD4C 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 06D950 8006CD50 848D0044 */ lh $t5, 0x44($a0)
|
||||
/* 06D954 8006CD54 31AFFEFF */ andi $t7, $t5, 0xfeff
|
||||
/* 06D958 8006CD58 10000054 */ b .L8006CEAC
|
||||
/* 06D95C 8006CD5C A48F0044 */ sh $t7, 0x44($a0)
|
||||
.L8006CD60:
|
||||
/* 06D960 8006CD60 24010020 */ li $at, 32
|
||||
/* 06D964 8006CD64 1701001D */ bne $t8, $at, .L8006CDDC
|
||||
/* 06D968 8006CD68 306C2000 */ andi $t4, $v1, 0x2000
|
||||
/* 06D96C 8006CD6C 3C014190 */ li $at, 0x41900000 # 18.000000
|
||||
/* 06D970 8006CD70 44815000 */ mtc1 $at, $f10
|
||||
/* 06D974 8006CD74 C4880094 */ lwc1 $f8, 0x94($a0)
|
||||
/* 06D978 8006CD78 3C014358 */ li $at, 0x43580000 # 216.000000
|
||||
/* 06D97C 8006CD7C 44819000 */ mtc1 $at, $f18
|
||||
/* 06D980 8006CD80 460A4403 */ div.s $f16, $f8, $f10
|
||||
/* 06D984 8006CD84 3C0141A0 */ li $at, 0x41A00000 # 20.000000
|
||||
/* 06D988 8006CD88 44813000 */ mtc1 $at, $f6
|
||||
/* 06D98C 8006CD8C 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D990 8006CD90 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 06D994 8006CD94 4604303E */ c.le.s $f6, $f4
|
||||
/* 06D998 8006CD98 00000000 */ nop
|
||||
/* 06D99C 8006CD9C 4500000F */ bc1f .L8006CDDC
|
||||
/* 06D9A0 8006CDA0 00000000 */ nop
|
||||
/* 06D9A4 8006CDA4 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D9A8 8006CDA8 0007CE03 */ sra $t9, $a3, 0x18
|
||||
/* 06D9AC 8006CDAC 03203825 */ move $a3, $t9
|
||||
/* 06D9B0 8006CDB0 AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 06D9B4 8006CDB4 0C018753 */ jal func_80061D4C
|
||||
/* 06D9B8 8006CDB8 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 06D9BC 8006CDBC 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 06D9C0 8006CDC0 94880046 */ lhu $t0, 0x46($a0)
|
||||
/* 06D9C4 8006CDC4 848A0044 */ lh $t2, 0x44($a0)
|
||||
/* 06D9C8 8006CDC8 3109FFF7 */ andi $t1, $t0, 0xfff7
|
||||
/* 06D9CC 8006CDCC 314BFEFF */ andi $t3, $t2, 0xfeff
|
||||
/* 06D9D0 8006CDD0 A4890046 */ sh $t1, 0x46($a0)
|
||||
/* 06D9D4 8006CDD4 10000035 */ b .L8006CEAC
|
||||
/* 06D9D8 8006CDD8 A48B0044 */ sh $t3, 0x44($a0)
|
||||
.L8006CDDC:
|
||||
/* 06D9DC 8006CDDC 1180000D */ beqz $t4, .L8006CE14
|
||||
/* 06D9E0 8006CDE0 0003C280 */ sll $t8, $v1, 0xa
|
||||
/* 06D9E4 8006CDE4 948E0000 */ lhu $t6, ($a0)
|
||||
/* 06D9E8 8006CDE8 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D9EC 8006CDEC 31CD4000 */ andi $t5, $t6, 0x4000
|
||||
/* 06D9F0 8006CDF0 11A00008 */ beqz $t5, .L8006CE14
|
||||
/* 06D9F4 8006CDF4 00000000 */ nop
|
||||
/* 06D9F8 8006CDF8 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D9FC 8006CDFC 00077E03 */ sra $t7, $a3, 0x18
|
||||
/* 06DA00 8006CE00 01E03825 */ move $a3, $t7
|
||||
/* 06DA04 8006CE04 0C01886F */ jal func_800621BC
|
||||
/* 06DA08 8006CE08 AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 06DA0C 8006CE0C 10000028 */ b .L8006CEB0
|
||||
/* 06DA10 8006CE10 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8006CE14:
|
||||
/* 06DA14 8006CE14 07000003 */ bltz $t8, .L8006CE24
|
||||
/* 06DA18 8006CE18 0003CAC0 */ sll $t9, $v1, 0xb
|
||||
/* 06DA1C 8006CE1C 07230016 */ bgezl $t9, .L8006CE78
|
||||
/* 06DA20 8006CE20 30EF0100 */ andi $t7, $a3, 0x100
|
||||
.L8006CE24:
|
||||
/* 06DA24 8006CE24 94880000 */ lhu $t0, ($a0)
|
||||
/* 06DA28 8006CE28 24014000 */ li $at, 16384
|
||||
/* 06DA2C 8006CE2C 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06DA30 8006CE30 31094000 */ andi $t1, $t0, 0x4000
|
||||
/* 06DA34 8006CE34 55210010 */ bnel $t1, $at, .L8006CE78
|
||||
/* 06DA38 8006CE38 30EF0100 */ andi $t7, $a3, 0x100
|
||||
/* 06DA3C 8006CE3C 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06DA40 8006CE40 00075603 */ sra $t2, $a3, 0x18
|
||||
/* 06DA44 8006CE44 01403825 */ move $a3, $t2
|
||||
/* 06DA48 8006CE48 AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 06DA4C 8006CE4C 0C0187BD */ jal func_80061EF4
|
||||
/* 06DA50 8006CE50 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 06DA54 8006CE54 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 06DA58 8006CE58 948B0046 */ lhu $t3, 0x46($a0)
|
||||
/* 06DA5C 8006CE5C 848E0044 */ lh $t6, 0x44($a0)
|
||||
/* 06DA60 8006CE60 316CFFF7 */ andi $t4, $t3, 0xfff7
|
||||
/* 06DA64 8006CE64 31CDFEFF */ andi $t5, $t6, 0xfeff
|
||||
/* 06DA68 8006CE68 A48C0046 */ sh $t4, 0x46($a0)
|
||||
/* 06DA6C 8006CE6C 1000000F */ b .L8006CEAC
|
||||
/* 06DA70 8006CE70 A48D0044 */ sh $t5, 0x44($a0)
|
||||
/* 06DA74 8006CE74 30EF0100 */ andi $t7, $a3, 0x100
|
||||
.L8006CE78:
|
||||
/* 06DA78 8006CE78 24010100 */ li $at, 256
|
||||
/* 06DA7C 8006CE7C 15E1000B */ bne $t7, $at, .L8006CEAC
|
||||
/* 06DA80 8006CE80 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06DA84 8006CE84 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06DA88 8006CE88 0007C603 */ sra $t8, $a3, 0x18
|
||||
/* 06DA8C 8006CE8C 03003825 */ move $a3, $t8
|
||||
/* 06DA90 8006CE90 AFB10010 */ sw $s1, 0x10($sp)
|
||||
/* 06DA94 8006CE94 0C018936 */ jal func_800624D8
|
||||
/* 06DA98 8006CE98 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* 06DA9C 8006CE9C 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* 06DAA0 8006CEA0 94990046 */ lhu $t9, 0x46($a0)
|
||||
/* 06DAA4 8006CEA4 3328FFF7 */ andi $t0, $t9, 0xfff7
|
||||
/* 06DAA8 8006CEA8 A4880046 */ sh $t0, 0x46($a0)
|
||||
.L8006CEAC:
|
||||
/* 06DAAC 8006CEAC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8006CEB0:
|
||||
/* 06DAB0 8006CEB0 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* 06DAB4 8006CEB4 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* 06DAB8 8006CEB8 03E00008 */ jr $ra
|
||||
/* 06DABC 8006CEBC 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
|
@ -1,207 +0,0 @@
|
|||
.section .late_rodata
|
||||
|
||||
glabel jpt_800EE8B4
|
||||
.word L8006CF38, L8006D184, L8006CF4C, L8006D184
|
||||
.word L8006CF60, L8006CF74, L8006CF88
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_8006CEC0
|
||||
/* 06DAC0 8006CEC0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 06DAC4 8006CEC4 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 06DAC8 8006CEC8 00057400 */ sll $t6, $a1, 0x10
|
||||
/* 06DACC 8006CECC 000E2C03 */ sra $a1, $t6, 0x10
|
||||
/* 06DAD0 8006CED0 24A2FFFF */ addiu $v0, $a1, -1
|
||||
/* 06DAD4 8006CED4 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 06DAD8 8006CED8 AFA60030 */ sw $a2, 0x30($sp)
|
||||
/* 06DADC 8006CEDC AFA70034 */ sw $a3, 0x34($sp)
|
||||
/* 06DAE0 8006CEE0 04410003 */ bgez $v0, .L8006CEF0
|
||||
/* 06DAE4 8006CEE4 AFA20020 */ sw $v0, 0x20($sp)
|
||||
/* 06DAE8 8006CEE8 24180009 */ li $t8, 9
|
||||
/* 06DAEC 8006CEEC AFB80020 */ sw $t8, 0x20($sp)
|
||||
.L8006CEF0:
|
||||
/* 06DAF0 8006CEF0 0005C8C0 */ sll $t9, $a1, 3
|
||||
/* 06DAF4 8006CEF4 0325C821 */ addu $t9, $t9, $a1
|
||||
/* 06DAF8 8006CEF8 0019C8C0 */ sll $t9, $t9, 3
|
||||
/* 06DAFC 8006CEFC 00991021 */ addu $v0, $a0, $t9
|
||||
/* 06DB00 8006CF00 84480274 */ lh $t0, 0x274($v0)
|
||||
/* 06DB04 8006CF04 24070001 */ li $a3, 1
|
||||
/* 06DB08 8006CF08 54E80025 */ bnel $a3, $t0, .L8006CFA0
|
||||
/* 06DB0C 8006CF0C 848B0044 */ lh $t3, 0x44($a0)
|
||||
/* 06DB10 8006CF10 9449026A */ lhu $t1, 0x26a($v0)
|
||||
/* 06DB14 8006CF14 252AFFFF */ addiu $t2, $t1, -1
|
||||
/* 06DB18 8006CF18 2D410007 */ sltiu $at, $t2, 7
|
||||
/* 06DB1C 8006CF1C 10200099 */ beqz $at, .L8006D184
|
||||
/* 06DB20 8006CF20 000A5080 */ sll $t2, $t2, 2
|
||||
/* 06DB24 8006CF24 3C01800F */ lui $at, %hi(jpt_800EE8B4)
|
||||
/* 06DB28 8006CF28 002A0821 */ addu $at, $at, $t2
|
||||
/* 06DB2C 8006CF2C 8C2AE8B4 */ lw $t2, %lo(jpt_800EE8B4)($at)
|
||||
/* 06DB30 8006CF30 01400008 */ jr $t2
|
||||
/* 06DB34 8006CF34 00000000 */ nop
|
||||
glabel L8006CF38
|
||||
/* 06DB38 8006CF38 83A60033 */ lb $a2, 0x33($sp)
|
||||
/* 06DB3C 8006CF3C 0C018B1D */ jal func_80062C74
|
||||
/* 06DB40 8006CF40 83A70037 */ lb $a3, 0x37($sp)
|
||||
/* 06DB44 8006CF44 10000090 */ b .L8006D188
|
||||
/* 06DB48 8006CF48 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
glabel L8006CF4C
|
||||
/* 06DB4C 8006CF4C 83A60033 */ lb $a2, 0x33($sp)
|
||||
/* 06DB50 8006CF50 0C019061 */ jal func_80064184
|
||||
/* 06DB54 8006CF54 83A70037 */ lb $a3, 0x37($sp)
|
||||
/* 06DB58 8006CF58 1000008B */ b .L8006D188
|
||||
/* 06DB5C 8006CF5C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
glabel L8006CF60
|
||||
/* 06DB60 8006CF60 83A60033 */ lb $a2, 0x33($sp)
|
||||
/* 06DB64 8006CF64 0C018C30 */ jal func_800630C0
|
||||
/* 06DB68 8006CF68 83A70037 */ lb $a3, 0x37($sp)
|
||||
/* 06DB6C 8006CF6C 10000086 */ b .L8006D188
|
||||
/* 06DB70 8006CF70 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
glabel L8006CF74
|
||||
/* 06DB74 8006CF74 83A60033 */ lb $a2, 0x33($sp)
|
||||
/* 06DB78 8006CF78 0C018C6A */ jal func_800631A8
|
||||
/* 06DB7C 8006CF7C 83A70037 */ lb $a3, 0x37($sp)
|
||||
/* 06DB80 8006CF80 10000081 */ b .L8006D188
|
||||
/* 06DB84 8006CF84 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
glabel L8006CF88
|
||||
/* 06DB88 8006CF88 83A60033 */ lb $a2, 0x33($sp)
|
||||
/* 06DB8C 8006CF8C 0C018C9A */ jal func_80063268
|
||||
/* 06DB90 8006CF90 83A70037 */ lb $a3, 0x37($sp)
|
||||
/* 06DB94 8006CF94 1000007C */ b .L8006D188
|
||||
/* 06DB98 8006CF98 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 06DB9C 8006CF9C 848B0044 */ lh $t3, 0x44($a0)
|
||||
.L8006CFA0:
|
||||
/* 06DBA0 8006CFA0 316C0200 */ andi $t4, $t3, 0x200
|
||||
/* 06DBA4 8006CFA4 5180000D */ beql $t4, $zero, .L8006CFDC
|
||||
/* 06DBA8 8006CFA8 8C8300BC */ lw $v1, 0xbc($a0)
|
||||
/* 06DBAC 8006CFAC 948D0000 */ lhu $t5, ($a0)
|
||||
/* 06DBB0 8006CFB0 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 06DBB4 8006CFB4 83AF0037 */ lb $t7, 0x37($sp)
|
||||
/* 06DBB8 8006CFB8 31AE4000 */ andi $t6, $t5, 0x4000
|
||||
/* 06DBBC 8006CFBC 51C00007 */ beql $t6, $zero, .L8006CFDC
|
||||
/* 06DBC0 8006CFC0 8C8300BC */ lw $v1, 0xbc($a0)
|
||||
/* 06DBC4 8006CFC4 83A70033 */ lb $a3, 0x33($sp)
|
||||
/* 06DBC8 8006CFC8 0C018489 */ jal func_80061224
|
||||
/* 06DBCC 8006CFCC AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 06DBD0 8006CFD0 1000006D */ b .L8006D188
|
||||
/* 06DBD4 8006CFD4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 06DBD8 8006CFD8 8C8300BC */ lw $v1, 0xbc($a0)
|
||||
.L8006CFDC:
|
||||
/* 06DBDC 8006CFDC 3C024000 */ lui $v0, 0x4000
|
||||
/* 06DBE0 8006CFE0 0062C024 */ and $t8, $v1, $v0
|
||||
/* 06DBE4 8006CFE4 5458000D */ bnel $v0, $t8, .L8006D01C
|
||||
/* 06DBE8 8006CFE8 94860000 */ lhu $a2, ($a0)
|
||||
/* 06DBEC 8006CFEC 849900B0 */ lh $t9, 0xb0($a0)
|
||||
/* 06DBF0 8006CFF0 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 06DBF4 8006CFF4 83A80037 */ lb $t0, 0x37($sp)
|
||||
/* 06DBF8 8006CFF8 2B210032 */ slti $at, $t9, 0x32
|
||||
/* 06DBFC 8006CFFC 50200007 */ beql $at, $zero, .L8006D01C
|
||||
/* 06DC00 8006D000 94860000 */ lhu $a2, ($a0)
|
||||
/* 06DC04 8006D004 83A70033 */ lb $a3, 0x33($sp)
|
||||
/* 06DC08 8006D008 0C018425 */ jal func_80061094
|
||||
/* 06DC0C 8006D00C AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* 06DC10 8006D010 1000005D */ b .L8006D188
|
||||
/* 06DC14 8006D014 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 06DC18 8006D018 94860000 */ lhu $a2, ($a0)
|
||||
.L8006D01C:
|
||||
/* 06DC1C 8006D01C 24014000 */ li $at, 16384
|
||||
/* 06DC20 8006D020 30C94000 */ andi $t1, $a2, 0x4000
|
||||
/* 06DC24 8006D024 15210018 */ bne $t1, $at, .L8006D088
|
||||
/* 06DC28 8006D028 01203025 */ move $a2, $t1
|
||||
/* 06DC2C 8006D02C 948200DE */ lhu $v0, 0xde($a0)
|
||||
/* 06DC30 8006D030 24010008 */ li $at, 8
|
||||
/* 06DC34 8006D034 83AB0037 */ lb $t3, 0x37($sp)
|
||||
/* 06DC38 8006D038 304A0008 */ andi $t2, $v0, 8
|
||||
/* 06DC3C 8006D03C 15410007 */ bne $t2, $at, .L8006D05C
|
||||
/* 06DC40 8006D040 304C0002 */ andi $t4, $v0, 2
|
||||
/* 06DC44 8006D044 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 06DC48 8006D048 83A70033 */ lb $a3, 0x33($sp)
|
||||
/* 06DC4C 8006D04C 0C0183D4 */ jal func_80060F50
|
||||
/* 06DC50 8006D050 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 06DC54 8006D054 1000004C */ b .L8006D188
|
||||
/* 06DC58 8006D058 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8006D05C:
|
||||
/* 06DC5C 8006D05C 15800003 */ bnez $t4, .L8006D06C
|
||||
/* 06DC60 8006D060 304D0001 */ andi $t5, $v0, 1
|
||||
/* 06DC64 8006D064 11A00008 */ beqz $t5, .L8006D088
|
||||
/* 06DC68 8006D068 00000000 */ nop
|
||||
.L8006D06C:
|
||||
/* 06DC6C 8006D06C 83AE0037 */ lb $t6, 0x37($sp)
|
||||
/* 06DC70 8006D070 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 06DC74 8006D074 83A70033 */ lb $a3, 0x33($sp)
|
||||
/* 06DC78 8006D078 0C0182C5 */ jal func_80060B14
|
||||
/* 06DC7C 8006D07C AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 06DC80 8006D080 10000041 */ b .L8006D188
|
||||
/* 06DC84 8006D084 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8006D088:
|
||||
/* 06DC88 8006D088 3C02800E */ lui $v0, %hi(gActiveScreenMode) # $v0, 0x800e
|
||||
/* 06DC8C 8006D08C 8C42C52C */ lw $v0, %lo(gActiveScreenMode)($v0)
|
||||
/* 06DC90 8006D090 5040000A */ beql $v0, $zero, .L8006D0BC
|
||||
/* 06DC94 8006D094 3C020400 */ lui $v0, 0x400
|
||||
/* 06DC98 8006D098 10470021 */ beq $v0, $a3, .L8006D120
|
||||
/* 06DC9C 8006D09C 24010002 */ li $at, 2
|
||||
/* 06DCA0 8006D0A0 1041001F */ beq $v0, $at, .L8006D120
|
||||
/* 06DCA4 8006D0A4 24010003 */ li $at, 3
|
||||
/* 06DCA8 8006D0A8 1041001D */ beq $v0, $at, .L8006D120
|
||||
/* 06DCAC 8006D0AC 00000000 */ nop
|
||||
/* 06DCB0 8006D0B0 10000035 */ b .L8006D188
|
||||
/* 06DCB4 8006D0B4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 06DCB8 8006D0B8 3C020400 */ lui $v0, 0x400
|
||||
.L8006D0BC:
|
||||
/* 06DCBC 8006D0BC 00627824 */ and $t7, $v1, $v0
|
||||
/* 06DCC0 8006D0C0 104F0030 */ beq $v0, $t7, .L8006D184
|
||||
/* 06DCC4 8006D0C4 30780400 */ andi $t8, $v1, 0x400
|
||||
/* 06DCC8 8006D0C8 24010400 */ li $at, 1024
|
||||
/* 06DCCC 8006D0CC 1301002D */ beq $t8, $at, .L8006D184
|
||||
/* 06DCD0 8006D0D0 3C020100 */ lui $v0, 0x100
|
||||
/* 06DCD4 8006D0D4 0062C824 */ and $t9, $v1, $v0
|
||||
/* 06DCD8 8006D0D8 5059002B */ beql $v0, $t9, .L8006D188
|
||||
/* 06DCDC 8006D0DC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 06DCE0 8006D0E0 848200CA */ lh $v0, 0xca($a0)
|
||||
/* 06DCE4 8006D0E4 24010002 */ li $at, 2
|
||||
/* 06DCE8 8006D0E8 30480002 */ andi $t0, $v0, 2
|
||||
/* 06DCEC 8006D0EC 11010025 */ beq $t0, $at, .L8006D184
|
||||
/* 06DCF0 8006D0F0 30490010 */ andi $t1, $v0, 0x10
|
||||
/* 06DCF4 8006D0F4 24010010 */ li $at, 16
|
||||
/* 06DCF8 8006D0F8 11210022 */ beq $t1, $at, .L8006D184
|
||||
/* 06DCFC 8006D0FC 304A0100 */ andi $t2, $v0, 0x100
|
||||
/* 06DD00 8006D100 15400020 */ bnez $t2, .L8006D184
|
||||
/* 06DD04 8006D104 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 06DD08 8006D108 83AB0037 */ lb $t3, 0x37($sp)
|
||||
/* 06DD0C 8006D10C 83A70033 */ lb $a3, 0x33($sp)
|
||||
/* 06DD10 8006D110 0C018141 */ jal func_80060504
|
||||
/* 06DD14 8006D114 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 06DD18 8006D118 1000001B */ b .L8006D188
|
||||
/* 06DD1C 8006D11C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8006D120:
|
||||
/* 06DD20 8006D120 10C00018 */ beqz $a2, .L8006D184
|
||||
/* 06DD24 8006D124 3C020400 */ lui $v0, 0x400
|
||||
/* 06DD28 8006D128 00626024 */ and $t4, $v1, $v0
|
||||
/* 06DD2C 8006D12C 104C0015 */ beq $v0, $t4, .L8006D184
|
||||
/* 06DD30 8006D130 306D0400 */ andi $t5, $v1, 0x400
|
||||
/* 06DD34 8006D134 24010400 */ li $at, 1024
|
||||
/* 06DD38 8006D138 11A10012 */ beq $t5, $at, .L8006D184
|
||||
/* 06DD3C 8006D13C 3C020100 */ lui $v0, 0x100
|
||||
/* 06DD40 8006D140 00627024 */ and $t6, $v1, $v0
|
||||
/* 06DD44 8006D144 504E0010 */ beql $v0, $t6, .L8006D188
|
||||
/* 06DD48 8006D148 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 06DD4C 8006D14C 848200CA */ lh $v0, 0xca($a0)
|
||||
/* 06DD50 8006D150 24010002 */ li $at, 2
|
||||
/* 06DD54 8006D154 304F0002 */ andi $t7, $v0, 2
|
||||
/* 06DD58 8006D158 11E1000A */ beq $t7, $at, .L8006D184
|
||||
/* 06DD5C 8006D15C 30580010 */ andi $t8, $v0, 0x10
|
||||
/* 06DD60 8006D160 24010010 */ li $at, 16
|
||||
/* 06DD64 8006D164 13010007 */ beq $t8, $at, .L8006D184
|
||||
/* 06DD68 8006D168 30590100 */ andi $t9, $v0, 0x100
|
||||
/* 06DD6C 8006D16C 17200005 */ bnez $t9, .L8006D184
|
||||
/* 06DD70 8006D170 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 06DD74 8006D174 83A80037 */ lb $t0, 0x37($sp)
|
||||
/* 06DD78 8006D178 83A70033 */ lb $a3, 0x33($sp)
|
||||
/* 06DD7C 8006D17C 0C018141 */ jal func_80060504
|
||||
/* 06DD80 8006D180 AFA80010 */ sw $t0, 0x10($sp)
|
||||
.L8006D184:
|
||||
glabel L8006D184
|
||||
/* 06DD84 8006D184 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8006D188:
|
||||
/* 06DD88 8006D188 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 06DD8C 8006D18C 03E00008 */ jr $ra
|
||||
/* 06DD90 8006D190 00000000 */ nop
|
||||
|
|
@ -3493,7 +3493,7 @@ void func_8005F90C(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8
|
|||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005F90C.s")
|
||||
#endif
|
||||
|
||||
void func_80060504(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
|
||||
void func_80060504(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
||||
UNUSED s32 thing1;
|
||||
s16 thing2;
|
||||
UNUSED s32 thing3;
|
||||
|
|
@ -3634,7 +3634,7 @@ void func_80060BCC(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8
|
|||
}
|
||||
}
|
||||
|
||||
void func_80060F50(Player* player, s16 arg1, UNUSED s8 arg2, s8 arg3, UNUSED s8 arg4) {
|
||||
void func_80060F50(Player* player, s16 arg1, UNUSED s32 arg2, s8 arg3, UNUSED s8 arg4) {
|
||||
func_8005D794(player, &player->unk_258[arg1], 0.0f, 0.0f, 0.0f, 0, 0);
|
||||
func_8005D7D8(&player->unk_258[arg1], 5, 4.0f);
|
||||
|
||||
|
|
@ -3650,7 +3650,7 @@ void func_80060F50(Player* player, s16 arg1, UNUSED s8 arg2, s8 arg3, UNUSED s8
|
|||
player->unk_0DE &= ~0x0008;
|
||||
}
|
||||
|
||||
void func_80061094(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
void func_80061094(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
if (arg1 == 0) {
|
||||
func_8005D794(player, &player->unk_258[arg1], 0.0f, 0.0f, 0.0f, 0, 0);
|
||||
func_8005D7D8(&player->unk_258[arg1], 6, 3.8f);
|
||||
|
|
@ -3685,7 +3685,7 @@ void func_80061224(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_800612F8(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 arg3) {
|
||||
void func_800612F8(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 var_s2;
|
||||
|
||||
for (var_s2 = 0; var_s2 < 10; var_s2++){
|
||||
|
|
@ -3703,7 +3703,7 @@ void func_800612F8(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a
|
|||
player->unk_046 &= ~0x0008;
|
||||
}
|
||||
|
||||
void func_80061430(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 arg3) {
|
||||
void func_80061430(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 var_s2;
|
||||
|
||||
for (var_s2 = 0; var_s2 < 7; var_s2++){
|
||||
|
|
@ -3723,7 +3723,7 @@ void func_80061430(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a
|
|||
player->unk_044 &= ~0x1000;
|
||||
}
|
||||
|
||||
void func_800615AC(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3) {
|
||||
void func_800615AC(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 test = 2;
|
||||
UNUSED s32 stackPadding0;
|
||||
UNUSED s32 stackPadding1;
|
||||
|
|
@ -3788,7 +3788,7 @@ void func_8006199C(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80061A34(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3) {
|
||||
void func_80061A34(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 sp54;
|
||||
UNUSED s32 stackPadding0;
|
||||
s32 sp4C;
|
||||
|
|
@ -3818,7 +3818,7 @@ void func_80061A34(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80061D4C(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3) {
|
||||
void func_80061D4C(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 test = 2;
|
||||
UNUSED s32 stackPadding0;
|
||||
UNUSED s32 stackPadding1;
|
||||
|
|
@ -3841,7 +3841,7 @@ void func_80061D4C(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80061EF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3) {
|
||||
void func_80061EF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
UNUSED s32 stackPadding0;
|
||||
s32 var_t0 = 0x000000FF;
|
||||
s32 var_t1;
|
||||
|
|
@ -3890,7 +3890,7 @@ void func_80061EF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_800621BC(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3) {
|
||||
void func_800621BC(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 temp_v1;
|
||||
s32 phi_t0;
|
||||
s32 phi_t1;
|
||||
|
|
@ -3961,7 +3961,7 @@ void func_80062484(Player* player, UnkPlayerStruct258* arg1, s32 arg2) {
|
|||
arg1->unk_01E = 0;
|
||||
}
|
||||
|
||||
void func_800624D8(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 arg3) {
|
||||
void func_800624D8(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 var_s1;
|
||||
|
||||
switch (player->surfaceType) {
|
||||
|
|
@ -6039,14 +6039,6 @@ void func_8006C6AC(Player *player, s16 arg1, s8 arg2, s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
/**
|
||||
* https://decomp.me/scratch/pKyCf
|
||||
* There's something very very wrong about the handling of arg3
|
||||
* In the target assembly arg3 keeps getting (re?)converted to
|
||||
* an s8, but in this decomp attempt that never happens.
|
||||
* I don't know what's going on.
|
||||
**/
|
||||
void func_8006C9B8(Player *player, s16 arg1, s8 arg2, s8 arg3) {
|
||||
UNUSED s32 stackPadding;
|
||||
s32 sp28;
|
||||
|
|
@ -6097,7 +6089,7 @@ void func_8006C9B8(Player *player, s16 arg1, s8 arg2, s8 arg3) {
|
|||
}
|
||||
} else {
|
||||
if (player->unk_044 & 0x1000) {
|
||||
func_80061430(player, arg1, sp28, arg2);
|
||||
func_80061430(player, arg1, sp28, arg2, arg3);
|
||||
player->unk_044 &= ~0x0100;
|
||||
return;
|
||||
}
|
||||
|
|
@ -6108,60 +6100,45 @@ void func_8006C9B8(Player *player, s16 arg1, s8 arg2, s8 arg3) {
|
|||
return;
|
||||
}
|
||||
if ((player->unk_0CA & 0x2000) == 0x2000) {
|
||||
func_80061A34(player, arg1, sp28, arg2);
|
||||
func_80061A34(player, arg1, sp28, arg2, arg3);
|
||||
player->unk_046 &= ~0x0008;
|
||||
player->unk_044 &= ~0x0100;
|
||||
return;
|
||||
}
|
||||
if ((player->effects & STAR_EFFECT) && ((((s32) gCourseTimer) - D_8018D930[arg2]) < 9)) {
|
||||
func_800615AC(player, arg1, sp28, arg2);
|
||||
func_800615AC(player, arg1, sp28, arg2, arg3);
|
||||
player->unk_046 &= ~0x0008;
|
||||
player->unk_044 &= ~0x0100;
|
||||
return;
|
||||
}
|
||||
if ((player->unk_046 & 8) == 8) {
|
||||
func_800612F8(player, arg1, sp28, arg2);
|
||||
func_800612F8(player, arg1, sp28, arg2, arg3);
|
||||
player->unk_044 &= ~0x0100;
|
||||
return;
|
||||
}
|
||||
if (((player->unk_046 & 0x20) == 0x20) && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) {
|
||||
func_80061D4C(player, arg1, sp28, arg2);
|
||||
func_80061D4C(player, arg1, sp28, arg2, arg3);
|
||||
player->unk_046 &= ~0x0008;
|
||||
player->unk_044 &= ~0x0100;
|
||||
return;
|
||||
}
|
||||
if ((player->effects & BOOST_EFFECT) && (player->type & PLAYER_HUMAN)) {
|
||||
func_800621BC(player, arg1, sp28, arg2);
|
||||
func_800621BC(player, arg1, sp28, arg2, arg3);
|
||||
return;
|
||||
}
|
||||
if (((player->effects & 0x200000) || (player->effects & BOOST_RAMP_ASPHALT_EFFECT)) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) {
|
||||
func_80061EF4(player, arg1, sp28, arg2);
|
||||
func_80061EF4(player, arg1, sp28, arg2, arg3);
|
||||
player->unk_046 &= ~0x0008;
|
||||
player->unk_044 &= ~0x0100;
|
||||
return;
|
||||
}
|
||||
if ((player->unk_044 & 0x100) == 0x100) {
|
||||
func_800624D8(player, arg1, sp28, arg2);
|
||||
func_800624D8(player, arg1, sp28, arg2, arg3);
|
||||
player->unk_046 &= ~0x0008;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006C9B8.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// Something really wrong with arg3 on these functions, could be fake?
|
||||
void func_80062C74(Player *player, s16 arg1, s32 arg2, s32 arg3);
|
||||
void func_80064184(Player* player, s16 arg1, s8 arg2, UNUSED s8 arg3);
|
||||
void func_800630C0(Player* player, s16 arg1, s8 arg2, UNUSED s8 arg3);
|
||||
void func_800631A8(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3);
|
||||
void func_80063268(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3);
|
||||
|
||||
extern s32 gActiveScreenMode;
|
||||
|
||||
// Replacing arg3 with 0 seems to make the percentage higher.
|
||||
// func_80060504 args could be wrong as well.
|
||||
void func_8006CEC0(Player *arg0, s16 arg1, s8 arg2, s8 arg3) {
|
||||
UNUSED u16 temp_v0_3;
|
||||
s32 sp20 = arg1;
|
||||
|
|
@ -6208,8 +6185,7 @@ void func_8006CEC0(Player *arg0, s16 arg1, s8 arg2, s8 arg3) {
|
|||
&& ((arg0->effects & 0x400) != 0x400)
|
||||
&& ((arg0->effects & 0x01000000) != 0x01000000)) {
|
||||
if (((arg0->unk_0CA & 2) != 2) && ((arg0->unk_0CA & 0x10) != 0x10) && !(arg0->unk_0CA & 0x100)) {
|
||||
//func_80060504(arg0, arg1, sp20, arg2, arg3);
|
||||
func_80060504(arg0, sp20, arg2, arg3);
|
||||
func_80060504(arg0, arg1, sp20, arg2, arg3);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
@ -6223,17 +6199,13 @@ void func_8006CEC0(Player *arg0, s16 arg1, s8 arg2, s8 arg3) {
|
|||
&& ((arg0->effects & 0x400) != 0x400)
|
||||
&& ((arg0->effects & 0x01000000) != 0x01000000)) {
|
||||
if (((arg0->unk_0CA & 2) != 2) && ((arg0->unk_0CA & 0x10) != 0x10) && !(arg0->unk_0CA & 0x100)) {
|
||||
//func_80060504(arg0, arg1, sp20, arg2, arg3);
|
||||
func_80060504(arg0, sp20, arg2, arg3);
|
||||
func_80060504(arg0, arg1, sp20, arg2, arg3);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006CEC0.s")
|
||||
#endif
|
||||
|
||||
void func_8006D194(Player *player, s8 arg1, s8 arg2) {
|
||||
if (player->unk_258[0x14].unk_01C == 1) {
|
||||
|
|
|
|||
|
|
@ -121,27 +121,27 @@ void func_8005ED48(Player*, s16, s32, s8, s8);
|
|||
|
||||
void func_8005F90C(Player*, s16, s32, s8, s8);
|
||||
|
||||
void func_80060504(Player*, s16, s32, s32);
|
||||
void func_80060504(Player*, s16, s32, s8, s8);
|
||||
void func_800608E0(Player*, s16, s32, s8, s8);
|
||||
void func_80060B14(Player*, s16, s32, s8, s8);
|
||||
void func_80060BCC(Player*, s16, s32, s8, s8);
|
||||
void func_80060F50(Player*, s16, s8, s8, s8);
|
||||
void func_80060F50(Player*, s16, s32, s8, s8);
|
||||
|
||||
void func_80061094(Player*, s16, s8, s8, s8);
|
||||
void func_80061094(Player*, s16, s32, s8, s8);
|
||||
void func_80061130(Player*, s16, s32, s8, s8);
|
||||
void func_80061224(Player*, s16, s32, s8, s8);
|
||||
void func_800612F8(Player*, s32, s32, s8);
|
||||
void func_80061430(Player*, s32, s32, s8);
|
||||
void func_800615AC(Player*, s16, s32, s8);
|
||||
void func_800612F8(Player*, s32, s32, s8, s8);
|
||||
void func_80061430(Player*, s32, s32, s8, s8);
|
||||
void func_800615AC(Player*, s16, s32, s8, s8);
|
||||
void func_80061754(Player*, s16, s32, s32, s32);
|
||||
void func_8006199C(Player*, s16, s32, s8, s8);
|
||||
void func_80061A34(Player*, s16, s32, s8);
|
||||
void func_80061D4C(Player*, s16, s32, s8);
|
||||
void func_80061EF4(Player*, s16, s32, s8);
|
||||
void func_80061A34(Player*, s16, s32, s8, s8);
|
||||
void func_80061D4C(Player*, s16, s32, s8, s8);
|
||||
void func_80061EF4(Player*, s16, s32, s8, s8);
|
||||
|
||||
void func_800621BC(Player*, s16, s32, s8);
|
||||
void func_800621BC(Player*, s16, s32, s8, s8);
|
||||
void func_80062484(Player*, UnkPlayerStruct258*, s32);
|
||||
void func_800624D8(Player*, s32, s32, s8);
|
||||
void func_800624D8(Player*, s32, s32, s8, s8);
|
||||
void func_800628C0(Player*, s8, s8, s8);
|
||||
void func_80062914(Player*, s8, s8, s8);
|
||||
void func_80062968(Player*, s8, s8, s8);
|
||||
|
|
|
|||
Loading…
Reference in New Issue