Match some functions in code_80281FA0 (#219)

Renamed a couple functions as well

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran 2022-06-12 15:34:13 -04:00 committed by GitHub
parent 744a4a1133
commit ad46b8544e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 262 additions and 617 deletions

View File

@ -1,43 +0,0 @@
glabel func_80282050
/* 125690 80282050 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 125694 80282054 AFBF001C */ sw $ra, 0x1c($sp)
/* 125698 80282058 AFA40038 */ sw $a0, 0x38($sp)
/* 12569C 8028205C AFB00018 */ sw $s0, 0x18($sp)
/* 1256A0 80282060 AFA60040 */ sw $a2, 0x40($sp)
/* 1256A4 80282064 0C0A0802 */ jal func_80282008
/* 1256A8 80282068 27A4002C */ addiu $a0, $sp, 0x2c
/* 1256AC 8028206C 97B00042 */ lhu $s0, 0x42($sp)
/* 1256B0 80282070 0C0AE006 */ jal sins
/* 1256B4 80282074 02002025 */ move $a0, $s0
/* 1256B8 80282078 E7A00028 */ swc1 $f0, 0x28($sp)
/* 1256BC 8028207C 0C0AE00E */ jal coss
/* 1256C0 80282080 3204FFFF */ andi $a0, $s0, 0xffff
/* 1256C4 80282084 C7A40034 */ lwc1 $f4, 0x34($sp)
/* 1256C8 80282088 C7A60028 */ lwc1 $f6, 0x28($sp)
/* 1256CC 8028208C C7AA002C */ lwc1 $f10, 0x2c($sp)
/* 1256D0 80282090 8FA20038 */ lw $v0, 0x38($sp)
/* 1256D4 80282094 46062202 */ mul.s $f8, $f4, $f6
/* 1256D8 80282098 3204FFFF */ andi $a0, $s0, 0xffff
/* 1256DC 8028209C 460A0402 */ mul.s $f16, $f0, $f10
/* 1256E0 802820A0 46088480 */ add.s $f18, $f16, $f8
/* 1256E4 802820A4 E4520000 */ swc1 $f18, ($v0)
/* 1256E8 802820A8 C7A40030 */ lwc1 $f4, 0x30($sp)
/* 1256EC 802820AC 0C0AE00E */ jal coss
/* 1256F0 802820B0 E4440004 */ swc1 $f4, 4($v0)
/* 1256F4 802820B4 E7A00028 */ swc1 $f0, 0x28($sp)
/* 1256F8 802820B8 0C0AE006 */ jal sins
/* 1256FC 802820BC 3204FFFF */ andi $a0, $s0, 0xffff
/* 125700 802820C0 C7A60034 */ lwc1 $f6, 0x34($sp)
/* 125704 802820C4 C7AA0028 */ lwc1 $f10, 0x28($sp)
/* 125708 802820C8 C7A8002C */ lwc1 $f8, 0x2c($sp)
/* 12570C 802820CC 8FAE0038 */ lw $t6, 0x38($sp)
/* 125710 802820D0 460A3402 */ mul.s $f16, $f6, $f10
/* 125714 802820D4 00000000 */ nop
/* 125718 802820D8 46080482 */ mul.s $f18, $f0, $f8
/* 12571C 802820DC 46128101 */ sub.s $f4, $f16, $f18
/* 125720 802820E0 E5C40008 */ swc1 $f4, 8($t6)
/* 125724 802820E4 8FBF001C */ lw $ra, 0x1c($sp)
/* 125728 802820E8 8FB00018 */ lw $s0, 0x18($sp)
/* 12572C 802820EC 27BD0038 */ addiu $sp, $sp, 0x38
/* 125730 802820F0 03E00008 */ jr $ra
/* 125734 802820F4 00000000 */ nop

View File

@ -1,43 +0,0 @@
glabel func_802820F8
/* 125738 802820F8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 12573C 802820FC AFBF001C */ sw $ra, 0x1c($sp)
/* 125740 80282100 AFA40038 */ sw $a0, 0x38($sp)
/* 125744 80282104 AFB00018 */ sw $s0, 0x18($sp)
/* 125748 80282108 AFA60040 */ sw $a2, 0x40($sp)
/* 12574C 8028210C 0C0A0802 */ jal func_80282008
/* 125750 80282110 27A4002C */ addiu $a0, $sp, 0x2c
/* 125754 80282114 97B00042 */ lhu $s0, 0x42($sp)
/* 125758 80282118 0C0AE00E */ jal coss
/* 12575C 8028211C 02002025 */ move $a0, $s0
/* 125760 80282120 E7A00028 */ swc1 $f0, 0x28($sp)
/* 125764 80282124 0C0AE006 */ jal sins
/* 125768 80282128 3204FFFF */ andi $a0, $s0, 0xffff
/* 12576C 8028212C C7A40034 */ lwc1 $f4, 0x34($sp)
/* 125770 80282130 C7A60028 */ lwc1 $f6, 0x28($sp)
/* 125774 80282134 C7AA0030 */ lwc1 $f10, 0x30($sp)
/* 125778 80282138 8FAE0038 */ lw $t6, 0x38($sp)
/* 12577C 8028213C 46062202 */ mul.s $f8, $f4, $f6
/* 125780 80282140 3204FFFF */ andi $a0, $s0, 0xffff
/* 125784 80282144 460A0402 */ mul.s $f16, $f0, $f10
/* 125788 80282148 46104481 */ sub.s $f18, $f8, $f16
/* 12578C 8028214C 0C0AE006 */ jal sins
/* 125790 80282150 E5D20008 */ swc1 $f18, 8($t6)
/* 125794 80282154 E7A00028 */ swc1 $f0, 0x28($sp)
/* 125798 80282158 0C0AE00E */ jal coss
/* 12579C 8028215C 3204FFFF */ andi $a0, $s0, 0xffff
/* 1257A0 80282160 C7A40034 */ lwc1 $f4, 0x34($sp)
/* 1257A4 80282164 C7A60028 */ lwc1 $f6, 0x28($sp)
/* 1257A8 80282168 C7A80030 */ lwc1 $f8, 0x30($sp)
/* 1257AC 8028216C 8FAF0038 */ lw $t7, 0x38($sp)
/* 1257B0 80282170 46062282 */ mul.s $f10, $f4, $f6
/* 1257B4 80282174 00000000 */ nop
/* 1257B8 80282178 46080402 */ mul.s $f16, $f0, $f8
/* 1257BC 8028217C 460A8480 */ add.s $f18, $f16, $f10
/* 1257C0 80282180 E5F20004 */ swc1 $f18, 4($t7)
/* 1257C4 80282184 C7A4002C */ lwc1 $f4, 0x2c($sp)
/* 1257C8 80282188 E5E40000 */ swc1 $f4, ($t7)
/* 1257CC 8028218C 8FBF001C */ lw $ra, 0x1c($sp)
/* 1257D0 80282190 8FB00018 */ lw $s0, 0x18($sp)
/* 1257D4 80282194 27BD0038 */ addiu $sp, $sp, 0x38
/* 1257D8 80282198 03E00008 */ jr $ra
/* 1257DC 8028219C 00000000 */ nop

View File

@ -1,45 +0,0 @@
glabel func_80282454
/* 125A94 80282454 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 125A98 80282458 AFBF0014 */ sw $ra, 0x14($sp)
/* 125A9C 8028245C AFA60038 */ sw $a2, 0x38($sp)
/* 125AA0 80282460 AFA7003C */ sw $a3, 0x3c($sp)
/* 125AA4 80282464 C4860000 */ lwc1 $f6, ($a0)
/* 125AA8 80282468 C4A40000 */ lwc1 $f4, ($a1)
/* 125AAC 8028246C C48A0004 */ lwc1 $f10, 4($a0)
/* 125AB0 80282470 C4A80004 */ lwc1 $f8, 4($a1)
/* 125AB4 80282474 46062001 */ sub.s $f0, $f4, $f6
/* 125AB8 80282478 C4860008 */ lwc1 $f6, 8($a0)
/* 125ABC 8028247C C4A40008 */ lwc1 $f4, 8($a1)
/* 125AC0 80282480 460A4081 */ sub.s $f2, $f8, $f10
/* 125AC4 80282484 46000402 */ mul.s $f16, $f0, $f0
/* 125AC8 80282488 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 125ACC 8028248C 46062381 */ sub.s $f14, $f4, $f6
/* 125AD0 80282490 E7A20028 */ swc1 $f2, 0x28($sp)
/* 125AD4 80282494 460E7482 */ mul.s $f18, $f14, $f14
/* 125AD8 80282498 E7AE0024 */ swc1 $f14, 0x24($sp)
/* 125ADC 8028249C E7B0001C */ swc1 $f16, 0x1c($sp)
/* 125AE0 802824A0 46021202 */ mul.s $f8, $f2, $f2
/* 125AE4 802824A4 E7B20018 */ swc1 $f18, 0x18($sp)
/* 125AE8 802824A8 46088280 */ add.s $f10, $f16, $f8
/* 125AEC 802824AC 0C033850 */ jal sqrtf
/* 125AF0 802824B0 46125300 */ add.s $f12, $f10, $f18
/* 125AF4 802824B4 C7B0001C */ lwc1 $f16, 0x1c($sp)
/* 125AF8 802824B8 C7B20018 */ lwc1 $f18, 0x18($sp)
/* 125AFC 802824BC 8FAE0038 */ lw $t6, 0x38($sp)
/* 125B00 802824C0 46128300 */ add.s $f12, $f16, $f18
/* 125B04 802824C4 0C033850 */ jal sqrtf
/* 125B08 802824C8 E5C00000 */ swc1 $f0, ($t6)
/* 125B0C 802824CC C7AC0028 */ lwc1 $f12, 0x28($sp)
/* 125B10 802824D0 0C0ADE0C */ jal atan2s
/* 125B14 802824D4 46000386 */ mov.s $f14, $f0
/* 125B18 802824D8 8FAF003C */ lw $t7, 0x3c($sp)
/* 125B1C 802824DC A5E20000 */ sh $v0, ($t7)
/* 125B20 802824E0 C7AE0024 */ lwc1 $f14, 0x24($sp)
/* 125B24 802824E4 0C0ADE0C */ jal atan2s
/* 125B28 802824E8 C7AC002C */ lwc1 $f12, 0x2c($sp)
/* 125B2C 802824EC 8FB80040 */ lw $t8, 0x40($sp)
/* 125B30 802824F0 A7020000 */ sh $v0, ($t8)
/* 125B34 802824F4 8FBF0014 */ lw $ra, 0x14($sp)
/* 125B38 802824F8 27BD0030 */ addiu $sp, $sp, 0x30
/* 125B3C 802824FC 03E00008 */ jr $ra
/* 125B40 80282500 00000000 */ nop

View File

@ -1,50 +0,0 @@
glabel func_80282504
/* 125B44 80282504 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 125B48 80282508 AFA40028 */ sw $a0, 0x28($sp)
/* 125B4C 8028250C AFBF0014 */ sw $ra, 0x14($sp)
/* 125B50 80282510 30E4FFFF */ andi $a0, $a3, 0xffff
/* 125B54 80282514 AFA5002C */ sw $a1, 0x2c($sp)
/* 125B58 80282518 AFA60030 */ sw $a2, 0x30($sp)
/* 125B5C 8028251C AFA70034 */ sw $a3, 0x34($sp)
/* 125B60 80282520 0C0AE00E */ jal coss
/* 125B64 80282524 AFA40020 */ sw $a0, 0x20($sp)
/* 125B68 80282528 97A4003A */ lhu $a0, 0x3a($sp)
/* 125B6C 8028252C E7A00024 */ swc1 $f0, 0x24($sp)
/* 125B70 80282530 0C0AE006 */ jal sins
/* 125B74 80282534 AFA4001C */ sw $a0, 0x1c($sp)
/* 125B78 80282538 C7A40030 */ lwc1 $f4, 0x30($sp)
/* 125B7C 8028253C C7A60024 */ lwc1 $f6, 0x24($sp)
/* 125B80 80282540 8FB80028 */ lw $t8, 0x28($sp)
/* 125B84 80282544 8FB9002C */ lw $t9, 0x2c($sp)
/* 125B88 80282548 46062202 */ mul.s $f8, $f4, $f6
/* 125B8C 8028254C C7100000 */ lwc1 $f16, ($t8)
/* 125B90 80282550 46080282 */ mul.s $f10, $f0, $f8
/* 125B94 80282554 46105480 */ add.s $f18, $f10, $f16
/* 125B98 80282558 E7320000 */ swc1 $f18, ($t9)
/* 125B9C 8028255C 0C0AE006 */ jal sins
/* 125BA0 80282560 97A40022 */ lhu $a0, 0x22($sp)
/* 125BA4 80282564 C7A40030 */ lwc1 $f4, 0x30($sp)
/* 125BA8 80282568 8FA80028 */ lw $t0, 0x28($sp)
/* 125BAC 8028256C 8FA9002C */ lw $t1, 0x2c($sp)
/* 125BB0 80282570 46040182 */ mul.s $f6, $f0, $f4
/* 125BB4 80282574 C5080004 */ lwc1 $f8, 4($t0)
/* 125BB8 80282578 46083280 */ add.s $f10, $f6, $f8
/* 125BBC 8028257C E52A0004 */ swc1 $f10, 4($t1)
/* 125BC0 80282580 0C0AE00E */ jal coss
/* 125BC4 80282584 97A40022 */ lhu $a0, 0x22($sp)
/* 125BC8 80282588 E7A00024 */ swc1 $f0, 0x24($sp)
/* 125BCC 8028258C 0C0AE00E */ jal coss
/* 125BD0 80282590 97A4001E */ lhu $a0, 0x1e($sp)
/* 125BD4 80282594 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 125BD8 80282598 C7B20024 */ lwc1 $f18, 0x24($sp)
/* 125BDC 8028259C 8FAA0028 */ lw $t2, 0x28($sp)
/* 125BE0 802825A0 8FAB002C */ lw $t3, 0x2c($sp)
/* 125BE4 802825A4 46128102 */ mul.s $f4, $f16, $f18
/* 125BE8 802825A8 C5480008 */ lwc1 $f8, 8($t2)
/* 125BEC 802825AC 46040182 */ mul.s $f6, $f0, $f4
/* 125BF0 802825B0 46083280 */ add.s $f10, $f6, $f8
/* 125BF4 802825B4 E56A0008 */ swc1 $f10, 8($t3)
/* 125BF8 802825B8 8FBF0014 */ lw $ra, 0x14($sp)
/* 125BFC 802825BC 27BD0028 */ addiu $sp, $sp, 0x28
/* 125C00 802825C0 03E00008 */ jr $ra
/* 125C04 802825C4 00000000 */ nop

View File

@ -1,79 +0,0 @@
glabel func_802825C8
/* 125C08 802825C8 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 125C0C 802825CC AFBF0024 */ sw $ra, 0x24($sp)
/* 125C10 802825D0 AFB10020 */ sw $s1, 0x20($sp)
/* 125C14 802825D4 AFB0001C */ sw $s0, 0x1c($sp)
/* 125C18 802825D8 AFA40048 */ sw $a0, 0x48($sp)
/* 125C1C 802825DC 00E08025 */ move $s0, $a3
/* 125C20 802825E0 00C08825 */ move $s1, $a2
/* 125C24 802825E4 F7B40010 */ sdc1 $f20, 0x10($sp)
/* 125C28 802825E8 AFA5004C */ sw $a1, 0x4c($sp)
/* 125C2C 802825EC 0C0A0802 */ jal func_80282008
/* 125C30 802825F0 27A4003C */ addiu $a0, $sp, 0x3c
/* 125C34 802825F4 0C0AE00E */ jal coss
/* 125C38 802825F8 96040000 */ lhu $a0, ($s0)
/* 125C3C 802825FC 46000506 */ mov.s $f20, $f0
/* 125C40 80282600 0C0AE006 */ jal sins
/* 125C44 80282604 96040000 */ lhu $a0, ($s0)
/* 125C48 80282608 C6240008 */ lwc1 $f4, 8($s1)
/* 125C4C 8028260C C6280004 */ lwc1 $f8, 4($s1)
/* 125C50 80282610 46142182 */ mul.s $f6, $f4, $f20
/* 125C54 80282614 00000000 */ nop
/* 125C58 80282618 46080282 */ mul.s $f10, $f0, $f8
/* 125C5C 8028261C 460A3401 */ sub.s $f16, $f6, $f10
/* 125C60 80282620 46008487 */ neg.s $f18, $f16
/* 125C64 80282624 E7B20038 */ swc1 $f18, 0x38($sp)
/* 125C68 80282628 0C0AE006 */ jal sins
/* 125C6C 8028262C 96040000 */ lhu $a0, ($s0)
/* 125C70 80282630 46000506 */ mov.s $f20, $f0
/* 125C74 80282634 0C0AE00E */ jal coss
/* 125C78 80282638 96040000 */ lhu $a0, ($s0)
/* 125C7C 8028263C C6240004 */ lwc1 $f4, 4($s1)
/* 125C80 80282640 C6260008 */ lwc1 $f6, 8($s1)
/* 125C84 80282644 46040202 */ mul.s $f8, $f0, $f4
/* 125C88 80282648 00000000 */ nop
/* 125C8C 8028264C 46143282 */ mul.s $f10, $f6, $f20
/* 125C90 80282650 460A4400 */ add.s $f16, $f8, $f10
/* 125C94 80282654 E7B00034 */ swc1 $f16, 0x34($sp)
/* 125C98 80282658 C6320000 */ lwc1 $f18, ($s1)
/* 125C9C 8028265C E7B20030 */ swc1 $f18, 0x30($sp)
/* 125CA0 80282660 0C0AE006 */ jal sins
/* 125CA4 80282664 96040002 */ lhu $a0, 2($s0)
/* 125CA8 80282668 46000506 */ mov.s $f20, $f0
/* 125CAC 8028266C 0C0AE00E */ jal coss
/* 125CB0 80282670 96040002 */ lhu $a0, 2($s0)
/* 125CB4 80282674 C7A60038 */ lwc1 $f6, 0x38($sp)
/* 125CB8 80282678 8FA2004C */ lw $v0, 0x4c($sp)
/* 125CBC 8028267C C7B00030 */ lwc1 $f16, 0x30($sp)
/* 125CC0 80282680 46143202 */ mul.s $f8, $f6, $f20
/* 125CC4 80282684 C4440000 */ lwc1 $f4, ($v0)
/* 125CC8 80282688 8FA30048 */ lw $v1, 0x48($sp)
/* 125CCC 8028268C 46100482 */ mul.s $f18, $f0, $f16
/* 125CD0 80282690 46082280 */ add.s $f10, $f4, $f8
/* 125CD4 80282694 460A9180 */ add.s $f6, $f18, $f10
/* 125CD8 80282698 E4660000 */ swc1 $f6, ($v1)
/* 125CDC 8028269C C7A40034 */ lwc1 $f4, 0x34($sp)
/* 125CE0 802826A0 C4480004 */ lwc1 $f8, 4($v0)
/* 125CE4 802826A4 46082400 */ add.s $f16, $f4, $f8
/* 125CE8 802826A8 E4700004 */ swc1 $f16, 4($v1)
/* 125CEC 802826AC 0C0AE00E */ jal coss
/* 125CF0 802826B0 96040002 */ lhu $a0, 2($s0)
/* 125CF4 802826B4 46000506 */ mov.s $f20, $f0
/* 125CF8 802826B8 0C0AE006 */ jal sins
/* 125CFC 802826BC 96040002 */ lhu $a0, 2($s0)
/* 125D00 802826C0 C7AA0038 */ lwc1 $f10, 0x38($sp)
/* 125D04 802826C4 8FAE004C */ lw $t6, 0x4c($sp)
/* 125D08 802826C8 C7A80030 */ lwc1 $f8, 0x30($sp)
/* 125D0C 802826CC 46145182 */ mul.s $f6, $f10, $f20
/* 125D10 802826D0 C5D20008 */ lwc1 $f18, 8($t6)
/* 125D14 802826D4 8FAF0048 */ lw $t7, 0x48($sp)
/* 125D18 802826D8 46080402 */ mul.s $f16, $f0, $f8
/* 125D1C 802826DC 46069100 */ add.s $f4, $f18, $f6
/* 125D20 802826E0 46102281 */ sub.s $f10, $f4, $f16
/* 125D24 802826E4 E5EA0008 */ swc1 $f10, 8($t7)
/* 125D28 802826E8 8FBF0024 */ lw $ra, 0x24($sp)
/* 125D2C 802826EC 8FB10020 */ lw $s1, 0x20($sp)
/* 125D30 802826F0 8FB0001C */ lw $s0, 0x1c($sp)
/* 125D34 802826F4 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 125D38 802826F8 03E00008 */ jr $ra
/* 125D3C 802826FC 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -9,12 +9,12 @@ glabel func_80282F44
/* 1265A0 80282F60 8CC50000 */ lw $a1, ($a2)
/* 1265A4 80282F64 8CC60004 */ lw $a2, 4($a2)
/* 1265A8 80282F68 8E270008 */ lw $a3, 8($s1)
/* 1265AC 80282F6C 0C0A07E8 */ jal func_80281FA0
/* 1265AC 80282F6C 0C0A07E8 */ jal vec3f_set_dupe
/* 1265B0 80282F70 27A40044 */ addiu $a0, $sp, 0x44
/* 1265B4 80282F74 27A40038 */ addiu $a0, $sp, 0x38
/* 1265B8 80282F78 8E25000C */ lw $a1, 0xc($s1)
/* 1265BC 80282F7C 8E260010 */ lw $a2, 0x10($s1)
/* 1265C0 80282F80 0C0A07E8 */ jal func_80281FA0
/* 1265C0 80282F80 0C0A07E8 */ jal vec3f_set_dupe
/* 1265C4 80282F84 8E270014 */ lw $a3, 0x14($s1)
/* 1265C8 80282F88 8FA30060 */ lw $v1, 0x60($sp)
/* 1265CC 80282F8C 24010001 */ li $at, 1

View File

@ -22,7 +22,7 @@ glabel func_80283430
/* 126AC0 80283480 3C0743FA */ lui $a3, 0x43fa
/* 126AC4 80283484 4405A000 */ mfc1 $a1, $f20
/* 126AC8 80283488 4406A000 */ mfc1 $a2, $f20
/* 126ACC 8028348C 0C0A07E8 */ jal func_80281FA0
/* 126ACC 8028348C 0C0A07E8 */ jal vec3f_set_dupe
/* 126AD0 80283490 00000000 */ nop
/* 126AD4 80283494 3C048028 */ lui $a0, %hi(D_80287710) # $a0, 0x8028
/* 126AD8 80283498 0C0A07F7 */ jal func_80281FDC
@ -31,13 +31,13 @@ glabel func_80283430
/* 126AE4 802834A4 4405A000 */ mfc1 $a1, $f20
/* 126AE8 802834A8 4406A000 */ mfc1 $a2, $f20
/* 126AEC 802834AC 24847704 */ addiu $a0, %lo(D_80287704) # addiu $a0, $a0, 0x7704
/* 126AF0 802834B0 0C0A07E8 */ jal func_80281FA0
/* 126AF0 802834B0 0C0A07E8 */ jal vec3f_set_dupe
/* 126AF4 802834B4 3C0743FA */ lui $a3, 0x43fa
/* 126AF8 802834B8 3C048028 */ lui $a0, %hi(D_8028771C) # $a0, 0x8028
/* 126AFC 802834BC 4405A000 */ mfc1 $a1, $f20
/* 126B00 802834C0 4407A000 */ mfc1 $a3, $f20
/* 126B04 802834C4 2484771C */ addiu $a0, %lo(D_8028771C) # addiu $a0, $a0, 0x771c
/* 126B08 802834C8 0C0A07E8 */ jal func_80281FA0
/* 126B08 802834C8 0C0A07E8 */ jal vec3f_set_dupe
/* 126B0C 802834CC 3C063F80 */ lui $a2, 0x3f80
/* 126B10 802834D0 3C018028 */ lui $at, %hi(D_802876F8) # $at, 0x8028
/* 126B14 802834D4 3C048028 */ lui $a0, %hi(D_80287728) # $a0, 0x8028

View File

@ -5,15 +5,15 @@ glabel func_80283648
/* 126C94 80283654 0C0A0D0A */ jal func_80283428
/* 126C98 80283658 00808025 */ move $s0, $a0
/* 126C9C 8028365C 27A40058 */ addiu $a0, $sp, 0x58
/* 126CA0 80283660 0C0A0802 */ jal func_80282008
/* 126CA0 80283660 0C0A0802 */ jal vec3f_copy_dupe
/* 126CA4 80283664 02002825 */ move $a1, $s0
/* 126CA8 80283668 2605000C */ addiu $a1, $s0, 0xc
/* 126CAC 8028366C AFA50034 */ sw $a1, 0x34($sp)
/* 126CB0 80283670 0C0A0802 */ jal func_80282008
/* 126CB0 80283670 0C0A0802 */ jal vec3f_copy_dupe
/* 126CB4 80283674 27A4004C */ addiu $a0, $sp, 0x4c
/* 126CB8 80283678 26050018 */ addiu $a1, $s0, 0x18
/* 126CBC 8028367C AFA50030 */ sw $a1, 0x30($sp)
/* 126CC0 80283680 0C0A0802 */ jal func_80282008
/* 126CC0 80283680 0C0A0802 */ jal vec3f_copy_dupe
/* 126CC4 80283684 27A40040 */ addiu $a0, $sp, 0x40
/* 126CC8 80283688 3C048028 */ lui $a0, %hi(D_802876E0) # $a0, 0x8028
/* 126CCC 8028368C 248476E0 */ addiu $a0, %lo(D_802876E0) # addiu $a0, $a0, 0x76e0
@ -25,11 +25,11 @@ glabel func_80283648
/* 126CE4 802836A4 A02376FC */ sb $v1, %lo(D_802876FC)($at)
/* 126CE8 802836A8 3C048028 */ lui $a0, %hi(D_802876EC) # $a0, 0x8028
/* 126CEC 802836AC 248476EC */ addiu $a0, %lo(D_802876EC) # addiu $a0, $a0, 0x76ec
/* 126CF0 802836B0 0C0A0802 */ jal func_80282008
/* 126CF0 802836B0 0C0A0802 */ jal vec3f_copy_dupe
/* 126CF4 802836B4 02002825 */ move $a1, $s0
/* 126CF8 802836B8 3C048028 */ lui $a0, %hi(D_802876E0) # $a0, 0x8028
/* 126CFC 802836BC 248476E0 */ addiu $a0, %lo(D_802876E0) # addiu $a0, $a0, 0x76e0
/* 126D00 802836C0 0C0A0802 */ jal func_80282008
/* 126D00 802836C0 0C0A0802 */ jal vec3f_copy_dupe
/* 126D04 802836C4 8FA50034 */ lw $a1, 0x34($sp)
/* 126D08 802836C8 3C048028 */ lui $a0, %hi(D_802876E0) # $a0, 0x8028
/* 126D0C 802836CC 0C0A12BA */ jal func_80284AE8
@ -155,11 +155,11 @@ glabel func_80283648
/* 126EC4 80283884 46009107 */ neg.s $f4, $f18
/* 126EC8 80283888 02002025 */ move $a0, $s0
/* 126ECC 8028388C 46040182 */ mul.s $f6, $f0, $f4
/* 126ED0 80283890 0C0A0802 */ jal func_80282008
/* 126ED0 80283890 0C0A0802 */ jal vec3f_copy_dupe
/* 126ED4 80283894 E6060020 */ swc1 $f6, 0x20($s0)
/* 126ED8 80283898 3C058028 */ lui $a1, %hi(D_802876E0) # $a1, 0x8028
/* 126EDC 8028389C 24A576E0 */ addiu $a1, %lo(D_802876E0) # addiu $a1, $a1, 0x76e0
/* 126EE0 802838A0 0C0A0802 */ jal func_80282008
/* 126EE0 802838A0 0C0A0802 */ jal vec3f_copy_dupe
/* 126EE4 802838A4 8FA40034 */ lw $a0, 0x34($sp)
/* 126EE8 802838A8 3C08800E */ lui $t0, %hi(D_800DC50C) # $t0, 0x800e
/* 126EEC 802838AC 8D08C50C */ lw $t0, %lo(D_800DC50C)($t0)
@ -194,15 +194,15 @@ glabel func_80283648
/* 126F5C 8028391C 248476E0 */ addiu $a0, %lo(D_802876E0) # addiu $a0, $a0, 0x76e0
/* 126F60 80283920 3C048028 */ lui $a0, %hi(D_80287710) # $a0, 0x8028
/* 126F64 80283924 24847710 */ addiu $a0, %lo(D_80287710) # addiu $a0, $a0, 0x7710
/* 126F68 80283928 0C0A0802 */ jal func_80282008
/* 126F68 80283928 0C0A0802 */ jal vec3f_copy_dupe
/* 126F6C 8028392C 02002825 */ move $a1, $s0
/* 126F70 80283930 3C048028 */ lui $a0, %hi(D_80287704) # $a0, 0x8028
/* 126F74 80283934 24847704 */ addiu $a0, %lo(D_80287704) # addiu $a0, $a0, 0x7704
/* 126F78 80283938 0C0A0802 */ jal func_80282008
/* 126F78 80283938 0C0A0802 */ jal vec3f_copy_dupe
/* 126F7C 8028393C 8FA50034 */ lw $a1, 0x34($sp)
/* 126F80 80283940 3C048028 */ lui $a0, %hi(D_8028771C) # $a0, 0x8028
/* 126F84 80283944 2484771C */ addiu $a0, %lo(D_8028771C) # addiu $a0, $a0, 0x771c
/* 126F88 80283948 0C0A0802 */ jal func_80282008
/* 126F88 80283948 0C0A0802 */ jal vec3f_copy_dupe
/* 126F8C 8028394C 8FA50030 */ lw $a1, 0x30($sp)
/* 126F90 80283950 8FBF0024 */ lw $ra, 0x24($sp)
/* 126F94 80283954 3C028028 */ lui $v0, %hi(D_802876D8) # $v0, 0x8028

View File

@ -3,18 +3,19 @@
#include <types.h>
#include <common_structs.h>
#include "variables.h"
#include "math_util.h"
#include "code_80281FA0.h"
void func_80281FA0(Vec3f arg0, f32 arg1, f32 arg2, f32 arg3) {
arg0[0] = arg1;
arg0[1] = arg2;
arg0[2] = arg3;
void vec3f_set_dupe(Vec3f dest, f32 arg1, f32 arg2, f32 arg3) {
dest[0] = arg1;
dest[1] = arg2;
dest[2] = arg3;
}
void func_80281FC0(Vec3s arg0, s16 arg1, s16 arg2, s16 arg3) {
arg0[0] = arg1;
arg0[1] = arg2;
arg0[2] = arg3;
void vec3s_set_dupe(Vec3s dest, s16 arg1, s16 arg2, s16 arg3) {
dest[0] = arg1;
dest[1] = arg2;
dest[2] = arg3;
}
void func_80281FDC(Vec3f arg0) {
@ -29,16 +30,16 @@ void func_80281FF4(Vec3s arg0) {
arg0[0] = arg0[2];
}
void func_80282008(Vec3f arg0, Vec3f arg1) {
arg0[0] = arg1[0];
arg0[1] = arg1[1];
arg0[2] = arg1[2];
void vec3f_copy_dupe(Vec3f dest, Vec3f src) {
dest[0] = src[0];
dest[1] = src[1];
dest[2] = src[2];
}
void func_80282024(Vec3s arg0, Vec3s arg1) {
arg0[0] = arg1[0];
arg0[1] = arg1[1];
arg0[2] = arg1[2];
void vec3s_copy_dupe(Vec3s dest, Vec3s src) {
dest[0] = src[0];
dest[1] = src[1];
dest[2] = src[2];
}
void func_80282040(void) {
@ -49,47 +50,23 @@ void func_80282048(void) {
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
// ? func_80282008(f32 *); // extern
f32 sins(u16); // extern
f32 coss(u16); // extern
UNUSED void func_80282050(Vec3f dest, Vec3f src, s16 angle) {
Vec3f sp2C;
UNUSED void func_80282050(Vec3f arg0, UNUSED f32 arg1, u16 arg2) {
Vec3f sp20;
Vec3f sp30;
// f32 sp28 = sins(arg2);
func_80282008(arg0, sp30);
arg0[0] = (coss(arg2 & 0xFFFF) * sp20[2]) + (sp30[1] * sins(arg2));
arg0[1] = sp30[0];
// sp28 = coss(arg2 & 0xFFFF);
arg0[2] = (sp30[1] * coss(arg2 & 0xFFFF)) - (sins(arg2 & 0xFFFF) * sp20[2]);
vec3f_copy_dupe(sp2C, src);
dest[0] = (sp2C[2] * sins(angle)) + (sp2C[0] * coss(angle));
dest[1] = sp2C[1];
dest[2] = (sp2C[2] * coss(angle)) - (sp2C[0] * sins(angle));
}
#else
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282050.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80282008(f32 *); // extern
f32 sins(u16); // extern
f32 coss(u16); // extern
UNUSED void func_802820F8(f32 *dest, f32 *src, s16 angle) {
Vec3f sp2C;
UNUSED void func_802820F8(void *arg0, u16 arg2) {
f32 sp2C;
f32 sp28;
func_80282008(&sp2C);
sp28 = coss(arg2);
arg0->unk8 = (sp34 * sp28) - (sins(arg2 & 0xFFFF) * sp30);
sp28 = sins(arg2 & 0xFFFF);
arg0->unk4 = (coss(arg2 & 0xFFFF) * sp30) + (sp34 * sp28);
arg0->unk0 = sp2C;
vec3f_copy_dupe(sp2C, src);
dest[2] = (sp2C[2] * coss(angle)) - (sp2C[1] * sins(angle));
dest[1] = (sp2C[2] * sins(angle)) + (sp2C[1] * coss(angle));
dest[0] = sp2C[0];
}
#else
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_802820F8.s")
#endif
// Called just before fish shoots trophy at awards cutscene.
s32 func_802821A0(f32 *arg0, f32 arg1, f32 arg2) {
@ -191,95 +168,38 @@ void func_80282434(s32 arg0) {
func_8028240C();
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s16 atan2s(f32, f32); // extern
void func_80282454(Vec3f arg0, Vec3f arg1, f32 *distance, s16 *arg3, s16 *arg4) {
f32 xdist;
f32 ydist;
f32 zdist;
void func_80282454(void *arg0, void *arg1, f32 *arg2, s16 *arg3, s16 *arg4) {
f32 sp2C;
f32 sp28;
f32 sp24;
f32 sp1C;
f32 sp18;
f32 temp_f0;
f32 temp_f14;
f32 temp_f16;
f32 temp_f18;
f32 temp_f2;
temp_f0 = arg1->unk0 - arg0->unk0;
temp_f2 = arg1->unk4 - arg0->unk4;
temp_f16 = temp_f0 * temp_f0;
sp2C = temp_f0;
temp_f14 = arg1->unk8 - arg0->unk8;
sp28 = temp_f2;
temp_f18 = temp_f14 * temp_f14;
sp24 = temp_f14;
sp1C = temp_f16;
sp18 = temp_f18;
*arg2 = sqrtf(temp_f16 + (temp_f2 * temp_f2) + temp_f18);
*arg3 = atan2s(sp28, sqrtf(temp_f16 + temp_f18));
*arg4 = atan2s(sp2C, temp_f14);
xdist = arg1[0] - arg0[0];
ydist = arg1[1] - arg0[1];
zdist = arg1[2] - arg0[2];
*distance = sqrtf((xdist * xdist) + (ydist * ydist) + (zdist * zdist));
*arg3 = atan2s(ydist, sqrtf((xdist * xdist) + (zdist * zdist)));
*arg4 = atan2s(xdist, zdist);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282454.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
f32 sins(u16); // extern
f32 coss(u16); // extern
void func_80282504(void *arg0, void *arg1, f32 arg2, s32 arg3, u16 arg4) {
f32 sp24;
s32 sp20;
s32 sp1C;
s32 temp_a0;
temp_a0 = arg3 & 0xFFFF;
sp20 = temp_a0;
sp24 = coss(temp_a0);
sp1C = arg4;
arg1->unk0 = (sins(arg4) * (arg2 * sp24)) + arg0->unk0;
arg1->unk4 = (sins(sp22) * arg2) + arg0->unk4;
sp24 = coss(sp22);
arg1->unk8 = (coss(sp1E) * (arg2 * sp24)) + arg0->unk8;
void func_80282504(Vec3f arg0, Vec3f arg1, f32 arg2, s16 arg3, s16 arg4) {
arg1[0] = arg0[0] + (arg2 * coss(arg3) * sins(arg4));
arg1[1] = arg0[1] + (arg2 * sins(arg3));
arg1[2] = arg0[2] + (arg2 * coss(arg3) * coss(arg4));
}
#else
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282504.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80282008(? *); // extern
f32 sins(u16); // extern
f32 coss(u16); // extern
UNUSED void func_802825C8(Vec3f arg0, Vec3f arg1, Vec3f arg2, Vec3s arg3) {
Vec3f sp3C;
Vec3f sp30;
void func_802825C8(void *arg0, void *arg1, void *arg2, void *arg3) {
? sp3C;
f32 sp38;
f32 sp34;
f32 sp30;
f32 temp_f20;
f32 temp_f20_2;
f32 temp_f20_3;
f32 temp_f20_4;
func_80282008(&sp3C);
temp_f20 = coss(arg3->unk0);
sp38 = -((arg2->unk8 * temp_f20) - (sins(arg3->unk0) * arg2->unk4));
temp_f20_2 = sins(arg3->unk0);
sp34 = (coss(arg3->unk0) * arg2->unk4) + (arg2->unk8 * temp_f20_2);
sp30 = arg2->unk0;
temp_f20_3 = sins(arg3->unk2);
arg0->unk0 = (coss(arg3->unk2) * sp30) + (arg1->unk0 + (sp38 * temp_f20_3));
arg0->unk4 = sp34 + arg1->unk4;
temp_f20_4 = coss(arg3->unk2);
arg0->unk8 = (arg1->unk8 + (sp38 * temp_f20_4)) - (sins(arg3->unk2) * sp30);
// What's up with this? Why do we copy arg1 to an unused local variable?
vec3f_copy_dupe(sp3C, arg1);
sp30[2] = -((arg2[2] * coss(arg3[0])) - (arg2[1] * sins(arg3[0])));
sp30[1] = (arg2[2] * sins(arg3[0])) + (arg2[1] * coss(arg3[0]));
sp30[0] = arg2[0];
arg0[0] = arg1[0] + (sp30[2] * sins(arg3[1])) + (sp30[0] * coss(arg3[1]));
arg0[1] = arg1[1] + sp30[1];
arg0[2] = arg1[2] + (sp30[2] * coss(arg3[1])) - (sp30[0] * sins(arg3[1]));
}
#else
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_802825C8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@ -536,7 +456,7 @@ void func_80282F00(s16 *arg0, s16 arg1) {
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80281FA0(?32 *, ?32, ?32, ?32); // extern
? vec3f_set_dupe(?32 *, ?32, ?32, ?32); // extern
s32 func_80282364(void *, ?, s16); // extern
? func_80282454(?32 *, ?32 *, s32 *, s16 *, s16 *); // extern
? func_80282504(?32 *, ?32 *, s32, s16, s32); // extern
@ -554,8 +474,8 @@ void func_80282F44(s32 arg0, void *arg1, void *arg2) {
s32 temp_t9;
void *temp_s0;
func_80281FA0(&sp44, arg2->unk0, arg2->unk4, arg2->unk8);
func_80281FA0(&sp38, arg2->unkC, arg2->unk10, arg2->unk14);
vec3f_set_dupe(&sp44, arg2->unk0, arg2->unk4, arg2->unk8);
vec3f_set_dupe(&sp38, arg2->unkC, arg2->unk10, arg2->unk14);
if ((arg0 == 0) || (arg0 == 1)) {
if ((arg1->unk48 != 0) || (arg1->unk4A != 0)) {
func_80282454(&sp44, &sp38, &sp5C, &sp50, &sp52);
@ -650,35 +570,31 @@ s32 func_80283330(s32 arg0) {
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80283330(?, s32 *); // extern
extern ? D_802856D4;
extern s8 D_802874F5;
extern s32 D_802876D8;
//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9
static ? D_802856D4; /* unable to generate initializer */
s32 func_8028336C(s32 arg0, ? arg1) {
s32 func_8028336C(s32 arg0, Camera *camera) {
? sp20;
s32 temp_v1;
s32 temp_v1_2;
temp_v1 = D_802876D8;
sp20.unk0 = D_802856D4.unk0;
sp20.unk4 = D_802856D4.unk4;
sp20.unk0 = (s32) D_802856D4.unk0;
sp20.unk4 = (s32) D_802856D4.unk4;
if (temp_v1 != 0) {
return temp_v1;
}
temp_v1_2 = D_800DC50C;
if (temp_v1_2 != 5) {
if (temp_v1_2 != 9) {
} else {
D_802876D8 = 6;
}
} else {
D_802876D8 = *(&sp20 + D_802874F5);
switch (temp_v1_2) { /* irregular */
case 5:
D_802876D8 = (s32) *(&sp20 + D_802874F5);
break;
case 9:
D_802876D8 = 6;
break;
}
if (temp_v1_2 == 9) {
func_80283330(6, &D_802876D8);
func_80283330(6);
}
return D_802876D8;
}
@ -691,58 +607,42 @@ s32 func_80283428(void) {
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80281FA0(? *, f32, f32, f32); // extern
? func_80281FDC(? *); // extern
? func_80281FF4(? *); // extern
? func_8028240C(); // extern
extern u16 D_800DC5E4;
extern f32 D_802856B0;
extern f32 D_802856B4;
extern f32 D_802856B8;
extern f32 D_802856C0;
extern s32 D_802856C4;
extern s16 D_802876D0;
extern s16 D_802876D2;
extern s32 D_802876D4;
extern s32 D_802876D8;
extern ? D_802876E0;
extern ? D_802876EC;
//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9
extern f32 D_802876EC;
extern f32 D_802876F8;
extern f32 D_80287700;
extern ? D_80287704;
extern ? D_80287710;
extern ? D_8028771C;
extern ? D_80287728;
extern ? D_8028772E;
extern ? D_80287734;
extern ? D_8028773A;
extern f32 D_80287704;
extern f32 D_80287710;
extern f32 D_8028771C;
extern s16 D_80287728;
extern s16 D_8028772E;
extern s16 D_80287734;
extern s16 D_8028773A;
extern s16 D_80287740;
extern f32 D_8028774E;
extern ? D_80287750;
extern ? D_8028775C;
extern ? D_80287818;
extern f32 D_80287750;
extern s16 D_8028775C;
extern ? D_80287824;
extern ? D_80287998;
extern ? D_80287B18;
static s32 D_802856C4 = 0;
f32 D_802856B0 = 98.0f;
f32 D_802856B4 = 12.0f;
f32 D_802856B8 = 52.0f;
f32 D_802856C0 = 0.0f;
void func_80283430(void) {
? *temp_a0;
? *temp_s0;
u32 temp_v0;
? *phi_a0;
? *phi_v0;
? *phi_s1;
? *phi_s0;
f32 *var_s1;
s16 *var_s0;
s32 *var_a0;
s32 *var_v0;
D_802876D8 = 0;
D_802876E0.unk1C = 0;
D_802856C4 = D_800DC5E4;
D_802856C4 = (s32) D_800DC5E4;
func_80281FDC(&D_802876EC);
func_80281FA0(&D_802876E0, 0.0f, 0.0f, 500.0f);
vec3f_set_dupe((f32 *) &D_802876E0, 0.0f, 0.0f, 500.0f);
func_80281FDC(&D_80287710);
func_80281FA0(&D_80287704, 0.0f, 0.0f, 500.0f);
func_80281FA0(&D_8028771C, 0.0f, 1.0f, 0.0f);
vec3f_set_dupe(&D_80287704, 0.0f, 0.0f, 500.0f);
vec3f_set_dupe(&D_8028771C, 0.0f, 1.0f, 0.0f);
D_802876F8 = 0.0f;
func_80281FF4(&D_80287728);
func_80281FF4(&D_8028772E);
@ -753,32 +653,29 @@ void func_80283430(void) {
D_8028774E = 0.0f;
D_8028774E = 0;
D_8028774E = 0;
D_80287700 = D_80150130;
D_80287700 = *D_80150130;
D_802876D0 = 0;
D_802876D2 = 0;
D_802876D4 = 0;
func_8028240C();
phi_a0 = &D_80287818;
phi_v0 = &D_80287998;
var_v0 = &D_80287998;
var_a0 = &D_80287818;
do {
temp_v0 = phi_v0 + 0xC;
temp_a0 = phi_a0 + 0xC;
temp_a0->unk-C = -1;
temp_v0->unk-C = -1;
phi_a0 = temp_a0;
phi_v0 = temp_v0;
} while (temp_v0 < &D_80287B18);
phi_s1 = &D_80287750;
phi_s0 = &D_8028775C;
var_v0 += 0xC;
var_a0 += 0xC;
var_a0->unk-C = -1;
var_v0->unk-C = -1;
} while ((u32) var_v0 < (u32) &D_80287B18);
var_s0 = &D_8028775C;
var_s1 = &D_80287750;
do {
func_80281FDC(phi_s1);
func_80281FF4(phi_s0);
temp_s0 = phi_s0 + 0x14;
phi_s1 += 0x14;
phi_s0 = temp_s0;
} while (temp_s0 != &D_80287824);
func_80281FDC(var_s1);
func_80281FF4(var_s0);
var_s0 += 0x14;
var_s1 += 0x14;
} while (var_s0 != &D_80287824);
D_802856C0 = 0.0f;
if (D_800DC50C == ENDING_SEQUENCE) {
if (D_800DC50C == 5) {
D_802856B0 = 120.0f;
D_802856B4 = 12.0f;
D_802856B8 = 120.0f;
@ -793,109 +690,95 @@ GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80283430.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80282008(? *, ? *); // extern
? func_80282454(? *, ? *, s32 *, s16 *, s16 *); // extern
? func_80282504(? *, ? *, s32, s16, s32); // extern
? func_80282F44(?, ? *, ? *); // extern
? func_80283100(? *, f32 *); // extern
s32 func_8028336C(? *, ? *); // extern
? func_80283428(); // extern
? func_80284AE8(? *); // extern
f32 sins(u16); // extern
f32 coss(u16); // extern
extern s32 D_802876D8;
extern ? D_802876E0;
extern ? D_802876EC;
//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9
? func_80282F44(?, s32 *, Camera *); /* extern */
? func_80283100(s32 *, f32 *); /* extern */
s32 func_8028336C(s32 *, Camera *); /* extern */
? func_80284AE8(s32 *); /* extern */
extern f32 D_802876EC;
extern f32 D_802876F8;
extern s8 D_802876FC;
extern ? D_80287704;
extern ? D_80287710;
extern ? D_8028771C;
extern f32 D_80287704;
extern f32 D_80287710;
extern f32 D_8028771C;
s32 func_80283648(? *arg0) {
s32 func_80283648(Camera *camera) {
s16 sp6E;
s16 sp6C;
s32 sp64;
? sp58;
? sp4C;
? sp40;
f32 sp64;
f32 sp58;
f32 sp4C;
f32 sp40;
f32 sp38;
? *sp34;
? *sp30;
f32 *sp34;
f32 *sp30;
s32 sp2C;
? *temp_a1;
? *temp_a1_2;
f32 temp_f2;
f32 *temp_a1;
f32 *temp_a1_2;
f32 var_f0;
f32 var_f2;
s16 var_a3;
s32 temp_t9;
s8 temp_v1;
s32 phi_a3;
s16 phi_a3_2;
f32 phi_f2;
f32 phi_f2_2;
f32 phi_f0;
func_80283428();
func_80282008(&sp58, arg0);
temp_a1 = arg0 + 0xC;
vec3f_copy_dupe(&sp58, camera->pos);
temp_a1 = &camera->unk;
sp34 = temp_a1;
func_80282008(&sp4C, temp_a1);
temp_a1_2 = arg0 + 0x18;
vec3f_copy_dupe(&sp4C, temp_a1);
temp_a1_2 = &camera->angleX;
sp30 = temp_a1_2;
func_80282008(&sp40, temp_a1_2);
temp_v1 = func_8028336C(&D_802876E0, arg0) & 0xFF;
vec3f_copy_dupe(&sp40, temp_a1_2);
temp_v1 = func_8028336C(&D_802876E0, camera) & 0xFF;
D_802876FC = temp_v1;
if (temp_v1 != 0) {
func_80282008(&D_802876EC, arg0);
func_80282008(&D_802876E0, sp34);
vec3f_copy_dupe(&D_802876EC, camera->pos);
vec3f_copy_dupe((f32 *) &D_802876E0, sp34);
func_80284AE8(&D_802876E0);
func_80282454(&D_802876EC, &D_802876E0, &sp64, &sp6E, &sp6C);
phi_a3 = sp6E;
if (sp6E >= 0x3800) {
phi_a3 = 0x3800;
func_80282454(&D_802876EC, (f32 *) &D_802876E0, &sp64, &sp6E, &sp6C);
var_a3 = sp6E;
if (var_a3 >= 0x3800) {
var_a3 = 0x3800;
}
phi_a3_2 = phi_a3;
if (phi_a3 < -0x37FF) {
phi_a3_2 = -0x3800;
if (var_a3 < -0x37FF) {
var_a3 = -0x3800;
}
if ((phi_a3_2 == 0x3800) || (sp6E = phi_a3_2, (phi_a3_2 == -0x3800))) {
sp6E = phi_a3_2;
func_80282504(&D_802876EC, &D_802876E0, sp64, phi_a3_2, sp6C);
if ((var_a3 == 0x3800) || (sp6E = var_a3, (var_a3 == -0x3800))) {
sp6E = var_a3;
func_80282504(&D_802876EC, (f32 *) &D_802876E0, sp64, var_a3, (s16) (s32) sp6C);
}
temp_f2 = D_802876F8;
phi_f2 = temp_f2;
if (temp_f2 > 65536.0f) {
phi_f2 = temp_f2 - 65536.0f;
var_f2 = D_802876F8;
if (var_f2 > 65536.0f) {
var_f2 -= 65536.0f;
}
phi_f2_2 = phi_f2;
if (phi_f2 < -65536.0f) {
phi_f2_2 = phi_f2 + 65536.0f;
if (var_f2 < -65536.0f) {
var_f2 += 65536.0f;
}
D_802876F8 = phi_f2_2;
phi_f0 = phi_f2_2;
if (phi_f2_2 < 0.0f) {
phi_f0 = 65536.0f + phi_f2_2;
D_802876F8 = var_f2;
var_f0 = var_f2;
if (var_f2 < 0.0f) {
var_f0 = 65536.0f + var_f2;
}
temp_t9 = phi_f0 & 0xFFFF;
temp_t9 = (u32) var_f0 & 0xFFFF;
sp2C = temp_t9;
sp38 = sins(65536.0f, temp_t9);
arg0->unk18 = coss(sp6C) * sp38;
arg0->unk1C = coss(sp2E);
sp38 = sins((bitwise f32) sp2E);
arg0->unk20 = sins((bitwise f32) sp6C) * -sp38;
func_80282008(arg0, &D_802876EC);
func_80282008(sp34, &D_802876E0);
if ((D_800DC50C == CREDITS_SEQUENCE) && (gIsMirrorMode != 0)) {
arg0->unk0 = -arg0->unk0;
arg0->unkC = -arg0->unkC;
sp38 = sins((u16) temp_t9);
camera->angleX = coss((u16) sp6C) * sp38;
camera->angleY = coss(unksp2E);
sp38 = sins(unksp2E);
camera->angleZ = sins((u16) sp6C) * -sp38;
vec3f_copy_dupe(camera->pos, &D_802876EC);
vec3f_copy_dupe(sp34, (f32 *) &D_802876E0);
if ((D_800DC50C == 9) && (gIsMirrorMode != 0)) {
camera->pos[0] = -camera->pos[0];
camera->unk = -camera->unk;
}
}
func_80282F44(0, &D_802876E0, arg0);
func_80282F44(1, &D_802876E0, arg0);
func_80283100(&D_802876E0, &D_80150130);
func_80282008(&D_80287710, arg0);
func_80282008(&D_80287704, sp34);
func_80282008(&D_8028771C, sp30);
func_80282F44(0, &D_802876E0, camera);
func_80282F44(1, &D_802876E0, camera);
func_80283100(&D_802876E0, D_80150130);
vec3f_copy_dupe(&D_80287710, camera->pos);
vec3f_copy_dupe(&D_80287704, sp34);
vec3f_copy_dupe(&D_8028771C, sp30);
return D_802876D8;
}
#else
@ -1030,7 +913,7 @@ void func_80283EA0(s32 arg0) {
}
void func_80283ED0(Vec3f arg0) {
func_80282008(arg0, &gPlayerTwo->pos[0]);
vec3f_copy_dupe(arg0, &gPlayerTwo->pos[0]);
}
void func_80283EF8(Vec3f arg0) {
@ -1046,7 +929,7 @@ void func_80283F6C(s32 arg0) {
}
void func_80283FCC(Vec3f arg0) {
func_80282008(arg0, &gPlayerThree->pos[0]);
vec3f_copy_dupe(arg0, &gPlayerThree->pos[0]);
}
void func_80283FF4(Vec3f arg0) {
@ -1100,7 +983,7 @@ GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80284184.s")
void func_802841E8(Vec3f arg0) {
func_80282E58(arg0, &D_80285940, 0);
func_80281FA0(arg0, -3202.0f, 90.0f, -478.0f);
vec3f_set_dupe(arg0, -3202.0f, 90.0f, -478.0f);
}
void func_8028422C(s32 arg0) {
@ -1230,16 +1113,33 @@ GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_802846E4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80280268(u8); // extern
? func_80282D90(s32, s32, s32, ?); // extern
? func_802832C4(? *, s32, s16, s16); // extern
extern u16 D_800DC5E4;
extern f32 D_802856B4;
extern ? D_80286A04;
extern ? D_80286A10;
extern ? D_80286B34;
extern s16 D_802876D2;
//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9
? func_80280268(u8); /* extern */
static ? D_80286A04; /* unable to generate initializer */
static ? D_80286A10; /* unable to generate initializer */
static u16 D_80286B34[0x14] = {
0x0096,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F3,
0x00F2,
0x00F2,
0x00F2,
0x00F9,
0x00F0,
0,
};
f32 D_802856B4 = 12.0f;
void func_802847CC(s32 arg0) {
u16 sp2E;
@ -1248,59 +1148,59 @@ void func_802847CC(s32 arg0) {
f32 temp_f4;
s16 temp_a2;
s16 temp_a2_2;
s32 temp_f6;
s32 var_t9;
u16 temp_v0;
u16 temp_v0_5;
u8 temp_v0_2;
void *temp_v0_3;
void *temp_v0_4;
s32 phi_t9;
temp_f4 = D_802856B4;
temp_f6 = temp_f4;
temp_v0 = *(&D_80286A10 + (D_800DC5E4 * 0x10));
if ((MIPS2C_ERROR(cfc1) & 0x78) != 0) {
if ((MIPS2C_ERROR(cfc1) & 0x78) == 0) {
phi_t9 = (temp_f4 - 2.1474836e9f) | 0x80000000;
if ((M2C_ERROR(cfc1) & 0x78) != 0) {
if ((M2C_ERROR(cfc1) & 0x78) == 0) {
var_t9 = (s32) (temp_f4 - 2.1474836e9f) | 0x80000000;
} else {
goto block_3;
}
} else {
phi_t9 = temp_f6;
if (temp_f6 < 0) {
var_t9 = (s32) temp_f4;
if (var_t9 < 0) {
block_3:
phi_t9 = -1;
var_t9 = -1;
}
}
sp2E = (temp_v0 - phi_t9) - 0xA;
sp2E = (temp_v0 - var_t9) - 0xA;
sp2C = temp_v0;
func_802832C4(&func_80283CD0, arg0, 0, 0);
func_802832C4(&func_80283A00, arg0, 8, 8);
func_802832C4(&func_80283C78, arg0, 0x95, 0x95);
func_802832C4(&func_80282434, arg0, 0, 0);
func_802832C4(func_80283CD0, arg0, 0, 0);
func_802832C4(func_80283A00, arg0, 8, 8);
func_802832C4(func_80283C78, arg0, 0x0095, 0x0095);
func_802832C4(func_80282434, arg0, 0, 0);
temp_v0_2 = *(&D_80286A04 + (D_800DC5E4 * 0x10));
if (temp_v0_2 != 1) {
if (temp_v0_2 != 2) {
func_802832C4(&func_802839E0, arg0, 0, 0);
sp24 = sp2E;
func_802832C4(&func_802839CC, arg0, sp2E, sp2E);
temp_a2 = sp2E - 0x14;
func_802832C4(&func_802839E0, arg0, temp_a2, temp_a2);
temp_v0_3 = (D_800DC5E4 * 0x10) + &D_80286A04;
func_80282D90(arg0, temp_v0_3->unk4, temp_v0_3->unk8, 0);
} else {
func_802832C4(&func_802839E0, arg0, 0, 0);
func_802832C4(&func_80283D04, arg0, 0xF7, 0xF7);
temp_v0_4 = (D_800DC5E4 * 0x10) + &D_80286A04;
func_80282D90(arg0, temp_v0_4->unk4, temp_v0_4->unk8, 0);
}
} else {
func_802832C4(&func_802839CC, arg0, 0, -1);
switch (temp_v0_2) { /* irregular */
case 1:
func_802832C4(func_802839CC, arg0, 0, -1);
temp_a2 = sp2E - 0x14;
func_802832C4(func_802839E0, arg0, temp_a2, temp_a2);
break;
case 2:
func_802832C4(func_802839B4, arg0, 0, 0);
func_802832C4(func_80283D04, arg0, 0x00F7, 0x00F7);
temp_v0_3 = (D_800DC5E4 * 0x10) + &D_80286A04;
func_80282D90(arg0, temp_v0_3->unk4, temp_v0_3->unk8, 0);
break;
default:
func_802832C4(func_802839B4, arg0, 0, 0);
sp24 = (s32) sp2E;
func_802832C4(func_802839CC, arg0, (s16) sp2E, (s16) sp2E);
temp_a2_2 = sp2E - 0x14;
func_802832C4(&func_802839E0, arg0, temp_a2_2, temp_a2_2);
func_802832C4(func_802839E0, arg0, temp_a2_2, temp_a2_2);
temp_v0_4 = (D_800DC5E4 * 0x10) + &D_80286A04;
func_80282D90(arg0, temp_v0_4->unk4, temp_v0_4->unk8, 0);
break;
}
if (gCCSelection == CC_EXTRA) {
sp2C = *(&D_80286B34 + (D_800DC5E4 * 2));
if (gCCSelection == 3) {
sp2C = D_80286B34[D_800DC5E4];
}
if (sp2C == D_802876D2) {
temp_v0_5 = D_800DC5E4;

View File

@ -5,20 +5,25 @@
/* Function Prototypes */
void func_80281FA0(Vec3f, f32, f32, f32);
void func_80281FC0(Vec3s, s16, s16, s16);
void vec3f_set_dupe(Vec3f, f32, f32, f32);
void vec3s_set_dupe(Vec3s, s16, s16, s16);
void func_80281FDC(Vec3f);
void func_80281FF4(Vec3s);
void func_80282008(Vec3f, Vec3f);
void func_80282024(Vec3s, Vec3s);
void vec3f_copy_dupe(Vec3f, Vec3f);
void vec3s_copy_dupe(Vec3s, Vec3s);
void func_80282040();
void func_80282048();
void func_80282050(Vec3f, Vec3f, s16);
void func_802820F8(Vec3f, Vec3f, s16);
s32 func_802821A0(f32*, f32, f32);
s32 func_80282200(s16*, s16, s16);
s32 func_802822AC(f32*, f32, f32);
s32 func_80282364(s16*, s16, s16);
void func_8028240C();
void func_80282434(s32);
void func_80282454(Vec3f, Vec3f, f32*, s16*, s16*);
void func_80282504(Vec3f, Vec3f, f32, s16, s16);
void func_802825C8(Vec3f, Vec3f, Vec3f, Vec3s);
s32 func_80282D90(s32, s32, s32, s32);
void func_80282E58(s32, s32, s32);
void func_80282F00(s16*, s16);