mirror of https://github.com/n64decomp/mk64.git
Match a couple functions (#558)
The matches in code_80057C60 required changes to several other function signatures. Thankfully that didn't cause any problems
This commit is contained in:
parent
27e0f763e0
commit
e63ea937d2
|
|
@ -1,227 +0,0 @@
|
|||
.section .late_rodata
|
||||
|
||||
glabel jpt_800EE864
|
||||
.word L8006C734, L8006C750, L8006C76C, L8006C788
|
||||
.word L8006C7A4, L8006C9A4, L8006C9A4, L8006C9A4
|
||||
.word L8006C7C0, L8006C9A4, L8006C7DC
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_8006C6AC
|
||||
/* 06D2AC 8006C6AC 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 06D2B0 8006C6B0 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 06D2B4 8006C6B4 AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* 06D2B8 8006C6B8 00057400 */ sll $t6, $a1, 0x10
|
||||
/* 06D2BC 8006C6BC 000E2C03 */ sra $a1, $t6, 0x10
|
||||
/* 06D2C0 8006C6C0 00068600 */ sll $s0, $a2, 0x18
|
||||
/* 06D2C4 8006C6C4 0010C603 */ sra $t8, $s0, 0x18
|
||||
/* 06D2C8 8006C6C8 24A2FFFF */ addiu $v0, $a1, -1
|
||||
/* 06D2CC 8006C6CC 03008025 */ move $s0, $t8
|
||||
/* 06D2D0 8006C6D0 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 06D2D4 8006C6D4 AFA60038 */ sw $a2, 0x38($sp)
|
||||
/* 06D2D8 8006C6D8 AFA7003C */ sw $a3, 0x3c($sp)
|
||||
/* 06D2DC 8006C6DC 04410003 */ bgez $v0, .L8006C6EC
|
||||
/* 06D2E0 8006C6E0 AFA20028 */ sw $v0, 0x28($sp)
|
||||
/* 06D2E4 8006C6E4 24190009 */ li $t9, 9
|
||||
/* 06D2E8 8006C6E8 AFB90028 */ sw $t9, 0x28($sp)
|
||||
.L8006C6EC:
|
||||
/* 06D2EC 8006C6EC 000540C0 */ sll $t0, $a1, 3
|
||||
/* 06D2F0 8006C6F0 01054021 */ addu $t0, $t0, $a1
|
||||
/* 06D2F4 8006C6F4 000840C0 */ sll $t0, $t0, 3
|
||||
/* 06D2F8 8006C6F8 00881021 */ addu $v0, $a0, $t0
|
||||
/* 06D2FC 8006C6FC 84490544 */ lh $t1, 0x544($v0)
|
||||
/* 06D300 8006C700 24010001 */ li $at, 1
|
||||
/* 06D304 8006C704 5521003D */ bnel $t1, $at, .L8006C7FC
|
||||
/* 06D308 8006C708 948900DE */ lhu $t1, 0xde($a0)
|
||||
/* 06D30C 8006C70C 944A053A */ lhu $t2, 0x53a($v0)
|
||||
/* 06D310 8006C710 254BFFFF */ addiu $t3, $t2, -1
|
||||
/* 06D314 8006C714 2D61000B */ sltiu $at, $t3, 0xb
|
||||
/* 06D318 8006C718 102000A2 */ beqz $at, .L8006C9A4
|
||||
/* 06D31C 8006C71C 000B5880 */ sll $t3, $t3, 2
|
||||
/* 06D320 8006C720 3C01800F */ lui $at, %hi(jpt_800EE864)
|
||||
/* 06D324 8006C724 002B0821 */ addu $at, $at, $t3
|
||||
/* 06D328 8006C728 8C2BE864 */ lw $t3, %lo(jpt_800EE864)($at)
|
||||
/* 06D32C 8006C72C 01600008 */ jr $t3
|
||||
/* 06D330 8006C730 00000000 */ nop
|
||||
glabel L8006C734
|
||||
/* 06D334 8006C734 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D338 8006C738 00066603 */ sra $t4, $a2, 0x18
|
||||
/* 06D33C 8006C73C 01803025 */ move $a2, $t4
|
||||
/* 06D340 8006C740 0C018D02 */ jal func_80063408
|
||||
/* 06D344 8006C744 83A7003F */ lb $a3, 0x3f($sp)
|
||||
/* 06D348 8006C748 10000097 */ b .L8006C9A8
|
||||
/* 06D34C 8006C74C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006C750
|
||||
/* 06D350 8006C750 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D354 8006C754 00066E03 */ sra $t5, $a2, 0x18
|
||||
/* 06D358 8006C758 01A03025 */ move $a2, $t5
|
||||
/* 06D35C 8006C75C 0C018D75 */ jal func_800635D4
|
||||
/* 06D360 8006C760 83A7003F */ lb $a3, 0x3f($sp)
|
||||
/* 06D364 8006C764 10000090 */ b .L8006C9A8
|
||||
/* 06D368 8006C768 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006C76C
|
||||
/* 06D36C 8006C76C 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D370 8006C770 00067603 */ sra $t6, $a2, 0x18
|
||||
/* 06D374 8006C774 01C03025 */ move $a2, $t6
|
||||
/* 06D378 8006C778 0C018EF5 */ jal func_80063BD4
|
||||
/* 06D37C 8006C77C 83A7003F */ lb $a3, 0x3f($sp)
|
||||
/* 06D380 8006C780 10000089 */ b .L8006C9A8
|
||||
/* 06D384 8006C784 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006C788
|
||||
/* 06D388 8006C788 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D38C 8006C78C 00067E03 */ sra $t7, $a2, 0x18
|
||||
/* 06D390 8006C790 01E03025 */ move $a2, $t7
|
||||
/* 06D394 8006C794 0C0190EA */ jal func_800643A8
|
||||
/* 06D398 8006C798 83A7003F */ lb $a3, 0x3f($sp)
|
||||
/* 06D39C 8006C79C 10000082 */ b .L8006C9A8
|
||||
/* 06D3A0 8006C7A0 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006C7A4
|
||||
/* 06D3A4 8006C7A4 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D3A8 8006C7A8 0006C603 */ sra $t8, $a2, 0x18
|
||||
/* 06D3AC 8006C7AC 03003025 */ move $a2, $t8
|
||||
/* 06D3B0 8006C7B0 0C018E77 */ jal func_800639DC
|
||||
/* 06D3B4 8006C7B4 83A7003F */ lb $a3, 0x3f($sp)
|
||||
/* 06D3B8 8006C7B8 1000007B */ b .L8006C9A8
|
||||
/* 06D3BC 8006C7BC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006C7C0
|
||||
/* 06D3C0 8006C7C0 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D3C4 8006C7C4 0006CE03 */ sra $t9, $a2, 0x18
|
||||
/* 06D3C8 8006C7C8 03203025 */ move $a2, $t9
|
||||
/* 06D3CC 8006C7CC 0C018F56 */ jal func_80063D58
|
||||
/* 06D3D0 8006C7D0 83A7003F */ lb $a3, 0x3f($sp)
|
||||
/* 06D3D4 8006C7D4 10000074 */ b .L8006C9A8
|
||||
/* 06D3D8 8006C7D8 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
glabel L8006C7DC
|
||||
/* 06D3DC 8006C7DC 00103600 */ sll $a2, $s0, 0x18
|
||||
/* 06D3E0 8006C7E0 00064603 */ sra $t0, $a2, 0x18
|
||||
/* 06D3E4 8006C7E4 01003025 */ move $a2, $t0
|
||||
/* 06D3E8 8006C7E8 0C018BE6 */ jal func_80062F98
|
||||
/* 06D3EC 8006C7EC 83A7003F */ lb $a3, 0x3f($sp)
|
||||
/* 06D3F0 8006C7F0 1000006D */ b .L8006C9A8
|
||||
/* 06D3F4 8006C7F4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 06D3F8 8006C7F8 948900DE */ lhu $t1, 0xde($a0)
|
||||
.L8006C7FC:
|
||||
/* 06D3FC 8006C7FC 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D400 8006C800 00075E03 */ sra $t3, $a3, 0x18
|
||||
/* 06D404 8006C804 312A0001 */ andi $t2, $t1, 1
|
||||
/* 06D408 8006C808 11400007 */ beqz $t2, .L8006C828
|
||||
/* 06D40C 8006C80C 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D410 8006C810 83AC003F */ lb $t4, 0x3f($sp)
|
||||
/* 06D414 8006C814 01603825 */ move $a3, $t3
|
||||
/* 06D418 8006C818 0C0182F3 */ jal func_80060BCC
|
||||
/* 06D41C 8006C81C AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 06D420 8006C820 10000061 */ b .L8006C9A8
|
||||
/* 06D424 8006C824 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8006C828:
|
||||
/* 06D428 8006C828 8C8200BC */ lw $v0, 0xbc($a0)
|
||||
/* 06D42C 8006C82C 304D0008 */ andi $t5, $v0, 8
|
||||
/* 06D430 8006C830 15A0005C */ bnez $t5, .L8006C9A4
|
||||
/* 06D434 8006C834 304E0002 */ andi $t6, $v0, 2
|
||||
/* 06D438 8006C838 15C0005A */ bnez $t6, .L8006C9A4
|
||||
/* 06D43C 8006C83C 304F0010 */ andi $t7, $v0, 0x10
|
||||
/* 06D440 8006C840 24010010 */ li $at, 16
|
||||
/* 06D444 8006C844 15E1000E */ bne $t7, $at, .L8006C880
|
||||
/* 06D448 8006C848 00105080 */ sll $t2, $s0, 2
|
||||
/* 06D44C 8006C84C 94980000 */ lhu $t8, ($a0)
|
||||
/* 06D450 8006C850 24014000 */ li $at, 16384
|
||||
/* 06D454 8006C854 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D458 8006C858 33194000 */ andi $t9, $t8, 0x4000
|
||||
/* 06D45C 8006C85C 17210008 */ bne $t9, $at, .L8006C880
|
||||
/* 06D460 8006C860 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D464 8006C864 83A9003F */ lb $t1, 0x3f($sp)
|
||||
/* 06D468 8006C868 00074603 */ sra $t0, $a3, 0x18
|
||||
/* 06D46C 8006C86C 01003825 */ move $a3, $t0
|
||||
/* 06D470 8006C870 0C01768C */ jal func_8005DA30
|
||||
/* 06D474 8006C874 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 06D478 8006C878 1000004B */ b .L8006C9A8
|
||||
/* 06D47C 8006C87C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8006C880:
|
||||
/* 06D480 8006C880 3C01400C */ li $at, 0x400C0000 # 2.187500
|
||||
/* 06D484 8006C884 44811800 */ mtc1 $at, $f3
|
||||
/* 06D488 8006C888 3C018016 */ lui $at, %hi(D_801652A0)
|
||||
/* 06D48C 8006C88C 002A0821 */ addu $at, $at, $t2
|
||||
/* 06D490 8006C890 C42052A0 */ lwc1 $f0, %lo(D_801652A0)($at)
|
||||
/* 06D494 8006C894 C48401F0 */ lwc1 $f4, 0x1f0($a0)
|
||||
/* 06D498 8006C898 44801000 */ mtc1 $zero, $f2
|
||||
/* 06D49C 8006C89C 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D4A0 8006C8A0 46040181 */ sub.s $f6, $f0, $f4
|
||||
/* 06D4A4 8006C8A4 00075E03 */ sra $t3, $a3, 0x18
|
||||
/* 06D4A8 8006C8A8 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D4AC 8006C8AC 83AC003F */ lb $t4, 0x3f($sp)
|
||||
/* 06D4B0 8006C8B0 46003221 */ cvt.d.s $f8, $f6
|
||||
/* 06D4B4 8006C8B4 4628103E */ c.le.d $f2, $f8
|
||||
/* 06D4B8 8006C8B8 00000000 */ nop
|
||||
/* 06D4BC 8006C8BC 4503000A */ bc1tl .L8006C8E8
|
||||
/* 06D4C0 8006C8C0 01603825 */ move $a3, $t3
|
||||
/* 06D4C4 8006C8C4 C48A01D8 */ lwc1 $f10, 0x1d8($a0)
|
||||
/* 06D4C8 8006C8C8 304D0080 */ andi $t5, $v0, 0x80
|
||||
/* 06D4CC 8006C8CC 24010080 */ li $at, 128
|
||||
/* 06D4D0 8006C8D0 460A0401 */ sub.s $f16, $f0, $f10
|
||||
/* 06D4D4 8006C8D4 460084A1 */ cvt.d.s $f18, $f16
|
||||
/* 06D4D8 8006C8D8 4632103E */ c.le.d $f2, $f18
|
||||
/* 06D4DC 8006C8DC 00000000 */ nop
|
||||
/* 06D4E0 8006C8E0 45000005 */ bc1f .L8006C8F8
|
||||
/* 06D4E4 8006C8E4 01603825 */ move $a3, $t3
|
||||
.L8006C8E8:
|
||||
/* 06D4E8 8006C8E8 0C017AA5 */ jal func_8005EA94
|
||||
/* 06D4EC 8006C8EC AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 06D4F0 8006C8F0 1000002D */ b .L8006C9A8
|
||||
/* 06D4F4 8006C8F4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8006C8F8:
|
||||
/* 06D4F8 8006C8F8 11A10004 */ beq $t5, $at, .L8006C90C
|
||||
/* 06D4FC 8006C8FC 304E0040 */ andi $t6, $v0, 0x40
|
||||
/* 06D500 8006C900 24010040 */ li $at, 64
|
||||
/* 06D504 8006C904 15C1000A */ bne $t6, $at, .L8006C930
|
||||
/* 06D508 8006C908 30594000 */ andi $t9, $v0, 0x4000
|
||||
.L8006C90C:
|
||||
/* 06D50C 8006C90C 83B8003F */ lb $t8, 0x3f($sp)
|
||||
/* 06D510 8006C910 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D514 8006C914 00077E03 */ sra $t7, $a3, 0x18
|
||||
/* 06D518 8006C918 01E03825 */ move $a3, $t7
|
||||
/* 06D51C 8006C91C 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D520 8006C920 0C017E43 */ jal func_8005F90C
|
||||
/* 06D524 8006C924 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 06D528 8006C928 1000001F */ b .L8006C9A8
|
||||
/* 06D52C 8006C92C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8006C930:
|
||||
/* 06D530 8006C930 13200005 */ beqz $t9, .L8006C948
|
||||
/* 06D534 8006C934 304A0800 */ andi $t2, $v0, 0x800
|
||||
/* 06D538 8006C938 94880000 */ lhu $t0, ($a0)
|
||||
/* 06D53C 8006C93C 31092000 */ andi $t1, $t0, 0x2000
|
||||
/* 06D540 8006C940 5120000C */ beql $t1, $zero, .L8006C974
|
||||
/* 06D544 8006C944 83AF003F */ lb $t7, 0x3f($sp)
|
||||
.L8006C948:
|
||||
/* 06D548 8006C948 15400009 */ bnez $t2, .L8006C970
|
||||
/* 06D54C 8006C94C 304B0020 */ andi $t3, $v0, 0x20
|
||||
/* 06D550 8006C950 55600008 */ bnel $t3, $zero, .L8006C974
|
||||
/* 06D554 8006C954 83AF003F */ lb $t7, 0x3f($sp)
|
||||
/* 06D558 8006C958 848C0044 */ lh $t4, 0x44($a0)
|
||||
/* 06D55C 8006C95C 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D560 8006C960 0007C603 */ sra $t8, $a3, 0x18
|
||||
/* 06D564 8006C964 318D4000 */ andi $t5, $t4, 0x4000
|
||||
/* 06D568 8006C968 11A0000A */ beqz $t5, .L8006C994
|
||||
/* 06D56C 8006C96C 8FA60028 */ lw $a2, 0x28($sp)
|
||||
.L8006C970:
|
||||
/* 06D570 8006C970 83AF003F */ lb $t7, 0x3f($sp)
|
||||
.L8006C974:
|
||||
/* 06D574 8006C974 00103E00 */ sll $a3, $s0, 0x18
|
||||
/* 06D578 8006C978 00077603 */ sra $t6, $a3, 0x18
|
||||
/* 06D57C 8006C97C 01C03825 */ move $a3, $t6
|
||||
/* 06D580 8006C980 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* 06D584 8006C984 0C017B52 */ jal func_8005ED48
|
||||
/* 06D588 8006C988 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 06D58C 8006C98C 10000006 */ b .L8006C9A8
|
||||
/* 06D590 8006C990 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8006C994:
|
||||
/* 06D594 8006C994 83B9003F */ lb $t9, 0x3f($sp)
|
||||
/* 06D598 8006C998 03003825 */ move $a3, $t8
|
||||
/* 06D59C 8006C99C 0C0176BD */ jal func_8005DAF4
|
||||
/* 06D5A0 8006C9A0 AFB90010 */ sw $t9, 0x10($sp)
|
||||
.L8006C9A4:
|
||||
glabel L8006C9A4
|
||||
/* 06D5A4 8006C9A4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8006C9A8:
|
||||
/* 06D5A8 8006C9A8 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 06D5AC 8006C9AC 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* 06D5B0 8006C9B0 03E00008 */ jr $ra
|
||||
/* 06D5B4 8006C9B4 00000000 */ nop
|
||||
|
|
@ -1,208 +0,0 @@
|
|||
.section .late_rodata
|
||||
|
||||
glabel jpt_800EE8D0
|
||||
.word L8006D200, L8006D22C, L8006D258, L8006D284
|
||||
.word L8006D2B0
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_8006D194
|
||||
/* 06DD94 8006D194 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 06DD98 8006D198 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 06DD9C 8006D19C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 06DDA0 8006D1A0 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 06DDA4 8006D1A4 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 06DDA8 8006D1A8 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 06DDAC 8006D1AC AFA60030 */ sw $a2, 0x30($sp)
|
||||
/* 06DDB0 8006D1B0 84980814 */ lh $t8, 0x814($a0)
|
||||
/* 06DDB4 8006D1B4 00058E00 */ sll $s1, $a1, 0x18
|
||||
/* 06DDB8 8006D1B8 00069600 */ sll $s2, $a2, 0x18
|
||||
/* 06DDBC 8006D1BC 00127E03 */ sra $t7, $s2, 0x18
|
||||
/* 06DDC0 8006D1C0 00117603 */ sra $t6, $s1, 0x18
|
||||
/* 06DDC4 8006D1C4 24010001 */ li $at, 1
|
||||
/* 06DDC8 8006D1C8 01C08825 */ move $s1, $t6
|
||||
/* 06DDCC 8006D1CC 01E09025 */ move $s2, $t7
|
||||
/* 06DDD0 8006D1D0 17010042 */ bne $t8, $at, .L8006D2DC
|
||||
/* 06DDD4 8006D1D4 00808025 */ move $s0, $a0
|
||||
/* 06DDD8 8006D1D8 9499080A */ lhu $t9, 0x80a($a0)
|
||||
/* 06DDDC 8006D1DC 2728FFFE */ addiu $t0, $t9, -2
|
||||
/* 06DDE0 8006D1E0 2D010005 */ sltiu $at, $t0, 5
|
||||
/* 06DDE4 8006D1E4 1020007E */ beqz $at, .L8006D3E0
|
||||
/* 06DDE8 8006D1E8 00084080 */ sll $t0, $t0, 2
|
||||
/* 06DDEC 8006D1EC 3C01800F */ lui $at, %hi(jpt_800EE8D0)
|
||||
/* 06DDF0 8006D1F0 00280821 */ addu $at, $at, $t0
|
||||
/* 06DDF4 8006D1F4 8C28E8D0 */ lw $t0, %lo(jpt_800EE8D0)($at)
|
||||
/* 06DDF8 8006D1F8 01000008 */ jr $t0
|
||||
/* 06DDFC 8006D1FC 00000000 */ nop
|
||||
glabel L8006D200
|
||||
/* 06DE00 8006D200 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DE04 8006D204 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DE08 8006D208 00065603 */ sra $t2, $a2, 0x18
|
||||
/* 06DE0C 8006D20C 00054E03 */ sra $t1, $a1, 0x18
|
||||
/* 06DE10 8006D210 01202825 */ move $a1, $t1
|
||||
/* 06DE14 8006D214 01403025 */ move $a2, $t2
|
||||
/* 06DE18 8006D218 02002025 */ move $a0, $s0
|
||||
/* 06DE1C 8006D21C 0C01937B */ jal func_80064DEC
|
||||
/* 06DE20 8006D220 00003825 */ move $a3, $zero
|
||||
/* 06DE24 8006D224 1000006F */ b .L8006D3E4
|
||||
/* 06DE28 8006D228 860E085C */ lh $t6, 0x85c($s0)
|
||||
glabel L8006D22C
|
||||
/* 06DE2C 8006D22C 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DE30 8006D230 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DE34 8006D234 00066603 */ sra $t4, $a2, 0x18
|
||||
/* 06DE38 8006D238 00055E03 */ sra $t3, $a1, 0x18
|
||||
/* 06DE3C 8006D23C 01602825 */ move $a1, $t3
|
||||
/* 06DE40 8006D240 01803025 */ move $a2, $t4
|
||||
/* 06DE44 8006D244 02002025 */ move $a0, $s0
|
||||
/* 06DE48 8006D248 0C01943F */ jal func_800650FC
|
||||
/* 06DE4C 8006D24C 00003825 */ move $a3, $zero
|
||||
/* 06DE50 8006D250 10000064 */ b .L8006D3E4
|
||||
/* 06DE54 8006D254 860E085C */ lh $t6, 0x85c($s0)
|
||||
glabel L8006D258
|
||||
/* 06DE58 8006D258 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DE5C 8006D25C 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DE60 8006D260 00067603 */ sra $t6, $a2, 0x18
|
||||
/* 06DE64 8006D264 00056E03 */ sra $t5, $a1, 0x18
|
||||
/* 06DE68 8006D268 01A02825 */ move $a1, $t5
|
||||
/* 06DE6C 8006D26C 01C03025 */ move $a2, $t6
|
||||
/* 06DE70 8006D270 02002025 */ move $a0, $s0
|
||||
/* 06DE74 8006D274 0C0193A9 */ jal func_80064EA4
|
||||
/* 06DE78 8006D278 00003825 */ move $a3, $zero
|
||||
/* 06DE7C 8006D27C 10000059 */ b .L8006D3E4
|
||||
/* 06DE80 8006D280 860E085C */ lh $t6, 0x85c($s0)
|
||||
glabel L8006D284
|
||||
/* 06DE84 8006D284 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DE88 8006D288 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DE8C 8006D28C 0006C603 */ sra $t8, $a2, 0x18
|
||||
/* 06DE90 8006D290 00057E03 */ sra $t7, $a1, 0x18
|
||||
/* 06DE94 8006D294 01E02825 */ move $a1, $t7
|
||||
/* 06DE98 8006D298 03003025 */ move $a2, $t8
|
||||
/* 06DE9C 8006D29C 02002025 */ move $a0, $s0
|
||||
/* 06DEA0 8006D2A0 0C0193E2 */ jal func_80064F88
|
||||
/* 06DEA4 8006D2A4 00003825 */ move $a3, $zero
|
||||
/* 06DEA8 8006D2A8 1000004E */ b .L8006D3E4
|
||||
/* 06DEAC 8006D2AC 860E085C */ lh $t6, 0x85c($s0)
|
||||
glabel L8006D2B0
|
||||
/* 06DEB0 8006D2B0 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DEB4 8006D2B4 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DEB8 8006D2B8 00064603 */ sra $t0, $a2, 0x18
|
||||
/* 06DEBC 8006D2BC 0005CE03 */ sra $t9, $a1, 0x18
|
||||
/* 06DEC0 8006D2C0 03202825 */ move $a1, $t9
|
||||
/* 06DEC4 8006D2C4 01003025 */ move $a2, $t0
|
||||
/* 06DEC8 8006D2C8 02002025 */ move $a0, $s0
|
||||
/* 06DECC 8006D2CC 0C01940C */ jal func_80065030
|
||||
/* 06DED0 8006D2D0 00003825 */ move $a3, $zero
|
||||
/* 06DED4 8006D2D4 10000043 */ b .L8006D3E4
|
||||
/* 06DED8 8006D2D8 860E085C */ lh $t6, 0x85c($s0)
|
||||
.L8006D2DC:
|
||||
/* 06DEDC 8006D2DC 960200B6 */ lhu $v0, 0xb6($s0)
|
||||
/* 06DEE0 8006D2E0 24010040 */ li $at, 64
|
||||
/* 06DEE4 8006D2E4 02002025 */ move $a0, $s0
|
||||
/* 06DEE8 8006D2E8 30490040 */ andi $t1, $v0, 0x40
|
||||
/* 06DEEC 8006D2EC 15210009 */ bne $t1, $at, .L8006D314
|
||||
/* 06DEF0 8006D2F0 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DEF4 8006D2F4 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DEF8 8006D2F8 00065E03 */ sra $t3, $a2, 0x18
|
||||
/* 06DEFC 8006D2FC 00055603 */ sra $t2, $a1, 0x18
|
||||
/* 06DF00 8006D300 01402825 */ move $a1, $t2
|
||||
/* 06DF04 8006D304 01603025 */ move $a2, $t3
|
||||
/* 06DF08 8006D308 0C018A30 */ jal func_800628C0
|
||||
/* 06DF0C 8006D30C 00003825 */ move $a3, $zero
|
||||
/* 06DF10 8006D310 960200B6 */ lhu $v0, 0xb6($s0)
|
||||
.L8006D314:
|
||||
/* 06DF14 8006D314 304C0800 */ andi $t4, $v0, 0x800
|
||||
/* 06DF18 8006D318 24010800 */ li $at, 2048
|
||||
/* 06DF1C 8006D31C 1581000A */ bne $t4, $at, .L8006D348
|
||||
/* 06DF20 8006D320 02002025 */ move $a0, $s0
|
||||
/* 06DF24 8006D324 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DF28 8006D328 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DF2C 8006D32C 00067603 */ sra $t6, $a2, 0x18
|
||||
/* 06DF30 8006D330 00056E03 */ sra $t5, $a1, 0x18
|
||||
/* 06DF34 8006D334 01A02825 */ move $a1, $t5
|
||||
/* 06DF38 8006D338 01C03025 */ move $a2, $t6
|
||||
/* 06DF3C 8006D33C 0C018A5A */ jal func_80062968
|
||||
/* 06DF40 8006D340 00003825 */ move $a3, $zero
|
||||
/* 06DF44 8006D344 960200B6 */ lhu $v0, 0xb6($s0)
|
||||
.L8006D348:
|
||||
/* 06DF48 8006D348 304F1000 */ andi $t7, $v0, 0x1000
|
||||
/* 06DF4C 8006D34C 24011000 */ li $at, 4096
|
||||
/* 06DF50 8006D350 15E1000A */ bne $t7, $at, .L8006D37C
|
||||
/* 06DF54 8006D354 02002025 */ move $a0, $s0
|
||||
/* 06DF58 8006D358 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DF5C 8006D35C 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DF60 8006D360 0006CE03 */ sra $t9, $a2, 0x18
|
||||
/* 06DF64 8006D364 0005C603 */ sra $t8, $a1, 0x18
|
||||
/* 06DF68 8006D368 03002825 */ move $a1, $t8
|
||||
/* 06DF6C 8006D36C 03203025 */ move $a2, $t9
|
||||
/* 06DF70 8006D370 0C018A45 */ jal func_80062914
|
||||
/* 06DF74 8006D374 00003825 */ move $a3, $zero
|
||||
/* 06DF78 8006D378 960200B6 */ lhu $v0, 0xb6($s0)
|
||||
.L8006D37C:
|
||||
/* 06DF7C 8006D37C 30480080 */ andi $t0, $v0, 0x80
|
||||
/* 06DF80 8006D380 24010080 */ li $at, 128
|
||||
/* 06DF84 8006D384 1501000A */ bne $t0, $at, .L8006D3B0
|
||||
/* 06DF88 8006D388 02002025 */ move $a0, $s0
|
||||
/* 06DF8C 8006D38C 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DF90 8006D390 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DF94 8006D394 00065603 */ sra $t2, $a2, 0x18
|
||||
/* 06DF98 8006D398 00054E03 */ sra $t1, $a1, 0x18
|
||||
/* 06DF9C 8006D39C 01202825 */ move $a1, $t1
|
||||
/* 06DFA0 8006D3A0 01403025 */ move $a2, $t2
|
||||
/* 06DFA4 8006D3A4 0C018A86 */ jal func_80062A18
|
||||
/* 06DFA8 8006D3A8 00003825 */ move $a3, $zero
|
||||
/* 06DFAC 8006D3AC 960200B6 */ lhu $v0, 0xb6($s0)
|
||||
.L8006D3B0:
|
||||
/* 06DFB0 8006D3B0 304B0100 */ andi $t3, $v0, 0x100
|
||||
/* 06DFB4 8006D3B4 24010100 */ li $at, 256
|
||||
/* 06DFB8 8006D3B8 15610009 */ bne $t3, $at, .L8006D3E0
|
||||
/* 06DFBC 8006D3BC 02002025 */ move $a0, $s0
|
||||
/* 06DFC0 8006D3C0 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06DFC4 8006D3C4 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06DFC8 8006D3C8 00066E03 */ sra $t5, $a2, 0x18
|
||||
/* 06DFCC 8006D3CC 00056603 */ sra $t4, $a1, 0x18
|
||||
/* 06DFD0 8006D3D0 01802825 */ move $a1, $t4
|
||||
/* 06DFD4 8006D3D4 01A03025 */ move $a2, $t5
|
||||
/* 06DFD8 8006D3D8 0C018A6F */ jal func_800629BC
|
||||
/* 06DFDC 8006D3DC 00003825 */ move $a3, $zero
|
||||
.L8006D3E0:
|
||||
/* 06DFE0 8006D3E0 860E085C */ lh $t6, 0x85c($s0)
|
||||
.L8006D3E4:
|
||||
/* 06DFE4 8006D3E4 24010001 */ li $at, 1
|
||||
/* 06DFE8 8006D3E8 55C10010 */ bnel $t6, $at, .L8006D42C
|
||||
/* 06DFEC 8006D3EC 960800B6 */ lhu $t0, 0xb6($s0)
|
||||
/* 06DFF0 8006D3F0 960F0852 */ lhu $t7, 0x852($s0)
|
||||
/* 06DFF4 8006D3F4 24010005 */ li $at, 5
|
||||
/* 06DFF8 8006D3F8 02002025 */ move $a0, $s0
|
||||
/* 06DFFC 8006D3FC 15E10017 */ bne $t7, $at, .L8006D45C
|
||||
/* 06E000 8006D400 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06E004 8006D404 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06E008 8006D408 0006CE03 */ sra $t9, $a2, 0x18
|
||||
/* 06E00C 8006D40C 0005C603 */ sra $t8, $a1, 0x18
|
||||
/* 06E010 8006D410 03002825 */ move $a1, $t8
|
||||
/* 06E014 8006D414 03203025 */ move $a2, $t9
|
||||
/* 06E018 8006D418 0C01947D */ jal func_800651F4
|
||||
/* 06E01C 8006D41C 24070001 */ li $a3, 1
|
||||
/* 06E020 8006D420 1000000F */ b .L8006D460
|
||||
/* 06E024 8006D424 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 06E028 8006D428 960800B6 */ lhu $t0, 0xb6($s0)
|
||||
.L8006D42C:
|
||||
/* 06E02C 8006D42C 24010020 */ li $at, 32
|
||||
/* 06E030 8006D430 02002025 */ move $a0, $s0
|
||||
/* 06E034 8006D434 31090020 */ andi $t1, $t0, 0x20
|
||||
/* 06E038 8006D438 15210008 */ bne $t1, $at, .L8006D45C
|
||||
/* 06E03C 8006D43C 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 06E040 8006D440 00123600 */ sll $a2, $s2, 0x18
|
||||
/* 06E044 8006D444 00065E03 */ sra $t3, $a2, 0x18
|
||||
/* 06E048 8006D448 00055603 */ sra $t2, $a1, 0x18
|
||||
/* 06E04C 8006D44C 01402825 */ move $a1, $t2
|
||||
/* 06E050 8006D450 01603025 */ move $a2, $t3
|
||||
/* 06E054 8006D454 0C018AAA */ jal func_80062AA8
|
||||
/* 06E058 8006D458 24070001 */ li $a3, 1
|
||||
.L8006D45C:
|
||||
/* 06E05C 8006D45C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8006D460:
|
||||
/* 06E060 8006D460 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 06E064 8006D464 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 06E068 8006D468 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 06E06C 8006D46C 03E00008 */ jr $ra
|
||||
/* 06E070 8006D470 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
glabel func_800B60E8
|
||||
/* 0B6CE8 800B60E8 3C0E800E */ lui $t6, %hi(D_800DC714) # $t6, 0x800e
|
||||
/* 0B6CEC 800B60EC 8DCEC714 */ lw $t6, %lo(D_800DC714)($t6)
|
||||
/* 0B6CF0 800B60F0 00047A00 */ sll $t7, $a0, 8
|
||||
/* 0B6CF4 800B60F4 24860001 */ addiu $a2, $a0, 1
|
||||
/* 0B6CF8 800B60F8 00001825 */ move $v1, $zero
|
||||
/* 0B6CFC 800B60FC 24040100 */ li $a0, 256
|
||||
/* 0B6D00 800B6100 00001025 */ move $v0, $zero
|
||||
/* 0B6D04 800B6104 01CF2821 */ addu $a1, $t6, $t7
|
||||
.L800B6108:
|
||||
/* 0B6D08 800B6108 90B80000 */ lbu $t8, ($a1)
|
||||
/* 0B6D0C 800B610C 90A90001 */ lbu $t1, 1($a1)
|
||||
/* 0B6D10 800B6110 90AC0002 */ lbu $t4, 2($a1)
|
||||
/* 0B6D14 800B6114 03060019 */ multu $t8, $a2
|
||||
/* 0B6D18 800B6118 90AF0003 */ lbu $t7, 3($a1)
|
||||
/* 0B6D1C 800B611C 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 0B6D20 800B6120 0000C812 */ mflo $t9
|
||||
/* 0B6D24 800B6124 03224021 */ addu $t0, $t9, $v0
|
||||
/* 0B6D28 800B6128 00681821 */ addu $v1, $v1, $t0
|
||||
/* 0B6D2C 800B612C 01260019 */ multu $t1, $a2
|
||||
/* 0B6D30 800B6130 00005012 */ mflo $t2
|
||||
/* 0B6D34 800B6134 01425821 */ addu $t3, $t2, $v0
|
||||
/* 0B6D38 800B6138 006B1821 */ addu $v1, $v1, $t3
|
||||
/* 0B6D3C 800B613C 01860019 */ multu $t4, $a2
|
||||
/* 0B6D40 800B6140 24630001 */ addiu $v1, $v1, 1
|
||||
/* 0B6D44 800B6144 00006812 */ mflo $t5
|
||||
/* 0B6D48 800B6148 01A27021 */ addu $t6, $t5, $v0
|
||||
/* 0B6D4C 800B614C 006E1821 */ addu $v1, $v1, $t6
|
||||
/* 0B6D50 800B6150 01E60019 */ multu $t7, $a2
|
||||
/* 0B6D54 800B6154 24630002 */ addiu $v1, $v1, 2
|
||||
/* 0B6D58 800B6158 0000C012 */ mflo $t8
|
||||
/* 0B6D5C 800B615C 0302C821 */ addu $t9, $t8, $v0
|
||||
/* 0B6D60 800B6160 00791821 */ addu $v1, $v1, $t9
|
||||
/* 0B6D64 800B6164 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0B6D68 800B6168 1444FFE7 */ bne $v0, $a0, .L800B6108
|
||||
/* 0B6D6C 800B616C 24630003 */ addiu $v1, $v1, 3
|
||||
/* 0B6D70 800B6170 03E00008 */ jr $ra
|
||||
/* 0B6D74 800B6174 306200FF */ andi $v0, $v1, 0xff
|
||||
|
|
@ -2894,7 +2894,7 @@ void func_8005DAD8(UnkPlayerStruct258* arg0, s16 arg1, s16 arg2, s16 arg3) {
|
|||
arg0->unk_040 = arg2;
|
||||
}
|
||||
|
||||
void func_8005DAF4(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
|
||||
void func_8005DAF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4) {
|
||||
UNUSED s32 stackPadding;
|
||||
s32 surfaceType;
|
||||
s32 var_t3;
|
||||
|
|
@ -3089,7 +3089,7 @@ void func_8005DAF4(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_8005EA94(Player *player, s16 arg1, s32 arg2, s8 arg3) {
|
||||
void func_8005EA94(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
||||
s32 temp_v0;
|
||||
s32 var_t0;
|
||||
s32 var_t1;
|
||||
|
|
@ -3134,7 +3134,7 @@ void func_8005EA94(Player *player, s16 arg1, s32 arg2, s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_8005ED48(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
|
||||
void func_8005ED48(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4) {
|
||||
s32 temp_v0;
|
||||
s32 surfaceType;
|
||||
s32 var_t3;
|
||||
|
|
@ -3316,7 +3316,7 @@ void func_8005ED48(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
|
|||
// Permuter hasn't found anything
|
||||
// https://decomp.me/scratch/WjMqd
|
||||
|
||||
void func_8005F90C(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
|
||||
void func_8005F90C(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4) {
|
||||
s32 var_t1;
|
||||
u8 surfaceType;
|
||||
f32 var_f0;
|
||||
|
|
@ -3596,7 +3596,7 @@ void func_80060B14(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80060BCC(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
|
||||
void func_80060BCC(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4) {
|
||||
s32 sp54;
|
||||
UNUSED s32 pad;
|
||||
s32 sp4C;
|
||||
|
|
@ -4693,7 +4693,7 @@ void func_80064C74(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80064DEC(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
void func_80064DEC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
|
||||
player->unk_258[20 + arg3].unk_000[1] = player->pos[1];
|
||||
++player->unk_258[20 + arg3].unk_01E;
|
||||
|
|
@ -4711,7 +4711,7 @@ void func_80064DEC(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80064EA4(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
void func_80064EA4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
++player->unk_258[20 + arg3].unk_01E;
|
||||
if (player->unk_258[20 + arg3].unk_01E < 4) {
|
||||
player->unk_258[20 + arg3].unk_00C += 1.2;
|
||||
|
|
@ -4729,7 +4729,7 @@ void func_80064EA4(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80064F88(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
void func_80064F88(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
++player->unk_258[20 + arg3].unk_01E;
|
||||
player->unk_258[20 + arg3].unk_00C += 0.15;
|
||||
|
||||
|
|
@ -4744,7 +4744,7 @@ void func_80064F88(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80065030(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
void func_80065030(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
++player->unk_258[20 + arg3].unk_01E;
|
||||
|
||||
player->unk_258[20 + arg3].unk_000[1] += 0.8;
|
||||
|
|
@ -4761,7 +4761,7 @@ void func_80065030(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_800650FC(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
void func_800650FC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
player->unk_258[20 + arg3].unk_000[2] = (f32) player->pos[2];
|
||||
player->unk_258[20 + arg3].unk_000[0] = (f32) player->pos[0];
|
||||
player->unk_258[20 + arg3].unk_000[1] = (f32) (player->pos[1] + 4.0f);
|
||||
|
|
@ -4783,7 +4783,7 @@ void func_800650FC(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_800651F4(Player* player, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
void func_800651F4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
||||
++player->unk_258[20 + arg3].unk_01E;
|
||||
if (player->unk_258[20 + arg3].unk_01E < 8) {
|
||||
player->unk_258[20 + arg3].unk_00C += 0.2;
|
||||
|
|
@ -5984,14 +5984,8 @@ void func_8006C4D4(Vec3f arg0, f32 arg1, s32 rgb, s16 alpha, s16 arg4) {
|
|||
gMatrixEffectCount += 1;
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
/**
|
||||
* Similar to func_8006C9B8, something about arg3 is very
|
||||
* weird here.
|
||||
* It seems plausible that several functions called by this one
|
||||
* actually take one more argument than they are currently expected to?
|
||||
**/
|
||||
void func_8006C6AC(Player *player, s16 arg1, s8 arg2, s8 arg3) {
|
||||
s8 arg2_copy = arg2;
|
||||
s32 sp28;
|
||||
|
||||
sp28 = arg1 - 1;
|
||||
|
|
@ -6001,55 +5995,47 @@ void func_8006C6AC(Player *player, s16 arg1, s8 arg2, s8 arg3) {
|
|||
if (player->unk_258[10 + arg1].unk_01C == 1) {
|
||||
switch (player->unk_258[10 + arg1].unk_012) {
|
||||
case 1:
|
||||
func_80063408(player, arg1, arg2, arg3);
|
||||
func_80063408(player, arg1, arg2_copy, arg3);
|
||||
break;
|
||||
case 2:
|
||||
func_800635D4(player, arg1, arg2, arg3);
|
||||
func_800635D4(player, arg1, arg2_copy, arg3);
|
||||
break;
|
||||
case 3:
|
||||
func_80063BD4(player, arg1, arg2, arg3);
|
||||
func_80063BD4(player, arg1, arg2_copy, arg3);
|
||||
break;
|
||||
case 4:
|
||||
func_800643A8(player, arg1, arg2, arg3);
|
||||
func_800643A8(player, arg1, arg2_copy, arg3);
|
||||
break;
|
||||
case 5:
|
||||
func_800639DC(player, arg1, arg2, arg3);
|
||||
func_800639DC(player, arg1, arg2_copy, arg3);
|
||||
break;
|
||||
case 9:
|
||||
func_80063D58(player, arg1, arg2, arg3);
|
||||
func_80063D58(player, arg1, arg2_copy, arg3);
|
||||
break;
|
||||
case 11:
|
||||
func_80062F98(player, arg1, arg2, arg3);
|
||||
func_80062F98(player, arg1, arg2_copy, arg3);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (player->unk_0DE & 1) {
|
||||
// func_80060BCC(player, arg1, sp28, (s32) arg2, /* extra? */ (s32) arg3);
|
||||
func_80060BCC(player, arg1, sp28, (s32) arg2);
|
||||
func_80060BCC(player, arg1, sp28, arg2_copy, arg3);
|
||||
} else if (!(player->effects & 8) && !(player->effects & 2)) {
|
||||
if (((player->effects & 0x10) == 0x10) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) {
|
||||
func_8005DA30(player, arg1, sp28, arg2, (s8) (s32) arg3);
|
||||
} else if (((f64) (D_801652A0[arg2] - player->boundingBoxCorners[3].cornerGroundY) >= 3.5) || ((f64) (D_801652A0[arg2] - player->boundingBoxCorners[2].cornerGroundY) >= 3.5)) {
|
||||
// func_8005EA94(player, arg1, sp28, arg2, /* extra? */ (s32) arg3);
|
||||
func_8005EA94(player, arg1, sp28, arg2);
|
||||
func_8005DA30(player, arg1, sp28, arg2_copy, arg3);
|
||||
} else if (((f64) (D_801652A0[arg2_copy] - player->boundingBoxCorners[3].cornerGroundY) >= 3.5) || ((f64) (D_801652A0[arg2_copy] - player->boundingBoxCorners[2].cornerGroundY) >= 3.5)) {
|
||||
func_8005EA94(player, arg1, sp28, arg2_copy, arg3);
|
||||
} else if (((player->effects & 0x80) == 0x80) || ((player->effects & 0x40) == 0x40)) {
|
||||
// func_8005F90C(player, arg1, sp28, (s32) arg2, /* extra? */ (s32) arg3);
|
||||
func_8005F90C(player, arg1, sp28, (s32) arg2);
|
||||
} else if (((player->effects & 0x4000) && !(player->type & PLAYER_STAGING)) || (player->effects & 0x800) || (player->effects & 0x20) || (player->unk_044 & 0x4000)) {
|
||||
// func_8005ED48(player, arg1, sp28, (s32) arg2, /* extra? */ (s32) arg3);
|
||||
func_8005ED48(player, arg1, sp28, (s32) arg2);
|
||||
func_8005F90C(player, arg1, sp28, arg2_copy, arg3);
|
||||
} else if (((player->effects & 0x4000) && !(player->type & PLAYER_START_SEQUENCE)) || (player->effects & 0x800) || (player->effects & 0x20) || (player->unk_044 & 0x4000)) {
|
||||
func_8005ED48(player, arg1, sp28, arg2_copy, arg3);
|
||||
} else {
|
||||
// func_8005DAF4(player, arg1, sp28, (s32) arg2, /* extra? */ (s32) arg3);
|
||||
func_8005DAF4(player, arg1, sp28, (s32) arg2);
|
||||
func_8005DAF4(player, arg1, sp28, arg2_copy, arg3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006C6AC.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
/**
|
||||
|
|
@ -6247,11 +6233,6 @@ void func_8006CEC0(Player *arg0, s16 arg1, s8 arg2, s8 arg3) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006CEC0.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// So, a lot of the functions called by this function have their argument types
|
||||
// slightly wrong.
|
||||
// For example, func_80064DEC, arg1 is currently marked as an s16 but based on
|
||||
// this function it ought to be an s8
|
||||
void func_8006D194(Player *player, s8 arg1, s8 arg2) {
|
||||
if (player->unk_258[0x14].unk_01C == 1) {
|
||||
switch (player->unk_258[0x14].unk_012) {
|
||||
|
|
@ -6296,9 +6277,6 @@ void func_8006D194(Player *player, s8 arg1, s8 arg2) {
|
|||
func_80062AA8(player, arg1, arg2, 1);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006D194.s")
|
||||
#endif
|
||||
|
||||
void func_8006D474(Player *player, s8 arg1, s8 arg2) {
|
||||
s16 var_s2;
|
||||
|
|
|
|||
|
|
@ -115,16 +115,16 @@ void func_8005D898(Player*, s16, s32, s8, s8);
|
|||
void func_8005DA30(Player*, s16, s32, s8, s8);
|
||||
void func_8005DAD0(void);
|
||||
void func_8005DAD8(UnkPlayerStruct258*, s16, s16, s16);
|
||||
void func_8005DAF4(Player*, s16, s32, s32);
|
||||
void func_8005EA94(Player*, s16, s32, s8);
|
||||
void func_8005ED48(Player*, s16, s32, s32);
|
||||
void func_8005DAF4(Player*, s16, s32, s8, s8);
|
||||
void func_8005EA94(Player*, s16, s32, s8, s8);
|
||||
void func_8005ED48(Player*, s16, s32, s8, s8);
|
||||
|
||||
void func_8005F90C(Player*, s16, s32, s32);
|
||||
void func_8005F90C(Player*, s16, s32, s8, s8);
|
||||
|
||||
void func_80060504(Player*, s16, s32, s32);
|
||||
void func_800608E0(Player*, s16, s32, s8, s8);
|
||||
void func_80060B14(Player*, s16, s32, s8, s8);
|
||||
void func_80060BCC(Player*, s16, s32, s32);
|
||||
void func_80060BCC(Player*, s16, s32, s8, s8);
|
||||
void func_80060F50(Player*, s16, s8, s8, s8);
|
||||
|
||||
void func_80061094(Player*, s16, s8, s8, s8);
|
||||
|
|
@ -172,13 +172,13 @@ void func_80064988(Player*, s16, s8, s8);
|
|||
void func_800649F4(Player*, s16, s8, s8);
|
||||
void func_80064B30(Player*, s16, s8, s8);
|
||||
void func_80064C74(Player*, s16, s8, s8);
|
||||
void func_80064DEC(Player*, s16, s8, s8);
|
||||
void func_80064EA4(Player*, s16, s8, s8);
|
||||
void func_80064F88(Player*, s16, s8, s8);
|
||||
void func_80064DEC(Player*, s8, s8, s8);
|
||||
void func_80064EA4(Player*, s8, s8, s8);
|
||||
void func_80064F88(Player*, s8, s8, s8);
|
||||
|
||||
void func_80065030(Player*, s16, s8, s8);
|
||||
void func_800650FC(Player*, s16, s8, s8);
|
||||
void func_800651F4(Player*, s16, s8, s8);
|
||||
void func_80065030(Player*, s8, s8, s8);
|
||||
void func_800650FC(Player*, s8, s8, s8);
|
||||
void func_800651F4(Player*, s8, s8, s8);
|
||||
void func_800652D4(Vec3f, Vec3s, f32);
|
||||
void func_8006538C(Player*, s8, s16, s8);
|
||||
void func_800658A0(Player*, s8, s16, s8);
|
||||
|
|
|
|||
15
src/save.c
15
src/save.c
|
|
@ -761,21 +761,16 @@ s32 func_800B6088(s32 arg0) {
|
|||
return osPfsReadWriteFile(&gControllerPak1FileHandle, gControllerPak1FileNote, PFS_WRITE, arg0 * 0x80 /* 0x80 == sizeof(struct_8018EE10_entry) */, sizeof(struct_8018EE10_entry), (u8*) temp_v1);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// Register allocation issues
|
||||
u8 func_800B60E8(s32 page) {
|
||||
s32 multiplier = page + 1;
|
||||
s32 checksum = 0;
|
||||
u8 *addr = &((u8 *) D_800DC714)[page << 8];
|
||||
s32 i;
|
||||
for (i = 0; i < 0x100; i++) {
|
||||
checksum = (*addr++ * multiplier + i) + checksum;
|
||||
u32 checksum = 0;
|
||||
u8 *addr;
|
||||
|
||||
for (i = 0, addr = (u8*) &((u8*)D_800DC714)[page * 256]; i < 256; i++) {
|
||||
checksum += (*addr++ * (page + 1) + i);
|
||||
}
|
||||
return checksum;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/save/func_800B60E8.s")
|
||||
#endif
|
||||
|
||||
s32 func_800B6178(s32 arg0) {
|
||||
s32 var_v0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue