Match a variety of functions (#245)

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran 2022-07-15 14:49:40 -04:00 committed by GitHub
parent 7042a3eab5
commit bf4ca94711
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 734 additions and 1700 deletions

View File

@ -1,81 +0,0 @@
glabel func_80021E10
/* 022A10 80021E10 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 022A14 80021E14 AFB0001C */ sw $s0, 0x1c($sp)
/* 022A18 80021E18 00808025 */ move $s0, $a0
/* 022A1C 80021E1C AFBF0024 */ sw $ra, 0x24($sp)
/* 022A20 80021E20 AFB10020 */ sw $s1, 0x20($sp)
/* 022A24 80021E24 F7B40010 */ sdc1 $f20, 0x10($sp)
/* 022A28 80021E28 AFA5004C */ sw $a1, 0x4c($sp)
/* 022A2C 80021E2C 00C08825 */ move $s1, $a2
/* 022A30 80021E30 0C0AE006 */ jal sins
/* 022A34 80021E34 94C40000 */ lhu $a0, ($a2)
/* 022A38 80021E38 E7A00038 */ swc1 $f0, 0x38($sp)
/* 022A3C 80021E3C 0C0AE00E */ jal coss
/* 022A40 80021E40 96240000 */ lhu $a0, ($s1)
/* 022A44 80021E44 46000506 */ mov.s $f20, $f0
/* 022A48 80021E48 0C0AE006 */ jal sins
/* 022A4C 80021E4C 96240002 */ lhu $a0, 2($s1)
/* 022A50 80021E50 96240002 */ lhu $a0, 2($s1)
/* 022A54 80021E54 0C0AE00E */ jal coss
/* 022A58 80021E58 E7A00030 */ swc1 $f0, 0x30($sp)
/* 022A5C 80021E5C 96240004 */ lhu $a0, 4($s1)
/* 022A60 80021E60 0C0AE006 */ jal sins
/* 022A64 80021E64 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 022A68 80021E68 96240004 */ lhu $a0, 4($s1)
/* 022A6C 80021E6C 0C0AE00E */ jal coss
/* 022A70 80021E70 E7A00028 */ swc1 $f0, 0x28($sp)
/* 022A74 80021E74 C7AE0030 */ lwc1 $f14, 0x30($sp)
/* 022A78 80021E78 C7B20038 */ lwc1 $f18, 0x38($sp)
/* 022A7C 80021E7C C7B0002C */ lwc1 $f16, 0x2c($sp)
/* 022A80 80021E80 C7A20028 */ lwc1 $f2, 0x28($sp)
/* 022A84 80021E84 460E9302 */ mul.s $f12, $f18, $f14
/* 022A88 80021E88 46008287 */ neg.s $f10, $f16
/* 022A8C 80021E8C 8FA2004C */ lw $v0, 0x4c($sp)
/* 022A90 80021E90 46008102 */ mul.s $f4, $f16, $f0
/* 022A94 80021E94 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 022A98 80021E98 46026182 */ mul.s $f6, $f12, $f2
/* 022A9C 80021E9C 46062200 */ add.s $f8, $f4, $f6
/* 022AA0 80021EA0 46025102 */ mul.s $f4, $f10, $f2
/* 022AA4 80021EA4 00000000 */ nop
/* 022AA8 80021EA8 46006182 */ mul.s $f6, $f12, $f0
/* 022AAC 80021EAC E6080000 */ swc1 $f8, ($s0)
/* 022AB0 80021EB0 460EA282 */ mul.s $f10, $f20, $f14
/* 022AB4 80021EB4 46062200 */ add.s $f8, $f4, $f6
/* 022AB8 80021EB8 4602A182 */ mul.s $f6, $f20, $f2
/* 022ABC 80021EBC E60A0020 */ swc1 $f10, 0x20($s0)
/* 022AC0 80021EC0 46009287 */ neg.s $f10, $f18
/* 022AC4 80021EC4 E6080010 */ swc1 $f8, 0x10($s0)
/* 022AC8 80021EC8 4600A202 */ mul.s $f8, $f20, $f0
/* 022ACC 80021ECC C4440000 */ lwc1 $f4, ($v0)
/* 022AD0 80021ED0 E60A0024 */ swc1 $f10, 0x24($s0)
/* 022AD4 80021ED4 46109302 */ mul.s $f12, $f18, $f16
/* 022AD8 80021ED8 E6060004 */ swc1 $f6, 4($s0)
/* 022ADC 80021EDC E6040030 */ swc1 $f4, 0x30($s0)
/* 022AE0 80021EE0 46007187 */ neg.s $f6, $f14
/* 022AE4 80021EE4 E6080014 */ swc1 $f8, 0x14($s0)
/* 022AE8 80021EE8 46003202 */ mul.s $f8, $f6, $f0
/* 022AEC 80021EEC C4440004 */ lwc1 $f4, 4($v0)
/* 022AF0 80021EF0 46026282 */ mul.s $f10, $f12, $f2
/* 022AF4 80021EF4 E6040034 */ swc1 $f4, 0x34($s0)
/* 022AF8 80021EF8 46027182 */ mul.s $f6, $f14, $f2
/* 022AFC 80021EFC 460A4100 */ add.s $f4, $f8, $f10
/* 022B00 80021F00 46006202 */ mul.s $f8, $f12, $f0
/* 022B04 80021F04 44800000 */ mtc1 $zero, $f0
/* 022B08 80021F08 E6040008 */ swc1 $f4, 8($s0)
/* 022B0C 80021F0C 4610A102 */ mul.s $f4, $f20, $f16
/* 022B10 80021F10 46083280 */ add.s $f10, $f6, $f8
/* 022B14 80021F14 44814000 */ mtc1 $at, $f8
/* 022B18 80021F18 E6040028 */ swc1 $f4, 0x28($s0)
/* 022B1C 80021F1C E60A0018 */ swc1 $f10, 0x18($s0)
/* 022B20 80021F20 C4460008 */ lwc1 $f6, 8($v0)
/* 022B24 80021F24 E600000C */ swc1 $f0, 0xc($s0)
/* 022B28 80021F28 E600001C */ swc1 $f0, 0x1c($s0)
/* 022B2C 80021F2C E600002C */ swc1 $f0, 0x2c($s0)
/* 022B30 80021F30 E608003C */ swc1 $f8, 0x3c($s0)
/* 022B34 80021F34 E6060038 */ swc1 $f6, 0x38($s0)
/* 022B38 80021F38 8FBF0024 */ lw $ra, 0x24($sp)
/* 022B3C 80021F3C 8FB10020 */ lw $s1, 0x20($sp)
/* 022B40 80021F40 8FB0001C */ lw $s0, 0x1c($sp)
/* 022B44 80021F44 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 022B48 80021F48 03E00008 */ jr $ra
/* 022B4C 80021F4C 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,75 +0,0 @@
glabel func_80280A28
/* 124068 80280A28 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 12406C 80280A2C 44866000 */ mtc1 $a2, $f12
/* 124070 80280A30 AFA50064 */ sw $a1, 0x64($sp)
/* 124074 80280A34 00802825 */ move $a1, $a0
/* 124078 80280A38 AFBF0014 */ sw $ra, 0x14($sp)
/* 12407C 80280A3C AFA40060 */ sw $a0, 0x60($sp)
/* 124080 80280A40 8FA60064 */ lw $a2, 0x64($sp)
/* 124084 80280A44 27A40020 */ addiu $a0, $sp, 0x20
/* 124088 80280A48 0C008784 */ jal func_80021E10
/* 12408C 80280A4C E7AC0068 */ swc1 $f12, 0x68($sp)
/* 124090 80280A50 3C028028 */ lui $v0, %hi(D_80287500) # $v0, 0x8028
/* 124094 80280A54 24427500 */ addiu $v0, %lo(D_80287500) # addiu $v0, $v0, 0x7500
/* 124098 80280A58 C7AC0068 */ lwc1 $f12, 0x68($sp)
/* 12409C 80280A5C C4440000 */ lwc1 $f4, ($v0)
/* 1240A0 80280A60 C4480010 */ lwc1 $f8, 0x10($v0)
/* 1240A4 80280A64 C4500020 */ lwc1 $f16, 0x20($v0)
/* 1240A8 80280A68 460C2182 */ mul.s $f6, $f4, $f12
/* 1240AC 80280A6C C4440004 */ lwc1 $f4, 4($v0)
/* 1240B0 80280A70 3C0F8016 */ lui $t7, %hi(D_80164AF0) # $t7, 0x8016
/* 1240B4 80280A74 460C4282 */ mul.s $f10, $f8, $f12
/* 1240B8 80280A78 C4480014 */ lwc1 $f8, 0x14($v0)
/* 1240BC 80280A7C 85EF4AF0 */ lh $t7, %lo(D_80164AF0)($t7)
/* 1240C0 80280A80 460C8482 */ mul.s $f18, $f16, $f12
/* 1240C4 80280A84 E7A60020 */ swc1 $f6, 0x20($sp)
/* 1240C8 80280A88 C4500024 */ lwc1 $f16, 0x24($v0)
/* 1240CC 80280A8C 460C2182 */ mul.s $f6, $f4, $f12
/* 1240D0 80280A90 E7AA0024 */ swc1 $f10, 0x24($sp)
/* 1240D4 80280A94 C4440008 */ lwc1 $f4, 8($v0)
/* 1240D8 80280A98 460C4282 */ mul.s $f10, $f8, $f12
/* 1240DC 80280A9C E7B20028 */ swc1 $f18, 0x28($sp)
/* 1240E0 80280AA0 C4480018 */ lwc1 $f8, 0x18($v0)
/* 1240E4 80280AA4 460C8482 */ mul.s $f18, $f16, $f12
/* 1240E8 80280AA8 E7A60030 */ swc1 $f6, 0x30($sp)
/* 1240EC 80280AAC C4500028 */ lwc1 $f16, 0x28($v0)
/* 1240F0 80280AB0 460C2182 */ mul.s $f6, $f4, $f12
/* 1240F4 80280AB4 E7AA0034 */ swc1 $f10, 0x34($sp)
/* 1240F8 80280AB8 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015
/* 1240FC 80280ABC 460C4282 */ mul.s $f10, $f8, $f12
/* 124100 80280AC0 E7B20038 */ swc1 $f18, 0x38($sp)
/* 124104 80280AC4 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6)
/* 124108 80280AC8 460C8482 */ mul.s $f18, $f16, $f12
/* 12410C 80280ACC 000FC180 */ sll $t8, $t7, 6
/* 124110 80280AD0 3401FAC0 */ li $at, 64192
/* 124114 80280AD4 01D82021 */ addu $a0, $t6, $t8
/* 124118 80280AD8 E7A60040 */ swc1 $f6, 0x40($sp)
/* 12411C 80280ADC E7AA0044 */ swc1 $f10, 0x44($sp)
/* 124120 80280AE0 00812021 */ addu $a0, $a0, $at
/* 124124 80280AE4 E7B20048 */ swc1 $f18, 0x48($sp)
/* 124128 80280AE8 0C008860 */ jal func_80022180
/* 12412C 80280AEC 27A50020 */ addiu $a1, $sp, 0x20
/* 124130 80280AF0 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
/* 124134 80280AF4 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298
/* 124138 80280AF8 8C830000 */ lw $v1, ($a0)
/* 12413C 80280AFC 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102
/* 124140 80280B00 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40
/* 124144 80280B04 24790008 */ addiu $t9, $v1, 8
/* 124148 80280B08 AC990000 */ sw $t9, ($a0)
/* 12414C 80280B0C 3C0A8016 */ lui $t2, %hi(D_80164AF0) # $t2, 0x8016
/* 124150 80280B10 AC680000 */ sw $t0, ($v1)
/* 124154 80280B14 854A4AF0 */ lh $t2, %lo(D_80164AF0)($t2)
/* 124158 80280B18 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015
/* 12415C 80280B1C 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1)
/* 124160 80280B20 000A5980 */ sll $t3, $t2, 6
/* 124164 80280B24 3401FAC0 */ li $at, 64192
/* 124168 80280B28 012B6021 */ addu $t4, $t1, $t3
/* 12416C 80280B2C 01816821 */ addu $t5, $t4, $at
/* 124170 80280B30 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 124174 80280B34 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 124178 80280B38 01A17824 */ and $t7, $t5, $at
/* 12417C 80280B3C AC6F0004 */ sw $t7, 4($v1)
/* 124180 80280B40 8FBF0014 */ lw $ra, 0x14($sp)
/* 124184 80280B44 27BD0060 */ addiu $sp, $sp, 0x60
/* 124188 80280B48 03E00008 */ jr $ra
/* 12418C 80280B4C 00000000 */ nop

View File

@ -7,11 +7,12 @@ glabel func_80284AE8
/* 12813C 80284AFC 2DC10005 */ sltiu $at, $t6, 5
/* 128140 80284B00 10200043 */ beqz $at, .L80284C10
/* 128144 80284B04 000E7080 */ sll $t6, $t6, 2
/* 128148 80284B08 3C018028 */ lui $at, %hi(D_80287480) #0x8028
/* 128148 80284B08 3C018028 */ lui $at, %hi(jpt_80287480) #0x8028
/* 12814C 80284B0C 002E0821 */ addu $at, $at, $t6
/* 128150 80284B10 8C2E7480 */ lw $t6, %lo(D_80287480)($at) # 0x7480($at)
/* 128150 80284B10 8C2E7480 */ lw $t6, %lo(jpt_80287480)($at) # 0x7480($at)
/* 128154 80284B14 01C00008 */ jr $t6
/* 128158 80284B18 00000000 */ nop
glabel L80284B1C
/* 12815C 80284B1C 3C0F8028 */ lui $t7, %hi(D_802876D0) # $t7, 0x8028
/* 128160 80284B20 85EF76D0 */ lh $t7, %lo(D_802876D0)($t7)
/* 128164 80284B24 3C198028 */ lui $t9, %hi(D_80285D10) # $t9, 0x8028
@ -24,6 +25,7 @@ glabel func_80284AE8
/* 128180 80284B40 A7A8001A */ sh $t0, 0x1a($sp)
/* 128184 80284B44 10000033 */ b .L80284C14
/* 128188 80284B48 87B8001A */ lh $t8, 0x1a($sp)
glabel L80284B4C
/* 12818C 80284B4C 3C098028 */ lui $t1, %hi(D_802876D0) # $t1, 0x8028
/* 128190 80284B50 852976D0 */ lh $t1, %lo(D_802876D0)($t1)
/* 128194 80284B54 3C0B8028 */ lui $t3, %hi(D_80285D10) # $t3, 0x8028
@ -36,6 +38,7 @@ glabel func_80284AE8
/* 1281B0 80284B70 A7AC001A */ sh $t4, 0x1a($sp)
/* 1281B4 80284B74 10000027 */ b .L80284C14
/* 1281B8 80284B78 87B8001A */ lh $t8, 0x1a($sp)
glabel L80284B7C
/* 1281BC 80284B7C 3C0D8028 */ lui $t5, %hi(D_802876D0) # $t5, 0x8028
/* 1281C0 80284B80 85AD76D0 */ lh $t5, %lo(D_802876D0)($t5)
/* 1281C4 80284B84 3C0F8028 */ lui $t7, %hi(D_80285D10) # $t7, 0x8028
@ -48,6 +51,7 @@ glabel func_80284AE8
/* 1281E0 80284BA0 A7B8001A */ sh $t8, 0x1a($sp)
/* 1281E4 80284BA4 1000001B */ b .L80284C14
/* 1281E8 80284BA8 87B8001A */ lh $t8, 0x1a($sp)
glabel L80284BAC
/* 1281EC 80284BAC 3C088028 */ lui $t0, %hi(D_802876D0) # $t0, 0x8028
/* 1281F0 80284BB0 850876D0 */ lh $t0, %lo(D_802876D0)($t0)
/* 1281F4 80284BB4 3C0A8028 */ lui $t2, %hi(D_80285D58) # $t2, 0x8028
@ -63,6 +67,7 @@ glabel func_80284AE8
/* 12821C 80284BDC 8FA40028 */ lw $a0, 0x28($sp)
/* 128220 80284BE0 1000000C */ b .L80284C14
/* 128224 80284BE4 87B8001A */ lh $t8, 0x1a($sp)
glabel L80284BE8
/* 128228 80284BE8 3C0C8028 */ lui $t4, %hi(D_802876D0) # $t4, 0x8028
/* 12822C 80284BEC 858C76D0 */ lh $t4, %lo(D_802876D0)($t4)
/* 128230 80284BF0 3C0E8028 */ lui $t6, %hi(D_80286B5C) # $t6, 0x8028

View File

@ -1,81 +0,0 @@
glabel func_802B5F74
/* 11F584 802B5F74 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 11F588 802B5F78 AFB0001C */ sw $s0, 0x1c($sp)
/* 11F58C 802B5F7C 00808025 */ move $s0, $a0
/* 11F590 802B5F80 AFBF0024 */ sw $ra, 0x24($sp)
/* 11F594 802B5F84 AFB10020 */ sw $s1, 0x20($sp)
/* 11F598 802B5F88 F7B40010 */ sdc1 $f20, 0x10($sp)
/* 11F59C 802B5F8C AFA50044 */ sw $a1, 0x44($sp)
/* 11F5A0 802B5F90 00C08825 */ move $s1, $a2
/* 11F5A4 802B5F94 0C0AE006 */ jal sins
/* 11F5A8 802B5F98 94C40000 */ lhu $a0, ($a2)
/* 11F5AC 802B5F9C E7A0003C */ swc1 $f0, 0x3c($sp)
/* 11F5B0 802B5FA0 0C0AE00E */ jal coss
/* 11F5B4 802B5FA4 96240000 */ lhu $a0, ($s1)
/* 11F5B8 802B5FA8 46000506 */ mov.s $f20, $f0
/* 11F5BC 802B5FAC 0C0AE006 */ jal sins
/* 11F5C0 802B5FB0 96240002 */ lhu $a0, 2($s1)
/* 11F5C4 802B5FB4 96240002 */ lhu $a0, 2($s1)
/* 11F5C8 802B5FB8 0C0AE00E */ jal coss
/* 11F5CC 802B5FBC E7A00034 */ swc1 $f0, 0x34($sp)
/* 11F5D0 802B5FC0 96240004 */ lhu $a0, 4($s1)
/* 11F5D4 802B5FC4 0C0AE006 */ jal sins
/* 11F5D8 802B5FC8 E7A00030 */ swc1 $f0, 0x30($sp)
/* 11F5DC 802B5FCC 96240004 */ lhu $a0, 4($s1)
/* 11F5E0 802B5FD0 0C0AE00E */ jal coss
/* 11F5E4 802B5FD4 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 11F5E8 802B5FD8 C7AE0034 */ lwc1 $f14, 0x34($sp)
/* 11F5EC 802B5FDC C7B2003C */ lwc1 $f18, 0x3c($sp)
/* 11F5F0 802B5FE0 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 11F5F4 802B5FE4 C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 11F5F8 802B5FE8 460E9302 */ mul.s $f12, $f18, $f14
/* 11F5FC 802B5FEC 46008287 */ neg.s $f10, $f16
/* 11F600 802B5FF0 8FA20044 */ lw $v0, 0x44($sp)
/* 11F604 802B5FF4 46008102 */ mul.s $f4, $f16, $f0
/* 11F608 802B5FF8 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11F60C 802B5FFC 46026182 */ mul.s $f6, $f12, $f2
/* 11F610 802B6000 46062200 */ add.s $f8, $f4, $f6
/* 11F614 802B6004 46025102 */ mul.s $f4, $f10, $f2
/* 11F618 802B6008 00000000 */ nop
/* 11F61C 802B600C 46006182 */ mul.s $f6, $f12, $f0
/* 11F620 802B6010 E6080000 */ swc1 $f8, ($s0)
/* 11F624 802B6014 460EA282 */ mul.s $f10, $f20, $f14
/* 11F628 802B6018 46062200 */ add.s $f8, $f4, $f6
/* 11F62C 802B601C 4602A182 */ mul.s $f6, $f20, $f2
/* 11F630 802B6020 E60A0020 */ swc1 $f10, 0x20($s0)
/* 11F634 802B6024 46009287 */ neg.s $f10, $f18
/* 11F638 802B6028 E6080010 */ swc1 $f8, 0x10($s0)
/* 11F63C 802B602C 4600A202 */ mul.s $f8, $f20, $f0
/* 11F640 802B6030 C4440000 */ lwc1 $f4, ($v0)
/* 11F644 802B6034 E60A0024 */ swc1 $f10, 0x24($s0)
/* 11F648 802B6038 46109302 */ mul.s $f12, $f18, $f16
/* 11F64C 802B603C E6060004 */ swc1 $f6, 4($s0)
/* 11F650 802B6040 E6040030 */ swc1 $f4, 0x30($s0)
/* 11F654 802B6044 46007187 */ neg.s $f6, $f14
/* 11F658 802B6048 E6080014 */ swc1 $f8, 0x14($s0)
/* 11F65C 802B604C 46003202 */ mul.s $f8, $f6, $f0
/* 11F660 802B6050 C4440004 */ lwc1 $f4, 4($v0)
/* 11F664 802B6054 46026282 */ mul.s $f10, $f12, $f2
/* 11F668 802B6058 E6040034 */ swc1 $f4, 0x34($s0)
/* 11F66C 802B605C 46027182 */ mul.s $f6, $f14, $f2
/* 11F670 802B6060 460A4100 */ add.s $f4, $f8, $f10
/* 11F674 802B6064 46006202 */ mul.s $f8, $f12, $f0
/* 11F678 802B6068 44800000 */ mtc1 $zero, $f0
/* 11F67C 802B606C E6040008 */ swc1 $f4, 8($s0)
/* 11F680 802B6070 4610A102 */ mul.s $f4, $f20, $f16
/* 11F684 802B6074 46083280 */ add.s $f10, $f6, $f8
/* 11F688 802B6078 44814000 */ mtc1 $at, $f8
/* 11F68C 802B607C E6040028 */ swc1 $f4, 0x28($s0)
/* 11F690 802B6080 E60A0018 */ swc1 $f10, 0x18($s0)
/* 11F694 802B6084 C4460008 */ lwc1 $f6, 8($v0)
/* 11F698 802B6088 E600000C */ swc1 $f0, 0xc($s0)
/* 11F69C 802B608C E600001C */ swc1 $f0, 0x1c($s0)
/* 11F6A0 802B6090 E600002C */ swc1 $f0, 0x2c($s0)
/* 11F6A4 802B6094 E608003C */ swc1 $f8, 0x3c($s0)
/* 11F6A8 802B6098 E6060038 */ swc1 $f6, 0x38($s0)
/* 11F6AC 802B609C 8FBF0024 */ lw $ra, 0x24($sp)
/* 11F6B0 802B60A0 8FB10020 */ lw $s1, 0x20($sp)
/* 11F6B4 802B60A4 8FB0001C */ lw $s0, 0x1c($sp)
/* 11F6B8 802B60A8 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 11F6BC 802B60AC 03E00008 */ jr $ra
/* 11F6C0 802B60B0 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,89 +0,0 @@
glabel func_802B60B4
/* 11F6C4 802B60B4 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 11F6C8 802B60B8 AFB0001C */ sw $s0, 0x1c($sp)
/* 11F6CC 802B60BC 00808025 */ move $s0, $a0
/* 11F6D0 802B60C0 AFBF0024 */ sw $ra, 0x24($sp)
/* 11F6D4 802B60C4 AFB10020 */ sw $s1, 0x20($sp)
/* 11F6D8 802B60C8 F7B40010 */ sdc1 $f20, 0x10($sp)
/* 11F6DC 802B60CC AFA50044 */ sw $a1, 0x44($sp)
/* 11F6E0 802B60D0 00C08825 */ move $s1, $a2
/* 11F6E4 802B60D4 0C0AE006 */ jal sins
/* 11F6E8 802B60D8 94C40000 */ lhu $a0, ($a2)
/* 11F6EC 802B60DC E7A0003C */ swc1 $f0, 0x3c($sp)
/* 11F6F0 802B60E0 0C0AE00E */ jal coss
/* 11F6F4 802B60E4 96240000 */ lhu $a0, ($s1)
/* 11F6F8 802B60E8 46000506 */ mov.s $f20, $f0
/* 11F6FC 802B60EC 0C0AE006 */ jal sins
/* 11F700 802B60F0 96240002 */ lhu $a0, 2($s1)
/* 11F704 802B60F4 96240002 */ lhu $a0, 2($s1)
/* 11F708 802B60F8 0C0AE00E */ jal coss
/* 11F70C 802B60FC E7A00034 */ swc1 $f0, 0x34($sp)
/* 11F710 802B6100 96240004 */ lhu $a0, 4($s1)
/* 11F714 802B6104 0C0AE006 */ jal sins
/* 11F718 802B6108 E7A00030 */ swc1 $f0, 0x30($sp)
/* 11F71C 802B610C 96240004 */ lhu $a0, 4($s1)
/* 11F720 802B6110 0C0AE00E */ jal coss
/* 11F724 802B6114 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 11F728 802B6118 C7AE0034 */ lwc1 $f14, 0x34($sp)
/* 11F72C 802B611C C7B2003C */ lwc1 $f18, 0x3c($sp)
/* 11F730 802B6120 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 11F734 802B6124 C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 11F738 802B6128 460E9302 */ mul.s $f12, $f18, $f14
/* 11F73C 802B612C 46008287 */ neg.s $f10, $f16
/* 11F740 802B6130 8FA20044 */ lw $v0, 0x44($sp)
/* 11F744 802B6134 46008102 */ mul.s $f4, $f16, $f0
/* 11F748 802B6138 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11F74C 802B613C 46026182 */ mul.s $f6, $f12, $f2
/* 11F750 802B6140 46062200 */ add.s $f8, $f4, $f6
/* 11F754 802B6144 46025102 */ mul.s $f4, $f10, $f2
/* 11F758 802B6148 00000000 */ nop
/* 11F75C 802B614C 46006182 */ mul.s $f6, $f12, $f0
/* 11F760 802B6150 E6080000 */ swc1 $f8, ($s0)
/* 11F764 802B6154 460EA282 */ mul.s $f10, $f20, $f14
/* 11F768 802B6158 46062200 */ add.s $f8, $f4, $f6
/* 11F76C 802B615C E60A0008 */ swc1 $f10, 8($s0)
/* 11F770 802B6160 E6080004 */ swc1 $f8, 4($s0)
/* 11F774 802B6164 844E0000 */ lh $t6, ($v0)
/* 11F778 802B6168 4602A202 */ mul.s $f8, $f20, $f2
/* 11F77C 802B616C 448E2000 */ mtc1 $t6, $f4
/* 11F780 802B6170 4600A282 */ mul.s $f10, $f20, $f0
/* 11F784 802B6174 E6080010 */ swc1 $f8, 0x10($s0)
/* 11F788 802B6178 46109302 */ mul.s $f12, $f18, $f16
/* 11F78C 802B617C E60A0014 */ swc1 $f10, 0x14($s0)
/* 11F790 802B6180 46007287 */ neg.s $f10, $f14
/* 11F794 802B6184 468021A0 */ cvt.s.w $f6, $f4
/* 11F798 802B6188 46009107 */ neg.s $f4, $f18
/* 11F79C 802B618C E606000C */ swc1 $f6, 0xc($s0)
/* 11F7A0 802B6190 E6040018 */ swc1 $f4, 0x18($s0)
/* 11F7A4 802B6194 844F0002 */ lh $t7, 2($v0)
/* 11F7A8 802B6198 46005102 */ mul.s $f4, $f10, $f0
/* 11F7AC 802B619C 448F3000 */ mtc1 $t7, $f6
/* 11F7B0 802B61A0 00000000 */ nop
/* 11F7B4 802B61A4 46803220 */ cvt.s.w $f8, $f6
/* 11F7B8 802B61A8 46026182 */ mul.s $f6, $f12, $f2
/* 11F7BC 802B61AC 00000000 */ nop
/* 11F7C0 802B61B0 46027282 */ mul.s $f10, $f14, $f2
/* 11F7C4 802B61B4 E608001C */ swc1 $f8, 0x1c($s0)
/* 11F7C8 802B61B8 46062200 */ add.s $f8, $f4, $f6
/* 11F7CC 802B61BC 46006102 */ mul.s $f4, $f12, $f0
/* 11F7D0 802B61C0 44800000 */ mtc1 $zero, $f0
/* 11F7D4 802B61C4 E6080020 */ swc1 $f8, 0x20($s0)
/* 11F7D8 802B61C8 4610A202 */ mul.s $f8, $f20, $f16
/* 11F7DC 802B61CC 46045180 */ add.s $f6, $f10, $f4
/* 11F7E0 802B61D0 E6080028 */ swc1 $f8, 0x28($s0)
/* 11F7E4 802B61D4 E6060024 */ swc1 $f6, 0x24($s0)
/* 11F7E8 802B61D8 84580004 */ lh $t8, 4($v0)
/* 11F7EC 802B61DC 44813000 */ mtc1 $at, $f6
/* 11F7F0 802B61E0 E6000030 */ swc1 $f0, 0x30($s0)
/* 11F7F4 802B61E4 44985000 */ mtc1 $t8, $f10
/* 11F7F8 802B61E8 E6000034 */ swc1 $f0, 0x34($s0)
/* 11F7FC 802B61EC E6000038 */ swc1 $f0, 0x38($s0)
/* 11F800 802B61F0 46805120 */ cvt.s.w $f4, $f10
/* 11F804 802B61F4 E606003C */ swc1 $f6, 0x3c($s0)
/* 11F808 802B61F8 E604002C */ swc1 $f4, 0x2c($s0)
/* 11F80C 802B61FC 8FBF0024 */ lw $ra, 0x24($sp)
/* 11F810 802B6200 8FB10020 */ lw $s1, 0x20($sp)
/* 11F814 802B6204 8FB0001C */ lw $s0, 0x1c($sp)
/* 11F818 802B6208 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 11F81C 802B620C 03E00008 */ jr $ra
/* 11F820 802B6210 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,89 +0,0 @@
glabel func_802B6214
/* 11F824 802B6214 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 11F828 802B6218 AFB0001C */ sw $s0, 0x1c($sp)
/* 11F82C 802B621C 00808025 */ move $s0, $a0
/* 11F830 802B6220 AFBF0024 */ sw $ra, 0x24($sp)
/* 11F834 802B6224 AFB10020 */ sw $s1, 0x20($sp)
/* 11F838 802B6228 F7B40010 */ sdc1 $f20, 0x10($sp)
/* 11F83C 802B622C AFA50044 */ sw $a1, 0x44($sp)
/* 11F840 802B6230 00C08825 */ move $s1, $a2
/* 11F844 802B6234 0C0AE006 */ jal sins
/* 11F848 802B6238 94C40000 */ lhu $a0, ($a2)
/* 11F84C 802B623C E7A0003C */ swc1 $f0, 0x3c($sp)
/* 11F850 802B6240 0C0AE00E */ jal coss
/* 11F854 802B6244 96240000 */ lhu $a0, ($s1)
/* 11F858 802B6248 46000506 */ mov.s $f20, $f0
/* 11F85C 802B624C 0C0AE006 */ jal sins
/* 11F860 802B6250 96240002 */ lhu $a0, 2($s1)
/* 11F864 802B6254 96240002 */ lhu $a0, 2($s1)
/* 11F868 802B6258 0C0AE00E */ jal coss
/* 11F86C 802B625C E7A00034 */ swc1 $f0, 0x34($sp)
/* 11F870 802B6260 96240004 */ lhu $a0, 4($s1)
/* 11F874 802B6264 0C0AE006 */ jal sins
/* 11F878 802B6268 E7A00030 */ swc1 $f0, 0x30($sp)
/* 11F87C 802B626C 96240004 */ lhu $a0, 4($s1)
/* 11F880 802B6270 0C0AE00E */ jal coss
/* 11F884 802B6274 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 11F888 802B6278 C7AE0034 */ lwc1 $f14, 0x34($sp)
/* 11F88C 802B627C C7B2003C */ lwc1 $f18, 0x3c($sp)
/* 11F890 802B6280 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 11F894 802B6284 C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 11F898 802B6288 460E9302 */ mul.s $f12, $f18, $f14
/* 11F89C 802B628C 46008287 */ neg.s $f10, $f16
/* 11F8A0 802B6290 8FA20044 */ lw $v0, 0x44($sp)
/* 11F8A4 802B6294 46008102 */ mul.s $f4, $f16, $f0
/* 11F8A8 802B6298 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11F8AC 802B629C 46026182 */ mul.s $f6, $f12, $f2
/* 11F8B0 802B62A0 46062200 */ add.s $f8, $f4, $f6
/* 11F8B4 802B62A4 46025102 */ mul.s $f4, $f10, $f2
/* 11F8B8 802B62A8 00000000 */ nop
/* 11F8BC 802B62AC 46006182 */ mul.s $f6, $f12, $f0
/* 11F8C0 802B62B0 E6080000 */ swc1 $f8, ($s0)
/* 11F8C4 802B62B4 460EA282 */ mul.s $f10, $f20, $f14
/* 11F8C8 802B62B8 46062200 */ add.s $f8, $f4, $f6
/* 11F8CC 802B62BC E60A0020 */ swc1 $f10, 0x20($s0)
/* 11F8D0 802B62C0 E6080010 */ swc1 $f8, 0x10($s0)
/* 11F8D4 802B62C4 844E0000 */ lh $t6, ($v0)
/* 11F8D8 802B62C8 4602A202 */ mul.s $f8, $f20, $f2
/* 11F8DC 802B62CC 448E2000 */ mtc1 $t6, $f4
/* 11F8E0 802B62D0 4600A282 */ mul.s $f10, $f20, $f0
/* 11F8E4 802B62D4 E6080004 */ swc1 $f8, 4($s0)
/* 11F8E8 802B62D8 46109302 */ mul.s $f12, $f18, $f16
/* 11F8EC 802B62DC E60A0014 */ swc1 $f10, 0x14($s0)
/* 11F8F0 802B62E0 46007287 */ neg.s $f10, $f14
/* 11F8F4 802B62E4 468021A0 */ cvt.s.w $f6, $f4
/* 11F8F8 802B62E8 46009107 */ neg.s $f4, $f18
/* 11F8FC 802B62EC E6060030 */ swc1 $f6, 0x30($s0)
/* 11F900 802B62F0 E6040024 */ swc1 $f4, 0x24($s0)
/* 11F904 802B62F4 844F0002 */ lh $t7, 2($v0)
/* 11F908 802B62F8 46005102 */ mul.s $f4, $f10, $f0
/* 11F90C 802B62FC 448F3000 */ mtc1 $t7, $f6
/* 11F910 802B6300 00000000 */ nop
/* 11F914 802B6304 46803220 */ cvt.s.w $f8, $f6
/* 11F918 802B6308 46026182 */ mul.s $f6, $f12, $f2
/* 11F91C 802B630C 00000000 */ nop
/* 11F920 802B6310 46027282 */ mul.s $f10, $f14, $f2
/* 11F924 802B6314 E6080034 */ swc1 $f8, 0x34($s0)
/* 11F928 802B6318 46062200 */ add.s $f8, $f4, $f6
/* 11F92C 802B631C 46006102 */ mul.s $f4, $f12, $f0
/* 11F930 802B6320 44800000 */ mtc1 $zero, $f0
/* 11F934 802B6324 E6080008 */ swc1 $f8, 8($s0)
/* 11F938 802B6328 4610A202 */ mul.s $f8, $f20, $f16
/* 11F93C 802B632C 46045180 */ add.s $f6, $f10, $f4
/* 11F940 802B6330 E6080028 */ swc1 $f8, 0x28($s0)
/* 11F944 802B6334 E6060018 */ swc1 $f6, 0x18($s0)
/* 11F948 802B6338 84580004 */ lh $t8, 4($v0)
/* 11F94C 802B633C 44813000 */ mtc1 $at, $f6
/* 11F950 802B6340 E600000C */ swc1 $f0, 0xc($s0)
/* 11F954 802B6344 44985000 */ mtc1 $t8, $f10
/* 11F958 802B6348 E600001C */ swc1 $f0, 0x1c($s0)
/* 11F95C 802B634C E600002C */ swc1 $f0, 0x2c($s0)
/* 11F960 802B6350 46805120 */ cvt.s.w $f4, $f10
/* 11F964 802B6354 E606003C */ swc1 $f6, 0x3c($s0)
/* 11F968 802B6358 E6040038 */ swc1 $f4, 0x38($s0)
/* 11F96C 802B635C 8FBF0024 */ lw $ra, 0x24($sp)
/* 11F970 802B6360 8FB10020 */ lw $s1, 0x20($sp)
/* 11F974 802B6364 8FB0001C */ lw $s0, 0x1c($sp)
/* 11F978 802B6368 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 11F97C 802B636C 03E00008 */ jr $ra
/* 11F980 802B6370 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,105 +0,0 @@
glabel func_802B6BC0
/* 1201D0 802B6BC0 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 1201D4 802B6BC4 44867000 */ mtc1 $a2, $f14
/* 1201D8 802B6BC8 00803025 */ move $a2, $a0
/* 1201DC 802B6BCC AFA40040 */ sw $a0, 0x40($sp)
/* 1201E0 802B6BD0 AFBF001C */ sw $ra, 0x1c($sp)
/* 1201E4 802B6BD4 30A4FFFF */ andi $a0, $a1, 0xffff
/* 1201E8 802B6BD8 F7B40010 */ sdc1 $f20, 0x10($sp)
/* 1201EC 802B6BDC AFA50044 */ sw $a1, 0x44($sp)
/* 1201F0 802B6BE0 AFA7004C */ sw $a3, 0x4c($sp)
/* 1201F4 802B6BE4 AFA4002C */ sw $a0, 0x2c($sp)
/* 1201F8 802B6BE8 AFA60040 */ sw $a2, 0x40($sp)
/* 1201FC 802B6BEC 0C0AE006 */ jal sins
/* 120200 802B6BF0 E7AE0048 */ swc1 $f14, 0x48($sp)
/* 120204 802B6BF4 8FA4002C */ lw $a0, 0x2c($sp)
/* 120208 802B6BF8 0C0AE00E */ jal coss
/* 12020C 802B6BFC E7A0003C */ swc1 $f0, 0x3c($sp)
/* 120210 802B6C00 C7AE0048 */ lwc1 $f14, 0x48($sp)
/* 120214 802B6C04 C7B40050 */ lwc1 $f20, 0x50($sp)
/* 120218 802B6C08 46000486 */ mov.s $f18, $f0
/* 12021C 802B6C0C 460E7102 */ mul.s $f4, $f14, $f14
/* 120220 802B6C10 44801000 */ mtc1 $zero, $f2
/* 120224 802B6C14 8FA60040 */ lw $a2, 0x40($sp)
/* 120228 802B6C18 4614A182 */ mul.s $f6, $f20, $f20
/* 12022C 802B6C1C C7B0003C */ lwc1 $f16, 0x3c($sp)
/* 120230 802B6C20 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 120234 802B6C24 46062000 */ add.s $f0, $f4, $f6
/* 120238 802B6C28 46000004 */ sqrt.s $f0, $f0
/* 12023C 802B6C2C 46020032 */ c.eq.s $f0, $f2
/* 120240 802B6C30 00000000 */ nop
/* 120244 802B6C34 45030039 */ bc1tl .L802B6D1C
/* 120248 802B6C38 44810000 */ mtc1 $at, $f0
/* 12024C 802B6C3C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 120250 802B6C40 44814000 */ mtc1 $at, $f8
/* 120254 802B6C44 C7A4004C */ lwc1 $f4, 0x4c($sp)
/* 120258 802B6C48 4600A287 */ neg.s $f10, $f20
/* 12025C 802B6C4C 46004303 */ div.s $f12, $f8, $f0
/* 120260 802B6C50 E7AA002C */ swc1 $f10, 0x2c($sp)
/* 120264 802B6C54 C7A8002C */ lwc1 $f8, 0x2c($sp)
/* 120268 802B6C58 46048182 */ mul.s $f6, $f16, $f4
/* 12026C 802B6C5C E7A60028 */ swc1 $f6, 0x28($sp)
/* 120270 802B6C60 C7A40028 */ lwc1 $f4, 0x28($sp)
/* 120274 802B6C64 46124282 */ mul.s $f10, $f8, $f18
/* 120278 802B6C68 E7AC0030 */ swc1 $f12, 0x30($sp)
/* 12027C 802B6C6C 460E2182 */ mul.s $f6, $f4, $f14
/* 120280 802B6C70 46065201 */ sub.s $f8, $f10, $f6
/* 120284 802B6C74 460C4102 */ mul.s $f4, $f8, $f12
/* 120288 802B6C78 E4C40000 */ swc1 $f4, ($a2)
/* 12028C 802B6C7C C7AA004C */ lwc1 $f10, 0x4c($sp)
/* 120290 802B6C80 460A9182 */ mul.s $f6, $f18, $f10
/* 120294 802B6C84 E7A60024 */ swc1 $f6, 0x24($sp)
/* 120298 802B6C88 4610A202 */ mul.s $f8, $f20, $f16
/* 12029C 802B6C8C C7A40024 */ lwc1 $f4, 0x24($sp)
/* 1202A0 802B6C90 460E2282 */ mul.s $f10, $f4, $f14
/* 1202A4 802B6C94 460A4181 */ sub.s $f6, $f8, $f10
/* 1202A8 802B6C98 46007207 */ neg.s $f8, $f14
/* 1202AC 802B6C9C 460C3102 */ mul.s $f4, $f6, $f12
/* 1202B0 802B6CA0 E4C80018 */ swc1 $f8, 0x18($a2)
/* 1202B4 802B6CA4 46008282 */ mul.s $f10, $f16, $f0
/* 1202B8 802B6CA8 00000000 */ nop
/* 1202BC 802B6CAC 46009182 */ mul.s $f6, $f18, $f0
/* 1202C0 802B6CB0 E4C4000C */ swc1 $f4, 0xc($a2)
/* 1202C4 802B6CB4 E4CA0004 */ swc1 $f10, 4($a2)
/* 1202C8 802B6CB8 460E9282 */ mul.s $f10, $f18, $f14
/* 1202CC 802B6CBC E4C60010 */ swc1 $f6, 0x10($a2)
/* 1202D0 802B6CC0 C7A4004C */ lwc1 $f4, 0x4c($sp)
/* 1202D4 802B6CC4 C7A00030 */ lwc1 $f0, 0x30($sp)
/* 1202D8 802B6CC8 46002207 */ neg.s $f8, $f4
/* 1202DC 802B6CCC E4C8001C */ swc1 $f8, 0x1c($a2)
/* 1202E0 802B6CD0 C7A60028 */ lwc1 $f6, 0x28($sp)
/* 1202E4 802B6CD4 46143102 */ mul.s $f4, $f6, $f20
/* 1202E8 802B6CD8 46045201 */ sub.s $f8, $f10, $f4
/* 1202EC 802B6CDC 46008287 */ neg.s $f10, $f16
/* 1202F0 802B6CE0 46004182 */ mul.s $f6, $f8, $f0
/* 1202F4 802B6CE4 E4C60008 */ swc1 $f6, 8($a2)
/* 1202F8 802B6CE8 460E5102 */ mul.s $f4, $f10, $f14
/* 1202FC 802B6CEC C7A80024 */ lwc1 $f8, 0x24($sp)
/* 120300 802B6CF0 46144182 */ mul.s $f6, $f8, $f20
/* 120304 802B6CF4 46062281 */ sub.s $f10, $f4, $f6
/* 120308 802B6CF8 46005202 */ mul.s $f8, $f10, $f0
/* 12030C 802B6CFC E4C80014 */ swc1 $f8, 0x14($a2)
/* 120310 802B6D00 C7A4002C */ lwc1 $f4, 0x2c($sp)
/* 120314 802B6D04 E4C2000C */ swc1 $f2, 0xc($a2)
/* 120318 802B6D08 E4C20018 */ swc1 $f2, 0x18($a2)
/* 12031C 802B6D0C E4C20024 */ swc1 $f2, 0x24($a2)
/* 120320 802B6D10 1000000C */ b .L802B6D44
/* 120324 802B6D14 E4C40020 */ swc1 $f4, 0x20($a2)
/* 120328 802B6D18 44810000 */ mtc1 $at, $f0
.L802B6D1C:
/* 12032C 802B6D1C E4C20004 */ swc1 $f2, 4($a2)
/* 120330 802B6D20 E4C2001C */ swc1 $f2, 0x1c($a2)
/* 120334 802B6D24 E4C20008 */ swc1 $f2, 8($a2)
/* 120338 802B6D28 E4C20014 */ swc1 $f2, 0x14($a2)
/* 12033C 802B6D2C E4C2000C */ swc1 $f2, 0xc($a2)
/* 120340 802B6D30 E4C20018 */ swc1 $f2, 0x18($a2)
/* 120344 802B6D34 E4C20024 */ swc1 $f2, 0x24($a2)
/* 120348 802B6D38 E4C00000 */ swc1 $f0, ($a2)
/* 12034C 802B6D3C E4C00010 */ swc1 $f0, 0x10($a2)
/* 120350 802B6D40 E4C00020 */ swc1 $f0, 0x20($a2)
.L802B6D44:
/* 120354 802B6D44 8FBF001C */ lw $ra, 0x1c($sp)
/* 120358 802B6D48 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 12035C 802B6D4C 27BD0040 */ addiu $sp, $sp, 0x40
/* 120360 802B6D50 03E00008 */ jr $ra
/* 120364 802B6D54 00000000 */ nop

View File

@ -1,304 +0,0 @@
glabel func_802B6D58
/* 120368 802B6D58 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 12036C 802B6D5C AFB0001C */ sw $s0, 0x1c($sp)
/* 120370 802B6D60 00808025 */ move $s0, $a0
/* 120374 802B6D64 AFBF0024 */ sw $ra, 0x24($sp)
/* 120378 802B6D68 AFB10020 */ sw $s1, 0x20($sp)
/* 12037C 802B6D6C F7B40010 */ sdc1 $f20, 0x10($sp)
/* 120380 802B6D70 AFA50044 */ sw $a1, 0x44($sp)
/* 120384 802B6D74 24040001 */ li $a0, 1
/* 120388 802B6D78 444EF800 */ cfc1 $t6, $31
/* 12038C 802B6D7C 44C4F800 */ ctc1 $a0, $31
/* 120390 802B6D80 C4C40000 */ lwc1 $f4, ($a2)
/* 120394 802B6D84 00C08825 */ move $s1, $a2
/* 120398 802B6D88 460021A4 */ cvt.w.s $f6, $f4
/* 12039C 802B6D8C 4444F800 */ cfc1 $a0, $31
/* 1203A0 802B6D90 00000000 */ nop
/* 1203A4 802B6D94 30840078 */ andi $a0, $a0, 0x78
/* 1203A8 802B6D98 10800012 */ beqz $a0, .L802B6DE4
/* 1203AC 802B6D9C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 1203B0 802B6DA0 44813000 */ mtc1 $at, $f6
/* 1203B4 802B6DA4 24040001 */ li $a0, 1
/* 1203B8 802B6DA8 46062181 */ sub.s $f6, $f4, $f6
/* 1203BC 802B6DAC 44C4F800 */ ctc1 $a0, $31
/* 1203C0 802B6DB0 00000000 */ nop
/* 1203C4 802B6DB4 460031A4 */ cvt.w.s $f6, $f6
/* 1203C8 802B6DB8 4444F800 */ cfc1 $a0, $31
/* 1203CC 802B6DBC 00000000 */ nop
/* 1203D0 802B6DC0 30840078 */ andi $a0, $a0, 0x78
/* 1203D4 802B6DC4 14800005 */ bnez $a0, .L802B6DDC
/* 1203D8 802B6DC8 00000000 */ nop
/* 1203DC 802B6DCC 44043000 */ mfc1 $a0, $f6
/* 1203E0 802B6DD0 3C018000 */ lui $at, 0x8000
/* 1203E4 802B6DD4 10000007 */ b .L802B6DF4
/* 1203E8 802B6DD8 00812025 */ or $a0, $a0, $at
.L802B6DDC:
/* 1203EC 802B6DDC 10000005 */ b .L802B6DF4
/* 1203F0 802B6DE0 2404FFFF */ li $a0, -1
.L802B6DE4:
/* 1203F4 802B6DE4 44043000 */ mfc1 $a0, $f6
/* 1203F8 802B6DE8 00000000 */ nop
/* 1203FC 802B6DEC 0480FFFB */ bltz $a0, .L802B6DDC
/* 120400 802B6DF0 00000000 */ nop
.L802B6DF4:
/* 120404 802B6DF4 44CEF800 */ ctc1 $t6, $31
/* 120408 802B6DF8 308FFFFF */ andi $t7, $a0, 0xffff
/* 12040C 802B6DFC 0C0AE006 */ jal sins
/* 120410 802B6E00 01E02025 */ move $a0, $t7
/* 120414 802B6E04 E7A0003C */ swc1 $f0, 0x3c($sp)
/* 120418 802B6E08 4458F800 */ cfc1 $t8, $31
/* 12041C 802B6E0C 24040001 */ li $a0, 1
/* 120420 802B6E10 44C4F800 */ ctc1 $a0, $31
/* 120424 802B6E14 C6280000 */ lwc1 $f8, ($s1)
/* 120428 802B6E18 460042A4 */ cvt.w.s $f10, $f8
/* 12042C 802B6E1C 4444F800 */ cfc1 $a0, $31
/* 120430 802B6E20 00000000 */ nop
/* 120434 802B6E24 30840078 */ andi $a0, $a0, 0x78
/* 120438 802B6E28 10800012 */ beqz $a0, .L802B6E74
/* 12043C 802B6E2C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 120440 802B6E30 44815000 */ mtc1 $at, $f10
/* 120444 802B6E34 24040001 */ li $a0, 1
/* 120448 802B6E38 460A4281 */ sub.s $f10, $f8, $f10
/* 12044C 802B6E3C 44C4F800 */ ctc1 $a0, $31
/* 120450 802B6E40 00000000 */ nop
/* 120454 802B6E44 460052A4 */ cvt.w.s $f10, $f10
/* 120458 802B6E48 4444F800 */ cfc1 $a0, $31
/* 12045C 802B6E4C 00000000 */ nop
/* 120460 802B6E50 30840078 */ andi $a0, $a0, 0x78
/* 120464 802B6E54 14800005 */ bnez $a0, .L802B6E6C
/* 120468 802B6E58 00000000 */ nop
/* 12046C 802B6E5C 44045000 */ mfc1 $a0, $f10
/* 120470 802B6E60 3C018000 */ lui $at, 0x8000
/* 120474 802B6E64 10000007 */ b .L802B6E84
/* 120478 802B6E68 00812025 */ or $a0, $a0, $at
.L802B6E6C:
/* 12047C 802B6E6C 10000005 */ b .L802B6E84
/* 120480 802B6E70 2404FFFF */ li $a0, -1
.L802B6E74:
/* 120484 802B6E74 44045000 */ mfc1 $a0, $f10
/* 120488 802B6E78 00000000 */ nop
/* 12048C 802B6E7C 0480FFFB */ bltz $a0, .L802B6E6C
/* 120490 802B6E80 00000000 */ nop
.L802B6E84:
/* 120494 802B6E84 44D8F800 */ ctc1 $t8, $31
/* 120498 802B6E88 3099FFFF */ andi $t9, $a0, 0xffff
/* 12049C 802B6E8C 0C0AE00E */ jal coss
/* 1204A0 802B6E90 03202025 */ move $a0, $t9
/* 1204A4 802B6E94 46000506 */ mov.s $f20, $f0
/* 1204A8 802B6E98 4448F800 */ cfc1 $t0, $31
/* 1204AC 802B6E9C 24040001 */ li $a0, 1
/* 1204B0 802B6EA0 44C4F800 */ ctc1 $a0, $31
/* 1204B4 802B6EA4 C6240004 */ lwc1 $f4, 4($s1)
/* 1204B8 802B6EA8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 1204BC 802B6EAC 460021A4 */ cvt.w.s $f6, $f4
/* 1204C0 802B6EB0 4444F800 */ cfc1 $a0, $31
/* 1204C4 802B6EB4 00000000 */ nop
/* 1204C8 802B6EB8 30840078 */ andi $a0, $a0, 0x78
/* 1204CC 802B6EBC 50800013 */ beql $a0, $zero, .L802B6F0C
/* 1204D0 802B6EC0 44043000 */ mfc1 $a0, $f6
/* 1204D4 802B6EC4 44813000 */ mtc1 $at, $f6
/* 1204D8 802B6EC8 24040001 */ li $a0, 1
/* 1204DC 802B6ECC 46062181 */ sub.s $f6, $f4, $f6
/* 1204E0 802B6ED0 44C4F800 */ ctc1 $a0, $31
/* 1204E4 802B6ED4 00000000 */ nop
/* 1204E8 802B6ED8 460031A4 */ cvt.w.s $f6, $f6
/* 1204EC 802B6EDC 4444F800 */ cfc1 $a0, $31
/* 1204F0 802B6EE0 00000000 */ nop
/* 1204F4 802B6EE4 30840078 */ andi $a0, $a0, 0x78
/* 1204F8 802B6EE8 14800005 */ bnez $a0, .L802B6F00
/* 1204FC 802B6EEC 00000000 */ nop
/* 120500 802B6EF0 44043000 */ mfc1 $a0, $f6
/* 120504 802B6EF4 3C018000 */ lui $at, 0x8000
/* 120508 802B6EF8 10000007 */ b .L802B6F18
/* 12050C 802B6EFC 00812025 */ or $a0, $a0, $at
.L802B6F00:
/* 120510 802B6F00 10000005 */ b .L802B6F18
/* 120514 802B6F04 2404FFFF */ li $a0, -1
/* 120518 802B6F08 44043000 */ mfc1 $a0, $f6
.L802B6F0C:
/* 12051C 802B6F0C 00000000 */ nop
/* 120520 802B6F10 0480FFFB */ bltz $a0, .L802B6F00
/* 120524 802B6F14 00000000 */ nop
.L802B6F18:
/* 120528 802B6F18 44C8F800 */ ctc1 $t0, $31
/* 12052C 802B6F1C 3089FFFF */ andi $t1, $a0, 0xffff
/* 120530 802B6F20 0C0AE006 */ jal sins
/* 120534 802B6F24 01202025 */ move $a0, $t1
/* 120538 802B6F28 46000386 */ mov.s $f14, $f0
/* 12053C 802B6F2C 444AF800 */ cfc1 $t2, $31
/* 120540 802B6F30 24040001 */ li $a0, 1
/* 120544 802B6F34 44C4F800 */ ctc1 $a0, $31
/* 120548 802B6F38 C6280004 */ lwc1 $f8, 4($s1)
/* 12054C 802B6F3C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 120550 802B6F40 460042A4 */ cvt.w.s $f10, $f8
/* 120554 802B6F44 4444F800 */ cfc1 $a0, $31
/* 120558 802B6F48 00000000 */ nop
/* 12055C 802B6F4C 30840078 */ andi $a0, $a0, 0x78
/* 120560 802B6F50 50800013 */ beql $a0, $zero, .L802B6FA0
/* 120564 802B6F54 44045000 */ mfc1 $a0, $f10
/* 120568 802B6F58 44815000 */ mtc1 $at, $f10
/* 12056C 802B6F5C 24040001 */ li $a0, 1
/* 120570 802B6F60 460A4281 */ sub.s $f10, $f8, $f10
/* 120574 802B6F64 44C4F800 */ ctc1 $a0, $31
/* 120578 802B6F68 00000000 */ nop
/* 12057C 802B6F6C 460052A4 */ cvt.w.s $f10, $f10
/* 120580 802B6F70 4444F800 */ cfc1 $a0, $31
/* 120584 802B6F74 00000000 */ nop
/* 120588 802B6F78 30840078 */ andi $a0, $a0, 0x78
/* 12058C 802B6F7C 14800005 */ bnez $a0, .L802B6F94
/* 120590 802B6F80 00000000 */ nop
/* 120594 802B6F84 44045000 */ mfc1 $a0, $f10
/* 120598 802B6F88 3C018000 */ lui $at, 0x8000
/* 12059C 802B6F8C 10000007 */ b .L802B6FAC
/* 1205A0 802B6F90 00812025 */ or $a0, $a0, $at
.L802B6F94:
/* 1205A4 802B6F94 10000005 */ b .L802B6FAC
/* 1205A8 802B6F98 2404FFFF */ li $a0, -1
/* 1205AC 802B6F9C 44045000 */ mfc1 $a0, $f10
.L802B6FA0:
/* 1205B0 802B6FA0 00000000 */ nop
/* 1205B4 802B6FA4 0480FFFB */ bltz $a0, .L802B6F94
/* 1205B8 802B6FA8 00000000 */ nop
.L802B6FAC:
/* 1205BC 802B6FAC 44CAF800 */ ctc1 $t2, $31
/* 1205C0 802B6FB0 308BFFFF */ andi $t3, $a0, 0xffff
/* 1205C4 802B6FB4 01602025 */ move $a0, $t3
/* 1205C8 802B6FB8 0C0AE00E */ jal coss
/* 1205CC 802B6FBC E7AE0034 */ swc1 $f14, 0x34($sp)
/* 1205D0 802B6FC0 46000406 */ mov.s $f16, $f0
/* 1205D4 802B6FC4 444CF800 */ cfc1 $t4, $31
/* 1205D8 802B6FC8 24040001 */ li $a0, 1
/* 1205DC 802B6FCC 44C4F800 */ ctc1 $a0, $31
/* 1205E0 802B6FD0 C6240008 */ lwc1 $f4, 8($s1)
/* 1205E4 802B6FD4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 1205E8 802B6FD8 460021A4 */ cvt.w.s $f6, $f4
/* 1205EC 802B6FDC 4444F800 */ cfc1 $a0, $31
/* 1205F0 802B6FE0 00000000 */ nop
/* 1205F4 802B6FE4 30840078 */ andi $a0, $a0, 0x78
/* 1205F8 802B6FE8 50800013 */ beql $a0, $zero, .L802B7038
/* 1205FC 802B6FEC 44043000 */ mfc1 $a0, $f6
/* 120600 802B6FF0 44813000 */ mtc1 $at, $f6
/* 120604 802B6FF4 24040001 */ li $a0, 1
/* 120608 802B6FF8 46062181 */ sub.s $f6, $f4, $f6
/* 12060C 802B6FFC 44C4F800 */ ctc1 $a0, $31
/* 120610 802B7000 00000000 */ nop
/* 120614 802B7004 460031A4 */ cvt.w.s $f6, $f6
/* 120618 802B7008 4444F800 */ cfc1 $a0, $31
/* 12061C 802B700C 00000000 */ nop
/* 120620 802B7010 30840078 */ andi $a0, $a0, 0x78
/* 120624 802B7014 14800005 */ bnez $a0, .L802B702C
/* 120628 802B7018 00000000 */ nop
/* 12062C 802B701C 44043000 */ mfc1 $a0, $f6
/* 120630 802B7020 3C018000 */ lui $at, 0x8000
/* 120634 802B7024 10000007 */ b .L802B7044
/* 120638 802B7028 00812025 */ or $a0, $a0, $at
.L802B702C:
/* 12063C 802B702C 10000005 */ b .L802B7044
/* 120640 802B7030 2404FFFF */ li $a0, -1
/* 120644 802B7034 44043000 */ mfc1 $a0, $f6
.L802B7038:
/* 120648 802B7038 00000000 */ nop
/* 12064C 802B703C 0480FFFB */ bltz $a0, .L802B702C
/* 120650 802B7040 00000000 */ nop
.L802B7044:
/* 120654 802B7044 44CCF800 */ ctc1 $t4, $31
/* 120658 802B7048 308DFFFF */ andi $t5, $a0, 0xffff
/* 12065C 802B704C 01A02025 */ move $a0, $t5
/* 120660 802B7050 0C0AE006 */ jal sins
/* 120664 802B7054 E7B00030 */ swc1 $f16, 0x30($sp)
/* 120668 802B7058 46000086 */ mov.s $f2, $f0
/* 12066C 802B705C 444EF800 */ cfc1 $t6, $31
/* 120670 802B7060 24040001 */ li $a0, 1
/* 120674 802B7064 44C4F800 */ ctc1 $a0, $31
/* 120678 802B7068 C6280008 */ lwc1 $f8, 8($s1)
/* 12067C 802B706C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 120680 802B7070 460042A4 */ cvt.w.s $f10, $f8
/* 120684 802B7074 4444F800 */ cfc1 $a0, $31
/* 120688 802B7078 00000000 */ nop
/* 12068C 802B707C 30840078 */ andi $a0, $a0, 0x78
/* 120690 802B7080 50800013 */ beql $a0, $zero, .L802B70D0
/* 120694 802B7084 44045000 */ mfc1 $a0, $f10
/* 120698 802B7088 44815000 */ mtc1 $at, $f10
/* 12069C 802B708C 24040001 */ li $a0, 1
/* 1206A0 802B7090 460A4281 */ sub.s $f10, $f8, $f10
/* 1206A4 802B7094 44C4F800 */ ctc1 $a0, $31
/* 1206A8 802B7098 00000000 */ nop
/* 1206AC 802B709C 460052A4 */ cvt.w.s $f10, $f10
/* 1206B0 802B70A0 4444F800 */ cfc1 $a0, $31
/* 1206B4 802B70A4 00000000 */ nop
/* 1206B8 802B70A8 30840078 */ andi $a0, $a0, 0x78
/* 1206BC 802B70AC 14800005 */ bnez $a0, .L802B70C4
/* 1206C0 802B70B0 00000000 */ nop
/* 1206C4 802B70B4 44045000 */ mfc1 $a0, $f10
/* 1206C8 802B70B8 3C018000 */ lui $at, 0x8000
/* 1206CC 802B70BC 10000007 */ b .L802B70DC
/* 1206D0 802B70C0 00812025 */ or $a0, $a0, $at
.L802B70C4:
/* 1206D4 802B70C4 10000005 */ b .L802B70DC
/* 1206D8 802B70C8 2404FFFF */ li $a0, -1
/* 1206DC 802B70CC 44045000 */ mfc1 $a0, $f10
.L802B70D0:
/* 1206E0 802B70D0 00000000 */ nop
/* 1206E4 802B70D4 0480FFFB */ bltz $a0, .L802B70C4
/* 1206E8 802B70D8 00000000 */ nop
.L802B70DC:
/* 1206EC 802B70DC 44CEF800 */ ctc1 $t6, $31
/* 1206F0 802B70E0 308FFFFF */ andi $t7, $a0, 0xffff
/* 1206F4 802B70E4 01E02025 */ move $a0, $t7
/* 1206F8 802B70E8 0C0AE00E */ jal coss
/* 1206FC 802B70EC E7A2002C */ swc1 $f2, 0x2c($sp)
/* 120700 802B70F0 C7AE0034 */ lwc1 $f14, 0x34($sp)
/* 120704 802B70F4 C7B2003C */ lwc1 $f18, 0x3c($sp)
/* 120708 802B70F8 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 12070C 802B70FC C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 120710 802B7100 460E9302 */ mul.s $f12, $f18, $f14
/* 120714 802B7104 46008287 */ neg.s $f10, $f16
/* 120718 802B7108 8FA20044 */ lw $v0, 0x44($sp)
/* 12071C 802B710C 46008102 */ mul.s $f4, $f16, $f0
/* 120720 802B7110 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 120724 802B7114 46026182 */ mul.s $f6, $f12, $f2
/* 120728 802B7118 46062200 */ add.s $f8, $f4, $f6
/* 12072C 802B711C 46025102 */ mul.s $f4, $f10, $f2
/* 120730 802B7120 00000000 */ nop
/* 120734 802B7124 46006182 */ mul.s $f6, $f12, $f0
/* 120738 802B7128 E6080000 */ swc1 $f8, ($s0)
/* 12073C 802B712C 460EA282 */ mul.s $f10, $f20, $f14
/* 120740 802B7130 46062200 */ add.s $f8, $f4, $f6
/* 120744 802B7134 4602A182 */ mul.s $f6, $f20, $f2
/* 120748 802B7138 E60A0020 */ swc1 $f10, 0x20($s0)
/* 12074C 802B713C 46009287 */ neg.s $f10, $f18
/* 120750 802B7140 E6080010 */ swc1 $f8, 0x10($s0)
/* 120754 802B7144 4600A202 */ mul.s $f8, $f20, $f0
/* 120758 802B7148 C4440000 */ lwc1 $f4, ($v0)
/* 12075C 802B714C E60A0024 */ swc1 $f10, 0x24($s0)
/* 120760 802B7150 46109302 */ mul.s $f12, $f18, $f16
/* 120764 802B7154 E6060004 */ swc1 $f6, 4($s0)
/* 120768 802B7158 E6040030 */ swc1 $f4, 0x30($s0)
/* 12076C 802B715C 46007187 */ neg.s $f6, $f14
/* 120770 802B7160 E6080014 */ swc1 $f8, 0x14($s0)
/* 120774 802B7164 46003202 */ mul.s $f8, $f6, $f0
/* 120778 802B7168 C4440004 */ lwc1 $f4, 4($v0)
/* 12077C 802B716C 46026282 */ mul.s $f10, $f12, $f2
/* 120780 802B7170 E6040034 */ swc1 $f4, 0x34($s0)
/* 120784 802B7174 46027182 */ mul.s $f6, $f14, $f2
/* 120788 802B7178 460A4100 */ add.s $f4, $f8, $f10
/* 12078C 802B717C 46006202 */ mul.s $f8, $f12, $f0
/* 120790 802B7180 44800000 */ mtc1 $zero, $f0
/* 120794 802B7184 E6040008 */ swc1 $f4, 8($s0)
/* 120798 802B7188 4610A102 */ mul.s $f4, $f20, $f16
/* 12079C 802B718C 46083280 */ add.s $f10, $f6, $f8
/* 1207A0 802B7190 44814000 */ mtc1 $at, $f8
/* 1207A4 802B7194 E6040028 */ swc1 $f4, 0x28($s0)
/* 1207A8 802B7198 E60A0018 */ swc1 $f10, 0x18($s0)
/* 1207AC 802B719C C4460008 */ lwc1 $f6, 8($v0)
/* 1207B0 802B71A0 E600000C */ swc1 $f0, 0xc($s0)
/* 1207B4 802B71A4 E600001C */ swc1 $f0, 0x1c($s0)
/* 1207B8 802B71A8 E600002C */ swc1 $f0, 0x2c($s0)
/* 1207BC 802B71AC E608003C */ swc1 $f8, 0x3c($s0)
/* 1207C0 802B71B0 E6060038 */ swc1 $f6, 0x38($s0)
/* 1207C4 802B71B4 8FBF0024 */ lw $ra, 0x24($sp)
/* 1207C8 802B71B8 8FB10020 */ lw $s1, 0x20($sp)
/* 1207CC 802B71BC 8FB0001C */ lw $s0, 0x1c($sp)
/* 1207D0 802B71C0 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 1207D4 802B71C4 03E00008 */ jr $ra
/* 1207D8 802B71C8 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -240,9 +240,9 @@ glabel D_80287478
glabel D_8028747C
.word 0xC52EC000
glabel D_80287480
.word 0x80284B1C, 0x80284B4C, 0x80284B7C
.word 0x80284BAC
.word 0x80284BE8
glabel jpt_80287480
.word L80284B1C, L80284B4C, L80284B7C
.word L80284BAC
.word L80284BE8
.word 0x00000000
.word 0x00000000, 0x00000000

View File

@ -67,69 +67,6 @@ struct UnkStruct_800DC5EC {
s32 pad2;
};
struct UnkStruct_80280658 {
s32 unk0;
s16 unk4;
s16 unk6;
s8 unk8;
s8 unk9;
s16 unkA;
s16 unkC;
s16 unkE;
f32 unk10;
f32 unk14;
f32 unk18;
f32 unk1C;
f32 unk20;
f32 unk24;
struct UnkStruct_80280658_2 *unk28;
s32 unk2C;
s32 unk30;
f32 unk34;
f32 unk38;
s32 unk3C;
s32 unk40;
s32 unk44;
s32 unk48;
};
struct UnkStruct_80280658_2 {
s16 unk0;
s16 unk2;
s16 unk4;
s16 unk6;
s8 unk8;
s8 unk9;
s8 unkA;
f32 unkC;
};
struct UnkStruct_8028088C {
s32 unk0;
s16 unk4;
s16 unk6;
s8 unk8;
s8 unk9;
s16 unkA;
s16 unkC;
s16 unkE;
f32 unk10;
f32 unk14;
f32 unk18;
f32 unk1C;
f32 unk20;
f32 unk24;
struct UnkStruct_80280658_2 *unk28;
s16 unk2C;
s16 unk2E;
s16 unk30;
s16 unk32;
s16 unk34;
s16 unk36;
s32 unk38;
s32 unk3C;
};
// Camera path struct? Or something like that. For GP race won scene?
struct UnkStruct_80287500 {
Vec3f unk0; // xyz coordinates?

View File

@ -3,19 +3,13 @@
#include "types.h"
#include "variables.h"
#include "waypoints.h"
#include "actors.h"
#include "actor_types.h"
#include <defines.h>
extern void func_800C8F44(u16 arg0);
extern u16 D_800DC5A8;
struct UnkStruct8015F8D0 {
f32 unk0;
f32 unk4;
f32 unk8;
};
extern struct UnkStruct8015F8D0 D_8015F8D0;
extern struct Controller *gControllerOne[];
extern s32 D_800DC510;
@ -67,10 +61,7 @@ extern u32 *D_06014330;
extern f32 gCourseDirection;
extern u16 gNumPermanentActors;
extern s16 D_800DC5BC, D_800DC5C8;
extern u16 gNumActors;
extern s16 D_800DC5C8;
s32 D_800DC5E0 = 32;
@ -154,18 +145,18 @@ void setup_race(void) {
func_8029E158();
if (gModeSelection != BATTLE) {
D_8015F8D0.unk4 = (f32) (D_80164490->wayPointY - 15);;
D_8015F8D0.unk8 = D_80164490->wayPointZ;
D_8015F8D0[1] = (f32) (D_80164490->wayPointY - 15);;
D_8015F8D0[2] = D_80164490->wayPointZ;
if (gCurrentCourseId == COURSE_TOADS_TURNPIKE) {
D_8015F8D0.unk0 = (gIsMirrorMode != 0) ?
D_8015F8D0[0] = (gIsMirrorMode != 0) ?
D_80164490->wayPointX + 138.0f :
D_80164490->wayPointX - 138.0f;
} else if (gCurrentCourseId == COURSE_WARIO_STADIUM) {
D_8015F8D0.unk0 = (gIsMirrorMode != 0) ?
D_8015F8D0[0] = (gIsMirrorMode != 0) ?
D_80164490->wayPointX + 12.0f :
D_80164490->wayPointX - 12.0f;
} else {
D_8015F8D0.unk0 = D_80164490->wayPointX;
D_8015F8D0[0] = D_80164490->wayPointX;
}
}
if (D_800DC51C == 0) {
@ -232,10 +223,9 @@ void clear_nmi_buffer(void) {
}
void func_80003040(void) {
u32 pad[2];
f32 sp34;
s32 sp28[3] = {0};
s16 sp20[3] = {0};
Vec3f position;
Vec3f velocity = {0, 0, 0};
Vec3s rotation = {0, 0, 0};
D_800DC5BC = 0;
D_800DC5C8 = 0;
@ -258,9 +248,9 @@ void func_80003040(void) {
func_802AF8BC(0x7000878, -0x80, 0, 0, 0);
break;
case COURSE_YOSHI_VALLEY:
vec3f_set(&sp34, -2300.0f, 0.0f, 634.0f);
sp34 *= gCourseDirection;
func_8029EC88(&sp34, &sp20, &sp28, 9);
vec3f_set(position, -2300.0f, 0.0f, 634.0f);
position[0] *= gCourseDirection;
func_8029EC88(position, rotation, velocity, ACTOR_YOSHI_VALLEY_EGG);
break;
case COURSE_MOO_MOO_FARM:
func_802A84F4(&D_0F04FE28, 0x3E8, 0x800);
@ -287,12 +277,12 @@ void func_80003040(void) {
func_802AF8BC(0x7001318, -1, 0xFF, 0xFF, 0);
break;
case COURSE_WARIO_STADIUM:
vec3f_set(&sp34, -131.0f, 83.0f, 286.0f);
func_8029EC88(&sp34, &sp20, &sp28, 0x23);
vec3f_set(&sp34, -2353.0f, 72.0f, -1608.0f);
func_8029EC88(&sp34, &sp20, &sp28, 0x23);
vec3f_set(&sp34, -2622.0f, 79.0f, 739.0f);
func_8029EC88(&sp34, &sp20, &sp28, 0x23);
vec3f_set(position, -131.0f, 83.0f, 286.0f);
func_8029EC88(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
vec3f_set(position, -2353.0f, 72.0f, -1608.0f);
func_8029EC88(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
vec3f_set(position, -2622.0f, 79.0f, 739.0f);
func_8029EC88(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
func_802AF8BC(0x7000C50, 0x64, 0xFF, 0xFF, 0xFF);
func_802AF8BC(0x7000BD8, 0x64, 0xFF, 0xFF, 0xFF);
func_802AF8BC(0x7000B60, 0x64, 0xFF, 0xFF, 0xFF);

View File

@ -4,6 +4,7 @@
#include <defines.h>
#include "types.h"
#include "variables.h"
#include "math_util.h"
#include "code_8001F980.h"
#include "code_80057C60.h"
@ -868,48 +869,38 @@ void func_80021DA8(void) {
func_8006E940(gPlayerFour, 3, 3);
}
#ifdef MIPS_TO_C
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
void func_80021E10(Mat4 arg0, f32 *arg1, s16 *arg2) {
f32 sp38;
f32 sp30;
f32 sp2C;
f32 sp28;
f32 temp_f0;
f32 temp_f12;
f32 temp_f12_2;
f32 temp_f20;
f32 temp_f6;
void func_80021E10(Mat4 arg0, Vec3f arg1, Vec3s arg2) {
f32 stackPadding[3];
f32 sin1;
f32 cos1;
f32 sin2;
f32 cos2;
f32 sin3;
f32 cos3;
sp38 = sins((u16) arg2->unk0);
temp_f20 = coss((u16) arg2->unk0);
sp30 = sins(arg2->unk2);
sp2C = coss(arg2->unk2);
sp28 = sins(arg2->unk4);
temp_f0 = coss(arg2->unk4);
temp_f12 = sp38 * sp30;
temp_f6 = temp_f12 * temp_f0;
arg0[0][0] = (sp2C * temp_f0) + (temp_f12 * sp28);
arg0->unk20 = (f32) (temp_f20 * sp30);
arg0->unk10 = (f32) ((-sp2C * sp28) + temp_f6);
arg0->unk24 = (f32) -sp38;
temp_f12_2 = sp38 * sp2C;
arg0[0][1] = temp_f20 * sp28;
arg0->unk30 = (f32) arg1->unk0;
arg0->unk14 = (f32) (temp_f20 * temp_f0);
arg0->unk34 = (f32) arg1->unk4;
arg0[0][2] = (-sp30 * temp_f0) + (temp_f12_2 * sp28);
arg0->unk28 = (f32) (temp_f20 * sp2C);
arg0->unk18 = (f32) ((sp30 * sp28) + (temp_f12_2 * temp_f0));
sin1 = sins(arg2[0]);
cos1 = coss(arg2[0]);
sin2 = sins(arg2[1]);
cos2 = coss(arg2[1]);
sin3 = sins(arg2[2]);
cos3 = coss(arg2[2]);
arg0[0][0] = (cos2 * cos3) + ((sin1 * sin2) * sin3);
arg0[1][0] = (-cos2 * sin3) + ((sin1 * sin2) * cos3);
arg0[2][0] = cos1 * sin2;
arg0[3][0] = arg1[0];
arg0[0][1] = cos1 * sin3;
arg0[1][1] = cos1 * cos3;
arg0[2][1] = -sin1;
arg0[3][1] = arg1[1];
arg0[0][2] = (-sin2 * cos3) + ((sin1 * cos2) * sin3);
arg0[1][2] = (sin2 * sin3) + ((sin1 * cos2) * cos3);
arg0[2][2] = cos1 * cos2;
arg0[3][2] = arg1[2];
arg0[0][3] = 0.0f;
arg0->unk1C = 0.0f;
arg0->unk2C = 0.0f;
arg0->unk3C = 1.0f;
arg0->unk38 = (f32) arg1->unk8;
arg0[1][3] = 0.0f;
arg0[2][3] = 0.0f;
arg0[3][3] = 1.0f;
}
#else
GLOBAL_ASM("asm/non_matchings/code_8001F980/func_80021E10.s")
#endif
UNUSED void func_80021F50(Mat4 arg0, Vec3f arg1) {
arg0[3][0] += arg1[0];

View File

@ -16,6 +16,8 @@ void func_800219BC();
void func_80021C78();
void func_80021D40();
void func_80021DA8();
void func_80021E10(Mat4, Vec3f, Vec3s);
void func_80021F50(Mat4, Vec3f);
void func_80021F84(Mat4, f32);
void func_80021FF8(Mtx*, Mat4);
void func_80022180(Mtx*, Mat4);

View File

@ -1277,31 +1277,35 @@ void func_800B6798(void) {
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_8018EE10;
s32 func_800B6828(s32 arg0) {
s32 temp_a1;
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
u8 func_800B6828(s32 arg0) {
s32 temp_a2;
s32 temp_lo;
s32 temp_v1;
void *temp_v0;
s32 phi_a1;
s32 phi_v1;
void *phi_a3;
s32 var_a1;
s32 var_v1;
struct_8018EE10_entry *temp_v0;
u8 temp_t1;
u8 temp_t4;
u8 temp_t7;
void *var_a3;
temp_v0 = (arg0 << 7) + &D_8018EE10;
temp_v0 = &D_8018EE10[arg0];
temp_a2 = arg0 + 1;
phi_a1 = 3;
phi_v1 = (temp_v0->unk0 * temp_a2) + (temp_v0->unk1 * temp_a2) + 1 + (temp_v0->unk2 * temp_a2) + 2;
phi_a3 = temp_v0 + 3;
var_a3 = temp_v0 + 3;
var_a1 = 3;
var_v1 = (temp_v0->unk0 * temp_a2) + (temp_v0->unk1 * temp_a2) + 1 + (temp_v0->unk2 * temp_a2) + 2;
do {
temp_a1 = phi_a1 + 4;
temp_v1 = phi_v1 + ((phi_a3->unk0 * temp_a2) + phi_a1) + ((phi_a3->unk1 * temp_a2) + phi_a1) + 1 + ((phi_a3->unk2 * temp_a2) + phi_a1) + 2 + ((phi_a3->unk3 * temp_a2) + phi_a1) + 3;
phi_a1 = temp_a1;
phi_v1 = temp_v1;
phi_a3 += 4;
} while (temp_a1 != 0x43);
return temp_v1 & 0xFF;
temp_t7 = var_a3->unk1;
temp_t1 = var_a3->unk2;
temp_lo = var_a3->unk0 * temp_a2;
temp_t4 = var_a3->unk3;
var_a3 += 4;
temp_v1 = var_v1 + (temp_lo + var_a1) + ((temp_t7 * temp_a2) + var_a1) + 1 + ((temp_t1 * temp_a2) + var_a1) + 2 + ((temp_t4 * temp_a2) + var_a1);
var_a1 += 4;
var_v1 = temp_v1 + 3;
} while (var_a1 != 0x43);
return var_v1 & 0xFF;
}
#else
GLOBAL_ASM("asm/non_matchings/menus/func_800B6828.s")

View File

@ -3,10 +3,8 @@
#include <types.h>
#include <common_structs.h>
#include "main.h"
extern struct UnkStruct_80280658 *D_802874F8;
extern Gfx *gDisplayListHead;
extern struct GfxPool *gGfxPool;
#include "code_8001F980.h"
#include "code_80280650.h"
void func_80280650(void) {
@ -54,37 +52,33 @@ struct UnkStruct_80280658 *func_80280734(struct UnkStruct_80280658 *arg0) {
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern u16 D_80284E60;
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
static u16 D_80284E60 = 0;
u16 func_8028076C(void) {
s32 temp_a1;
s32 temp_t5;
s32 temp_t8;
s32 temp_v0_2;
s32 temp_v0;
u16 temp_t4;
u16 temp_v0;
u16 phi_v0;
u16 var_v0;
//temp_v0 = D_80284E60;
phi_v0 = D_80284E60;
if (D_80284E60 == 0x560A) {
var_v0 = D_80284E60;
if (var_v0 == 0x560A) {
D_80284E60 = 0;
phi_v0 = 0 & 0xFFFF;
var_v0 = 0 & 0xFFFF;
}
temp_t8 = (phi_v0 << 8) ^ phi_v0;
temp_t8 = (var_v0 << 8) ^ var_v0;
temp_a1 = temp_t8 & 0xFF;
temp_t4 = (temp_a1 << 8) + ((temp_t8 & 0xFF00) >> 8);
temp_t4 = (temp_a1 << 8) + ((s32) (temp_t8 & 0xFF00) >> 8);
temp_t5 = ((temp_a1 * 2) ^ temp_t4) & 0xFFFF;
D_80284E60 = temp_t4;
if ((temp_t5 & 1) == 0) {
D_80284E60 = ((temp_t5 >> 1) ^ 0xFF80) & 0xFFFF;
if (D_80284E60 == 0xAA55) {
if (!(temp_t5 & 1)) {
temp_v0 = ((temp_t5 >> 1) ^ 0xFF80) & 0xFFFF;
if (temp_v0 == 0xAA55) {
D_80284E60 = 0;
} else {
D_80284E60 = D_80284E60 ^ 0x1FF4;
D_80284E60 = temp_v0 ^ 0x1FF4;
}
} else {
D_80284E60 = (temp_t5 >> 1) ^ 0xFF80 ^ 0x8180;
@ -95,14 +89,10 @@ u16 func_8028076C(void) {
GLOBAL_ASM("asm/non_matchings/code_80280650/func_8028076C.s")
#endif
u16 func_8028076C();
f32 func_8028080C(void) {
return func_8028076C() / 65536.0f;
}
f32 func_8028080C();
f32 func_80280850(f32 arg0) {
return (func_8028080C() * arg0) - (arg0 * 0.5f);
}
@ -146,11 +136,6 @@ s32 D_80284E40[] = {
0x00FF4080, 0x008040FF, 0x0040FF40, 0x00FFFF40
};
extern struct UnkStruct_80280658 *D_80284E7C;
extern f32 D_80286B74;
extern f32 D_80286B78;
extern f32 D_80286B7C;
void func_8028093C(struct UnkStruct_80280658 *arg0) {
struct UnkStruct_80280658 *temp_v0;
f32 temp_f0;
@ -174,36 +159,22 @@ void func_8028093C(struct UnkStruct_80280658 *arg0) {
}
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_80021E10(f32, f32 *, s32, s32); // extern
void func_80022180(f32, struct GfxPool*, f32*); // extern
extern s16 D_80164AF0;
extern struct UnkStruct_80287500 *D_80287500;
=
void func_80280A28(Vec3f arg0, Vec3s arg1, f32 arg2) {
Mat4 sp20;
void func_80280A28(s32 arg0, s32 arg1, f32 arg2) {
f32 sp20[14];
Gfx *temp_v1;
func_80021E10(arg2, &sp20, arg0, arg1);
sp20[0] = D_80287500->unk0[0] * arg2;
sp20[1] = D_80287500->unk10 * arg2;
sp20[2] = D_80287500->unk20 * arg2;
sp20[3] = D_80287500->unk0[1] * arg2;
sp20[4] = D_80287500->unk14 * arg2;
sp20[5] = D_80287500->unk24 * arg2;
sp20[6] = D_80287500->unk0[2] * arg2;
sp20[7] = D_80287500->unk18 * arg2;
sp20[8] = D_80287500->unk28 * arg2;
func_80022180(arg2, &gGfxPool->mtxPool[D_80164AF0 + 0x3EB], &sp20);
gSPMatrix(gDisplayListHead, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_80021E10(sp20, arg0, arg1);
sp20[0][0] = D_80287500[0][0] * arg2;
sp20[0][1] = D_80287500[1][0] * arg2;
sp20[0][2] = D_80287500[2][0] * arg2;
sp20[1][0] = D_80287500[0][1] * arg2;
sp20[1][1] = D_80287500[1][1] * arg2;
sp20[1][2] = D_80287500[2][1] * arg2;
sp20[2][0] = D_80287500[0][2] * arg2;
sp20[2][1] = D_80287500[1][2] * arg2;
sp20[2][2] = D_80287500[2][2] * arg2;
func_80022180(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB], sp20);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280A28.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@ -379,10 +350,6 @@ void func_80280FA8(s32 arg0) {
}
struct UnkStruct_80280658 *func_80280734(struct UnkStruct_80280658*);
extern s32 D_80284E88;
extern s32 D_802874E0;
void func_80280FB0(void) {
D_802874E0 = 0;
@ -391,8 +358,6 @@ void func_80280FB0(void) {
func_80280734(&D_80284E88);
}
extern s8 D_802874F4;
void func_80280FFC(void) {
D_802874F4 = 1;
}
@ -482,48 +447,39 @@ GLOBAL_ASM("asm/non_matchings/code_80280650/func_8028118C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_8028101C(?, s32, ?); // extern
? func_8028118C(?, s32, ?); // extern
? guLookAtF(? *, s32, s32, s32, f32, f32, f32, f32, f32, f32); // extern
extern ? cameras;
extern f32 D_801646F4;
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
? func_8028101C(?, s32, ?); /* extern */
? func_8028118C(?, s32, ?); /* extern */
? guLookAtF(? *, f32, f32, f32, f32, f32, f32, f32, f32, f32); /* extern */
extern s16 D_802874C4;
extern s32 D_802874E0;
extern s8 D_802874F5;
extern ? D_80287500;
void func_802812C8(void) {
f32 temp_f0;
s32 temp_v0;
s32 temp_v0_2;
s32 phi_v0;
s32 phi_v0_2;
s32 var_v0;
guLookAtF(&D_80287500, cameras.unk0, cameras.unk4, cameras.unk8, cameras.unkC, cameras.unk10, cameras.unk14, cameras.unk18, cameras.unk1C, cameras.unk20);
guLookAtF(&D_80287500, cameras->pos[0], cameras->pos[1], cameras->pos[2], cameras->lookAt[0], cameras->lookAt[1], cameras->lookAt[2], cameras->up[0], cameras->up[1], cameras->up[2]);
if (D_802874F5 < 3) {
temp_v0 = D_802874E0;
phi_v0 = temp_v0;
if (temp_v0 < 0x12C) {
temp_f0 = D_80164700;
func_8028118C(-0xE0E, ((temp_f0 - D_801646F4) * 1.5f) + temp_f0, -0x258);
phi_v0 = D_802874E0;
var_v0 = D_802874E0;
if (var_v0 < 0x12C) {
temp_f0 = cameras->lookAt[1];
func_8028118C(-0xE0E, (s32) (((temp_f0 - cameras->pos[1]) * 1.5f) + temp_f0), -0x258);
var_v0 = D_802874E0;
}
phi_v0_2 = phi_v0;
if (phi_v0 == 0x78) {
func_8028101C(-0xC6C, D_802874C4 + 210.0f, -0x1EF);
if (var_v0 == 0x00000078) {
func_8028101C(-0xC6C, (s32) ((f32) D_802874C4 + 210.0f), -0x1EF);
goto block_7;
}
} else {
temp_v0_2 = D_802874E0;
phi_v0_2 = temp_v0_2;
if (temp_v0_2 == 2) {
func_8028101C(-0xC6C, D_802874C4 + 210.0f, -0x1EF);
var_v0 = D_802874E0;
if (var_v0 == 2) {
func_8028101C(-0xC6C, (s32) ((f32) D_802874C4 + 210.0f), -0x1EF);
block_7:
phi_v0_2 = D_802874E0;
var_v0 = D_802874E0;
}
}
D_802874E0 = phi_v0_2 + 1;
D_802874E0 = var_v0 + 1;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80280650/func_802812C8.s")
@ -571,8 +527,6 @@ loop_2:
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80281438.s")
#endif
extern s32 D_802874D4;
void func_8028150C(void) {
D_802874D4 = gDisplayListHead;
}
@ -597,9 +551,6 @@ void func_80281540(void) {
}
extern s16 D_80150112;
extern s32 D_802874FC;
void ending_sequence_loop(void) {
D_80150112 = 0;
D_802874FC = 0;

104
src/code_80280650.h Normal file
View File

@ -0,0 +1,104 @@
#ifndef CODE_80280650_H
#define CODE_80280650_H
struct UnkStruct_80280658 {
s32 unk0;
s16 unk4;
s16 unk6;
s8 unk8;
s8 unk9;
s16 unkA;
s16 unkC;
s16 unkE;
f32 unk10;
f32 unk14;
f32 unk18;
f32 unk1C;
f32 unk20;
f32 unk24;
struct UnkStruct_80280658_2 *unk28;
s32 unk2C;
s32 unk30;
f32 unk34;
f32 unk38;
s32 unk3C;
s32 unk40;
s32 unk44;
s32 unk48;
};
struct UnkStruct_80280658_2 {
s16 unk0;
s16 unk2;
s16 unk4;
s16 unk6;
s8 unk8;
s8 unk9;
s8 unkA;
f32 unkC;
};
struct UnkStruct_8028088C {
s32 unk0;
s16 unk4;
s16 unk6;
s8 unk8;
s8 unk9;
s16 unkA;
s16 unkC;
s16 unkE;
f32 unk10;
f32 unk14;
f32 unk18;
f32 unk1C;
f32 unk20;
f32 unk24;
struct UnkStruct_80280658_2 *unk28;
s16 unk2C;
s16 unk2E;
s16 unk30;
s16 unk32;
s16 unk34;
s16 unk36;
s32 unk38;
s32 unk3C;
};
void func_80280650();
void func_80280658(struct UnkStruct_80280658*);
struct UnkStruct_80280658 *func_802806C8();
struct UnkStruct_80280658 *func_80280734(struct UnkStruct_80280658*);
u16 func_8028076C();
f32 func_8028080C();
f32 func_80280850(f32);
void func_80280884();
void func_8028093C(struct UnkStruct_80280658*);
void func_80280A28(Vec3f, Vec3s, f32);
void func_80280FA0(s32);
void func_80280FA8(s32);
void func_80280FB0();
void func_80280FFC();
void func_8028100C(s32, s32, s32);
void func_8028150C();
void func_80281520();
void func_80281528();
void func_80281530();
void func_80281538();
void func_80281540();
void func_80281548();
extern struct UnkStruct_80280658 *D_802874F8;
extern struct UnkStruct_80280658 *D_80284E7C;
extern f32 D_80286B74;
extern f32 D_80286B78;
extern f32 D_80286B7C;
extern s32 D_80284E88;
extern s32 D_802874E0;
extern s8 D_802874F4;
extern s32 D_802874D4;
extern s16 D_80150112;
extern s32 D_802874FC;
extern Mat4 D_80287500;
extern s16 D_80164AF0;
#endif

View File

@ -455,27 +455,20 @@ void func_80282F00(s16 *arg0, s16 arg1) {
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? 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
? func_80282F00(void *, s16); // extern
f32 sins(u16); // extern
void func_80282F44(s32 arg0, void *arg1, void *arg2) {
s32 sp5C;
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
void func_80282F44(s32 arg0, void *arg1, Camera *camera) {
f32 sp5C;
s16 sp52;
s16 sp50;
?32 sp44;
?32 sp38;
f32 sp44;
f32 sp38;
s32 sp30;
s16 *temp_v0;
s32 temp_t9;
void *temp_s0;
vec3f_set_dupe(&sp44, arg2->unk0, arg2->unk4, arg2->unk8);
vec3f_set_dupe(&sp38, arg2->unkC, arg2->unk10, arg2->unk14);
vec3f_set_dupe(&sp44, camera->pos[0], camera->pos[1], camera->pos[2]);
vec3f_set_dupe(&sp38, camera->lookAt[0], camera->lookAt[1], camera->lookAt[2]);
if ((arg0 == 0) || (arg0 == 1)) {
if ((arg1->unk48 != 0) || (arg1->unk4A != 0)) {
func_80282454(&sp44, &sp38, &sp5C, &sp50, &sp52);
@ -483,18 +476,18 @@ void func_80282F44(s32 arg0, void *arg1, void *arg2) {
temp_s0 = arg1 + temp_t9;
sp30 = temp_t9;
temp_v0 = sp30 + &sp50;
*temp_v0 = *temp_v0 + (temp_s0->unk48 * sins(temp_s0->unk4E));
*temp_v0 = (s16) (s32) ((f32) *temp_v0 + ((f32) temp_s0->unk48 * sins(temp_s0->unk4E)));
if ((sp50 < 0x3800) && (sp50 >= -0x37FF)) {
func_80282504(&sp44, &sp38, sp5C, sp50, sp52);
func_80282504(&sp44, &sp38, sp5C, sp50, (s16) (s32) sp52);
}
func_80282F00(temp_s0 + 0x4E, temp_s0->unk54);
if (func_80282364(temp_s0 + 0x48, 0, temp_s0->unk5A) == 0) {
temp_s0->unk4E = 0;
temp_s0->unk4E = 0U;
}
}
arg2->unkC = sp38;
arg2->unk10 = sp3C;
arg2->unk14 = sp40;
camera->lookAt[0] = sp38;
camera->lookAt[1] = sp3C;
camera->lookAt[2] = sp40;
}
}
#else
@ -1214,15 +1207,82 @@ GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_802847CC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
/*
Failed to decompile function func_80284AE8:
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
struct _struct_D_80286B5C_0x8 {
/* 0x0 */ ? (*unk0)(); /* inferred */
/* 0x4 */ s16 unk4; /* inferred */
/* 0x6 */ char pad6[2];
}; /* size = 0x8 */
Unable to determine jump table for jr instruction at func_80284AE8.s line 13.
? func_802847CC(); /* extern */
static ? D_80285D10; /* unable to generate initializer */
static ? D_80285D58; /* unable to generate initializer */
static struct _struct_D_80286B5C_0x8 D_80286B5C[2] = { { func_802847CC, 0x7FFF }, { NULL, 0 } };
There must be a read of a variable in the same block as
the instruction, which has a name starting with "jtbl"/"jpt_".
*/
void func_80284AE8(void *arg0) {
s16 sp1A;
s16 temp_v0_3;
struct _struct_D_80286B5C_0x8 *temp_v0_7;
u8 temp_v0;
void *temp_v0_2;
void *temp_v0_4;
void *temp_v0_5;
void *temp_v0_6;
temp_v0 = arg0->unk1C;
switch (temp_v0) { /* irregular */
case 2:
temp_v0_2 = (D_802876D0 * 8) + &D_80285D10;
sp1A = temp_v0_2->unk4;
temp_v0_2->unk0();
default:
block_8:
if ((sp1A != 0) && (temp_v0_3 = D_802876D2, ((temp_v0_3 & 0xC000) == 0))) {
if (temp_v0_3 < 0x3FFF) {
D_802876D2 = temp_v0_3 + 1;
}
if (sp1A == D_802876D2) {
D_802876D2 = 0;
D_802876D0 += 1;
func_8028240C();
return;
}
} else {
if (D_802876D2 & 0x4000) {
D_802876D2 = 0;
func_8028240C();
return;
}
D_802876D8 = 0;
D_802876D0 = 0;
D_802876D2 = 0;
func_8028240C();
return;
}
break;
case 3:
temp_v0_4 = (D_802876D0 * 8) + &D_80285D10;
sp1A = temp_v0_4->unk4;
temp_v0_4->unk0();
goto block_8;
case 4:
temp_v0_5 = (D_802876D0 * 8) + &D_80285D10;
sp1A = temp_v0_5->unk4;
temp_v0_5->unk0();
goto block_8;
case 5:
temp_v0_6 = (D_802876D0 * 8) + &D_80285D58;
sp1A = temp_v0_6->unk4;
temp_v0_6->unk0();
func_80283C58((s32) arg0);
goto block_8;
case 6:
temp_v0_7 = &D_80286B5C[D_802876D0];
sp1A = temp_v0_7->unk4;
temp_v0_7->unk0();
goto block_8;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80284AE8.s")
#endif

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,7 @@
#define sqr(x) ((x) * (x))
void func_802B4FF0();
s32 func_802B4FF8(Mat4, s32);
f32 func_802B51E8(Vec3f, Vec3f);
u32 func_802B5224(Vec3f, Vec3f);
@ -23,17 +24,28 @@ void vec3s_set(Vec3s, s16, s16, s16);
void *vec3f_copy(Vec3f, Vec3f);
void vec3s_copy(Vec3s, Vec3s);
void *sm64_vec3f_set(Vec3f, f32, f32, f32);
void func_802B5398(s32*, s32*, s32);
void mtxf_identity(Mat4);
//void func_802B5398(Mat4, Mat4, s32);
void func_802B5450(Mat4, Mat4, Mat4);
void func_802B54EC(Mat4, Mat4, Mat4);
void mtxf_translate(Mat4, Vec3f);
void func_802B5564(Mat4, u16*, f32, f32, f32, f32, f32);
void func_802B59DC(Mat4, s16);
void func_802B5F74(Mat4, Vec3f, Vec3s);
f32 func_802B80D0(Vec3f, Vec3f, u16, f32, f32, f32);
void func_802B5A44(Mat4, s16);
void func_802B5AAC(Mat4, s16);
void func_802B5CAC(s16, s16, Vec3f);
void func_802B5D30(s16, s16, s32);
void func_802B5F00(Mat4, f32);
void func_802B5F74(Mat4, Vec3f, Vec3s);
void func_802B60B4(Mat4, Vec3s, Vec3s);
void func_802B6214(Mat4, Vec3s, Vec3s);
void func_802B6374(Vec3f);
void func_802B63B8(Vec3f, Mat3);
void func_802B6434(Vec3f, Mat4);
void func_802B64B0(s32, s32, s32, s32);
void func_802B64C4(Vec3f, s16);
void func_802B6BC0(Mat4, s16, f32, f32, f32);
void func_802B6D58(Mat4, Vec3f, Vec3f);
void func_802B71CC(Mat4, Mat4, Mat4);
void func_802B75F8(Mtx*, Mat4);
u16 atan2_lookup(f32, f32);
@ -44,13 +56,20 @@ void func_802B7C18(f32);
s16 func_802B7C40(f32);
void func_802B7C6C(f32);
s16 func_802B7CA8(f32);
void func_802B7CE8(f32);
s16 func_802B7D28(f32);
u16 random_u16();
u16 random_int(u16);
s16 func_802B7F34(f32, f32, f32, f32);
f32 func_802B7CE8(f32);
s16 func_802B7D28(f32);
u16 random_u16();
u16 random_int(u16);
s16 func_802B7F34(f32, f32, f32, f32);
void func_802B7F7C(Vec3f, Vec3f, Vec3s);
f32 sins(u16);
f32 coss(u16);
f32 sins(u16);
f32 coss(u16);
s32 func_802B8058(u16, u16, u16);
f32 func_802B80D0(Vec3f, Vec3f, u16, f32, f32, f32);
extern f64 D_802B9FB0; // = 0.017453292222222222;
extern f32 D_802B9FD8; // = 1000000.0f;
extern f64 D_802BA018; // = 3.141592653589793;
extern u16 gRandomSeed16;
#endif // MATH_UTIL_H